DeepMind AlphaGo – програмата, която победи Go

google-alphago-logo-540x334

От известно време имам плитък интерес в развитията на фронта на изкуствения интелект и в частност нещата, които правят в Google DeepMind. Ако случайно живееш в пещера, днес AlphaGo, програмата разработена от лондонското студио на DeepMind, смаза Lee Sedol (9 дан Го играч и в момента четвъртият най-добър в света) с 3-0. Останалите два мача ще се доиграят следващата седмица, но към този момент никой не очаква по-различен резултат. Сигурен съм че част от вас задават резонния въпрос: “Защо това е нещо, което трябва да ни вълнува?”. Всички помним, че преди почти 20 години Гари Каспаров загуби на шах от DeepBlue, какво толкова?

Го не е шах. Няма да те занимавам с правилата на играта, които са на един Гугъл разстояние, само ще подчертая, че е прекалено сложна, за да може глупавият начин, по които работят шах програмите, да работи. Много грубо казано – това, което прави един софтуер за шах, е да разгледа всички възможни ходове и всички ходове, които следват от тях, да ги сравни срещу база данни с игри и да прецени, кой е най-правилният ход в даден момент. Всичко това се случва с “груба сила” – процесорна мощ и нищо повече. Проблемът с Го е, че има прекалено много възможни пермутации на таблото (повече, отколкото има атоми във Вселената) и това прави горния подход непрактичен. Преди AlphaGO и победите му (днес и през октомври срещу европейския шампион) нито един софтуер не е печелил срещу Го професионалист – изобщо не говорим за някой от топ играчите в света.

AlphaGO работи по много различен начин. Отново супер елементарно (и вероятно грешно) обяснено – алогритъмът използва комбинация от Machine Learning (илюстрирано много добре тук) и Monte Carlo Tree Search  – на практика се избира един ход на случаен принцип и се разиграва играта с него, това се случва много пъти, и на базата на резултатите се намира ходът, който дава най-голям шанс за победа. Те работят върху Deep Neural Network (даже няма да опитвам). Най-интересният резултат от цялото предно обяснение е, че компютърът се е научил да играе играта, използвайки същите методи, които би използвал и човек – изучавайки исторически игри и играейки срещу други хора и, главно, срещу себе си. Като единствената цел, която му е поставена, е да спечели играта.

И точно тук идва магията. Нормалният начин, по който Го се играе от хора, е да се опиташ да спечелиш максимално много точки във всеки един момент от играта. Предното изречение, разбира се, е безумно опростено, но ще помоля професионалните Го играчи, които четат блога, да ми простят. Начинът, по който AlphaGo играе, е винаги да прави хода, който ще му даде най-добрия шанс да спечели. С половин точка? С 1? С 5? Няма значение. И това не е нещо, което софтуерът е научил от изследването на близо 2500 години история на играта или играта му срещу човешки опоненти. Това е най-сигурният начин за победа, до който е стигнал, докато е играл милиони пъти срещу себе си. Интелект е тегава дума, която се раздава доста свободно. Но аз лично мисля, че това е първият случай, в който софтуер написан от хора е променил разбирането ни за нещо. И това е супер яко.

Какво следва? За момента нищо не е обявено със сигурност, но прочетох две интересни възможности. Едната е преди следващия му мач с професионалист да оставят AlphaGo да разучи играта от нула, без да използва събраната до момента история (подобно на Атари клипчето от по-горе). Другата е да се започне софтуер, който да разучи BroodWar. Второто звучи повече от интересно задание – освен покрай свързаните с това предизвикателства за програмата (основно непълната информация за играта по всяко време), така и покрай това какви ограничения трябва да му се поставят при управлението на единиците, така че да нямаме подобни случаи. Каквото и да изберат хората от Google едно е сигурно – ще го следя с интерес.

DeepMind AlphaGo – програмата, която победи Go

Leave a Reply

Your email address will not be published. Required fields are marked *