Két magyar kutató kulcsszerepet játszott abban a történelmi pillanatban, amikor egy évtizeddel ezelőtt a gép végleg felülmúlta az embert a gó játékában.


Tíz év telt el azóta, hogy a mesterséges intelligencia történetében egy váratlan és korai áttörés következett be, amelyre akkoriban senki sem számított – a szakértők legalább egy évtizeddel későbbre várták ezt az eseményt. Ez a mérföldkő jól tükrözi a jelenleg is zajló AI-forradalmat, amelyet folyamatos meglepetések és új felfedezések jellemeznek. Manapság már természetesnek tekintjük, hogy az adatok képezik a fejlődés motorját, és a megfelelő számítási kapacitás birtokában a gépi tanulás révén olyan összefüggések tárulnak fel, amelyek sokszor még az emberi elme számára is elérhetetlenek. Ennek következtében a gépek egyre inkább túlszárnyalják az emberi képességeket számos területen.

2015. október 5. és 9. között a DeepMind által kifejlesztett AlphaGo, pontosabban annak az elosztott számítási kapacitást használó verziója, amely abban az időben 1202 központi processzort (CPU-t) és 176 grafikus processzort (GPU-t) használt, 5-0-ra legyőzte Fan Huj kínai származású 2 danos profi Európa-bajnok gojátékost. Ez volt az első alkalom, hogy egy számítógépes goprogram profi játékos ellen nyert előnykő nélkül, teljes méretű (19×19 mezős) táblán. A hír nyilvánosságra hozásával 2016. január 27-ig vártak, hogy az egybeessen az algoritmust közzétevő Nature-cikk megjelenésével.

Az esemény igazi fordulópontot jelentett a gépi tanulás történetében, hiszen a go játék rendkívüli bonyolultsága lenyűgöző: a játszható pozíciók száma 10^170, ami messze meghaladja a megfigyelhető univerzumban található atomok mennyiségét (10^80). Míg az IBM Deep Blue 1997-ben sakkban legyőzte a világbajnok Garri Kaszparovot, itt a helyzet sokkal összetettebb volt. A gép gyorsasága önmagában nem volt elegendő, hiszen a Föld összes számítógépe sem tudta volna évekig számba venni az értelmesnek tűnő lehetőségeket. A kulcs a gépi tanulás és egy kifinomult keresési algoritmus ötvözésében rejlett, és kevesen tudják, hogy ezen a téren két magyar kutató, Kocsis Levente és Szepesvári Csaba, jelentős szerepet játszott. Az általuk kifejlesztett UCT algoritmus révén óriási lépést tettek a go-alapú algoritmusok, így az AlphaGo, forradalmi fejlődésében.

Az UCT algoritmus, amely az Upper Confidence bounds applied to Trees kifejezés rövidítése, egy rendkívül okos megoldást kínál arra a kihívásra, amely a gépi döntéshozatalt érinti, különösen akkor, amikor a lehetőségek tárháza szinte végtelen, de az idő korlátozott. Az önálló tanulás során az egyik leglényegesebb kérdés, hogy miként tudjuk a leghatékonyabban kihasználni a rendelkezésünkre álló időt és erőforrásokat. A tanuló rendszerek folyamatosan egyensúlyoznak két, egymással ellentétes cél között: a kihasználás (exploitation) és a felfedezés (exploration) között. A kihasználás azt jelenti, hogy a gép a már ismert és bevált lépéseket preferálja, mélyebb elemzésekbe merülve, míg a felfedezés a kockázatosabb, új lehetőségek feltérképezését jelenti. Ez utóbbi folyamat nem mindig történik éles helyzetekben, gyakran szimulációk révén valósul meg, ám jelentős erőforrások befektetését igényli.

