Инопланетяне, кентавры и человеческие ошибки: как нейросети играют с людьми
Нейросети и люди перестают враждовать на полях логических игр, учатся понимать друг друга и действовать совместно ради лучших результатов.
Кадр: фильм «Компьютерные шахматы»
Современные нейронные сети настолько продвинуты, что могут уверенно обыгрывать людей практически во все культовые настолки. Время соперничества человека с ИИ прошло — теперь игроки-люди, учёные и программисты совместными усилиями пытаются наладить сотрудничество с нейросетями.
Ради этого им пришлось подружиться с «инопланетянами», научить компьютер ошибаться и самим превратиться в «кентавров». Рассказываем, как это было.
Инопланетная игра за 24 часа
После триумфальной победы программы AlphaGo над величайшим игроком в го Ли Седолем её создатели из DeepMind продолжили совершенствовать своё творение. Они задались целью создать универсальную нейронную сеть, которая могла бы играть сразу в несколько настолок — это стало бы очередным шагом к созданию ИИ, подобного человеческому мозгу.
В декабре 2017 года они опубликовали материал (препринт научной статьи), в котором рассказали об AlphaZero — дальнейшем развитии идей AlphaGo. В отличие от своей предшественницы, освоившей только игру в го, AlphaZero могла дополнительно прокачиваться в шахматах и сёги.
Специалисты DeepMind взяли три копии AlphaZero, запустили их на разных компьютерах и заставили обучаться каждую из них одной из трёх выбранных игр. На освоение сёги нейросеть затратила 12 часов, а на шахматы ушло и того меньше — всего лишь 9 часов. Таким образом, на изучение трёх сложнейших игр программе потребовалось менее суток.
Для тренировки нейросети использовался метод обучения с подкреплением (reinforcement learning, RL). Сеть обучалась полностью самостоятельно, проводя тысячи партий против самой себя (потребовалось более 700 тысяч игр) и получая «вознаграждения» за действия, приводящие к выигрышу. Таким образом AlphaZero училась на собственных ошибках, корректируя параметры нейронной сети, чтобы принимать верные решения в последующих играх.
На старте программисты загрузили в AlphaZero только правила игры. В итоге программа училась с чистого листа (лат. tabula rasa), никогда не видела ни одной проведённой людьми игры и не получала никаких справочных сведений о том, как обычно гроссмейстеры начинают, ведут и заканчивают партии.
В итоге AlphaZero выработала необычные, но очень эффективные приёмы, которые отличаются от манеры игры и принятой стратегии людей. Она часто использует неочевидные ходы — например, жертвует слоном или перемещает ферзя в угол доски «без видимых причин». И всё это для того, чтобы получить позиционное преимущество.
Питер Нильсен, секундант чемпиона мира по шахматам Магнуса Карлсена, сравнил действия AlphaZero с игрой инопланетян, которые много лет соревновались между собой, но никогда не играли с кем-то из землян.
«Я всегда задавался вопросом, что будет, если инопланетяне высадятся на Землю и покажут нам, как они играют в шахматы. И мне кажется, теперь я знаю, как это может выглядеть».
Питер Хайне Нильсен,
секундант Магнуса Карлсена
Цитата: Chess.com
С такой оценкой согласился и сооснователь DeepMind, талантливый шахматист Демис Хассабис, назвавший стиль игры AlphaZero «инопланетным».
«AlphaZero играет не как человек и не как программа. Она играет каким-то другим, практически инопланетным способом. Это напоминает шахматы, явившиеся из другого измерения».
Демис Хассабис,
основатель DeepMind
Цитата: MIT Technology Review
Чтобы проверить уровень игры AlphaZero, программисты DeepMind устроили турнир, заставив сражаться свою нейросеть против компьютерных программ, считавшихся до того лучшими в своём роде. Результаты соревнования показали уверенное превосходство AlphaZero над всеми конкурентами.
В шахматах AlphaZero соперничала с программой Stockfish, в сёги противостояла алгоритму Elmo, а в го сражалась с AlphaGo — предыдущей версией самой себя, обыгравшей Ли Седоля в 2016 году.
В каждом из матчей было проведено по 100 игр. AlphaZero убедительно победила всех противников, не проиграв ни одной партии в шахматах и уступив лишь восемь игр в сёги программе Elmo. А вот в го всё прошло не так гладко, хотя победа всё равно была уверенной.
Во время игры AlphaZero просчитывает намного меньшее число возможных ходов, чем аналогичные программы предыдущих поколений. Например, в шахматах она просматривает «всего» 80 тысяч позиций в секунду, в то время как её конкурент Stockfish за то же время рассчитывает 70 миллионов вариантов.
Но при этом AlphaZero играет намного эффективнее за счёт того, что сосредотачивает свои усилия на просмотре наиболее перспективных направлений, которые она способна определять благодаря лучшему пониманию игровой ситуации. Некоторые авторы называют эту способность нейронных сетей «цифровой интуицией».
Спустя год специалисты DeepMind подробно описали AlphaZero в статье в журнале Science, но при этом не опубликовали исходный код и не выпустили свою программу в открытый доступ.
Чтобы исправить эту несправедливость, группа энтузиастов в 2018 году создала аналог AlphaZero, во многом повторяющий принципы работы этой программы, изложенные в научных статьях. Разработанный ими бесплатный шахматный движок с открытым исходным кодом был назван Leela Chess Zero.
Как и в AlphaZero, в Leela Chess Zero программно заложены только правила игры, и на старте нейросеть больше ничего не знает. Leela Chess Zero обучается в распределённой вычислительной сети, координируемой на веб-сайте проекта. В течение первых нескольких месяцев Leela провела против самой себя более 23 миллионов игр, достигла уровня гроссмейстера и продолжила повышать своё мастерство.
В январе 2022 года команда проекта отчиталась о том, что их нейросеть уже провела более 500 миллионов игр, а также сообщила, что Leela Chess Zero ежедневно проводит около одного миллиона партий.
А на базе выложенных на GitHub исходников Leela Chess Zero были созданы программы, которые гроссмейстеры используют для повышения своего мастерства и при подготовке к шахматным турнирам.
Ошибаться тоже надо уметь
Играть с нестандартно мыслящим сверхчеловеческим ИИ, конечно, интересно — но не слишком полезно. И при подготовке к важным матчам гроссмейстерам больше помогла бы программа, повторяющая стиль игры людей, а не инопланетян.
Поэтому команда американских учёных, возглавляемая профессором Корнеллского университета Джоном Клейнбергом, решила сделать манеру игры нейронной сети более «человечной». Свой проект они назвали Maia — в честь советской шахматистки, чемпионки мира Майи Чибурданидзе.
Взяв за основу Leela Chess Zero, они изменили метод, с помощью которого нейросеть постигала премудрости шахмат. Вместо обучения с подкреплением, во время которого программа тренировалась, играя против самой себя, они применили метод обучения с учителем, позволив нейронной сети наблюдать за множеством игр, проведённых людьми в интернете.
В качестве обучающей базы программисты использовали записи игр гроссмейстеров на популярном шахматном сайте Lichess. Именно здесь собираются профессионалы со всего мира, чтобы найти себе подходящего спарринг-партнёра.
Как выяснилось, «человечность» во многом определяется тем, какие ошибки обычно совершает игрок. Шахматисты с низким уровнем игры допускают больше глупых просчётов определённого вида (так называемых «зевков»), чем их более продвинутые коллеги. Таким образом, задача обучения Maia свелась к тому, чтобы научить её предсказывать и совершать ошибки, характерные для людей с разным уровнем квалификации.
Специалисты проекта Maia разделили обучающую базу шахматных партий в соответствии с рейтингом Эло игроков, между которыми проводились партии. В итоге у них получилось девять обучающих наборов игр, сгруппированных по рейтингу Эло с шагом в 100 пунктов (от 1100 до 1900).
Для каждого обучающего набора они взяли по 12 миллионов игр, а также ещё по 500 тысяч записей выделили для проверки работоспособности сети после обучения (тестовый набор данных). Таким образом, получилось девять нейронных сетей, каждая из которых способна воспроизводить типичную человеческую игру, соответствующую одному из девяти уровней рейтинга Эло.
В 2020 году команда проекта выложила исходники Maia на GitHub, а также поделилась результатами работы в научной статье с говорящим названием «Совмещение сверхчеловеческого ИИ с человеческим поведением» и на своей официальной страничке.
Из публикаций следует, что Maia научилась предугадывать ходы, выполняемые игроками-людьми в онлайн-играх в 52% случаев. И пусть вас не смущает такой результат (можно ошибочно подумать, что он подобен простому «угадал / не угадал»).
На самом деле нейросеть Maia работает поразительно эффективно, поскольку в каждый момент времени шахматист в среднем выбирает один ход из 35 возможных вариантов. Лучшие из существовавших до неё программ могли предугадать человеческие действия на шахматной доске только в 35–40% случаев.
Maia оказалась способна предсказывать также и промахи в игре. Даже самые неожиданные «зевки» и нелепые ходы, которые иногда совершают игроки. Такая невероятная способность к «предчувствию» того, как и когда люди могут ошибаться, делает Maia очень полезным инструментом для обучения шахматистов.
Например, Maia может изучить ваши партии и определить, какие грубые ошибки были предсказуемы, а какие случайны. И тогда вы точно будете знать, над чем следует поработать, чтобы перейти на следующий уровень мастерства.
Ещё одной задачей, которую решали создатели Maia, было дообучение её манере игры известных гроссмейстеров. Для этого они «скармливали» предварительно обученной на миллионах партий нейронке небольшое количество игр, проведённых одним конкретным человеком.
Результаты также оказались отличными: после изучения 10 тысяч игр, проведённых известным шахматистом, программа могла прогнозировать его будущие ходы с вероятностью от 65 до 75%.
Таким образом, Maia можно дообучить на играх того же Магнуса Карлсена или кого-то из мастеров прошлого (например, Анатолия Карпова или Михаила Таля) и получить идеального спарринг-партнёра, имитирующего с высокой долей точности игру (и ошибки) нужного гроссмейстера. Мало кто откажется от возможности попрактиковаться в виртуальных баталиях против шахматных гениев прошлого и настоящего.
«Представьте, что вы готовитесь к игре за звание чемпиона мира против Магнуса Карлсена. И у вас есть программа, которая играет точно так же, как Магнус».
Мэттью Садлер,
британский гроссмейстер, автор книги Game Changer
Цитата: wired.com
Сыграть против нейронок с уровнем Эло 1100 (бот maia1), 1500 (бот maia5) и 1900 (бот maia9) можно на сайте lichess.org. А вот видео, в котором шахматист-блогер из США тестирует Maia:
Он впечатлился уровнем и «человечной» манерой игры нейронной сети, хотя изначально был довольно скептически по отношению к ней настроен. Его вывод в финале ролика: «На самом деле Maia — это очень крутая штука!»
Также с отзывами пользователей об игре против Maia можно ознакомиться на сайте reddit.com. Вот лишь некоторые из них:
Действительно впечатляющая работа! У меня было несколько игр против бота уровня 1100, и я должен сказать, что это было очень по-человечески! Он прошёл мой тест Тьюринга — что бы это ни значило ;)
Идея кажется действительно интересной. Для человека, испытывающего тревогу/нервозность при игре с незнакомыми людьми, эта программа выглядит просто потрясающе.
Разработчики Maia надеются, что результаты их исследований могут быть применены и за пределами шахматного мира. Например, при прогнозировании и предотвращении ошибок при изучении рентгеновских снимков.
«Один из способов сделать это — применить наши наработки в задачах, в которых врачи-люди ставят диагнозы на основе медицинских снимков. Программа способна помочь выявить изображения, по которым прогнозируется высокая вероятность совершения врачебной ошибки».
Джон Клейнберг,
профессор Корнеллского университета, разработчик Maia
Цитата: wired.com
Кентавры вступают в игру
Наблюдая за успехами компьютерных программ, гроссмейстеры задумались, как сделать их своими помощниками, а не противниками. И сочетание стратегического мышления, присущего человеческому разуму, с аналитическим превосходством компьютеров открывает весьма заманчивые перспективы.
Систему, состоящую из пары «человек + компьютер», специалисты называют «цифровым кентавром». И такая пара (при условии правильно организованного взаимодействия) играет намного лучше, чем отдельно взятые человек или компьютерная программа.
Человеческое мышление осуществляет общее руководство ходом партии на высоком уровне абстракции, определяет рисунок и стратегию игры. А нейросети или другие компьютерные модели, в свою очередь, могут проводить сложные расчёты, выдавать подсказки и предотвращать присущие людям ошибки.
Первый шахматный матч, в котором игроки пользовались подсказками компьютеров, был проведён в 1998 году — между Веселином Топаловым и Гарри Каспаровым, которым помогали программы ChessBase 7.0 и Fritz 5. Этот матч способствовал появлению новой разновидности шахмат под названием advanced chess («продвинутые шахматы»), в которой игроки могут обращаться за помощью к ИИ.
В последующие годы даже проводились турниры по advanced chess. Они помогали совершенствовать правила и механизмы, которые прокачивали стратегии взаимодействия человека и ИИ в рамках цифрового кентавра.
Любители шахмат из России могли увидеть одно из таких соревнований в 2007 году. Тогда в выставочном зале ГУМа в Москве в «продвинутые шахматы» играли чемпион мира Вишванатан Ананд и экс-чемпион Владимир Крамник. Кстати, наблюдать за играми advanced chess намного интереснее, чем за матчами по обычным шахматам.
Как правило, организаторы соревнований выводят на большой экран изображения с мониторов гроссмейстеров, подключённых к шахматным компьютерам. Зрители в режиме реального времени могут видеть процесс взаимодействия игроков с ИИ, как профессионалы просчитывают вместе с компьютером различные варианты продолжения партии и выбирают из них лучшие. Таким образом, аудитория получает наглядное представление о ходе мыслительных процессов сильнейших шахматных игроков.
Кстати, цифровые кентавры используются не только в шахматах. Например, в 2021 году российские программисты впервые в мире смогли продемонстрировать эффективную систему «человек + ИИ» для игры в го. В рамках 41-го чемпионата мира по го цифровые кентавры провели матч из 70 игр — соревновались как между собой, так и с чистым ИИ.
Компьютерные системы для совместной работы человека и искусственного интеллекта разработали школьники и студенты — победители хакатона «Игры разумов». На матч во Владивосток приехали восемь таких команд — разработчиков «кентавров» со всей России, которые привезли свои версии человеко-машинных интерфейсов для игры в го.
Правда, игры проводились на уменьшенной версии доски: 13 × 13 вместо стандартных 19 × 19 клеток.
Обращаясь к ИИ с помощью особого интерфейса, игрок-человек мог воспользоваться одной из подсказок, сгенерированных компьютером, но за каждую подсказку у «кентавра» в качестве штрафа отнимали несколько игровых очков.
В виртуальных баталиях приняли участие лучшие игроки России — Илья Шикшин
(7-й дан EGF и 4-й профессиональный дан) и Александр Динерштейн (7-й и 3-й дан соответственно). Игроки использовали интерфейс, разработанный командой «Чёрное и белое» из МГТУ имени Баумана. Они сыграли в формате «цифровых кентавров» против искусственного интеллекта, созданного на базе нейронной сети Leela Zero, и победили его.
По словам организатора турнира, гроссмейстера по го Олега Межова, ИИ Leela Zero даже на доске 13 × 13 клеток практически не оставляет шансов на победу самым опытным игрокам.
«Обыграть искусственный интеллект в го почти невозможно, поэтому сегодня произошло интересное событие. Пары человека и искусственного интеллекта, играющие за одну сторону — „цифровые кентавры“ — впервые выступили против искусственного интеллекта и обыграли его. Мы увидели, что человек с его интуицией и искусственный интеллект, машина с её невероятными мощностями вместе потенциально могут быть сильнее».
Олег Межов,
чемпион России и Европы по игре в го, организатор турнира во Владивостоке
Цитата: bigasia.ru
Успешное сотрудничество нейронных сетей и человека в таких играх, как го и шахматы, может стать наглядным примером организации взаимодействия с ИИ для решения самых сложных задач.
Системы, подобные шахматным «кентаврам», позволят усилить потенциал естественного и искусственного интеллектов в разных областях нашей жизни. Но при этом человек всё равно останется человеком — будет сам принимать решения и нести за них ответственность, пусть они и были основаны на подсказках, полученных от нейросетей.