stub Hvad er Meta-Learning? - Unite.AI
Følg os

AI 101

Hvad er Meta-Learning?

mm
Opdateret on

Hvad er Meta-Learning?

Et af de hurtigst voksende forskningsområder inden for maskinlæring er området for meta-læring. Meta-læring, i maskinlæringskontekst, er brugen af ​​maskinlæringsalgoritmer til at hjælpe med træning og optimering af andre maskinlæringsmodeller. I takt med at meta-læring bliver mere og mere populært, og flere meta-læringsteknikker udvikles, er det en fordel at have en forståelse af, hvad meta-læring er, og at have en fornemmelse af de forskellige måder, det kan anvendes på. Lad os undersøge ideerne bag meta-læring, typer af meta-læring, samt nogle af måderne, meta-læring kan bruges på.

Udtrykket meta-læring blev opfundet af Donald Maudsley for at beskrive en proces, hvorved folk begynder at forme, hvad de lærer, og bliver "i stigende grad i kontrol over vaner med opfattelse, undersøgelse, læring og vækst, som de har internaliseret". Senere ville kognitive videnskabsmænd og psykologer beskrive meta-læring som "at lære at lære".

For maskinlæringsversionen af ​​meta-læring anvendes den generelle idé om at "lære hvordan man lærer" på AI-systemer. I AI-forstand er meta-læring en kunstigt intelligent maskines evne til at lære at udføre forskellige komplekse opgaver ved at tage de principper, den brugte til at lære en opgave og anvende den til andre opgaver. AI-systemer skal typisk trænes til at udføre en opgave gennem mestring af mange små underopgaver. Denne træning kan tage lang tid, og AI-agenter overfører ikke let den viden, man har lært under én opgave, til en anden opgave. At skabe meta-læringsmodeller og -teknikker kan hjælpe AI med at lære at generalisere læringsmetoder og tilegne sig nye færdigheder hurtigere.

Typer af meta-læring

Optimizer Meta-Learning

Meta-læring bruges ofte til at optimere ydeevnen af ​​et allerede eksisterende neuralt netværk. Optimizer-metalæringsmetoder fungerer typisk ved at justere hyperparametrene i et andet neuralt netværk for at forbedre ydeevnen af ​​det neurale basisnetværk. Resultatet er, at målnetværket skal blive bedre til at udføre den opgave, det bliver trænet i. Et eksempel på en meta-læringsoptimering er brugen af ​​et netværk til at forbedre gradient nedstigning resultater.

Få-Shots Meta-Learning

En få-skuds meta-læringstilgang er en, hvor et dybt neuralt netværk er konstrueret, som er i stand til at generalisere fra træningsdatasættene til usete datasæt. En forekomst af få-skudsklassificering ligner en normal klassifikationsopgave, men i stedet er dataeksemplerne hele datasæt. Modellen er trænet i mange forskellige læringsopgaver/datasæt, og så er den optimeret til toppræstationer på de mange træningsopgaver og usete data. I denne tilgang er en enkelt træningsprøve delt op i flere klasser. Dette betyder, at hver træningsprøve/datasæt potentielt kan bestå af to klasser, i alt 4 skud. I dette tilfælde kunne den samlede træningsopgave beskrives som en 4-skuds 2-klasses klassifikationsopgave.

I få-skudslæring er det tanken, at de enkelte træningsprøver er minimalistiske, og at netværket kan lære at identificere objekter efter blot at have set nogle få billeder. Det ligner meget, hvordan et barn lærer at skelne genstande efter at have set et par billeder. Denne tilgang er blevet brugt til at skabe teknikker som one-shot generative modeller og hukommelsesforstærkede neurale netværk.

Metrisk meta-læring

Metrisk baseret meta-læring er brugen af ​​neurale netværk til at bestemme, om en metrik bruges effektivt, og om netværket eller netværkene rammer målmetrikken. Metrisk meta-læring ligner få-skuds-læring, idet blot nogle få eksempler bruges til at træne netværket og få det til at lære det metriske rum. Den samme metrik bruges på tværs af det forskellige domæne, og hvis netværkene afviger fra metrikken, anses de for at fejle.

Tilbagevendende Model Meta-læring

Gentagende model meta-læring er anvendelsen af ​​meta-læring teknikker til tilbagevendende neurale netværk og lignende langtidskorttidshukommelse netværk. Denne teknik fungerer ved at træne RNN/LSTM-modellen til sekventielt at lære et datasæt og derefter bruge denne trænede model som grundlag for en anden elev. Meta-læreren tager den specifikke optimeringsalgoritme ombord, som blev brugt til at træne den indledende model. Den nedarvede parametrisering af meta-læreren gør den i stand til hurtigt at initialisere og konvergere, men stadig være i stand til at opdatere til nye scenarier.

Hvordan fungerer meta-læring?

Den nøjagtige måde, meta-læring udføres på, varierer afhængigt af modellen og arten af ​​den aktuelle opgave. Dog generelt en meta-læringsopgave involverer kopiering over parametrene af det første netværk til parametrene for det andet netværk/optimizeren.

Der er to træningsforløb i meta-læring. Meta-læringsmodellen trænes typisk efter flere trins træning på basismodellen er blevet gennemført. Efter frem-, tilbage- og optimeringstrinene, der træner basismodellen, udføres det fremadrettede træningspas for optimeringsmodellen. For eksempel, efter tre eller fire trins træning på basismodellen, beregnes et meta-tab. Efter meta-tabet er beregnet, beregnes gradienterne for hver meta-parameter. Efter dette sker, opdateres metaparametrene i optimeringsværktøjet.

En mulighed for at beregne meta-tabet er at afslutte det fremadrettede træningspas af den indledende model og derefter kombinere de tab, der allerede er blevet beregnet. Meta-optimizeren kunne endda være en anden meta-lærer, selvom der på et vist tidspunkt skal bruges en diskret optimizer som ADAM eller SGD.

Mange deep learning-modeller kan have hundredtusindvis eller endda millioner af parametre. At skabe en meta-learner, der har et helt nyt sæt af parametre, ville være beregningsmæssigt dyrt, og af denne grund bruges en taktik kaldet koordinatdeling typisk. Koordinatdeling involverer at konstruere meta-læreren/optimizeren, så den lærer en enkelt parameter fra basismodellen og derefter bare kloner denne parameter i stedet for alle de andre parametre. Resultatet er, at de parametre, optimizeren besidder, ikke afhænger af modellens parametre.

Blogger og programmør med speciale i Maskinelæring , Deep Learning emner. Daniel håber at kunne hjælpe andre med at bruge AI's kraft til socialt gode.