A tanulásra képes intelligens ágensek működése mélyebb értelmet nyer, ha úgy tekintünk rájuk, mint akik folyamatosan modellek építésével foglalkoznak. Ezek a modellek általában csak közelítő reprezentációk, így elengedhetetlen a megfelelő egyensúly megtalálása a meglévő paraméterek finomítása és új, potenciálisan jobban illeszkedő modellek keresése között. A két véglet azonban mindig kockázatos: ha az ágens csak a jól bevált módszereket alkalmazza, könnyen beleragadhat egy helyi optimum csapdájába, míg ha állandóan új megoldásokat keres, akkor nem tudja megfelelően kihasználni a már megszerzett tudást, és rengeteg erőforrást pazarol el kísérletezésekre. A siker titka tehát abban rejlik, hogy bölcsen válasszuk meg, mikor és milyen mértékben áldozunk a felfedezésre, és mikor érdemes a már meglévő ismereteink mélyítésére koncentrálni.

A kihívás valójában még ennél is sokkal szélesebb spektrumot ölel fel. A dilemma nem csupán a természetes vagy mesterséges intelligencia területén van jelen -- az evolúció működése is ezen egyensúly finom játékán alapul. Egy olyan faj, amely csupán a már bevált túlélési stratégiáit alkalmazza, könnyen védtelenné válik a folyamatosan változó környezeti hatásokkal szemben. Ezzel szemben egy közösség, amely túlzottan elkalandozik az új lehetőségek felé, könnyen elaprózhatja erőforrásait, és mások elnyomhatják, mielőtt bármelyik új módszer valóban eredményesnek bizonyulna. Az élet hosszú távú sikerének titka abban rejlik, hogy megtaláljuk a stabilitás és a változás, a biztonság és a kockázat között azt a törékeny egyensúlyt, amely lehetővé teszi a fenntartható fejlődést.

A problémára adott hatékony megoldás két neves magyar kutató, Kocsis és Szepesvári nevéhez fűződik, akik olyan helyzetekre kínálnak innovatív megoldást, ahol a lehetőségek száma rendkívül nagy, mint például játékokban vagy összetett döntési folyamatok során. Az alapgondolat viszonylag egyszerű: minden egyes döntési lehetőséghez ki kell számítani a hozzá tartozó átlagos eredményt és a bizonytalanságot. Ezek összege adja meg az optimista becslést, más néven a felső konfidenciahatárt, amely megmutatja, mennyire ígéretes egy adott döntés. Ha egy lépést már sokszor teszteltünk (exploitation), akkor az átlagos eredmény valószínűleg magasabb, míg a bizonytalanság alacsony. Ezzel szemben, ha egy lépést ritkábban próbálunk ki (exploration), az átlagos eredménye valószínűleg alacsonyabb, de a bizonytalanság nagyobb. Az algoritmus mindig azt a lehetőséget választja, amelyiknek a legmagasabb az aktuális optimista becslése. Ez a választás a felfedezés iránti kíváncsiság és a már bevált lehetőségek eredményessége között ingadozik. Az UCT algoritmus tehát matematikailag megalapozott "kíváncsiságot" biztosít a gép számára. A rendszer nem véletlenszerűen kísérletezik, hanem statisztikai alapú döntéseket hoz arról, mikor érdemes kockázatosabb lépéseket is kipróbálni, így optimalizálva a döntéshozatali folyamatot.

A szerzők 2006-os publikációjukban nem csupán elméleti szempontból igazolták, hogy algoritmusuk közel optimális megoldásokat kínál megfelelő mennyiségű mintavételezés esetén, hanem azt is demonstrálták, hogy mindezt számítási szempontból is hatékonyan valósítják meg. Ráadásul a gyakorlati alkalmazásokhoz elengedhetetlen hibabecsléseket is nyújtottak. Az UCT (Upper Confidence bounds for Trees) alkalmazási lehetőségei azonban messze túlnyúlnak a klasszikus go játékon, hiszen napjainkban már az önvezető autók valós idejű útvonaltervezésében, az erőforrások optimalizálásában, sőt új gyógyszermolekulák felfedezésében is kulcsszerepet játszik. Akiket ennél részletesebben is foglalkoztat a téma, ajánlom figyelmükbe a "MIcsoda világ!" című rádióműsor legfrissebb epizódját, ahol Kocsis Leventével, az egyik szerzővel beszélgettem az évforduló alkalmából.

