AI:n perusteet

Mitä on siirtäminen oppiminen?

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Mitä on siirtäminen oppiminen?

Kun harjoitellaan koneoppimista, mallin kouluttaminen voi kestää pitkään. Mallin arkkitehtuurin luominen alusta alkaen, mallin kouluttaminen ja sitten mallin säätäminen on valtava määrä aikaa ja vaivaa. Paljon tehokkaampi tapa kouluttaa koneoppimismallia on käyttää jo määriteltyä arkkitehtuuria, jossa on mahdollisesti jo laskettuja painoarvoja. Tämä on siirtäminen oppimisen takana oleva pääidea, jossa otetaan malli, joka on jo käytetty, ja käytetään sitä uudelleen uuteen tehtävään.

Ennen kuin siirtäminen oppimisen eri tapoja käydään läpi, otetaan hetki aikaa ymmärtääkseen, miksi siirtäminen oppiminen on niin voimakas ja hyödyllinen tekniikka.

Ratkaistessaan syvän oppimisen ongelmaa

Kun yritetään ratkaista syvän oppimisen ongelmaa, kuten rakentaa kuva-luokittelija, on luotava mallin arkkitehtuuri ja sitten koulutettava malli omilla tiedoilla. Mallin luokittelijan kouluttaminen sisältää verkon painoarvojen säätämisen, prosessi, joka voi kestää tunteja tai jopa päiviä riippuen mallin ja tietojoukon monimutkaisuudesta. Koulutusajan kestoa skaalataan tietojoukon koosta ja mallin arkkitehtuurin monimutkaisuuden mukaan.

Jos malli ei saavuta tarvittavaa tarkkuutta tehtävään, mallin säätäminen on todennäköisesti tarpeen ja sitten mallin on uudelleen koulutettava. Tämä tarkoittaa lisää tunteja koulutusta, kunnes optimaalinen arkkitehtuuri, koulutuskesto ja tietojoukon jakoa voidaan löytää. Kun otetaan huomioon, kuinka monia muuttujia on säätettävä toisiinsa nähden, jotta luokittelija olisi hyödyllinen, on selvää, että koneoppimisen insinöörit etsivät aina helpompia ja tehokkaampia tapoja kouluttaa ja toteuttaa malleja. Tästä syystä siirtäminen oppimisen tekniikka kehitettiin.

Mallin suunnittelun ja testaamisen jälkeen, jos malli osoittautui hyödylliseksi, se voidaan tallentaa ja käyttää myöhemmin samankaltaisiin ongelmiin.

Siirtäminen oppimisen tyypit

Yleensä on kaksi eri siirtäminen oppimisen tyyppiä: mallin kehittäminen alusta alkaen ja käytettyjen esikoulutettujen mallien käyttäminen.

Kun kehität mallin alusta alkaen, sinun on luotava mallin arkkitehtuuri, joka pystyy tulkimaan koulutusdataa ja poistamaan siitä kuvioita. Kun malli on koulutettu ensimmäisen kerran, sinun on todennäköisesti tehtävä muutoksia siihen saadaksesi parhaan suorituskyvyn mallista. Voit sitten tallentaa mallin arkkitehtuurin ja käyttää sitä aloituspisteenä mallille, jota käytetään samankaltaiseen tehtävään.

Toisessa tapauksessa – esikoulutetun mallin käytössä – sinun on valittava esikoulutettu malli, jota käytetään. Monet yliopistot ja tutkimusryhmät tekevät mallin määrityksiä saatavilla yleiseen käyttöön. Mallin arkkitehtuuri voidaan ladata yhdessä painoarvojen kanssa.

Kun suoritetaan siirtäminen oppimista, koko mallin arkkitehtuuri ja painoarvot voidaan käyttää tehtävään, tai vain tiettyjä osia/kerroksia mallista voidaan käyttää. Käytettäessä vain osaa esikoulutetusta mallista ja kouluttaessa loput mallia kutsutaan hienosäätöksi.

Hienosäätö verkkoon

Hienosäätö verkkoon kuvailee prosessia, jossa koulutetaan vain joitain verkon kerroksia. Jos uusi koulutusaineisto on hyvin samanlainen kuin alkuperäisen mallin koulutusaineisto, monia samoja painoarvoja voidaan käyttää.

Kerrosten määrä, jonka on vapautettava ja uudelleen koulutettava, tulisi skaalata uuden aineiston koosta. Jos koulutusaineisto on pieni, on parempi pitää useimmat kerrokset sellaisenaan ja kouluttaa vain viimeiset kerrokset. Tämä estää verkon ylioppimisen. Vaihtoehtoisesti esikoulutetun verkon loput kerrokset voidaan poistaa ja lisätä uudet kerrokset, jotka sitten koulutetaan. Toisaalta, jos aineisto on suuri, mahdollisesti suurempi kuin alkuperäinen aineisto, koko verkon tulisi kouluttaa uudelleen. Käyttääkseen verkkoa kiinteänä piirreiden extraktorina, useimmat verkon osat voidaan käyttää piirreiden extraktointiin ja vain verkon viimeinen kerros voidaan vapauttaa ja kouluttaa.

Kun hienosäätät verkkoa, muista, että ConvNetin alkuperäiset kerrokset sisältävät tietoa, joka edustaa kuvien yleisempiä piirteitä. Nämä piirteet ovat esimerkiksi reunat ja värit. Toisaalta, ConvNetin myöhemmät kerrokset sisältävät yksityiskohtaiset tiedot, jotka ovat spesifisiä luokille, joita malli on alun perin koulutettu. Jos koulutat mallia aineistolla, joka poikkeaa alkuperäisestä aineistosta, haluat todennäköisesti käyttää mallin alkuperäisiä kerroksia piirreiden extraktointiin ja kouluttaa vain loput mallia.

Siirtäminen oppimisen esimerkit

Siirtäminen oppimisen yleisimmät sovellukset ovat luultavasti ne, jotka käyttävät kuvadataa syötteinä. Nämä ovat usein ennustus/luokittelutehtäviä. Tapa, jolla Convolutional Neural Networks tulkkaa kuvadataa, soveltuu uudelleenkäyttämiseen, koska konvoluutio kerrokset usein erottavat hyvin samanlaisia piirteitä. Yksi siirtäminen oppimisen yleinen esimerkki on ImageNet 1000 -tehtävä, joka on valtava aineisto, joka sisältää 1000 eri luokan objekteja. Yritykset, jotka kehittävät malleja, jotka saavuttavat korkean suorituskyvyn tässä aineistossa, usein julkaisevat mallinsa lisenssein, jotka sallivat muiden käyttää niitä uudelleen. Joitakin malleja, jotka ovat tulosta tästä prosessista, ovat Microsoft ResNet -malli , Google (GOOGL ) Inception -malli ja Oxford VGG -malliryhmä.

Blogger ja ohjelmoija, jolla on erityisalat Machine Learning ja Deep Learning -aiheissa. Daniel toivoo pystyvänsä auttamaan muita käyttämään tekoälyn voimaa sosiaaliseen hyvään.