Programiranje

Pojasnjeno polnadzorovano učenje

Jeff Bezos je v svojem pismu delničarjev Amazona iz leta 2017 zapisal nekaj zanimivega o Alexa, inteligentnem Amazonovem inteligentnem asistentu:

V ZDA, Veliki Britaniji in Nemčiji smo Alexa v zadnjih 12 mesecih izboljšali razumevanje govorjenega jezika za več kot 25% z izboljšavami komponent Alexa za strojno učenje in uporabo polnadzorovanih učnih tehnik. (Te polnadzorovane učne tehnike so za 40-krat zmanjšale količino označenih podatkov, potrebnih za enako izboljšanje natančnosti!)

Glede na te rezultate bi bilo morda zanimivo preizkusiti polnadzorovano učenje na lastnih težavah s klasifikacijo. Kaj pa je polnadzorovano učenje? Katere so njegove prednosti in slabosti? Kako ga lahko uporabimo?

Kaj je polnadzorovano učenje?

Kot lahko pričakujete od imena, je polnadzorovano učenje vmesno med nadzorovanim in nenadzorovanim učenjem. Nadzorovano učenje se začne s podatki o usposabljanju, ki so označeni s pravilnimi odgovori (ciljne vrednosti). Po učnem procesu zaključite z modelom z nastavljenim nizom uteži, ki lahko napove odgovore na podobne podatke, ki še niso bili označeni.

Polnadzorovano učenje uporablja označene in neoznačene podatke, da ustreza modelu. V nekaterih primerih, na primer pri Alexa, dodajanje neoznačenih podatkov dejansko izboljša natančnost modela. V drugih primerih lahko neoznačeni podatki poslabšajo model; različni algoritmi imajo ranljivosti za različne značilnosti podatkov, o čemer bom razpravljal spodaj.

Na splošno označevanje podatkov stane in zahteva čas. To ni nenehno težava, saj nekateri nabori podatkov že imajo oznake. Če pa imate veliko podatkov, ki so označeni le na nekaterih, je dobra preizkusna tehnika polnadzorovano učenje.

Polutro nadzorovani učni algoritmi

Učenje pod nadzorom sega vsaj 15 let nazaj, lahko tudi več; Jerry Zhu z univerze v Wisconsinu je leta 2005 napisal raziskavo o literaturi. Polnadzorovano učenje se je v zadnjih letih ponovno poživilo, ne samo pri Amazonu, ker zmanjšuje stopnjo napak pri pomembnih merilih.

Sebastian Ruder iz DeepMind je aprila 2018 zapisal v blogu o nekaterih delno nadzorovanih učnih algoritmih, tistih, ki ustvarjajo proxy oznake. Sem spadajo samoizobraževanje, učenje z več pogledi in samonastavitev.

Samoizpopolnjevanje uporablja lastne napovedi modela za neoznačene podatke, da jih doda označenemu naboru podatkov. V bistvu nastavite nek prag za stopnjo zaupanja napovedi, pogosto 0,5 ali več, nad katerim verjamete napovedi in ga dodate označenemu naboru podatkov. Model prekvalificirate, dokler ni več samozavestnih napovedi.

Ob tem se zastavlja vprašanje dejanskega modela, ki se bo uporabljal za usposabljanje. Kot pri večini strojnega učenja boste verjetno želeli preizkusiti vsak razumen model kandidata v upanju, da boste našli takšnega, ki deluje dobro.

Avto-trening je imel mešan uspeh. Največja napaka je v tem, da model ne zmore popraviti lastnih napak: ena samozavestna (a napačna) napoved o recimo odstopniku lahko poškoduje celoten model.

Izobraževanje z več pogledi usposobi različne modele na različnih pogledih podatkov, ki lahko vključujejo različne nabore funkcij, različne arhitekture modelov ali različne podmnožice podatkov. Obstajajo številni algoritmi treningov z več pogledi, eden najbolj znanih pa je tri-trening. V bistvu ustvarite tri različne modele; vsakič, ko se dva modela dogovorita o nalepki podatkovne točke, se ta nalepka doda tretjemu modelu. Tako kot pri samoizobraževanju se ustavite, ko nobenemu modelu ne dodate več oznak.

Samosestavljanje običajno uporablja en model z več različnimi konfiguracijami. V metodi lestvične mreže se predvidevanje na čistem primeru uporablja kot oznaka proxy za naključno moteni primer, da bi razvili funkcije, ki so robustne hrupu.

Vadnica Jerryja Zhuja iz leta 2007 upošteva tudi številne druge algoritme. Sem spadajo generativni modeli (na primer tisti, ki predpostavljajo Gaussovo porazdelitev za vsak razred), polnadzorovani podporni vektorski stroji in algoritmi, ki temeljijo na grafu.

Polnadzorovano učenje v oblaku

Polnadzorovano učenje se počasi prebija v običajne storitve strojnega učenja. Na primer, Amazon SageMaker Ground Truth uporablja Amazon Mechanical Turk za ročno označevanje in določanje meja dela nabora slik, za učenje preostalega nabora slik pa uporablja usposabljanje nevronske mreže.

Podobne polnadzorovane učne sheme se lahko uporabljajo za druge vrste polnadzorovanega učenja, vključno z obdelavo naravnega jezika, klasifikacijo in regresijo pri več storitvah. Vendar boste morali za večino algoritmov za pol nadzorovani algoritem napisati svojo kodo lepila.

Preberite več o strojnem učenju:

  • Razloženo strojno učenje
  • Poglobljeno učenje razloženo
  • Razloženo obdelavo naravnega jezika
  • Razloženo nadzorovano učenje
  • Razloženo nenadzorovano učenje
  • Pojasnjeno polnadzorovano učenje
  • Razloženo učenje okrepitve
  • Razloženo avtomatizirano strojno učenje ali AutoML
  • AI, strojno učenje in poglobljeno učenje: vse, kar morate vedeti
  • Najboljši okviri strojnega učenja in globokega učenja
  • 6 načinov, kako strojno učenje spodleti
  • Lekcije strojnega učenja: 5 podjetij deli svoje napake
  • Najboljša odprtokodna programska oprema za strojno učenje
  • 5 najboljših programskih jezikov za razvoj umetne inteligence
$config[zx-auto] not found$config[zx-overlay] not found