COMA: Counterfactual Multi-Agent Policy Gradients笔记

1. 论文讲了什么/主要贡献是什么

文章介绍了COMA算法,主要解决了在集中训练、分散决策的框架中,全局全局奖励的分配问题。文中受到difference rewards的启发,采用了根据当前代理采取的动作相比于当前代理采取默认动作对全局奖励的提高来判断代理对全局奖励的贡献大小,从而对代理的actor进行有效的更新。并根据算法设计了能够有效估计优势函数的方式。

2. 论文摘要:

Cooperative multi-agent systems can be naturally used to model many real world problems, such as network packet routing or the coordination of autonomous vehicles. There is a great need for new reinforcement learning methods that can efficiently learn decentralised policies for such systems. To this end, we propose a new multi-agent actor-critic method called counterfactual multi-agent (COMA) policy gradients. COMA uses a centralised critic to estimate the Q-function and decentralised actors to optimise the agents’ policies. In addition, to address the challenges of multi-agent credit assignment, it uses a counterfactual baseline that marginalises out a single agent’s action, while keeping the other agents’ actions fixed. COMA also uses a critic representation that allows the counterfactual baseline to be computed efficiently in a single forward pass. We evaluate COMA in the testbed of StarCraft unit micromanagement, using a decentralised variant with significant partial observability. COMA significantly improves average performance over other multi-agent actor-critic methods in this setting, and the best performing agents are competitive with state-of-the-art centralised controllers that get access to the full state.

协作多代理系统可以用来对现实世界中的很多问题建模,例如网络包路由或自动驾驶车辆协同。对于能够有效学习面向这样的系统的分散策略的新的强化学习方法的需求很大。为了这个目的,我们提出了一个新的多代理actor-critic方法,叫做反事实多代理(counterfactual multi-agent, COMA)策略迭代方法。COMA使用了集中的critic来估计Q函数,使用了分散的actor来优化代理策略。并且,为了解决多代理credit分配的问题,使用了反事实基线(counterfactual baseline)边缘化了单个代理的动作,同时保持其它代理的动作不变。COMA还使用了允许反事实基线能够在一次向前传播中被高效计算的critic表示。我们评估了COMA在StarCraft unit micromanagement中的变现,使用了具有显著部分可观测性的分散变体。在这个情境下,COMA相比于其它多代理actor-critic方法显著提高了平均性能,最好的性能的代理可以和能够获得整体状态的集中控制器的最先进方法不相上下。

3. 论文主要观点:

3.1 背景:

目前在多代理学习中集中训练分散策略是一个标准的方法,但如何集中训练依然是一个正在被研究的问题。并且,在多代理学习中,如何将集中的全局奖励分配给每个代理也是一个问题。这需要判断代理对与全局奖励的贡献。如果每个代理设计单独的奖励函数,可以解决奖励分配的问题,但是代理可能无法做出牺牲自己的决策从而是全局奖励更高。

目前多代理强化学习的方向有深度多代理强化学习,从而能够扩展到高维输入和动作空间。另一个发展方向是进行代理之间的通信,在这个发展方向上,训练期间在代理之间传递梯度以及共享参数是两个利用集中训练的常见方法。但这些方法在训练期间需要额外的状态信息,并且没有解决多代理奖励分配的问题。

3.2 问题:

解决多代理学习中全局奖励的分配问题。

3.3 方法:

COMA: Counterfactual Multi-Agent Policy Gradients笔记_第1张图片

图一 (a) COMA中,在分散actors、环境和集中critic之间的信息流,红箭头和组件只在集中训练的过程中需要;(b)和(c) actor和critic的架构

