AI 101
Hva er Few-Shot Learning?

Few-shot learning refererer til en rekke algoritmer og tekniker som brukes til å utvikle en AI-modell med en svært liten mengde treningdata. Few-shot learning forsøker å la en AI-modell gjenkjenne og klassifisere nye data etter å ha vært utsatt for sammenlignbart få treningseksemplarer. Few-shot-trening står i kontrast til tradisjonelle metoder for å trene maskinlæringsmodeller, der en stor mengde treningdata vanligvis brukes. Few-shot learning brukes hovedsakelig i datavisjon.
For å utvikle en bedre forståelse for few-shot learning, la oss undersøke konseptet nærmere. Vi skal undersøke motivasjonen og konseptene bak few-shot learning, utforske noen ulike typer few-shot learning og dekke noen modeller som brukes i few-shot learning på et høyt nivå. Til slutt skal vi undersøke noen applikasjoner for few-shot learning.
Hva er Few-Shot Learning?
“Few-shot learning” beskriver praksisen med å trene en maskinlæringsmodell med en minimal mengde data. Vanligvis trenes maskinlæringsmodeller på store mengder data, jo større jo bedre. Men few-shot learning er et viktig maskinlæringskonsept av flere grunner.
En grunn til å bruke few-shot learning er at det kan dramatisk kutte ned mengden data som trengs for å trene en maskinlæringsmodell, som kuttes ned tiden som trengs for å merke store datamengder. Liksom few-shot learning reduserer behovet for å legge til spesifikke funksjoner for ulike oppgaver når man bruker en felles datamengde for å opprette ulike eksemplarer. Few-shot learning kan ideelt gjøre modellene mer robuste og i stand til å gjenkjenne objekter basert på mindre data, og skape mer generelle modeller i motsetning til de høyt spesialiserte modellene som er normen.
Few-shot learning brukes mest i datavisjonsfeltet, da naturen til datavisjonsproblemer nødvendiggjør enten store mengder data eller en fleksibel modell.
Underkategorier
Uttrykket “few-shot” learning er faktisk bare en type læring som bruker svært få treningseksemplarer. Siden du bare bruker “få” treningseksemplarer, finnes det underkategorier av few-shot learning som også involverer trening med en minimal mengde data. “One-shot” learning er en annen type modelltrening som innebærer å lære en modell å gjenkjenne et objekt etter å ha sett bare ett bilde av det objektet. De generelle taktikkene som brukes i one-shot learning og few-shot learning er de samme. Vær oppmerksom på at uttrykket “few-shot” learning kan brukes som en paraplybetegnelse for å beskrive enhver situasjon der en modell trenes med svært lite data.
Tilnærminger til Few-Shot Learning
De fleste tilnærminger til few-shot learning kan passe inn i en av tre kategorier: data-nivåtilnærminger, parameter-nivåtilnærminger og metrikkbaserte tilnærminger.
Data-nivåtilnærminger
Data-nivåtilnærminger til few-shot learning er svært enkle i konsept. For å trene en modell når du ikke har nok treningdata, kan du bare skaffe mer treningdata. Det finnes ulike tekniker en dataforsker kan bruke til å øke mengden treningdata han eller hun har.
Lignende treningdata kan støtte opp den eksakte måldata du trenes en klassifikator på. For eksempel, hvis du trenes en klassifikator for å gjenkjenne bestemte typer hunder, men mangler mange bilder av den spesifikke arten du forsøker å klassifisere, kan du inkludere mange bilder av hunder som ville hjelpe klassifikatoren å bestemme de generelle funksjonene som utgjør en hund.
Dataforbedring kan skape mer treningdata for en klassifikator. Dette innebærer vanligvis å anvende transformasjoner på eksisterende treningdata, som å rotere eksisterende bilder så klassifikatoren undersøker bildene fra ulike vinkler. GAN kan også brukes til å generere nye treningseksemplarer basert på hva de lærer fra de få ekte eksemplene av treningdata du har.
Parameter-nivåtilnærminger
Meta-læring
En parameter-nivåtilnærming til few-shot learning innebærer bruken av en teknikk kalt “meta-læring”. Meta-læring innebærer å lære en modell hvordan den skal lære hvilke funksjoner som er viktige i en maskinlæringsoppgave. Dette kan oppnås ved å skape en metode for å regulere hvordan parameterrommet til en modell utforskes.
Meta-læring bruker to ulike modeller: en lærermodell og en elevmodell. Lærermodellen lærer hvordan den skal innkapsle parameterrommet, mens elevalgoritmen lærer hvordan den skal gjenkjenne og klassifisere de faktiske elementene i datamengden. For å si det på en annen måte, lærermodellen lærer hvordan den skal optimalisere en modell, mens elevmodellen lærer hvordan den skal klassifisere. Lærermodellens utdata brukes til å trene elevmodellen, og viser elevmodellen hvordan den skal forhandle det store parameterrommet som resulterer fra for lite treningdata. Derfor “meta” i meta-læring.
Et av de største problemene med few-shot learning-modeller er at de lett kan overfittes på treningdata, da de ofte har høydimensjonale rom. Å begrense parameterrommet til en modell løser dette problemet, og mens det kan oppnås ved å anvende regulariseringsteknikker og velge riktige tap-funksjoner, kan bruken av en læreralgoritme dramatisk forbedre ytelsen til en few-shot-modell.
En few-shot learning-klassifikatormodell (elevmodellen) vil forsøke å generalisere basert på den lille mengden treningdata den er gitt, og dens nøyaktighet kan forbedres med en lærermodell som dirigerer den gjennom det høydimensjonale parameterrommet. Denne generelle arkitekturen kalles en “gradient-basert” meta-lærer.
Den fullstendige prosessen for å trene en gradient-basert meta-lærer er som følger:
- Opprett base-lærermodellen (lærermodellen)
- Tren base-lærermodellen på støtte-mengden
- La base-lærermodellen returnere prediksjoner for spørrings-mengden
- Tren meta-læreren (elevmodellen) på tapet som er avledet fra klassifiseringsfeilen
Variasjoner på Meta-læring
Model-Agnostic Meta-læring er en metode som brukes til å supplere den grunnleggende gradient-baserte meta-læringsteknikken vi dekket ovenfor.
Som vi dekket ovenfor, bruker en gradient-basert meta-lærer den forrige erfaringen som er tilegnet av en lærermodell til å finjustere seg selv og levere mer nøyaktige prediksjoner for en liten mengde treningdata. Men å starte med tilfeldig initialiserte parametre betyr at modellen fortsatt kan potensielt overfittes på dataene. For å unngå dette, opprettes en “Model-agnostisk” meta-lærer ved å begrense innflytelsen av lærermodellen/base-modellen. I stedet for å trene elevmodellen direkte på tapet for prediksjonene som er gjort av lærermodellen, trenes elevmodellen på tapet for sine egne prediksjoner.
For hvert episode av trening av en model-agnostisk meta-lærer:
- En kopi av den nåværende meta-lærermodellen opprettes.
- Kopien trenes med assistanse fra base-modellen/lærermodellen.
- Kopien returnerer prediksjoner for treningdataene.
- Beregnet tap brukes til å oppdatere meta-læreren.
Metrikk-læring
Metrikk-læringstilnærminger til å designe en few-shot learning-modell involverer vanligvis bruken av grunnleggende avstandsmetrikker for å gjøre sammenligninger mellom eksemplarer i en datamengde. Metrikk-læringsalgoritmer som kosinusavstand brukes til å klassifisere spørrings-eksemplarer basert på deres likhet med støtte-eksemplarene. For en bilde-klassifikator ville dette bety å klassifisere bilder basert på overflatisk likhet. Etter at en støtte-mengde av bilder er valgt og transformert til en innlejring-vektor, gjøres det samme med spørrings-mengden, og deretter sammenlignes verdiene for de to vektorene, og klassifikatoren velger klassen som har de nærmeste verdiene til vektoriserte spørrings-mengden.
En mer avansert metrikkbasert løsning er “prototypisk nettverk”. Prototypiske nettverk grupperer datapunkter sammen ved å kombinere klastermodeller med den metrikkbaserte klassifiseringen som er beskrevet ovenfor. Liksom i K-means-klustering beregnes sentrum for klaster for klassene i støtte- og spørrings-mengdene. En euklidisk avstandsmetrikk brukes deretter til å bestemme forskjellen mellom spørrings-mengdene og sentrum av støtte-mengden, og spørrings-mengden tildeles til hvilken som helst støtte-klasser som er nærmere.
De fleste andre few-shot learning-tilnærminger er bare variasjoner på de grunnleggende teknikkene som er dekket ovenfor.
Aplikasjoner for Few-Shot Learning
Few-shot learning har applikasjoner i mange ulike underfelt av datavitenskap, som datavisjon, naturlig språkbehandling, robotikk, helse og signalbehandling.
Aplikasjoner for few-shot learning i datavisjonsrommet inkluderer effektiv tegngjenkjenning, bilde-klassifisering, objektgjenkjenning, objektsporing, bevegelsesprediksjon og handling-lokaliserings-applikasjoner. Naturlig språkbehandling-applikasjoner for few-shot learning inkluderer oversettelse, setningsfullføring, bruker-avvik-klassifisering, mening-analyse og fler-etikett-tekst-klassifisering. Few-shot learning kan brukes i robotikkfeltet til å hjelpe roboter å lære om oppgaver fra bare noen demonstrasjoner, og la roboter lære hvordan de skal utføre handlinger, flytte seg og navigere i verden rundt dem. Few-shot legemiddelforskning er et fremvoksende område for AI-helse. Til slutt har few-shot learning applikasjoner for akustisk signalbehandling, som er prosessen med å analysere lyddata, og lar AI-systemer klone stemmer basert på bare noen bruker-eksemplarer eller stemmeomforming fra en bruker til en annen.












