Hi,论文翻译仅供参考,想了解细节还是建议阅读原文

论文链接:Actor-Attention-Critic for Multi-Agent Reinforcement Learning

引入注意力机制的Actor-Critic多智能体强化学习算法

摘要

  多智能体场景中的强化学习对于实际应用程序非常重要,但它带来的挑战超出了单智能体场景中的挑战。我们提出了一个在多智能体环境中分散训练策略的Actor-Critic算法,Critic集中计算,Critic共享同一个注意力机制,该机制在每个时间步为每个智能体选择相关信息。与最近的方法相比,注意力机制能够在复杂的多智能体环境中实现更有效和可扩展的学习。我们的方法不仅适用于具有共享奖励的合作设置,而且也适用于个体化的奖励设置,包括对抗性设置,以及不提供全局状态的设置,并且不需要对智能体的行为空间做出假设。因此,它具有足够的灵活性,可以应用于大多数多智能体学习问题。

1、介绍

  强化学习最近在许多领域取得了令人兴奋的进展,包括Atari Games、围棋和涉及运动的复杂连续控制任务。虽然大多数强化学习范式关注的是静态环境中的单个智能体(或者类似与go的情况,与自身相反),但现实世界中的智能体经常在动态变化的环境中与其他智能体竞争或合作。为了在多智能体环境中有效地学习,智能体不仅要学习其环境的动态特性,还要学习现有的其他学习智能体的动态特性。
  为此,提出了多智能体强化学习的几种方法。最简单的方法是独立地训练每一个智能体,以使其个人回报最大化,同时将其他智能体视为环境的一部分。然而这种方法违背了强化学习的基本假设,即环境应该是平稳的、具有马尔可夫特性。由于其他智能体策略的变化,任何单个智能体的环境都是动态的、非平稳的。因此,为平稳马尔可夫决策过程开发的标准算法就不适用了。
  另一个极端是,多智能体可以被建模为一个单智能体,其动作空间是所有智能体的联合动作空间。当允许跨智能体的合作行为时,这种方法是不可扩展的,因为操作空间的大小随智能体的数量的增多呈指数增长。这种方法要求在执行过程中进行高度的沟通,因为中央政策必须从各个智能体收集意见并将行动分发给各个智能体。在实际的设置中,这种需求可能是有问题的。d
  最近的研究试图结合这两种方法的优势。特别是一个Critic(或一系列Critic)通过从所有智能体那里获得的信息进行集中学习。而Actor只需从其对应的智能体接收信息。因此,在测试期间,执行策略不需要知道其他智能体的操作。这种范式回避了学习过程中非马尔可夫和非平稳环境的挑战。然而,尽管取得了这些进展,用于多智能体强化学习的算法仍然远远不能扩展(扩展到更多的智能体),也不能普遍适用于协作(共享全局奖励)、竞争或混合的环境和任务。
  我们的方法将这些先前的工作扩展到几个方向。其主要思想是学习一个具有注意力机制的集中式Critic。我们想法背后的直觉来源于这样一个事实,即在许多现实世界环境中,让智能体知道它应该注意哪些其他智能体是有益的。例如,一个足球防守队员需要注意他们附近的进攻球员以及带球的球员,而她/他很少需要注意对方的守门员。防守方所关注的特定攻击者可以根据对手的形成和策略在比赛的不同部分发生变化。一种典型的多智能体强化学习的集中式方法不考虑这些动态性,而只是考虑在所有时间点的所有的智能体。我们提出的注意力Critic能够在训练期间的每个时间点动态地选择要关注的智能体,从而在具有复杂交互的多智能体环境中提高性能。
  我们提出的方法的输入空间相对于代理数量呈线性增长,而不是之前方法的平方增长。它也适用于合作、竞争和混合环境,超出了仅关注合作环境的先前的工作。我们已经在三个模拟环境和任务中验证了我们的方法。
  论文的其余部分安排如下。在第2节中,我们将讨论相关的工作,然后在第3节中详细描述我们的方法。我们在第4节介绍实验研究,在第5节总结。

2、相关工作

3、我们的方法

  我们首先介绍方法所需的符号和基本模块。然后详细描述我们的方法。

