Page 1

dobře, že Lee Sedola porazil čtyři ku jedné a potom v „přestrojení“ v neoficiálních online turnajích porážel jednoho hráče za druhým. Nakonec našel svého přemožitele v nové verzi programu s názvem AlphaGo Zero, který se go naučil hrát tak, že hrál jenom sám proti sobě. Když AlphaGo popíšeme takto jednoduše, přirozeně to vzbudí obavy, že počítače se dokáží sami zdokonalit až na úroveň, kdy ovládnou lidstvo. Zatímco u šachu byl počítačový program převážně postaven na lidských znalostech, AlphaGo už se učil sám. Opět však připomeňme, že AlphaGo pořád umí hrát jen go a nic víc.

I počítač už blafuje Podobně jako go patřilo dlouhou dobu k „oříškům“ počítačem hraných her, tak se dlouho nedařilo vytvořit program hrající na úrovni nejlepších lidských hráčů pro hru odlišného typu, pro poker. Go, šachy i dáma jsou ve své podstatě velmi podobné, patří do kategorie her s úplnou informací, tedy hráči v nich přesně ví, jak vypadá aktuální herní situace a co všechno může udělat protihráč. Jejich rozdílná náročnost byla dána různou kombinatorickou složitostí, stručně řečeno, náročnost hraní je dána počtem možných tahů, které je potřeba prozkoumat, a délkou hry. Složitost pokeru je ukryta jinde, zde totiž hráči nemají přesnou znalost situace, neznají soupeřovy karty ani karty, které teprve přijdou. Svým způsobem se hra blíží reálnému životu, kde také nemáme úplné informace o světě kolem nás, na jejichž základě se máme rozhodnout (vzpomeňme na pád meteoritu při přechodu mostu). Pořád však jde o hru s pevně danými pravidly a i ukrytá informace může být jen daného omezeného počtu typů (možné karty). 46


Kdepak to jsem? ?????????????????????????? Aha, u dveří. Ale u kterých? ?

?

? Teď už to vím (skoro) jistě.

Obrázek 4. Pravděpodobnostní lokalizace robota

U pokeru se dlouho vedly a vlastně stále vedou spory, zda jde o hru hazardní, v níž záleží pouze a jen na náhodě, nebo o sport, ve kterém se hráči mohou porovnávat na základě svých dovedností. Počítačem hraný poker mírně ukazuje, že by dovednosti mohly být důležité. Neúplná informace, o které jsme v souvislosti s pokerem hovořili, se totiž dá formálně modelovat a dá se s ní potom pracovat. Potřebujeme k tomu teorii pravděpodobnosti. Jak lze pracovat s neúplnou informací, si ukážeme na příkladu z jiné oblasti, pravděpodobnostní robotiky. Představte si robota stojícího vedle dlouhé stěny s trojicí dveří. Robot má zjistit, kde se u stěny nachází a ví, kde ve stěně ty dveře jsou (má mapu celé stěny), ale aktuálně vidí jen své blízké okolí. Například vidí, že stojí vedle dveří, ale neví přesně, které z těch dveří to jsou, kde u stěny se nachází. Nemá tedy přesnou informaci o své poloze, ale může svoji polohu popsat pravděpodobností pro každé možné místo, kde může stát. Místa, která nejsou vedle dveří, mají pravděpodobnost 0 a místa vedle dveří mají pravděpodobnost 1/3 (máme troje dveře). Říká se tomu domnělý stav. Když se teď robot posune na další pozici, získá další pozorování okolí, na jehož základě může zpřesnit odhad své polohy, viz obrázek 4. Je to stejné, jako když vás vysadí s mapou v neznámém městě – na mapě najdete místa odpovídající tomu, jak to 47


