Г-жа Навья Сингх, г-н Каиро Гулати, г-н Аншул Дхулл, г-н Барат Мохан С., г-н Бхавиш Пахва, г-жа Комал Шарма

Университет Беннета, Большая Нойда, Индия

[email protected], [email protected], [email protected], [email protected], [email protected]

АННОТАЦИЯ-

Наша игра Pommerman основана на консольной игре Bommerman. Игра начинается на платформе 11 X 11. Pommerman — это многоагентная среда, состоящая из набора различных ситуаций и состоящая из четырех агентов/игроков. По сути, они хотят, чтобы другие противники были несовершенной имитацией человеческого поведения, и мы будем обучать нашего агента превосходить других игроков и оптимизировать его счет. Мы использовали алгоритм Дейкстры и попытались реализовать алгоритм A *, а реализованные нами политики: DQN (глубокая Q-сеть), DQfD (глубокое Q-обучение на основе демонстраций) и имитационное обучение с помощью свертки 256. Из этих политик результат имитационного обучения с Свертка 256 считается лучшей.

Ключевые слова: обучение с подкреплением, имитационное обучение, глубокое Q-обучение на демонстрациях, Поммерман.

ВВЕДЕНИЕ-

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

Мультиагентное обучение с подкреплением (MARL)

Глубокое обучение фокусируется на моделях, включающих несколько агентов, которые обучаются, быстро взаимодействуя с окружающей средой. Во многих сценариях агенты в модели MARL могут действовать совместно, соревновательно или демонстрировать нейтральное поведение.[11] Чтобы справиться с этими сложностями, методы MARL заимствуют определенные идеи из теории игр, которые могут быть очень полезными.

когда дело доходит до модельных сред с несколькими участниками. У Поммермана есть четыре агента, бонусы, бомбы в изобилии в трех режимах: FFA, Team и Team Radio. В FFA входят четыре агента и уходит один. Планирование, тактика с хитростью проверены в FFA и доска полностью просматриваема.

Проблемы агентов MARL:

Модели MARL предлагают ощутимые преимущества для задач глубокого обучения, учитывая, что они являются наиболее близкими представлениями многих когнитивных действий в реальном мире. Тем не менее, существует множество проблем, которые необходимо учитывать при реализации такого типа моделей. Не пытаясь предоставить исчерпывающий список, есть три проблемы, которые должны быть в центре внимания любого специалиста по данным при рассмотрении вопроса о внедрении моделей MARL:

1. Проклятие размерности. Проблема систем глубокого обучения особенно актуальна в моделях MARL. Многие стратегии многоагентного обучения с подкреплением работают в определенных игровых средах, которые терпят неудачу по мере увеличения числа агентов.

2. Обучение. Координация обучения большого количества агентов — еще одна проблема в сценариях MARL. Эти модели MARL используют механизмы координации политики обучения, чтобы свести к минимуму влияние задач обучения.

3. Неоднозначность: модели MARL очень уязвимы для сценариев неоднозначности агентов. Представьте себе многопользовательскую игру, в которой два агента занимают одинаковые позиции в окружающей среде. Чтобы справиться с этими проблемами, политика каждого агента должна учитывать действия, предпринимаемые врагами.

Жесткие стены вечны и непроницаемы. Деревянные стены легко разрушаются бомбами. Если их не взорвать, они остаются непроницаемыми. По мере уничтожения они превращаются либо в проход, либо в усиление.[9]

На каждом этапе агент/игрок может выбрать одно из следующих действий:

1. Остановить действие для прохода.

2. Вверх: действие для перемещения вверх по доске.

3. Влево: действие для перемещения влево по доске.

4. Вниз: действие для перемещения вниз по доске.

5. Вправо: действие для перемещения прямо по борту.

6. Бомба: закладывает бомбу.

Общие наблюдения, полученные агентом после каждого шага, следующие:

• Доска (размер-121, целочисленный тип): это плоская доска с частично наблюдаемой средой. Квадраты, которые находятся за пределами остроты 5x5 вокруг позиции агента, покрыты значением тумана (5).

• Позиция (целочисленный тип Size-2): это (x, y) позиция агента в сетке.

• Боеприпасы (целочисленный тип Size-1): текущие боеприпасы агента.

• Сила взрыва (целочисленный тип Size-1): это сила взрыва агента.

• Can Kick (целочисленный тип Size-1): Способность агента сбросить бомбу.

• Teammate (целочисленный тип Size-1): относится к товарищу по команде агента.

