Практическое написание шахмат DQN и карточного ИИ

машинное обучение глубокое обучение
Каталог статей Каталог статей [Спрятать]

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

 

1. Глубокое обучение с подкреплением и алгоритмы DQN

Машинное обучение делится на три части: представление, цель и оптимизация. Глубокое обучение (ГО) относится к категории представлений, которые могут автоматически извлекать характеристики вещей и выражать их в данных, понятных компьютерам. Обучение с подкреплением (RL) подпадает под категорию целей, которые могут обучать модель достижению желаемой цели с установленной функцией вознаграждения и автоматическим исследованием. Глубокое обучение с подкреплением (DRL) — это алгоритм, который сочетает в себе глубокое обучение и обучение с подкреплением.Он использует мощные возможности извлечения и представления признаков глубокого обучения и целевую способность обучения с подкреплением для достижения более общего искусственного интеллекта.

Deep Q Network (DQN) — это метод глубокого обучения и традиционный алгоритм обучения с подкреплением Q-Learning, а также один из первых репрезентативных алгоритмов глубокого обучения с подкреплением. Алгоритм Q-Learning на самом деле является версией значения состояния-действия алгоритма Temporal Difference (TD). Q-Learning использует свойство Маркова и использует информацию только о следующем шаге. Q-Learning позволяет системе проводить исследования в соответствии с руководящими принципами политики и обновлять значение состояния на каждом этапе исследования.Формула обновления выглядит следующим образом.

\begin{eqnarray*} q(s,a) = q(s,a) + \alpha {r +  max_{a'}{\gamma q(s',a')} - q(s,a)} \end{eqnarray*}

s — текущее состояние, a — действие, предпринятое в данный момент, s’ — следующее состояние, a’ — действие, предпринятое в следующем состоянии, r — вознаграждение, полученное системой,\alphaскорость обучения,\gammaявляется коэффициентом затухания. В эпоху глубокого обучения, глубокого обучения и Q-Learning Комбинация , в сочетании с навыками воспроизведения памяти и двойной сети, родила DQN.

2. Настольные игры и семь привидений пять два три

Шахматы и карточные игры - это общий термин для настольных и карточных игр. Настольные игры отличаются от карточных тем, что имеют свои особенности. Шахматные игры — это четкие карты, и, говоря профессиональным языком, это игры с полной информацией.Обычные шахматные игры включают китайские шахматы, международные шахматы и го. Карточные игры - это скрытые карты, а с профессиональной точки зрения, это игры с неполной информацией.Обычные карточные игры включают Dou Dizhu, Seven Ghosts, Five Two Three, Bridge и Texas Hold'em.

На этот раз мы будем использовать игру Seven Ghosts Five Two Three. В разных частях Китая есть разные версии Seven Ghosts и Five Two Three, мы находимся в среде искусственного интеллекта несовершенной информационной игры ——RoomAIРеализованная игра Seven Ghosts Five Two Three использует версию родного города коллеги (короля Ха): несколько человек используют одну или несколько колод покера.В начале у каждого человека есть пять случайных карт, а размер карт расположены - 7, Король, Сяо Ван, 5, 2, 3, A, K, Q, J, 10, 9, 8, 6, 4, игра разделена на два этапа, этап подготовки и этап розыгрыша карт; на этапе подготовки игроки разыгрывают несколько карт Карта заполняется несколькими картами.(подтверждено, что в руке всегда 5 карт); на этапе розыгрыша карт игрок заканчивает разыгрывать карты в руке выигрывает.

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

 

В последние годы искусственный интеллект добился быстрого прогресса в области искусственного интеллекта для шахмат и карточных игр. В 1997 году шахматы впервые были захвачены компьютерной системой Deep Blue, в марте 2016 года пик шахматной игры Го был побит компьютерной системой AlphaGo, не менее чем через год, в январе 2017 года, компьютерная система Libratus покорила Техас. Холдем. Даже го покорили, и настольные игры с полной информацией не имеют академической ценности, но в карточных играх с неполной информацией все еще есть некоторые проблемы, которые стоит изучить. В то время как Libratus превзошел людей в техасском холдеме, это была игра только для двух игроков. Если это многопользовательский Техас, мы не можем его использовать. CRM закончилась, и необходимо разработать другие алгоритмы. По словам самого профессора Туомаса Сандхольма, это «совершенно другая история». Сделав еще один шаг вперед, некоторые карточные игры не только допускают многопользовательские игры, но также позволяют или требуют сотрудничества между определенными игроками. Например, в «Борьбе с помещиком» участвуют три игрока, а против помещика играют два крестьянина. Другим примером является бридж и Siguo Junqi, где два игрока образуют команду, и две команды играют друг против друга. Эти ситуации также являются вопросами, которые в настоящее время не рассматривались.

 

3. Алгоритм DQN для решения семи призраков пять два три

Мы находимся в среде ИИ с несовершенными информационными играми——RoomAIРазработайте алгоритм DQN на предоставленной игре Seven Ghosts Five Two Three для трех игроков и проведите эксперименты. Для простоты мы разрабатываем наш ИИ только для игры Seven Ghosts 523 с тремя игроками, и полученная модель не применима к другим номерам игр Seven Ghosts 523. При реализации DQN на RoomAI следует обратить внимание на две вещи. 1) Данные, полученные алгоритмом DQN, имеют вид s, a, r, s’, где s' является следующим состоянием s. Но для поддержки несовершенных информационных игр после того, как текущий игрок совершает действие, текущий игрок не знает информации, с которой сталкивается следующий игрок. Так что s' может быть только информацией, с которой текущий игрок столкнется в следующий раз. Реакции других игроков в центре можно считать частью системы. 2) Данные, полученные алгоритмом DQN, имеют вид s, a, r, s’ При фиксированном пространстве действий модель может быть обновлена ​​по формуле 1. Но в RoomAI дополнительное пространство действий для текущего игрока не фиксировано. Следовательно, он должен принимать данные s,a,r,s',A', где A' представляет дополнительное пространство действий текущего игрока, которое предоставляется API RoomAI. Реализовать семь призраков пять два три ИИ требует трех шагов.