vypadá kolem vás, vydáte se nějakým směrem a pokud další pozorování odpovídají mapě, jste si více a více jistí, kde se nacházíte. Podobně lze reprezentovat stav pro hry jako je poker. U pokeru práce s pravděpodobností otevírá cestu pro počítačové programy. Ty sice nebudou schopny garantovat výsledek jedné konkrétní hry (když dostanete špatné karty, tak s tím nic nenadělá ani nejdokonalejší počítač), ale statisticky v průběhu většího množství her může dobrý hráč vítězit. A to už dnešní pokerové programy dokáží. V počítačovém pokeru se podobně jako u dámy velmi dobře vede Univerzitě v Albertě, tentokrát týmu pod vedením Michaela Bowlinga. Jejich program Cepheus nejprve v roce 2015 našel nejlepší strategii pro hru Heads-up Limit Hold’em Texas Poker a potom v roce 2017 program DeepStack začal porážet lidské hráče v Texas Hold’em No Limit Pokeru (Moravčík et al., 2017). Tento úspěch nese také výraznou českou stopu, k tvorbě programu DeepStack totiž zásadně přispěli výzkumníci z pražské Matematicko-fyzikální fakulty UK a Fakulty elektrotechnické ČVUT. Jak napovídá název DeepStack, opět v něm nemalou roli hraje hluboké učení, tedy umělá neuronová síť starající se tentokrát o počítání pravděpodobností možných stavů. Zbytek potom řeší klasické prohledávání možných tahů v podobném stylu, jako jsme o něm hovořili u AlphaGo. Zde však program po každém tahu soupeře získá další informaci, takže může upřesnit svůj odhad pravděpodobností a na jeho základě upravit své další rozhodnutí. Výpočetně náročné je hlavně učení sítě, které lze ovšem udělat před započetím hry. Neuronové sítě se dnes typicky učí použitím velkého množství GPU (grafických karet, které umí provádět množství výpočtů paralelně) a vlastní program, ve kterém už se síť jenom používá, běží poměrně rychle i na běžném hardwaru. To je velký rozdíl oproti konkurenčnímu programu Libratus 48


z Carnegie Mellon University (tým Tuomase Sandholma), který běžel na super-počítači a v turnaji s lidskými hráči vždy během noci analyzoval nalezené slabiny své hry, takže další den byl zase o něco lepší. Bohužel jsme se zatím nedočkali souboje těchto dvou programů proti sobě, takže nelze říct, který z nich je lepší.

Riskuj, ale opatrně Před závěrem kapitoly o hrách se podívejme ještě na jeden souboj člověka s počítačem. Nejde sice o klasickou hru, ale spíše o soutěž, která má k umělé inteligenci možná blíže než dosud popisované hry. Řeč je o již zmíněné soutěži Jeopardy! Když firma IBM hledala další zajímavou oblast, která by ji marketingově zviditelnila podobně, jako se to podařilo šachovému počítači Deep Blue, ale která by zároveň vedla ke komerčně využitelnému produktu, padla volba na populární televizní znalostní soutěž. Již slovo znalostní ukazuje, že pro úspěch v soutěži jsou potřeba nejen znalosti, ale i  schopnost s nimi pracovat, tedy něco, v čem bychom právem očekávali použití technik umělé inteligence. Počítače byly a vlastně ještě pořád jsou považovány za ideální nástroj pro vyhledávání encyklopedických znalostí. Nejprve se k tomu používaly elektronické verze encyklopedií uložené na CD-ROM, později tuto roli převzal internet a katalogizované zdroje informací typu Wikipedia či obecné vyhledávače typu Google nebo Seznam. Databázové aplikace, tedy programy pro práci s daty, jsou stále jednou z nejvyužívanějších oblastí poskytovanou počítači. Zdálo by se tedy, že pro počítačové Jeopardy! není potřeba nic nového vymýšlet, pouze zadáme dotaz do vhodné databáze a máme odpověď. Jenže právě tady vězí kámen úrazu. Databáze nejsou nic jiného 49


