Эта статья была впервые опубликована на:Уокер ИИ
В многоагентном алгоритме обучения с подкреплением мы говорили о QMIX ранее.На самом деле, VDN является частным случаем QMIX.Когда все производные равны 1, QMIX становится VDN. QTRAN также является проблемой декомпозиции значений.В практических задачах эффект QTRAN не так хорош, как у QMIX.Основная причина в том, что ограничения QTRAN слишком слабы, что приводит к отсутствию теоретического эффекта. Однако есть две версии QTRAN, QTRAN_BASE и QTRAN_ALT.Вторая версия лучше первой и похожа на QMIX в большинстве практических задач.
Все вышеперечисленные алгоритмы основаны на декомпозиции стоимости, и вознаграждение для каждого агента одинаково. Если в игре Glory of the Kings у нашей команды сильный попутный ветер, и один из наших персонажей идет от 1 до 5, что приводит к смерти, а затем от 4 до 5, потому что наша команда имеет большое преимущество, наша команда уничтожает противник и наша команда Все агенты получают положительные награды. Положительную награду получил и Агнет, начавший ходить от 1 до 5. Очевидно, что его поведение не может получить положительную награду. Возникает ситуация «съесть большой горшок риса», и распределение уверенности неравномерно.
Алгоритм COMA решает эту проблему, используя контрфактические базовые линии для решения проблемы присвоения достоверности. COMA — это «децентрализованная» система управления политиками.
1. Actor-Critic
COMA в основном демонстрирует основную идею Актера-Критика, метода, основанного на политическом поиске, центральной оценке и маргинальном принятии решений.
2. COMA
COMA в основном использует контрфактические базовые линии для решения проблемы присвоения достоверности. В системе кооперативных агентов, чтобы определить, какой вклад агент вносит в выполнение действия, агент выбирает действие в качестве действия по умолчанию (особым образом подтверждает действие по умолчанию), и выполняет действие по умолчанию и выполняемое в данный момент действие. соответственно Действия и сравните плюсы и минусы этих двух действий. Этот метод должен имитировать действие по умолчанию для оценки, что, очевидно, увеличивает сложность проблемы. В COMA не установлено действие по умолчанию, поэтому нет необходимости дополнительно моделировать базовую линию, а текущая стратегия напрямую используется для расчета распределения ребер агента для расчета базовой линии. Таким образом, COMA значительно сокращает объем вычислений.
Расчет базовой линии:
Структура сети COMA
На рисунке (а) представлена централизованная сетевая структура COMA, (б) представлена сетевая структура актора, а (с) представлена сетевая структура критика.
3. Алгоритм процесса
-
Инициализируйте act_network, eval_critic_network, target_critic_network и скопируйте сетевые параметры eval_critic_network в target_critic_network. инициализировать буфер, вместимость, общее количество итераций, частота обновления сетевого параметра target_critic_network.
-
=
1) Инициализировать среду
2) Получить окружениеКаждый агент наблюденияУ каждого агента ,награда.
3) _
а) Каждый агент получает вероятность каждого действия через актор_сеть и получает действие по случайной выборке. Actor_network, используемый рекуррентный уровень GRU, каждый раз записывает предыдущий скрытый уровень.
б) выполнить,будет,, наблюдения для каждого агента, каждый агент , каждый агент ,наградавыбранное действие, Независимо от того, заканчивается лирица, в пул опыта.
от)
г) случайно изВыборка некоторых данных, но данные должны быть одним и тем же переходом в разных эпизодах. Потому что при выборе действия в нейросеть должны быть введены не только текущие входы, но и hidden_state, Hidden_state связан с предыдущим опытом, поэтому опыт не может быть выбран случайным образом для обучения. Итак, здесь одновременно извлекается несколько эпизодов, а затем переход одной и той же позиции каждого эпизода передается в нейронную сеть за раз.
Ой)Рассчитайте потери и обновите параметр Critic.Указывает на подчиненное состояние, до конца, общая полученная награда.
f) Рассчитать базовый уровень каждого шага каждого агента с помощью текущей стратегии, формула расчета базового уровня:
ж) Рассчитайте преимущество преимущества от выполнения текущего действия:
h) Рассчитайте потери и обновите параметры сети акторов:
я) :
j) Скопируйте сетевые параметры eval_critic_network в target_critic_network.
4. Сравнение результатов
Данные, которые я провел сам, о QMIX, VDN, COMA, сравнение между тремя в одном и том же сценарии.
5. Резюме алгоритма
Принцип алгоритма, описанный COMA в статье, очень хорош, но в реальных сценариях, как показано на двух рисунках выше, производительность COMA не идеальна. В общих сценариях он работает не так хорошо, как QMIX. Автор предлагает читателям в реальных условиях попробовать VDN, QMIX и т. д. COMA не подходит для "лидерства".
6. Информация
PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!