Programmering

Semi-overvåget læring forklaret

I sit Amazon-aktionærbrev fra 2017 skrev Jeff Bezos noget interessant om Alexa, Amazons stemmestyrede intelligente assistent:

I USA, Storbritannien og Tyskland har vi forbedret Alexa's talte sprogforståelse med mere end 25% i løbet af de sidste 12 måneder gennem forbedringer i Alexa's maskinindlæringskomponenter og brugen af ​​semi-overvågede læringsteknikker. (Disse semi-overvågede læringsteknikker reducerede mængden af ​​mærkede data, der var nødvendige for at opnå den samme nøjagtighedsforbedring 40 gange!)

I betragtning af disse resultater kan det være interessant at prøve semi-overvåget læring på vores egne klassificeringsproblemer. Men hvad er semi-overvåget læring? Hvad er dens fordele og ulemper? Hvordan kan vi bruge det?

Hvad er semi-overvåget læring?

Som du måske forventer af navnet, er semi-overvåget læring mellem mellem overvåget læring og ikke-overvåget læring. Overvåget læring starter med træningsdata, der er mærket med de rigtige svar (målværdier). Efter læringsprocessen afslutter du en model med et tunet sæt vægte, som kan forudsige svar på lignende data, der ikke allerede er tagget.

Semi-overvåget læring bruger både taggede og umærkede data til at passe til en model. I nogle tilfælde, såsom Alexa, forbedrer tilføjelsen af ​​umærket data faktisk nøjagtigheden af ​​modellen. I andre tilfælde kan de umærkede data gøre modellen værre; forskellige algoritmer har sårbarheder over for forskellige dataegenskaber, som jeg vil diskutere nedenfor.

Generelt koster tagging af data penge og tager tid. Det er det ikke altid et problem, da nogle datasæt allerede har tags. Men hvis du har mange data, hvoraf kun nogle er mærket, så er semi-overvåget læring en god teknik at prøve.

Semi-overvågede læringsalgoritmer

Semi-overvåget læring går mindst 15 år tilbage, muligvis mere; Jerry Zhu fra University of Wisconsin skrev en litteraturundersøgelse i 2005. Semi-overvåget læring har fået et opsving de seneste år, ikke kun hos Amazon, fordi det reducerer fejlprocenten på vigtige benchmarks.

Sebastian Ruder fra DeepMind skrev et blogindlæg i april 2018 om nogle af de semi-overvågede læringsalgoritmer, dem der opretter proxyetiketter. Disse inkluderer selvtræning, multi-view-læring og selv-samling.

Selvtræning bruger en models egne forudsigelser om umærkede data for at føje til det mærkede datasæt. Du indstiller i det væsentlige en tærskel for konfidensniveauet for en forudsigelse, ofte 0,5 eller højere, over hvilken du tror på forudsigelsen, og føjer den til det mærkede datasæt. Du bliver ved med at omskolere modellen, indtil der ikke er flere forudsigelser, der er sikre.

Dette rejser spørgsmålet om den aktuelle model, der skal bruges til træning. Som i de fleste maskinindlæring vil du sandsynligvis prøve alle rimelige kandidatmodeller i håb om at finde en, der fungerer godt.

Selvtræning har haft blandet succes. Den største fejl er, at modellen ikke er i stand til at rette sine egne fejl: en forudsigelse med høj tillid (men forkert) om f.eks. En outlier kan ødelægge hele modellen.

Multi-view-træning træner forskellige modeller i forskellige visninger af dataene, som kan omfatte forskellige funktionssæt, forskellige modelarkitekturer eller forskellige undergrupper af dataene. Der er en række multi-view træningsalgoritmer, men en af ​​de mest kendte er tri-training. I det væsentlige opretter du tre forskellige modeller; hver gang to modeller er enige om etiketten på et datapunkt, tilføjes denne etiket til den tredje model. Som med selvtræning stopper du, når der ikke føjes flere etiketter til nogen af ​​modellerne.

Selvmontering bruger typisk en enkelt model med flere forskellige konfigurationer. I stigenetværksmetoden bruges forudsigelsen på et rent eksempel som en proxy-etiket til et tilfældigt forstyrret eksempel med det formål at udvikle funktioner, der er robuste til støj.

Jerry Zhu's 2007-tutorial overvejer også en række andre algoritmer. Disse inkluderer generative modeller (såsom dem, der antager en Gaussisk fordeling for hver klasse), semi-overvågede supportvektormaskiner og grafbaserede algoritmer.

Semi-overvåget læring i skyen

Semi-overvåget læring er langsomt ved at komme ind i mainstream machine learning-tjenester. For eksempel bruger Amazon SageMaker Ground Truth Amazon Mechanical Turk til manuel mærkning og grænsebestemmelse af en del af et billedsæt og bruger neuralt netværkstræning til at mærke resten af ​​billedsættet.

Lignende semi-overvågede læringsordninger kan bruges til andre former for semi-overvåget læring, herunder naturlig sprogbehandling, klassificering og regression på flere tjenester. Du bliver dog nødt til at skrive din egen limkode til den semi-overvågede algoritme på de fleste af dem.

Læs mere om maskinindlæring:

  • Maskinindlæring forklaret
  • Dyb læring forklaret
  • Naturlig sprogbehandling forklaret
  • Overvåget læring forklaret
  • Uovervåget læring forklaret
  • Semi-overvåget læring forklaret
  • Forstærket læring forklaret
  • Automatiseret maskinindlæring eller AutoML forklaret
  • AI, maskinindlæring og dyb læring: Alt hvad du behøver at vide
  • De bedste rammer for maskinlæring og dyb læring
  • 6 måder at få maskinlæring til at mislykkes
  • Maskinlæring lektioner: 5 virksomheder deler deres fejl
  • Den bedste open source software til maskinindlæring
  • De 5 bedste programmeringssprog til AI-udvikling
$config[zx-auto] not found$config[zx-overlay] not found