AI 101

Mikä on Few-Shot Learning?

mm

Few-shot learning viittaa joukkoon algoritmeja ja tekniikoita, joita käytetään kehittämään tekoälymalli hyvin pienellä määrällä koulutusdataa. Few-shot learning pyrkii siihen, että tekoälymalli voi tunnistaa ja luokitella uutta dataa ollessaan altis verrattain vähän koulutusinstansseja. Few-shot koulutus eroaa perinteisistä menetelmistä, joissa koulutetaan koneoppimismalleja, joissa käytetään tyypillisesti suurta määrää koulutusdataa. Few-shot learning käytetään pääasiassa tietokoneen näön alalla.

Jotta voimme kehittää paremman intuitio few-shot learningista, tarkastelemme käsitettä tarkemmin. Tarkastelemme few-shot learningin taustoja ja käsitteitä, tutkimme erilaisia few-shot learningin tyyppejä ja käsittelyjä few-shot learningin malleja korkealla tasolla. Lopulta tarkastelemme few-shot learningin sovelluksia.

Mikä on Few-Shot Learning?

“Few-shot learning” kuvailee käytännön, jossa koulutetaan koneoppimismallia vähäisellä määrällä dataa. Tyypillisesti koneoppimismallit koulutetaan suurilla määrillä dataa, mitä enemmän, sitä paremmin. Few-shot learning on kuitenkin tärkeä koneoppimiskäsite useista syistä.

Yksi syy few-shot learningin käyttöön on, että se voi dramaattisesti vähentää koulutusdataa, jota tarvitaan koneoppimismallin kouluttamiseen, mikä vähentää aikaa, joka kuluu suurten tietojoukkojen merkintään. Samoin few-shot learning vähentää tarvetta lisätä tiettyjä ominaisuuksia eri tehtäviin, kun käytetään yhteistä tietojoukkoa luomaan eri otoksia. Few-shot learning voi tehdä malleista kestävämmät ja kykenevämmät tunnistamaan objekteja vähemmällä datasta, luoden yleisempiä malleja verrattuna erikoistuneisiin malleihin, jotka ovat normi.

Few-shot learning käytetään eniten tietokoneen näön alalla, koska tietokoneen näön ongelmat vaativat joko suuria määriä dataa tai joustavaa mallia.

Alaluokat

”Few-shot” -oppi on itse asiassa vain yksi oppimisen tyyppi, jossa käytetään hyvin vähän koulutus-esimerkkejä. Koska käytät vain ”muutamia” koulutus-esimerkkejä, on olemassa few-shot learningin alaluokkia, jotka liittyvät myös kouluttamiseen hyvin vähäisellä määrällä dataa. ”One-shot” -oppi on toinen mallin koulutusmenetelmä, jossa opetetaan malli tunnistamaan objekti vain yhden sen objektiin liittyvän kuvan perusteella. Yleiset taktiikat, joita käytetään one-shot -oppien ja few-shot learningin yhteydessä, ovat samat. Huomaa, että ”few-shot” -opin termiä voidaan käyttää yleisnimellä kuvaamaan tilannetta, jossa malli koulutetaan hyvin vähäisellä määrällä dataa.

Lähestymistavat Few-Shot Learningiin

Useimmat few-shot learning -lähestymistavat voidaan jakaa kolmeen kategoriaan: data-tasoiset lähestymistavat, parametri-tasoiset lähestymistavat ja mittakaavapohjaiset lähestymistavat.

Data-tasoiset Lähestymistavat

Data-tasoiset lähestymistavat few-shot learningiin ovat hyvin yksinkertaisia. Jotta voit kouluttaa mallin, kun sinulla ei ole tarpeeksi koulutusdataa, voit vain hankkia enemmän koulutusdataa. On olemassa useita tekniikoita, joita data-tieteilijä voi käyttää lisätäkseen koulutusdataa.