3.1 Первый шаг, структура сети

Первым шагом в написании шахматного и карточного ИИ является определение структуры сети. DQN, который мы реализовали, выглядит следующим образом: текущее состояние s и необязательное действие a преобразуются в векторы соответственно через сеть CNN, затем два вектора объединяются, и, наконец, реальное значение Q(s,a) получается через DNN. .

 

3.2 Второй шаг, разработка функций

Второй шаг – определение характеристик. Нам нужно извлечь признаки состояния и действия. Функция статуса представляет собой 8-слойное изображение размером 15 * 5. В 15 * 5 каждая строка соответствует точке, а каждый столбец представляет собой масть. Всего есть 4 обычных масти и виртуальные масти большого и маленького королей. . Среди 8 слоев 4 слоя активируются на этапе подготовки, а остальные 4 слоя активируются на этапе розыгрыша карты. Четыре слоя — это карты текущей руки, карты, сыгранные в истории игрока, карты, сыгранные в истории предыдущего игрока, и карты, сыгранные в истории следующего игрока. Функция действия представляет собой 2-х слойное изображение размером 15*5, из которых 1 слой включается на этапе подготовки, а другой Слой 1 — это фаза игры в карты, и каждый слой — это карта.

3.2 Третий шаг, функция вознаграждения

Третий шаг заключается в определении функции вознаграждения. Здесь мы используем очень простую функцию вознаграждения: игра не окончена, вознаграждение равно -1; когда игра окончена, вознаграждение рассчитывается в соответствии с оценкой, выставленной игрой; оценка, выданная RoomAI трем -человек Семь Призраков Пять Два Три игры, только один Победитель получает 2 очка, два других проигравших получают -1 очко.

Мы поместили соответствующий код в RoomAI.model zoo, и заинтересованные студенты могут обратиться к.

4. Экспериментальные результаты и анализ

Для эксперимента мы просто установили два базовых метода: 1) метод простого правила и 2) метод случайного воспроизведения. Подход с использованием простых правил немного лучше случайного подхода. Согласно нашим экспериментам, в игре с двумя игроками метод простых правил выигрывает 91,3 % случайных карт. При обучении все три стороны являются нашими моделями, и они тренируются одновременно. При оценке один из них является нашей моделью, а два других — базовыми методами. На следующем рисунке показан результат эксперимента, где по оси абсцисс указано количество итераций (одна итерация эквивалентна выполнению 10 раундов), а по оси ординат — коэффициент выигрыша нашей модели. При случайном моделировании трех моделей с сопоставимыми способностями винрейт каждого игрока должен быть равен 33,33..%. То есть более 33,33…%, это лучше, чем соответствующий базовый метод.

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

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

5. Заключение

Глубокое обучение с подкреплением — основной алгоритм разработки игрового ИИ в научных кругах. В этой статье мы будем использовать алгоритм DQN, ранний репрезентативный алгоритм глубокого обучения с подкреплением, для изучения шахматного и карточного ИИ. Мы используем DQN для разработки ИИ в игре Seven Ghosts Five Two Three, предоставленной RoomAI, несовершенной информационной игровой средой. Эксперименты показывают, что DQN может достигать определенных эффектов. Соответствующий код этой статьи можно найти вGithubНайдите его на веб-сайте, приветствуйте студентов, которые вам нравятся, звездами.