AlphaGo Zero, самообучающаяся программа для игры в го, разработанная программистами из DeepMind, экспериментального подразделения Google, научилась играть и в другие настольные игры. Алгоритму, обновление которого описано в препринте на сайте arXiv, теперь доступны японские шахматы сёги, а также обычные шахматы.
Обновлено: в декабре 2018 года статья опубликована в Science.
Первая версия программы AlphaGo была представлена в 2015 году. Тогда она работала с использованием двух нейросетей: одна вычисляла вероятность ходов, а вторая — оценивала позицию камня на доске. Оригинальная AlphaGo практически полностью полагалась на обучение с учителем и использовала в качестве обучающей выборки данные об успешных ходах игроков-людей, а также поиск по дереву методом Монте Карло, который часто применяется в создании компьютерных игроков. Задача такого поиска — выбрать наиболее выигрышный вариант, анализируя сыгранные и удачные ходы в игре. Алгоритм показал свою эффективность практически сразу же, обыграв профессионального игрока Фаня Хуэя.
Разработчики DeepMind вскоре улучшили алгоритм, расширив использование в системе обучения с подкреплением (англ. reinforcement learning) — вида машинного обучения, при котором алгоритм обучается, не имея при этом обучающую выборку в виде пары «входные данные — ответ». Тогда AlphaGo смогла обыграть другого игрока в го — Ли Седоля, которого уже относят к сильнейшим игрокам в мире. После этого разработчики модернизировали алгоритм еще раз: последняя версия AlphaGo обыграла третьего сильнейшего игрока в го, Кэ Цзэ, и ушла из спорта.
Недавно авторы программы представили AlphaGo Zero — модернизированную версию, которая была разработана с помощью исключительно обучения с подкреплением, и смогла обыграть все предыдущие версии программы со счетом 100:0. Теперь разработчики DeepMind обучили алгоритм другим настольным играм: классическим шахматам и японским шахматам сёги.
В отличие от го, правила игры как в шахматы, так и в сёги, включают в себя определение позиций фигур на доске: так, например, ферзь может ходить на любое количество клеток в любом направлении, а слон ходит только по диагонали. Поэтому к оригинальному алгоритму AlphaGo Zero добавили правила о ходе фигур в каждой из двух игр — в остальном программа также училась самостоятельно, начиная со случайной игры.
После обучения AlphaGo Zero победила Stockfish (шахматную программу, которая несколько лет считалась лучшим компьютерным игроком) со счетом 64:36 (28 побед, 0 поражений, 72 ничьих), а Elmo, программу для игры в сёги, — со счетом 90:8 (2 ничьих). При этом в первом случае алгоритм DeepMind обучался четыре часа, а во втором — всего два.
Один из авторов работы, программист Мэттью Лай (Matthew Lai), ранее уже занимался разработкой алгоритма, который учится шахматам, играя сам с собой: программа, представленная им два года назад, обучалась 72 часа и по окончании тренировки была сравнима по эффективности с лучшими игроками Международной шахматной федерации. Тогда, однако, программа уступила алгоритму Stockfish.
Первая значимая победа компьютера над профессиональными игроками в шахматы произошла еще в 1997 году: тогда программа DeepBlue победила чемпиона по шахматам Гарри Каспарова. Проверить свои знания в вопросах противостояния игроков и машин вы можете с помощью нашего теста.
Как правильно заметили наши читатели, AlphaGo Zero не одержала 100 побед из 100 при игре в шахматы против Stockfish, а не проиграла ни одного раза (в действительности побед 28; в ничью игра закончилась в 72 случаях). При игре в сёги побед было 90 (две других игры, помимо 8 поражений, закончились ничьей). Редакция приносит свои извинения за неточности в заметке.
Елизавета Ивтушок