Grunderna i AI

Vad ÃĪr Few-Shot Learning?

mm
LÃĪgg till Unite.AI bland dina fÃķredragna kÃĪllor pÃĨ Google

Few-shot learning ÃĪr en samling av algoritmer och tekniker som anvÃĪnds fÃķr att utveckla en AI-modell med hjÃĪlp av en mycket liten mÃĪngd trÃĪningsdata. Few-shot learning syftar till att lÃĨta en AI-modell kÃĪnna igen och klassificera ny data efter att ha exponerats fÃķr relativt fÃĨ trÃĪningsexempel. Few-shot-trÃĪning stÃĨr i kontrast till traditionella metoder fÃķr att trÃĪna maskinlÃĪrningsmodeller, dÃĪr en stor mÃĪngd trÃĪningsdata vanligtvis anvÃĪnds. Few-shot learning anvÃĪnds frÃĪmst inom datorseende.

FÃķr att utveckla en bÃĪttre fÃķrstÃĨelse fÃķr few-shot learning, lÃĨt oss undersÃķka begreppet i mer detalj. Vi kommer att undersÃķka motivationen och koncepten bakom few-shot learning, utforska olika typer av few-shot learning och tÃĪcka nÃĨgra modeller som anvÃĪnds i few-shot learning pÃĨ en hÃķg nivÃĨ. Slutligen kommer vi att undersÃķka nÃĨgra tillÃĪmpningar fÃķr few-shot learning.

Vad ÃĪr Few-Shot Learning?

“Few-shot learning” beskriver metoden att trÃĪna en maskinlÃĪrningsmodell med en minimal mÃĪngd data. Vanligtvis trÃĪnas maskinlÃĪrningsmodeller pÃĨ stora mÃĪngder data, ju mer desto bÃĪttre. Men few-shot learning ÃĪr ett viktigt maskinlÃĪrningskoncept av flera skÃĪl.

En anledning till att anvÃĪnda few-shot learning ÃĪr att det kan dramatiskt minska den mÃĪngd data som behÃķvs fÃķr att trÃĪna en maskinlÃĪrningsmodell, vilket minskar den tid som behÃķvs fÃķr att mÃĪrka stora datamÃĪngder. LikasÃĨ minskar few-shot learning behovet av att lÃĪgga till specifika funktioner fÃķr olika uppgifter nÃĪr man anvÃĪnder en gemensam datamÃĪngd fÃķr att skapa olika prover. Few-shot learning kan idealiskt gÃķra modellerna mer robusta och kunna kÃĪnna igen objekt baserat pÃĨ mindre data, vilket skapar mer allmÃĪnna modeller i stÃĪllet fÃķr de hÃķgt specialiserade modellerna som ÃĪr vanliga.

Few-shot learning anvÃĪnds vanligtvis inom omrÃĨdet datorseende, eftersom datorseende-problem ofta krÃĪver antingen stora mÃĪngder data eller en flexibel modell.

Underkategorier

Begreppet “few-shot” learning ÃĪr egentligen bara en typ av inlÃĪrning som anvÃĪnder mycket fÃĨ trÃĪningsexempel. Eftersom du anvÃĪnder bara “nÃĨgra” trÃĪningsexempel, finns det underkategorier av few-shot learning som ocksÃĨ involverar trÃĪning med en minimal mÃĪngd data. “One-shot” learning ÃĪr en annan typ av modelltrÃĪning som innebÃĪr att lÃĪra en modell att kÃĪnna igen ett objekt efter att ha sett bara ett exempel pÃĨ det objektet. De allmÃĪnna taktikerna som anvÃĪnds i one-shot learning och few-shot learning ÃĪr desamma. Var medveten om att termen “few-shot” learning kan anvÃĪndas som en paraplyterm fÃķr att beskriva varje situation dÃĪr en modell trÃĪnas med mycket lite data.

TillvÃĪgagÃĨngssÃĪtt fÃķr Few-Shot Learning

De flesta tillvÃĪgagÃĨngssÃĪtten fÃķr few-shot learning kan delas in i tre kategorier: data-nivÃĨ tillvÃĪgagÃĨngssÃĪtt, parameter-nivÃĨ tillvÃĪgagÃĨngssÃĪtt och metrics-baserade tillvÃĪgagÃĨngssÃĪtt.

Data-nivÃĨ TillvÃĪgagÃĨngssÃĪtt

Data-nivÃĨ tillvÃĪgagÃĨngssÃĪtt fÃķr few-shot learning ÃĪr mycket enkla i koncept. FÃķr att trÃĪna en modell nÃĪr du inte har tillrÃĪckligt med trÃĪningsdata, kan du helt enkelt skaffa mer trÃĪningsdata. Det finns olika tekniker som en data scientist kan anvÃĪnda fÃķr att Ãķka mÃĪngden trÃĪningsdata de har.

