Zero-shot learning lost verschillende problemen op het gebied van machinaal leren op, maar hoe werkt het en hoe maakt het AI beter?
Belangrijkste leerpunten
- Generalisatie is essentieel bij deep learning om nauwkeurige voorspellingen op basis van nieuwe gegevens te garanderen. Zero-shot learning helpt dit te bereiken door AI in staat te stellen bestaande kennis te gebruiken om nauwkeurige voorspellingen te doen over nieuwe of onzichtbare klassen zonder gelabelde gegevens.
- Zero-shot learning bootst na hoe mensen gegevens leren en verwerken. Door aanvullende semantische informatie te verstrekken, kan een vooraf getraind model nauwkeurig nieuwe klassen identificeren, net zoals een mens een holle gitaar kan leren identificeren door de kenmerken ervan te begrijpen.
- Zero-shot learning verbetert AI door de generalisatie en schaalbaarheid te verbeteren, overfitting te verminderen en kosteneffectief te zijn. Het maakt het mogelijk modellen te trainen op grotere datasets, meer kennis op te doen door middel van transfer learning, een beter contextueel begrip te krijgen en de behoefte aan uitgebreide gelabelde data te verminderen. Naarmate AI zich verder ontwikkelt, zal zero-shot learning nog belangrijker worden bij het aanpakken van complexe uitdagingen op verschillende gebieden.
Een van de grootste doelen van deep learning is het trainen van modellen die algemene kennis hebben verworven. Generalisatie is essentieel omdat het ervoor zorgt dat het model betekenisvolle patronen heeft geleerd en nauwkeurige voorspellingen of beslissingen kan maken wanneer het wordt geconfronteerd met nieuwe of onzichtbare gegevens. Voor het trainen van dergelijke modellen is vaak een aanzienlijke hoeveelheid gelabelde gegevens vereist. Dergelijke gegevens kunnen echter kostbaar, arbeidsintensief en soms onmogelijk zijn.
Zero-shot learning wordt geïmplementeerd om deze kloof te overbruggen, waardoor AI zijn bestaande kennis kan gebruiken om redelijk nauwkeurige voorspellingen te doen, ondanks het gebrek aan gelabelde gegevens.
Wat is Zero-Shot-leren?
Zero-shot learning is een specifiek type transferleertechniek. Het richt zich op het gebruik van een vooraf getraind model om nieuwe of nog nooit eerder vertoonde klassen te identificeren, simpelweg door extra informatie te verstrekken die de bijzonderheden van de nieuwe klasse beschrijft.
Door gebruik te maken van de algemene kennis van een model over bepaalde onderwerpen en het extra semantiek te geven over waar het op moet letten, zou het in staat moeten zijn vrij nauwkeurig vast te stellen welk onderwerp het moet identificeren.
Laten we zeggen dat we een zebra moeten identificeren. We hebben echter geen model dat dergelijke dieren kan identificeren. We krijgen dus een reeds bestaand model dat is getraind om paarden te identificeren en het model te vertellen dat paarden met zwart-witte strepen zebra's zijn. Wanneer we het model gaan afleiden door afbeeldingen van zebra's en paarden te leveren, is de kans groot dat het model elk dier correct identificeert.
Zoals veel deep learning-technieken bootst zero-shot learning na hoe mensen gegevens leren en verwerken. Het is bekend dat mensen van nature zero-shot-leerlingen zijn. Als je in een muziekwinkel de opdracht krijgt om een holle gitaar te vinden, kun je problemen ondervinden bij het zoeken ernaar. Maar als ik je eenmaal vertel dat een holle body eigenlijk een gitaar is met een F-vormig gat aan één of beide zijden, zul je er waarschijnlijk meteen een vinden.
Laten we voor een voorbeeld uit de praktijk de zero-shot classificatie-app gebruiken open source LLM-hostingsite Hugging Face met behulp van het clip-vit-large-model.
Deze foto toont een afbeelding van brood in een boodschappentas, vastgebonden op een kinderstoel. Omdat het model is getraind op een grote dataset met afbeeldingen, kan het model waarschijnlijk elk item op de foto identificeren, zoals brood, boodschappen, stoelen en veiligheidsgordels.
Nu willen we dat het model de afbeelding classificeert met behulp van voorheen onzichtbare klassen. In dit geval zouden de nieuwe of onzichtbare klassen 'Ontspannen brood', 'Veilig brood', 'Zittend brood', 'Kruidenierswinkel rijden' en 'Veilige boodschappen doen' zijn.
Houd er rekening mee dat we met opzet ongebruikelijke, onzichtbare klassen en afbeeldingen hebben gebruikt om de effectiviteit van zero-shot-classificatie op een afbeelding aan te tonen.
Na het model te hebben afgeleid, kon het met ongeveer 80% zekerheid classificeren dat de meest geschikte classificatie voor de afbeelding was 'Veilig brood'. Dit komt waarschijnlijk omdat het model denkt dat een kinderstoel meer voor de veiligheid is dan voor zitten, ontspannen of het rijden.
Geweldig! Persoonlijk zou ik het eens zijn met de output van het model. Maar hoe kwam het model precies tot deze output? Hier volgt een algemene kijk op hoe zero-shot learning werkt.
Hoe Zero-Shot-leren werkt
Zero-shot learning kan een vooraf getraind model helpen nieuwe klassen te identificeren zonder gelabelde gegevens te verstrekken. In de eenvoudigste vorm gebeurt zero-shot learning in drie stappen:
1. Voorbereiding
Zero-shot-leren begint met het voorbereiden van drie soorten gegevens
- Gezien klasse: Gegevens die worden gebruikt bij het trainen van het vooraf getrainde model. Het model biedt al geziene klassen. De beste modellen voor zero-shot learning zijn modellen die zijn getraind op klassen die nauw verwant zijn aan de nieuwe klasse die u door het model wilt identificeren.
- Ongeziene/nieuwe klasse: Gegevens die nooit zijn gebruikt tijdens de training van het model. U zult deze gegevens zelf moeten beheren, aangezien u deze niet uit het model kunt halen.
- Semantische/hulpgegevens: Extra stukjes gegevens die het model kunnen helpen de nieuwe klasse te identificeren. Dit kan in woorden, zinsdelen, woordinsluitingen of klassenamen zijn.
2. Semantische mapping
De volgende stap is het in kaart brengen van de kenmerken van de onzichtbare klasse. Dit wordt gedaan door woordinbedding te creëren en een semantische kaart te maken die de attributen of kenmerken van de onzichtbare klasse koppelt aan de verstrekte aanvullende gegevens. AI-overdracht leren maakt het proces veel sneller, omdat veel attributen met betrekking tot de onzichtbare klasse al in kaart zijn gebracht.
3. Inferentie
Inferencing is het gebruik van het model om voorspellingen of output te genereren. Bij zero-shot-beeldclassificatie worden woordinsluitingen gegenereerd op de gegeven beeldinvoer en vervolgens geplot en vergeleken met de hulpgegevens. De mate van zekerheid zal afhangen van de gelijkenis tussen de ingevoerde gegevens en de verstrekte aanvullende gegevens.
Hoe Zero-Shot Learning AI verbetert
Zero-shot learning verbetert AI-modellen door verschillende uitdagingen op het gebied van machinaal leren aan te pakken, waaronder:
- Verbeterde generalisatie: Door de afhankelijkheid van gelabelde gegevens te verminderen, kunnen modellen worden getraind in grotere datasets, waardoor de generalisatie wordt verbeterd en het model robuuster en betrouwbaarder wordt. Naarmate modellen meer ervaren en gegeneraliseerd worden, het kan zelfs mogelijk zijn dat modellen gezond verstand leren in plaats van de typische manier om informatie te analyseren.
- Schaalbaarheid: Modellen kunnen voortdurend worden getraind en meer kennis opdoen door middel van transferleren. Bedrijven en onafhankelijke onderzoekers kunnen hun modellen voortdurend verbeteren om in de toekomst beter in staat te zijn.
- Verminderde kans op overfitting: Overfitting kan plaatsvinden doordat het model wordt getraind op een kleine dataset die niet voldoende variatie bevat om alle mogelijke inputs weer te geven. Het trainen van het model door middel van zero-shot learning verkleint de kans op overfitting door het model te trainen om een beter contextueel begrip van onderwerpen te krijgen.
- Kostenefficiënt: Het leveren van een grote hoeveelheid gelabelde gegevens kan tijd en middelen vergen. Met behulp van zero-shot transfer learning kan het trainen van een robuust model worden gedaan met veel minder tijd en gelabelde gegevens.
Naarmate AI vordert, zullen technieken als zero-shot learning nog belangrijker worden.
De toekomst van Zero-Shot-leren
Zero-shot learning is een essentieel onderdeel geworden van machine learning. Het stelt modellen in staat nieuwe klassen te herkennen en te classificeren zonder expliciete training. Met voortdurende vooruitgang in modelarchitecturen, op attributen gebaseerde benaderingen en multimodale integratie kan zero-shot learning mogelijk zijn kunnen er aanzienlijk toe bijdragen dat modellen veel beter aanpasbaar zijn bij het aanpakken van complexe uitdagingen op het gebied van robotica, gezondheidszorg en computers visie.