• Враги (целочисленный тип Size-3): относится к врагу агента.

• Сила взрыва бомбы (целочисленный тип): мощность взрыва бомбы, указанная для бомб в подвиде агента.

• Срок службы бомбы (целочисленный тип): оставшийся срок службы каждой бомбы в подвиде агента.

• Сообщение (целочисленный тип Size-2): сообщение, которое передается товарищем по команде.

Здесь агент начинает с одним боезапасом (бомбой), и его боезапас уменьшается на единицу каждый раз, когда он устанавливает бомбу. Боеприпасы увеличиваются на единицу при взрыве бомбы. Сила взрыва агента в начале равна 2. Все бомбы, которые он закладывает, получают текущую силу взрыва. Срок службы бомбы составляет десять временных шагов. После прекращения действия бомбы она взрывается, и все деревянные стены, агенты, бонусы и другие бомбы в пределах досягаемости ее взрыва уничтожаются. Бомбы, которые уничтожаются в пути, накапливают свой взрыв.

Бонусы: есть бонусы, спрятанные в некоторых деревянных стенах, которые раскрываются при разрушении этих стен. Эти:

• Дополнительная бомба: это усиление увеличивает боезапас агента на единицу.

• Увеличение дальности: это усиление увеличивает силу взрыва бомбы агента на единицу.

  • Удар: это усиление помогает агенту отбить бомбу. Отброшенная бомба движется в направлении, в котором двигался агент с единичным временным шагом, пока они не столкнутся с игроком, бомбой или стеной.

ПОЛИТИКА: это стратегия, определяющая способ поведения агента в определенное время. Он отображает между учитываемыми состояниями и действиями, которые необходимо предпринять в этих состояниях.

Мы предлагаем определенный вид методов градиента политики для обучения с подкреплением, тогда как данные стандартные методы градиента политики выполняют одно обновление градиента за раз, мы предложили целевую функцию, которая допускает несколько эпох мини-пакетных обновлений. Новые методы известны как оптимизация проксимальной политики (PPO) и обладают преимуществами TRPO, но их гораздо проще выполнять, они более общие и имеют более сложную выборку. Эксперименты, которые мы провели, проверяют PPO на наборе стандартных задач, включающих воспроизведение движения роботов и игры Atari, и мы обнаружили, что PPO превосходит все другие методы градиента политик и превосходит четкий баланс между заданной сложностью, простотой и стеной. -время.

Но мы хотели повысить эффективность и производительность нашего проекта, поэтому попытались внедрить различные политики, такие как DQfD (глубокое Q-обучение на основе демонстраций),A3C (асинхронный преимущество актера-критика), DQN (глубокое Q -сети), DDPG (глубокий детерминированный градиент политики). Мы реализовали алгоритм Дейкстры для вычисления кратчайшего пути. Мы также попытались реализовать алгоритм A*(A star), так как он считается более эффективным, чем алгоритм Дейкстры.

Жесткие стены нерушимы и непроходимы. деревянный

стены могут быть разрушены бомбами. Пока они не уничтожены,

они непроходимы. После уничтожения они становятся

либо проход, либо усиление.

На каждом ходу агенты выбирают одно из шести действий:

1. Стоп: это действие является пропуском.

2. Вверх: двигаться вверх по доске.

3. Влево: двигаться влево по доске.

4. Вниз: перемещение вниз по доске.

5. Вправо: двигаться вправо по доске.

6. Бомба: Положите бомбу.

Жесткие стены нерушимы и непроходимы. деревянный

стены могут быть разрушены бомбами. Пока они не уничтожены,

они непроходимы. После уничтожения они становятся

либо проход, либо усиление.

На каждом ходу агенты выбирают одно из шести действий:

1. Стоп: это действие является пропуском.

2. Вверх: двигаться вверх по доске.

3. Влево: двигаться влево по доске.

4. Вниз: перемещение вниз по доске.

5. Вправо: двигаться вправо по доске.

6. Бомба: заложить бомбу

Код: Вы можете просмотреть код прямо здесь



Скриншоты кода прикреплены ниже

Связанных с работой

Ранее политика PPO использовалась для обучения агента.

PPO:

PPO расшифровывается как Proximal Policy Optimization, он хорошо подходит для сред с большим количеством пар состояний и действий, как у нашего Поммермана. Мы использовали тензорную силу для реализации нашего агента PPO и добавили плотную сеть политик.

