Blog o AI

Jak se model učí: databáze, algoritmus a řezník, který váží salám

Tři věci rozhodují o tom, co vám AI odpoví: co má v paměti, jak s tím zachází a kde je hranice mezi „dost dobře" a „ještě jednou". Bez nich nepochopíte ani halucinace, ani proč stejná otázka dá pokaždé jinou odpověď.

Trénování AIDatabázeAlgoritmusZtrátová funkce

Předchozí díl skončil u knihovny a knihovnice. Tento jde dovnitř: co přesně se v tom modelu odehrálo, než vám vůbec začal odpovídat. Jsou to tři věci a každá umí výsledek pokazit jinak.

1. Databáze: co model vůbec zná

Databáze je pro AI zdrojem informací - stejně jako má člověk paměť, zážitky a zkušenosti. Můžou to být texty, obrázky, zvuk i video.

Rozdíl je v uspořádání. Data mohou být strukturovaná - knihy v regálu srovnané po oborech - nebo nestrukturovaná, tedy nasypané na hromadu, kde hledání trvá déle a dopadá hůř. Každý kus informace se navíc dá předem označkovat, aby se k němu dalo dostat rychle.

Tři sady, které znáte ze školy

Data se nepoužívají všechna najednou. Dělí se podle toho, k čemu slouží - a nejlíp to jde vysvětlit na školním roce.

Trénovací sada - výuka
Data, na kterých se model učí. „Takto vypadá pes."
A není to snadné. Bernardýn vypadá jinak než pražský ratlík. Je vlk pes? Proč je lvice kočka, když má rysy podobné psovi?
Validační sada - opakování
Jiná data, než na kterých se model učil. Ověřuje se, jestli pochopil princip, nebo jen memoroval.
Ve škole je to volná rozprava po probrané látce, kdy učitel jde na téma z jiné strany a koriguje míru porozumění.
Testovací sada - zkouška
Závěrečný test. Ukáže se úspěšnost modelu v situaci, kterou nikdy neviděl.
A ukáže se kvalita nejen studenta, ale i učitele. Propadne a bude opakovat ročník, nebo ho pustíme do světa s diplomem?

Člověk se přitom neučí jinak. I jemu se předkládají pojmenované vzory a tvrdí se mu, že toto je správně a tamto špatně.

Kde se to láme

Naučit malé dítě označovat zelenou barvu jako červenou je bez problému proveditelné. Přesně takové chyby nastávají při učení modelů - a nikdo je nepozná, dokud na ně nenarazí v provozu.

Horší je to, když model narazí v datech na protichůdné informace. S tím je dospělý člověk konfrontovaný denně a modely s přístupem na internet jsou na tom stejně.

Zamysleme se volně

Jakou sadu dat by AI dostala, kdyby to bylo pouze na vládě jedné konkrétní země? A jak moc se dá spolehnout na model postavený mimo jiné na vědeckých studiích, když pravdivost mnohých byla časem zpochybněna nebo zcela popřena, protože autoři vědomě falšovali výsledky? Model tu otázku nepoloží. Položit ji musíte vy.

2. Algoritmus: jak s tím model zachází

Algoritmus jsou postupy a pravidla, kterými program napodobuje způsob, jak přemýšlí člověk (neuronové sítě), nebo některé principy z přírody (například genetické algoritmy). Díky nim se dá z dat učit, rozpoznávat vzory a rozhodovat.

Druhů je víc a nepotřebujete je umět vyjmenovat. Stačí vědět, že existují a k čemu jsou:

Nedokonalý stejně jako člověk

Člověk nemůže rozumět úplně všemu. Něco ještě neviděl, něco mu někdo špatně vysvětlil, na něco už nemá kapacitu. Algoritmus je na tom přesně stejně - někdo mohl zpackat jeho učení, ověřování nebo samotnou stavbu.

A pak je tu provoz. Člověk dostává zpětnou vazbu denně: tento výsledek je správně, tento postup ne, v restauraci se chovej takto. Díky tomu se zlepšuje.

