Команда продолжила изыскания и создала следующего гениального игрока в семействе AlphaGo, на этот раз названного просто AlphaZero. В работе, опубликованной на сайте arxiv.org в декабре, исследователи DeepMind раскрыли, как, снова начав с нуля, AlphaZero натренировалась и победила AlphaGo Zero – то есть, она победила бота, победившего бота, победившего лучшего игрока в го в мире. А когда ей дали правила для японских шахмат сёги, AlphaZero быстро обучилась и сумела обыграть лучшие их специально созданных алгоритмов для этой игры. Эксперты удивлялись агрессивному и незнакомому стилю игры программы. «Мне всегда было интересно, на что это было бы похоже, если бы превосходящие нас существа прилетели на Землю и показали бы нам, как они играют в шахматы, — говорил датский гроссмейстер Петер Хейне Нильсен в интервью ВВС. – Теперь я знаю».
В прошлом году мы видели и других ботов с иных миров, проявивших себя в настолько разных областях, как безлимитный покер и Dota 2 – популярной онлайн-игре, в которой фэнтезийные герои борются за контроль над иным миром.
Естественно, что амбиции компаний, инвестирующих деньги в подобные системы, простираются за пределы доминирования на игровых чемпионатах. Исследовательские команды вроде DeepMind надеются применять сходные методы к задачам реального мира – созданию сверхпроводников, работающих при комнатной температуре, или пониманию того, какое оригами свернёт белки в полезные для лекарств молекулы. И, конечно, многие практики надеются построить искусственный интеллект общего назначения – плохо определяемая, но пленительная цель дать машине возможность мыслить, как человек и гибко подходить к решению разных проблем.
Однако, несмотря на все вложения, пока неясно, насколько далеко смогут текущие технологии выйти за пределы игровой доски. «Не уверен, что идеи, лежащие в основе AlphaZero, будет так легко обобщить», — говорит Педро Домингос, специалист по информатике из Вашингтонского университета. «Игры – это очень, очень необычная тема».
Идеальные цели для неидеального мира
Одна общая у многих игр характеристика, включая шахматы и го – игрокам постоянно видны все фишки с обеих сторон доски. У каждого игрока есть, что называется, «идеальная информация» о состоянии игры. Какой бы сложной ни была игра, вам нужно просто думать над текущей позицией.
Многие ситуации реального мира с этим не сравнить. Представьте, что мы просим компьютер поставить диагноз или провести бизнес-переговоры. «Большая часть стратегических взаимодействий в реальном мире связана со скрытой информацией», — говорит Ноам Браун, аспирант по информатике из Университета Карнеги-Мэлон. «Мне кажется, что большая часть ИИ-сообщества этот факт игнорирует».
Покер, на котором специализируется Браун, предлагает иную задачу. Вы не видите карт оппонента. Но и здесь машины, обучающиеся через игру с самими собой, уже достигают сверхчеловеческих высот. В январе 2017 года программа Libratus, созданная Брауном и его куратором Томасом Сэндхолмом, обыграла четырёх профессиональных игроков в безлимитный техасский холдем, выиграв $1,7 млн в конце 20-дневного чемпионата.
Ещё более обескураживающая игра с неидеальной информацией — StarCraft II, ещё одна многопользовательская онлайн-игра с огромным числом фанатов. Игроки выбирают команду, строят армию и ведут войну на научно-фантастическом ландшафте. Но ландшафт окружён туманом войны, из-за которого игроки видят только те части территории, на которых расположены их собственные войска или строения. Даже в решении исследовать территорию соперника полно неопределённости.
Это единственная игра, в которую ИИ пока не может выиграть. Препятствиями служат огромное количество вариантов ходов в игре, которое обычно переваливает за тысячу, и скорость принятия решений. Каждому игроку – человеку или машине – приходиться беспокоиться об огромном количестве вероятных сценариев развития с каждым щелчком мышки.
Пока что соперничать на равных с людьми в этой области ИИ не может. Но это является целью для развития ИИ. В августе 2017 DeepMind скооперировалась с Blizzard Entertainment, компанией, создавшей StarCraft II, чтобы создать инструменты, которые, по их словам, откроют эту игру для исследователей ИИ.
Несмотря на всю сложность, цель StarCraft II сформулировать просто: уничтожить врага. Это роднит её с шахматами, го, покером, Dota 2 и практически любой другой игрой. В играх можно победить.
С точки зрения алгоритма у задач должна быть «целевая функция», цель, к которой надо стремиться. Когда AlphaZero играли в шахматы, это было несложно. Поражение оценивалось в -1, ничья в 0, победа в +1. Целевая функция AlphaZero – максимизация очков. Целевая функция покерного бота настолько же проста: выиграть кучу денег.
Ситуации в реальной жизни бывают не такими простыми. К примеру, робомобилю требуется более тонкое формирование целевой функции – что-то похожее на аккуратный подбор слов при описании вашего желания джинну. К примеру: быстро доставить пассажира по правильному адресу, подчиняясь всем законам и соответствующим образом взвешивая стоимость человеческой жизни в опасных и неопределённых ситуациях. Домингос говорит, что формирование исследователями целевой функции, это «одна из тех вещей, что отличают великого исследователя в области машинного обучения от середнячка».
Рассмотрим Tay, чат-бота для Twitter, который Microsoft выпустила 23 марта 2016 года. Его целевой функцией было вовлекать людей в разговор, чем он и занимался. «Что, к сожалению, обнаружил Tay, — сказал Домингос, — так это то, что наилучшим способом максимизации вовлечения людей будет выдавать расистские оскорбления». Его отключили всего через день после начала работы.
Ваш собственный главный враг
Некоторые вещи не меняются. Используемые сегодня преобладающими игровыми ботами стратегии были придуманы много десятилетий назад. «Это такой взрыв из прошлого – ему просто дают больше вычислительных мощностей», — говорит Дэвид Дувено, специалист по информатике из Токийского университета.
Стратегии часто основываются на обучении с подкреплением, техники с предоставлением свободы действия. Вместо того, чтобы заниматься микроменеджментом, настраивая мельчайшие подробности работы алгоритма, инженеры дают машине изучать окружении обучаться достижению целей самостоятельно, методом проб и ошибок. До выхода AlphaGo и его наследников, команда DeepMind достигла первого большого успеха, попавшего в заголовки, в 2013 году, когда использовала обучение с подкреплением для создания бота, научившегося играть в семь игр Atari 2600, причём в три из них – на уровне эксперта.
Этот прогресс продолжился. 5 февраля DeepMind выпустила IMPALA – ИИ-систему, способную научиться 57 играм с Atari 2600 и ещё 30 уровням, сделанным DeepMind в трёх измерениях. На них игрок действует в различных окружениях и достигает целей вроде открытия дверей или сбора грибов. IMPALA, казалось, передавала знания между заданиями – время, потраченное на одну игру, улучшало результаты в остальных.
Но в более широкой категории обучения с подкреплением, настольных и мультипользовательских играх, можно использовать более конкретный подход. Их изучение может идти в виде игры с самим собой, когда алгоритм достигает стратегического превосходства, многократно соревнуясь с близкой копией себя.
Этой идее много десятков лет. В 1950-х инженер IBM Артур Сэмюель создал программу для игры в шашки, которая частично училась играть, соревнуясь сама с собой. В 1990-х Джеральд Тезауро из IBM создал программу для игры в нарды, противопоставлявшую алгоритм самому себе. Программа дошла до уровня людей-экспертов, параллельно выдумав необычные, но эффективные стратегии игры.
Во всё возрастающем числе игр алгоритмам для игры с самим собой предоставляют равного противника. Это означает, что изменение стратегии игры приводит к иному результату, благодаря чему алгоритм получает мгновенную обратную связь. «Каждый раз, когда вы что-то узнаёте, когда открываете какую-то мелочь, ваш оппонент сразу начинает использовать её против вас», — говорит Илья Суцкевер, директор по исследованиям в OpenAI, некоммерческой организации, которую он основал вместе с Илоном Маском, посвящённой разработке и распространению ИИ-технологий и направлению их развития в безопасное русло. В августе 2017 года организация выпустила бота для Dota 2, управлявшего одним из персонажей игры, Shadow Fiend – демоном-некромантом – победившего лучших игроков мира в сражениях один на один. Ещё один проект OpenAI сталкивает симуляции людей в матче сумо, в результате чего они обучаются борьбе и уловкам. Во время игры с самим собой «некогда отдыхать, нужно постоянно совершенствоваться», — сказал Суцкевер.
OpenAI
Но старая идея игры с самим собой – только один ингредиент в преобладающих сегодня ботах, им ещё нужен способ превращения игрового опыта в более глубокое понимание предмета. В шахматах, го, видеоиграх типа Dota 2 перестановок больше, чем атомов во Вселенной. Даже если мы будем ждать несколько человеческих жизней, пока ИИ будет бороться со своей тенью на виртуальных аренах, машина не сможет реализовать каждый сценарий, записать его в специальной таблице и обращаться к ней, когда такая ситуация попадётся вновь.
Чтобы оставаться на плаву в этом море возможностей, «необходимо обобщать и выделять суть», — говорит Питер Аббиль, специалист по информатике из Калифорнийского университета в Беркли. Deep Blue от IBM делала это при помощи встроенной формулы для игры в шахматы. Вооружённая возможностью оценивать силу игровых позиций, которые она ещё не видела, программа смогла применить ходы и стратегии, увеличивающие её шансы на выигрыш. В последние годы новая техника даёт возможность вообще отказаться от такой формулы. «Теперь, внезапно, всё это охватывает „глубинная сеть“, — сказал Аббиль.
Глубинные нейросети, популярность которых взлетела в последние годы, строятся из слоёв искусственных „нейронов“, наслоённых друг на друга, будто стопка блинов. Когда нейрон в одном из слоёв активируется, он отправляет сигналы на уровень выше, а там их отправляют ещё выше, и так далее.
Подстраивая связи между уровнями, эти сети удивительно справляются с превращением входных данных в связанные с ними выходные, даже если связь между ними кажется абстрактной. Дайте им фразу на английском, и они смогут натренироваться, переводя её на турецкий. Дайте им изображения приютов для животных, и они смогут определить, какой из них для кошек. Покажите им игровое поли, и они смогут понять вероятность выигрыша. Но обычно таким сетям сначала необходимо предоставить списки из помеченных примеров, на которых они смогут практиковаться.
Именно поэтому игра с самим собой и глубинные нейросети так хорошо сочетаются друг с другом. Самостоятельные игры выдают огромное количество сценариев, и у глубинной сети оказывается практически неограниченное количество данных для тренировки. А потом нейросеть предлагает способ усвоить опыт и закономерности, встреченные во время игры.
Но есть подвох. Чтобы такие системы выдавали полезные данные, им нужна реалистичная площадка для игр.
»Все эти игры, все эти результаты, достигались в условиях, позволявших идеально симулировать мир", — говорит Челси Финн, аспирант из Беркли, использующая ИИ для управления роботизированными руками и интерпретации данных, полученных с датчиков. Другие области не так легко имитировать.
Робомобили, к примеру, с трудом справляются с плохой погодой или с велосипедистами. Или они могут не воспринять необычные возможности, встречающиеся в реальном мире – типа птицы, летящей прямо в камеру. В случае с роботизированными руками, как говорит Финн, начальные симуляции давали базовую физику, позволявшую руке выучиться тому, как учиться. Но они не справляются с деталями прикосновений к разным поверхностям, поэтому задачи типа закручивания крышки бутылки – или проведения сложной хирургической операции – требуют опыта, полученного в реальности.
В случае проблем, которые сложно симулировать, игры с самим собой уже не будут такими полезными. «Существует большая разница между по-настоящему идеальной моделью окружения, и выученной примерной моделью, особенно когда реальность по-настоящему сложна», — написал мне Йошуа Бенджио, пионер глубинного обучения из Монреальского университета. Но у исследователей ИИ всё равно остаются способы двигаться дальше.
Жизнь после игр
Сложно точно указать начало превосходства ИИ в играх. Можно выбрать проигрыш Каспарова в шахматах, поражение Ли Седоля от виртуальных рук AlphaGo. Другим популярным вариантом будет тот день 2011 года, когда легендарный чемпион игры Jeopardy! Кен Дженнингс проиграл IBM Watson. Watson был способен обрабатывать подсказки и игру слов. «Я приветствую появление наших новых компьютерных повелителей», — написал Дженнингс под своим последним ответом.
Создавалось впечатление, что у Watson есть офисные навыки подобные тем, что люди используют для решения множества реальных задач. Он мог воспринять ввод на английском языке, обработать связанные с ним документы в мгновение ока, выудить связные кусочки информации и выбрать один наилучший ответ. Но спустя семь лет реальность продолжает ставить сложные препятствия перед ИИ. В сентябрьском отчёте по здравоохранению агентства Stat указано, что наследник Watson, специализирующийся на исследованиях раковых заболеваний и выработке персонифицированных рекомендаций для лечения Watson for Oncology, столкнулся с проблемами.
«Вопросы в игре Jeopardy! Проще обрабатывать, поскольку для этого не требуется здравый смысл», — писал Бенджио, работавший совместно с командой Watson, в ответ на просьбу сравнить два этих случая с точки зрения ИИ. «Понять медицинскую статью гораздо сложнее. Требуется провести большой объём базовых исследований».
Но пусть игры и узко специализированы, они напоминают несколько реальных задач. Исследователи из DeepMind не захотели отвечать на вопросы интервью, указав, что их работу по AlphaZero в данный момент изучают независимые специалисты. Но команда предположила, что такая технология вскоре сможет помочь исследователям биомедицины, желающим разобраться в свёртывании белков.
Для этого им необходимо разобраться с тем, как различные аминокислоты, составляющие белок, гнутся и сворачиваются в небольшую трёхмерную машину, функциональность которой зависит от её формы. Эта сложность похожа на сложность шахмат: химикам известны законы на таком уровне, чтобы достаточно грубо обсчитывать определённые сценарии, но возможных конфигураций существует столько, что провести поиск по всем возможным вариантам не получится. Но что, если сворачивание белков можно представить в виде игры? А это уже предпринимали. С 2008 года сотни тысяч людей попробовали онлайн-игру Foldit, в которой пользователям начисляются очки за стабильность и реальность свёрнутой ими белковой структуры. Машина могла бы тренироваться сходным образом, возможно, пытаясь превзойти своё предыдущее лучшее достижение при помощи обучения с подкреплением.
Обучение с подкреплением и игра с самим собой могут помочь тренировать и диалоговые системы, предполагает Сацкевер. Это может дать роботам, которые должны беседовать с людьми, шанс натренироваться в этом, разговаривая с самим собой. Учитывая, что специализированное оборудование для работы ИИ становится быстрее и доступнее, у инженеров появляется всё больше стимулов к оформлению задач в виде игр. «Думаю, что в будущем важность игры с самим собой и других способов потребления большого количества вычислительных мощностей будет возрастать», — сказал Сацкевер.
Но если итоговой целью машин ставить повторение всего, на что способен человек, то даже обобщённому чемпиону по игре в настольные игры вроде AlphaZero ещё есть, куда расти. «Необходимо обратить внимание, по крайней мере, мне это очевидно, на огромную пропасть между реальным мышлением, творческим исследованием идей и сегодняшними способностями ИИ», — говорит Джон Тененбаум, когнитивист из MTI. «Такой интеллект существует, но пока только в умах великих исследователей ИИ».
Многие другие исследователи, ощущающие шумиху вокруг их области, предлагают собственные критерии. «Я бы порекомендовал не переоценивать важность этих игр, для ИИ или для задач общего назначения. Люди не очень хорошо умеют играть в игру, — говорит Франсуа Шоле, исследователь глубинного обучения в Google. – Но имейте в виду, что с помощью даже очень простых и специализированных инструментов можно достичь многого».