3.1 符号和背景

  首先考虑马尔可夫博弈的框架,是马尔可夫决策过程的多智能体扩展。由一组状态 S S S, N N N个智能体的动作集 A 1 , . . . , A N A_1,...,A_N A1​,...,AN​,状态转移函数 T : S × A 1 × . . . × A N → P ( S ) T:S\times A_1\times ...\times A_N\to P(S) T:S×A1​×...×AN​→P(S)组成,给定每个智能体的当前状态和动作, T T T定义了下一状态的概率分布,每个智能体的奖励 S i S_i Si​也依赖于全局状态和所有智能体的动作, R i : S × A 1 × … × A N → R R_{i} : S \times A_{1} \times \ldots \times A_{N} \rightarrow \mathbb{R} Ri​:S×A1​×…×AN​→R。我们特别考虑智能体是部分可观察的情况, i i i收到的观察 o i o_i oi​包含全局状态的部分信息,即 s ∈ S s \in S s∈S。每个智能体学习一个策略 π i : O i → P ( A i ) \pi_{i} : O_{i} \rightarrow P\left(A_{i}\right) πi​:Oi​→P(Ai​), π i \pi _i πi​将每个智能体的观测值映射到其对应的一系列动作的分布。智能体的目标是学习一个使其期望折扣回报最大的策略,期望折扣回报为 J i ( π i ) = E a 1 ∼ π 1 , … , a N ∼ π N , s ∼ T [ ∑ t = 0 ∞ γ t r i t ( s t , a 1 t , … , a N t ) ] J_{i}\left(\pi_{i}\right)=\mathbb{E}_{a_{1} \sim \pi_{1}, \ldots, a_{N} \sim \pi_{N}, s \sim T}\left[\sum_{t=0}^{\infty} \gamma^{t} r_{i t}\left(s_{t}, a_{1 t}, \ldots, a_{N t}\right)\right] Ji​(πi​)=Ea1​∼π1​,…,aN​∼πN​,s∼T​[∑t=0∞​γtrit​(st​,a1t​,…,aNt​)],其中折扣因子 γ ∈ [ 0 , 1 ] \gamma \in[0,1] γ∈[0,1], γ \gamma γ决定了策略对直接回报与长期收获的偏好。

策略梯度

  策略梯度技术的目标是评估一个智能体的当前策略的期望回报对应的参数的梯度。利用下式评估梯度:
∇ θ J ( π θ ) = ∇ θ log ⁡ ( π θ ( a t ∣ s t ) ) ∑ t ′ = t ∞ γ t ′ − t r t ′ ( s t ′ , a t ′ ) \nabla_{\theta} J\left(\pi_{\theta}\right)=\nabla_{\theta} \log \left(\pi_{\theta}\left(a_{t} | s_{t}\right)\right) \sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r_{t^{\prime}}\left(s_{t^{\prime}}, a_{t^{\prime}}\right) ∇θ​J(πθ​)=∇θ​log(πθ​(at​∣st​))t′=t∑∞​γt′−trt′​(st′​,at′​)

Actor-Critic和Soft Actor-Critic

  策略梯度中期望回报 ∑ t ′ = t ∞ γ t ′ − t r t ′ ( s t ′ , a C t ′ ) \sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r_{t^{\prime}}\left(s_{t^{\prime}}, a_C{t^{\prime}}\right) ∑t′=t∞​γt′−trt′​(st′​,aC​t′)导致很高的方差,因为在不同的episode中回报可能剧烈变化。Actor-Critic方法的目的是利用期望回报的函数逼近来改善这一问题,并用该函数替换策略梯度估计中的原始回报项。一个Actor-Critic方法的实例是,给定状态和动作,该方法学习一个评估其折扣回报的函数,即 Q ψ ( s t , a t ) = E [ ∑ t ′ = t ∞ γ t ′ − t r t ′ ( s t ′ , a t ′ ) ] Q_{\psi}\left(s_{t}, a_{t}\right)=\mathrm{E}\left[\sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r_{t^{\prime}}\left(s_{t^{\prime}}, a_{t^{\prime}}\right)\right] Qψ​(st​,at​)=E[∑t′=t∞​γt′−trt′​(st′​,at′​)],通过离线策略的时间差分法学习,最小化损失函数:
L Q ( ψ ) = E ( s , a , r , s ′ ) ∼ D [ ( Q ψ ( s , a ) − y ) 2 ] where  y = r ( s , a ) + γ E a ′ ∼ π ( s ′ ) [ Q ψ ~ ( s ′ , a ′ ) ] \begin{aligned} \mathcal{L}_{Q}(\psi) &=\mathrm{E}_{\left(s, a, r, s^{\prime}\right) \sim D}\left[\left(Q_{\psi}(s, a)-y\right)^{2}\right] \\ \text { where } y &=r(s, a)+\gamma \mathbb{E}_{a^{\prime} \sim \pi\left(s^{\prime}\right)}\left[Q_{\tilde{\psi}}\left(s^{\prime}, a^{\prime}\right)\right] \end{aligned} LQ​(ψ) where y​=E(s,a,r,s′)∼D​[(Qψ​(s,a)−y)2]=r(s,a)+γEa′∼π(s′)​[Qψ~​​(s′,a′)]​
  其中, Q ψ ‾ Q_{\overline{\psi}} Qψ​​是目标Q值函数,是过去Q函数的指数移动平均, D D D是存储过去经验的回放缓冲区。
  为了鼓励探索和避免收敛到非最优确定性策略,最近提出的最大熵强化学习算法通过修改策略梯度函数,增加一个熵项,来学习一个soft值函数:
