Grunderna i AI
Vad är Meta-Learning?
Vad är Meta-Learning?
En av de snabbast växande områdena inom maskinlärning är området meta-lärande. Meta-lärande, i maskinlärningssammanhang, är användningen av maskinlärningsalgoritmer för att assistera i utbildning och optimering av andra maskinlärningsmodeller. Eftersom meta-lärande blir allt mer populärt och fler meta-lärandetekniker utvecklas, är det fördelaktigt att ha en förståelse för vad meta-lärande är och att ha en känsla för de olika sätt det kan tillämpas. Låt oss undersöka idéerna bakom meta-lärande, typer av meta-lärande, samt några av de sätt meta-lärande kan användas.
Begreppet meta-lärande myntades av Donald Maudsley för att beskriva en process där människor börjar forma vad de lär sig, och blir “alltmer i kontroll över vanor av perception, undersökning, lärande och tillväxt som de har internaliserat”. Senare skulle kognitiva forskare och psykologer beskriva meta-lärande som “att lära sig att lära sig”.
För maskinlärningens version av meta-lärande tillämpas idén om “att lära sig att lära sig” på AI-system. I AI-sammanhang är meta-lärande förmågan hos en konstgjord intelligens att lära sig att utföra olika komplexa uppgifter, genom att ta de principer som användes för att lära sig en uppgift och tillämpa dem på andra uppgifter. AI-system måste vanligtvis tränas för att utföra en uppgift genom att bemästra många små deluppgifter. Denna utbildning kan ta lång tid, och AI-agenter överför inte lätt kunskapen som lärs under en uppgift till en annan uppgift. Skapandet av meta-lärandemodeller och -tekniker kan hjälpa AI att lära sig att generalisera lärandemetoder och förvärva nya färdigheter snabbare.
Typer av Meta-Lärande
Optimerings-Meta-Lärande
Meta-lärande används ofta för att optimera prestandan hos ett redan existerande neuronnät. Optimerings-meta-lärande metoder fungerar vanligtvis genom att justera hyperparametrarna för ett annat neuronnät för att förbättra prestandan hos det grundläggande neuronnätet. Resultatet är att målnätverket bör bli bättre på att utföra den uppgift det tränas för. Ett exempel på en meta-lärandeoptimerare är användningen av ett nätverk för att förbättra gradientdescent-resultat.
Få-Skott-Meta-Lärande
En få-skott-meta-lärandeansats är en där ett djupt neuronnät konstrueras som kan generalisera från träningsdataset till osett data. Ett exempel på få-skott-klassificering är liknande en normal klassificeringsuppgift, men istället är dataexemplen hela dataset. Modellen tränas på många olika lärandeuppgifter/dataset och sedan optimeras den för maximal prestanda på de många träningsuppgifterna och osett data. I denna ansats delas en enskild träningsprover upp i flera klasser. Detta innebär att varje träningsprover/dataset potentiellt kan bestå av två klasser, för totalt 4-skott. I detta fall kan den totala träningsuppgiften beskrivas som en 4-skott 2-klass-klassificeringsuppgift.
I få-skottslärande är idén att de enskilda träningsproverna är minimalistiska och att nätverket kan lära sig att identifiera objekt efter att ha sett bara några bilder. Detta är liknande hur ett barn lär sig att skilja på objekt efter att ha sett bara några bilder. Denna ansats har använts för att skapa tekniker som en-skott-generativa modeller och minnesförstärkta neuronnät.
Metric-Meta-Lärande
Metric-baserat meta-lärande är användningen av neuronnät för att bestämma om en metric används effektivt och om nätverket eller nätverken når målmetricen. Metric-meta-lärande är liknande få-skottslärande, eftersom bara några exempel används för att träna nätverket och lära det metricrummet. Samma metric används över den diversa domänen, och om nätverken avviker från metricen anses de vara misslyckade.
Rekurrent-Modell-Meta-Lärande
Rekurrent-modell-meta-lärande är tillämpningen av meta-lärandetekniker på rekurrenta neuronnät och liknande Lång-Kort-Term-Minne-nät. Denna teknik fungerar genom att träna RNN/LSTM-modellen för att sekventiellt lära sig ett dataset och sedan använda denna tränade modell som grund för en annan lärd. Meta-lärdaren tar emot den specifika optimeringsalgoritmen som användes för att träna den ursprungliga modellen. Den ärvt parameteriseringen av meta-lärdaren möjliggör att den snabbt kan initieras och konvergera, men fortfarande kan uppdateras för nya scenarier.
Hur Fungerar Meta-Lärande?
Det exakta sättet som meta-lärande utförs varierar beroende på modellen och uppgiftens natur. Men i allmänhet, en meta-lärandeuppgift involverar kopiering av parametrarna från det första nätverket till parametrarna i det andra nätverket/optimisatorn.
Det finns två träningsprocesser i meta-lärande. Meta-lärandemodellen tränas vanligtvis efter flera steg av utbildning på den grundläggande modellen. Efter de främre, bakre och optimeringsstegen som tränar den grundläggande modellen, utförs den främre träningspassen för optimeringsmodellen. Till exempel, efter tre eller fyra steg av utbildning på den grundläggande modellen, beräknas en meta-förlust. Efter att meta-förlusten beräknats, beräknas gradienterna för varje meta-parameter. Efter detta uppdateras meta-parametrarna i optimeringsalgoritmen.
En möjlighet för att beräkna meta-förlusten är att slutföra den främre träningspassen för den ursprungliga modellen och sedan kombinera de förluster som redan beräknats. Meta-optimeringsalgoritmen kunde till och med vara en annan meta-lärdare, men vid en viss punkt måste en diskret optimeringsalgoritm som ADAM eller SGD användas.
Många djupa lärningsmodeller kan ha hundratusentals eller till och med miljoner parametrar. Att skapa en meta-lärd som har en helt ny uppsättning parametrar skulle vara beräkningsmässigt dyrt, och av denna anledning används en taktik som kallas koordinatdelning. Koordinatdelning innebär att konstruera meta-lärdaren/optimisatorn så att den lär sig en enda parameter från den grundläggande modellen och sedan bara klonar den parametern i stället för alla andra parametrar. Resultatet är att de parametrar som optimeringsalgoritmen besitter inte beror på parametrarna i modellen.