COMA使用了actor-critic方法。并且COMA基于三个主要思想:

  • COMA使用了集中的critic。critic只在学习的过程中使用,actor只在执行的期间使用。因为在集中学习的过程中,critic需要依赖于联合动作和全局的状态信息。每个代理的策略只需要依赖于代理自身的动作观测历史。在COMA中每个代理共享参数。图一(a)展示了总体架构。

    根据基于TD估计的集中critic更新每个代理的actor的梯度为:
    ∇ θ π = ∂ ∂ θ π log ⁡ π ( u ∣ τ t a ) ( r + γ V ( s t + 1 ) − V ( s t ) ) \nabla \theta^{\pi}=\frac{\partial}{\partial \theta^{\pi}} \log \pi\left(u | \tau_{t}^{a}\right)\left(r+\gamma V\left(s_{t+1}\right)-V\left(s_{t}\right)\right) θπ=θπlogπ(uτta)(r+γV(st+1)V(st))
    但这样无法解决奖励分配的问题。当有其它代理在进行探索行为时,代理更新的梯度会包含很大的噪音,当代理数量很多的时候会更加严重。

  • 因此COMA使用了反事实基线(counterfactual baseline)。这个想法是受奖励变化(difference rewards(Tumer & Agogino, 2007))的启发,在奖励变化中,代理根据比较全局奖励与将代理动作换位默认动作后的全局奖励来制定奖励函数进行学习。虽然奖励变化是解决奖励分配问题的一个有力的方式,但为了估计基线,需要一个仿真器。当一个模拟器已经被用于学习时,奖励变化方法会增加必须进行的仿真的数量,因为每个代理的奖励变化需要一个单独的反事实仿真。并且如何选择默认动作还不清楚。COMA通过使用集中的critic来计算优势函数,比较当前动作的价值与忽视单个代理动作并保持其它代理动作不变的反事实基线。计算方法为:
    A a ( s , u a ) = Q ( s , u ) − ∑ u a π a ( u a ∣ τ a ) Q ( s , ( u − a , u a ) ) A^{a}\left(s, u^{a}\right)=Q(s, \mathbf{u})-\sum_{u^{a}} \pi^{a}\left(u^{a} | \tau^{a}\right) Q\left(s,\left(\mathbf{u}^{-a}, u^{a}\right)\right) Aa(s,ua)=Q(s,u)uaπa(uaτa)Q(s,(ua,ua))
    即保持其它代理动作不变,求代理 a a a在当前环境下的优势函数。将其它代理视为环境,计算当前代理动作的优势函数就得到了这个公式。

  • 但是,为了同时上式计算优势函数,网络的输出节点需要有 ∣ U ∣ n |U|^n Un个,使得在实际应用中网络无法被训练。COMA将critic的网络结构改为输入中包含代理 a a a外其它代理的动作,输出为代理 a a a选择各个动作后的联合价值。这样通过actor和critic的一步向前传递就可以计算得到优势函数,即反事实基线。并且网络的输出节点为 ∣ U ∣ |U| U个,输入节点随代理和动作的数量线性增加,从而应用深度神经网络能够有很好的性能,并且具有泛化能力。

算法为:
COMA: Counterfactual Multi-Agent Policy Gradients笔记_第2张图片

文章评估了COMA在StarCraft unit micromanagement中的变现,使用了具有显著部分可观测性的分散变体。在这个情境下,COMA相比于其它多代理actor-critic方法显著提高了平均性能,最好的性能的代理可以和能够获得整体状态和宏动作的集中控制器的最先进方法不相上。

3.4 结论:

文章介绍了COMA算法,主要解决了在集中训练、分散决策的框架中,全局全局奖励的分配问题。文中受到difference rewards的启发,采用了根据当前代理采取的动作相比于当前代理采取默认动作对全局奖励的提高来判断代理对全局奖励的贡献大小,从而对代理的actor进行有效的更新。但直接采用difference reward的方法会带来需要大量仿真器以及默认动作选取的问题。因此本文采取了通过深度神经网络估计优势函数的方式。文中提出的优势函数与基本优势函数的计算方式进行比较,可以发现文中提出的优势函数可以看作是将现有其它代理的动作看作为环境,计算当前代理所采取的动作的一个基本的优势函数。从此思路出发,就比较容易想到文章中的第三个创新点——将其它代理的动作作为价值函数的输入,输出为所关注代理各个动作的价值,从而使优势函数的计算更具有可行性。

你可能感兴趣的:(论文阅读笔记)