Ha a go játékra gondolunk, érdemes észrevenni, hogy az AlphaGo története talán azért nem terjedt el széles körben, mert Nyugaton ez a játék viszonylag ismeretlen. Pedig valójában egy olyan ősi táblajátékot ismerünk, amelyet ma is milliók játszanak, és melynek gyökerei több mint négyezer évre nyúlnak vissza. A go varázsa abban rejlik, hogy bár a szabályai rendkívül egyszerűek, a játék mélységei és bonyolultsága szinte végtelen. Nehéz lenne olyan másik játékot találni, amely ennyire harmonikusan egyesíti az alapvető könnyedséget a stratégiai gondolkodás gazdagságával.

A go szabályait néhány egyszerű mondatban összefoglalhatjuk. A játék során a résztvevők felváltva helyeznek le fekete és fehér köveket egy 19×19 mezős rács kereszteződéseire, és az a céljuk, hogy minél nagyobb területet kerítsenek be az asztalon. A kövek csak akkor távolíthatók el, ha azokat teljesen körbekerítik az ellenfél kövei, így "elfogva" őket. A játék végén az nyer, akinek a legnagyobb területe és a legtöbb elfogott kő van. A szabályokat kiegészítik a csiki-csuki helyzetekre vonatkozó előírások, valamint az "öngyilkosság" megengedésének szabálya - ezzel véget is ér a szabályok sora. Azonban a játék lehetőségei szinte korlátlanok. A góban nincsenek különböző típusú bábuk, mint a sakkban, így minden kő értéke attól függ, hogy hogyan viszonyul a többihez. Ezért a játék különösen nagy hangsúlyt helyez a játékosok geometriai érzékére, intuíciójára és stratégiai gondolkodására.

A go mélysége még inkább kiemelkedik egy objektív mérce segítségével, amelyet Mérő László szokott alkalmazni a sakkhoz való viszonyításkor. Például, ha két sakkjátékos között "egy klasszis" különbség van, az annyit jelent, hogy az egyik nagyjából 75 százalékos eséllyel győzheti le a másikat. Ez körülbelül 200 Élő-pontnyi eltérésnek felel meg, ami azt mutatja, hogy a világbajnok szintje és egy kezdő játékos között lényegében kilenc klasszis különbség húzódik. Ezzel szemben a go játékban a klasszisok száma 13-15 között mozog, ami jól tükrözi a játék rendkívüli fejlődési potenciálját és a benne rejlő stratégiai gazdagságot.

Ez a különleges mélység az, ami évezredek óta életben tartja a játék varázsát, és amiért ma is élő, tanulásra vágyó közösségek formálódnak szerte a világban. Magyarországon is pezsgő goélet bontakozik ki: számos klub működik, amelyek rendszeresen részt vesznek különböző társasjátékos eseményeken, mint például a Társasjátékok Ünnepe. Itt bárki kedves invitálásával találkozhat, hogy megismerkedjen az alapokkal, emellett pedig komoly versenyeket is szerveznek, ahol a játék iránti szenvedély és a kihívás találkozik.

A go egyik legérdekesebb vonása, hogy különböző szintű játékosok élvezetes összecsapásokat vívhatnak egymással. A játék lehetőséget biztosít arra, hogy előny (handicap) adásával a gyengébb játékos néhány követ előre helyezzen el a táblán, ezzel kiegyenlítve a versenyt. Ennek következtében a kezdők, profik, gyerekek és felnőttek egyaránt úgy játszhatnak, hogy tudásszinttől függetlenül tanulhatnak a játéktól. Ez az előnyadás lehetősége különösen figyelemre méltó, hiszen napjaink legjobb go-programjaival szemben már csakis ilyen előnykövekkel lehet esélye egy embernek. De nézzük meg lépésről lépésre, hogyan alakult ki ez a helyzet!