Liknande trÃĪningsdata kan stÃķdja den exakta mÃĨl-data du trÃĪnar en klassificerare pÃĨ. Till exempel, om du trÃĪnar en klassificerare fÃķr att kÃĪnna igen specifika typer av hundar men saknar mÃĨnga bilder av den specifika arten du fÃķrsÃķker klassificera, kan du inkludera mÃĨnga bilder av hundar som skulle hjÃĪlpa klassificeraren att bestÃĪmma de allmÃĪnna funktionerna som utgÃķr en hund.

Data-fÃķrstÃĪrkning kan skapa mer trÃĪningsdata fÃķr en klassificerare. Detta innebÃĪr vanligtvis att tillÃĪmpa transformationer pÃĨ befintlig trÃĪningsdata, sÃĨsom att rotera befintliga bilder sÃĨ att klassificeraren undersÃķker bilderna frÃĨn olika vinklar. GAN:er kan ocksÃĨ anvÃĪndas fÃķr att generera nya trÃĪningsexempel baserat pÃĨ vad de lÃĪr sig frÃĨn de fÃĨ ÃĪkta exemplen av trÃĪningsdata du har.

Parameter-nivÃĨ TillvÃĪgagÃĨngssÃĪtt

Meta-lÃĪrande

En parameter-nivÃĨ tillvÃĪgagÃĨngssÃĪtt fÃķr few-shot learning innebÃĪr anvÃĪndning av en teknik som kallas “meta-lÃĪrande”. Meta-lÃĪrande innebÃĪr att lÃĪra en modell hur den ska lÃĪra vilka funktioner som ÃĪr viktiga i en maskinlÃĪrningsuppgift. Detta kan ÃĨstadkommas genom att skapa en metod fÃķr att reglera hur modellens parameterrum utforskas.

Meta-lÃĪrande anvÃĪnder tvÃĨ olika modeller: en lÃĪrar-modell och en elev-modell. LÃĪrar-modellen lÃĪr sig hur den ska inkapsla parameterrummet, medan elev-algoritmen lÃĪr sig hur den ska kÃĪnna igen och klassificera de faktiska objekten i datamÃĪngden. FÃķr att uttrycka det pÃĨ ett annat sÃĪtt, lÃĪrar-modellen lÃĪr sig hur den ska optimera en modell, medan elev-modellen lÃĪr sig hur den ska klassificera. LÃĪrar-modellens utdata anvÃĪnds fÃķr att trÃĪna elev-modellen, vilket visar elev-modellen hur den ska navigera i det stora parameterrummet som resulterar frÃĨn fÃķr lite trÃĪningsdata. DÃĪrfÃķr “meta” i meta-lÃĪrande.

Ett av de stÃķrsta problemen med few-shot learning-modeller ÃĪr att de lÃĪtt kan Ãķveranpassa sig till trÃĪningsdata, eftersom de ofta har hÃķgdimensionella utrymmen. Att begrÃĪnsa modellens parameterrum lÃķser detta problem, och medan det kan ÃĨstadkommas genom att tillÃĪmpa regleringstekniker och vÃĪlja rÃĪtt fÃķrlustfunktioner, kan anvÃĪndningen av en lÃĪrar-algoritm dramatiskt fÃķrbÃĪttra prestandan hos en few-shot-modell.

En few-shot learning-klassificeringsmodell (elev-modellen) kommer att fÃķrsÃķka generalisera baserat pÃĨ den lilla mÃĪngd trÃĪningsdata den fÃĨr, och dess noggrannhet kan fÃķrbÃĪttras med en lÃĪrar-modell som vÃĪgleder den genom det hÃķgdimensionella parameterrummet. Denna allmÃĪnna arkitektur kallas fÃķr en “gradient-baserad” meta-lÃĪrare.

Hela processen fÃķr att trÃĪna en gradient-baserad meta-lÃĪrare ÃĪr som fÃķljer:

  1. Skapa bas-lÃĪraren (lÃĪrar-modellen)
  2. TrÃĪna bas-lÃĪraren pÃĨ stÃķd-mÃĪngden
  3. LÃĨt bas-lÃĪraren returnera fÃķrutsÃĪgelser fÃķr frÃĨge-mÃĪngden
  4. TrÃĪna meta-lÃĪraren (elev-modellen) pÃĨ fÃķrlusten som hÃĪrrÃķr frÃĨn klassificeringsfelet

Variationer pÃĨ Meta-lÃĪrande

Modell-agnostiskt meta-lÃĪrande ÃĪr en metod som anvÃĪnds fÃķr att fÃķrbÃĪttra den grundlÃĪggande gradient-baserade meta-lÃĪrande-tekniken som vi tÃĪckte ovan.

Som vi tÃĪckte ovan anvÃĪnder en gradient-baserad meta-lÃĪrare den tidigare erfarenheten som en lÃĪrar-modell har fÃĨtt fÃķr att finjustera sig sjÃĪlv och leverera mer exakta fÃķrutsÃĪgelser fÃķr en liten mÃĪngd trÃĪningsdata. Men, att starta med slumpmÃĪssigt initierade parametrar innebÃĪr att modellen fortfarande kan Ãķveranpassa sig till data. FÃķr att undvika detta skapas en “modell-agnostisk” meta-lÃĪrare genom att begrÃĪnsa lÃĪrar-modellens/bas-modellens inflytande. I stÃĪllet fÃķr att trÃĪna elev-modellen direkt pÃĨ fÃķrlusten fÃķr fÃķrutsÃĪgelserna som lÃĪrar-modellen gjort, trÃĪnas elev-modellen pÃĨ fÃķrlusten fÃķr sina egna fÃķrutsÃĪgelser.

