Го: человек против машины
Текст: Михаил Емельянов | 2019-04-19 | Фото на заглавной странице: © Saran_Poroong / shutterstock | 288
Создавая самообучающийся искусственный интеллект, ведущие разработчики ориентируются на исследования в области высшей нервной деятельности живых организмов, благодаря чему проявляется сходство его работы с деятельностью мозга животных, в частности человека. Но есть и значительные отличия, вследствие чего искусственный интеллект начинает следовать несвойственной человеку стратегии и принимать решения, непонятные человеку. Причём в некоторых случаях такие стратегии и решения оказываются намного эффективнее, чем человеческие. О том, почему так происходит, мы поговорим на примере, наверное, самой продвинутой на сегодня разработки в области искусственного интеллекта, предложенной компанией Google.

В 2017 году искусственный интеллект AlphaZero компании Google, тренировавшийся одновременно играть в Го, шахматы и сёги, перешагнул порог человеческого понимания. Сейчас тренировки остановлены, а нейросеть успела обыграть сильнейшую шахматную программу Stockfish, наделав шума новыми идеями в изученных вдоль и поперёк шахматах. Кроме того, новый клон нейросети с названием AlphaStar успешно бьётся с лучшими игроками в Starcraft II. В первом публичном матче, прошедшем в декабре 2018 года, самообучающаяся нейросеть разгромила профессиональных игроков со счётом 10:1. Замечу, что Starcraft — это сложная компьютерная игра, не имеющая оптимальной стратегии и к тому же с неполной информацией, поскольку игроки не всегда видят действия своего противника.

AlphaZero, как и его первая версия AlphaGo, не изобрела новых тактических решений. Но она показала иной взгляд на стратегию игры. То, что раньше было скорее чувством и отдельными проблесками гениев, сейчас можно описать как стратегию.

Дэмис Хасабис, основатель и руководить компании DeepMind (разработчик AlphaGo, AlphaZero и AlphaStar), выделил три ключевых аспекта в создании искусственного интеллекта, которым следовали создатели AlphaGo.

1. Обучение, а не программирование. Цель заключается в том, чтобы создать систему, которая училась бы напрямую, собирая информацию из окружающего мира, а не следовала бы написанной человеком программе действий.

2. Общее, а не специальное. Создаваемая система должна работать с широким кругом операционных пространств и быть способной решать даже такие задачи, с которыми человек не сталкивался ранее.

3. Восприятие, а не логика. По-настоящему мыслящая система должна быть погружена в суть нашей относительной реальности. Ей необходимо понять основы, на которых строится знание. Напротив, система, построенная в изначально заданной логике, действует в умозрительном пространстве с абстрактными моделями, оторванными от реальности.

4. Проактивность, а не пассивность. Пассивные системы получают информацию на входе и выдают решение. Задача состоит в том, чтобы создать систему, которая бы стала активным участником собственного обучения, больше похожую на ребёнка, чем на машину.

В своём труде разработчики опирались на нейробиологию, когнитивную психологию, изучали исследования интеллекта животных. Погружение в смежные области знаний помогло им по-новому взглянуть на проблему и создать новую архитектуру алгоритмов для обучения нейросетей, которые и были применены в AlphaGo.

По мнению разработчиков из Google, первый шаг в создании искусственного интеллекта — это появление системы Deep Reinforcement Learning. Суть DRL заключается в том, чтобы соединить процесс восприятия (нейросеть для распознавания изображений) и принятия решений (обучение на основе подкрепления, то есть получения награды за результат, например, в виде выигрыша в игре). Чтобы проверить эффективность разработанного алгоритма, Google выбрал игру Го. Эта игра хороша тем, что в ней всего два правила, но при этом астрономическая вариативность, что не позволяет написать оценочную функцию и делает Го чрезвычайно мудрёной игрой. В Го невозможно победить с помощью лучшей математики. Необходима лучшая стратегия. В отличие от шахмат в Го нечёткая цель игры — получить больше территории, представление о которой является субъективным. Также в Го нет концепции материала, а все камни (в отличии от шахматных фигур) изначально имеют равную ценность. Но в зависимости от контекста, который постоянно меняется, ценность камней также изменяется, и камень, стоивший как король, через десять ходов может быть пожертвован как ничего не стоящая фигура.