∇ θ J ( π θ ) = E s ∼ D , a ∼ π [ ∇ θ log ⁡ ( π θ ( a ∣ s ) ) ( − α log ⁡ ( π θ ( a ∣ s ) ) ) + Q w ( s , a ) − b ( s ) ] \begin{array}{c}{\nabla_{\theta} J\left(\pi_{\theta}\right)=} {\mathbf{E}_{s \sim D, a \sim \pi}\left[\nabla_{\theta} \log \left(\pi_{\theta}(a | s)\right)\left(-\alpha \log \left(\pi_{\theta}(a | s)\right)\right)+\right.} {\left.Q_{w}(s, a)-b(s)\right]}\end{array} ∇θ​J(πθ​)=Es∼D,a∼π​[∇θ​log(πθ​(a∣s))(−αlog(πθ​(a∣s)))+Qw​(s,a)−b(s)]​
  其中, b ( s ) b(s) b(s)是与当前状态相关的基线。值函数的时间差分损失函数也进行了相应的修改:
y = r ( s , a ) + γ E a ′ ∼ π ( s ′ ) [ Q ψ ‾ ( s ′ , a ′ ) − α log ⁡ ( π θ ‾ ( a ′ ∣ s ′ ) ) ] \begin{aligned} y=r(s, a)+\gamma \mathbb{E}_{a^{\prime} \sim \pi\left(s^{\prime}\right)} &\left[Q_{\overline{\psi}}\left(s^{\prime}, a^{\prime}\right)-\alpha \log \left(\pi_{\overline{\theta}}\left(a^{\prime} | s^{\prime}\right)\right)\right] \end{aligned} y=r(s,a)+γEa′∼π(s′)​​[Qψ​​(s′,a′)−αlog(πθ​(a′∣s′))]​
  虽然可以使用值函数的估计值 V ϕ ( s ) V_{\phi}(s) Vϕ​(s)可以作为基线,但是我们使用了另一种方法,可以进一步减小方差,并且可以处理多智能体的信用分配问题,具体在第3.2节介绍。

3.2 MAAC算法

  我们的多智能体学习方法的主要思想是通过选择性地关注来自其他智能体的信息来学习每个智能体的Critic。这与集中培训Critic(以克服非平稳非马尔可夫环境的挑战)和分散执行学习策略的模式相同。图1说明了我们方法的主要组成部分。

图解:利用注意力机制为每个智能体计算 Q i ψ ( o , a ) Q_{i}^{\psi}(o, a) Qiψ​(o,a)。每个智能体将其观察值和动作进行编码,发送给中央注意力网络,获得一个关于其他智能体的权重求和编码(经过矩阵 V V V转换)。

注意力机制

  注意机制的作用方式类似于可微的键-值记忆模型。直观地说,每个智能体都向其他智能体查询有关其观察和操作的信息,并将这些信息合并到其值函数的估计中。与其他基于注意力的方法相比,这种方法没有对输入的时间或空间位置做出任何假设,与自然语言处理和计算机视觉领域中的方法相反。
  为了计算智能体 i i i的Q值函数 Q i ψ ( o , a ) Q_{i}^{\psi}(o, a) Qiψ​(o,a),Critic需要接收观察值 o = ( o 1 , … , o N ) , i ∈ { 1 … N } o=\left(o_{1}, \dots, o_{N}\right),i \in\{1 \ldots N\} o=(o1​,…,oN​),i∈{1…N}。我们利用 \ i \backslash i \i代表除了智能体 i i i以外的所有智能体,并且该集合的索引为 j j j。 Q i ψ ( o , a ) Q_{i}^{\psi}(o, a) Qiψ​(o,a)为关于智能体 i i i的观察值和动作以及其他智能体的贡献的函数:
Q i ψ ( o , a ) = f i ( g i ( o i , a i ) , x i ) Q_{i}^{\psi}(o, a)=f_{i}\left(g_{i}\left(o_{i}, a_{i}\right), x_{i}\right) Qiψ​(o,a)=fi​(gi​(oi​,ai​),xi​)
  其中, f i f_i fi​是一个两层的多层感知器(MLP), g i g_i gi​是用一层感知机的嵌入式函数。其他智能体的共享 x i x_i xi​是每个智能体的值的权重和:
x i = ∑ j ≠ i α j v j = ∑ j ≠ i α j h ( V g j ( o j , a j ) ) x_{i}=\sum_{j \neq i} \alpha_{j} v_{j}=\sum_{j \neq i} \alpha_{j} h\left(V g_{j}\left(o_{j}, a_{j}\right)\right) xi​=j​=i∑​αj​vj​=j​=i∑​αj​h(Vgj​(oj​,aj​))
  其中,值 v j v_j vj​是关于智能体 j j j的嵌入式的函数,通过一个嵌入式函数和一个共享矩阵 V V V变换进行编码。 h h h是一个非线性元素(我们使用了leaky ReLU)。
  注意力权重 α j \alpha _j αj​使用 e i = g i ( o i , a i ) e_{i}=g_{i}\left(o_{i}, a_{i}\right) ei​=gi​(oi​,ai​)比较嵌入式 e j e_j ej​, g i g_i gi​是双线性映射(即查询值-键值系统),并且将两个嵌入式之间的相似度传入softmax:
α j ∝ exp ⁡ ( e j T W k T W q e i ) \alpha_{j} \propto \exp \left(e_{j}^{\mathrm{T}} W_{k}^{\mathrm{T}} W_{q} e_{i}\right) αj​∝exp(ejT​WkT​Wq​ei​)
其中, W q W_q Wq​将 e i e_i ei​转化为“查询值”, W k W_k Wk​将 e j e_j ej​转化为“键值”。然后根据这两个矩阵的二维性来缩放匹配,以防止梯度消失。
  在我们的实验中,我们使用了多个注意头。在这种情况下,每个头使用一组单独的参数( W k 、 W q 、 V W_k、W_q、V Wk​、Wq​、V)产生所有其他智能体对智能体 i i i的聚合贡献,我们将所有头部的贡献连接为一个向量。重要的是,每个头可以专注于不同的加权混合。
  值得注意的是,用于提取选择器、键和值的权重在所有智能体之间共享,这鼓励使用公共的嵌入空间。即使在对抗环境下,也可以在智能体之间共享关键参数,因为多智能体的价值函数近似是一个多任务回归问题。参数共享允许我们的方法在对单个智能体的奖励不同但具有共同特征的环境中有效学习。这种方法可以很容易地扩展到包括额外的信息,除了局部观察和动作,在训练时间,包括全局状态,如果它是可用的,只需添加额外的编码器 e e e(我们不考虑这种情况在我们的实验中,但是,因为我们的方法能够有效地结合局部的观察结果,预测在不可获取全局状况的环境中的预期收益)。

利用带有注意力机制的Critic进行学习

  由于参数共享,所有Critic一起更新以最小化联合回归损失函数:
L Q ( ψ ) = ∑ i = 1 N E ( o , a , r , o ′ ) ∼ D [ ( Q i ψ ( o , a ) − y i ) 2 ] , where y i = r i + γ E a ′ ∼ π θ ~ ( o ′ ) [ Q i ψ ‾ ( o ′ , a ′ ) − α log ⁡ ( π θ ‾ i ( a i ′ ∣ o i ′ ) ) ] \begin{aligned} \mathcal{L}_{Q}(\psi)=& \sum_{i=1}^{N} \mathrm{E}_{\left(o, a, r, o^{\prime}\right) \sim D}\left[\left(Q_{i}^{\psi}(o, a)-y_{i}\right)^{2}\right], \\ \text {where}y_{i}=&r_{i}+\gamma \mathbb{E}_{a^{\prime} \sim \pi_{\tilde{\theta}}\left(o^{\prime}\right)}\left[Q_{i}^{\overline{\psi}}\left(o^{\prime}, a^{\prime}\right)-\alpha \log \left(\pi_{\overline{\theta}_{i}}\left(a_{i}^{\prime} | o_{i}^{\prime}\right)\right)\right] \end{aligned} LQ​(ψ)=whereyi​=​i=1∑N​E(o,a,r,o′)∼D​[(Qiψ​(o,a)−yi​)2],ri​+γEa′∼πθ~​(o′)​[Qiψ​​(o′,a′)−αlog(πθi​​(ai′​∣oi′​))]​
其中, ψ ‾ \overline{\psi} ψ​和 θ ‾ \overline{\theta} θ分别是critic的目标网络和policy的目标网络。注意智能体 i i i的动作-值函数的估计 Q i ψ Q_{i}^{\psi} Qiψ​接收所有智能体的观察值和动作信息, α \alpha α是用来决定最大熵和回报值之间平衡的温度参数。个体策略利用梯度上升法进行更新:
∇ θ i J ( π θ ) = E o ∼ D , a ∼ π [ ∇ θ i log ⁡ ( π θ i ( a i ∣ o i ) ) ( − α log ⁡ ( π θ i ( a i ∣ o i ) ) + Q i ψ ( o , a ) − b ( o , a \ i ) ) ] \begin{aligned} \nabla_{\theta_{i}} J(\pi_{\theta})=&\mathbb{E}_{o \sim D, a \sim \pi}\left[\nabla_{\theta_{i}} \log \left(\pi_{\theta_{i}}\left(a_{i} | o_{i}\right)\right)(-\alpha \log \left(\pi_{\theta_{i}}\left(a_{i} | o_{i}\right))+\right.\left.Q_{i}^{\psi}(o, a)-b(o, a_{\backslash i})\right)\right] \end{aligned} ∇θi​​J(πθ​)=​Eo∼D,a∼π​[∇θi​​log(πθi​​(ai​∣oi​))(−αlog(πθi​​(ai​∣oi​))+Qiψ​(o,a)−b(o,a\i​))]​
其中, b ( o , a \ i ) b(o,a_{\backslash i}) b(o,a\i​)是多智能体基线,用于计算下一节要介绍的优势函数。注意,我们从所有智能体的当前策略的所有动作 a a a中进行采样,以便计算智能体 i i i的梯度估计,这与MADDPG算法不同,MADDPG算法从回放缓冲区中对其他智能体的动作进行采样,这可能会导致智能体无法根据当前的政策进行泛化。在补充材料中可以找到完整的训练细节和超参数。