FÃķr varje episod av trÃĪning av en modell-agnostisk meta-lÃĪrare:

  1. En kopia av den aktuella meta-lÃĪrar-modellen skapas.
  2. Kopian trÃĪnas med hjÃĪlp av bas-modellen/lÃĪrar-modellen.
  3. Kopian returnerar fÃķrutsÃĪgelser fÃķr trÃĪningsdata.
  4. BerÃĪknad fÃķrlust anvÃĪnds fÃķr att uppdatera meta-lÃĪraren.

Metric-LÃĪrande

Metric-lÃĪrande tillvÃĪgagÃĨngssÃĪtt fÃķr att designa en few-shot learning-modell involverar vanligtvis anvÃĪndning av grundlÃĪggande avstÃĨnds-metriska fÃķr att gÃķra jÃĪmfÃķrelser mellan prover i en datamÃĪngd. Metric-lÃĪrande algoritmer som cosinus-avstÃĨnd anvÃĪnds fÃķr att klassificera frÃĨge-prover baserat pÃĨ deras likhet med stÃķd-proverna. FÃķr en bild-klassificerare skulle detta innebÃĪra att klassificera bilder baserat pÃĨ likheten i yttre egenskaper. Efter att en stÃķd-mÃĪngd av bilder har valts och omvandlats till en inbÃĪddnings-vektor, gÃķrs samma sak med frÃĨge-mÃĪngden och sedan jÃĪmfÃķrs vÃĪrdena fÃķr de tvÃĨ vektorerna, med klassificeraren som vÃĪljer den klass som har de nÃĪrmaste vÃĪrdena till den vektoriserade frÃĨge-mÃĪngden.

En mer avancerad metric-baserad lÃķsning ÃĪr “prototyp-nÃĪtverk”. Prototyp-nÃĪtverk klusterar datapunkter tillsammans genom att kombinera kluster-modeller med den metric-baserade klassificering som beskrivits ovan. Som i K-means-klustering berÃĪknas centroider fÃķr kluster fÃķr klasserna i stÃķd- och frÃĨge-mÃĪngderna. En euklidiskt avstÃĨnds-metrik tillÃĪmpas sedan fÃķr att bestÃĪmma skillnaden mellan frÃĨge-mÃĪngderna och centroiderna fÃķr stÃķd-mÃĪngden, och frÃĨge-mÃĪngden tilldelas den klass som ÃĪr nÃĪrmast stÃķd-mÃĪngden.

De flesta andra few-shot learning-tillvÃĪgagÃĨngssÃĪtt ÃĪr bara variationer pÃĨ de grundlÃĪggande tekniker som tÃĪcktes ovan.

TillÃĪmpningar fÃķr Few-Shot Learning

Few-shot learning har tillÃĪmpningar inom mÃĨnga olika underomrÃĨden av data-vetenskap, sÃĨsom datorseende, naturligt sprÃĨk-behandling, robotik, hÃĪlso- och sjukvÃĨrd och signal-behandling.

TillÃĪmpningar fÃķr few-shot learning inom datorseende-omrÃĨdet inkluderar effektiv teckenigenkÃĪnning, bild-klassificering, objekt-igenkÃĪnning, objekt-spÃĨrning, rÃķrelse-prediktion och handling-lokaliseringsÃĨtgÃĪrd. Naturligt sprÃĨk-behandling-tillÃĪmpningar fÃķr few-shot learning inkluderar ÃķversÃĪttning, meningsslutsats, anvÃĪndar-avsikts-klassificering, sentiment-analys och multi-etikett-text-klassificering. Few-shot learning kan anvÃĪndas inom robotik-omrÃĨdet fÃķr att hjÃĪlpa robotar att lÃĪra sig om uppgifter frÃĨn bara nÃĨgra demonstrationer, vilket lÃĨter robotar lÃĪra sig hur de ska utfÃķra handlingar, flytta sig och navigera i vÃĪrlden runt dem. Few-shot lÃĪkemedelsupptÃĪckt ÃĪr ett nytt omrÃĨde inom AI-hÃĪlso- och sjukvÃĨrd. Slutligen har few-shot learning tillÃĪmpningar fÃķr akustisk signal-behandling, som ÃĪr processen att analysera ljud-data, vilket lÃĨter AI-systemer klona rÃķster baserat pÃĨ bara nÃĨgra anvÃĪndar-prover eller rÃķst-omvandling frÃĨn en anvÃĪndare till en annan.

Blogger och programmerare med specialomrÃĨden inom Machine Learning och Deep Learning ÃĪmnen. Daniel hoppas pÃĨ att hjÃĪlpa andra att anvÃĪnda kraften frÃĨn AI fÃķr socialt vÃĪl.