Miután az AlphaGo 2015-ben legyőzte a kontinens legjobb játékosát, Fan Hujt, újabb izgalmas kihívás várta: 2016-ban Szöulban mérkőzött meg Lee Sedollal, aki tizennyolcszoros dél-koreai világbajnokként a Go játék legendájának számított. A gép végül 4-1-es eredménnyel diadalmaskodott, és a világ elképedve figyelte, ahogy olyan lépéseket hajt végre, amelyeket a legkiválóbb mesterek is "kreatívnak" minősítettek. A második játszma ikonikus 37. lépése különösen emlékezetes volt, mivel Lee Sedol percekig csak szótlanul bámulta a táblát, nem tudva felfogni a gép váratlan húzását. E történelmi összecsapást világszerte körülbelül 200 millió ember követte figyelemmel, és a párharcról készült díjnyertes dokumentumfilm 2017-ben látott napvilágot. A győztes számára felajánlott egy millió dolláros jutalmat pedig karitatív célokra, többek között az UNICEF javára ajánlották fel.

Fontos megjegyezni, hogy az AlphaGo nem csupán emberi ellenfelekkel szemben, hanem gépek közötti szimulált játszmák során is jelentős tapasztalatokat szerzett. Ennek köszönhetően nemcsak hogy folyamatosan erősödött, de olyan taktikai megoldásokat is felfedezett, amelyeket az emberek még csak nem is sejtettek. 2017 májusában a kínai Vucen városában megrendezett Future of Go Summit esemény keretein belül az AlphaGo továbbfejlesztett verziója három játszmából álló mérkőzésen mérkőzött meg a világ legjobb gojátékosának, a 9 danos profinak, Ko Csie-nek. Az első játszmát az AlphaGo fél ponttal megnyerte, míg a további két játékot Ko Csie feladta. A vereség után Ko Csie így fogalmazott: az AlphaGo játszmái olyanok, mintha maga a go istene irányítaná.

Nem sokkal később a DeepMind bemutatta az AlphaGo Zero nevű innovációját, amelyet úgy képeztek ki, hogy egyetlen emberi játszmát sem elemzett, csupán saját magával mérkőzött meg. Ennek eredményeként mindössze 40 nap alatt túlszárnyalta az összes korábbi változat tudását. Ezt követően a Google kifejlesztette az AlphaZero nevű általánosított változatot, amely nemcsak a go játékában, hanem a sakkban és más stratégiákat igénylő játékokban is jeleskedett, sőt, legyőzte a legjobbnak tartott sakkprogramot, a Stockfish-t. Az AlphaGo immár "visszavonult", nem vesz részt több játszmában, míg a DeepMind csapata a mesterséges intelligencia újabb területeire irányította figyelmét. Azóta újabb rendszerek, mint például a KataGo és az ELF OpenGo, tovább vitték az örökségét, és már jóval meghaladják az emberi világbajnokok teljesítményét.

Az AlphaGo sztorija messze túlmutat egy egyszerű játék eseményein. Az a momentum, amikor egy gép első alkalommal győzelmet aratott az ember felett a góban, a mesterséges intelligencia egyik legfontosabb "ébredését" jelképezi: egy világos jelzés arra, hogy a gépek nemcsak utánunk tudnak haladni, hanem alkalmasak lehetnek arra is, hogy új perspektívákból közelítsenek a problémákhoz. Az AlphaGo jelentősége nem csupán abban rejlik, hogy újabb mérföldkövet állított fel a technológiai fejlődés történetében, hanem abban is, hogy az általa alkalmazott algoritmusok és technológiák számos más szakterületen is alkalmazásra találtak. Így az AlphaGo nem csupán egy lenyűgöző diadal volt, hanem valóban hozzájárult a mesterséges intelligencia fejlődésének előmozdításához – ahogyan ezt a DeepMind folyamatosan bővülő projektjei és eredményei is tükrözik.

Related posts