Новейшие самообучающиеся системы искусственного интеллекта способны за несколько часов с нуля изучить какую-либо игру и стать чемпионами мирового уровня. До недавнего времени машины, способные обыграть чемпионов, начинали свою учёбу с изучения человеческого опыта. Чтобы победить Гарри Каспарова в 1997-м, инженеры IBM загрузили в Deep Blue информацию, накопленную за века увлечения человечества шахматами. В 2016-м созданный в Google DeepMind искусственный интеллект AlphaGo превзошёл чемпиона Ли Седола в древней настольной игре Го, предварительно изучив миллионы позиций из десятков тысяч сыгранных людьми партий. Но сейчас разработчики ИИ переосмысливают подход к внедрению человеческих знаний в «электронные мозги». Текущая тенденция: не утруждаться этим.

В октябре 2017-го команда DeepMind опубликовала информацию о новой системе для игры в Го — AlphaGo Zero. Она вообще не изучала сыгранные людьми партии. Вместо этого она изучила правила и начала играть сама с собой. Первые ходы были абсолютно случайными. После каждой партии система анализировала, что привело к победе или поражению. Через некоторое время AlphaGo Zero стала играть с прокачанной победительницей Ли Седола — AlphaGo. И победила её со счётом 100:0.


Ли Седол, 18-кратный чемпион мира по игре в Го, во время матча с AlphaGo в 2016-м.

Затем исследователи создали систему, которая стала сильнейшим игроком в семействе AlphaGo — AlphaZero. В работе, опубликованной в декабре, разработчики из DeepMind сообщили, что AlphaZero, тоже начавшая обучаться с нуля, превзошла AlphaGo Zero — то есть она победила бота, который победил бота, который победил лучшего игрока в Го в мире. И когда ей скормили правила шахмат, а также японского варианта этой игры — сёги, — AlphaZero быстро научилась побеждать самые сильные алгоритмы в этих играх. Эксперты удивились агрессивному, необычному стилю игры. Как отметил датский гроссмейстер Петер Хайне Нильсен: «Мне всегда было интересно узнать, что было бы, если на Землю прилетят сверхсущества и покажут нам, как они умеют играть в шахматы. Теперь я знаю».

В прошлом году мы наблюдали появление потусторонних самообучающихся ботов в таких разных сферах, как неограниченный покер и Dota 2.

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

Но несмотря на большие вложения сил и средств в подобные системы, непонятно, насколько далеко они смогут уйти от сферы игр.

Идеальные цели для несовершенного мира


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

Браун специализируется на разработке алгоритмов игры в покер, и в этой игре другие сложности: вы не видите карты своих соперников. Но и здесь машины, которые учатся играть самостоятельно, уже достигают заоблачных высот. В январе 2017-го программа под названием Libratus, созданная Брауном и Туомасом Сандхольмом, обыграла один на один четырёх профессиональных игроков в безлимитный техасский холдем. В конце 20-дневного турнира бот набрал на $1,7 млн больше соперников.

Многопользовательская стратегия StarCraft II — ещё более внушительная игра, подразумевающая неполное владение информацией о текущей ситуации. Здесь ИИ пока ещё не достиг Олимпа. Этому препятствует огромное количество ходов в игре, зачастую измеряемое тысячами, и высокая скорость их выполнения. Каждому игроку — человеку или машине — при каждом клике нужно думать о безграничном разнообразии дальнейшего развития событий.

Пока что ИИ не может на равных сражаться с лучшими игроками. Но разработчики стремятся к этому. В августе 2017-го DeepMind заручилась поддержкой Blizzard Entertainment (создавшей StarCraft II) в создании инструментов, которые должны помочь исследователям ИИ.

Несмотря на трудность игрового процесса, суть StarCraft II сводится к простой задаче: уничтожить врагов. То же самое можно сказать про шахматы, Го, покер, Dota 2 и почти любую другую игру. А в играх можно побеждать.

С точки зрения алгоритма, задача должна иметь «целевую функцию», которую и нужно найти. Это было не слишком трудно, когда AlphaZero играл в шахматы. Проигрыш засчитывался как -1, ничья — 0, победа — +1. Целевой функцией для AlphaZero было заработать максимальное количество очков. Целевая функция для покерного бота тоже проста: выиграть много денег.