多智能体优势函数

  如Foerster等人的工作所示,利用一个仅将指定智能体的行为边缘化的基线的优势函数,可以帮助解决多智能体的信用分配问题。换言之,在所有其他智能体动作固定的情况下,通过将特定动作的值与指定智能体的平均动作的值进行比较,我们可以了解特定动作将如何导致期望回报的增加,或奖励的增加是否归因于其他智能体的动作。这个优势函数的形式如下所示:
A i ( o , a ) = Q i ψ ( o , a ) − b ( o , a \ i ) ) , where  b ( o , a \ i ) = E a i ∼ π i ( o i ) [ Q i ψ ( o , ( a i , a \ i ) ) ] \begin{aligned} A_{i}(o, a) &\left.=Q_{i}^{\psi}(o, a)-b\left(o, a_{\backslash i}\right)\right), \\ \text { where } b\left(o, a_{\backslash i}\right) &=\mathbf{E}_{a_{i} \sim \pi_{i}\left(o_{i}\right)}\left[Q_{i}^{\psi}\left(o,\left(a_{i}, a_{\backslash i}\right)\right)\right] \end{aligned} Ai​(o,a) where b(o,a\i​)​=Qiψ​(o,a)−b(o,a\i​)),=Eai​∼πi​(oi​)​[Qiψ​(o,(ai​,a\i​))]​
  用我们的注意力机制,我们可以实现一个更通用和灵活的多智能体基线的形式,不同于Foester等人提出的优势函数,在我们的Q函数中,不需为每个智能体假设相同的动作空间,不需要全局奖励,并且可以动态地关注其智能体。在我们的注意力模型中,通过简单的自然分解的智能体编码 e i e_i ei​和其他智能体编码加权和 x i x_i xi​实现。
  具体地说,在离散策略的情况下,我们可以通过前馈网络
输出智能体可以采取的每一个可能动作 a i ∈ A i a_i \in A_i ai​∈Ai​的期望回报 Q i ( o , ( a i , a i ) ) Q_{i}\left(o,\left(a_{i}, a_{i}\right)\right) Qi​(o,(ai​,ai​))来计算基线。然后我们可以精确地计算期望值:
E a i ∼ π i ( o i ) [ Q i ψ ( o , ( a i , a \ i ) ) ] = ∑ a i ′ ∈ A i π ( a i ′ ∣ o i ) Q i ( o , ( a i ′ , a i ) ) \begin{array}{c}{\mathbf{E}_{a_{i} \sim \pi_{i}\left(o_{i}\right)}\left[Q_{i}^{\psi}\left(o,\left(a_{i}, a_{\backslash i}\right)\right)\right]=\sum_{a_{i}^{\prime} \in A_{i}} \pi\left(a_{i}^{\prime} | o_{i}\right) Q_{i}\left(o,\left(a_{i}^{\prime}, a_{i}\right)\right)}\end{array} Eai​∼πi​(oi​)​[Qiψ​(o,(ai​,a\i​))]=∑ai′​∈Ai​​π(ai′​∣oi​)Qi​(o,(ai′​,ai​))​
  要做到这一点,我们必须从 Q i Q_i Qi​的输入中移除 a i a_i ai​,并且为每个可能动作输出一个值。我们为每个智能体增加了一个观察值编码器 e i = g i o ( o i ) e_i=g_i^o(o_i) ei​=gio​(oi​),替代上述所说的 e i = g i o ( o i , a i ) e_i=g_i^o(o_i,a_i) ei​=gio​(oi​,ai​),并且修改 f i f_i fi​使其可以为每个可能的动作输出值,而不是仅输出单个动作的值。在连续策略的情况下,我们可以通过从智能体 i i i的策略采样,或者通过学习一个仅以其他智能体的动作作为输入的单独值头(value head)来估计上述期望。

4、试验

