AI 101
Hva er Meta-Learning?

Hva er Meta-Learning?
En av de raskest voksende områdene for forskning i maskinlæring er området meta-læring. Meta-læring, i maskinlæringskonteksten, er bruken av maskinlæringsalgoritmer til å assistere i trening og optimalisering av andre maskinlæringsmodeller. Ettersom meta-læring blir mer og mer populært og flere meta-læringsmetoder utvikles, er det nyttig å ha en forståelse av hva meta-læring er og å ha en følelse av de forskjellige måtene det kan brukes på. La oss undersøke ideene bak meta-læring, typer av meta-læring, samt noen av måtene meta-læring kan brukes på.
Begrepet meta-læring ble myntet av Donald Maudsley for å beskrive en prosess hvor mennesker begynner å forme hva de lærer, og blir “mer og mer kontrollert over vaner av persepsjon, undersøkelse, læring og vekst som de har internalisert”. Senere beskrev kognitiv vitenskap og psykologer meta-læring som “læring hvordan man lærer”.
For maskinlæringsversjonen av meta-læring, brukes den generelle ideen om “læring hvordan man lærer” på AI-systemer. I AI-sansen, er meta-læring evnen til at et kunstig intelligents maskin kan lære hvordan man utfører forskjellige komplekse oppgaver, og tar prinsippene det brukte til å lære en oppgave og anvender dem på andre oppgaver. AI-systemer må vanligvis trenes for å utføre en oppgave gjennom mesteren av mange små underoppgaver. Denne treningen kan ta lang tid, og AI-agenter overfører ikke lett kunnskapen lært under en oppgave til en annen oppgave. Å lage meta-læringsmodeller og -teknikker kan hjelpe AI til å lære å generalisere læremetoder og tilegne seg nye ferdigheter raskere.
Typer av Meta-Læring
Optimizer Meta-Læring
Meta-læring brukes ofte til å optimalisere ytelsen til en allerede eksisterende neuralt nettverk. Optimizer meta-læringsmetoder fungerer vanligvis ved å justere hyperparameterne til et annet neuralt nettverk for å forbedre ytelsen til basisneuralt nettverket. Resultatet er at målnettverket skal bli bedre til å utføre oppgaven det er i ferd med å trenes på. Et eksempel på en meta-læringsoptimizer er bruken av et nettverk til å forbedre gradient descent-resultater.
Few-Shots Meta-Læring
En few-shots meta-læringsmetode er en hvor et dypt neuralt nettverk er konstruert som kan generalisere fra treningsdatasett til usette datasett. Et eksempel på few-shot klassifisering er likt en normal klassifiseringsoppgave, men i stedet er datasamplet hele datasett. Modellen trenes på mange forskjellige læringsoppgaver/datasett og deretter optimeres den for topp ytelse på de mange treningsoppgavene og usette data. I denne metoden deles ett enkelt treningsmønster opp i flere klasser. Dette betyr at hvert treningsmønster/datasett potensielt kan bestå av to klasser, for en total på 4-skudd. I dette tilfelle kan den totale treningsoppgaven beskrives som en 4-skudd 2-klasse klassifiseringsoppgave.
I few-shot læring, er ideen at de enkelte treningsmønstrene er minimalistiske og at nettverket kan lære å identifisere objekter etter å ha sett bare noen få bilder. Dette er lignende hvordan et barn lærer å skille objekter etter å ha sett bare noen få bilder. Denne metoden har blitt brukt til å skape teknikker som one-shot generative modeller og minneforbedrede neurale nettverk.
Metric Meta-Læring
Metric-basert meta-læring er bruken av neurale nettverk til å bestemme om en metrikk brukes effektivt og om nettverket eller nettverkene treff målmetrikken. Metric meta-læring er lignende few-shot læring i den forstand at bare noen få eksempler brukes til å trenere nettverket og lære metrikkrommen. Samme metrikk brukes på tvers av det diverse domenet og hvis nettverkene avviker fra metrikken, anses de for å feile.
Recurrent Model Meta-Læring
Recurrent model meta-læring er anvendelsen av meta-læringsmetoder på Recurrent Neural Networks og lignende Long Short-Term Memory-nettverk. Denne metoden fungerer ved å trenere RNN/LSTM-modellen til å sekvensielt lære et datasett og deretter bruke denne trenede modellen som basis for en annen lærer. Meta-læreren tar på seg den spesifikke optimeringsalgoritmen som ble brukt til å trenere den opprinnelige modellen. Den arvede parameteriseringen av meta-læreren muliggjør at den kan raskt initialiseres og konvergere, men likevel kunne oppdateres for nye scenarioer.
Hvordan fungerer Meta-Læring?
Den eksakte måten meta-læring utføres varierer avhengig av modellen og oppgavens art. Likevel, generelt sett, innebærer en meta-læringsoppgave å kopiere over parameterne fra det første nettverket til parameterne i det andre nettverket/optimizoren.
Det er to treningsprosesser i meta-læring. Meta-læringsmodellen trenes vanligvis etter at flere steg med trening på basismodellen er utført. Etter fremover-, bakover- og optimeringsstegene som trener basismodellen, utføres fremover-treningspasset for optimeringsmodellen. For eksempel, etter tre eller fire steg med trening på basismodellen, beregnes en meta-tap. Etter at meta-tapen er beregnet, beregnes gradientene for hver meta-parameter. Etter dette skjer, oppdateres meta-parameterne i optimizoren.
En mulighet for å beregne meta-tapen er å fullføre fremover-treningspasset for den opprinnelige modellen og deretter kombinere tapene som allerede er beregnet. Meta-optimizoren kunne også være en annen meta-lærer, selv om det på et visst punkt må brukes en diskret optimizer som ADAM eller SGD.
Mange dyptlæringsmodeller kan ha hundredtusener eller til og med millioner av parametre. Å lage en meta-lærer som har en helt ny sett med parametre ville være komputasjonelt dyrt, og av denne grunn brukes en taktikk kalt koordinat-deling. Koordinat-deling innebærer å konstruere meta-læreren/optimizoren slik at den lærer en enkelt parameter fra basismodellen og deretter bare kloner denne parameteren i stedet for alle andre parametre. Resultatet er at parameterne optimizoren besitter, ikke avhenger av parameterne i modellen.












