Авторы:

Алехандро Монтойя Сантамария

Роман Чива Гил

Мишель Бьянкони

Бумага от J.K. Гупта и др. [1] представляет новый метод улучшения координации в задачах многоагентного обучения с подкреплением. Для некоторых приложений полностью централизованное или децентрализованное обучение может оказаться неэффективным, что приведет к низкой отдаче. В документе предлагается Граф глубокой неявной координации (DICG) в качестве решения для этих сценариев. DICG использует модуль для определения структуры графа динамической координации, который затем передается в нейронную сеть графа, которая позволяет неявно научиться выполнять совместные действия. В документе DICG применяется двумя различными методами: централизованное обучение-централизованное выполнение и централизованное обучение-
децентрализованное выполнение. Кроме того, в документе сравнивается его производительность с двумя ранее существовавшими схемами: полностью централизованной и полностью децентрализованной.

Цель этого исследования двояка. Во-первых, результаты, представленные на рисунках 3 и 4 данной статьи, воспроизведены максимально точно при имеющихся ресурсах. Во-вторых, масштабируемость DICG будет проверена путем увеличения количества агентов и размера сетки в случае использования хищник-жертва. Первый раздел блога обобщает архитектуру DICG и различные модули кода. Затем описывается процедура воспроизведения с последующим обсуждением результатов воспроизведения. После этого демонстрируются процедура воспроизведения и результаты, после чего следует исследование масштабируемости. В заключении подводятся итоги исследования. Ссылку на GitHub можно найти в конце этого поста.

Графы глубокой неявной координации

Чтобы лучше объяснить архитектуру реализации DICG, ниже показан рисунок, извлеченный из документа:

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

Где W — обучаемая матрица, а eᵢ — закодированное наблюдение агента i. Затем функция оценки внимания задается следующей формулой:

Затем матрица весов внимания и конкатенированные закодированные наблюдения служат входными данными для GCN. Эта сеть повторяет операцию свертки всего m раз:

Исходными данными слоя H⁰ являются конкатенированные наблюдения. Эти модули отличают DICG от полностью централизованных или децентрализованных методов. Применяя сверточные слои с самостоятельным вниманием и графом, агенты узнают, какие из других агентов более важны для их следующего действия, на основе своих наблюдений; что позволяет им лучше координировать свои действия, как покажут результаты. После этого два метода различаются: при передаче DICG-CE используются обработанные наблюдения за всеми агентами для принятия решения о действии для всех агентов, в то время как DICG-DE не допускает полной связи между агентами, поскольку политика децентрализована, так что агенты могут действовать независимо.

Хищная добыча

Чтобы читатель лучше понял остальную часть этого блога, в разделе объясняется игра, для которой нейронная сеть обучается с помощью обучения с подкреплением. Для наглядности можно рассмотреть рисунок ниже:

Цель игры проста, хищники должны захватить всю добычу как можно быстрее. Голубые квадраты сетки представляют диапазон захвата хищников, кроме того, хищники имеют зрение в сетке 5x5 вокруг себя и могут также видеть других хищников. Чтобы успешно поймать добычу, два хищника должны иметь добычу в пределах своего диапазона захвата. Каждый шаг в эпизоде ​​игры требует очков, и агенты получают вознаграждение в виде очков каждый раз, когда добыча захвачена. Кроме того, за одну попытку поимки хищника начисляется штрафное очко, другими словами, если только один хищник имеет добычу в своем диапазоне захвата, налагается штраф.

Результаты процедуры обучения, показанной в статье, представлены ниже:

Еще одна цифра, которую мы стремимся воспроизвести, — это статистика внимания по отношению к графикам расстояний:

Процедура воспроизведения

Код реализации архитектуры DICG для Python доступен на GitHub, поэтому писать новую вариацию кода не пришлось; тем не менее наши попытки воспроизвести результаты не обошлись без проблем. Первая проблема возникла при подготовке среды Anaconda для сценариев в Windows. Компилятор не мог построить колеса для определенных библиотек, которые были указаны в качестве требований, а библиотека «проклятия» работает только в Ubuntu. После перехода на Ubuntu возникла еще одна проблема: версия 1.9.6 Pygame, указанная в списке требований, несовместима с рядом других библиотек. Чтобы решить эту проблему, номер версии Pygame был стерт. Наконец, в файле запуска DICG-CE были устранены некоторые синтаксические ошибки при импорте других модулей. Эти изменения можно найти в нашем репозитории проекта на GitHub.

Помимо этого были и другие проблемы, которые мешали нам лучше понимать код и лучше его воспроизводить. Например, в коде почти нет комментариев, что затрудняет его понимание человеком, не участвовавшим в проекте. Кроме того, настройки по умолчанию для различных архитектур нейронных сетей были разными, некоторые из них допускали меньшее количество шагов среды за эпизод, меньшее количество хищников или меньше жертв и т. д. Это оставляет открытой возможность того, что в показанных результатах была переменная, которая отличалась. в документе это не было изменением для этого исследования, потому что оно не было задокументировано. Наконец, вычислительные затраты также были проблемой. Несмотря на то, что это не упоминается в статье, время обучения нейронной сети DICG для 1000 эпох в игре «хищник-жертва» обычно занимало в несколько раз больше, чем для полностью централизованных или полностью децентрализованных методов. Это ограничило нашу способность воспроизвести результаты, поскольку было невозможно использовать столько разных семян, сколько в исходной бумаге, и обучение не могло длиться столько же шагов среды. Чтобы еще больше расширить этот момент, в коде процедура обучения задается для ряда эпох, а в документе сети обучаются для ряда шагов среды. Однако было замечено, что количество шагов в определенную эпоху сильно зависит от того, насколько хорошо агенты могут работать; другими словами, лучшим сетям потребуется меньше шагов для обучения в течение того же количества эпох. Поэтому было принято решение использовать максимальное количество эпох для воспроизведения вместо максимального количества шагов.