4.1 设置

  我们构建了两个环境来测试我们的方法(MAAC)和基线的性能。我们主要从两个方向进行调查。首先,我们研究随着智能体数量的增长,不同方法的可扩展性。我们假设,为集中式Critic将目前将所有智能体的观察(通常用作智能体之间共享的全局状态)和操作连接起来的方法并不能很好地扩展。为此,我们实现一个合作的环境,Cooperative Treasure Collection,通过部分共享回报,我们可以改变智能体的总数,而不显著改变任务的难度。因此,我们可以评估我们方法的规模能力。第4.3节的实验结果证实了我们的说法。
  其次,我们要评估每个方法与奖励相关的信息,特别是在一个episode中相关(奖励)可以动态地改变的情况。这个场景类似于现实生活中的任务,比如前面介绍的足球示例。为此,我们建立了一个Rover-Tover任务环境,在这个环境中,随机配对的代理可以交流信息并进行协调。
  最后,对Lowe等人提出的协同导航任务进行了测试,证明我们的方法在多代理任务上的一般有效性。
  所有环境都在Mordatch&Abbeel引入的多智能体环境框架中实现,并由Lowe等人扩展。我们发现这个框架有助于创造环境,在智能体之间进行复杂的交互,同时保持简单的控制和感知问题,因为我们对解决智能体交互非常感兴趣。为了进一步简化控制问题,我们使用离散的动作空间,允许智能体向上、向下、向左、向右或停留;但是由于任务框架包含了一个基本的物理引擎,其中考虑了智能体的动量,所以智能体可能不会立即准确地朝指定的方向移动,图2说明了我们介绍的两种环境。

Cooperative Treasure Collection

  a)中的合作环境包括8个智能体,其中6个是“猎人”,2个是“银行”,每个智能体对应不同颜色的宝藏。猎人的任务是收集任何颜色的宝藏,这些宝藏在被收集时随机重新生成(总共有6个),然后将宝藏“存入”正确分类的“银行”。每家银行的职责就是从猎人那里收集尽可能多的宝藏。所有智能体都能看到对方相对于自己的状态。猎人成功收集宝藏会获得全局奖励,而所有的智能体都会因存放宝藏而获得全局奖励。猎人因互相碰撞而受到额外惩罚。因此,任务混合了共享和个人奖励,需要不同的“注意力模式”,这取决于智能体的状态和其他智能体影响其回报的可能性。

Rover-Tower

  b)中的环境包括8个智能体,其中4个是“漫游者”,另4个是“塔”。在每个episode中,漫游者和塔随机配对。两者因漫游者距离目标的距离而负回报。这项任务可以被认为是一个在基础设施有限、能见度低的外星行星上的导航任务。漫游者无法在他们的视野中看到目标,必须依靠来自塔楼的通信,它们能够定位流浪者以及他们的国家,并且可以向他们的配对漫游者发送五个离散的通信信息中的一个。请注意,通信受到高度限制,不同于集中式策略方案(Jiang&Lu,2018),后者允许在策略之间自由传输连续信息。在我们的设置中,通信被集成到环境中(在塔的行动空间和漫游者的观察空间),而不是模型的一部分,并且仅限于几个离散的信号。

4.2 基线

  我们比较了最近提出的两种分散策略集中训练方法:MADDPG和COMA,以及为每个智能体分别训练的单代理强化学习方法DDPG。
  由于ddpg和maddpg都需要可微策略,而离散策略的标准参数化是不可微的,所以我们使用Gumbel-softmax重新参数化技巧。我们将这些修改版本称为MADDPG(离散)和DDPG(离散)。有关此重新参数化的详细说明,请参阅补充材料。我们的方法使用Soft Actor-Critic来优化。因此,为了公平比较,我们还与Soft Actor-Critic一起实现了MADDPG和COMA,称为MADDPG+SAC和COMA+SAC。
  我们还将模型的简化版本(ablated version)视为我们方法的变体。在这个模型中,我们通过固定注意力权重 α j \alpha _j αj​,将 α j ∝ exp ⁡ ( e j T W k T W q e i ) \alpha_{j} \propto \exp \left(e_{j}^{\mathrm{T}} W_{k}^{\mathrm{T}} W_{q} e_{i}\right) αj​∝exp(ejT​WkT​Wq​ei​)设置为 α j = 1 / ( N − 1 ) \alpha _j = 1/(N-1) αj​=1/(N−1),使用一致注意这个限制,阻止了模型将注意力集中在特定的智能体上。
  所有方法的实现中使得它们的近似参数的总数(跨代理)等于我们的方法,并且每个模型都由6个随机种子训练。每个底层算法的超参数都是根据性能进行调整的,并在该算法的所有关键体系结构变体中保持不变。表1总结了所有基线的全面比较。

(表头:表头中How to incorporate other agents代表如何融合其他智能体的信息,MADDPG将所有信息连接在一起,COMA获取一个全局状态(当全局状态不可用时则包含所有观察结果);Number of Critics表示用于预测所有 N N N个智能体的 Q i Q_i Qi​所需的独立网络数;Multi-task Learning of Critics则表示所有智能体的 Q i Q_i Qi​的估计值在中间层是否共享信息,是否有益于多智能体学习)

4.3 结果和分析

  图3显示了在我们设计的两个环境中,通过各种方法在一定episode后获得的平均奖励,表2显示了与其他方法相比的合作导航的结果。我们提出的方法(MAAC)具有竞争力。我们在下面详细分析。

(图解:左图是在Cooperative Treasure Collection(CTC)的情况下的平均回报,右图是在Rover-Tower的情况下。)

(表头:在合作导航(CN)情况下,各个方法的平均回报。)