Samankaltaisia koulutusdataa voidaan käyttää tukemaan tarkkaa kohde-dataa, jolle koulutat luokittelijaa. Esimerkiksi, jos koulutat luokittelijaa tunnistamaan tiettyjä koirien rotuja, mutta sinulla ei ole paljon kuvia kyseisestä lajikkeesta, jonka haluat luokitella, voit sisällyttää useita kuvia koirista, jotka auttavat luokittelijaa määrittämään yleiset piirteet, jotka muodostavat koiran.

Data-augmentaatio voi luoda enemmän koulutusdataa luokittelijalle. Tämä tyypillisesti sisältää soveltamista muunnoksia olemassa olevaan koulutusdataan, kuten kuvien kierto, jotta luokittelija tutkii kuvia eri kulmista. GANit voidaan myös käyttää luomaan uusia koulutus-esimerkkejä sen perusteella, mitä ne oppivat harvoista aidoista koulutus-esimerkeistä, joita sinulla on.

Parametri-tasoiset Lähestymistavat

Meta-oppi

Yksi parametri-tasoinen lähestymistapa few-shot learningiin on meta-opin tekniikan käyttö. Meta-oppi sisältää opettamisen mallille, mitkä piirteet ovat tärkeitä koneoppimistehtävässä. Tämä voidaan saavuttaa kehittämällä menetelmä, jolla säännellään, miten mallin parametriavaruutta tutkitaan.

Meta-oppi käyttää kahta eri mallia: opettaja-mallia ja oppilas-mallia. Opettaja-malli oppii, miten kapseloida mallin parametriavaruus, kun taas oppilas-algoritmi oppii, miten tunnistaa ja luokitella kohteet tietojoukossa. Toisin sanoen opettaja-malli oppii, miten optimoida malli, kun taas oppilas-malli oppii, miten luokitella. Opettaja-mallin tulostetta käytetään kouluttamaan oppilas-mallia, näyttämällä oppilas-mallille, miten navigoida suuren parametriavaruuden kautta, joka johtuu liian vähäisestä koulutusdatasta. Siitä johtuu ”meta” meta-opissa.

Yksi suurimmista ongelmista few-shot learning -malleissa on, että ne voivat helposti ylioppia koulutusdatasta, koska niillä on usein korkeatulotteisia avaruuksia. Rajoittamalla mallin parametriavaruutta voidaan ratkaista tämä ongelma, ja vaikka se voidaan saavuttaa soveltamalla sääntelytekniikoita ja valitsemalla oikeat häviöfunktiot, opettaja-algoritmin käyttö voi parantaa merkittävästi few-shot mallin suorituskykyä.

Few-shot learning -luokittelijamalli (oppilas-malli) pyrkii yleistämään perustuen vähäiseen määrään koulutusdataa, jota se on saanut, ja sen tarkkuus voidaan parantaa opettaja-mallin avulla, joka ohjaa sitä korkeatulotteisen parametriavaruuden kautta. Tämä yleinen arkkitehtuuri tunnetaan ”gradientipohjaisena” meta-oppina.

Koko prosessi gradientipohjaisen meta-oppimisen kouluttamiseen on seuraava:

  1. Luo perusoppimismalli (opettaja-malli)
  2. Kouluta perusoppimismalli tukijoukossa
  3. Anna perusoppimismallin palauttaa ennusteet kyselyjoukolle
  4. Kouluta meta-oppimismalli (oppilas) luokitteluvirheestä johdetusta häviöstä

Meta-opin Variations

Malli-agnostinen Meta-oppi on menetelmä, jota käytetään perus gradientipohjaisen meta-opin tekniikan täydentämiseen.

Kuten yllä mainittiin, gradientipohjainen meta-oppiminen käyttää aiemmin opetetun opettaja-mallin kokemusta viimeistelläkseen itsensä ja toimittaa tarkemmin ennusteita vähäiselle määrälle koulutusdataa. Kuitenkin, aloittaminen satunnaisesti aloitettujen parametrejen kanssa tarkoittaa, että malli voi edelleen potentiaalisesti ylioppia datasta. Jotta voidaan välttää tämä, luodaan ”Malli-agnostinen” meta-oppiminen rajoittamalla opettaja-mallin / perusmallin vaikutusta. Sen sijaan, että oppilas-mallia koulutettaisiin suoraan opettaja-mallin tekemien ennusteiden häviöstä, oppilas-malli koulutetaan häviöstä omien ennusteiden perusteella.