© Saran_Poroong / shutterstock

Ещё одна особенность Го — это то, что игра является созидательной, позиция в Го конструируется и усложняется с каждым ходом. Даже лучшие мастера не могут сделать чёткий вывод о том, каким будет финал этого конструирования, и вынуждены опираться на интуицию и видение.

Основным движком компьютерного Го долгое время являлся алгоритм поиска по дереву методом Монте-Карло. Этот стохастический метод использовался для создания алгоритмов шахматных и Го-программ до появления AlphaGo. Его суть состоит в том, что при достижении предела исследованной области веток вариантов программа проводит миллионы случайных доигрываний, собирая статистику результата. Если даже при случайных симуляциях побед будет больше, чем поражений, эта ветка признаётся выигрышной и её исследование продолжается. Специальные эвристики позволяют оптимизировать этот процесс, помогая программе отсеивать очевидно плохие решения, не тратя время на их исследование, и при этом проявлять «любопытство», исследуя новые ветки дерева.

В этом смысле разработчики AlphaGo не создали ничего нового. Но они смогли собрать уже известные инструменты в архитектуру, показавшую поразительные результаты. Первый вариант искусственного интеллекта Google включал две нейросети: сеть стратегии (или политики) и сеть оценки, а также блок поиска по дереву методом Монте-Карло для моделирования и выбора окончательного решения — хода в игре.

Кроме того, создатели AlphaGo подошли с очень неожиданного угла к обучению стратегической сети. Число вариантов в Го астрономически велико. И если для шахмат создатели Deep Blue сумели построить функцию с восемью тысячами параметров, то в игре Го, по разным подсчётам, такая функция включала бы до миллиона параметров. Пока такие модели находятся за гранью наших возможностей, хотя человеческий мозг достаточно легко справляется с подобными задачами. И тогда программисты спросили себя: почему не научить нейросеть распознавать стратегические проблемы на доске Го так же, как мы учим нейросети распознавать изображения? Пусть сеть анализирует отдельные ходы, как часть стратегической картины в целом.

Другими словами, у любой проблемы или стратегии есть лицо с «хвостом» и «усами». По крайней мере для игры Го такой подход сработал. Нейросеть училась распознавать типы стратегий и проблем, рассматривая двадцать девять миллионов позиций (последний миллион был тестовой выборкой для экзамена). Она научилась обобщать типы позиций, в которых нужно выживать и в которых, наоборот, нужно жертвовать, позиции атаки и позиции мирного дележа. AlphaGo созерцает расстановку камней, относя её к одному из известных ей типов ситуаций и после этого ищет лучшее для неё решение.

Звучит заманчиво и даже немного невероятно. Напоминает врача, который сразу видит, что болит и где. Но именно таким позиционным зрением отличается мастер от новичка — он сразу с первого взгляда видит, что происходит на доске. Ему не нужно рассчитывать сложные варианты, чтобы увидеть проблему и определить её тип.

Сеть стратегии училась стандартным методом Supervise learning по data, включающей 6 миллионов конечных позиций из человеческих игр. Её учили угадывать, какое решение в данной позиции сделает человек. А сеть оценки училась определять, каковы шансы на победу в данной позиции после сделанного хода. Совместно две нейросети определяли три-пять лучших кандидатов на глубокий анализ с помощью метода поиска по дереву. По сути, к блоку поиска по дереву была подключена нейросеть-оракул.

На следующем шаге нейросеть играла со своим клоном партии по принципу Reinforcement learning. Победившая нейросеть клонировалась и вновь играла сама с собой. Таких игр было сыграно около тридцати миллионов. Это очень большое число, и тренировка заняла почти год. Для сравнения: все записанные игры мастеров за историю Го составляют чуть более ста тысяч партий.

В 2016 году Google вызвал на матч Ли Седоля — чемпиона мира по Го из Кореи, предложив ему в случае победы миллион долларов. Чемпион проиграл со счётом 4:1, что оказалось полной неожиданностью для всех аналитиков.


М.Емельянов

