Článek
Jak nikdy neprohrát ve hře Tetris? Prostě zmáčknu pauzu. Jak postavit robota, který nejrychleji doběhne do 100 metrů vzdáleného cíle? Jednoduše udělám 100 metrů vysokého robota, který pak spadne – a je tam. Mám za úkol odstranit všechny pravopisné chyby? Žádný problém: Smažu celý text a s ním zmizí i chyby.
Čtete ukázku z newsletteru TechMIX, ve kterém Pavel Kasík a Matouš Lázňovský každou středu přinášejí hned několik komentářů a postřehů ze světa vědy a nových technologií. Pokud vás TechMIX zaujme, přihlaste se k jeho odběru!
To nejsou nápady z mé hlavy. Vymyslela je umělá inteligence, která měla za úkol najít optimální řešení, jak splnit zadání. A není přece její chyba, že zadání bylo tak nepřesné…
Po celém světě nyní lidé zjišťují, že umělá inteligence nás umí „poslechnout na slovo“. Ale často si ta slova vyloží způsobem, který by člověka nikdy nenapadl. Vítejte ve fascinujícím světě „reward hacking“ (někdy též "specification gaming"), tedy přirozené tendence neuronových sítí najít jakoukoli kličku, jak si usnadnit práci.
Není to nový problém, diskutovalo se o něm už v antice. „Chci, aby se vše, na co sáhnu, proměnilo ve zlato!“ Takovéto přání – dnes bychom řekli prompt? – vyslovil dle pověsti frygijský král Midas. Záhy ale zjistil, že šlo o přání s nezamýšlenými důsledky. Proměna totiž fungovala velmi mechanisticky a nebrala v potaz aktuální úmysl. Král se tak nemohl ani najíst, protože čeho se jeho rty dotkly, to se změnilo v nepoživatelný drahocenný kov.
Rozpor mezi úmyslem a doslovným výkladem je klasickou zápletkou v pohádkách. V českém folkloru je klasická ukázka Hrnečku, vař!. Užitečná schopnost produkovat jídlo se promění v hrozbu pro celou vesnici, protože kouzelný hrneček nezná míru (a ani zákon zachování hmotnosti).
V Erbenově Kytici zase čteme o matce, která je tak posedlá maximalizací zisku – nošením zlata z jeskyně – že v kouzelné jeskyni odloží své dítě, pro jehož zaopatření přitom zlato původně mělo sloužit. V blízkovýchodním folkloru pak v roli poťouchlých všemocných bytostí figurují džinové: Splní vám přání, ale dejte si pozor na to, co si přejete, protože se vám to splní doslova a do písmene. Obvykle úplně jinak, než jste doufali.
Pozor na to, co (a proč) měříte
Ekonomie tento problém pojímá jako nezamýšlené důsledky motivačních pobídek. V učebnicích se často uvádí jako příklad tzv. Kobří efekt. Britská koloniální vláda v Indii chtěla zamezit šíření jedovatých hadů v Dillí. Nabídla tedy vyplatit finanční odměnu za každou zabitou kobru, kterou lidé donesli. Více zabitých hadů by mělo znamenat méně volně se pohybujících hadů. To dá rozum, že?
Samozřejmě už tušíte, jak to dopadlo. Lidé optimalizovali na vlastní zisk, a tak kobry chovali v zajetí, aby měli zajištěný dlouhodobý přísun peněz. Britští úředníci si svou chybu uvědomili a program „výkupu“ zrušili. A co udělali chovatelé hadů? Vypustili je do přírody, protože už jim k ničemu nebyli.
Podobnou anabází si přibližně ve stejné době prošli francouzští kolonialisté v nedalekém Vietnamu, jen místo hadů vykupovali krysí ocasy. Efekt dvojitého selhání byl ale stejný: Nejenže se jim počet krys nepodařilo snížit, ale jejich množství svou nedomyšlenou pobídkou ještě znásobili.
Tohle jsou učebnicové a dosti dramatické ukázky. Určitě si ale každý z vlastní praxe vybavíte příklady, které třeba nejsou tak očividné, ale v principu ukazují na stejné selhání. Třeba když firma zjistí, že obchodníci s největším množstvím služebních cest přinášejí do firmy nejvíc peněz, a tak zvýší odměny za zahraniční cesty. Výsledkem je více cest, ale nižší zisky.
Britský ekonom Charles Goodhart to zjednodušil do poučky: „Jakákoli pozorovaná statistická pravidelnost bude mít tendenci se zhroutit, jakmile na ni bude vyvíjen tlak pro účely kontroly.“ Jednodušeji řečeno: „Pokud na nějakou metriku začnete optimalizovat, brzy bude tato metrika nepoužitelná.“
Virtuální cukr pro učenlivé neuronky
Už od nástupu počítačů vývojáři řeší právě tento problém: Jak dosáhnout výsledku optimální cestou, ale zase to s optimalizací nepřehnat? Jak komprimovat zvuk, aby byl stále srozumitelný. Jak spočítat nejkratší cestu na mapě, a přitom hledáním neztratit moc času. Byli to ale pořád lidští vývojáři, kteří si s těmito kompromisy museli nějak smysluplně poradit.
S nástupem neuronových sítí se ovšem situace posunula na novou úroveň. Tradiční počítačový program plní předem dané instrukce. Může být složitý, ale je zcela předvídatelný, tzv. deterministický. Neuronové sítě ale nejsou naprogramované v tradičním slova smyslu. Místo toho jsou „vychované“. Na základě trénovacích dat se učí, jak postupovat, aby dosáhly optimálního výsledku. To umožňuje neuronovým sítím řešit mnohem složitější úkoly, než na jaké by je kdy dokázali naprogramovat lidští programátoři.
Zároveň to ale někdy vede k nepředvídatelným výsledkům, které jsou z hlediska optimalizace pochopitelné, ale jdou zcela proti záměru lidských zadavatelů. A často se toto nedorozumění – rozpor mezi záměrem a výsledkem – odvíjí právě od toho, na jakou metriku mají za úkol optimalizovat.
V hantýrce trénování neuronových sítí se tomu říká odměna. Krása zpětnovazebního učení (reinforcement learning) spočívá právě v tom, že nemusíte počítači vysvětlovat, jak přesně má dosáhnout svého cíle. Jen mu ten cíl vysvětlíte a pak už necháte na neuronové síti, aby vyzkoušela různé strategie a metodou pokus-omyl (obvykle na milionové až miliardové škále) postupně vyladí optimální postup.
Je to bezesporu geniální posun paradigmatu. Výsledkem je totiž často mnohem robustnější řešení, které si překvapivě dobře poradí i s novými a těžko předvídatelnými situacemi. Ostatně děti se také neučí chodit studiem učebnic fyziky nebo anatomie. Místo toho – motivovány zvědavostí a zvýšením vlastního dosahu – si postupně osvojí ovládání svalů, rovnováhu, koordinaci… a nakonec za nadšeného povzbuzování udělají své první kroky.
Zpětnovazební učení odstartovalo novou kapitolu neuronových sítí a umožnilo řešit problémy, na které byly předchozí expertní systémy krátké. Zjednodušeně stačí obstarat buď dostatek tréninkových dat, nebo vytvořit prostředí, ve kterém může strojové učení experimentovat.
Tak se třeba robot naučí chodit v simulaci, kde vedle sebe škobrtá milion virtuálních robotů. V každé generaci dostávají odměnu za to, kolik virtuálních kroků dokáží ujít. A postupně se vytrénují.
Najednou se počítače mohly pustit do řešení komplexních úkolů, které by bylo nemožné popsat sérií klasických instrukcí POKUD-PAK-JINAK. Naučené neuronové sítě zvládají nejen hrát hry jako Go nebo Poker, ale hodí se i pro optimalizaci personalizovaného doporučení hudby, řízení zavlažování, vyhledávání stránek na internetu, doporučování nejkratší cesty a k optimalizovanému provozu komplexních systémů.
Jinými slovy, jejich užitečnost při hledání nečekaně optimálních řešení je zjevná. Ale ruku v ruce s tím jde i hrozba nečekaných důsledků.
Skulinka se vždycky najde
Určitě znáte někoho, kdo ve všem hledá nějaký chyták nebo skulinu. S takovým člověkem je „radost“ hrát stolní hry nebo jakýkoliv sport. Vždycky objeví něco, co sice není explicitně zakázané, ale všem spolehlivě zkazí hru. A podobně asociálně se často chovají neuronové sítě.
„Musíme si uvědomit, že neuronová síť neví nic jiného, než co jsme jí zadali,“ vysvětlil mi v rozhovoru informatik Richard Sutton, jeden z otců strojového učení. „Takže pokud se jí povedlo splnit zadání, je jedno, jak toho dosáhla. Možná to není to, co jste doopravdy chtěli, ale je to správné řešení dle vašeho zadání.
Příkladů takových „správných řešení nesprávného zadání“ je celá řada. Některé jsou nesmírně vtipné. Třeba když programátor a grafik Karl Sims pomocí genetického algoritmu hledal virtuální mechanismy schopné chodit.
Když ve své dnes již legendární studii z roku 1994 popsal trénování těchto neohrabaných „tvorů“, zmínil, s jakými problémy se setkal, když je učil chodit: „Jak hodnotící kritérium jsem zvolil horizontální rychlost. Tu vertikální jsem ignoroval. Je nutné dát pozor na to, aby tvorové nedosáhli vysoké rychlosti prostě tím, že spadnou.“

