Обучение с подкреплением |

обучение с подкреплением
Обучение с подкреплением |

Эта статья была впервые опубликована на:Уокер ИИ

В многоагентном алгоритме обучения с подкреплением мы говорили о 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 значительно сокращает объем вычислений.

Расчет базовой линии:

u'aчисло Пиa(u'aтa)Q(s,(ua,u'a))\sum_{u'a}\pi^a(u^{'a}|\tau^a)Q(s,(u^{-a},u^{'a}))

Структура сети COMA

图1. COMA网络结构На рисунке (а) представлена ​​централизованная сетевая структура COMA, (б) представлена ​​сетевая структура актора, а (с) представлена ​​сетевая структура критика.

3. Алгоритм процесса

  • Инициализируйте act_network, eval_critic_network, target_critic_network и скопируйте сетевые параметры eval_critic_network в target_critic_network. инициализировать буферDD, вместимостьMM, общее количество итерацийTT, частота обновления сетевого параметра target_critic_networkpp.

  • forfor tt=11 toto TT dodo

1) Инициализировать среду

2) Получить окружениеSSКаждый агент наблюденияOOУ каждого агентаavailavail actionaction,наградаRR.

3)forfor step=1step=1 toto episodeepisode_limitlimit

а) Каждый агент получает вероятность каждого действия через актор_сеть и получает действие по случайной выборкеactionaction. Actor_network, используемый рекуррентный уровень GRU, каждый раз записывает предыдущий скрытый уровень.

б) выполнитьactionaction,будетSS,SnextS_{next}, наблюдения для каждого агентаOO, каждый агентavailavail actionaction, каждый агентnextnext availavail actionaction,наградаRRвыбранное действиеuu, Независимо от того, заканчивается лирицаterminatedterminated, в пул опытаDD.

от)ifif len(D)len(D) >=>= MM

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

Ой)td_error=GtQ_evaltd\_error =G_t-Q\_evalРассчитайте потери и обновите параметр Critic.GtG_tУказывает на подчиненное состояниеSS, до конца, общая полученная награда.

f) Рассчитать базовый уровень каждого шага каждого агента с помощью текущей стратегии, формула расчета базового уровня:

u'aчисло Пиa(u'aтa)Q(s,(ua,u'a))(маргинальное распределение)\sum_{u'a}\pi^a(u^{'a}|\tau^a)Q(s,(u^{-a},u^{'a})) (маргинальное распределение)

ж) Рассчитайте преимущество преимущества от выполнения текущего действия:

Aa(s,u)=Q(s,u)u'aчисло Пиa(u'aтa)Q(s,(ua,u'a))A^a(s,u) = Q(s,u)-\sum_{u'a}\pi^a(u^{'a}|\tau^a)Q(s,(u^{-a},u^{'a}))

h) Рассчитайте потери и обновите параметры сети акторов:

loss=((advantage*select_action_pi_log)*mask).sum()/mask.sum()loss=((advantage*select\_action\_pi\_log)*mask).sum()/mask.sum()

я)ifif tt p==0p==0 :

j) Скопируйте сетевые параметры eval_critic_network в target_critic_network.

4. Сравнение результатов

图2. 论文中COMA对比其他网络结果Данные, которые я провел сам, о QMIX, VDN, COMA, сравнение между тремя в одном и том же сценарии.

图3. VDN,QMIX,COMA,在sc2中8m地图的表现

图4. VDN,QMIX,COMA,在sc2中2s3z地图的表现

5. Резюме алгоритма

Принцип алгоритма, описанный COMA в статье, очень хорош, но в реальных сценариях, как показано на двух рисунках выше, производительность COMA не идеальна. В общих сценариях он работает не так хорошо, как QMIX. Автор предлагает читателям в реальных условиях попробовать VDN, QMIX и т. д. COMA не подходит для "лидерства".

6. Информация

  1. КОМА:АР Вест V.org/ABS/1705.08…

PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!