В The Economist
о том же ходе написали: “Любопытно, что порой мастера го делают подобные ходы. Японцы называют их kami no itte («рукой бога», или «божественными ходами»)”[207].AlphaGo
выиграла эту партию и следующую. В четвертой партии Ли сделал свой kami no itte, который показывает сложность игры и силу интуиции лучших игроков. Ход Ли удивил комментаторов, но они сразу распознали в нем приговор противнику. “AlphaGo, однако, не поняла, что происходит, – написал один комментатор. – Она не сталкивалась с подобным… в миллионах партий, сыгранных с самой собой. На послематчевой пресс-конференции Седоля спросили, о чем он думал, когда сделал этот ход. Он ответил, что не смог разглядеть никакого другого хода”[208].Четвертую партию AlphaGo
проиграла, но пятую выиграла. Победа в матче осталась за ней. В прессе снова разгорелись дискуссии, похожие на те, что велись после победы Deep Blue над Каспаровым, и многие рассуждали о том, что победа AlphaGo значит для будущего человечества. Но это было даже важнее триумфа Deep Blue: ИИ справился с более сложной задачей, чем шахматы, и сделал это гораздо более впечатляющим образом. В отличие от Deep Blue, AlphaGo получила свои навыки благодаря обучению с подкреплением во время игры с самой собой.Демис Хассабис отметил, что “лучших игроков в го отличает интуиция” и “в AlphaGo
[мы] с помощью нейронных сетей внедрили, если хотите, именно этот аспект интуиции”[209].Как работает AlphaGo
Поскольку существовало несколько версий AlphaGo
, чтобы различать их, в DeepMind стали называть их по именам чемпионов, которых победила программа, – AlphaGo Fan и AlphaGo Lee, – что навевает мне образ черепов поверженных врагов в коллекции цифрового викинга. Уверена, в DeepMind не хотели таких ассоциаций. Как бы то ни было, и AlphaGo Fan, и AlphaGo Lee использовали сложную комбинацию глубокого Q-обучения, “поиска по дереву методом Монте-Карло”, обучения с учителем и специальных знаний го. Через год после матча против Ли Седоля в DeepMind разработали новую версию программы, которая оказалась одновременно проще и совершеннее предыдущих. Новая версия получила название AlphaGo Zero, потому что в отличие от предыдущей начала обучение, имея ноль знаний о го, не считая правил игры[210]. AlphaGo Zero выиграла сто из ста партий против AlphaGo Lee. Кроме того, специалисты DeepMind применили те же методы (хотя с другими сетями и другими встроенными правилами игры), чтобы научить систему играть в шахматы и сёги (или японские шахматы)[211]. Авторы назвали набор этих методов AlphaZero. В настоящем разделе я опишу, как работала AlphaGo Zero, но для краткости буду называть эту версию просто AlphaGo.Слово “интуиция” окружено ореолом таинственности, но интуиция AlphaGo
(если называть ее именно так) рождается из комбинации глубокого Q-обучения и “поиска по дереву методом Монте-Карло”. Давайте разберемся, что скрывается за этим громоздким названием. В первую очередь в глаза бросается “Монте-Карло”. Конечно, Монте-Карло – это фешенебельный район расположенного на Лазурном берегу крошечного княжества Монако, которое славится модными казино и автомобильными гонками и часто появляется в фильмах о Джеймсе Бонде. Но в естественных науках и математике методом Монте-Карло называют семейство компьютерных алгоритмов, которые были впервые использованы в рамках Манхэттенского проекта по разработке атомной бомбы. Своим названием метод обязан идее о том, что компьютер может использовать некоторую степень случайности – как при вращении легендарной рулетки в казино Монте-Карло – при решении сложных математических задач.Поиск по дереву методом Монте-Карло разработан специально для игровых компьютерных программ. Подобно оценочной функции Deep Blue
, поиск по дереву методом Монте-Карло применяется для присвоения оценки каждому возможному ходу из конкретной позиции на доске. Однако, как я упоминала выше, в го неприменим обстоятельный упреждающий просмотр и пока еще не создана надежная оценочная функция. Поиск по дереву методом Монте-Карло работает иначе.
Рис. 31. Схема поиска по дереву методом Монте-Карло
На рис. 31 показана схема поиска. Взгляните сначала на рис. 31A. Черным кружком на нем обозначена текущая позиция на доске, то есть конфигурация камней на доске на момент текущего хода. Допустим, программа играет в го черными и наступает очередь черных ходить. Для простоты допустим, что у черных есть три возможных хода, показанные тремя стрелками. Какой ход выбрать черным?