С замирающим сердцем слежу я за поединком в го между корейцем Ли Седолем и компьютерной программой под названием AlphaGo. Матч ещё не завершён, сыграны лишь три партии из пяти, но хладнокровие, жестокость, какая-то особенная механическая дерзость, с которой машина разделалась с человеком в каждой из трёх проведённых, наводят (и не только меня!) на мысли грустные и даже страшные…
Если вы ещё не знакомы с го — что странно при том внимании, которое уделяется ей айтишным сообществом в последние годы — то вот короткий экскурс. Это одна из древнейших игр, в которые играет человек. Ей четыре тысячи лет, плюс-минус, придумана она в Древнем Китае и по сути своей очень проста. Есть разграфлённое на клетки поле, чёрные и белые камни, плюс правила, которые можно буквально сосчитать на пальцах одной руки. С точки зрения человека это такая же игра, как шахматы, шашки, и вообще любая другая сопоставимой комбинаторной сложности. Это не значит, конечно, что сильный шахматист будет так же силён и в го. Но это значит, что мыслят игроки примерно одинаково: возможных сценариев слишком много, приходится опираться на интуицию.
А вот с точки зрения электронно-вычислительной машины, го — особый случай. В подавляющем большинстве прочих игр количество возможных ходов хоть и велико, но в принципе поддаётся механическому перебору. Грубо говоря, можно заставить машину просчитать, как скажется ход А на исходе игры Б: вычислить дерево вероятных следующих позиций, влияние их на величину функции f, которая тем больше, чем более вероятна победа.
В шахматах число комбинаций огромно (10^118, что превосходит количество атомов во Вселенной; см. число Шеннона), однако, наложением элементарных фильтров — вроде исключения запрещённых ходов, исключения невозможных положений фигур на доске и пр. — его можно сильно уменьшить. Что по сути и делают разработчики шахматных программ до сих пор: именно так Deep Blue одолел Гарри Каспарова в 1997-м.
Го — другая история. Число возможных сценариев здесь превосходит все прочие игры и оценивается для доски 19×19 полей в 10^761. Да, применением правил его тоже возможно радикально сократить, но к такому огромному вероятностному пространству применить правила ещё нужно суметь! И потом, в го, в отличие от других, трудно оценить влияние конкретного хода на исход игры. Так что в общем и целом вплоть до последнего времени го считалась недосягаемой для «решения в лоб», т.е. методом перебора вариантов. Считается она таковой и сейчас. Команда Google пошла иным путём.
Есть несколько хороших публикаций, в которых создатели AlphaGo объясняют схему своего автомата: вот подробная, но сложная, статья в Nature, вот популярное, но поверхностное объяснение в блоге Google. Если коротко, была построена многослойная (дюжина слоёв) искусственная нейросеть из двух блоков, работающая на облачном суперкомпьютере (в настоящий момент задействованы больше тысячи CPU и на порядок меньше GPU). Блок первый предлагает ход, блок второй оценивает вероятное его влияние на результат партии.
Тренировали AlphaGo сперва на игре с живым соперником и записях состоявшихся игр, а после заставили машину играть против самой себя — чтобы она не просто имитировала человека, а и сама изобретала стратегии. Потом AlphaGo показал свою мощь, одолев всех существующих электронных соперников. Потом, прошлой осенью, победил в закрытом чемпионате многократного европейского чемпиона. А теперь разделал под орех одного из сильнейших годзистов мира…
«Придумать стратегию» в данном случае не преувеличение и не фигура речи. Дело в том, что как и всякую машину, преодолевшую некоторый воображаемый порог сложности, мы более не в силах понять, как именно AlphaGo работает — не в силах описать это, пользуясь языком математики. Сами создатели AlphaGo в интервью называют то, что делает их машина, интуицией. Да, конечно, они знают, что это лишь результат работы двух конкурентных многослойных нейросетей. Но описать как именно генерируется тот или иной ход, а тем более предсказать, как сходит машина в произвольной ситуации, даже её создатели уже не могут!
Остановитесь здесь, задумайтесь. Человек более не в силах предсказать, как поведёт себя построенная им машина! А вживую насладиться эффектом можно на записях матча: оцените замешательство экспертов (сильнейших игроков!), в которое повергают их некоторые ходы AlphaGo. Люди сперва просто не понимают, для чего, почему был сделан ход — и только позже, крепко поразмыслив, признают, что это было умно, дальновидно, дерзко, агрессивно.
И вот тут новым светом начинает играть фраза, оброненная как-то Стивеном Хокингом. Он, входящий в число знаменитостей, призывающих опасаться появления слишком умных машин, сказал год назад, что «…машины подчинят нас оружием, которое мы не в силах будем даже понять».
Нет, AlphaGo — пока всего лишь автомат для игры. Это не система широкого профиля. Но люди, которые её построили, работают над множеством других проектов Google и надеются уже в следующие пять лет вывести их на рынок: машины, обладающие интуицией, станут трудиться бок о бок с нами уже в ближайшие пять лет! Хорошо, если мы сможем их ограничить, контролировать: пусть они помогают, например, учёным обрабатывать сырые данные, чтобы ускорить научный поиск. Но в том и парадокс, что контролировать то, чего не понимаем, мы не сможем.
Желаете посмотреть, как меняет осознание этого факта человека? Понаблюдайте за Ли Седолем. Он был абсолютно уверен в своей победе до матча, поколеблен странной игрой машины после первого сражения, расстроен после второго и, кажется, совсем утратил веру в свою способность сопротивляться после третьего.
Да, четвёртую партию, состоявшуюся сегодня ночью, он выиграл. На то и игра! Но меняет ли это что-нибудь?