než obrovské tabulky s přesně uloženými informacemi, například datum a místo narození dané osoby, jeden řádek tabulky pro jednu osobu. Abyste databáze mohli používat, musíte do nich tyto informace nejprve zadat a potom přesně vědět, jak tabulky vypadají, abyste informaci z nich jasně položeným dotazem získali. Pro zodpovězení otázky, zda se mohli potkat Isaac Newton a Albert Einstein, si musíte nejprve uvědomit, že setkání znamená doslova být ve stejné chvíli na stejném místě, takže pokud dvě osoby žily v různé době, setkat se nemohly. Teprve s touto úvahou můžete jít do databáze a hledat, kdy Isaac Newton a Albert Einstein žili. Už zde také padl názor, že hledání odpovědí na otázky je přece snadné, stačí otázku „napsat do Googlu“. Pokud použijete vhodná klíčová slova, často se tak odpovědi doberete. Mnohem častěji však dostanete seznam odkazů na webové stránky, které s dotazem mají pramálo společného a které vám Jeopardy! vyhrát nepomohou. Proč je tedy počítačové soutěžení v Jeopardy! tak náročné? Důvodem číslo jedna je přirozený jazyk, který se používá pro nápovědu/otázku. Jeho skutečné porozumění je díky nejednoznačnostem, možnostem vyjadřovat stejnou informaci různými způsoby či netriviálním vazbám mezi slovy velmi komplikované. Znamená slovo „koleje“ trať pro vlak nebo ubytovnu studentů? Je Albert a Bertík stejná osoba? Je rodiště také místem narození? Podobných příkladů bychom našli spoustu. Co se zdá pro lidský mozek snadné, je pro počítač velmi náročné. Další složitostí Jeopardy! je práce v tzv. otevřeném světě. Okruh otázek, které se mohou v soutěži objevit, není ničím omezený. Nestačí se naučit jména a délky všech řek, otázka může být třeba z oblasti astronomie. Navíc je potřeba schopnost kombinovat informace různých typů a odvozovat nové závěry, které sice nebyly nikdy nikde uvedeny, ale které ze známých faktů přirozeně plynou (viz setkání Newtona a Einsteina). 50


Když jsme si dostatečně objasnili, proč zvítězit v Jeopardy! není jednoduché, pojďme se teď podívat, jak se programu Watson podařilo v roce 2011 porazit dva z nejúspěšnějších šampionů v této soutěžní hře, Brada Ruttera a Kena Jenningse. Pokud čekáte, že za Watsonem stojí nějaká nová průlomová technologie, tak vás zklamu. Watson je hlavně důmyslná integrace spousty známých technik pro analýzu textu, vyhledávání informací, reprezentaci znalostí a strojové učení. Je založený na architektuře DeepQA, což je stručně řečeno obecný systém pro zodpovídání dotazů v přirozeném jazyce (QA znamená Question Answering). Než se Watson mohl pustit do vlastní soutěže, musel se na ni připravit. Tato příprava spočítala ve sběru a organizaci informací, pro které se používaly běžné zdroje strukturovaných informací, jako je DBpedia, ale i množství nestrukturovaných textů včetně celé Wikipedie, různých slovníků, encyklopedií i literárních děl. Technikami strojového učení si Watson vytvořil obrovskou síť pojmů a vztahů mezi nimi, například že voda je tekutina nebo že pondělí je den v týdnu, a tuto síť následně používal pro zodpovídání dotazů. Z položené nápovědy, věty v přirozeném jazyce, Watson udělal menší síť popisující objekty a vztahy mezi nimi, které nápověda popisuje. Tuto malou síť se potom pokusil najít ve své síti znalostí a pomocí ní doplnit informaci, která v té malé síti z nápovědy chybí. Při zodpovídání dotazů tak Watson používal jen vlastní uložené informace, nebyl nijak připojený na internet. Tento způsob zodpovídání dotazů a jeho odlišnost od klasického vyhledávání klíčových slov si ukážeme na příkladu, na kterém schopnosti Watsona demonstroval David Ferrucci, šéf týmu stojícího za vývojem DeepQA a Watsona. Uvažujme následující nápovědu: „V květnu 1898 Portugalsko oslavilo čtyřsté výročí příjezdu tohoto objevitele do Indie.“ 51

ukázka | Co je nového v umělé inteligenci | s. 46 - 51  
ukázka | Co je nového v umělé inteligenci | s. 46 - 51  
Advertisement