stomp Wat is meta-leren? - Verenig AI
Verbind je met ons

AI 101

Wat is meta-leren?

mm
Bijgewerkt on

Wat is meta-leren?

Een van de snelst groeiende onderzoeksgebieden op het gebied van machinaal leren is het gebied van meta-leren. Meta-learning, in de context van machine learning, is het gebruik van algoritmen voor machine learning om te helpen bij het trainen en optimaliseren van andere modellen voor machine learning. Aangezien meta-leren steeds populairder wordt en er meer technieken voor meta-leren worden ontwikkeld, is het nuttig om te begrijpen wat meta-leren is en om een ​​idee te hebben van de verschillende manieren waarop het kan worden toegepast. Laten we eens kijken naar de ideeën achter meta-leren, soorten meta-leren, evenals enkele manieren waarop meta-leren kan worden gebruikt.

De term meta-leren is bedacht door Donald Maudsley om een ​​proces te beschrijven waarbij mensen beginnen vorm te geven aan wat ze leren, waarbij ze "steeds meer controle krijgen over gewoonten van perceptie, onderzoek, leren en groei die ze hebben geïnternaliseerd". Later zouden cognitieve wetenschappers en psychologen meta-leren omschrijven als 'leren leren'.

Voor de machine learning-versie van meta-learning wordt het algemene idee van "leren hoe te leren" toegepast op AI-systemen. In de zin van AI is meta-leren het vermogen van een kunstmatig intelligente machine om te leren hoe verschillende complexe taken moeten worden uitgevoerd, waarbij de principes die het gebruikte om één taak te leren, worden toegepast op andere taken. AI-systemen moeten doorgaans worden getraind om een ​​taak uit te voeren door het beheersen van vele kleine subtaken. Deze training kan lang duren en AI-agenten dragen de opgedane kennis tijdens de ene taak niet gemakkelijk over op een andere taak. Het creëren van meta-leermodellen en -technieken kan AI helpen om leermethoden te generaliseren en sneller nieuwe vaardigheden te verwerven.

Soorten meta-leren

Optimizer meta-leren

Meta-learning wordt vaak gebruikt om de prestaties van een reeds bestaand neuraal netwerk te optimaliseren. Optimizer-meta-leermethoden werken doorgaans door de hyperparameters van een ander neuraal netwerk aan te passen om de prestaties van het neurale basisnetwerk 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 te verbeteren gradiënt afdaling resultaten.

Few-Shots Meta-leren

Een meta-learningbenadering met een paar schoten is er een waarbij een diep neuraal netwerk wordt ontwikkeld dat in staat is om te generaliseren van de trainingsdatasets naar ongeziene datasets. Een instantie van classificatie met weinig schoten is vergelijkbaar met een normale classificatietaak, maar in plaats daarvan zijn de gegevensvoorbeelden volledige gegevenssets. Het model is getraind op veel verschillende leertaken/datasets en vervolgens geoptimaliseerd voor topprestaties op de veelheid aan trainingstaken en ongeziene data. Bij deze aanpak wordt een enkele trainingssteekproef opgesplitst in meerdere klassen. Dit betekent dat elke trainingssample/dataset mogelijk uit twee klassen kan bestaan, voor een totaal van 4 shots. In dit geval zou de totale trainingstaak kunnen worden omschreven als een classificatietaak met 4 schoten en 2 klassen.

Bij few-shot learning is het idee dat de individuele trainingsvoorbeelden minimalistisch zijn en dat het netwerk objecten kan leren identificeren na slechts een paar foto's te hebben gezien. Dit lijkt veel op hoe een kind objecten leert onderscheiden na slechts een paar foto's te hebben gezien. Deze benadering is gebruikt om technieken te creëren zoals one-shot generatieve modellen en geheugenvergrotende neurale netwerken.

Metrische meta-leren

Op metrische gegevens gebaseerd meta-leren is het gebruik van neurale netwerken om te bepalen of een metriek effectief wordt gebruikt en of het netwerk of de netwerken de doelmetriek halen. Metrisch meta-leren is vergelijkbaar met leren met weinig schoten, in die zin dat er slechts een paar voorbeelden worden gebruikt om het netwerk te trainen en de metrische ruimte te laten leren. Dezelfde maatstaf wordt gebruikt in het diverse domein en als de netwerken afwijken van de maatstaf, worden ze als falend beschouwd.

Terugkerend model meta-leren

Recurrent model-meta-learning is de toepassing van meta-learning-technieken op terugkerende neurale netwerken en de vergelijkbare lange-kortetermijngeheugennetwerken. Deze techniek werkt door het RNN/LSTM-model te trainen om opeenvolgend een dataset te leren en dit getrainde model vervolgens te gebruiken als basis voor een andere leerling. De meta-leerling neemt het specifieke optimalisatie-algoritme over dat werd gebruikt om het initiële model te trainen. De overgeërfde parametrisering van de meta-leerling maakt het mogelijk om snel te initialiseren en te convergeren, maar toch te kunnen updaten voor nieuwe scenario's.

Hoe werkt meta-leren?

De exacte manier waarop meta-leren wordt uitgevoerd, is afhankelijk van het model en de aard van de taak die voorhanden is. Over het algemeen echter een meta-leertaak omvat het kopiëren van de parameters van het eerste netwerk in de parameters van het tweede netwerk/de optimizer.

Er zijn twee trainingsprocessen in meta-leren. Het meta-leermodel wordt meestal getraind nadat verschillende trainingsstappen op het basismodel zijn uitgevoerd. Na de voorwaartse, achterwaartse en optimalisatiestappen die het basismodel trainen, wordt de voorwaartse trainingspas uitgevoerd voor het optimalisatiemodel. Na drie of vier stappen van training op het basismodel wordt bijvoorbeeld een metaverlies berekend. Nadat het metaverlies is berekend, worden de gradiënten voor elke metaparameter berekend. Nadat dit is gebeurd, worden de metaparameters in de optimizer bijgewerkt.

Een mogelijkheid om het metaverlies te berekenen, is om de voorwaartse trainingspas van het initiële model te voltooien en vervolgens de reeds berekende verliezen te combineren. De meta-optimizer zou zelfs een andere meta-leerder kunnen zijn, hoewel op een gegeven moment een discrete optimizer zoals ADAM of SGD moet worden gebruikt.

Veel deep learning-modellen kunnen honderdduizenden of zelfs miljoenen parameters hebben. Het creëren van een meta-leerling die een geheel nieuwe set parameters heeft, zou rekenkundig duur zijn, en om deze reden wordt meestal een tactiek gebruikt die het delen van coördinaten wordt genoemd. Bij het delen van coördinaten wordt de meta-leerder/optimizer zodanig ontworpen dat deze een enkele parameter van het basismodel leert en vervolgens die parameter gewoon 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.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.