Zephyrnet-logo

Classificatie zonder trainingsgegevens: zero-shot leerbenadering

Datum:


Introductie

Computervisie is een gebied van AI dat zich bezighoudt met het afleiden van betekenisvolle informatie uit afbeeldingen. Sinds 2012 na cofor opleiding.

Neem een ​​voorbeeld van de taak om een ​​afbeelding te classificeren als een auto of een vrachtwagen. We moeten veel afbeeldingen van beide klassen laten zien, dwz auto's en vrachtwagens en dan hopen we dat het model patronen leert onderscheiden. Maar tegenwoordig duiken er veel beelden op van futuristisch ogende conceptcars. Als we niet veel afbeeldingen van dergelijke auto's in onze trainingsgegevens hebben, gelabeld als 'conceptauto's', kan ons model ze mogelijk niet onderscheiden van gewone auto's tijdens gevolgtrekking. Dit probleem is veel ernstiger in het medische domein, waar het verzamelen van gouden standaardgegevens voor training een uitdaging is. En een model voor algemeen gebruik dat is getraind op de imagenet-dataset is volkomen nutteloos in het medische domein.

zero-shot leren
https://www.scienceabc.com/nature/animals/we-domesticated-horses-why-not-zebras.html

Laten we eens kijken hoe een mens het zou kunnen doen. Stel dat iemand weet hoe een paard eruitziet. En geef die persoon de info dat 'Een zebra een paard is met een zwart-wit gestreepte huid'. Dan is de kans groot dat een persoon een zebra kan identificeren, ook al had die persoon van tevoren geen idee wat een zebra is. Zero-shot learning is een benadering in machine learning die hier inspiratie uit haalt.

zero-shot leren
                                                                                     Bron: auteur

In een zero-shot learning-benadering hebben we gegevens op de volgende manier:

  • Gezien lessen: Klassen met labels beschikbaar voor training.
  • Ongeziene klassen: Klassen die alleen voorkomen in de testset of tijdens gevolgtrekking. Niet aanwezig tijdens training.
  • Hulp informatie: Informatie over zowel zichtbare als onzichtbare klassenlabels tijdens de trainingstijd.

Soorten Zero-Shot Learning

Op basis van de gegevens die beschikbaar zijn tijdens inferentie kan zero-shot learning in twee soorten worden ingedeeld:

  • Conventioneel zero-shot leren: Als we tijdens de testtijd alleen afbeeldingen verwachten van onzichtbare klassen.
  • Gegeneraliseerde zero-shot learning: Indien tijdens de testfase beelden van zowel de zichtbare als de onzichtbare klas aanwezig kunnen zijn. Voor de meeste praktische toepassingen zullen we deze modus van zero-shot learning gebruiken.

Aanpak 1

Hier is het idee om het invoerbeeld weer te geven in dezelfde vectorruimte als de hulpinformatie. Om de verborgen representaties te leren, wordt een encoder gebruikt die probeert een gegeven afbeelding toe te wijzen aan zijn hulpinformatie. De hulpinformatie wordt gebruikt als gouden gegevens waarmee onze encoder leert.

Aanpak 1

Bron: auteur

De attribuutvector die hierboven wordt getoond, is alleen bedoeld voor begripsdoeleinden. Tegenwoordig kunnen we met de komst van op transformatoren gebaseerde modellen veel geavanceerde vectoren voor het insluiten van woorden genereren.

Dat is de trainingsfase. In de testfase zullen we de getrainde encoder gebruiken en wanneer er een afbeelding komt, zullen we deze door de encoder sturen om een ​​uitvoervector te genereren. Dan kunnen we de hulpvector vinden die het meest lijkt op onze uitvoer. Dat zal onze voorspelling zijn.

nul-schot
                                                                              Bron: auteur

Hoewel deze benadering in theorie mooi lijkt, heeft hij veel inherente problemen. Aangezien de encoder zal worden getraind op zichtbare klassenafbeeldingen, bestaat de kans dat hij niet in staat is om de kloof te overbruggen en te generaliseren voor de onzichtbare klassen. Het kan bevooroordeeld zijn in de richting van geziene klasse.

Een ander probleem is semantisch verlies. Als het model voornamelijk op vierbenige dieren wordt getraind, kan het kenmerk aantal poten nutteloos worden. Maar tijdens het testen of een dier met twee poten komt, omdat het model ervoor heeft gekozen om het aantal poten irrelevant te maken, kan het tijdens de testfase mogelijk niet goed worden geclassificeerd.

Aanpak 2

Dit is een andere benadering die een aantal problemen van de vorige benadering aanpakt.

Een groot probleem van deze aanpak is dat er geen onzichtbare klassenafbeeldingen waren tijdens het trainen van de encoder. Hier zullen we een generatief netwerk gebruiken om onzichtbare klasafbeeldingen voor training te genereren met behulp van de aanvullende informatie.Aanpak 2

Om een ​​zero-shot herkenningsmodel te evalueren, wordt over het algemeen de top-1 nauwkeurigheidsmetriek gebruikt. Deze statistiek is vergelijkbaar met nauwkeurigheid, maar voor zero-shot nemen we de gemiddelde nauwkeurigheid van zowel de zichtbare als de onzichtbare klassen. We willen dat hun nauwkeurigheid hoog is, daarom wordt het harmonisch gemiddelde van de nauwkeurigheid van beide klassen als metriek geselecteerd. De waarde die we als harmonisch gemiddelde krijgen, ligt dicht bij het minimum van bo

Nauwkeurigheid
Bron: auteur
gemiddelde

Code

Om de werking van zero-shot learning te begrijpen, kunnen we de hugging face-bibliotheek gebruiken. We hebben een vooraf gedefinieerde zero-shot classificatiepijplijn waar we 'zero-shot-classificatie' kunnen doorgeven om de pijplijn te initialiseren.

zero-shot-code

Zodra de pijplijn is geïnitialiseerd, kunnen we de tekstreeks en mogelijke kandidaatlabels doorgeven om te classificeren.

zero-shot-code

Zoals je kan zien 'gymnastiekzaal' heeft de hoogste score.

We hebben gezien hoe de zero-shot learning-aanpak de afhankelijkheid van trainingsgegevens vermindert. Dit kan worden gezien als een benadering van transfer learning, waarbij we proberen informatie van doelklassen over te dragen.

Lees meer artikelen over Machine Learning op onze blog.

Referenties

Over de auteur

Neem gerust contact met mij op:

Als er vragen zijn, stel ze dan gerust in de comments.

Een mooie dag verder!

De in dit artikel getoonde media zijn geen eigendom van Analytics Vidhya en worden naar goeddunken van de auteur gebruikt.

spot_img

Laatste intelligentie

spot_img