Как играющий в покер ИИ учится вести переговоры лучше, чем любой человек

В 2012 году в Интернете появился комикс, в котором были перечислены игры по шкале того, насколько они были близки к тому, чтобы над ними доминировал искусственный интеллект.

В 2012 году в Интернете появился комикс, в котором были перечислены игры по шкале того, насколько они были близки к тому, чтобы над ними доминировал искусственный интеллект. Шашки и крестики-нолики уже были покорены; чемпион среди людей по шахматам был свергнут, а компания IBM Watson не взяла в плен Jeopardy . Раздел «Компьютеры могут никогда не превзойти людей» все еще имел своих стойких приверженцев: «Кальвинбол» - игра в « Кальвине и Гоббсе» Билла Уотерсона, где правила составляются на лету, и «Семь минут в раю». Всего на одну ступень выше в списке «Компьютеры по-прежнему проигрывают лучшим людям» - китайская игра го и американский покер для досуга.

Перенесемся в 30 января 2017 года, на покерный турнир Robots vs. Brains в Питтсбурге, штат Пенсильвания. Кандидат наук Ноам Браун сидит рядом с профессиональным игроком в покер, который завершает свой 20-й день поражения от Libratus, бота для игры в покер, созданного Брауном совместно в Университете Карнеги-Меллона. По ходу игры Браун беззаботно отвечает на вопросы в прямом эфире Twitch, где зритель напоминает ему о комиксе 2012 года. «Даааа», - смеется Браун, поднимая изображение перед собой. «Я думаю, что все это нужно переместить».

Несколькими минутами позже, после почти трех недель и 120 000 рук в покере, Libratus закончила побеждать своих оппонентов-людей - четырех лучших профессиональных игроков в покер в мире - в безлимитном техасском холдеме. Маржа была немалой. Если бы в игры не играли на воображаемые деньги, профи потеряли бы в общей сложности 1,7 миллиона долларов.

Проблема Весов

Победа в покере Libratus пришла чуть более чем через девять месяцев после того, как AlphaGo, искусственный интеллект из лондонской DeepMind, победил чемпиона по го Ли Седола в серии из семи матчей. Победа AlphaGo стала первым событием, в котором искусственный интеллект победил людей в игре, разработанной нами по нашему проекту, после революционного поражения шахматного ученого Гарри Каспарова в 1997 году от IBM DeepBlue. ИИ, возможно, еще далек от того, чтобы разобраться в произвольном мире Кальвинбола, но победа над людьми в задачах, связанных с изменением неопределенных ситуаций, - это именно то, для чего создан Libratus. Даже процветает.

Libratus разыграл триллионы смоделированных покерных комбинаций, но эта игра вряд ли является ее конечной целью, так же как Go не является основным приложением программного обеспечения DeepMind, а исследования IBM в области искусственного интеллекта не закончились поражением Каспарова. Алгоритмы, лежащие в основе Libratus, были применены к карточной игре, но сам ИИ создан для эффективного управления любыми переговорами и устранения любого противника, который встанет у него на пути. ИИ Брауна можно использовать в ситуациях, подобных тем, с которыми сталкиваются генеральные директора, политики и даже спецслужбы. Мы могли бы начать полагаться на механический мозг, чтобы диктовать внешнюю политику или подсказывать нам лучшую стратегию ведения переговоров с заложниками. Все начинается с покера.

«Я думаю о [покере] как о эталонном тесте, так же, как у производителей чипов есть свои эталоны», - говорит Туомас Сандхольм, профессор CMU, который курирует Libratus и создал его вместе с Брауном. «В правилах нет двусмысленности, поэтому можно сказать, что техника А лучше, чем техника В, или техника А лучше в этих условиях или в этих отношениях».

Сандхольм работает над созданием алгоритмов, которые процветают в условиях неопределенности в течение 27 лет. Его работа по автоматизации переговоров была применена к Объединенной сети обмена органами, оптимизируя процесс объединения донорских почек с реципиентами в двух третях центров трансплантации США и спасая при этом тысячи жизней. Его стартап CombineNet 1997 года применил эту работу к процессу аукционов и потратил 60 миллиардов долларов.

Сандхольм считает, что идея Libratus еще более сильна.

Сверление для идеальной игры

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

Цель Libratus - найти эту идеальную стратегию. Что касается безлимитного техасского холдема, вы можете представить эту стратегию как ядро ​​Земли: мы знаем, что она там есть. Мы можем рассуждать, как он должен выглядеть и из чего сделан, но мы не можем добраться туда, чтобы на самом деле его изучить. Теперь подумайте о Libratus как о самом большом сверле в мире.

Алгоритм не работает, как большинство других ИИ, о которых вы слышали. Это не глубокая нейронная сеть - искусственный интеллект, стоящий за такими инструментами, как автоматическая пометка фотографий Facebook и умный ответ Google Inbox. До турнира Libratus никогда не видел, чтобы люди играли в покер. У ИИ есть три модуля, каждый из которых выполняет свою задачу. Модуль 1 изучает игру в покер, пытаясь найти стратегии, которые работают для каждой ситуации. Модуль 2 принимает решения по каждому действию, которое бот совершает во время раздачи. Модуль 3 постоянно обновляется, записывая и сохраняя новую информацию о каждом шаге в системе.

Учимся играть

