AI 101
Wat is Meta-Leren?

Wat is Meta-Leren?
Een van de snelst groeiende onderzoeksgebieden in machine learning is het gebied van meta-learning. Meta-learning, in de context van machine learning, is het gebruik van machine learning-algoritmes om te helpen bij het trainen en optimaliseren van andere machine learning-modellen. Aangezien meta-learning steeds populairder wordt en er steeds meer meta-learning-technieken worden ontwikkeld, is het nuttig om een goed begrip te hebben van wat meta-learning is en om een gevoel te hebben van de verschillende manieren waarop het kan worden toegepast. Laten we de ideeën achter meta-learning onderzoeken, typen van meta-learning, evenals enkele van de manieren waarop meta-learning kan worden gebruikt.
De term meta-learning werd bedacht door Donald Maudsley om een proces te beschrijven waarbij mensen beginnen te vormen wat ze leren, en “steeds meer controle krijgen over gewoonten van perceptie, onderzoek, leren en groei die ze hebben geïnternaliseerd”. Later zouden cognitieve wetenschappers en psychologen meta-learning beschrijven als “leren hoe te leren”.
Voor de machine learning-versie van meta-learning wordt het algemene idee van “leren hoe te leren” toegepast op AI-systemen. In de AI-zin is meta-learning de mogelijkheid van een kunstmatig intelligent systeem om te leren hoe complexe taken uit te voeren, door de principes die werden gebruikt om één taak te leren, toe te passen op andere taken. AI-systemen moeten meestal worden getraind om een taak te voltooien door het beheersen van veel kleine subtaken. Deze training kan veel tijd in beslag nemen en AI-agents kunnen de kennis die ze tijdens één taak hebben geleerd, niet gemakkelijk overdragen naar een andere taak. Het creëren van meta-learning-modellen en -technieken kan helpen om AI te leren om leermethoden te generaliseren en nieuwe vaardigheden sneller te verwerven.
Typen van Meta-Leren
Optimizer Meta-Leren
Meta-learning wordt vaak gebruikt om de prestaties van een reeds bestaand neuronaal netwerk te optimaliseren. Optimizer meta-learning-methoden werken meestal door de hyperparameters van een ander neuronaal netwerk aan te passen om de prestaties van het basisneuronale netwerk te verbeteren. Het resultaat is dat het doelnetwerk beter moet worden in het uitvoeren van de taak waarvoor het wordt getraind. Een voorbeeld van een meta-learning-optimizer is het gebruik van een netwerk om gradient descent-resultaten te verbeteren.
Few-Shots Meta-Leren
Een few-shots meta-learning-benadering is een waarbij een diep neuronaal netwerk wordt ontwikkeld dat kan generaliseren van de trainingsdatasets naar ongezien datasets. Een voorbeeld van few-shot-classificatie is vergelijkbaar met een normale classificatie-taak, maar in plaats daarvan zijn de gegevenssamples complete datasets. Het model wordt getraind op veel verschillende leertaak/datasets en vervolgens geoptimaliseerd voor maximale prestaties op de veelheid van trainings taken en ongezien data. In deze benadering wordt één trainings sample opgesplitst in meerdere klassen. Dit betekent dat elk trainings sample/dataset mogelijk uit twee klassen kan bestaan, voor een totaal van 4-shots. In dit geval kan de totale trainings taak worden beschreven als een 4-shot 2-klasse classificatie taak.
Bij few-shot learning is het idee dat de individuele trainings samples minimalistisch zijn en dat het netwerk kan leren om objecten te identificeren na slechts een paar afbeeldingen te hebben gezien. Dit is veel zoals een kind leert om objecten te onderscheiden na slechts een paar afbeeldingen te hebben gezien. Deze benadering is gebruikt om technieken te creëren zoals one-shot generative modellen en memory-augmented neurale netwerken.
Metric Meta-Leren
Metric-gebaseerd meta-learning is het gebruik van neurale netwerken om te bepalen of een metriek effectief wordt gebruikt en of het netwerk of de netwerken de doelmetriek bereiken. Metric meta-learning is vergelijkbaar met few-shot learning in die zin dat slechts een paar voorbeelden worden gebruikt om het netwerk te trainen en om de metriekruimte te leren. Dezelfde metriek wordt gebruikt over de diverse domein en als de netwerken afwijken van de metriek, worden ze beschouwd als falend.
Recurrent Model Meta-Leren
Recurrent model meta-learning is de toepassing van meta-learning-technieken op Recurrent Neurale Netwerken en de vergelijkbare Long Short-Term Memory-netwerken. Deze techniek werkt door het RNN/LSTM-model te trainen om sequentieel een dataset te leren en vervolgens dit getrainde model als basis te gebruiken voor een andere leerling. De meta-leraar neemt de specifieke optimalisatie-algoritme over dat werd gebruikt om het initiële model te trainen. De overgeërfde parameterisatie van de meta-leraar stelt het in staat om snel te initialiseren en te convergeren, maar nog steeds in staat te zijn om te updaten voor nieuwe scenario’s.
Hoe Werkt Meta-Leren?
De exacte manier waarop meta-learning wordt uitgevoerd, varieert afhankelijk van het model en de aard van de taak. In het algemeen omvat een meta-learning-taak het kopiëren van de parameters van het eerste netwerk naar de parameters van het tweede netwerk/de optimizer.
Er zijn twee trainingsprocessen in meta-learning. Het meta-learning-model wordt meestal getraind na een aantal stappen van training op het basismodel. Na de voorwaartse, achterwaartse en optimalisatie-stappen die het basismodel trainen, wordt de voorwaartse trainingspass voor het optimalisatie-model uitgevoerd. Bijvoorbeeld, na drie of vier stappen van training op het basismodel, wordt een meta-verlies berekend. Na het berekenen van het meta-verlies, worden de gradiënten berekend voor elke meta-parameter. Na dit, worden de meta-parameters in de optimizer bijgewerkt.
Een van de mogelijkheden om het meta-verlies te berekenen is om de voorwaartse trainingspass van het initiële model te voltooien en vervolgens de verliezen te combineren die al zijn berekend. De meta-optimizer kan zelfs een andere meta-leraar zijn, hoewel op een bepaald moment een discreet optimizer zoals ADAM of SGD moet worden gebruikt.
Veel diepe leermodellen kunnen honderdduizenden of zelfs miljoenen parameters hebben. Het creëren van een meta-leraar die een geheel nieuwe set parameters heeft, zou computationeel duur zijn, en daarom wordt een tactiek genaamd coördinaat-delings gebruikt. Coördinaat-delings houdt in dat de meta-leraar/optimizer zo wordt ontwikkeld dat hij één parameter leert van het basismodel en vervolgens die parameter kloont in plaats van alle andere parameters. Het resultaat is dat de parameters die de optimizer bezit, niet afhankelijk zijn van de parameters van het model.