Хронология игр искусственного интеллекта с мастерами Го.

Горизонт эффективного планирования методом Монте-Карло составляет примерно 100 постановок. В одной из опубликованных игр между двумя нейросетями одна из них боролась в заведомо проигрышной позиции, но поражение стало очевидным лишь после 120-й постановки в борьбе. Человек же обычно планирует не более чем на 30 шагов. Ведь на каждом шаге фактор ветвления имеет около 250 вариантов. И даже если мы рассматриваем только ключевые точки, то вариантов всё равно будут сотни, и в уме нужно держать десятки сценариев.

Очень большую известность среди экспертов и любителей игры Го получил ход №37 из второй игры между Ли Седолем и AlphaGo. Это один из ярких примеров конфликта между сетями внутри AlphaGo. Стратегическая сеть оценила вероятность этого решения в 0,0001. То есть играть так её не учили. А вот сеть оценки отдала ему максимальный приоритет. И глубокое сценирование методом Монте-Карло показало, что этот камень действительно хорош. Кстати, корейский чемпион поступил так же, как и стратегическая сеть — недооценил эффективность этого решения, которое начинало работать в полную силу лишь через 50 постановок. Просчитать такое никакому мастеру не под силу. Это можно только почувствовать или увидеть.

Что ещё действительно удивляет, так это особая стратегия AlphaGo. Китайцы называют её гибкой и отмечают лёгкость, с которой нейросеть переключается между, казалось бы, противоречивыми сценариями игры. Дело в том, что она рассматривает эти сценарии как стратегический перекрёсток, дающий равные возможности для победы, независимо от выбранного сценария. В Го это называется «миаи». И только гениальные мастера играли в таком ключе. Каждый камень, который ставит AlphaGo, работает сразу на несколько сценариев одновременно. Конечно, найти такой ход-мультипликатор не всегда возможно. Мультипликативный эффект позволяет соблюдать один из принципов Го — не определяйся без необходимости, но при этом двигайся к победе. Главное — не попасть в ловушку неопределённости и не наставить пустых камней, которые неопределённые настолько, что ничего не делают. Поэтому человек обычно играет в одном-двух сценариях одновременно. А нейросеть способна играть сразу в четырёх, переходя из одного в другой, где шансы на победу выше. И это даёт ей устрашающее интеллектуальное преимущество.

Наиболее близкий аналог стратегии AlphaGo — это стратегия реальных опционов. За формулу их оценки американские экономисты Ф. Блэк и М. Шоулз в 1973 году получили Нобелевскую премию. Реальные опционы позволяют оценить возможности в условиях высокой волатильности. В середине партии Го волатильность буквально зашкаливает, что и делает игру одной из самых сложных в мире.

© arland / flickr

Разработчики считают, что AlphaGo показала в своих играх два качества, присущих исключительно человеческому сознанию: интуицию и креативность. Интуиция — это неявное знание, которое мы берём из внутреннего опыта, но которое мы не можем полностью осознать. Креативность — это способность синтезировать имеющееся знание для создания новых идей.

Главная претензия к разработчикам AlphaGo заключалась в том, что программа училась на большой базе данных из сотен тысяч игр, скачанных в интернете. То есть ей была необходима большая вводная информация, теория игры и человеческий опыт. Судя по всему, с первого раза в Google не смогли создать нейросеть без обучения на big data. Однако в конце 2017 года в журнале Nature вышла новая статья DeepMind о релизе AlphaGo Zero, который демонстрировал возможности прорывной архитектуры обучения нейросетей без входящей базы данных.

AlphaGo Zero училась исключительно на своих ошибках, начиная со случайных действий. Архитектура системы стала проще, что на порядок повысило её эффективность. Две нейросети были объединены вместе наподобие полушарий мозга, что получило название «двуполушарная архитектура». Правда в статье разработчики не раскрыли всех технических деталей. Другой важной новацией стало использование поиска по дереву во время обучения, что позволило отказаться от перебора вариантов во время самой игры.