Чтобы обыграть любого в покере, Libratus сначала должен был научиться игре. Подобно игроку-человеку, он делал это, тренируясь против оппонента, чтобы узнать, какие стратегии работают, а какие нет. В отличие от человека, он сыграл в триллионы игр более 15 миллионов симулированных часов, и все это против своего клона. Это называется обучением с подкреплением: алгоритм медленно учится на собственном опыте, а не путем анализа внешних данных, таких как игры, в которые играют люди.

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

Такая эффективность имеет решающее значение: Libratus разыгрывает триллионы и триллионы рук, а в безлимитном техасском холдеме… нет лимита, а это означает, что может происходить бесконечное количество ставок.

Чтобы избавить суперкомпьютер от необходимости вычислять бесконечное количество возможностей, Браун и Сандхольм сделали более простую, чуть менее сложную версию игры. Все правила были одинаковыми, но вместо того, чтобы делать ставки с шагом в 1 доллар, бот мог делать ставки только на специально обозначенные суммы, такие как 200, 250, 300, 400 и 500 долларов. Для машины 290 долларов равнялись 300 долларам; система просто округлила бы. Браун называет эту технику «абстракцией действия».

Аналогичный прием они применили и для самих карт. Вместо того, чтобы рассчитывать каждую потенциальную руку, Браун установил аналогичные покерные руки, которые будут рассматриваться как идентичные ИИ. Например, нет большой разницы между флешем со старшей дамой и флешем со старшей королевой, поэтому бот редко может знать разницу. Это просто нужно будет знать , как действовать , когда представлено скоролевским-ВЫСОКИМ флешем. Обучение ИИ мышлению широкими мазками принесло свои плоды: Браун говорит, что одни только карточные абстракции снизили сложность игры в 100000 раз. Если бы абстракция карты или действия была вдвое больше, ИИ потребовалось бы в два раза больше времени и памяти для вычислений.

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

Решатель финальной игры

В то время как задача первого модуля состоит в том, чтобы быть уверенным в том, что происходит за покерным столом, второй модуль имеет дело с неопределенностью руки оппонента. Модуль 1 может походить на другой искусственный интеллект, который в общих чертах учится делать что-то за триллионы итераций. Но Модуль 2, способность работать в неопределенных ситуациях, - это то, что отличает Libratus.

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

В техасском холдеме две карты вашего оппонента не видны, поэтому следует учитывать 169 потенциальных рук. Это то, что теоретики игр называют игрой с «несовершенным знанием», когда вы не знаете определенной информации о позиции вашего оппонента.

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

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

Браун говорит, что решающая программа в конце игры - вот что делает Libratus таким сильным. Это также то, что может сделать его полезным в зале заседаний или в военной комнате. Программное обеспечение смотрит на свою ситуацию и пытается предсказать лучший ход почти для всех возможных вариантов развития игры, основываясь на играх, в которые она играла раньше. Когда оппонент делает ход, вычисления производятся снова, и решение оппонента сообщает более узкий набор возможных результатов. В покере это означает максимальное увеличение шансов на победу, не зная карт оппонента. В реальном мире это может означать знание, когда иностранная держава блефует насчет военной мощи.

Это также делает Libratus жирным. В то время как у искусственного интеллекта в том виде, в каком мы его знаем сегодня, нет желаний, желаний или человеческих мотивов, создание ИИ основано на его применении. Это заставляет Libratus действовать определенным образом во время игры. Например, его не волнует соревнование, в котором он играет. Он не будет осторожен, чтобы сэкономить деньги, и он не будет иметь в виду, насколько они вверх или вниз на табло. Все, что он знает, - это рука, которую он играет, и желание выиграть как можно больше денег независимо от риска. Если у Libratus есть 10% -ный шанс выиграть 20 000 долларов против 90% -ного шанса ничего не выиграть или гарантированный 1 999 долларов, он всегда будет принимать на себя 10% -ный риск.

«Бот бесстрашен, - говорит Браун. «Люди не подходят к игре таким образом, потому что, хотя они могут знать, что это правильный поступок, часть из них боится и будет сдерживать их».

Стоит отметить, что подход Libratus работает только в масштабе. ИИ был специально создан для игры в покер на 120 000 рук, во время которого один крупный выигрыш может превзойти даже дюжину крошечных проигрышей. Например, в последний день соревнований Дэниел Маколи сидел на одном столе внизу, а на другом - вверх. Он медленно выигрывал маленький банк за небольшим на своем проигрышном столе; более 20 раздач, 10 000 долларов вниз превратились в 4 000 долларов вниз, которые превратились в чуть меньше 2 000 долларов наверху.

Поворот судьбы был быстрым. Через несколько секунд Маколи снова упал на 4000 долларов, затем на 8000 долларов. Libratus был чрезвычайно эффективен, его влияние было очевидно в почти незаметной гримасе, промелькнувшей на лице Маколи.

Укрепление защиты

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

Показательный пример: во время турнира профессионалы в покер выяснили, что ставки на нечетные числа могут нарушить работу ИИ, что приведет к странной реакции. Они неоднократно использовали это слабое место - например, ставя 333 доллара на каждую хорошую руку, - эффективно разрывая брешь в знаниях машины. На следующий день дефект исчез. Дело не в том, что Libratus учился чему-то, чего не мог получить из первого модуля; Модуль 3 просто позволяет быстрее заполнить пробелы.

К тому времени, как игроки осознали, что машина на них и начали согласовывать свои ставки, было уже слишком поздно. «Со временем отверстия стали такими маленькими, - говорит Браун. «Они не смогли эффективно их использовать, и их положение стало безнадежным».