Алгоритм обучается сложному поведению — хождению по незнакомой поверхности.

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

Вспомните твиттерного чат-бота Tay, запущенного Microsoft 23 марта 2016 года. Его целью было вовлечение людей, и он этого достиг. Но внезапно выяснилось, что лучший способ максимального вовлечения — изливание всевозможных оскорблений. Бота отключили меньше, чем через день.

Ваш личный худший враг


Кое-что остаётся неизменным. Методы, используемые современными доминирующими игровыми ботами, опираются на стратегии, придуманные десятилетия назад. Прямо таки привет из прошлого, только подкреплённый современными вычислительными мощностями.

Эти стратегии обычно базируются на обучении с подкреплением, методике без участия человека. Вместо вместо дотошного управления алгоритмом с помощью подробных инструкций, инженеры позволяют машине исследовать среду и достигать поставленных целей методом проб и ошибок. До выхода AlphaGo и его потомков, в 2013-м команда DeepMind добилась серьёзного, важного результата, с помощью обучения с подкреплением научив бота играть в семь игр для Atari 2600, причём в трёх из них — на уровне эксперта.

Не остановившись на достигнутом, 5 февраля команда DeepMind выкатила IMPALA, ИИ-систему, способную играть в 57 игр для Atari 2600, а также ещё 30 трёхмерных уровней, созданных в DeepMind. На этих уровнях игрок проходит по различным местностям и помещениям, решает задачи вроде открывания дверей и собирания грибов. Причём IMPALA переносила накопленный опыт между задачами, то есть каждая сыгранная сессия улучшала результаты последующей сессии.

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

Этой идее тоже очень много лет. В 1950-х инженер IBM Артур Сэмюэль создал программу для игры в шашки, которая частично училась на партиях, сыгранных между альфа- и бета-копией. А в 1990-х Джеральд Тезауро, тоже из IBM, создал программу для игры в нарды, выставлявшую против себя собственный алгоритм. Бот достигал уровня человека-эксперта, разрабатывая нестандартные, но эффективные стратегии.

Играя с самим собой, алгоритм в каждой партии встречается с равным себе соперником. Поэтому изменения в стратегии приводят к разным результатам, учитывая немедленный ответ алгоритма-копии. Илья Суцкевер, руководитель исследований в OpenAI: «Каждый раз, когда ты узнаёшь что-то новое, открываешь для себя малейшие сведения об игре и окружающей среде, твой оппонент моментально использует это против тебя». В августе 2017-го OpenAI выпустила бота для Dota 2, который управлял персонажем Shadow Fiend — что-то вроде демона-некроманта, — и в поединках одержал верх над лучшими в мире игроками. Другой проект компании: два алгоритма управляют борцами сумо, учась друг у друга приёмам борьбы. И во время такого обучения невозможно стагнировать, ты должен постоянно улучшаться.


Созданный в OpenAI бот для Dota 2 самостоятельно научился нескольким сложным стратегиям.

Но старая идея игры с самим собой — лишь один из ингредиентов современного превосходства ботов, которым ещё нужно как-то «переосмыслить» свой игровой опыт. В шахматах, Го и видеоиграх вроде Dota 2 существует несметное количество возможных комбинаций. Даже потратив множество жизней в сражениях со своей тенью на виртуальных аренах, машина не сможет просчитать каждый возможный сценарий, чтобы составить таблицу действий и сверяться с ней, когда снова окажется в подобной ситуации.

Чтобы оставаться на плаву в море возможностей, нужно обобщать, схватывать суть. IBM Deep Blue это удалось благодаря встроенным шахматным формулам. Вооруженный способностью оценивать комбинации на доске, с которыми он ранее не встречался, компьютер подстраивал ходы и стратегии ради увеличения вероятности своей победы. Но появившиеся в последние годы новые методики позволили отказаться от формул.

