AlphaGo este un joc go dezvoltat de Google DeepMind în 2015. AlphaGo a fost primul program din lume care a câștigat un meci fără handicap împotriva unui jucător profesionist Go pe o tablă standard 19×19 , iar această victorie a marcat o descoperire importantă în domeniul inteligenței artificiale, așa cum majoritatea specialiștilor în inteligență artificială credea că astfel de program nu va fi creat înainte de 2020-2025 . În martie 2016, programul a câștigat cu 4-1 împotriva lui Li Sedol , un profesionist al 9-lea dan (cel mai înalt clasat), în timpul unui meci istoric care a fost larg raportat în presă [1] . După câștigarea meciului, Asociația Paduk din Coreea a acordat AlphaGo un „al 9-lea dan onorific ” pentru „eforturile sincere” ale programului în stăpânirea jocului [2] .
Victoria lui AlphaGo asupra lui Lee Sedol este adesea comparată cu meciul de șah din 1997 dintre programul Deep Blue și Garry Kasparov , unde victoria programului IBM asupra campionului în vigoare a devenit un punct de plecare simbolic pentru o nouă eră în care computerele i-au depășit pe oameni în șah . 3] . Spre deosebire de Deep Blue, AlphaGo este un program care nu este legat de hardware specific . În plus, AlphaGo se bazează pe principiile generale ale învățării automate și practic nu folosește (spre deosebire de programele de șah) nici algoritmi, nici funcții de evaluare specifice jocului Go. La dezvoltarea AlphaGo, autorii au folosit doar cea mai elementară teorie a jocului Go, programul a atins un nivel ridicat de joc, învățând singur din jocurile profesioniștilor . Astfel, metodele sale de învățare automată pot fi utilizate în alte domenii de aplicare a inteligenței artificiale. În special, echipa de dezvoltare intenționează să aplice experiența dobândită în timpul scrierii AlphaGo pentru a crea un sistem de diagnosticare medicală .
AlphaGo combină tehnica care a dat marea descoperire în puterea programelor Go în 2007-2012 ( metoda Monte Carlo pentru căutarea arborilor ) și progresele recente în învățarea automată , și anume învățarea profundă cu rețele neuronale pe mai multe niveluri .
Potrivit unuia dintre autorii AlphaGo, David Silver , lucrul la program a început în 2014 cu o investigație a modului în care ar funcționa noi metode de învățare profundă în Go [4] .
Pentru a evalua puterea programului lor, autorii au organizat un turneu între AlphaGo și cel mai bun software gratuit și comercial Go ( Crazy Stone , Zen , Pachi , Fuego ), care a folosit metoda Monte Carlo și GNU Go , care a fost cel mai bun software gratuit înainte de metoda Monte Carlo. Ca rezultat, versiunea pe computer unică a AlphaGo a câștigat 494 din 495 de meciuri [5] .
În octombrie 2015, AlphaGo a învins de trei ori campionul european Fan Hui (al doilea dan profesionist) într-un meci de cinci jocuri, cu scorul de 5–0. Este pentru prima dată în istorie când un computer a învins un profesionist în go într-un joc egal. Acest lucru a fost anunțat public în ianuarie 2016 în urma publicării lucrării [6] în Nature [7] [8] . Pentru fiecare joc, jucătorii au primit o oră și 3 byoyomi de 30 de secunde.
După înfrângerea sa, Fan Hui a declarat că datorită acestui meci, a început să joace mai bine și a început să vadă acele elemente ale jocului pe care nu le observase înainte; până în martie 2016, clasamentul global al lui Fan Hui a crescut cu aproximativ 300 de poziții [9] .
Mai jos este un exemplu de joc în care AlphaGo a jucat negru. Fan Hui a demisionat după 165 de mutări [5] .
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primele 99 de mișcări (96 din 10) |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mișcările 100-165. |
După meciul cu Fan Hui, programul AlphaGo a început să se joace mult mai bine ( evaluarea lui Elo , calculată prin jocurile diferitelor versiuni ale programului între ele, a crescut cu 1500 de puncte și a depășit 4500). Noua versiune ar putea să o învingă pe cea veche, dând un avans de 3-4 pietre [10] .
Din 9 martie până pe 15 martie 2016, s- a disputat un meci AlphaGo cu Lee Sedol (al 9-lea dan) [7] la Seul, Coreea de Sud . S-au jucat 5 jocuri. Pentru fiecare joc, jucătorilor li s-au acordat 2 ore și 3 byoyomi pentru un minut. Fondul de premii s-a ridicat la 1 milion de dolari. Jocurile au fost transmise în direct pe YouTube [11] .
La momentul meciului, Lee Sedol avea al doilea cel mai mare număr de campionate mondiale câștigate [12] . Deși nu există o singură metodă internațională oficială pentru clasarea jucătorilor Go, unele surse îl clasează pe Lee Sedol drept al patrulea jucător din lume la momentul unui meci [13] [14] .
AlphaGo a câștigat meciul cu 4-1. Lee Sedol s-a predat în patru din cinci jocuri. AlphaGo, jucând negru, a pierdut în al patrulea joc după 180 de mutări. Potrivit dezvoltatorilor programului, AlphaGo renunță atunci când estimează probabilitatea de a câștiga mai puțin de 20% [15] .
Potrivit experților, AlphaGo în timpul meciului cu Li Sedol a fost semnificativ mai puternic și a oferit un joc mai dificil decât în timpul meciului cu Fan Hui [16] . Lee Sedol a spus în timpul unei conferințe de presă că înfrângerea sa este „înfrângerea lui Lee Sedol” și nu „înfrângerea umanității” [17] .
Pe 29 decembrie 2016, pe serverul Tygem go, noul cont „ Master ” a început să joace jocuri cu profesioniști go, la 1 ianuarie 2017 a trecut pe serverul FoxGo go. Pe 4 ianuarie 2017, DeepMind a confirmat că o versiune actualizată a AlphaGo [18] [19] rula pentru Master și un cont Magister anterior . AlphaGo a câștigat toate cele 60 de jocuri jucate (30 pe fiecare server) [20] . La sfârșitul tuturor jocurilor, co-fondatorul DeepMind, Demis Hassabis , a postat pe Twitter: „Așteptăm cu nerăbdare meciurile Go oficiale complete mai târziu în 2017, în colaborare cu organizațiile și experții Go” [18] [19] .
Master a jucat 10 jocuri pe zi și a atras rapid atenția multor jucători de pe serverul Tygem cu abilitățile sale excepționale. Mulți au bănuit rapid că acesta este un jucător AI, deoarece fie nu au existat pauze între jocuri, fie au durat foarte puțin. Adversarii maestrului au fost campioni mondiali precum 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 ; în plus față de ei, campioni naționali și medaliați cu argint ai campionatelor mondiale: Lian Xiao, Tan Xiao , Meng Tailing, Dan Yifei, Huang Yunsong, Yang Dingxin , Xing Jinso, Cho Hansyn , An Sunjun. Toate cele 60 de jocuri, cu excepția unuia, au fost rapide cu trei byoyomi de 20 sau 30 de secunde, doar că în jocul împotriva lui Nie Weiping , Maestrul a sugerat creșterea byoyomi la un minut din cauza vârstei înaintate a acestuia din urmă. După 59 de jocuri câștigătoare, Maestrul a dezvăluit într-un chat că era condus de Dr. Aya Huan de la DeepMind [21] .
Programatorul AlphaGo David Silver a ulterior că, spre deosebire de versiunile anterioare de AlphaGo, versiunea care juca „Master” se baza mai mult pe învățarea în timp ce se juca cu ea însăși decât pe învățarea din jocurile jucătorilor profesioniști, în plus, această versiune folosea de zece ori mai puține calcule și s-a antrenat într-un saptamana in loc de luni ca versiunea care a jucat cu Lee Sedol [22] .
În perioada 23-27 mai 2017, în orașul chinez Wuzhen , a avut loc un summit despre viitorul Go, unde, printre alte evenimente, AlphaGo a susținut mai multe jocuri demonstrative [23] și le-a câștigat pe toate:
După ce summitul despre viitorul Go s-a încheiat, fondatorul DeepMind Demis Hassabis a anunțat plecarea AlphaGo din Go și nu vor mai fi meciuri în viitor. De asemenea, DeepMind nu are de gând să lanseze o versiune publică a AlphaGo [24] .
În octombrie 2017, DeepMind a anunțat o versiune și mai puternică a AlphaGo, AlphaGo Zero. Noua rețea neuronală a fost antrenată să joace Go de la zero, „ tabula rasa ”, jucându-se cu ea însăși (fără a învăța din jocurile jucate de oameni, așa cum a fost cazul în versiunile anterioare ale AlphaGo). În doar 21 de zile de auto-învățare, sistemul a atins nivelul AlphaGo Master de putere de joc și apoi l-a depășit. Până în a 40-a zi, atins superioritatea de peste 300 de puncte de elo .
Versiuni | Hardware [25] | Elo rating 1 | Chibrituri | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Fan AlphaGo | 176 GPU , [26] calcul distribuit | 3144 [27] | 5:0 Meci AlphaGo - Fan Hui | |||||||||
Alpha Go Lee | 48 TPU , [26] calcul distribuit | 3739 [27] | Meciul 4-1 AlphaGo vs. Lee Sedol | |||||||||
AlphaGo Master | 4 TPU -uri [26] v2, o singură mașină | 4858 [27] | 60:0 împotriva jucătorilor profesioniști de go; Summit-ul viitorului Go ; | |||||||||
AlphaGo Zero (40 de blocuri) | 4 TPU -uri [26] v2, o singură mașină | 5185 [27] | 100:0 împotriva AlphaGo Lee
89:11 vs. AlphaGo Master | |||||||||
AlphaZero (20 de blocuri) | 4 TPU v2, o singură mașină | 5018 [28] | 60:40 vs. AlphaGo Zero (20 de blocuri) 2 | |||||||||
Note: [1] Pentru comparație, cel mai bun jucător de go uman al lui Ke Jie a avut un rating elo de 3670 în octombrie 2017 [29] . |
Înainte de crearea AlphaGo, Go era unul dintre puținele jocuri tradiționale pe care un om le putea juca mai bine decât un computer [30] .
Go este mult mai dificil decât șahul datorită numărului mai mare de poziții posibile. În primul rând, de regulă, există mai multe mișcări legale în fiecare poziție în Go decât în șah. În al doilea rând, un joc Go durează în medie mai multe mișcări. Aceste două proprietăți fac Go foarte dificil pentru metodele tradiționale AI , cum ar fi tăierea alfa-beta [8] [31] .
O altă dificultate a Go în comparație cu șahul și multe alte jocuri de logică este crearea unei funcții de evaluare care compară o poziție arbitrară cu o anumită evaluare: pentru ce parte această poziție este mai profitabilă și cât de mult (sau poziția este egală). AlphaGo folosește 2 rețele neuronale, dintre care una este specializată în estimarea poziției. Astfel, poate fi numit condiționat un analog al funcției de evaluare în șah [32] .
Din aceste motive, chiar și la aproape douăzeci de ani după ce computerul Deep Blue l-a învins pentru prima dată pe campionul mondial Kasparov în 1997, cele mai puternice programe Go au ajuns doar la amatorii de 5 dan și nu au putut să-l învingă pe profesioniști la pensie completă [8 ] [33] [34] . Cele mai bune realizări ale inteligenței artificiale în Go au fost victoriile programului Zen , rulând pe un grup de patru computere, împotriva profesionistului 9-dan Masaki Takemiya de două ori cu un handicap de cinci și patru pietre în 2012 [35] , precum și victoria programului Crazy Stone asupra lui Yoshio Ishida (al 9-lea dan profesionist) cu un handicap de patru pietre în 2013 [36] .
Crearea unui program care să joace Go well a fost o piatră de poticnire în dezvoltarea inteligenței artificiale [1] . Până în 2015, majoritatea experților în inteligență artificială credeau că un program capabil să-l învingă pe campionul mondial în Go nu va fi creat cel puțin în următorii cinci ani [37] , iar mulți dintre ei au presupus că va dura cel puțin zece ani [38] [39] [40] [41] . Chiar și după victoria lui AlphaGo asupra lui Fan Hui, mulți experți au prezis că AlphaGo va pierde în fața lui Li Sedol [42] .
În urma meciului cu Lee Sedol, guvernul sud-coreean a anunțat o investiție de 1 trilion de woni (863 milioane USD ) în cercetarea inteligenței artificiale în următorii cinci ani [43] .
Metodele dezvoltate pentru jocul AlphaGo pot fi aplicate și în alte domenii ale inteligenței artificiale, în special pentru diagnosticarea medicală [44] . Potrivit fondatorului DeepMind, Demis Hassabis , DeepMind a încheiat un acord cu Serviciul Național de Sănătate din Marea Britanie pentru a explora posibilitatea utilizării inteligenței artificiale pentru a analiza datele medicale [45] [46] . Pentru aceasta, a fost fondată divizia DeepMind Health .
O caracteristică esențială a AlphaGo este că folosește algoritmi generali care sunt practic independenți de caracteristicile jocului Go [47] . Algoritmul AlphaGo conține doar principiile de bază ale jocului, cu care orice începător începe să studieze jocul, cum ar fi numărarea numărului de puncte libere ( dame ) pentru un grup de pietre și analizarea posibilității de captare a pietrelor folosind „scara”. " ( shicho ) tehnică. Restul AlphaGo a învățat de la sine, analizând o bază de date de 160.000 de jocuri folosind metode comune care pot fi folosite în alte domenii ale inteligenței artificiale [48] . În acest sens, AlphaGo diferă de sisteme precum Deep Blue , un supercomputer de șah [4] . La scrierea algoritmului pentru Deep Blue, a fost folosită teoria avansată a șahului. Deci, de exemplu, Deep Blue a folosit 8000 de caracteristici personalizabile pentru a estima poziția, Deep Blue a avut o bibliotecă uriașă de deschideri [49] . AlphaGo este un program care poate rula pe orice hardware (deși a folosit un procesor conceput special pentru învățarea automată ) și ale cărui principii pot fi folosite în alte domenii. Nu folosește biblioteca de deschidere și nu accesează direct nicio bază de date de mișcări în timpul jocului (dar folosește doar o rețea neuronală antrenată pe un număr mare de jocuri). Dezvoltatorii programului înșiși nu știu cum evaluează AlphaGo poziția, mișcările sale sunt un fenomen de emergență [50] . În plus, Deep Blue a fost conceput cu un singur scop în minte: să câștige un meci de șah împotriva lui Garry Kasparov [4] [51] . AlphaGo nu a fost antrenat special pentru a juca împotriva lui Lee Sedol [17] [52] , în plus, baza de date de antrenament a lui AlphaGo nu conținea jocurile lui Lee Sedol [53] , iar în timpul meciului, programul AlphaGo nu s-a schimbat și nu s-a adaptat stilului de joc al lui Lee Sedol [ 54] .
Principala inovație a AlphaGo este utilizarea deep learning , o tehnică care a fost aplicată cu succes la recunoașterea modelelor (de exemplu, pentru a căuta imagini în Google Images ) [55] . Și anume, AlphaGo folosește rețele neuronale antrenate pe un număr mare de jocuri profesionale, capabile să prezică ce mișcare va face un profesionist într-o anumită poziție. Jocurile self-played au îmbunătățit și mai mult rețelele neuronale. Numai acest lucru i-a permis lui AlphaGo să joace la nivelul celor mai bune programe de calculator din 2015: fără enumerarea opțiunilor, folosind doar o rețea neuronală pentru a alege o mișcare, programul a reușit să-l învingă pe Pachi (un program jucat la nivelul unei secunde de amator ). dan ) [56] .
La fel ca cele mai bune programe Go anterioare, AlphaGo folosește și metoda Monte Carlo pentru căutarea arborilor (MCST) [56] . Esența acestei metode (numită prin analogie cu metoda Monte Carlo în matematica computațională ) este că, pentru a estima poziția, programul se joacă aleatoriu cu el însuși de multe ori, aducând de fiecare dată jocul la sfârșit. Apoi alege mutarea cu cel mai mare număr de victorii.
Go este un joc de informații complete . Teoretic, pentru orice joc cu informații perfecte, există o strategie optimă. Pentru a găsi strategia optimă, trebuie să parcurgem întregul arbore de joc . De exemplu, în 2007 programul Chinook a rezolvat complet schițele engleze [57] în acest fel . Cu toate acestea, pentru majoritatea jocurilor această metodă este nepractică deoarece dimensiunea copacului poate fi foarte mare. Poate fi estimat ca , unde este gradul de ramificare a arborelui de joc (adică numărul aproximativ de mișcări posibile în fiecare poziție) și este adâncimea arborelui de joc (adică lungimea aproximativă a jocului) . Pentru Go while for Chess Enumerarea poate fi scurtată folosind două tehnici.
În primul rând, profunzimea căutării poate fi redusă de funcția de evaluare : în loc să luați în considerare jocul până la sfârșit, puteți estima poziția intermediară folosind euristica . Această abordare a funcționat bine în jocuri precum șah , unde un computer era capabil să joace mai bine decât un om. Cu toate acestea, această abordare nu a fost suficientă pentru Go din cauza complexității enorme a jocului.
O altă abordare este reducerea gradului de ramificare a arborelui vizualizat prin eliminarea unor mișcări. O astfel de metodă este metoda Monte Carlo, care a permis computerelor să joace jocuri precum table mai bine decât oamenii .
Metoda Monte Carlo pentru căutarea arborilorMetoda Monte Carlo pentru căutarea arborilor în forma sa cea mai simplă este următoarea. În primul rând, toate mișcările posibile sunt selectate din poziția curentă, iar apoi sunt jucate un număr mare de jocuri aleatorii pentru fiecare mișcare. O tură este marcată ca raportul dintre victorii și pierderi pentru jocurile aleatorii care încep în acel turn. În același timp, probabilitatea de a alege una sau alta mișcare depinde și de evaluarea curentă a poziției: pozițiile în care câștigul a avut loc mai des sunt alese cu o probabilitate mai mare. O astfel de strategie tinde asimptotic către cea optimă. Folosind această abordare, programele predecesoare ale AlphaGo au reușit să atingă nivelul unui amator slab.
Pentru a îmbunătăți acest algoritm, au fost folosite funcții pentru a prezice următoarea mișcare cea mai probabilă. Înainte de AlphaGo , erau utilizate funcții de evaluare liniară și funcții derivate din politicile superficiale . Această abordare mi-a permis să ajung la nivelul unui amator puternic.
Învățare profundăAlphaGo funcționează folosind rețele neuronale , o tehnică care a fost aplicată cu succes în recunoașterea modelelor . O mare descoperire în acest domeniu a venit din utilizarea rețelelor neuronale convoluționale multistrat și a unei tehnici speciale de antrenament - învățarea profundă . Rețelele neuronale convoluționale constau din mai multe straturi de neuroni. Fiecare nivel primește o matrice de numere ca intrare, le combină cu unele greutăți și, folosind o funcție de activare neliniară , produce un set de numere ca ieșire, care sunt trecute la nivelul următor. În recunoașterea modelelor, imaginea este alimentată la primul nivel, iar ultimul nivel produce rezultatul. Rețelele neuronale sunt antrenate pe un număr mare de imagini, ajustând constant greutățile folosite pentru a calcula rezultatul. Ca rezultat, rețeaua neuronală ajunge la o configurație care este capabilă să recunoască ea însăși imagini similare. Acest proces este imposibil de prezis, deci este dificil de spus cum „gândește” rețeaua neuronală, dar, în linii mari, ieșirile de la nivelurile intermediare corespund diferitelor clasificări posibile [55] [58] .
Cu această tehnică, s-au făcut progrese mari în recunoașterea modelelor , în special în recunoașterea feței . De asemenea, a fost folosit de DeepMind pentru a crea inteligență artificială capabilă să învețe să joace un joc video pe cont propriu pe o consolă de jocuri video Atari 2600 , folosind video pe ecran ca intrare [59] .
AlphaGo folosește rețele neuronale convoluționale pentru a evalua o poziție sau pentru a prezice următoarea mișcare. Așa cum o imagine este transmisă unei rețele neuronale în timpul recunoașterii modelelor, AlphaGo transmite o poziție rețelelor neuronale. Fiecare poziție este reprezentată ca o imagine stratificată , unde fiecare strat reprezintă descrieri ale proprietăților simple ale fiecărui element de pe tablă. Sunt utilizate următoarele proprietăți simple: culoarea pietrei, numărul de puncte libere ( dame ) pentru un anumit grup de pietre (dacă nu sunt mai mult de 8), luarea de pietre, capacitatea de a merge în acest punct, dacă aceasta piatra a fost pusă recent. Singura proprietate netrivială care este folosită este dacă un anumit grup este amenințat de a fi capturat într-o scară ( shicho ). Sunt utilizate un total de 48 de proprietăți binare (proprietățile exprimate ca număr întreg sunt reprezentate folosind un cod unitar ). Astfel, fiecare poziție este reprezentată ca un tabel de biți [60] .
Rețea strategicăPentru a nu lua în considerare mișcările complet proaste și, prin urmare, a reduce gradul de ramificare în timpul căutării, AlphaGo folosește rețele strategice [61] ( rețelele de politici engleze ) - rețele neuronale care ajută la alegerea unei mișcări bune.
Una dintre aceste rețele ( SL policy networks ) poate prezice mișcarea pe care un profesionist ar face-o într-o anumită poziție. Aceasta este o rețea neuronală cu 13 niveluri, obținută prin învățare supervizată (SL ) pe 30 de milioane de poziții preluate din 160 de mii de jocuri jucate pe serverul KGS de jucători de la 6 la 9 dan. Antrenamentul a avut loc pe parcursul a patru săptămâni pe 50 de GPU-uri ; coborârea gradientului stocastic a fost folosit ca algoritm de învățare pentru căutarea cu probabilitate maximă [62] . Rețeaua neuronală rezultată a calculat o distribuție de probabilitate între toate mișcările posibile într-o poziție dată (reprezentată așa cum este descris mai sus ). Drept urmare, rețeaua neuronală a reușit să prezică corect mișcarea pe care persoana a ales-o în 57% din situațiile de testare (neutilizată în antrenament). Pentru comparație, cel mai bun rezultat înainte de AlphaGo a fost de 44%. Chiar și o mică creștere a preciziei predicțiilor crește semnificativ puterea jocului.
O rețea strategică este capabilă să joace Go însăși, alegând de fiecare dată o mișcare aleatorie cu o probabilitate calculată.
Rețea strategică îmbunătățităRețeaua strategică a fost îmbunătățită prin învățare prin consolidare ( RL ) : și anume, rețeaua a fost îmbunătățită constant prin jocul cu una dintre rețelele obținute anterior. Totodată, de fiecare dată a fost selectată o rețea aleatorie dintre cele obținute anterior pentru a evita reantrenarea (situații în care programul alege cea mai bună mișcare, presupunând că adversarul folosește aceeași strategie, dar poate juca prost împotriva altui adversar). Rezultatul a fost o rețea strategică ( RL policy network ) care a depășit rețeaua originală în 80% dintre jocuri.
S-a dovedit că rețeaua strategică rezultată, care nu folosește nici funcția de evaluare și nici enumerarea opțiunilor, a reușit să câștige 85% din jocurile împotriva celui mai puternic program deschis la acea vreme, Pachi . Pentru comparație, înainte de asta, cel mai bun program care s-a jucat fără a folosi o căutare de opțiuni, ci doar o rețea neuronală convoluțională, a învins Pachi 11% din jocuri. Astfel, AlphaGo, fără enumerarea opțiunilor, a reușit să atingă aproximativ nivelul celui de-al treilea dan amator, conform autorilor programului [63] .
Fast Strategic NetworkPentru a simula jocul necesar în metoda Monte Carlo (vezi mai jos ), AlphaGo folosește o versiune mai rapidă, dar mai puțin precisă a rețelei strategice ( politica de lansare ), care primește un răspuns în doar 2 µs. Această rețea rapidă prezice mișcarea unei persoane cu o probabilitate de 30% [64] , în timp ce rețeaua strategică îmbunătățită oferă un răspuns pe același echipament în 3 ms cu o probabilitate de 57%.
Rețeaua de evaluareAlphaGo a folosit o rețea de valori [ 61] pentru a reduce adâncimea de căutare . Această rețea neuronală estimează probabilitatea de a câștiga într-o anumită poziție. Această rețea este rezultatul antrenamentului pe 30 de milioane de poziții obținute jucând cu ea însăși rețeaua strategică îmbunătățită. În același timp, nu a fost selectată mai mult de o poziție din fiecare joc (pentru a evita reantrenarea din cauza asemănării pozițiilor dintr-un joc). Pentru fiecare dintre aceste poziții, probabilitatea de câștig a fost estimată folosind metoda Monte Carlo: s-a aranjat un turneu de multe jocuri, în care rețeaua strategică îmbunătățită construită în etapa anterioară s- a jucat cu ea însăși, pornind de la această poziție. După aceea, rețeaua de scoring a fost instruită pe aceste date. Antrenamentul a durat o săptămână pe 50 de GPU-uri . Rezultatul a fost o rețea care putea prezice probabilitatea de a câștiga pentru fiecare poziție, folosind în același timp un calcul de 15.000 de ori mai mic decât metoda Monte Carlo.
Căutare în arboreAlphaGo enumeră opțiunile folosind metoda Monte Carlo pentru a căuta în arbore , după cum urmează. AlphaGo construiește un arbore de joc parțial , pornind de la poziția curentă, făcând numeroase simulări ale jocului. Pentru fiecare mutare se înregistrează în arbore un scor, care depinde în mod special de punctajele mișcării obținute folosind rețelele strategice și de evaluare , de rezultatul jocurilor aleatorii din simulările anterioare și de numărul de simulări anterioare care au ales această mișcare (cu cât este mai des cu cât această mișcare este mai devreme, cu atât scorul este mai mic, astfel încât programul ia în considerare mișcări mai diverse).
La începutul fiecărei simulări, AlphaGo alege o mișcare în arborele deja construit, cu cel mai mare scor. Când simularea atinge o poziție care nu este în arbore, acea poziție este adăugată arborelui, împreună cu toate mișcările permise în acea poziție, care sunt evaluate folosind rețeaua strategică . Mai mult, ca și în metoda Monte Carlo, jocul este simulat până la sfârșit fără ramificare. În această simulare, fiecare mișcare este aleasă aleatoriu cu o probabilitate obținută folosind o rețea strategică rapidă .
La sfârșitul simulării, în funcție de rezultat, estimările de mișcare din arborele construit sunt actualizate. Astfel, fiecare simulare începe de la poziția curentă a jocului, ajunge la sfârșit și, ca urmare a unei simulări, o poziție este dezvăluită în arborele curent.
Autorii programului au constatat că în această etapă este mai profitabil să se folosească nu rețeaua strategică îmbunătățită , ci cea originală ( rețeaua de politici SL ) . Potrivit autorilor, acest lucru se datorează faptului că jucătorii profesioniști aleg mișcări mai diverse decât rețeaua îmbunătățită, ceea ce permite programului să ia în considerare mai multe opțiuni. Astfel, rețeaua strategică îmbunătățită nu este utilizată în timpul jocului, dar utilizarea ei este esențială pentru construirea rețelei de evaluare atunci când programul învață jucându-se cu el însuși.
AlphaGo a fost antrenat timp de câteva săptămâni pe 50 de GPU -uri folosind platforma Google Cloud găzduită în SUA [62] [65] .
AlphaGo a fost testat pe sisteme informatice cu un număr diferit de procesoare și GPU care rulează în paralel sau distribuite . În fiecare caz, s-au acordat 2 secunde pentru fiecare mișcare. Evaluările realizate în același timp, calculate pe baza rezultatelor jocurilor între ele, conform sistemului Elo , sunt prezentate în tabel: [66]
Tehnica de calcul | Fire de execuție |
Numărul de procesoare | Numărul de GPU-uri | Evaluare Elo |
---|---|---|---|---|
Paralel | 40 | 48 | unu | 2181 |
Paralel | 40 | 48 | 2 | 2738 |
Paralel | 40 | 48 | patru | 2850 |
Paralel | 40 | 48 | opt | 2890 |
Distribuit | 12 | 428 | 64 | 2937 |
Distribuit | 24 | 764 | 112 | 3079 |
Distribuit | 40 | 1202 | 176 | 3140 |
Distribuit | 64 | 1920 | 280 | 3168 |
Versiunea care l-a învins pe Fan Hui în octombrie 2015 a rulat pe 1202 procesoare și 176 GPU -uri [67] .
Într-un joc cu Lee Sedol în martie 2016, AlphaGo a folosit 1920 de procesoare și 280 de GPU care rulează pe o rețea distribuită [68] .
În mai 2016, Google a anunțat că AlphaGo folosește TPU , un procesor dezvoltat de Google special pentru învățarea automată [69] [70] .
În meciul cu Ke Jie din mai 2017, noua versiune AlphaGo a folosit un singur computer pe Google Cloud cu un procesor TPU, adică de aproximativ 10 ori mai puțină putere de calcul decât a fost folosită în meciul cu Lee Sedol [71] .
Toby Manning, arbitrul în meciul dintre AlphaGo și Fan Hui, a descris stilul de joc al AlphaGo ca fiind mai degrabă conservator decât agresiv [72] . Potrivit CEO -ului DeepMind , Demis Hassabis, AlphaGo încearcă să crească probabilitatea de câștig, nu diferența de scor [4] .
Jucătorii profesioniști au remarcat că unele dintre mișcările lui AlphaGo, care păreau inițial a fi eronate, s-au dovedit a fi importante din punct de vedere strategic la o examinare mai atentă [73] .
Nie Weiping (Pro 9th Dan, China ) a sugerat după primul joc cu Li Sedol că AlphaGo juca la nivelul 6 sau 7 dan în fuseki și 13-15 dan în chuban [74] .
În cea de-a treia tranșă , s-a constatat că AlphaGo a reușit să controleze situația în timpul ko-fighting- ului , care anterior fusese considerată o slăbiciune semnificativă în majoritatea programelor Go [75] .
Unii recenzenți au descris erorile AlphaGo care au dus la pierderea jocului 4 ca erori tipice pentru un program Monte Carlo [76] . Demis Hassabis a declarat că aceste greșeli vor fi analizate cu atenție și că AlphaGo aparent nu cunoaște unele dintre tesuji -urile clasice și face greșeli tactice [77] . Ulterior, Aya Huan (unul dintre dezvoltatorii AlphaGo care au pus pietrele în spatele AlphaGo) a spus că echipa de scriitori avea două presupuneri cu privire la motivele acestor erori: fie AlphaGo pur și simplu nu a avut suficientă adâncime de vizualizare pentru a analiza situația; sau cea de-a 78-a mișcare a lui Lee Sedol a fost atât de neobișnuită (comentatorii au numit-o „divină” [76] ) încât programul nu a întâlnit astfel de situații în timpul autoînvățarii, ca urmare, funcția sa evaluativă (vezi mai sus ) în această situație s-a dovedit a fi slab. În orice caz, conform Aya Huang, noua versiune AlphaGo se joacă deja corect în această situație. În același timp, echipa nu a făcut nimic deosebit, AlphaGo însuși, ca urmare a antrenamentului, a încetat să mai facă astfel de greșeli [78] .
După meci, Lee Sedol a declarat că a fost bătut psihologic, dar deloc tehnic [79] . Programul a arătat o capacitate de soluții creative, care a surprins mulți jucători (de exemplu, mutarea numărul 37 în al doilea joc ); unele mișcări au contrazis teoria clasică a lui Go, dar și-au dovedit eficiența în meci, unii profesioniști au început să folosească aceste constatări în jocurile lor [50] .
Facebook dezvoltă, de asemenea, un joc Go, Darkforest , care se bazează, de asemenea, pe învățarea automată și pe căutarea în arbore [72] [80] . La începutul anului 2016, Darkforest a arătat un joc puternic împotriva altor computere, dar nu a putut învinge profesioniștii [81] . În ceea ce privește puterea, Darkforest este evaluat la nivelul programelor Crazy Stone și Zen [82] .
La 1 martie 2016, dezvoltatorii programului Zen (Yoji Ojima și Hideki Kato), DWANGO și Grupul de Cercetare pentru Învățare Aprofundată a Universității din Tokyo (care a creat programul Ponanza pentru a juca shogi care învinge o persoană) au anunțat un proiectul comun „Deep Zen Go Project” , cu scopul de a învinge AlphaGo în 6-12 luni. Asociația Japan Go s-a angajat să sprijine proiectul [83] . În noiembrie 2016, Deep Zen Go a pierdut cu 2-1 în fața celui mai decorat jucător al Japoniei, Cho Chikun [84] [85] .
Merge | |||||
---|---|---|---|---|---|
| |||||
Inventar | |||||
Reguli |
| ||||
Etapele jocului | |||||
Terminologie | |||||
Descărcări | |||||
Organizații | |||||
Titluri | |||||
Turnee internaționale |
| ||||
Intră în artă |
| ||||
Alte | |||||
|