Чтобы сделать нашего агента лучше, мы также выбрали Адама в качестве оптимизатора и оптимальную скорость обучения. Агент обучался, играя против трех других простых агентов, и полученные результаты соответствовали нашим ожиданиям. Мы внедрили политику DQfD вместо PPO, так как было замечено, что DQfD более эффективен при обучении нашего агента.

Обучение на демонстрациях: DQfD означает Deep Q Learning на демонстрациях. Здесь мы пытаемся предварительно обучить нашего агента с помощью демонстраций экспертов, а затем обучить сеть на сочетании нового буфера воспроизведения и экспертного буфера воспроизведения. Чем плотнее сеть, тем лучше работает наш агент. Когда мы внедрили DQfD от Tensor Force, у нас была небольшая сеть, и поэтому ее производительность была ограничена, но мы все еще думали, что она может работать лучше, чем Simple Agent, и сможет уничтожить Simple Agent.

Но в DQfD наш агент играл в обороне, то есть он просто пытался взорвать стены и получить бонусы, а не пытаться атаковать игроков противника.

Таким образом, мы реализовали имитационное обучение, собирая

Усиление используется во многих подобных играх Atari, таких как Mario, Frozen Lake, Maze и т. д.

Сверточная нейронная сеть — это ветвь глубоких нейронных сетей, которая чаще всего используется для анализа изображений. CNN — это регуляризованные версии многослойных персептронов. Также упоминаемый как сверточный слой, он формирует основу CNN и выполняет основные операции обучения и, следовательно, запускает нейроны сети. Он выполняет операцию свертки над входным объемом, как указано в предыдущем разделе, и состоит из трехмерного расположения нейронов. Мы использовали свертки 256.

Марио:программа машинного обучения начинается с чистого листа, ничего не зная о задаче, которую она должна выполнять. Затем он получает входные данные, представляющие собой среду, в которую он был помещен, и начинает пытаться выяснить, какой выход дает ему наибольшую награду. Этот метод очень похож на то, как люди учатся делать что-то новое посредством проб и ошибок. Мы пробуем что-то одним способом, затем другим, пока не получим награду, к которой стремимся. Основная причина этого заключается в том, что мы включаем в игру свой прошлый опыт и, следовательно, можем лучше ориентироваться в правилах игры, чтобы гораздо быстрее получить более высокую награду. В машинном обучении это будет считаться обучением.

Лабиринт: в нем используется методология обучения с подкреплением, и основная цель состоит в том, чтобы крыса получила максимальное количество сыра и в то же время попыталась спастись от того, чтобы ее съела кошка.

Крыса должна научиться эффективно исследовать доску и в то же время максимизировать награду, которой является сыр.

Методология

В нашем проекте мы использовали следующие методики:

АЛГОРИТМЫ:

1.) Алгоритм Дейкстры. Алгоритм Дейкстры позволяет вычислить кратчайший путь для агента, чтобы взорвать деревянные стены, убежать от пламени или врагов, чтобы получить бонусы. По сути, он начинается с рассмотрения стоимости пути для тех, кто находится рядом с текущим узлом, и значения пути для всех остальных узлов как бесконечности, а затем продолжает обновлять значение пути до оптимального значения.

2.) Алгоритм A*: A*(A-star) аналогичен алгоритму Дейкстры, но намного эффективнее его. Он использует эвристическое значение для определения стоимости пути, поэтому он рассматривает только самый оптимальный путь из каждого пути. Его функция использует значения g(n) и h(n) для вычисления f(n).

ПОЛИТИКА:

DQN. В Deep Q-Learning или DQN для каждого заданного входного состояния сеть выводит прогнозируемые значения Q для каждого действия, которое может быть выполнено из этого конкретного состояния. Цель этой сети — найти оптимальную Q-функцию, а оптимальная Q-функция будет удовлетворять уравнению Беллмана.

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

После расчета потерь веса в сети обновляются с помощью обратного распространения и SGD, как и в любой другой типичной нейронной сети. Этот процесс повторяется снова и снова для каждого состояния среды, пока мы не сократим потери и не получим приближенную оптимальную Q-функцию.

В сложной среде, такой как видеоигры, мы вводим изображения (неподвижные кадры), которые фиксируют состояния из среды в качестве входных данных для сети.