回报和所需注意力的影响

  在合作宝藏(CTC)和合作导航(CN)环境中,我们的方法具有竞争力,但在Rover-Tower中则没有。另一方面,MADDPG(离散)和MADDPG+SAC在Rover-Tower上都很好,但它们在CTC上表现一般。两种COMA在CTC和Rover-Tower中的表现都不好,尽管COMA+SAC在CN中的表现相当不错。DDPG,可以说是一个较弱的基线,在CTC中表现出奇的好,但在Rover-Tower做得很差。
  在CTC和CN中,奖励是智能体之间共享的,因此智能体的Critic不需要关注特定智能体的信息来计算其预期奖励。此外,每个智能体的局部观察提供了足够的信息,可以对其预期的回报做出合理的预测。这也许可以解释为什么MAAC(Uniform,平等对待其他智能体),DDPG(不知道其他智能体信息)的表现超出预期。
  另一方面,在Rover-Tower环境中,特定智能体的奖励与另一个智能体的观察值联系在一起。这个环境举例说明了一类场景,在这些场景中,动态注意力可能是有益的:智能体的子组交互并以单独的奖励执行协调的任务时,子组不会保持固定。这解释了为什么MAAC(Uniform)表现不佳,DDPG完全崩溃,因为从另一个特定的智能体了解信息对于预测预期回报至关重要。
  COMA使用一个单一的集中式网络利用独立的前传网络来预测所有智能体的 Q Q Q值。因此,这种方法可能在具有全局回报和动作空间相似的智能体(如合作导航)的环境中表现最佳,在这种环境中,我们看到COMA+SAC表现良好。另一方面,我们介绍的环境包含具有不同角色的代理(对于Rover-Tower包含非全局奖励),则这两种COMA的变体表现都不太好。
  MADDPG(以及它的SAC变体)在Rover-Tower上表现良好;但是,我们怀疑在CTC中的低性能是由于这个环境对于所有智能体而言,观察空间都比较大,因为MADDPG的Critic是将所有智能体的观察连接到每个智能体的Critic的单个输入向量中。我们接下来的实验证实了这个假设。

可扩展性


  在表3中,我们比较了我们的方法获得的平均奖励和CTC任务的下一个表现最好的基线(MADDPG+SAC)(根据在环境中获得的奖励范围进行标准化,因为不同的智能体数量改变了在该环境中的奖励性质)。我们的研究表明,与MADDPG+SAC相比,我们的方法的改进程度随着智能体数量的增加而增加。
  正如之前所怀疑的,MADDPG的Critic使用所有的信息都是非选择性的,而我们的方法可以通过注意机制了解哪些智能体需要更多的注意,并将这些信息压缩成一个恒定大小的向量。因此,当智能体数量增加时,我们的方法的扩展性更好。在未来的研究中,我们将继续通过在智能体之间共享策略和注意力机制(智能体的子组)来提高智能体数量进一步增加时的可扩展性。

  在图4中,我们比较了Rover-Tower场景中每个episode获得的平均奖励。我们可以在这项任务中直接比较奖励,因为无论有多少其他智能体在场,每个Rover-Tower对都可以获得相同的奖励规模。尽管MADDPG在8个智能体的场景中表现良好(如图3所示),但我们发现这种性能无法扩展。同时,MAAC的性能并没有因为智能体数量增加而恶化。
  作为未来的发展方向,我们正在创造更为复杂的环境,每个智能体都需要处理大量需要选择性注意的智能体。这自然模拟了现实生活中的场景,即多个智能体组织在集群/子社会(学校、工作、家庭等)中,智能体需要与来自多个组的少量代理交互。我们预计,在这样复杂的场景中,我们的方法,结合其他方法所显示的一些优点,将表现良好。

注意力可视化


  为了检查注意力机制是如何在更精细的层次上工作的,我们可视化了Rover-Tower(图5)中其中一个漫游者的注意力权重,同时固定了与漫游者配对的塔。在这个图中,为了简单起见,我们忽略了其他漫游者的权重,因为它们总是接近于零。我们发现,在没有任何明确的监督信号下,漫游者学会了强烈关注与之配对的塔。该模型隐式地学习哪个代理与估计漫游者的预期未来收益最相关,并且所述代理可以动态地改变而不影响算法的性能。

5、总结

  我们提出了一个在多智能体环境下训练分散策略的算法。其核心思想是利用注意力来选择相关信息来用于Critic的评价。我们分析了所提出的方法在代理数量、不同奖励配置和相关观察信息跨度方面的性能。经验结果是有希望的,我们打算扩展到高度复杂和动态的环境。

