Grundlæggende AI
Hvad er Meta-Learning?
Hvad er Meta-Learning?
En af de hurtigst voksende områder for forskning i maskinlæring er området for meta-læring. Meta-læring i maskinlæringskonteksten er brugen af maskinlæringsalgoritmer til at hjælpe med træning og optimering af andre maskinlæringsmodeller. Da meta-læring bliver mere og mere populær og mere meta-læringsmetoder udvikles, er det nyttigt 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 idéerne bag meta-læring, typer af meta-læring, samt nogle af de måder, meta-læring kan anvendes på.
Begrebet meta-læring blev præget af Donald Maudsley for at beskrive en proces, hvorved mennesker begynder at forme, hvad de lærer, og bliver ” stadig mere i kontrol over vaner med perception, 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, hvordan man lærer”.
For den maskinlæringsversion af meta-læring anvendes den generelle idé om “at lære, hvordan man lærer” på kunstige intelligenssystemer. I AI-sammenhængen er meta-læring evnen hos et kunstigt intelligent maskineri til at lære, hvordan man udfører komplekse opgaver, ved at tage principperne, der blev brugt til at lære en opgave, og anvende dem på andre opgaver. AI-systemer skal normalt trænes til at udføre en opgave gennem mestringsprocessen af mange små underopgaver. Denne træning kan tage lang tid, og AI-agenter overfører ikke let viden fra en opgave til en anden. Oprettelse af meta-læringsmodeller og -metoder kan hjælpe AI med at lære at generalisere læremetoder og erhverve nye færdigheder hurtigere.
Meta-LæringsTyper
Optimizer Meta-Læring
Meta-læring anvendes ofte til at optimere ydeevnen af et allerede eksisterende neuralt netværk. Optimizer meta-læringsmetoder fungerer normalt ved at justere hyperparametrene i et andet neuralt netværk for at forbedre ydeevnen af det grundlæggende neurale netværk. Resultatet er, at målnettet skal blive bedre til at udføre den opgave, det trænes på. Et eksempel på en meta-læringsoptimizer er brugen af et netværk til at forbedre gradient descent-resultater.
Few-Shots Meta-Læring
En few-shots meta-læringsapproach er en, hvor et dybt neuralt netværk er designet, der kan generalisere fra træningsdata til usete data. Et eksempel på few-shot klassifikation er ligesom en normal klassifikationsopgave, men i stedet er datasamples hele datasæt. Modellen trænes på mange forskellige læringsopgaver/datasæt og derefter optimeres den for maksimal ydeevne på de mange træningsopgaver og usete data. I denne approach deles en enkelt træningseksempel op i flere klasser. Dette betyder, at hver træningseksempel/datasæt potentielt kan bestå af to klasser, i alt 4-skud. I dette tilfælde kan den samlede træningsopgave beskrives som en 4-skud 2-klasse klassifikationsopgave.
I few-shot læring er idéen, at de enkelte træningseksempler er minimalistiske, og at nettet kan lære at identificere objekter efter at have set kun få billeder. Dette er meget ligesom, hvordan et barn lærer at skelne mellem objekter efter at have set kun få billeder. Denne approach er blevet brugt til at oprette teknikker som one-shot generative modeller og hukommelseforstærkede neurale netværk.
Metric Meta-Læring
Metric-baseret meta-læring er anvendelsen af neurale netværk til at bestemme, om en metrik anvendes effektivt, og om nettet eller netværkene rammer målmetrikken. Metric meta-læring ligner few-shot læring, da kun få eksempler anvendes til at træne nettet og lære metrikrummet. Den samme metrik anvendes på tværs af det forskellige domæne, og hvis netværkene afviger fra metrikken, anses de for at fejle.
Recurrent Model Meta-Læring
Recurrent model meta-læring er anvendelsen af meta-læringsmetoder til rekurrente neurale netværk og lignende lange korttidshukommelsesnetværk. Denne teknik fungerer ved at træne RNN/LSTM-modellen til sekventielt at lære en datasæt og derefter bruge denne trænede model som basis for en anden lærer. Meta-læreren tager den specifikke optimeringsalgoritme, der blev brugt til at træne den oprindelige model, til sig. Den arvede parameterisering af meta-læreren giver det muligt at hurtigt initialisere og konvergere, men stadig kan opdateres for nye scenarier.
Hvordan Fungerer Meta-Læring?
Den præcise måde, hvorpå meta-læring udføres, varierer afhængigt af modellen og opgavens natur. Dog indebærer en meta-læringsopgave generelt at kopiere parametrene fra det første netværk til parametrene i det andet netværk/optimizeren.
Der er to træningsprocesser i meta-læring. Meta-læringsmodellen trænes normalt efter flere træningsskridt på den grundlæggende model er udført. Efter de fremadgående, bagadgående og optimeringsskridt, der træner den grundlæggende model, udføres den fremadgående træningsskridt for optimeringsmodellen. For eksempel efter tre eller fire træningsskridt på den grundlæggende model beregnes en meta-tab. Efter at meta-taben er beregnet, beregnes gradienterne for hver meta-parameter. Efter dette opdateres meta-parametrene i optimizeren.
En mulighed for at beregne meta-taben er at fuldføre den fremadgående træningsskridt for den oprindelige model og derefter kombinere tabene, der allerede er beregnet. Meta-optimizeren kunne endda være en anden meta-lærer, selvom der på et tidspunkt skal bruges en diskret optimizer som ADAM eller SGD.
Mange dybe læringsmodeller kan have hundredtusinder eller endda millioner af parametre. Oprettelse af en meta-lærer, der har en helt ny sæt af parametre, ville være komputationelt dyrt, og derfor anvendes en taktik kaldet koordinatsdeling. Koordinatsdeling indebærer at konstruere meta-læreren/optimizeren, så den lærer en enkelt parameter fra den grundlæggende model og derefter kun kloner denne parameter i stedet for alle andre parametre. Resultatet er, at parametrene optimizeren besidder, ikke afhænger af parametrene i modellen.