Model se z provozu učí taky - když mu to dovolíte.
Palec nahoru a dolů u odpovědi není hlasování o oblíbenosti. Je to ta školní známka.

Druhá strana téže mince

Přesně tímto způsobem se dá model, asistent nebo agent naučit i nesprávné věci. Když odsouhlasíte, co vám zní dobře, místo toho, co je správně, učíte ho přesně to.

3. Ztrátová funkce: kde je hranice „dost dobře"

Zbývá poslední díl, o kterém se skoro nemluví, a přitom vysvětluje to, co lidi na AI mate nejvíc.

Představte si řezníka a zákazníka, který si řekne o dvacet deka salámu. Řezník nakrájí kolečka, hodí je na váhu a podívá se. Nikdy jich nenakrájí přesně na gram - a nikdo to po něm nechce. Někde je hranice, za kterou je to ještě v pořádku, a za kterou už ne. Řekněme osmnáct až dvaadvacet deka.

Ztrátová funkce je přesně tato hranice, jen pro model. Je to způsob, jak se modelu při učení říká, jak moc byl jeho výstup vedle.

A tu hranici tam nedal vesmír. Dal ji tam člověk, který model stavěl. Budou v ní jeho nedostatky, jeho pohled na svět a jeho zkušenost s tím, jak se taková úloha řeší nejlíp. Stejně jako se chleba nepeče podle jednoho jediného receptu, i přístupy k tvorbě modelů se hodně liší - byť mouka a voda, tedy databáze a algoritmus, se používají skoro vždycky.

Udělat opravdu dobrou ztrátovou funkci je věda. A úplně nakonec stejně musí někdo říct, že absolutní pravda neexistuje a cokoli mezi osmnácti a dvaadvaceti deka je v pořádku.

Proto dostanete pokaždé trochu jinou odpověď

Toto je odpověď na otázku, kterou dostávám nejčastěji. Ptáte se dvakrát na totéž a dostanete dvě různé odpovědi - a napadne vás, jestli je ta věc vůbec spolehlivá.

Model postupuje podle stejného algoritmu. Jen vezme některou informaci - jedno kolečko salámu - o kus dřív nebo později, a místo jednadvaceti deka má najednou devatenáct. Je to v normě? Ano. Pouští to jako správné řešení.

Není to chyba. Je to tolerance.
A dokud nevíte, že tam nějaká je, vypadá každá odchylka jako porucha.

Tatáž tolerance stojí i za tím, čemu se říká halucinace - odpověď, která zní přesvědčivě a přitom není pravdivá. Model nedostal za úkol říct pravdu. Dostal za úkol vejít se do své hranice „dost dobře" - a odpověď, která je jazykově v pořádku a věcně vedle, se do ní vejde stejně dobře jako ta správná. Proč to zní tak sebejistě, je téma na samostatný díl.

Co si z toho odnést

Většina lidí má potíž představit si, že software není dokonalý. Ale je to jen počítačový program: pracuje s kombinacemi jedniček a nul, používá nepřesné výpočetní postupy a všechno velmi nelidsky poměřuje matematickými kritérii, která mu nastavil člověk. Jinak to neumí.

A to, že je programově tlačený k co nejlepšímu výsledku, má jeden nepříjemný důsledek. Chová se občas jako podvodník - ten taky chce co nejlepší výsledek a někdy jde za hranici slušnosti nebo zákona. Algoritmus obětuje cokoli, aby jeho ztrátová funkce vyšla co nejlíp. Když mu tedy zadáte cíl, ujistěte se, že jste zadali i mantinely.

Kam dál

Chcete poznat, kdy je odchylka v normě a kdy je to chyba?

Online kurz staví na tom, proč věci fungují - takže poznáte, co se od modelu dá čekat, co se musí ověřit a jak si nastavit mantinely dřív, než si je model nastaví sám.

Podívat se na kurz
Pavel Filip Ph.D. v užití AI pro optimalizační procesy · 20+ let ve vrcholovém vedení firem O autorovi