Результаты воспроизведения и сравнение

Для репродукции использовались точно такие же настройки, как и те, которые указаны в документе, с той лишь разницей, что число эпох, которое в данном случае было ограничено 1000, было возможно использовать только 3 начальных числа, а не 5 из-за вычислительных возможностей. ограничения по времени и что применялись только две разные величины штрафа: 0 и -1,5. Для прозрачности перечислены некоторые настройки, которые должны были быть изменены из тех, что в файлах бегуна:

  • Семена: 1,2,3
  • Стоимость шага: -0,1
  • Количество эпох: 1000
  • Максимальное количество шагов среды: 200
  • Видимый агент: 1

Результаты воспроизведения, кажется, в основном совпадают с точки зрения поведения, которое показывают методы, за исключением децентрализованного случая, когда для штрафа 0 производительность практически соответствует эффективности метода DICG-DE, до точки, в которой зеленый цвет линия децентрализованного возврата не видна, потому что она находится за синей линией DICG-DE. Существуют также различия в доверительном интервале; однако это может быть связано с различиями в том, как он вычисляется. Мы использовали 95% доверительный интервал, эквивалентный 2 стандартным отклонениям, но не упоминается, что используется в исходной статье. Кроме того, поскольку стандартное отклонение вычисляется только на основе 3 выборок, оно не так надежно, как вычисленное в статье, в котором используется 5.

Результаты внимания в основном согласуются с показанными в статье. По мере увеличения штрафа внимание смещается в сторону агентов, находящихся дальше; таким образом, показывая, что когда требуется координация для одновременного захвата добычи, DICG позволяет сети научиться больше ценить наблюдения за агентами, находящимися дальше.

Исследование масштабируемости

Результаты ясно показывают, что DICG является лучшим методом для сокращения времени обучения, особенно когда штраф за одиночную попытку захвата выше; тем не менее, мы хотели проверить, сохраняется ли эта разница в производительности при масштабировании пути тремя разными способами:

  • Увеличение количества хищников и жертв на одной сетке: по 12 агентов каждого типа на сетке 10x10.
  • Увеличение размера сетки при том же количестве хищников и жертв: по 8 агентов каждого типа на сетке 12х12.
  • Увеличение как размера сетки, так и количества хищников и жертв: по 12 агентов каждого типа на сетке 12x12.

Делая это, можно в определенной степени проверить, действительно ли DICG улучшает производительность в целом; или если это только для условий, представленных в документе.

Эти графики демонстрируют интересное поведение, поскольку производительность различных методов заметно различается по сравнению с предыдущими запусками. Для большей области с меньшей плотностью агентов доходность уменьшается единообразно для всех методов. Интересно, что кажется, что все DICG и децентрализованные сети очень рано достигают предельного балла, который они не могут превзойти. Это означает, что дополнительная сложность DICG может не стоить вычислительных затрат в разреженных областях. Для более высокой плотности агентов результаты сильно различаются в зависимости от штрафа. Как ни странно, централизованная политика работает лучше всего, когда попытка захвата одного агента не наказывается, но снижается до чистой последней, когда штраф добавляется. Децентрализованная политика работает очень эффективно в этом режиме независимо от штрафа, а DICG-DE является наиболее эффективным для штрафа -1,5. Наконец, когда масштабируются оба аспекта игры, можно лучше оценить разницу в производительности моделей. В то время как для штрафа 0 результаты очень похожи на репордукции, различия при применении штрафа -1,5 существенны. В этих условиях обе сети DICG легко превосходят более простые децентрализованные и централизованные сети, при этом DICG-DE демонстрирует наилучшую среднюю доходность с отрывом примерно в 20 раз на 1000 эпох по сравнению с DICG с централизованным исполнением. Для контекста это означает, что в среднем в каждой игре с децентрализованным исполнением захватывается еще 2 жертвы.

Хотя в этих результатах используется только одно семя, поэтому их достоверность вызывает сомнения; это указывает на то, что DICG-DE является наиболее подходящей структурой для масштабирования задач с большим количеством агентов, особенно когда требуется сложное взаимодействие между агентами (что эквивалентно более высокому штрафу в игре «хищник-жертва»). Еще один вывод из этого анализа заключается в том, что лучшая сеть для конкретной задачи может сильно различаться в зависимости от требований и должна быть тщательно продумана. Например, на основании результатов, приведенных в статье, централизованная структура может быть отклонена как неточная; тем не менее, в одной из ситуаций, рассмотренных в этом исследовании, именно сеть получает наибольшую среднюю доходность.

Заключение и будущие рекомендации

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

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

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

Приложение

Для одного из прогонов централизованного метода DICG с 8 агентами и добычей был получен штраф, равный -1,5, и размер сетки, равный 10 выбросам. При использовании начального числа 3 производительность стабилизировалась до средней доходности всего -20, что значительно ниже по сравнению с предыдущей производительностью. Это заметно на рисунке ниже по очень большому стандартному отклонению, представленному синей линией на правом графике.

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

Ссылка на гитхаб: https://github.com/RomanChiva/DICG

Рекомендации

[1] Ли, С., Гупта, Дж. К., Моралес, П., Аллен, Р., и Кохендерфер, М. Дж. (2020). Графы глубокой неявной координации для многоагентного обучения с подкреплением. препринт arXiv arXiv:2006.11438.