[论文翻译]Actor-Attention-Critic for Multi-Agent Reinforcement Learning相关推荐

  1. 【论文翻译】Distort-and-Recover: Color Enhancement using Deep Reinforcement Learning

    ABSTRACT: 本文提出--人类修图是按照步骤逐渐进行的序列,于是用MDP建模,训练agent得到一个最优的动作序列.此外,我们提出了一种"失真-复原"训练方案,只需要高质量图 ...

  2. 论文翻译-Scene Text Detection and Recognition: The Deep Learning Era

    论文翻译-Scene Text Detection and Recognition: The Deep Learning Era 原文地址:https://arxiv.org/pdf/1811.042 ...

  3. 图像分类经典卷积神经网络—ResNet论文翻译(中英文对照版)—Deep Residual Learning for Image Recognition(深度残差学习的图像识别)

    图像分类经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为中英文对照版,纯中文版请稳步:[ResNet纯中文版] Deep Residual Learning for Image ...

  4. 【论文阅读】Search-Based Testing Approach for Deep Reinforcement Learning Agents

    文章目录 一.论文信息 二.论文结构 三.论文内容 Abstract 摘要 一.论文信息 题目: Search-Based Testing Approach for DeepReinforcement ...

  5. 论文笔记之:Playing Atari with Deep Reinforcement Learning

    Playing Atari with Deep Reinforcement Learning <Computer Science>, 2013 Abstract: 本文提出了一种深度学习方 ...

  6. 论文翻译:2020_RNNoise:A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech Enhancement...

    网上已经有很多人翻译了,但我做这工作只是想让自己印象更深刻 文章方向:语音增强 论文地址:基于DSP/深度学习的实时全频带语音增强方法 博客地址:https://www.cnblogs.com/LXP ...

  7. 【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey

    论文链接:Deep Learning for 3D Point Clouds: A Survey 文章目录 摘要 1. 介绍 2. 三维形状分类 2.1 基于投影的网络 2.1.1 多视图表示 2.1 ...

  8. 强化学习泛化性 综述论文阅读 A SURVEY OF GENERALISATION IN DEEP REINFORCEMENT LEARNING

    强化学习泛化性 综述论文阅读 摘要 一.介绍 二.相关工作:强化学习子领域的survey 三.强化学习中的泛化的形式 3.1 监督学习中泛化性 3.2 强化学习泛化性背景 3.3 上下文马尔可夫决策过 ...

  9. Improving Sample Efficiency In Model-Free Reinforcement Learning From Images 论文翻译

    文章目录 论文原文链接 摘要 INTRODUCTION 相关工作 背景 剖析利用β\betaβ-变分自编码器进行状态表示学习的方法 实验环境设置 没有辅助任务的model-free off-polic ...

  10. 论文笔记:Attention U-Net: Learning Where to Look for the Pancreas

    Abstract 我们提出了一种用于医学成像的新型注意门(AG)模型,该模型自动学习聚焦于不同形状和大小的目标结构.用AG训练的模型隐 含地学习抑制输入图像中的不相关区域,同时突出显示对特定任务有用的 ...

最新文章

  1. Java项目:在线高中考试系统(java+SSM+Jsp+Mysql+Maven)
  2. Windows Mobile 6.0 SDK和中文模拟器下载
  3. 什么是 Ethernet Switch
  4. C++知识点19——使用C++标准库(再谈string——string的初始化、赋值、添加、删除、访问)
  5. DataGridView控件60招(一)
  6. foreach循环怎么获取全部返回值_jmeter基础逻辑控制器之ForEach控制器
  7. 现在很多技术知识点缺乏来龙去脉的介绍
  8. 多线程的基本概念 (什么是cpu)
  9. 如何调用DLL (基于Visual C++6.0的DLL编程实现)
  10. LiveVideoStackCon 2020北京站-售票通道关闭倒计时2天
  11. Zookeeper--Watcher机制源码剖析一
  12. linkedblockingqueue使用_学会java这几个线程池的使用,会使得你的程序效率提升十倍...
  13. c语言mooc第五周作业,中国大学MOOC 浙江大学《程序设计入门——C语言》第5周:循环控制 测验与作业...
  14. JSON Viewer丨Json格式查看器
  15. 挂机平台android,红手指手游挂机平台
  16. Spring Boot中使用JUnit5进行单元测试
  17. 苹果系统备份文件服务器地址,iphone备份文件在哪 iphone备份文件位置介绍
  18. JSP汽车故障诊断系统myeclipse开发mysql数据库web结构java编程
  19. 在Firefox安装selenium
  20. pytorch搭建Resnet50实现狗狗120个品种类的分类

热门文章

  1. CAD梦想画图中的“重画、绘图模式”
  2. 微分中值定理—柯西中值定理
  3. uni-app弹窗 小程序弹窗
  4. 【bzoj 3309】 DZY Loves Math
  5. 优酷大剧全链路技术保障探索和实践
  6. java可以搞图像,java图像浏览器
  7. 视频教程-micropython基础入门(esp32/esp8266单片机开发)-物联网技术
  8. pcb钻孔披锋改善报告_一种改善PCB板沉铜半孔披锋的钻孔系统及方法与流程
  9. 7-2 sdut-打印PYTHON关键字
  10. WF4.0 基础篇 (十四) Delay 与WF4中的线程