Суть в следующем. Пусть нейросеть угадывает не то, куда сходил бы человек в данной позиции, а то, какой следующий ход получит максимальный вес при его расчёте по методу Монте-Карло. То есть надо научить нейросеть заранее угадывать, какая из неисследованных веток дерева вариантов будет самой перспективной. Затем нужно провести проверку и таким образом обучать нейросеть до тех пор, пока она не научится угадывать результаты прогноза метода Монте-Карло так же хорошо, как она угадывала лучшие человеческие ходы. Очевидно, что в этом случае ей уже не нужна никакая big data, то есть во время игры мы опираемся только на нашу предсказательную оценку, не проводя симуляций вообще. Эта инновация нужна для использования алгоритма в тех случаях, где симуляция просто невозможна. Например, в медицине или других сложных для моделирования областях.

В результате новая нейросеть стала на 55% эффективнее той, что училась на человеческой data. Google на примере AlphaGo Zero показывает эффективность двух своих разработок: тензорных процессоров и библиотеки машинного обучения Tenzorflow, благодаря которым удалось принципиально повысить энергоэффективность нейросети.

За три часа обучения нейросеть AlphaGo Zero дошла до уровня, при котором она пытается окружать территорию, пусть и хаотично. Так играет ребёнок или новичок. За девятнадцать часов нейросеть уже открыла все базовые эвристики, которыми пользуется мастер: владение и влияние, эффективные построения, делёж территории вместо охоты на чужие камни. За семьдесят два часа нейросеть дошла до уровня AlphaGo, обыгравшей Ли Седоля. Предыдущая версия нейросети шла к этому уровню почти два года.

© arland / flickr

© arland / flickr

© J.A.G.A. / flickr

Третья версия нейросети — универсальный игрок AlphaZero сразу училась играть в три разные игры: шахматы, Го и сёги. Нейросеть сделала сенсацию в шахматном мире, научившись играть в шахматы за четыре часа так, что открыла целую серию новаций в, казалось бы, полностью изученной игре. Этот же искусственный интеллект дошёл до уровня AlphaGo уже за восемь часов и обыграл AlphaGo Zero со счётом 60:40.

Если сравнить эффективность AlphaZero с человеческим мышлением, то гроссмейстер или мастер Го рассматривают одномоментно до десяти хороших ходов. AlphaZero — около десяти тысяч, а, к примеру, Stockfish — десять миллионов решений. Искусственный интеллект Google действует не как компьютер и не как человек. Особенности его стиля: долгосрочные локальные жертвы ради глобального превосходства, отсутствие классической шахматной концепции материала и оценка ценности исключительно контекстно и ситуативно. Анализ игр нейросетей в Го выявил несколько любопытных отличий от того, как действует человек. Нейросеть не максимизирует выигрыш. Она максимизирует шансы на победу, в то время как человек стремится получить куш побольше — для уверенности, что он победит. Как показал расчёт нейросети, часто большой куш отдаляет тебя от победы, а наибольшими шансами обладают наиболее сбалансированные «равные» с противником ходы. Надо напомнить, что в Го победа определяется по заработанным очкам территории, а не убийством фигуры короля.

Второй не менее любопытный момент — причины поражения одной нейросети от другой. Как оказалось, нередко поражение терпит нейросеть, которая лидировала большую часть игры. Почему же так происходит? Эксперты, разбиравшиеся с этим вопросом, выяснили, что как только нейросеть «понимает», что побеждает, она начинает избегать борьбы и стремится как можно быстрее завершить игру, даже в ущерб борьбе за удержание своего преимущества. Её оппонент, «понимающий», что проигрывает, наоборот, навязывает драку и активную игру, и в результате перехватывает инициативу в тот момент, когда для первой нейросети уже ничего изменить невозможно. На востоке есть такое понятие как киаи, или боевой дух. Настоящий мастер должен им обладать, и именно сила духа определяет победу и поражение чемпионов, где технический уровень уже не так значим. Мастер будет биться и бороться до последнего, даже если он осознаёт, что побеждает, он не будет расслабляться, так как неизвестно, как повернётся игра. А у нейросети нет ни страха, ни боевого духа. По крайней мере пока нет.


Подписаться на новыe материалы можно здесь:  Фейсбук   ВКонтакте


закрыть

Подписывайтесь на нас в Facebook и Вконтакте