211service.com
Kāpēc šķiet, ka neironu tīkli pirmo reizi sagraus labākos Human Go spēlētājus
Datori strauji sāk pārspēt cilvēkus vairāk vai mazāk visās jomās. Piemēram, mašīnredzes eksperti nesen atklāja algoritmu, kas sejas atpazīšanas jomā pārspēj cilvēkus. Līdzīgi algoritmi sāk saskaņot arī cilvēkus objektu atpazīšanā. Un cilvēku šahisti jau sen atteicās no cīņas, lai uzvarētu datorus.
Bet ir viena joma, kurā cilvēki joprojām triumfē. Tas ir, spēlējot seno ķīniešu spēli Go. Datori nekad nav apguvuši šo spēli. Labākie algoritmi sasniedz tikai ļoti spēcīga amatieru spēlētāja prasmju līmeni, ko labākie spēlētāji viegli pārspēj.
Šķiet, ka tas mainīsies, pateicoties Kristofera Klārka un Amosa Storkija darbam Edinburgas Universitātē Skotijā. Šie puiši ir izmantojuši tos pašus mašīnmācīšanās paņēmienus, kas ir pārveidojuši sejas atpazīšanas algoritmus, lai atrastu nākamo gājienu Go spēlē. Un rezultāti atstāj maz cerību, ka cilvēki turpinās dominēt šajā spēlē.
Īsāk sakot, Go ir divu spēlētāju spēle, ko parasti spēlē 19 x 19 režģī. Spēlētāji pārmaiņus novieto melnus un baltus akmeņus uz režģa, lai pēc spēles beigām ieņemtu vairāk galda nekā pretinieks. Spēlētāji var noņemt pretinieka akmeņus, apņemot tos ar savējiem.
Eksperti uzskata, ka ir divi iemesli, kāpēc datoriem nav izdevies apgūt Go. Pirmais ir milzīgais gājienu skaits, kas ir iespējams katrā spēles posmā. Go spēlētājiem ir 19 x 19 = 361 iespējamais sākuma gājiens, un parasti ir simtiem iespējamo gājienu jebkurā spēles punktā. Turpretim šaha gājienu skaits parasti ir aptuveni 50.
Otra problēma ir tā, ka datoriem ir grūti novērtēt valdes pozīcijas stiprās un vājās puses. Šahā, vienkārši saskaitot katras uz galda atstātās figūras vērtību, tiek iegūts saprātīgs rādītājs par spēlētāja pozīcijas stiprumu. Bet Go tas nedarbojas. Katram spēlētājam piederošo akmeņu skaita skaitīšana ir slikts rādītājs tam, kurš uzvar, saka Klārks un Storkijs.
Vismodernākie Go algoritmi risina šo problēmu, ir izspēlēt visu spēli pēc katras kustības un to darīt daudzos dažādos veidos. Ja dators uzvar lielākajā daļā šo spēļu, šis gājiens tiek uzskatīts par labu.
Skaidrs, ka tas ir laikietilpīgs un skaitļošanas ietilpīgs uzdevums. Neskatoties uz to, tas parasti nespēj pārspēt cilvēkus Go ekspertus, kuri parasti spēj novērtēt Go dēļa stāvokli tikai ar skatienu.
Daudzi eksperti uzskata, ka cilvēka spēles prasmes noslēpums ir modeļu atpazīšana — spēja pamanīt stiprās un vājās puses, pamatojoties uz akmeņu formu, nevis skatoties vairākas kustības uz priekšu.
Tāpēc jaunākie sasniegumi modeļu atpazīšanas algoritmos varētu palīdzēt datoriem strādāt daudz labāk. Šie sasniegumi ir izmantojuši milzīgas attēlu datu bāzes, lai apmācītu dziļus konvolucionālos neironu tīklus, lai atpazītu objektus un sejas ar tādu precizitāti, kas tagad atbilst cilvēka veiktspējai. Tāpēc ir saprātīgi iedomāties, ka tāda pati pieeja varētu būtiski mainīt Go dēļu automatizēto novērtēšanu.
Un tieši to ir izdarījuši Klārks un Storkijs. Jautājums, uz kuru šie puiši ir apmācījuši dziļu konvolucionālu neironu tīklu, lai atbildētu, ir šāds: vai, ņemot vērā divu Go ekspertu spēles momentuzņēmumu, ir iespējams paredzēt nākamo spēles gājienu?
Viņi to izmanto, izmantojot plašu Go spēļu datubāzi, lai apmācītu neironu tīklu, lai atrastu nākamo gājienu. Klārks un Storkijs izmantoja vairāk nekā 160 000 spēļu starp ekspertiem, lai kopā ar nākamo gājienu izveidotu datubāzi ar 16,5 miljoniem pozīciju. Viņi izmantoja gandrīz 15 miljonus no šiem pozīcijas kustības pāriem, lai apmācītu astoņu slāņu konvolucionālo neironu tīklu, lai noteiktu, kuru gājienu šie eksperti spēlētāji veica nākamo. Tas bija process, kas ilga vairākas dienas.
Pēc tam viņi izmantoja pārējo datu kopu, lai pārbaudītu neironu tīklu. Citiem vārdiem sakot, viņi iepazīstināja tīklu ar galda pozīciju no spēles un lūdza tam izvēlēties nākamo gājienu. Klārks un Storkijs saka, ka apmācītais tīkls varēja paredzēt nākamo soli līdz pat 44 procentiem laika, pārspējot iepriekšējo šī uzdevuma sasniegumu.
Tas ir interesanti arī tāpēc, ka jaunā pieeja lēmuma pieņemšanai neizmanto nevienu no iepriekšējiem soļiem; tā arī nevērtē nākotnes pozīcijas.
Apmācījuši neironu tīklu, Klārks un Storkijs spēlēja to pret diviem no labākajiem Go algoritmiem. Pirmo sauc par GNU Go, kas spēlē līmenī, kas ir līdzvērtīgs vidējam amatierim ar rangu 6-8 kyu. (Go klasifikācijas diapazons ir no iesācēja ar rangu 30-20 kyu līdz profesionālam ekspertam ar rangu 1 kyu).
Otrā bija vismodernākā programma Fuego 1.1, kuras vērtējums ir aptuveni 5-4 kyu. Spēlētājam, lai sasniegtu šo līmeni, parasti ir nepieciešami daudzi studiju gadi.
Rezultāti skaidri liecina, ka raksts ir uz sienas cilvēkiem Go spēlētājiem. Clark un Storkey neironu tīkls gandrīz 90 procentus laika pārspēj GNU Go 200 spēļu laikā. Citiem vārdiem sakot, pēc dažu dienu apmācības neironu tīkls spēja konsekventi pārspēt GNU Go.
Pret Fuego 1.1 tai klājās sliktāk, uzvarot tikai nedaudz vairāk par 10 procentiem spēļu. Tomēr tas ir nozīmīgs sasniegums. Spēja uzvarēt pat dažas spēles pret šo pretinieku norāda uz augstu meistarības pakāpi, saka Klārks un Stārkijs.
Tas nepārprotami ir ļoti daudzsološi. Lai gan tīkli spēlē, izmantojot “nulles soļa skatīšanās uz priekšu” politiku un kā pretinieki izmanto daļu no skaitļošanas laika, tie joprojām spēj spēlēt labāk nekā GNU Go un atņemt dažas spēles no Fuego, viņi saka.
Un nepārprotami ir uzlabojumu potenciāls, piemēram, apvienojot šo pieeju ar citām, kas izmanto iepriekšējās darbības un skatās uz priekšu. Viena no idejām, ko Klārks un Stārkijs ierosina, ir vadīt konvolucionālo neironu tīklu paralēli tradicionālajai pieejai, lai palīdzētu apgriezt iespējamo kustību koku, kas ir jāizpēta.
Klārks un Storkijs nav ieteikuši, ka šī pieeja pārspēs labākos Go spēlētājus pasaulē. Bet, protams, tas ir tikai laika jautājums, kad pat Go spēlētājiem būs jāpakļaujas saviem datorizētajiem virsniekiem.
Atsauce: arxiv.org/abs/1412.3409 : Deep Convolutional neironu tīklu mācīšana Play Go