Az AlphaGo egy go játék , amelyet a Google DeepMind fejlesztett 2015-ben. Az AlphaGo volt az első program a világon, amely egy hendikepmentes meccset nyert egy profi Go játékos ellen egy szabványos 19×19 táblán , és ez a győzelem fontos áttörést jelentett a mesterséges intelligencia területén, mivel a legtöbb mesterséges intelligencia specialista úgy vélték, hogy 2020-2025 előtt nem készül ilyen program . 2016 márciusában a program 4-1-re nyert Li Sedol ellen , a 9. danos (legmagasabb rangú) profi ellen egy történelmi mérkőzésen , amelyről a sajtóban széles körben beszámoltak [1] . A meccs megnyerése után a Koreai Paduk Szövetség „becsületbeli 9. dannal” ítélte az AlphaGót a program „őszinte erőfeszítéséért” a játék elsajátításában [2] .
Az AlphaGo Lee Sedol felett aratott győzelmét gyakran a Deep Blue program és Garri Kaszparov közötti 1997-es sakkmérkőzéshez hasonlítják , ahol az IBM -program győzelme a regnáló bajnok felett szimbolikus kiindulópontja lett egy új korszaknak, amelyben a számítógépek sakkban felülmúlták az embereket . 3] . A Deep Blue-tól eltérően az AlphaGo egy olyan program , amely nincs konkrét hardverhez kötve . Ráadásul az AlphaGo a gépi tanulás általános elvein alapul, és gyakorlatilag nem használ (a sakkprogramokkal ellentétben) sem a Go játékra jellemző algoritmusokat, sem kiértékelő funkciókat. Az AlphaGo fejlesztése során a szerzők csak a Go játék legelemibb elméletét alkalmazták, a program magas szintű játékot ért el, tanulva magát a profik játékaiból . Így gépi tanulási módszerei a mesterséges intelligencia más alkalmazási területein is alkalmazhatók. A fejlesztőcsapat különösen azt tervezi, hogy az AlphaGo megírása során szerzett tapasztalatokat egy orvosi diagnosztikai rendszer létrehozására fogja alkalmazni .
Az AlphaGo ötvözi azt a technikát, amely 2007-2012-ben nagy áttörést hozott a Go programok erejében ( Monte Carlo módszer a fakereséshez ) és a gépi tanulás legújabb vívmányait , nevezetesen a mély tanulást többszintű neurális hálózatokkal. hálózatok .
Az AlphaGo egyik szerzője, David Silver szerint a programmal kapcsolatos munka 2014-ben kezdődött azzal a vizsgálattal, hogy miként működnének a Go-ban a mély tanulás új módszerei [4] .
A programjuk erősségének felmérésére a szerzők versenyt rendeztek az AlphaGo és a legjobb ingyenes és kereskedelmi Go szoftver ( Crazy Stone , Zen , Pachi , Fuego ), amely a Monte Carlo módszert alkalmazta, és a GNU Go között. , amely a legjobb ingyenes szoftver volt a Monte Carlo módszer előtt. Ennek eredményeként az AlphaGo egy számítógépes verziója 495 meccsből 494-et nyert [5] .
2015 októberében az AlphaGo a háromszoros Európa-bajnok Fan Hui - t (2. profi dan) legyőzte egy ötjátszmás meccsen 5–0-ra. Ez az első alkalom a történelemben, hogy egy számítógép egyenrangú játékban legyőz egy profi go-ban. Ezt 2016 januárjában jelentették be nyilvánosan a Nature -ben [6] megjelent cikk [7] [8] után . Minden meccsre a játékosok egy órát és 3 30 másodperces byoyomi -t kaptak.
Fan Hui veresége után kijelentette, hogy ennek a meccsnek köszönhetően kezdett jobban játszani, és elkezdte látni a játék azon elemeit, amelyeket korábban nem vett észre; 2016 márciusára Fan Hui globális rangsora körülbelül 300 pozíciót emelkedett [9] .
Az alábbiakban egy olyan játék példája látható, amelyben az AlphaGo feketén játszott. Fan Hui 165 lépés után lemondott [5] .
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Az első 99 lépés (96 a 10-ben) |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mozgás 100-165. |
A Fan Hui-val vívott meccs után az AlphaGo program sokkal jobban kezdett játszani ( a program különböző verzióinak játékaiból kiszámolt Elo értékelése 1500 ponttal nőtt, és meghaladta a 4500-at). Az új verzió meg tudta verni a régit, 3-4 kövekkel előnnyel [10] .
2016. március 9. és március 15. között AlphaGo mérkőzést játszottak Lee Sedollal (9. dan) [7] Szöulban , Dél-Koreában . 5 meccset játszottak. Minden meccsre a játékosok 2 órát és 3 byoyomit kaptak egy percre. A nyereményalap 1 millió dollár volt. A játékokat élőben közvetítették a YouTube -on [11] .
A mérkőzés idején Lee Sedolnak volt a második legtöbb megnyert világbajnokság [12] . Bár nincs egyetlen hivatalos nemzetközi módszer a Go játékosok rangsorolására, egyes források Lee Sedolt a világ negyedik játékosának tartják a meccsek idején [13] [14] .
A mérkőzést az AlphaGo nyerte 4-1-re. Lee Sedol ötből négy meccsen megadta magát. A feketén játszó AlphaGo a negyedik játszmában 180 lépés után veszített. A program fejlesztői szerint az AlphaGo feladja, ha 20%-nál kisebbre becsüli a nyerési valószínűséget [15] .
Szakértők szerint az AlphaGo a Li Sedollal vívott meccsen lényegesen erősebb volt, és nehezebb játékot kínált, mint a Fan Huival vívott meccsen [16] . Lee Sedol egy sajtótájékoztatón azt mondta, hogy veresége "Lee Sedol veresége", nem pedig "az emberiség veresége" [17] .
2016. december 29-én a Tygem go szerveren az új „ Master ” fiók elkezdett játszani a go profikkal, 2017. január 1-jén váltott a FoxGo go szerverre. 2017. január 4-én a DeepMind megerősítette, hogy az AlphaGo [18] [19] frissített verziója fut a Master és egy korábbi Magister fiókban . Az AlphaGo mind a 60 lejátszott játékot megnyerte (szerverenként 30-at) [20] . Az összes játék végén a DeepMind társalapítója, Demis Hassabis ezt írta a Twitteren: "Várom a hivatalos teljes Go meccseket 2017-ben, a Go szervezeteivel és szakértőivel együttműködve" [18] [19] .
Master napi 10 meccset játszott, és rendkívüli képességeivel gyorsan felkeltette sok játékos figyelmét a Tygem szerveren. Sokan hamar sejtették, hogy ez egy mesterséges intelligencia-játékos, mivel vagy nem voltak szünetek a játékok között, vagy nagyon keveset tartottak. Mester ellenfelei olyan világbajnokok voltak, mint Ke Jie , Pak Jong-hwan , Yuta Iyama , To Jiaxi , Mi Yuting , Shi Yue , Chen Yaoe , Li Qincheng , Gu Li , Chang Hao , Tang Weixing , Fan Tingyu , Zhou Ruiyang , Jiang Weijie , Zhou Junxun , Kim Jisok , Kang Dong Yoon , Park Yong Hoon , Won Sungjin ; rajtuk kívül országos bajnokok és világbajnoki ezüstérmesek: Lian Xiao, Tan Xiao , Meng Tailing, Dan Yifei, Huang Yunsong, Yang Dingxin , Xing Jinso, Cho Hansyn , An Sunjun. A 60 meccsből egy kivételével mindegyik gyors volt három 20 vagy 30 másodperces byoyomival, egyedül a Nie Weiping elleni meccsen javasolta a Mester a byoyomi egy percre való növelését utóbbi magas kora miatt. 59 nyert meccs után a Mester egy chatben elárulta, hogy Dr. Aya Huan, a DeepMind-től [21] irányítja .
Az AlphaGo programozója , David Silver később , hogy az AlphaGo korábbi verzióitól eltérően a "Master"-t játszó verzió inkább a saját magával való játékból való tanulásra támaszkodott, mint a profi játékosok játékaiból való tanulásra, ráadásul ez a verzió tízszer kevesebb számítást igényelt, és edzett. hét hónapok helyett, mint a Lee Sedollal játszott verzió [22] .
2017. május 23-27-én a kínai Wuzhen városában csúcstalálkozót tartottak a Go jövőjéről, ahol többek között az AlphaGo több bemutató játékot [23] is tartott, és mindegyiket megnyerte:
Miután véget ért a Go jövőjéről szóló csúcstalálkozó, a DeepMind alapítója , Demis Hassabis bejelentette az AlphaGo távozását a Go-tól, és a jövőben nem lesz több mérkőzés. Ezenkívül a DeepMind nem tervezi az AlphaGo nyilvános verziójának kiadását [24] .
2017 októberében a DeepMind bejelentette az AlphaGo még erősebb verzióját, az AlphaGo Zero-t. Az új neurális hálózatot arra képezték ki, hogy a Go-t a semmiből, " tabula rasa "-val játsszák, önmagával játszva (anélkül, hogy az emberek által játszott játékokból tanultak volna, mint az AlphaGo korábbi verzióiban). Mindössze 21 napos önálló tanulás alatt a rendszer elérte az AlphaGo Master játékteljesítmény-szintet, majd felülmúlta azt. A 40. napra több mint 300 pontos elo fölényt elérve .
Verziók | Hardver [25] | Elo értékelés 1 | Gyufák | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
AlphaGo rajongó | 176 GPU , [26] elosztott számítástechnika | 3144 [27] | 5:0 mérkőzés AlphaGo - Fan Hui | |||||||||
Alpha Go Lee | 48 TPU , [26] elosztott számítástechnika | 3739 [27] | 4-1 AlphaGo vs. Lee Sedol meccs | |||||||||
AlphaGo Mester | 4 TPU [26] v2, egy gép | 4858 [27] | 60:0 profi játékosok ellen; The Future of Go Summit ; | |||||||||
AlphaGo Zero (40 blokk) | 4 TPU [26] v2, egy gép | 5185 [27] | 100:0 AlphaGo Lee ellen
89:11 AlphaGo Master ellen | |||||||||
AlphaZero (20 blokk) | 4 TPU v2, egy gép | 5018 [28] | 60:40 vs. AlphaGo Zero (20 blokk) 2 | |||||||||
Megjegyzések: [1] Összehasonlításképpen, Ke Jie legjobb human go játékosának elo értékelése 3670 volt 2017 októberében [29] .
[2] Az AlphaZero értékelése (20 blokk) alacsonyabb, mint az AlphaGo Zeroé (40 blokk), egy tesztmérkőzésen az AlphaZero 60:40-re győzte le az AlphaGo Zero-t, mert. ott a neurális hálózat azonos számú blokkszámú változatait hasonlították össze. |
Az AlphaGo megalkotása előtt a Go azon kevés hagyományos játékok közé tartozott, amelyekkel az ember jobban tudott játszani, mint egy számítógép [30] .
A go sokkal nehezebb, mint a sakk a lehetséges pozíciók nagyobb száma miatt. Először is, a szabály szerint a Go-ban minden pozícióban több a legális lépés, mint a sakkban. Másodszor, egy Go-játék átlagosan több lépésig tart. Ez a két tulajdonság nagyon megnehezíti a Go-t a hagyományos mesterséges intelligencia módszereknél , mint például az alfa-béta metszés [8] [31] .
A Go másik nehézsége a sakkhoz és sok más logikai játékhoz képest egy olyan értékelési függvény létrehozása, amely egy tetszőleges pozíciót egy bizonyos értékeléssel hasonlít össze: melyik oldal számára jövedelmezőbb ez a pozíció és mennyivel (vagy egyenlő a pozíció). Az AlphaGo 2 neurális hálózatot használ, amelyek közül az egyik a pozícióbecslésre specializálódott. Így feltételesen a sakk értékelő függvényének analógjának nevezhető [32] .
Ezen okok miatt még csaknem húsz évvel azután is, hogy a Deep Blue számítógép először 1997-ben legyőzte a világbajnok Kaszparovot , a legerősebb Go programok csak az amatőr 5 danost érték el, és teljes táblán nem tudták legyőzni a profikat [8 ] [33] [34] . A mesterséges intelligencia legjobb eredménye a Go-ban a Zen program győzelme volt , amely négy számítógépből álló klaszteren fut a 9 danos profi Masaki Takemiya ellen , 2012-ben kétszer, öt- és négyköves hendikeppel [35] . valamint a Crazy Stone program győzelme Yoshio Ishida (9. hivatásos dan) felett négyköves hendikeppel 2013-ban [36] .
A mesterséges intelligencia fejlődésének buktatója volt a Go well-t játszó program létrehozása [1] . 2015-ig a legtöbb mesterséges intelligencia szakértő úgy gondolta, hogy legalább a következő öt évben nem jön létre olyan program, amely képes legyőzni a világbajnokot Go-ban [37] , és sokan azt feltételezték, hogy ehhez legalább tíz évre lesz szükség [38]. [39] [40] [41] . Még az AlphaGo Fan Hui felett aratott győzelme után is sok szakértő azt jósolta, hogy az AlphaGo veszít Li Sedol ellen [42] .
A Lee Sedollal vívott meccset követően a dél-koreai kormány bejelentette, hogy a következő öt évben 1 billió von (863 millió dollár) befektetést hajt végre a mesterséges intelligencia kutatásába [ 43 ] .
Az AlphaGo játékhoz kifejlesztett módszerek a mesterséges intelligencia más területein is alkalmazhatók, különösen az orvosi diagnosztikában [44] . A DeepMind alapítója , Demis Hassabis szerint a DeepMind megállapodást kötött az Egyesült Királyság Nemzeti Egészségügyi Szolgálatával , hogy megvizsgálja a mesterséges intelligencia felhasználásának lehetőségét orvosi adatok elemzésére [45] [46] . Erre alapították a DeepMind Health részleget .
Az AlphaGo lényeges jellemzője, hogy általános algoritmusokat használ, amelyek gyakorlatilag függetlenek a Go játék jellemzőitől [47] . Az AlphaGo algoritmus csak a játék alapelveit tartalmazza, amelyekkel minden kezdő elkezdi tanulmányozni a játékot, például megszámolja a szabad pontok számát ( dame ) egy kőcsoporthoz, és elemzi a kövek elfogásának lehetőségét a "létra" segítségével. "( shicho ) technika. A többit az AlphaGo magától tanulta, egy 160 000 játékot tartalmazó adatbázist elemezve a mesterséges intelligencia más területein is használható általános módszerekkel [48] . Ebben az AlphaGo különbözik az olyan rendszerektől, mint a Deep Blue , egy sakk szuperszámítógép [4] . A Deep Blue algoritmusának megírásakor fejlett sakkelméletet használtak. Így például a Deep Blue 8000 testreszabható tulajdonságot használt a pozíció becsléséhez, a Deep Blue pedig hatalmas nyíláskönyvtárat tartalmazott [49] . Az AlphaGo egy olyan program, amely bármilyen hardveren futhat (bár kifejezetten gépi tanulásra tervezett processzort használt ), és amelynek alapelvei más területeken is használhatók. Nem használja a nyitó könyvtárat, és nem fér hozzá közvetlenül a mozdulatok adatbázisához a játék során (de csak egy nagyszámú játékra kiképzett neurális hálózatot használ). Maguk a program fejlesztői nem tudják, hogy az AlphaGo hogyan értékeli a pozíciót, lépései felbukkanási jelenségnek számítanak [50] . Ráadásul a Deep Blue egy célt szem előtt tartva készült: sakkmérkőzés megnyerése Garri Kaszparov ellen [4] [51] . Az AlphaGo nem kifejezetten Lee Sedol elleni játékra készült [17] [52] , ráadásul az AlphaGo edzésadatbázisa nem tartalmazta Lee Sedol játékait [53] , és a mérkőzés során az AlphaGo programja sem változott, nem alkalmazkodott Lee Sedol játékstílusához [ 54] .
Az AlphaGo fő újítása a mély tanulás , egy olyan technika, amelyet sikeresen alkalmaztak a mintafelismerésre (például képek keresésére a Google Képekben ) [55] . Az AlphaGo ugyanis számos professzionális játékra kiképzett neurális hálózatokat használ , amelyek képesek előre jelezni, hogy egy szakember milyen lépést tesz egy adott pozícióban. Az önállóan játszott játékok tovább javították a neurális hálózatokat. Ez önmagában lehetővé tette az AlphaGo számára, hogy 2015 legjobb számítógépes programjainak szintjén játsszon: a lehetőségek felsorolása nélkül, csak egy neurális hálózatot használva a lépés kiválasztásához, a program képes volt legyőzni a Pachit ( egy amatőr másodperc szintjén játszó program). dan ) [56] .
A legjobb korábbi Go programokhoz hasonlóan az AlphaGo is a Monte Carlo metódust használja a fakereséshez (MCST) [56] . Ennek a módszernek (amelyet a számítási matematikában a Monte Carlo-módszerrel analóg módon neveznek el ) az a lényege, hogy a pozíció becsléséhez a program sokszor véletlenszerűen játszik önmagával, minden alkalommal a játék végére hozva a játékot. Ezután kiválasztja azt a lépést, amelyiknél a legtöbb nyer.
A Go a teljes információ játéka . Elméletileg minden tökéletes információval rendelkező játékhoz létezik egy optimális stratégia. Az optimális stratégia megtalálásához be kell járnunk a teljes játékfát . Például 2007-ben a Chinook program teljesen megoldotta angol piszkozatokat [57] ily módon . A legtöbb játék esetében azonban ez a módszer nem praktikus, mert a fa mérete nagyon nagy lehet. Ez a következőképpen becsülhető meg , ahol a játékfa elágazási foka (azaz az egyes pozíciókban lehetséges lépések hozzávetőleges száma), és a játékfa mélysége (vagyis a játék hozzávetőleges hossza) . For Go while for Chess A felsorolás két technikával rövidíthető.
Először is, a keresés mélysége csökkenthető a kiértékelő funkcióval : ahelyett, hogy a játékot végiggondolná, heurisztikával megbecsülheti a közbenső pozíciót . Ez a megközelítés jól működött olyan játékokban, mint a sakk , ahol a számítógép jobban tudott játszani, mint egy ember. Ez a megközelítés azonban nem volt elegendő a Go számára a játék óriási összetettsége miatt.
Egy másik megközelítés a megtekintett fa elágazási fokának csökkentése néhány mozdulat elvetésével. Az egyik ilyen módszer a Monte Carlo-módszer, amely lehetővé tette, hogy a számítógépek jobban játsszanak olyan játékokat, mint például a backgammon , mint az emberek .
Monte Carlo módszer a fa kereséshezA fakeresés Monte Carlo módszere a legegyszerűbb formájában a következő. Először az összes lehetséges lépést kiválasztják az aktuális pozícióból, majd minden lépésnél nagyszámú véletlenszerű játékot játszanak le. A kör az adott körben kezdődő véletlenszerű játékok győzelmeinek és veszteségeinek arányaként kerül értékelésre. Ugyanakkor az egyik vagy másik lépés megválasztásának valószínűsége a pozíció aktuális megítélésétől is függ: nagyobb valószínűséggel választják azokat a pozíciókat, amelyekben gyakrabban fordult elő a győzelem. Egy ilyen stratégia aszimptotikusan az optimális felé hajlik. Ezzel a megközelítéssel az AlphaGo elődprogramjai el tudták érni a gyenge amatőr szintjét.
Az algoritmus javítása érdekében függvényeket használtunk a legvalószínűbb következő lépés előrejelzésére. Az AlphaGo előtt lineáris kiértékelési függvényeket és sekély házirendekből származó függvényeket használtak . Ez a megközelítés lehetővé tette számomra, hogy elérjem egy erős amatőr szintjét.
Mély tanulásAz AlphaGo neurális hálózatok segítségével működik , amely technikát sikeresen alkalmaztak a mintafelismerésben . Ezen a területen a nagy áttörést a többrétegű konvolúciós neurális hálózatok és a képzésükre szolgáló speciális technika – a mély tanulás – jelentette . A konvolúciós neurális hálózatok több réteg neuronból állnak. Minden szint egy számmátrixot kap bemenetként, egyesíti azokat néhány súlyozással, és egy nemlineáris aktiválási függvény segítségével számkészletet állít elő kimenetként, amelyet a következő szintre továbbít. A mintafelismerésnél a kép az első szintre kerül, és az utolsó szint hozza létre az eredményt. A neurális hálózatokat nagyszámú képre oktatják , folyamatosan módosítva az eredmény kiszámításához használt súlyokat. Ennek eredményeként a neurális hálózat olyan konfigurációba kerül, amely képes maga is felismerni a hasonló képeket. Ezt a folyamatot nem lehet előre megjósolni, így nehéz megmondani, hogyan "gondolkozik" a neurális hálózat, de durván szólva a középső szinteken lévő kimenetek megfelelnek a különböző lehetséges osztályozásoknak [55] [58] .
Ezzel a technikával nagy előrelépés történt a mintafelismerésben , különösen az arcfelismerésben . A DeepMind arra is használta , hogy olyan mesterséges intelligenciát hozzon létre, amely képes önállóan megtanulni egy videojátékot egy Atari 2600 videojáték -konzolon , képernyővideót használva bemenetként [59] .
Az AlphaGo konvolúciós neurális hálózatokat használ a pozíció értékelésére vagy a következő lépés előrejelzésére. Ahogy a mintafelismerés során a kép egy neurális hálózatba kerül, az AlphaGo egy pozíciót táplál be a neurális hálózatokba. Minden pozíció réteges képként jelenik meg , ahol minden réteg a tábla egyes elemeinek egyszerű tulajdonságainak leírását jelenti . A következő egyszerű tulajdonságokat használjuk: a kő színe, a szabad pontok ( dame ) száma egy adott kőcsoporthoz (ha nincs több 8-nál), kövek vétele, idáig való eljutás lehetősége, követ nemrég állították be. Az egyetlen nem triviális tulajdonság, amelyet használnak, az az, hogy egy adott csoportot fenyeget-e egy létra befogása ( shicho ). Összesen 48 bináris tulajdonságot használnak ( az egész számban kifejezett tulajdonságok egységes kóddal vannak ábrázolva ). Így minden pozíciót bittáblázatként ábrázolunk [60] .
Stratégiai hálózatAnnak érdekében, hogy ne vegye figyelembe a teljesen rossz lépéseket, és ezáltal csökkentse az elágazás mértékét a keresés során, az AlphaGo stratégiai hálózatokat [61] ( angol policy networks ) használ - neurális hálózatokat , amelyek segítenek a jó lépés kiválasztásában.
Az egyik ilyen hálózat ( SL policy networks ) megjósolhatja, hogy egy szakember milyen lépést tenne egy adott pozícióban. Ez egy 13-szintű neurális hálózat, amelyet felügyelt tanulással (SL ) nyernek 30 millió pozícióban, amelyet 160 ezer játékból vettek fel a KGS szerverén 6-9 danos játékosok által. A képzés négy héten keresztül zajlott 50 GPU -n ; a sztochasztikus gradiens süllyedést használták tanulási algoritmusként a maximális valószínűség kereséshez [62] . Az eredményül kapott neurális hálózat kiszámította a valószínűségi eloszlást az összes lehetséges mozgás között egy adott pozícióban (a fent leírtak szerint ). Ennek eredményeként a neurális hálózat a teszthelyzetek 57%-ában helyesen tudta megjósolni a személy által választott lépést (az edzés során nem használták). Összehasonlításképpen az AlphaGo előtti legjobb eredmény 44% volt. Már az előrejelzések pontosságának kismértékű növelése is jelentősen növeli a játék erejét.
Egy stratégiai hálózat képes önmagát játszani a Go-val, minden alkalommal véletlenszerű lépést választva kiszámított valószínűséggel.
Továbbfejlesztett stratégiai hálózatA stratégiai hálózatot megerősítő tanulással ( RL ) javították : nevezetesen a hálózatot folyamatosan fejlesztették a korábban megszerzett hálózatok valamelyikével való játékkal. Ugyanakkor minden alkalommal véletlenszerű hálózatot választottak ki a korábban megszerzett hálózatok közül az átképzések elkerülése érdekében (olyan helyzetek, amikor a program a legjobb lépést választja, feltételezve, hogy az ellenfél ugyanazt a stratégiát használja, de esetleg rosszul játszik egy másik ellenféllel szemben). Az eredmény egy stratégiai hálózat ( RL policy network ) lett, amely a játékok 80%-ában felülmúlta az eredeti hálózatot.
Kiderült, hogy az így létrejött stratégiai hálózat sem az értékelési funkciót, sem a lehetőségek felsorolását nem alkalmazva a játékok 85%-át tudta megnyerni az akkori legerősebb nyílt programmal , a Pachival szemben . Összehasonlításképpen azelőtt a legjobb program, amely az opciók keresése nélkül játszott, csak egy konvolúciós neurális hálózatot használt, a játékok 11%-át verte meg a Pachinak. Így az AlphaGo a lehetőségek felsorolása nélkül megközelítőleg a harmadik amatőr dan szintjét tudta elérni a program szerzői szerint [63] .
Fast Strategic NetworkA Monte Carlo-módszerben megkövetelt játék szimulálásához (lásd alább ) az AlphaGo a stratégiai hálózat gyorsabb, de kevésbé pontos verzióját használja ( rollout policy ), amely mindössze 2 µs alatt kap választ. Ez a gyors hálózat 30%-os valószínűséggel jósolja meg az ember mozgását [64] , míg a továbbfejlesztett stratégiai hálózat 3 ms alatt ad választ ugyanazon a berendezésen 57%-os valószínűséggel.
Értékelő hálózatAz AlphaGo értékhálózatot [ 61] használt a keresési mélység csökkentésére . Ez a neurális hálózat megbecsüli a nyerési valószínűséget egy adott pozícióban. Ez a hálózat a továbbfejlesztett stratégiai hálózat önmagával való eljátszásával megszerzett 30 millió pozícióban végzett képzés eredménye. Ugyanakkor minden játékból legfeljebb egy pozíciót választottak ki (hogy elkerüljük az átképzést az egy meccsen belüli pozíciók hasonlósága miatt). Ezen pozíciók mindegyikénél Monte Carlo módszerrel becsülték meg a nyerési valószínűséget: sok játékból álló tornát rendeztek, amelyben az előző szakaszban kiépített továbbfejlesztett stratégiai hálózat ebből a pozícióból indulva játszott önmagával. Ezt követően a pontozó hálózatot betanították ezekre az adatokra. A képzés egy hétig tartott 50 GPU -n . Az eredmény egy olyan hálózat volt, amely meg tudta jósolni az egyes pozíciók nyerési valószínűségét, miközben 15 000-szer kevesebb számítást használt, mint a Monte Carlo-módszer.
Fa keresésAz AlphaGo felsorolja a lehetőségeket a Monte Carlo-módszerrel a fa kereséséhez az alábbiak szerint. Az AlphaGo egy részleges játékfát épít , az aktuális pozícióból kiindulva, és számos szimulációt készít a játékról. Minden lépésnél egy pontszám kerül rögzítésre a fában, amely sajátos módon függ a stratégiai és az értékelési hálózatok segítségével elért lépések pontszámaitól, a korábbi szimulációk véletlenszerű játékainak eredményétől, ill. a korábbi szimulációk száma, amelyek ezt a lépést választották (minél gyakrabban, minél korábbi ez a lépés, annál alacsonyabb a pontszám, így a program változatosabb lépéseket vesz figyelembe).
Az AlphaGo minden szimuláció elején kiválaszt egy lépést a már felépített fában, amely a legmagasabb pontszámot éri el. Amikor a szimuláció elér egy olyan pozíciót, amely nem szerepel a fában, ez a pozíció hozzáadódik a fához, az adott pozícióban engedélyezett összes mozgással együtt, amelyeket a stratégiai háló segítségével értékel ki . Továbbá, mint a Monte Carlo módszernél, a játékot a végéig szimulálják elágazás nélkül. Ebben a szimulációban minden lépést véletlenszerűen választunk ki egy gyors stratégiai hálózat segítségével kapott valószínűséggel .
A szimuláció végén az eredménytől függően a felállított fában lévő mozgásbecslések frissítésre kerülnek. Így minden szimuláció az aktuális játékpozícióból indul, a végére ér, és egy szimuláció eredményeként egy-egy pozíció feltárul az aktuális fában.
A program készítői megállapították, hogy ebben a szakaszban nem a továbbfejlesztett stratégiai hálózatot , hanem az eredetit ( SL policy network ) érdemes használni . A szerzők szerint ez annak tudható be, hogy a profi játékosok a továbbfejlesztett hálózatnál változatosabb mozgásokat választanak, így a program több lehetőséget is mérlegelhet. Így a továbbfejlesztett stratégiai hálózat nem kerül felhasználásra a játék során, de használata elengedhetetlen az értékelési hálózat felépítéséhez, amikor a program önmagával játszva tanul.
Az AlphaGo-t több héten át képezték 50 GPU -n az Egyesült Államokban üzemeltetett Google Cloud platformon [62] [65] .
Az AlphaGo-t különböző számú , párhuzamosan vagy elosztott CPU - val és GPU -val rendelkező számítógépes rendszereken tesztelték . Minden esetben 2 másodpercet adtak lépésenként. Az egyidejűleg elért, az Elo rendszer szerinti, egymással folytatott játékok eredményei alapján számolt értékeléseket a táblázat tartalmazza: [66]
Számítástechnika | Végrehajtási szálak |
CPU-k száma | GPU-k száma | Elo minősítés |
---|---|---|---|---|
Párhuzamos | 40 | 48 | egy | 2181 |
Párhuzamos | 40 | 48 | 2 | 2738 |
Párhuzamos | 40 | 48 | négy | 2850 |
Párhuzamos | 40 | 48 | nyolc | 2890 |
Megosztott | 12 | 428 | 64 | 2937 |
Megosztott | 24 | 764 | 112 | 3079 |
Megosztott | 40 | 1202 | 176 | 3140 |
Megosztott | 64 | 1920 | 280 | 3168 |
A Fan Hui-t 2015 októberében legyőző verzió 1202 CPU -n és 176 GPU -n futott [67] .
A Lee Sedollal 2016 márciusában egy játékban az AlphaGo 1920 CPU-t és 280 GPU-t használt elosztott hálózaton [68] .
2016 májusában a Google bejelentette, hogy az AlphaGo TPU -t, a Google által kifejezetten gépi tanulásra kifejlesztett processzort használ [69] [70] .
A 2017. májusi Ke Jie elleni meccsen az AlphaGo új verziója csak egy számítógépet használt a Google Cloudon TPU processzorral, vagyis körülbelül 10-szer kevesebb számítási teljesítményt , mint a Lee Sedollal vívott meccsen [71] .
Toby Manning, az AlphaGo és Fan Hui meccsének játékvezetője AlphaGo játékstílusát inkább konzervatívnak, mint agresszívnak jellemezte [72] . Demis Hassabis, a DeepMind vezérigazgatója szerint az AlphaGo a nyerési valószínűséget próbálja növelni, nem a pontszámkülönbséget [4] .
A professzionális játékosok megjegyezték, hogy az AlphaGo egyes, kezdetben hibásnak tűnő lépései közelebbről megvizsgálva stratégiailag fontosnak bizonyultak [73] .
Nie Weiping (Pro 9. Dan, Kína ) a Li Sedollal folytatott első meccs után azt javasolta, hogy AlphaGo a 6. vagy 7. dan szinten játszik fusekiben és 13-15 danos chubanban [74] .
A harmadik részletben kiderült, hogy az AlphaGo képes volt kontrollálni a helyzetet a ko-fighting során , amit korábban a legtöbb Go programban jelentős gyengeségnek tartottak [75] .
Egyes véleményezők úgy írták le az AlphaGo hibáit, amelyek a 4. játék elvesztéséhez vezettek, mint egy Monte Carlo-i program tipikus hibáit [76] . Demis Hassabis kijelentette, hogy ezeket a hibákat gondosan elemezni fogják, és az AlphaGo láthatóan nem ismeri a klasszikus tesuji egy részét, és taktikai hibákat követ el [77] . Ezt követően Aya Huan (az AlphaGo egyik fejlesztője, aki az AlphaGo mögé állította a köveket) azt mondta, hogy az írócsapatnak két feltételezése volt a hibák okait illetően: vagy az AlphaGo-nak egyszerűen nem volt elég mélysége a helyzet elemzéséhez; vagy Lee Sedol 78. lépése annyira szokatlan volt (a kommentelők "isteninek" nevezték [76] ), hogy a program nem találkozott ilyen helyzetekkel az öntanulás során, ennek eredményeként az értékelő funkciója (lásd fent ) ebben a helyzetben bizonyult gyenge. Mindenesetre Aya Huang szerint az AlphaGo új verziója ebben a helyzetben már korrektül játszik. Ugyanakkor a csapat nem csinált semmi különöset, maga az AlphaGo az edzések hatására abbahagyta az ilyen hibák elkövetését [78] .
A meccs után Lee Sedol kijelentette, hogy lélektanilag megverték, de technikailag egyáltalán nem [79] . A program megmutatta a kreatív megoldások képességét, ami sok játékost meglepett (például a 37. lépés a második játékban ); néhány mozdulat ellentmondott a Go klasszikus elméletének, de bebizonyították hatékonyságukat a meccsen, néhány szakember elkezdte ezeket a megállapításokat használni játékaiban [50] .
A Facebook egy Go játékot is fejleszt, a Darkforest , amely szintén gépi tanuláson és fakeresésen alapul [72] [80] . 2016 elején a Darkforest erős játékot mutatott be más számítógépekkel szemben, de nem tudta legyőzni a profikat [81] . Erősségét tekintve a Darkforest a Crazy Stone és a Zen [82] programok szintjén értékelhető .
2016. március 1-jén a Zen program fejlesztői (Yoji Ojima és Hideki Kato), a DWANGO és a University of Tokyo Deep Learning Research Group (akik létrehozták a Ponanza programot az embert legyőző shogi játékra ) bejelentették, hogy közös projekt "Deep Zen Go Project" , melynek célja az AlphaGo legyőzése 6-12 hónapon belül. A Japan Go Association ígéretet tett a projekt támogatására [83] . 2016 novemberében a Deep Zen Go 2-1-re kikapott Japán legjobban kitüntetett játékosától, Cho Chikuntól [84] [85] .
Megy | |||||
---|---|---|---|---|---|
| |||||
Leltár | |||||
Szabályok |
| ||||
A játék szakaszai | |||||
Terminológia | |||||
Kisülések | |||||
Szervezetek | |||||
Címek | |||||
Nemzetközi versenyek |
| ||||
Menj a művészetbe |
| ||||
Egyéb | |||||
|