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ěď.
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.
Č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ě.
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:
- strojové učení - učení z příkladů: takto vypadá kočka, pes, strom;
- hluboké učení - vrstvené sítě inspirované lidským mozkem;
- zpracování přirozeného jazyka - to, díky čemu vám model rozumí;
- rozpoznávání obrazu - to, díky čemu vidí, co je na fotce;
- evoluční algoritmy - řešení se zlepšuje mutací a výběrem, jako v přírodě.
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.
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.