Как научить нейросеть играть в игру

0
27

Самый умный: как нейросети пытаются обмануть игры⁠⁠

Инопланетная игра за 24 часа

Взяв за основу Leela Chess Zero, они изменили метод, с помощью которого нейросеть постигала премудрости шахмат. Вместо обучения с подкреплением, во время которого программа тренировалась, играя против самой себя, они применили метод обучения с учителем, позволив нейронной сети наблюдать за множеством игр, проведённых людьми в интернете.

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

Как выяснилось, «человечность» во многом определяется тем, какие ошибки обычно совершает игрок. Шахматисты с низким уровнем игры допускают больше глупых просчётов определённого вида (так называемых «зевков»), чем их более продвинутые коллеги. Таким образом, задача обучения Maia свелась к тому, чтобы научить её предсказывать и совершать ошибки, характерные для людей с разным уровнем квалификации.

В виртуальных баталиях приняли участие лучшие игроки России — Илья Шикшин
(7-й дан EGF и 4-й профессиональный дан) и Александр Динерштейн (7-й и 3-й дан соответственно). Игроки использовали интерфейс, разработанный командой «Чёрное и белое» из МГТУ имени Баумана. Они сыграли в формате «цифровых кентавров» против искусственного интеллекта, созданного на базе нейронной сети Leela Zero, и победили его.

Во время игры AlphaZero просчитывает намного меньшее число возможных ходов, чем аналогичные программы предыдущих поколений. Например, в шахматах она просматривает «всего» 80 тысяч позиций в секунду, в то время как её конкурент Stockfish за то же время рассчитывает 70 миллионов вариантов.

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

Для тренировки нейросети использовался метод обучения с подкреплением (reinforcement learning, RL). Сеть обучалась полностью самостоятельно, проводя тысячи партий против самой себя (потребовалось более 700 тысяч игр) и получая «вознаграждения» за действия, приводящие к выигрышу. Таким образом AlphaZero училась на собственных ошибках, корректируя параметры нейронной сети, чтобы принимать верные решения в последующих играх.

Чтобы исправить эту несправедливость, группа энтузиастов в 2018 году создала аналог AlphaZero, во многом повторяющий принципы работы этой программы, изложенные в научных статьях. Разработанный ими бесплатный шахматный движок с открытым исходным кодом был назван Leela Chess Zero.

ЧИТАТЬ ТАКЖЕ:  Как меня нарисует нейросеть онлайн

Ошибаться тоже надо уметь

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

Как и в AlphaZero, в Leela Chess Zero программно заложены только правила игры, и на старте нейросеть больше ничего не знает. Leela Chess Zero обучается в распределённой вычислительной сети, координируемой на веб-сайте проекта. В течение первых нескольких месяцев Leela провела против самой себя более 23 миллионов игр, достигла уровня гроссмейстера и продолжила повышать своё мастерство.

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

На самом деле нейросеть Maia работает поразительно эффективно, поскольку в каждый момент времени шахматист в среднем выбирает один ход из 35 возможных вариантов. Лучшие из существовавших до неё программ могли предугадать человеческие действия на шахматной доске только в 35–40% случаев.

В каждом из матчей было проведено по 100 игр. AlphaZero убедительно победила всех противников, не проиграв ни одной партии в шахматах и уступив лишь восемь игр в сёги программе Elmo. А вот в го всё прошло не так гладко, хотя победа всё равно была уверенной.

Специалисты проекта Maia разделили обучающую базу шахматных партий в соответствии с рейтингом Эло игроков, между которыми проводились партии. В итоге у них получилось девять обучающих наборов игр, сгруппированных по рейтингу Эло с шагом в 100 пунктов (от 1100 до 1900).

Современные нейронные сети настолько продвинуты, что могут уверенно обыгрывать людей практически во все культовые настолки. Время соперничества человека с ИИ прошло — теперь игроки-люди, учёные и программисты совместными усилиями пытаются наладить сотрудничество с нейросетями.

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

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь