AI 101
Hva er metalæring?
Hva er metalæring?
Et av de raskest voksende forskningsområdene innen maskinlæring er området metalæring. Metalæring, i maskinlæringssammenheng, er bruken av maskinlæringsalgoritmer for å hjelpe til med opplæring og optimalisering av andre maskinlæringsmodeller. Ettersom meta-læring blir mer og mer populært og flere meta-læringsteknikker utvikles, er det en fordel å ha en forståelse av hva meta-læring er og å ha en følelse av de ulike måtene den kan brukes på. La oss undersøke ideene bak meta-læring, typer metalæring, samt noen av måtene metalæring kan brukes på.
Begrepet meta-læring ble laget av Donald Maudsley for å beskrive en prosess der folk begynner å forme det de lærer, og blir "i økende grad i kontroll over vaner med persepsjon, undersøkelser, læring og vekst som de har internalisert". Senere vil kognitive forskere og psykologer beskrive meta-læring som "å lære å lære".
For maskinlæringsversjonen av meta-læring brukes den generelle ideen om å "lære hvordan man lærer" på AI-systemer. I AI-forstand er meta-læring evnen til en kunstig intelligent maskin til å lære å utføre ulike komplekse oppgaver, ta prinsippene den brukte for å lære en oppgave og bruke den på andre oppgaver. AI-systemer må vanligvis trenes for å utføre en oppgave gjennom mestring av mange små underoppgaver. Denne opplæringen kan ta lang tid og AI-agenter overfører ikke lett kunnskapen som er lært under en oppgave til en annen oppgave. Å lage metalæringsmodeller og -teknikker kan hjelpe AI med å lære å generalisere læringsmetoder og tilegne seg nye ferdigheter raskere.
Typer metalæring
Optimizer Meta-læring
Meta-læring brukes ofte for å optimalisere ytelsen til et allerede eksisterende nevralt nettverk. Optimizer-metalæringsmetoder fungerer vanligvis ved å justere hyperparametrene til et annet nevralt nettverk for å forbedre ytelsen til det nevrale basisnettverket. Resultatet er at målnettverket skal bli flinkere til å utføre oppgaven det trenes på. Et eksempel på en meta-læringsoptimalisering er bruken av et nettverk for å forbedre gradient nedstigning resultater.
Få-Shots Meta-læring
En metalæringstilnærming med få skudd er en der et dypt nevralt nettverk er konstruert som er i stand til å generalisere fra treningsdatasettene til usynlige datasett. En forekomst av få-skuddsklassifisering ligner på en vanlig klassifiseringsoppgave, men i stedet er dataprøvene hele datasett. Modellen er trent på mange forskjellige læringsoppgaver/datasett, og deretter er den optimalisert for topp ytelse på mangfoldet av treningsoppgaver og usynlige data. I denne tilnærmingen er en enkelt treningsprøve delt opp i flere klasser. Dette betyr at hver treningsprøve/datasett potensielt kan bestå av to klasser, for totalt 4 skudd. I dette tilfellet kan den totale treningsoppgaven beskrives som en 4-skudds 2-klasses klassifiseringsoppgave.
I få-skuddslæring er tanken at de individuelle treningsprøvene er minimalistiske og at nettverket kan lære å identifisere objekter etter å ha sett bare noen få bilder. Dette er omtrent som hvordan et barn lærer å skille gjenstander etter å ha sett bare et par bilder. Denne tilnærmingen har blitt brukt til å lage teknikker som generative modeller og minneforsterkede nevrale nettverk.
Metrisk metalæring
Metrisk basert meta-læring er bruken av nevrale nettverk for å avgjøre om en beregning brukes effektivt og om nettverket eller nettverkene treffer målberegningen. Metrisk meta-læring ligner få-skudd-læring ved at bare noen få eksempler brukes for å trene nettverket og få det til å lære det metriske rommet. Den samme metrikken brukes på tvers av det mangfoldige domenet, og hvis nettverkene avviker fra metrikken, anses de å mislykkes.
Tilbakevendende Model Meta-læring
Tilbakevendende modell meta-læring er bruken av meta-læringsteknikker til tilbakevendende nevrale nettverk og lignende langtidsminne-nettverk. Denne teknikken fungerer ved å trene RNN/LSTM-modellen til å lære et datasett sekvensielt og deretter bruke denne trente modellen som grunnlag for en annen elev. Meta-læreren tar med seg den spesifikke optimaliseringsalgoritmen som ble brukt til å trene den første modellen. Den nedarvede parameteriseringen til meta-læreren gjør at den raskt kan initialiseres og konvergere, men fortsatt være i stand til å oppdatere for nye scenarier.
Hvordan fungerer metalæring?
Den nøyaktige måten meta-læring utføres på varierer avhengig av modellen og oppgavens art. Men generelt sett en meta-læringsoppgave innebærer å kopiere over parameterne av det første nettverket inn i parameterne til det andre nettverket/optimalisatoren.
Det er to opplæringsprosesser i meta-læring. Metalæringsmodellen trenes vanligvis etter at flere trinn med trening på basismodellen er gjennomført. Etter frem-, bakover- og optimaliseringstrinnene som trener basismodellen, gjennomføres forovertreningspasset for optimaliseringsmodellen. For eksempel, etter tre eller fire trinn med trening på basismodellen, beregnes et meta-tap. Etter at meta-tapet er beregnet, beregnes gradientene for hver meta-parameter. Etter at dette skjer, oppdateres metaparameterne i optimizeren.
En mulighet for å beregne meta-tapet er å fullføre forovertreningspasset til den innledende modellen og deretter kombinere tapene som allerede er beregnet. Meta-optimalisatoren kan til og med være en annen meta-lærer, men på et visst tidspunkt må en diskret optimizer som ADAM eller SGD brukes.
Mange dyplæringsmodeller kan ha hundretusener eller til og med millioner av parametere. Å lage en meta-lærer som har et helt nytt sett med parametere vil være beregningsmessig dyrt, og av denne grunn brukes vanligvis en taktikk som kalles koordinatdeling. Koordinatdeling innebærer å konstruere meta-læreren/optimalisatoren slik at den lærer en enkelt parameter fra basismodellen og deretter bare kloner den parameteren i stedet for alle de andre parameterne. Resultatet er at parameterne optimizeren har ikke avhenger av parameterne til modellen.