Programmering

Semi-veiledet læring forklart

I sitt Amazon-aksjonærbrev fra 2017 skrev Jeff Bezos noe interessant om Alexa, Amazons stemmestyrte intelligente assistent:

I USA, Storbritannia og Tyskland har vi forbedret Alexa's talespråkforståelse med mer enn 25% de siste 12 månedene gjennom forbedringer i Alexa's maskinlæringskomponenter og bruk av semi-overvåket læringsteknikk. (Disse semi-overvåket læringsteknikkene reduserte mengden merkede data som trengs for å oppnå samme nøyaktighetsforbedring 40 ganger!)

Gitt disse resultatene, kan det være interessant å prøve semi-overvåket læring på våre egne klassifiseringsproblemer. Men hva er halvveiledet læring? Hva er fordelene og ulempene? Hvordan kan vi bruke det?

Hva er semi-supervised learning?

Som du kanskje forventer av navnet, er semi-supervised learning mellomledd læring og tilsyn uten læring. Veiledet læring starter med treningsdata som er merket med riktige svar (målverdier). Etter læringsprosessen slutter du med en modell med et innstilt sett med vekter, som kan forutsi svar på lignende data som ikke allerede er merket.

Semi-overvåket læring bruker både merkede og umerkede data for å passe til en modell. I noen tilfeller, for eksempel Alexa, forbedrer faktisk nøyaktigheten til modellen ved å legge til de umerkede dataene. I andre tilfeller kan de umerkede dataene gjøre modellen verre; forskjellige algoritmer har sårbarheter for forskjellige dataegenskaper, som jeg vil diskutere nedenfor.

Generelt koster tagging av data penger og tar tid. Det er ikke det alltid et problem, siden noen datasett allerede har koder. Men hvis du har mye data, bare noen av dem er merket, er semi-overvåket læring en god teknikk å prøve.

Semi-overvåket læringsalgoritmer

Semi-veiledet læring går minst 15 år tilbake, muligens mer; Jerry Zhu fra University of Wisconsin skrev en litteraturundersøkelse i 2005. Semi-overvåket læring har hatt en gjenoppblomstring de siste årene, ikke bare hos Amazon, fordi det reduserer feilraten på viktige referanser.

Sebastian Ruder fra DeepMind skrev et blogginnlegg i april 2018 om noen av de semi-overvåkede læringsalgoritmene, de som lager proxy-etiketter. Disse inkluderer egentrening, multi-view læring og selv-ensembling.

Selvopplæring bruker modellens egne spådommer på umerkede data for å legge til det merkede datasettet. Du setter i hovedsak en terskel for konfidensnivået til en prediksjon, ofte 0,5 eller høyere, over hvilken du tror på prediksjonen, og legger den til det merkede datasettet. Du fortsetter å omskolere modellen til det ikke er flere spådommer som er sikre.

Dette reiser spørsmålet om den faktiske modellen som skal brukes til trening. Som i de fleste maskinlæring, vil du sannsynligvis prøve alle rimelige kandidatmodeller i håp om å finne en som fungerer bra.

Selvopplæring har hatt blandet suksess. Den største feilen er at modellen ikke klarer å rette sine egne feil: en høy-selvtillit (men feil) spådom på, for eksempel en outlier, kan ødelegge hele modellen.

Flersiktsopplæring trener forskjellige modeller på forskjellige visninger av dataene, som kan omfatte forskjellige funksjonssett, forskjellige modellarkitekturer eller forskjellige delmengder av dataene. Det finnes en rekke multi-view treningsalgoritmer, men en av de mest kjente er tri-training. I hovedsak lager du tre forskjellige modeller; hver gang to modeller er enige om etiketten til et datapunkt, legges den etiketten til den tredje modellen. Som med egenopplæring, stopper du når ingen flere etiketter blir lagt til noen av modellene.

Selvmontering bruker vanligvis en enkelt modell med flere forskjellige konfigurasjoner. I stigenettverksmetoden brukes prediksjonen på et rent eksempel som en proxy-etikett for et tilfeldig forstyrret eksempel, med sikte på å utvikle funksjoner som er robuste for støy.

Jerry Zhu's 2007 tutorial inneholder også en rekke andre algoritmer. Disse inkluderer generative modeller (for eksempel de som antar en gaussisk fordeling for hver klasse), semi-overvåket støttevektormaskiner og grafbaserte algoritmer.

Semi-veiledet læring i skyen

Semi-overvåket læring tar sakte vei inn i vanlige maskinlæringstjenester. For eksempel bruker Amazon SageMaker Ground Truth Amazon Mechanical Turk for manuell merking og grensebestemmelse av en del av et bildesett og bruker opplæring i nevrale nettverk for å merke resten av bildesettet.

Lignende semi-supervised læringsordninger kan brukes til andre typer semi-supervised læring, inkludert naturlig språkbehandling, klassifisering og regresjon på flere tjenester. Du må imidlertid skrive din egen limkode for den semi-overvåkede algoritmen på de fleste av dem.

Les mer om maskinlæring:

  • Maskinlæring forklart
  • Dyp læring forklart
  • Naturlig språkbehandling forklart
  • Veiledet læring forklart
  • Uovervåket læring forklart
  • Semi-veiledet læring forklart
  • Forsterkningslæring forklart
  • Automatisert maskinlæring eller AutoML forklart
  • AI, maskinlæring og dyp læring: Alt du trenger å vite
  • De beste rammene for maskinlæring og dyp læring
  • 6 måter å få maskinlæring til å mislykkes
  • Maskinlæringstimer: 5 selskaper deler feilene sine
  • Den beste programvaren med åpen kildekode for maskinlæring
  • De 5 beste programmeringsspråkene for AI-utvikling
$config[zx-auto] not found$config[zx-overlay] not found