Jak nejrychleji dosáhnout na kostku? Prostě s sebou fláknu, zjistil virtuální kvádr metodou pokus omyl. Není to moc elegantní ani užitečné, ale za eleganci ani užitečnost body nedostával.
Když tedy zadáme pouze cíl, můžeme se dočkat toho, že se umělá inteligence do toho cíle dostane, ale způsobem, který nás nepotěší. V případě vysokých padajících robotů je to úsměvné, v jiných kontextech je to k vzteku. Třeba když programátoři vytvořili pomocí genetického programování nástroj, který opravoval chyby v softwaru. Zní to skvěle: zadáte umělé inteligenci, co má opravit, napíšete ověření této opravy, a pak ji necháte, dokud nedosáhne cíle. Jenže když takový genetický algoritmus opravoval pomalé seřazení seznamu, zjistil, že nejrychlejší řešení je celý soubor smazat. Protože když je soubor prázdný, tak je – přísně technicky vzato – perfektně seřazený. Respektive není v něm jediná věc mimo pořadí. A je to bezkonkurenčně nejrychlejší řešení…
Aby se vývojáři vyhnuli těmto nečekaným koncům, přišli s „postupnými odměnami“. Což je koncept známý i hráčům počítačových her, třeba v podobě sbírání bodů, zatímco procházíte úrovní. Body vás po cestě povzbuzují. A podobné „body za snahu“ programátoři často používají k tomu, aby posílili nějaké chování umělé inteligence na její cestě za obtížným cílem. Ale i to se často vymstí. Ve slavné ukázce z roku 2016 dostala AI za úkol hrát jednoduchý simulátor lodi, která jezdí u pobřeží a může sbírat body. Agent AI získal nejvíce bodů, co šlo: nekonečno.
Našel totiž obskurní zákoutí, ve kterém se znovu-objevovaly odměny za průjezd. Místo jízdy do cíle pak jezdil v kruzích a sbíral body, dokud jej nevypnuli.
Můj oblíbený příklad reward hacking – nalezení nečekaného řešení, které je v rozporu se záměrem zadavatele – je úspěšné rozpoznávání vlků od psů. Neuronová síť vytrénovaná na reálných fotkách dosahovala vysoké úspěšnosti. Když se ale výzkumníci podívali, podle čeho dělá svá rozhodnutí, zjistili, že se vůbec nekouká na zvíře samotné. Místo toho věnuje pozornost okolí: když vidí sníh, je to nejspíš vlk.

