Programování

Vysvětlení částečně pod dohledem

Ve svém dopise akcionářů Amazonu z roku 2017 napsal Jeff Bezos něco zajímavého o Alexě, hlasové inteligentní asistentce Amazonu:

Ve Spojených státech, Velké Británii a Německu jsme za posledních 12 měsíců vylepšili porozumění mluvenému jazyku Alexy o více než 25%, a to vylepšením komponent Alexa pro strojové učení a využitím technik učení s částečným dohledem. (Tyto techniky učení pod dohledem snížily množství označených dat potřebných k dosažení stejného zlepšení přesnosti až 40krát!)

Vzhledem k těmto výsledkům by mohlo být zajímavé vyzkoušet učení s částečným dohledem na našich vlastních klasifikačních problémech. Co je to ale učení pod dohledem? Jaké jsou jeho výhody a nevýhody? Jak to můžeme použít?

Co je učení pod dohledem?

Jak můžete očekávat od názvu, učení pod dohledem je prostředníkem mezi dohledem a nekontrolovaným učením. Kontrolované učení začíná tréninkovými daty, která jsou označena správnými odpověďmi (cílové hodnoty). Po procesu učení skončíte s modelem s vyladěnou sadou vah, který dokáže předpovědět odpovědi na podobná data, která ještě nebyla označena.

Výuka s částečným dohledem využívá k označení modelu tagovaná i neoznačená data. V některých případech, například u Alexa, přidání neoznačených dat ve skutečnosti zvyšuje přesnost modelu. V ostatních případech mohou neoznačená data model zhoršit; různé algoritmy mají zranitelnost vůči různým charakteristikám dat, jak o nich pojednám níže.

Obecně platí, že označování dat stojí peníze a vyžaduje čas. To není vždy problém, protože některé datové sady již značky mají. Pokud ale máte hodně dat, jsou označena pouze některá, pak je dobrá zkouška učení s částečným dohledem.

Algoritmy učení s částečným dohledem

Výuka s částečným dohledem sahá nejméně o 15 let, možná i více; Jerry Zhu z University of Wisconsin napsal literární průzkum v roce 2005. Učení s částečným dohledem se v posledních letech obnovilo, a to nejen u Amazonu, protože snižuje chybovost důležitých referenčních hodnot.

Sebastian Ruder z DeepMind napsal v dubnu 2018 blogový příspěvek o některých algoritmech učení s částečným dohledem, které vytvářejí proxy štítky. Patří mezi ně autotrénink, učení s více pohledy a sebepojíždění.

Self-training využívá vlastní předpovědi modelu pro neoznačená data k přidání do označené datové sady. V zásadě nastavíte určitou prahovou hodnotu pro úroveň spolehlivosti předpovědi, často 0,5 nebo vyšší, nad kterou věříte předpovědi a přidáte ji do označené datové sady. Model neustále proškolíte, dokud nebudou žádné věrohodné předpovědi.

To vyvolává otázku skutečného modelu, který má být použit pro trénink. Stejně jako ve většině strojového učení budete pravděpodobně chtít vyzkoušet každý rozumný model kandidáta v naději, že najdete ten, který funguje dobře.

Samotrénink měl smíšené úspěchy. Největší chybou je, že model není schopen napravit své vlastní chyby: jedna vysoce spolehlivá (ale nesprávná) předpověď, řekněme odlehlá, může poškodit celý model.

Výcvik s více pohledy trénuje různé modely na různých pohledech na data, která mohou zahrnovat různé sady funkcí, různé architektury modelů nebo různé podmnožiny dat. Existuje celá řada tréninkových algoritmů s více pohledy, ale jedním z nejznámějších je trojvýcvik. V podstatě vytvoříte tři různorodé modely; pokaždé, když se dva modely shodnou na štítku datového bodu, tento štítek se přidá ke třetímu modelu. Stejně jako u autotréningu se zastavíte, když k žádnému z modelů nepřidáte žádné další štítky.

Self-ensembling obvykle používá jeden model s několika různými konfiguracemi. V metodě žebříkové sítě se predikce na čistém příkladu používá jako značka proxy pro náhodně narušený příklad s cílem vyvinout funkce, které jsou odolné vůči šumu.

Výukový program Jerry Zhu 2007 také zohledňuje řadu dalších algoritmů. Patří mezi ně generativní modely (například ty, které předpokládají Gaussovu distribuci pro každou třídu), podpůrné vektorové stroje s částečným dohledem a algoritmy založené na grafech.

Výuka s částečným dohledem v cloudu

Učení s částečným dohledem se pomalu dostává do běžných služeb strojového učení. Například Amazon SageMaker Ground Truth používá Amazon Mechanical Turk k manuálnímu označování a určování hranic části obrazové sady a k označení zbytku obrazové sady používá trénink neurální sítě.

Podobné schémata učení s částečným dohledem lze použít pro jiné druhy učení s částečným dohledem, včetně zpracování přirozeného jazyka, klasifikace a regrese na několika službách. Na většinu z nich však budete muset napsat vlastní kód lepidla pro algoritmus s částečným dohledem.

Přečtěte si více o strojovém učení:

  • Vysvětlení strojového učení
  • Hluboké učení vysvětleno
  • Zpracování přirozeného jazyka vysvětleno
  • Výuka pod dohledem je vysvětlena
  • Vysvětlení bez dozoru
  • Vysvětlení částečně pod dohledem
  • Výklad výztuže vysvětlen
  • Vysvětleno automatické strojové učení nebo AutoML
  • AI, strojové učení a hluboké učení: Vše, co potřebujete vědět
  • Nejlepší rámce pro strojové učení a hluboké učení
  • 6 způsobů, jak selhat strojové učení
  • Lekce strojového učení: 5 společností sdílí své chyby
  • Nejlepší software s otevřeným zdrojovým kódem pro strojové učení
  • 5 nejlepších programovacích jazyků pro vývoj AI