COMA:Counterfactual Multi-Agent Policy Gradients
论文地址:https://arxiv.org/pdf/1705.08926.pdf
代码地址:https://github.com/oxwhirl/pymarl/tree/master/
摘要
本文提出一种多主体的actor-critic,称为反事实多主体策略梯度(COMA)。文章采用CTED的训练方式。利用反事实基线来解决多智能体的信用分配问题。文章的主要思想:
1:使用一个集中的critic,在训练的时候获取所有智能体的信息(on-policy)
2:反事实基线:解决信用分配问题
3.critic网络对反事实基线进行高效计算。
方法
作者是基于Actor-Critic结构来设计MARL算法的。最直接的方法是每个智能体利用该结构独立学习,称作independent actor-critic (IAC)。但是IAC有个明显的问题,就是不考虑其它智能体的信息,这将导致训练过程不稳定。(如果IAC在训练的过程中考虑所有智能体的信息,利用CTDE训练方法,则和MADDPG方法没有太大区别)。
首先,COMA使用了一个集中的Critic,critic以全局状态s或者所有智能体的联合行动-观测历史 τ \tau τ作为输入.
(信用分配问题)在协作任务下的多智能体系统中,奖励函数是全局共享的,所以只需要一个critic网络就可以了。但是那样的话,所有的智能体优化目标都是同一个。因此,对每个actor网络来说,从critic那边反向传播过来的误差都是一样的。令每个智能体直接利用该集中式的critic计算策略梯度可以得到:
g = ∇ θ π l o g π ( u ∣ τ t a ) ( r + γ V ( s t + 1 ) − V ( s t ) ) g=\nabla_{\theta^{\pi}}log\pi(u|\tau_t^a)(r+\gamma V({s_t+1})-V(s_t)) g=∇θπlogπ(u∣τta)(r+γV(st+1)−V(st))
这种“吃大锅饭”式的训练方式显然不是最有效的,因为每个actor网络对整体性能的贡献不一样,贡献大的反向传播的误差应该要稍微小些,贡献小的其反向传播误差应该要大一些。最终的目标都是优化整体的性能。所以,受到差分奖励的影响,作者提出利用counterfactual baseline来解决该问题!
在差分奖励中,每个智能体的奖励设计为:
D α = r ( s , u ) − r ( s , ( u − a , c a ) ) D^{\alpha}=r(s,u)-r(s,(u^{-a},c^a)) D

本文介绍了一种名为COMA的多智能体强化学习算法,该算法利用集中式critic和反事实基线来解决多智能体环境下的信用分配问题。通过引入优势函数和高效的反事实基准估计方法,COMA提高了训练效率并优化了策略更新。
最低0.47元/天 解锁文章
1711

被折叠的 条评论
为什么被折叠?



