Grunnleggende AI
Hva er Few-Shot Learning?
Few-shot learning refererer til en rekke algoritmer og tekniker som brukes til å utvikle en AI-modell med svært lite treningdata. Few-shot learning forsøker å la en AI-modell gjenkjenne og klassifisere ny data etter å ha blitt eksponert for komparativt få treningseksempler. Few-shot-trening skiller seg fra 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, skal vi undersøke konseptet nærmere. Vi skal undersøke motivene og konseptene bak few-shot learning, utforske noen forskjellige 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, hvilket kutte ned tiden som trengs for å merke store datasamlinger. Liksom few-shot learning reduserer behovet for å legge til spesifikke funksjoner for forskjellige oppgaver når man bruker en felles datasamling for å lage forskjellige eksempler. Few-shot learning kan idealisere modeller og gjøre dem mer robuste og i stand til å gjenkjenne objekter basert på mindre data, og skape mer generelle modeller i stedet for høyt spesialiserte modeller som er vanlig.
Few-shot learning brukes mest i datavisjonsfeltet, da datavisjonsproblemer nødvendigvis krever store mengder data eller en fleksibel modell.
Underkategorier
Uttrykket “few-shot” learning er faktisk bare en type læring som bruker svært få treningseksempler. Siden du bare bruker “få” treningseksempler, 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 klar over 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 deles inn i tre kategorier: data-nivåtilnærminger, parameter-nivåtilnærminger og metrik-baserte 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 få mer treningdata. Det finnes flere tekniker en dataekspert kan bruke for å øke mengden treningdata de 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 egenskapene 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 forskjellige vinkler. GANs kan også brukes til å generere nye treningseksempler 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 å bruke 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 forskjellige modeller: en lærermodell og en elevmodell. Lærermodellen lærer hvordan den skal inkapsle parameterrommet, mens elevalgoritmen lærer hvordan den skal gjenkjenne og klassifisere de faktiske elementene i datasamlingen. For å si det på en annen måte, lærermodellen lærer hvordan den skal optimere 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 overfitte på treningdata, da de ofte har høydimensjonale rom. Å begrense parameterrommet til en modell løser dette problemet, og selv om det kan oppnås ved å anvende regulariseringsteknikker og velge de riktige tap-funksjonene, kan bruk av en læreralgoritme dramatisk forbedre ytelsen til en few-shot-modell.
En few-shot learning-klassifikator (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 retter 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æreren (lærermodellen)
- Tren base-læreren på støttesettet
- La base-læreren returnere prediksjoner for spørsmålssettet
- Tren meta-læreren (elevmodellen) på tapet som er avledet fra klassifikasjonsfeilen
Variasjoner på Meta-læring
Model-agnostisk 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 en lærermodell for å 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 overfitte dataene. For å unngå dette, opprettes en “model-agnostisk” meta-lærer ved å begrense lærermodellens/lærermodellens innflytelse. 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 hver episode med å trene 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.
Metric-Læring
Metric-læringstilnærminger til å designe en few-shot learning-modell innebærer vanligvis bruk av grunnleggende avstandsmål for å gjøre sammenligninger mellom eksempler i en datasamling. Metric-læring-algoritmer som kosinusavstand brukes til å klassifisere spørsmåls-eksempler basert på deres likhet med støtte-eksemplene. For en bilde-klassifikator ville dette bety å klassifisere bilder basert på overflatisk likhet. Etter at et støttesett med bilder er valgt og transformert til en innlejring-vektor, gjøres det samme med spørsmålssettet, og verdiene for de to vektorene sammenlignes, og klassifikatoren velger klassen som har de nærmeste verdiene til vektorisert spørsmålssett.
En mer avansert metrikkbasert løsning er “prototypisk nettverk”. Prototypiske nettverk grupperer datapunkter sammen ved å kombinere klastermodeller med den metrikkbaserte klassifikasjonen ovenfor. Liksom i K-means-klustering beregnes sentrum for klaster for klassene i støtte- og spørsmålssettet. En euklidisk avstandsmåling brukes deretter for å bestemme forskjellen mellom spørsmålssettet og sentrum for støttesettet, og tildeler spørsmålssettet til den klassen som er nærmest.
De fleste andre few-shot learning-tilnærminger er bare variasjoner av de grunnleggende teknikkene som er dekket ovenfor.
Aplikasjoner for Few-Shot Learning
Few-shot learning har applikasjoner i mange underfelt av datavitenskap, som datavisjon, naturlig språkbehandling, robotikk, helse og signalbehandling.
Aplikasjoner for few-shot learning i datavisjonsrommet inkluderer effektiv tegngjenkjenning, bildeklassifisering, objektgjenkjenning, objektfølging, bevegelsesprediksjon og handlinglokalisering. Naturlig språkbehandlings-applikasjoner for few-shot learning inkluderer oversettelse, setningsfullføring, brukerhensikt-klassifisering, sentimental analyse og flermerket tekstklassifisering. Few-shot learning kan brukes i robotikkfeltet for å hjelpe roboter å lære om oppgaver fra bare noen demonstrasjoner, og la roboter lære hvordan de skal utføre handlinger, bevege seg og navigere i verden rundt dem. Few-shot legemiddelforskning er et fremvoksende område innen 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-eksempler eller stemmeomvandling fra en bruker til en annen.