Всё больше популярности набирают глубокие нейросети (deep neural networks). Они состоят из слоёв искусственных «нейронов», как блины в стопке. Когда срабатывают нейроны в одном слое, они отправляют сигналы на следующий слой, тот пересылает на следующий, и так далее. Корректируя связи между слоями, такие нейросети добиваются фантастических результатов, преобразуя входные данные в какой-то взаимосвязанный результат, даже если связь и кажется абстрактной. Допустим, нейросети можно дать фразу на английском, и та переведёт её на турецкий. Или можно дать ей фотографии из приюта для животных, а нейросеть найдёт те снимки, где изображены кошки. Или можно показать глубокой нейросети правила настольной игры, и она высчитает вероятность своей победы. Но сначала, как вы понимаете, нейросеть должна обучиться на выборке размеченных данных.

Нейросети, играющие с собой, и глубокие нейросети хорошо дополняют друг друга. Играющие с собой сети генерируют поток информации об играх, обеспечивая для глубоких сетей теоретически бесконечный источник данных для обучения. В свою очередь, глубокие сети предлагают способ усваивания опыта и шаблонов, наработанных играющими с собой сетями.

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

Все партии сыграны, все высоты достигнуты в средах, где вы можете эмулировать мир с разной степень достоверности. А в других сферах не так просто добиться впечатляющих результатов.

К примеру, беспилотным автомобилям тяжело даётся езда в плохую погоду, и сильно мешают велосипедисты на дороге. Также беспилотники могут неверно оценить нестандартную, но реальную ситуацию, вроде полёта птицы прямо в камеру автомобиля. Или возьмём менее экзотическое применение ИИ — роботизированную руку-манипулятор. Сначала её нужно обучить основам физических действий, чтобы рука хотя бы поняла, как ей учиться. Но при этом ей неведомы особенности прикосновения к разным поверхностям и предметам, так что для решения таких задач, как откручивание крышки с бутылки или проведение хирургической процедуры, машине нужно практиковаться.

Йошуа Бенгио, специалист по глубокому обучению в Университете Монреаля: «В трудно моделируемых ситуациях не слишком полезна модель обучения «игра с самим собой». Существует огромная разница между действительно идеальной моделью среды и моделью выученной, «выстраданной», особенно если среда сложна».

Жизнь после игр


Трудно точно сказать, когда именно началось превосходство ИИ в играх. Можете выбрать проигрыш Каспарова или поражение Ли Седола. Нередко отсчёт ведут с 2011-го, с проигрыша Кена Дженнингса, чемпиона телевизионной игры Jeopardy!, в двухдневном соперничестве с IBM Watson. Машина смогла разобраться в формулировках и игре слов. Разработчики наделили Watson способностью к обработке текстов, свойственной нам самим. Компьютер может взять англоязычную фразу-подсказку к слову, с огромной скоростью просмотреть релевантные документы, выделить куски информации и выбрать наилучший ответ.

Но за прошедшие годы «обычные» жизненные задачи всё ещё не поддаются ИИ. В сентябре 2017-го опубликовали отчёт, согласно которому возникли большие сложности при исследовании и разработке персональных методов лечения рака в рамках проекта Watson for Oncology. Компьютеру гораздо проще понять смысл вопросов в Jeopardy!, чем разобраться в сути медицинской статьи.

Однако есть ряд настоящих задач, которые столь же узкоспециализированы, как и игры. Ходят слухи, что команда DeepMind работает над адаптацией AlphaZero для использования в биомедицинских исследованиях по укладыванию белка. Для этого разработчикам придётся понять, каким образом аминокислоты, формирующие белки, можно свернуть в маленькие трёхмерные структуры, чьи функции зависят от формы. Это так же сложно, как и игра в шахматы: химикам известны некоторые принципы, позволяющие вычислять какие-то сценарии, но обилие возможных трёхмерных конфигураций столь велико, что исследовать их все «вручную» просто не реально. Но что если превратить укладку белка в игру? Именно так уже и сделали. С 2008 года сотни тысяч игроков пробовали свои силы в онлайновой игре Foldit, в которой очки давались за стабильность и реализуемость создаваемых белковых структур. Машина может тем же образом натренировать саму себя, например, посредством обучения с подкреплением пытаясь превзойти лучшие результаты людей-игроков.

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

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