DQfD. Алгоритмы глубокого обучения с подкреплением добились замечательных результатов в ряде проблем, которые когда-то считались неразрешимыми без помощи целочисленной интуиции и творчества человека. Агенты обучения с подкреплением могут научиться справляться с такими задачами, как шахматы и ретро-видеоигры, без каких-либо предварительных инструкций, что часто превосходит результаты даже величайших экспертов-людей. Эти методы являются неэффективными с точки зрения выборки и основаны на изучении сотен или даже тысяч полных отказов, прежде чем будет достигнут какой-либо прогресс. Это роскошь, которую мы можем себе позволить, когда задача проста или может быть смоделирована, как экран Atari или шахматная доска, но, по крайней мере, частично отвечает за относительно короткий список реальных приложений RL.

Имитация (глубокое обучение с подкреплением). Мы использовали скрипт Python для визуализации нашей среды Поммермана и запустили 600 эпизодов, чтобы собрать около 600 000 наблюдений за Simple Agent и собрать набор данных для них. Затем мы создали модель и попытались обучить нашу модель с помощью набора данных, реализовали нашу модель на агенте и назвали его имитационным агентом, а затем, чтобы оценить, наш агент представил битву с тремя простыми агентами.

Результаты экспериментов-

Используемые платформы:

· Виндовс 10

· Пичарм 2019.1.3

· Блокнот Юпитера

· Google Colab ·

· Каггл

DQN-

Мы реализовали политику DQN в нашем агенте, используя библиотеку tensor force для импорта агента DQN. Используя модель обучения Q, мы импортировали и внедрили агента DQN в качестве нашего агента Поммермана и наблюдали эффект, запустив около 5 эпизодов с 3 другими простыми агентами:

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

DQfD-

После внедрения агента DQN мы также попытались внедрить агент DQFD, поскольку он считается более эффективным, чем DQN, поскольку использует демонстрации или так называемые наблюдения над DQN. Мы внедрили агента DQFD в нашу среду Pommerman и наблюдали, запустив около 5 эпизодов с 3 другими простыми агентами:

Агент DQFD пытается исследовать или перемещаться по доске, а также учится эффективно размещать бомбы и пытается уклоняться от врагов, но все еще не может стоять до конца, однако всегда остается предпоследним в битве и в среднем ему удается устранить один простой Агент.

Вывод-

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

Затем мы переходим к DQN из-за успешных результатов, которые мы обнаружили в прошлом. Реализация DQN приводит нас к тому, что в DQN Агент занимает оборонительную позицию и пытается спрятаться в углу или между стенами, не исследуя игровую зону и не раскладывая бомбы. Результаты DQN показали, что мы должны перейти на DQfD, так как он лучше подходит для эксперимента Поммермана, поскольку в DQfD у нас есть набор человеческих демонстраций, и это может помочь нашему агенту тренироваться для исследования. Результаты DQfD оправдали наши ожидания, и агент научился исследовать и перемещаться по доске и успешно размещать бомбы. Затем мы попробовали имитационное обучение, используя Simple Agent в качестве модельного агента, и добились прорыва. Агент с имитацией обучения соответствует уровню производительности простых агентов и устраняет простых агентов, а также остается последним в примерно 25% всех эпизодов. Таким образом, нам удалось сделать агента достаточно мощным, чтобы устранить простых агентов, а также защитить себя от них.

Ссылки

[1] https://github.com/MultiAgentLearning/playground

[2] https://github.com/tambetm/pommerman-baselines

[3] Беллемаре, М. Г.; Наддаф, Ю.; Венесс, Дж.; и Боулинг, М. 2013.

[4] Аркадная учебная среда: оценочная платформа для обычных агентов. Дж. Артиф. Целое. Рез. 47(1):253–279. Бомбермен, В. 1983. Википедия Бомбермен.

[5] https://wikipedia.org/wiki/Бомбермен

[6] https://nihal111.github.io/docs/pommerman_report.pdf

[7] https://www.pommerman.com/

[8] https://www.endtoend.ai/blog/pommerman-1/

[9] https://towardsdatascience.com/modern-game-theory-and-multi-agent-reinforcement-learning-systems-e8c936d6de42

[10] Хестер, Тодд, Весерик, Матей, Пьеткин, Оливье, Ланкто, Марк, Шауль, Том, Пиот, Билал, Сендонарис, Эндрю, Дюлак-Арнольд, Габриэль, Осбанд, Ян, Агапиу, Джон, Лейбо, Джоэл З. и Груслис, Аудрунас. Обучение на демонстрациях для обучения с подкреплением в реальном мире. КОРР, 2017.