Jokaisen malli-agnostisen meta-oppimisen koulutusjakson aikana:

  1. Luo kopio nykyisestä meta-oppimismallista.
  2. Kouluta kopio perusmallin / opettaja-mallin avulla.
  3. Kopio palauttaa ennusteet koulutusdatasta.
  4. Laskettu häviö käytetään meta-oppimismallin päivittämiseen.

Metric-Learning

Metric-learning -lähestymistavat few-shot learning -mallin suunnittelussa tyypillisesti käyttävät perus etäisyysmittareita vertaamaan otoksia tietojoukossa. Metric-learning -algoritmit, kuten kosini-etäisyys, käytetään luokittelujen tekemiseen kysely-otoksista niiden samankaltaisuuden perusteella tukiootsikkaiden kanssa. Kuvien luokittelijalle tämä tarkoittaisi vain kuvien luokittelua niiden pinttäisten ominaisuuksien perusteella. Kun tuki-otsikkojen joukko on valittu ja muunnettu upotusvektoriksi, tehdään sama kyselyjoukolle ja sitten verrataan vektoreiden arvoja, ja luokittelija valitsee luokan, jolla on lähimmät arvot vektoroiduksi kyselyjoukoksi.

Yksi edistyneempi mittakaavapohjainen ratkaisu on ”prototyyppiverkko”. Prototyyppiverkot ryhmittävät data-pisteet yhteen yhdistämällä klusterointimallit metric-pohjaiseen luokitteluun, kuten yllä kuvattu. Kuten K-keski-klusteroinnissa, lasketaan keskipisteet luokille tukijoukossa ja kyselyjoukossa. Sitten sovelletaan euklidista etäisyysmittausta määrittämään ero kyselyjoukon ja tukijoukon keskipisteen välillä, ja kyselyjoukko määritetään sille luokalle, joka on lähinnä tukijoukon luokkaa.

Useimmat muut few-shot learning -lähestymistavat ovat vain variatioita yllä kuvatuista perustekniikoista.

Sovellukset Few-Shot Learningiin

Few-shot learningilla on sovelluksia monissa eri tietojenkäsittelytieteen alaan, kuten tietokoneen näössä, luonnollisen kielen prosessoinnissa, robottiassa, terveydenhuollossa ja signaalinkäsittelyssä.

Sovellukset few-shot learningiin tietokoneen näön tilassa sisältävät tehokkaan merkin tunnistamisen, kuvien luokittelun, objektitunnistuksen, objekti-seuraamisen, liikkeen ennustamisen ja toiminnan lokalisoimisen. Luonnollisen kielen prosessoinnin sovellukset few-shot learningiin sisältävät käännöksen, lauseen täydentämisen, käyttäjän aikomusten luokittelun, mielipidetutkimuksen ja moni-etikkulaisen tekstiluokittelun. Few-shot learning voidaan käyttää robottiikan alalla auttamaan roboteja oppimaan tehtävistä vain muutamasta esittelyistä, jotta robotit voivat oppia, miten suorittaa toimintoja, liikkua ja navigoida ympäröivässä maailmassa. Few-shot lääkekehitys on nouseva ala tekoälyterveydenhuollossa. Lopulta few-shot learningilla on sovelluksia akustisen signaalinkäsittelyn alalla, joka on äänidataa analysoiva prosessi, joka antaa tekoälyjärjestelmille mahdollisuuden kloonata ääniä vain muutamasta käyttäjänäytteestä tai äänen muunnos yhdestä käyttäjästä toiseen.

Blogger ja ohjelmoija, jolla on erityisalat Machine Learning ja Deep Learning -aiheissa. Daniel toivoo pystyvänsä auttamaan muita käyttämään tekoälyn voimaa sosiaaliseen hyvään.