Zero-shot, online en batch learning
ZSL
Zero-shot learning (ZSL) is een techniek voor machinaal leren waarbij een model wordt getraind om nieuwe, ongeziene klassen of concepten te herkennen en te classificeren zonder dat het tijdens het trainingsproces eerdere voorbeelden van die klassen heeft gezien.
Traditioneel machinaal leren vereist dat alle klassen waarin het model moet worden getraind, aanwezig zijn in de trainingsgegevens. Het model leert dan de patronen en kenmerken van die klassen. Zero-shot learning heeft echter betrekking op het vermogen van een model om te generaliseren naar nieuwe klassen waarvoor geen trainingsvoorbeelden beschikbaar zijn.
Een voorbeeld uit de echte wereld
Voorstel we hebben een machine-learning model getraind op een dataset van afbeeldingen van bekende dieren, zoals honden, katten en olifanten. We hebben echter ook een reeks ongeziene klassen, zoals giraffen en zebra's, waarvoor we geen trainingsvoorbeelden hebben.
Om zero-shot learning toe te passen, kunnen we extra informatie gebruiken, zoals attributen of beschrijvingen van de dieren. Laten we aannemen dat we weten dat giraffen lange halzen hebben en dat zebra's een gestreepte vacht hebben.
Tijdens het trainingsproces leert het model de patronen en kenmerken van de bekende dierenklassen, zoals honden, katten en olifanten. Het model leert ook de relatie tussen de visuele kenmerken en de beschikbare attributen van deze klassen.
Wanneer we het getrainde model toepassen op een nieuwe afbeelding van een giraffe, waarvoor het model geen trainingsvoorbeelden heeft gezien, kan het het kenmerk van een "lange nek" herkennen. Met behulp van dit kenmerk kan het model redeneren dat de afbeelding waarschijnlijk een giraffe voorstelt, zelfs zonder specifieke trainingsgegevens van giraffen.
Op dezelfde manier kan het model voor een nieuwe afbeelding van een zebra, waarvoor het model ook geen trainingsvoorbeelden heeft, de gestreepte vacht identificeren als een belangrijk kenmerk van een zebra. Hierdoor kan het model redelijkerwijs aangeven dat de afbeelding een zebra weergeeft.
Dit is een vereenvoudigd voorbeeld om de basisprincipes van zero-shot learning uit te leggen in de context van het classificeren van afbeeldingen van dieren. In de praktijk kunnen complexere modellen en attributen worden gebruikt om zero-shot learning toe te passen in verschillende domeinen en classificatietaken.
Hoe leert ZSL de "onbekende" naam?
Het model haalt de naam van de ongeleerde klasse niet rechtstreeks uit de trainingsgegevens of -attributen. In plaats daarvan wordt het ZSL-model gewoonlijk voorzien van een aparte dataset met koppelingsinformatie tussen de kenmerken of eigenschappen en hun geassocieerde klassen. Deze informatie wordt vaak een seen-unseen class mappingof ontologiegenoemd.
Online- of batchleren
In de context van AI en machinaal leren verwijzen online leren en batch leren naar twee verschillende benaderingen voor het trainen van modellen.
-
Online-leren:Online-leren, ook bekend als incrementeel leren of streaming learning, verwijst naar een leerparadigma waarbij het model geleidelijk wordt getraind op nieuwe voorbeelden wanneer deze binnenkomen. Het model wordt bijgewerkt en aangepast na elk nieuw gegeven. Met andere woorden, het leert continu terwijl het nieuwe gegevens observeert. Online leren is nuttig in situaties waar de gegevensstroom constant is en er geen mogelijkheid is om alle trainingsgegevens in één keer te verwerken. Het maakt adaptieve en real-time updates van het model mogelijk, waardoor het kan reageren op veranderingen en evoluties in de gegevens.
- Batch learning:Batch learning is een leermodel waarbij het model wordt getraind op een verzameling trainingsvoorbeelden, ook wel een batch genoemd. Bij batch-leren worden de trainingsvoorbeelden als geheel verwerkt en wordt het model bijgewerkt na verwerking van de hele batch. Met andere woorden, het model wordt niet direct bijgewerkt na elke afzonderlijke gegevensinstantie, maar na het verwerken van een groep voorbeelden. Batch learning wordt vaak gebruikt als er voldoende gegevens beschikbaar zijn en het haalbaar is om ze in hun geheel te verwerken. Het kan efficiënter zijn in termen van berekeningen, omdat het model wordt bijgewerkt na elke batch in plaats van na elke afzonderlijke instantie.
Verschillen
Het belangrijkste verschil tussen online leren en batch-leren ligt in de manier waarop het model tijdens het trainingsproces wordt bijgewerkt. Online leren werkt incrementeel en past het model aan na elke nieuwe instantie, terwijl batch learning werkt met batches van gegevens en het model bijwerkt na elke batchverwerking.
Beide benaderingen hebben hun eigen toepassingsgebieden en kunnen in verschillende AI-scenario's worden gebruikt, afhankelijk van de aard van de gegevens, de beschikbaarheid van gegevens en de vereisten van het probleem dat wordt opgelost.
ZSL en online of batch leren
Zero-shot learning (ZSL) kan worden toegepast in combinatie met online of batch learning, afhankelijk van de specifieke implementatie en het gebruikte leerparadigma.
Bij online leren wordt het model getraind op nieuwe voorbeelden wanneer ze binnenkomen, één voorbeeld per keer. Bij online ZSL kan het model geleidelijk leren van nieuwe voorbeelden, inclusief voorbeelden van ongeziene klassen. Het kan de beschikbare attributen of kenmerken gebruiken om associaties te vormen tussen de bekende en ongeziene klassen en geleidelijk het vermogen ontwikkelen om voorspellingen te doen voor de ongeziene klassen.
Bij batch-leren worden de trainingsvoorbeelden verwerkt in batches, waarbij het model wordt bijgewerkt na het verwerken van elke batch. Met behulp van batch learning kunnen ZSL-modellen worden getraind op een verzameling voorbeelden, waaronder voorbeelden van bekende en ongeziene klassen. Het model kan de kenmerken en eigenschappen van de bekende klassen gebruiken om de associaties te leren en kan dan deze associaties toepassen op de ongeziene klassen om voorspellingen te doen.
Of er nu online of in een batch wordt geleerd, het succes van ZSL hangt af van de beschikbaarheid van relevante attribuut- of kenmerkinformatie en het vermogen van het model om deze informatie te generaliseren en associaties te vormen tussen bekende en ongeziene klassen.
Het is belangrijk op te merken dat het specifieke trainingsproces en de implementatie van ZSL kan variëren afhankelijk van de onderliggende algoritmen en benaderingen die worden gebruikt. Verschillende ZSL-methoden kunnen verschillende vereisten hebben en kunnen gericht zijn op specifieke leerparadigma's, zoals online, batch of andere vormen van leren.