AI 101

Mikä on Meta-oppiminen?

mm

Mikä on Meta-oppiminen?

Yksi nopeimmin kasvavista tutkimusalueista koneoppimisessa on meta-oppimisen alue. Meta-oppiminen, koneoppimisen kontekstissa, on koneoppimisalgoritmien käyttäminen muiden koneoppimismallien kouluttamiseen ja optimointiin. Koska meta-oppiminen on yhä suositumpaa ja kehitetään yhä enemmän meta-oppimistekniikoita, on hyödyllistä ymmärtää, mikä meta-oppiminen on ja miten sitä voidaan soveltaa. Tarkastellaan meta-oppimisen taustoja, meta-oppimisen tyyppejä, sekä joitain tapoja, joilla meta-oppimista voidaan käyttää.

Termi meta-oppiminen keksittiin Donald Maudsleyn toimesta kuvaamaan prosessia, jossa ihmiset alkavat muokata sitä, mitä he oppivat, ja tulevat “yhä enemmän hallitsemaan havaintojen, tiedonhankinnan, oppimisen ja kasvun tapoja, joita he ovat sisäistäneet”. Myöhemmin kognitiotieteilijät ja psykologit kuvasivat meta-oppimista “oppimiseksi oppia”.

Koneoppimisen meta-oppimisversiossa “oppimisen oppimisen” yleinen idea sovelletaan tekoälyjärjestelmiin. Tekoälyssä meta-oppiminen on tekoälyjärjestelmän kyky oppia suorittamaan monimutkaisia tehtäviä ottamalla käyttöön periaatteet, joita se on oppinut yhden tehtävän suorittamiseen, ja soveltamalla niitä muihin tehtäviin. Tekoälyjärjestelmien on yleensä opittava suorittamaan tehtävä opettelemalla monia pieniä alitehtäviä. Tämä koulutus voi kestää kauan, ja tekoälyagentit eivät helposti siirrä tietoa, jonka ne ovat oppineet yhden tehtävän suorittamiseen, toiseen tehtävään. Meta-oppimismallien ja -tekniikoiden luominen voi auttaa tekoälyä oppimaan yleistämään oppimismenetelmiä ja hankkimaan uusia taitoja nopeammin.

Meta-oppimisen tyypit

Optimoi meta-oppiminen

Meta-oppimista käytetään usein olemassa olevan neuroverkon suorituskyvyn optimointiin. Optimoi meta-oppimismenetelmät toimivat yleensä muokkaamalla toisen neuroverkon hyperparametrejä parantamaan perusneuroverkon suorituskykyä. Tuloksena on, että kohdeneuroverkosta tulee parempi suorittamaan tehtävää, johon se on koulutettu. Yksi esimerkki meta-oppimisoptimoidista on verkon käyttäminen gradientin laskeuman tulosten parantamiseen.

Pieni-otsikko meta-oppiminen

Pieni-otsikko meta-oppiminen on lähestymistapa, jossa syvä neuroverkko suunnitellaan yleistämään koulutusaineistosta näkemättömiin aineistoihin. Pieni-otsikko luokittelun esimerkki on samanlainen kuin normaali luokittelutehtävä, mutta tässä tapauksessa data-esimerkit ovat koko aineisto. Malli koulutetaan useilla eri oppimistehtävillä/aineistoilla ja sitten se optimoidaan parhaan suorituskyvyn saavuttamiseksi useilla koulutustehtävillä ja näkemättömillä aineistoilla. Tässä lähestymistavassa yksi koulutusesimerkki jaetaan useisiin luokkiin. Tämä tarkoittaa, että jokainen koulutusesimerkki/aineisto voi koostua useista luokista, esimerkiksi kahdesta luokasta, yhteensä neljästä esimerkistä. Tässä tapauksessa koko koulutustehtävä voidaan kuvailla neljän esimerkin ja kahden luokan luokittelutehtävänä.

Pieni-otsikko oppimisessa idea on, että yksittäiset koulutusesimerkit ovat minimalistisia ja että verkko voi oppia tunnistamaan objekteja nähtyään vain muutaman kuvan. Tämä on samanlainen kuin kuinka lapsi oppii erottamaan objekteja nähtyään vain muutaman kuvan. Tätä lähestymistapaa on käytetty luomaan tekniikoita, kuten yhden esimerkin generatiiviset mallit ja muistiin perustuvat neuroverkot.

Metrinen meta-oppiminen

Metrinen meta-oppiminen on neuroverkkojen käyttäminen mittaamaan, onko metriikkaa käytetään tehokkaasti ja ovatko verkot saavuttamassa kohdemetriikkaa. Metrinen meta-oppiminen on samanlainen kuin pieni-otsikko oppiminen siinä, että vain muutamia esimerkkejä käytetään kouluttamaan verkkoa ja opettamaan se metriikan avaruutta. Sama metriikkaa käytetään eri alueilla, ja jos verkot poikkeavat metriikasta, ne katsotaan epäonnistuneiksi.

Toistuva mallin meta-oppiminen

Toistuva mallin meta-oppiminen on meta-oppimistekniikoiden soveltaminen toistuviin neuroverkkoihin ja samankaltaisiin pitkän lyhyen muistin verkkoihin. Tämä tekniikka toimii kouluttamalla toistuvan neuroverkon järjestyksessä oppimaan aineistoa ja käyttämällä tätä koulutettua mallia toisen oppijan perustana. Meta-oppiminen ottaa vastaan alkuoppimiseen käytetyn tietyn optimoimisalgoritmin. Meta-oppimisen periytyvä parametriointi mahdollistaa nopean alkuarvon asettamisen ja suppenevan, mutta se voi silti päivittää uusia tilanteita varten.

Miten meta-oppiminen toimii?

Tarkan meta-oppimisen toteutustavan määrää malli ja tehtävän luonne. Yleensä meta-oppimistehtävä käyttää ensimmäisen verkon parametreja toisen verkon/optimoinnin parametreina.

Meta-oppimisessa on kaksi koulutusprosessia. Meta-oppimismalli koulutetaan yleensä useiden perusmallin koulutusaskelten jälkeen. Perusmallin eteenpäin, taaksepäin ja optimointiaskelten jälkeen suoritetaan eteenpäin koulutusoptimointimalli. Esimerkiksi perusmallin kolmen tai neljän koulutusaskelman jälkeen lasketaan meta-tappio. Meta-tappion laskemisen jälkeen lasketaan jokaisen meta-parametrin gradientit. Tämän jälkeen optimoimismallin meta-parametrit päivitetään.

Yksi tapa laskea meta-tappio on suorittaa perusmallin eteenpäin koulutus ja yhdistää jo laskettujen tappioiden tulokset. Meta-optimoija voi olla toinenkin meta-oppuja, vaikka tiettyyn pisteeseen on käytettävä diskreettiä optimoijaa, kuten ADAM tai SGD.

Monet syvät oppimismallit voivat sisältää satoja tuhansia tai jopa miljoonia parametreja. Meta-oppimisen luominen, jolla on täysin uusi joukko parametreja, olisi laskennallisesti kallista, ja siksi käytetään yleensä koordinaattien jakamistekniikkaa. Koordinaattien jakaminen tarkoittaa meta-oppimisen/optimoinnin suunnittelua siten, että se oppii yhden parametrin perusmallista ja kopioi sen kaikkien muiden parametrejen tilalle. Tuloksena on, että optimoijan parametri eivät riipu mallin parametreista.

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.