Многие учёные, осознающие уровень шумихи, предлагают собственные классификации. Не нужно переоценивать значимость ботов, играющих в игры, для развития ИИ в целом. Люди, например, не слишком хорошо умеют играть. Но зато очень простые, специализированные инструменты в каких-то задачах могут достигать больших высот.

Комментарии (10)


  1. Druu
    27.04.2018 11:09

    > Созданный в OpenAI бот для Dota 2 самостоятельно научился нескольким сложным стратегиям.

    Откровенно сомнительно, что бот научился крип-стопить сам, а не на чьем-то примере. Какая в данном случае целевая функция была?


    1. DrSavinkov
      27.04.2018 20:44

      Он мог просто однажды случайно перекрыть крипам дорогу и это дало положительный отклик в процессе игры. Например, крипы противника приходили под башню и энергоэффективно умирали там, дав боту немало золота и экспы. А дальше он уже оттачивал навык.


      1. Druu
        27.04.2018 23:09

        > Он мог просто однажды случайно перекрыть крипам дорогу и это дало положительный отклик в процессе игры. Например, крипы противника приходили под башню и энергоэффективно умирали там, дав боту немало золота и экспы.

        Тогда надо чтобы в целевой ф-и было зафиксировано, что получение голды в более ранний момент времени эффективнее, чем в более поздний.


  1. JustDont
    27.04.2018 13:50

    Внезапно, до кого-то начинает доходить одно из главных препятствий для этой вашей «технологической сингулярности» и прочих сильных AI (которые нас обязательно всех убьют).

    Скорость взаимодействия с окружающим миром, оказывается, очень конечна, и не зависит от того, что ты супер-AI с огромными вычислительными мощностями, или же слегка эволюционировавшая обезьяна. Ну кто бы мог подумать.


  1. BorodaTHOR
    27.04.2018 14:25

    Вся тонкость в том, что люди используют опыт накопленный в течении жизни. Еще у нас имеется возможность советоваться с другими людьми, т.е. использовать их опыт. Ну и использовать опыт предыдущих поколений в виде обучения и писменных источников. Для получения таких же условий развития, боты ИИ необходимо объединить в сеть, для использования опыта друг друга.


    1. JustDont
      27.04.2018 14:50

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


    1. fivehouse
      27.04.2018 23:17

      Вся тонкость в том, что люди используют опыт накопленный в течении жизни. Еще у нас имеется возможность советоваться с другими людьми, т.е. использовать их опыт. Ну и использовать опыт предыдущих поколений в виде обучения и писменных источников.
      Полностью соглашусь. Но немного добавлю, что еще опыт предыдущих поколений мы получаем генетически от родителей. Это психика. Еще есть воспитание, с момента когда еще не появилось сознание, до обучения поведению с другими людьми. Еще есть само воспитание обусловленное генетически. И только потом идет «советоваться» и «читать».
      Для получения таких же условий развития, боты ИИ необходимо объединить в сеть, для использования опыта друг друга.
      Вот тут не соглашусь. Само по себе объединение ничего не даст. Должен быть обмен полезным содержимым, а оно просто так ниоткуда не появится. Вместо него предлагается тупая «целевая функция». Вот все это и порождает проблемы.


      1. WinPooh73
        28.04.2018 08:49

        Есть ещё вариант, что вместо обмена полезной информацией ИИ-боты начнут обмениваться изображениями котиков.


  1. Semioweb
    27.04.2018 15:36
    +1

    Уже было не так давно geektimes.com/post/299007 вроде


  1. martin__marlen
    28.04.2018 10:13

    Игры с ИИ — это как бег в мешкеЮ в отором побеждает не тот, кто быстрее бегает, а тот, кто быстрее бегает в мешке.
    А проблемы и у Натурального интеллекта в реальном мире возникают.
    Сделаете для обучения ИИ модельную среду с нечеткими да еще и меняющимися правилами и критериями оценки, научите метамоделированию, смоделируйте стимулы. — получите более продвинутый ИИ.

    Можно начать с обучения играть в драконий покер, только с людьми, а не с нейросетями.