Vlevo analyzovaná fotka, vpravo části fotky, které neuronová síť použila ve svém rozhodnutí.
„Toto chování je způsobené špatnou specifikací zadání,“ vysvětlují odborníci z DeepMind. „Nejde o chybu ve zpětnovazebním algoritmu.“ Algoritmus naopak správně našel řešení, které lidi nenapadlo. Tým bezpečnostních odborníků z DeepMind upozornil, že jde o častý problém, který nemá jednoduché řešení: „Tyto problémy budou v budoucnu pravděpodobně stále obtížnější na řešení, protože schopnost umělé inteligence splnit zadání úkolu na úkor zamýšleného výsledku bude narůstat.“
Většina těchto „skulinek“ (tedy rozporů mezi literou a úmyslem zadání) bývá úsměvná. V poslední době se ale roztrhl pytel s AI agenty, kteří dostávají do svých robotických rukou otěže od nejrůznějších věcí. Džin už je zkrátka vypuštěn z lahve. A zadání, které dostane, bere často nepříjemně vážně. Nebere v potaz to, co jste mysleli, nevidí vám do hlavy, a optimalizuje na výsledek, hlava nehlava.
V plné verzi newsletteru TechMIX toho najdete ještě mnohem víc. Přihlaste se k odběru a budete ho dostávat každou středu přímo do své e-mailové schránky.