211service.com
Deep Learning Machine apgūst šahu 72 stundās, spēlē starptautiskā meistara līmenī
Ir pagājuši gandrīz 20 gadi, kopš IBM Deep Blue superdators pirmo reizi pēc standarta turnīra noteikumiem pārspēja valdošo pasaules šaha čempionu Gariju Kasparovu. Kopš tā laika šaha spēles datori ir kļuvuši ievērojami spēcīgāki, atstājot labākajiem cilvēkiem maz iespēju pat pret modernu šaha dzinēju, kas darbojas viedtālrunī.
Bet, lai gan datori ir kļuvuši ātrāki, šaha dzinēju darbības veids nav mainījies. Viņu spēks balstās uz brutālu spēku, visu iespējamo turpmāko darbību meklēšanu, lai atrastu labāko nākamo.
Protams, neviens cilvēks tam nevar līdzināties vai nekur netuvoties. Kamēr Deep Blue meklēja aptuveni 200 miljonus pozīciju sekundē, Kasparovs, iespējams, meklēja ne vairāk kā piecas sekundē. Un tomēr viņš spēlēja būtībā tādā pašā līmenī. Skaidrs, ka cilvēkiem ir kāds triks, kas datoriem vēl ir jāapgūst.
Šis triks ir šaha pozīciju novērtēšana un ienesīgāko meklēšanas ceļu sašaurināšanās. Tas ievērojami vienkāršo skaitļošanas uzdevumu, jo tas visu iespējamo kustību koku apgriež tikai līdz dažiem zariem.
Datori nekad nav bijuši labi šajā jomā, taču šodien tas mainās, pateicoties Metjū Lai darbam Londonas Imperiālajā koledžā. Lai ir radījis mākslīgā intelekta mašīnu ar nosaukumu Giraffe, kas ir iemācījusies spēlēt šahu, novērtējot pozīcijas daudz vairāk kā cilvēki un pilnīgi atšķirīgā veidā nekā parastie šaha dzinēji.
Tūlīt no kastes jaunā iekārta spēlē tādā pašā līmenī kā labākie parastie šaha dzinēji, no kuriem daudzi ir pilnveidoti daudzu gadu garumā. Cilvēka līmenī tas ir līdzvērtīgs FIDE starptautiskā meistara statusam, ierindojot to starp 2,2 procentiem labāko turnīru šahistu.
Lai jaunās iekārtas tehnoloģija ir neironu tīkls. Tas ir informācijas apstrādes veids, ko iedvesmojušas cilvēka smadzenes. Tas sastāv no vairākiem mezglu slāņiem, kas ir savienoti tādā veidā, kas mainās, kad sistēma tiek apmācīta. Šajā apmācības procesā tiek izmantoti daudzi piemēri, lai precīzi noregulētu savienojumus tā, lai tīkls radītu noteiktu izvadi, izmantojot noteiktu ievadi, lai atpazītu, piemēram, sejas klātbūtni attēlā.
Pēdējos gados neironu tīkli ir kļuvuši ļoti spēcīgi, pateicoties diviem sasniegumiem. Pirmais ir labāka izpratne par to, kā precizēt šos tīklus, kad tie mācās, daļēji pateicoties daudz ātrākiem datoriem. Otrais ir masveida anotētu datu kopu pieejamība tīklu apmācīšanai.
Tas ir ļāvis datorzinātniekiem apmācīt daudz lielākus tīklus, kas sakārtoti daudzos slāņos. Šie tā sauktie dziļie neironu tīkli ir kļuvuši ļoti spēcīgi un tagad regulāri pārspēj cilvēkus tādos modeļu atpazīšanas uzdevumos kā sejas atpazīšana un rokraksta atpazīšana.
Tāpēc nav pārsteigums, ka dziļajiem neironu tīkliem ir jāspēj pamanīt šaha modeļus, un tieši šādu pieeju ir izmantojis Lai. Viņa tīkls sastāv no četriem slāņiem, kas kopā pārbauda katru pozīciju uz tāfeles trīs dažādos veidos.
Pirmajā tiek aplūkots spēles globālais stāvoklis, piemēram, figūru skaits un veids katrā pusē, kurā pusē ir jāpārvietojas, casting tiesības un tā tālāk. Otrajā tiek aplūkotas uz figūrām orientētas funkcijas, piemēram, katras figūras atrašanās vieta katrā pusē, savukārt pēdējais aspekts ir noteikt laukumus, kuriem katra figūra uzbrūk un aizsargā.
Lai trenē savu tīklu ar rūpīgi ģenerētu datu kopu, kas iegūta no īstām šaha spēlēm. Šai datu kopai ir jābūt pareizam pozīciju sadalījumam. Piemēram, nav jēgas trenēt sistēmu pozīcijās ar trim dāmām katrā pusē, jo šīs pozīcijas praktiski nekad nenonāk reālās spēlēs, viņš saka.
Tam jābūt arī daudzām dažādām nevienlīdzīgām pozīcijām, izņemot tās, kas parasti notiek augstākā līmeņa šaha spēlēs. Tas ir tāpēc, ka, lai gan īstās šaha spēlēs nevienlīdzīgas pozīcijas rodas reti, tās visu laiku parādās meklējumos, ko dators veic iekšēji.
Un šai datu kopai jābūt milzīgai. Lielais savienojumu skaits neironu tīklā ir precīzi jānoregulē apmācības laikā, un to var izdarīt tikai ar lielu datu kopu. Izmantojiet pārāk mazu datu kopu, un tīkls var nonākt stāvoklī, kas nespēj atpazīt plašo modeļu dažādību, kas notiek reālajā pasaulē.
Lai ģenerēja savu datu kopu, nejauši izvēloties piecus miljonus pozīciju no datoršaha spēļu datu bāzes. Pēc tam viņš radīja lielāku dažādību, pievienojot katrai pozīcijai nejaušu juridisku gājienu, pirms to izmantoja apmācībai. Kopumā viņš šādā veidā radīja 175 miljonus pozīciju.
Parastais šo mašīnu apmācības veids ir manuāli novērtēt katru pozīciju un izmantot šo informāciju, lai iemācītu mašīnai atpazīt stiprās un vājās.
Bet tas ir milzīgs uzdevums 175 miljoniem amatu. To varēja izdarīt ar citu šaha dzinēju, bet Lai mērķis bija ambiciozāks. Viņš vēlējās, lai mašīna pati mācītos.
Tā vietā viņš izmantoja bootstrapping paņēmienu, kurā Žirafe spēlēja pret sevi ar mērķi uzlabot savu prognozi par savu nākotnes pozīcijas novērtējumu. Tas darbojas, jo ir fiksēti atskaites punkti, kas galu galā nosaka pozīcijas vērtību — neatkarīgi no tā, vai spēle vēlāk tiek uzvarēta, zaudēta vai neizšķirta.
Tādā veidā dators uzzina, kuras pozīcijas ir spēcīgas un kuras ir vājas.
Pēc Žirafes apmācības pēdējais solis ir to pārbaudīt, un šeit rezultāti padara interesantu lasīšanu. Lai testēja savu mašīnu standarta datu bāzē, ko sauc par Strategic Test Suite, kas sastāv no 1500 pozīcijām, kas izvēlētas, lai pārbaudītu dzinēja spēju atpazīt dažādas stratēģiskās idejas. Piemēram, viena tēma pārbauda izpratni par atvērto failu kontroli, cita pārbauda izpratni par to, kā bīskapa un bruņinieka vērtības mainās viena pret otru dažādās situācijās, un vēl viena pārbauda izpratni par centra kontroli, viņš saka.
Šī testa rezultāti tiek vērtēti no 15 000.
Lai to izmanto, lai pārbaudītu mašīnu dažādos apmācības posmos. Sākoties sāknēšanas procesam, Žirafe ātri sasniedz 6000 punktu un galu galā sasniedz 9700 punktus jau pēc 72 stundām. Lai saka, ka tas atbilst labākajiem šaha dzinējiem pasaulē.
Viņš piebilst, ka [Tas] ir ievērojams, jo visas to novērtēšanas funkcijas ir rūpīgi izstrādātas ar rokām un simtiem parametru, kas vairāku gadu laikā ir noregulēti gan manuāli, gan automātiski, un pie daudziem no tiem ir strādājuši cilvēku lielmeistari.
Lai arī turpmāk izmanto tāda paša veida mašīnmācīšanās pieeju, lai noteiktu varbūtību, ka konkrētais gājiens varētu būt vērts. Tas ir svarīgi, jo tas novērš nevajadzīgu meklēšanu nerentablos koka zaros un ievērojami uzlabo skaitļošanas efektivitāti.
Lai saka, ka šī varbūtības pieeja paredz labāko gājienu 46 procentus gadījumu un ierindo labāko gājienu pirmajā trijniekā, 70 procentus gadījumu. Tātad datoram nav jāuztraucas ar citām kustībām.
Tas ir interesants darbs, kas atspoguļo būtiskas izmaiņas šaha dzinēju darbībā. Tas, protams, nav ideāls. Viens no Giraffe trūkumiem ir tas, ka neironu tīkli ir daudz lēnāki nekā citi datu apstrādes veidi. Lai saka, ka Žirafei ir nepieciešams apmēram 10 reizes ilgāks laiks nekā parastajam šaha dzinējam, lai meklētu tādu pašu pozīciju skaitu.
Bet pat ar šo trūkumu tas ir konkurētspējīgs. Lai saka, ka žirafe spēj spēlēt FIDE starptautiskā meistara līmenī uz moderna standarta datora. Salīdzinājumam, labākie dzinēji spēlē super-grandmeistaru līmenī.
Tas joprojām ir iespaidīgi. Atšķirībā no vairuma mūsdienās esošo šaha dzinēju, žirafe savu spēles spēku iegūst nevis no spējas redzēt ļoti tālu uz priekšu, bet gan no spējas precīzi novērtēt sarežģītas pozīcijas un izprast sarežģītas pozicionēšanas jēdzienus, kas ir intuitīvi cilvēkiem, bet ir bijuši nenotverami šahā. dzinēji ilgu laiku, saka Lai. Tas ir īpaši svarīgi spēles sākuma un beigu fāzēs, kur tas spēlē īpaši labi.
Un tas ir tikai sākums. Lai saka, ka būtu vienkārši piemērot tādu pašu pieeju citām spēlēm. Viens, kas izceļas, ir tradicionālā ķīniešu spēle Go, kurā cilvēkiem joprojām ir iespaidīgas priekšrocības salīdzinājumā ar saviem konkurentiem no silīcija. Iespējams, Lai nākamreiz to varētu pamanīt.
Atsauce: arxiv.org/abs/1509.01549 : Žirafe: dziļa pastiprinājuma izmantošana, mācoties spēlēt šahu