Разработчики DeepMind создали новый алгоритм для программы AlphaGo — искусственного игрока в го. По сравнению с предыдущими моделями новая AlphaGo при обучении была ориентирована строго на обучение с подкреплением (то есть без обучающей выборки). Новая система одержала абсолютную победу над всеми своими предшественниками. Работа опубликована в Nature.
Го — настольная игра, популярная в странах Азии. Сформулировать основные правила игры можно следующим образом. Два игрока получают камни разных цветов (черного и белого), и задача каждого из них — огородить большую территорию своими камнями на гобане — игровой доске. Одна партия может занимать от 10 минут до нескольких часов, а число возможных комбинаций больше числа атомов во Вселенной. Именно из-за огромного количества данных, необходимых для разработки стратегии эффективной игры, разработка компьютерного игрока в го долгое время оставалась недоступной задачей.
Программа AlphaGo была представлена DeepMind, экспериментальным подразделением Google, в 2015 году. Первая версия работала с использованием двух нейросетей: одна вычисляла вероятность ходов, а вторая — оценивала позицию камня на доске. AlphaGo тогда практически полностью полагалась на обучение с учителем, использовала в качестве обучающей выборки данные об успешных ходах игроков-людей, а также поиск по дереву методом Монте Карло, который часто применяется в создании компьютерных игроков. Задача такого поиска — выбрать наиболее выигрышный вариант, анализируя сыгранные и удачные ходы в игре. Алгоритм показал свою эффективность практически сразу же, обыграв профессионального игрока Фаня Хуэя.
Затем разработчики DeepMind улучшили алгоритм, расширив использование в системе обучения с подкреплением — вида машинного обучения, при котором алгоритм обучается, не имея при этом обучающую выборку в виде пары «входные данные — ответ». Тогда AlphaGo смогла обыграть другого игрока в го — Ли Седоля, которого уже относят к сильнейшим игрокам в мире. После этого разработчики модернизировали алгоритм еще раз: последняя версия AlphaGo обыграла третьего сильнейшего игрока в го, Кэ Цзэ, и ушла из спорта. Тем не менее, разработчики DeepMind не прекратили работу над программой и теперь представили новую версию своего игрока.
В отличие от своих предшественников, новая версия AlphaGo (чтобы обозначить, что противником «игрока» является он сам, авторы статьи добавили к его названию индекс Zero) работает строго благодаря обучению с подкреплением, не используя информацию, полученную от игроков-людей. Вместо этого новый алгоритм учится сам: берет в качестве входных данных положения черных и белых камней и начинает со случайной игры, со временем улучшая качество. На каждом шаге алгоритм подключает поиск по дереву методом Монте Карло, высчитывая вероятность следующего шага, а также подбирает следующий за ним наиболее эффективный ход. Таким образом, новый алгоритм обучился игре сам у себя.
Алгоритм обучался около трех дней и успел за это время сыграть около пяти миллионов партий с самим собой. После этого разработчики сравнили работу AlphaGo Zero со всеми предыдущими версиями, обыгравшими ведущих игроков-людей. Все старые версии проиграли AlphaGo Zero со счетом 0:100.
Таким образом, разработчики AlphaGo показали, что сверхчеловеческий (по словам авторов) уровень игры может быть достигнут и без прямого взаимодействия с информацией, полученной от людей. К сожалению, играть против профессионалов-людей новый алгоритм, скорее всего, не будет.
Помимо го разработчики DeepMind также занимаются разработкой и других игровых алгоритмов. Например, здесь вы можете узнать о нейросети, которая играет в StarCraft — и пока что не очень успешно. Дополнительные подробности об истории создания и существования AlphaGo в профессиональном спорте вы можете прочитать в нашем материале.
Елизавета Ивтушок