Few-shot en Zero-shot
Leren met weinig voorbeelden (Few-shot Learning, FSL) en leren zonder voorbeelden (Zero-shot Learning, ZSL) zijn paradigma's van machine learning die gericht zijn op het oplossen van het probleem van een tekort aan gelabelde gegevens. Ze stellen modellen in staat te leren en kennis te generaliseren op basis van een zeer beperkte hoeveelheid informatie, wat essentieel is voor de toepassing van kunstmatige intelligentie in realistische scenario's waarin het verzamelen van grote datasets onmogelijk of onpraktisch is.
Het alomtegenwoordige probleem van dataschaarsheid
Moderne deep learning-modellen laten indrukwekkende resultaten zien, maar hun effectiviteit hangt doorgaans rechtstreeks af van enorme hoeveelheden gelabelde gegevens. Het verzamelen en annoteren van dergelijke gegevens is een kostbaar, arbeidsintensief en vaak onmogelijk proces. Dit probleem, bekend als "informatiehonger", is bijzonder nijpend op gebieden zoals:
- Diagnostiek van zeldzame ziekten.
- Gespecialiseerde industriële productie.
- Robotica en interactie met nieuwe objecten.
- Categorisering van voortdurend verschijnende nieuwe producten of onderwerpen.
FSL en ZSL bieden een oplossing door de nadruk te verschuiven van "big data" naar "slimme data", met de focus op efficiënte kennisoverdracht en generalisatie.
Leren met weinig voorbeelden (Few-shot Learning)
Few-shot Learning (FSL) is een paradigma waarbij een model leert nieuwe klassen te herkennen op basis van een zeer klein aantal gelabelde voorbeelden (doorgaans 1 tot 5), die de support set worden genoemd.
Kernidee
Het basisidee van FSL is niet alleen het leren van kenmerken voor specifieke klassen, maar het leren van het leerproces zelf (learning to learn). Het model moet snel kunnen adapteren aan nieuwe, voorheen onbekende taken met een minimaal aantal voorbeelden. Dit wordt bereikt door gebruik te maken van vooraf verworven kennis en adaptatiestrategieën.
Belangrijkste benaderingen in FSL
- Meta-learning ("leren te leren"): Dit is het dominante paradigma in FSL. Het model wordt getraind op een veelvoud aan uiteenlopende taken, zodat het leert efficiënt te adapteren aan nieuwe taken.
- Op basis van metrieken: Modellen (zoals Siamese of prototypische netwerken) leren een embedding-ruimte op te bouwen waarin de afstand tussen vectoren de semantische verwantschap weerspiegelt. De classificatie van een nieuw voorbeeld vindt plaats door zijn embedding te vergelijken met de embeddings uit de support set.
- Op basis van optimalisatie: Modellen (zoals MAML) leren een parameterinitialisatie te vinden waarmee snel (in enkele stappen van gradient descent) kan worden bijgeleerd voor een nieuwe taak.
- In-Context Learning: Met de opkomst van grote taalmodellen (LLM) is een benadering populair geworden waarbij voorbeelden uit de support set direct in de prompt aan het model worden aangeboden. Het model voert "impliciete meta-learning" uit tijdens inference, waarbij het zich aan de taak aanpast zonder de gewichten bij te werken.
Uitgebreide benaderingen in FSL
- One-shot Learning: Dit is een bijzonder geval van FSL waarbij het aantal voorbeelden per klasse gelijk is aan één (K=1 in de notatie "N-way K-shot"). Klassieke voorbeelden van architecturen zijn Matching Networks en Siamese Networks.
- Generatieve methoden en data-augmentatie: FSL maakt actief gebruik van generatieve modellen (GAN, VAE, diffusiemodellen) voor de synthese van aanvullende gegevensvoorbeelden. Dit maakt het mogelijk de support set kunstmatig uit te breiden en de classificatiekwaliteit te verbeteren, met name voor zeldzame of ongewone klassen.
- Transdutief FSL: In tegenstelling tot de standaard (inductieve) aanpak houdt het model bij de adaptatie hier niet alleen rekening met de gelabelde support set, maar ook met de volledige verzameling ongelabelde testvoorbeelden (queries). Dit maakt het mogelijk de structuur van de gegevens in de queries op te vangen, bijvoorbeeld via label propagation-technieken, en de robuustheid van de classificatie te verbeteren.
Leren zonder voorbeelden (Zero-shot Learning)
Zero-shot Learning (ZSL) is een paradigma waarbij een model klassen kan herkennen waarvan het tijdens de trainingsfase geen enkel voorbeeld heeft gezien.
Kernidee
Dit wordt bereikt door gebruik te maken van aanvullende semantische informatie die zowel geziene als ongeziene klassen beschrijft. Het model leert een afbeelding van de ruimte van invoerkenmerken (bijvoorbeeld afbeeldingen) naar een gemeenschappelijke semantische ruimte.
Mechanismen voor semantische informatie
- Semantische attributen: Klassen worden beschreven door een reeks door mensen gedefinieerde attributen (bijvoorbeeld voor de klasse "zebra": [heeft_strepen, heeft_hoeven, is_zoogdier]).
- Woordvectorrepresentaties (Word Embeddings): Klassenamen of tekstbeschrijvingen ervan worden omgezet in embeddings met behulp van vooraf getrainde taalmodellen (zoals Word2Vec, BERT).
- Prompting in LLM: Met de opkomst van multimodale modellen zoals CLIP kan ZSL worden uitgevoerd door de embedding van een afbeelding te vergelijken met embeddings van tekstbeschrijvingen van klassen (bijvoorbeeld "een foto van een hond", "een foto van een kat").
Typen ZSL: Traditioneel, Gegeneraliseerd, Inductief en Transdutief
- Traditioneel ZSL: Tijdens de testfase moet het model voorbeelden classificeren die uitsluitend tot ongeziene klassen behoren.
- Gegeneraliseerd ZSL (Generalized ZSL, GZSL): Een realistischer en complexer scenario waarbij het model voorbeelden moet classificeren uit zowel geziene als ongeziene klassen. Dit vereist dat het model niet alleen het nieuwe herkent, maar het ook onderscheidt van het reeds bekende, waarbij de neiging naar geziene klassen bestreden moet worden.
- Inductief ZSL: De standaardformulering waarbij het model alleen wordt getraind op gegevens en semantische beschrijvingen van geziene klassen, zonder enige toegang tot informatie over ongeziene klassen.
- Transdutief ZSL: Een meer geavanceerd schema waarbij het model tijdens de training gebruik kan maken van ongelabelde voorbeelden uit ongeziene klassen. Dit maakt het mogelijk de semantische ruimte vooraf aan te passen en de uiteindelijke kwaliteit te verbeteren.
Generatieve benaderingen in ZSL
- Generatie van kenmerken van ongeziene klassen: Om het probleem van de voorkeur in GZSL aan te pakken worden generatieve modellen (VAE, GAN) veel toegepast. Ze synthetiseren niet de afbeeldingen zelf, maar de bijbehorende kenmerkenvectoren (embeddings) van ongeziene klassen op basis van hun semantische beschrijvingen. Dit maakt het mogelijk de dataset voor het trainen van de uiteindelijke classifier te balanceren.
Vergelijkende analyse en synergie
| Aspect | Leren met weinig voorbeelden (FSL) | Leren zonder voorbeelden (ZSL) |
|---|---|---|
| Kernidee | Leren snel te adapteren aan nieuwe klassen op basis van enkele voorbeelden. | Leren nieuwe klassen te herkennen op basis van hun semantische beschrijvingen. |
| Gegevensvereisten voor nieuwe taak/klasse | Enkele gelabelde voorbeelden (1-5) per nieuwe klasse. | Nul gelabelde voorbeelden; een semantische beschrijving is vereist. |
| Kennisoverdracht | Leren van procedurele kennis ("hoe te adapteren") of een goede kenmerkenruimte. | Leren van semantische relaties en attributen, kennisoverdracht via een gemeenschappelijke semantische ruimte. |
| Typische gebruiksscenario's | Snelle prototypering, personalisatie, herkenning van zeldzame objecten, robotica. | Ontdekking van nieuwe soorten, categorisering van opkomende onderwerpen, verwerking van volledig nieuwe producttypen. |
Belangrijke nuances en actuele trends
- Onderscheid tussen Zero-shot Learning en Zero-shot Prompting: Het is belangrijk deze begrippen te onderscheiden. ZSL is een architecturaal paradigma van machine learning dat een gespecialiseerd model en semantische informatie vereist. Zero-shot Prompting is een toegepaste prompt engineering-techniek waarbij een groot taalmodel (zoals GPT-4) een taak zonder voorbeelden in de prompt oplost, uitsluitend steunend op zijn interne kennis.
- De rol van grootschalig vooraf trainen: Het huidige succes van FSL en ZSL is voor een groot deel te danken aan krachtige fundamentele modellen (BERT, CLIP, GPT-4). Hun voorafgaande training op enorme hoeveelheden gegevens creëert een universele en semantisch rijke embedding-frontend die een uitstekende basis vormt voor snelle adaptatie en semantische inferentie in omstandigheden van dataschaarsheid.
FSL en ZSL vertegenwoordigen verschillende punten op het spectrum van gegevensefficiëntie en worden vaak in combinatie gebruikt. ZSL kan bijvoorbeeld worden gebruikt voor de initialisatie van representaties, die vervolgens worden bijgeleerd met behulp van FSL wanneer de eerste voorbeelden van een nieuwe klasse beschikbaar komen.
Belangrijkste onderzoeksinstellingen en deelnemers
Onderzoek op het gebied van FSL en ZSL wordt actief uitgevoerd, zowel in academische kringen als in industriële laboratoria.
- Universiteiten: Stanford University, Peking University, National University of Singapore.
- Industriële laboratoria: Google AI, Meta AI, OpenAI.
Met de opkomst van krachtige fundamentele modellen is de onderzoeksfocus verschoven van de ontwikkeling van gespecialiseerde architecturen voor FSL/ZSL naar methoden voor efficiënte adaptatie van deze modellen.
Literatuur
- Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
- Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
- Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
- Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
- Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
- Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
- Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
- Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
- Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
- Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
- Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
- Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.
Zie ook
- Grote taalmodellen