Ли Седоль только ушел на десятиминутный перекур, когда Аджа Хуан сыграл «удар в плечо». Как только он вернулся в сопровождении двух с иголочки одетых охранников и сел в кресло, он поморщился и оскалился, разиня рот, как будто наступил в кучу дерьма. Еще миг, и он подался вперед, на губах появилась блаженная улыбка, как если бы он наконец увидел нечто, чего искал всю жизнь — нечто прекрасное, не из этого мира. Все знали Ли как невероятно импульсивного игрока, он никогда не обдумывал ход больше минуты, но в этот раз он потратил более двенадцати минут отведенного ему времени, анализируя, казалось бы, абсурдный выпад AlphaGo, часто моргал, теребил кожу между большим и указательным пальцами, наклонив голову вбок, как собака, когда видит что-нибудь впервые и не знает, как реагировать. У него всё было написано на лице. «Вначале я заметил, что программа много ошибается. Она вела в игре, но я начал понемногу наращивать влияние. Она ошибалась опять и опять, и я решил, что у меня есть шанс на победу, машина не совершенна. И тогда она сделала этот ход. В голове не укладывается! Вокруг много черных камней, она практически окружена. Нельзя просто взять и пойти в этот пункт! А она пошла, сделала тридцать седьмой ход, и я понял, что шансов у меня нет. Потом до меня дошло, зачем она отдавала мне территорию в других участках поля. Она уже знала, что сделает этот ход. Поддавалась мне сначала и перехитрила потом. После этого хода я уже ничего не мог сделать. Она победила». Так Ли вспоминал матч пару лет спустя, когда объявил об окончании своей карьеры, но во время игры он не собирался сдаваться без боя, всё смотрел и смотрел на доску, его время шло; он теребил нижнюю губу длинными тонкими пальцами. «Я думал, AlphaGo основана на вычислении вероятностей, это просто машина. Тридцать седьмой ход доказал обратное — AlphaGo мыслит творчески. Этот ход заставил меня посмотреть на го с другой стороны. Какую роль в этой игре исполняет творчество? Это был не просто хороший, великий или мощный ход. Он имел значение», — сказал Ли в интервью съемочной группе документального фильма после матча. Игра длилась еще три часа; в другой ситуации Ли давно бы сдался, но не в этот раз: он продолжал играть, он боролся, а комментаторы начали медленно и мучительно подсчитывать очки; он не мог признать неизбежное, не хотел бросать игру, которая, он знал, войдет в историю. К девяносто девятому ходу у Ли не осталось шансов на победу, но алгоритм не собирался сокрушать его одним ударом, он понемногу откусывал один камень за другим от территории Ли. Седоль держался, надеялся на чудо или, может, ждал, что машина ошибется, опять начнет играть хаотично, как вначале, но она становилась тем сильнее, чем больше камней ложилось на поле, и к двухсот одиннадцатому ходу белых Ли наконец сдался.
Журналисты набились в зал для пресс-конференции, Ли Седоль занял место на сцене рядом с Хассабисом, он выглядел поверженным. На всём этаже царила грустная и меланхоличная атмосфера; поклонники и комментаторы не могли поверить, что их национальный герой проиграл, и не единожды, а дважды. Соперник обошел и перехитрил Седоля; шпынял его и не давал развернуться, как новичку. Многие сошлись во мнении, что если в первой игре программа застала Ли врасплох, то во второй он оказался совсем беспомощным. Он заговорил своим тонким голосом куклы-чревовещателя, сдавленным от эмоций, попросил прощения за проигрыш. «Вчера я удивился, а сегодня у меня нет слов. Мой проигрыш очевиден. Ни разу с самого начала игры у меня не было ощущения, что я веду. Программа сыграла почти совершенно», — признался он под слепящими вспышками камер. Хотя он был весьма самокритичен и выглядел пристыженным и шокированным из-за поражения, он дал понять, что будет бороться: «Да, я проиграл во второй игре, но матч еще не окончен. Нас ждет третья игра».
Один на десять тысяч
Перед третьей игрой у Ли был день отдыха, который он провел в своем номере в компании четверых го-профессионалов высочайшего уровня; они разбирали предыдущие игры ход за ходом, пытались понять, как кучке программистов без какого-либо опыта в го удалось создать систему, которая в один миг поломала все вековые традиции игры. Как сотрудники DeepMind сумели запрограммировать алгоритм на такую игру? Удивительно! Но дело в том, что они и не программировали.
Тридцать седьмого хода не было в памяти AlphaGo, не было никаких правил или сценариев, введенных в ее кремниевые мозги вручную, которые привели бы к этому ходу. Программа сама додумалась до него, без участия человека, но впечатляет другое: AlphaGo знала, насколько машина вообще может «знать», что ни одному мастеру игры в го не придет в голову сделать такой ход. От победы DeepMind отделяла всего одна игра, всё внимание медиа было приковано к компании, и Демису Хассабису приходилось много выступать и объяснять, как такое вообще возможно. Он рассказывал журналистам, что никто ничего не настраивал в компьютере своими руками, не загружал в нее общий свод правил, как сделали, например, IBM с шахматным движком Deep Blue за двадцать лет до того. В основе AlphaGo игра с самой собой и обучение с подкреплением, то есть, по сути, она сама всему научилась.
Но сначала ей пришлось научиться играть как человек.
Хассабис и его сотрудники решили, что есть только один способ победить профессионала высочайшего уровня — воссоздать у компьютера тот творческий и в некоторой степени загадочный подход, который есть к игре у человека. Для этого они загрузили сто пятьдесят тысяч игр из базы данных топовых игроков-любителей в искусственную нейронную сеть — это сложная математическая модель, которая повторяет сеть нейронов в мозге человека; она состоит из нескольких соединенных между собой слоев алгоритма, каждый из которых распознает особый набор закономерностей и черт. Благодаря совместной работе, слои создают обширную модель с миллионами взаимно влияющих друг на друга параметров, а при минимальных изменениях они могут менять поведение всей сети. Первая нейронная сеть AlphaGo проанализировала тысячи игр и понемногу научилась подражать людям, копировать и предугадывать их ходы в той или иной ситуации. Этот первый пакет информации, основанной на человеческом опыте, стал своего рода «здравым смыслом» AlphaGo, потому что его, грубо говоря, можно приравнять к тому, что́ новичок узнает из книг и первых уроков с учителем. Сотрудники DeepMind назвали эти данные стратегической сетью. С ее помощью программа научилась сносно играть на любительском уровне, но до мастерства профессионала ей было еще далеко. Чтобы компьютер мог играть как профи, ему нужно выработать особый навык, которым владеют игроки в го — видеть поле целиком и чувствовать, как то или иное положение камней повлияет на ход игры; обрести чисто человеческую способность «читать поле», на что у молодых игроков уходят годы. Ли Седоль, например, отточил этот навык за бессчетными часами игры, не моргая глядел на пустое поле, разыгрывал каждый ход и возможные ответы в уме. Нужно было найти способ и научить AlphaGo определять ценность каждого положения камней на доске, понимать игру глубже; в каждый момент времени видеть, приведет ее следующий ход к победе или к поражению. Чтобы добиться этого, ей придется начать играть с собой.
Используя стратегическую сеть, созданную на основе любительских игр, AlphaGo сыграла сама с собой несколько миллионов игр. Она училась методом проб и ошибок, становилась всё лучше, всё сильнее и больше не пыталась подражать людям и повторять за ними, она сосредоточилась на победе над собой. Сыграв миллионы игр, программа внесла миллиарды исправлений в свою математическую модель и усовершенствовала себя, но никто не мог понять почему — ведь внутренние процессы искусственной нейронной сети почти полностью скрыты от нас, и мы не можем ни отследить, ни измерить несметное множество последствий в результате неисчислимых модификаций внутренних параметров алгоритма, которые вносит программа, медленно подбираясь к желанному результату. Хассабис объяснил: «Сначала она играла из рук вон плохо. Ужасно много ошибалась, как ребенок или как совершенно бездарный и неуклюжий человек, только начавший играть. У программы не было внутреннего представления о том, в чем суть игры, а человеку это дается естественно, почти инстинктивно. Иногда она всё же делала умные ходы, но совершенно случайно, а потом научилась распознавать хорошие закономерности и закреплять их. Ее сети работали сообща, подкрепляли поведение, которое увеличивало ее шансы на победу, постепенно совершенствуя ее способности». По завершении второго обучающего процесса, новая, более крепкая, версия AlphaGo сыграла еще тридцать миллионов игр против улучшенной версии себя и создала пакет информации, который позволил ей обучить вторую нейронную сеть — ее в DeepMind назвали оценочной. Эта сеть анализировала любую группу камней на поле и достраивала вероятные сценарии развития игры до самого конца, таким образом оценивая, выигрывает программа или нет, и если да — то с каким счетом. Даже самые умные и натренированные игроки в го не способны на такое, потому что вторая нейронная сеть программы смогла оценить в числовом эквиваленте то, что мы можем только смутно почувствовать и уловить благодаря интуиции. Две нейронные сети помогли программе мало-помалу совладать с безграничной сложностью го и выйти на неслыханный уровень игры. AlphaGo не нужно было тратить вычислительные силы на поиски решения в бесконечности возможностей, расходящихся от каждого камня, — она пользовалась здравым смыслом, заложенным в стратегической сети, и учитывала только наилучшие из возможных ходов, обрезая те ветки дерева Монте-Карло, которые не считала оптимальными. Тем временем оценочная сеть AlphaGo избавляла ее от необходимости проигрывать каждый матч целиком, чтобы решить, чем закончится конкретный ход для нее — победой или поражением. Миллионы игр программы с самой собой отточили и довели до совершенства работу этих сетей, что позволило AlphaGo намного превзойти человеческие знания и придумать радикальные стратегии и контринтуитивные ходы, как тот, что она предложила во второй игре против Ли Седоля. Разработчики также предусмотрели возможность программы точно оценивать, насколько маловероятным этот конкретный ход покажется сопернику-человеку.