Grunnleggende AI
Hva er Meta-Learning?
Hva er Meta-Learning?
En av de raskest voksende områdene innen 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 ” stadig mer kontrollert over vaner for persepsjon, undersøkelse, læring og vekst som de har internalisert”. Senere beskrev kognitiv forskere 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å kunstige intelligenssystemer. I AI-sammenheng er meta-læring evnen til at et kunstig intelligenssystem kan lære å utføre komplekse oppgaver, ved å ta utgangspunkt i prinsippene det brukte til å lære en oppgave og anvende 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 de lærte under en oppgave til en annen oppgave. Å utvikle meta-læringsmodeller og -metoder kan hjelpe AI å lære å generalisere læremetoder og tilegne seg nye ferdigheter raskere.
Typer av Meta-Læring
Optimerings-Meta-Læring
Meta-læring brukes ofte til å optimalisere ytelsen til en allerede eksisterende neural nettverk. Optimerings-meta-læringsmetoder fungerer vanligvis ved å justere hyperparameterne til et annet neural nettverk for å forbedre ytelsen til basis- neural nettverket. Resultatet er at mål-nettverket skal bli bedre til å utføre oppgaven det er i ferd med å bli trenet på. Et eksempel på en meta-lærings-optimizer er bruken av et nettverk for å forbedre gradient-descent-resultater.
Few-Shots Meta-Læring
En few-shots meta-lærings-tilnærming er en hvor et dypt neural nettverk er konstruert som kan generalisere fra treningsdatasett til usette datasett. Et eksempel på few-shot klassifisering er lik en vanlig klassifiseringsoppgave, men i stedet er datasamplet hele datasett. Modellen trenes på mange forskjellige læringsoppgaver/datasett og deretter optimeres den for maksimal ytelse på de mange treningsoppgavene og usette data. I denne tilnærmingen deles ett enkelt trenings-eksempel inn i flere klasser. Dette betyr at hvert trenings-eksempel/datasett potensielt kan bestå av to klasser, for en total på 4-shots. I dette tilfelle kan den totale treningsoppgaven beskrives som en 4-shot 2-klasse klassifiseringsoppgave.
I few-shot læring, er ideen at de enkelte trenings-eksemplene 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 tilnærmingen har blitt brukt til å skape teknikkene som en-shot generative modeller og minne-forbedrede 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 når mål-metrikkene. Metric meta-læring er lignende few-shot læring i det at bare noen få eksempler brukes til å trene nettverket og lære metrikk-rommet. Samme metrikk brukes over hele det diverse domenet og hvis nettverkene avviker fra metrikken, anses de for å feile.
Rekurrent Modell Meta-Læring
Rekurrent modell meta-læring er anvendelsen av meta-lærings-teknikker på rekurrente neurale nettverk og lignende lange korttids-hukommelses nettverk. Denne teknikken fungerer ved å trene 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 med seg den spesifikke optimerings-algoritmen som ble brukt til å trene den opprinnelige modellen. Arvende parameterisering av meta-læreren muliggjør rask initialisering og konvergens, men fortsatt mulighet til å oppdatere for nye scenarioer.
Hvordan Fungerer Meta-Læring?
Den eksakte måten meta-læring utføres på varierer avhengig av modellen og oppgavens natur. Imidlertid, generelt sett, involverer en meta-læringsoppgave kopi av parameterne fra det første nettverket til parameterne i det andre nettverket/optimatoren.
Det finnes to treningsprosesser i meta-læring. Meta-læringsmodellen trenes vanligvis etter flere steg med trening på basis-modellen. Etter fremover-, bakover- og optimerings-stegene som trenes basis-modellen, utføres fremover-treningspasset for optimeringsmodellen. For eksempel, etter tre eller fire steg med trening på basis-modellen, beregnes en meta-tap. Etter at meta-tapen er beregnet, beregnes gradientene for hvert meta-parameter. Etter dette, oppdateres meta-parameterne i optimeratoren.
En mulighet for å beregne meta-tapen er å fullføre fremover-treningspasset for den opprinnelige modellen og deretter kombinere tapene som allerede er beregnet. Meta-optimatoren kunne sogar 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 sogar millioner av parametre. Å skape 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/optimatoren slik at den lærer en enkelt parameter fra basis-modellen og deretter bare kloner denne parameteren i stedet for alle andre parametre. Resultatet er at parameterne optimeratoren besitter ikke avhenger av parameterne til modellen.












