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

0
26

Инопланетяне, кентавры и человеческие ошибки: как нейросети играют с людьми

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

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

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

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

Ботофермы, например для Дестени2(игра) на консолях ПС4 ставят бота который управляет(джойстиком) делая какойто минимум действий чтоб получать награды/опыт/доджить АФК кик/бан. Такая ИИ/нейросеть работает очень просто(за чес можешшь собрать из готового) там детектор «врагов»(из картинки на экране) и навод оружия на них, плюс простая ориентация на местности. (очевидно такоеже работает для всех онлайн игр где можно продавать прокачанные аккаунты)

На старте программисты загрузили в AlphaZero только правила игры. В итоге программа училась с чистого листа (лат. tabula rasa), никогда не видела ни одной проведённой людьми игры и не получала никаких справочных сведений о том, как обычно гроссмейстеры начинают, ведут и заканчивают партии.

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

Что же такое нейронная сеть?

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

Любители шахмат из России могли увидеть одно из таких соревнований в 2007 году. Тогда в выставочном зале ГУМа в Москве в «продвинутые шахматы» играли чемпион мира Вишванатан Ананд и экс-чемпион Владимир Крамник. Кстати, наблюдать за играми advanced chess намного интереснее, чем за матчами по обычным шахматам.

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

Только ленивый не слышал сегодня о существовании и разработке нейронных сетей и такой сфере, как машинное обучение. Для некоторых создание нейросети кажется чем-то очень запутанным, однако на самом деле они создаются не так уж и сложно. Как же их делают? Давайте попробуем самостоятельно создать нейросеть прямого распространения, которую еще называют многослойным перцептроном. В процессе работы будем использовать лишь циклы, массивы и условные операторы. Что означает этот набор данных? Только то, что нам подойдет любой язык программирования, поддерживающий вышеперечисленные возможности. Если же у языка есть библиотеки для векторных и матричных вычислений (вспоминаем NumPy в Python), то реализация с их помощью займет совсем немного времени. Но мы не ищем легких путей и воспользуемся C#, причем полученный код по своей сути будет почти аналогичным и для прочих языков программирования.

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

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

Но ее легко получить путем увеличения количества нейронов. Давайте попробуем реализовать обучение с тремя нейронами в скрытом слое и одним выходным (выход ведь у нас только один). Чтобы все получилось, создадим массив X и Y, имеющий обучающие данные и саму нейронную сеть:

Какую роль играет искусственный нейрон?

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

Кстати, цифровые кентавры используются не только в шахматах. Например, в 2021 году российские программисты впервые в мире смогли продемонстрировать эффективную систему «человек + ИИ» для игры в го. В рамках 41-го чемпионата мира по го цифровые кентавры провели матч из 70 игр — соревновались как между собой, так и с чистым ИИ.

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

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

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

Бот для Трекмании https://youtu.be/iZIPowqm-fo — важное уточнение в Этом видео обучение идет на TMNF и ее можно «ускорить» в бесконечное количество раз (получать результат ввода без задержек и ожидания рендера кадра), также в Трекмании
Детерминированная физика тоесть результат такого «инпута» всегда будет одинаков (физический движок работает на INT и не использует FLOAT).
И на TMNF можно ускорить время «читами» (игре 10 лет там все для этого сделано, утилиты для TAS готовые есть их можно и для ИИ обучения использовать)

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

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