多代理强化学习任务的解决方案存在完全集中,和独立学习两种方案。将二者结合,得到了集中学习、分散决策的值分解网络,并利用已有技术如DQN架构、目标网络、经验回放、Dueling网络以及面向部分可观测环境下采用的RNN网络,设计出值分解网络架构。并利用已有的训练方法——BPTT进行训练。在此基础上增加权值共享、代理间通信以及角色信息进一步提高的模型性能。
文中只测试了在两个代理环境下的数据,当代理数量增加后,各个代理接收到的联合奖励信息大部分来自其它代理,这使问题会变得更加复杂,并且代理数量增多后集中学习也不容易实现。
We study the problem of cooperative multi-agent reinforcement learning with a single joint reward signal. This class of learning problems is difficult because of the often large combined action and observation spaces. In the fully centralized and decentralized approaches, we find the problem of spurious rewards and a phenomenon we call the “lazy agent” problem, which arises due to partial observability. We address these problems by training individual agents with a novel value decomposition network architecture, which learns to decompose the team value function into agent-wise value functions. We perform an experimental evaluation across a range of partially-observable multi-agent domains and show that learning such value-decompositions leads to superior results, in particular when combined with weight sharing, role information and information channels.
我们研究了在单一联合奖励信号下的协作多代理强化学习问题。这类学习问题很困难,因为组合的动作和观测空间通常很大。在完全集中和分散的方法中,我们发现了虚假奖励的问题和一种现象,我们称之为“懒惰代理”问题,它是由部分可观测性引起的。我们通过一个新的价值分解网络架构来训练个体代理来解决这些问题,该架构学会了将团队价值函数分解成代理的价值函数。我们在一系列部分可观察的多代理领域中进行了实验评估,结果表明,学习这种价值分解可以得到更好的结果,特别是在与权重共享、角色信息和信息通道相结合的情况下。
在协作多代理强化学习中,多个学习代理联合最优化一个团队奖励。团队奖励随时间积累。每个代理能够获得它本地的观测并能够根据观测从代理各自的动作集中选择相应的动作。这通常被用到自动驾驶汽车和交通系统中的交通信号控制上,或者用于优化包含多个单元相交互场景的工厂的产能。并且,随着AI代理变得越来越普遍,代理之间需要学习协作行为来实现共同的目标。
虽然协作中每个代理都需要本地的自动化,但是还是可以把协作多代理强化学习通过集中方式解决,从而将协作多代理强化学习简化为了一个在一个多个代理观测空间和动作空间串联生成的新的观测空间和动作空间上的单代理强化学习。但这样的效果并不好,因为会存在多个代理中仅有一个代理达到最优化其它代理“懒惰”的问题,因为在一个代理学习到一个有效的策略后,第二个代理就不再被鼓励进行探索和学习,因为这会对第一个代理带来干扰并导致出现不好的团队奖励。
还有一种方法是训练独立的学习器,从而优化团队奖励。但这也存在问题:
因为无法解释代理观测到的奖励信号的问题,单纯的独立强化学习通常效果不好。例如Claus和Boutilier (1998)展示了独立的Q学习器无法将队友的探索与环境中的随机性区分开来。
提高独立学习器表现的一种方法是设计单独的奖励函数,与代理各自的观测更直接相关。然而即使在单代理环境下,奖励的shaping也是困难的,只有很少一类塑造奖励函数能够保证在相应目标上达到最优。而在这篇论文中提出了更普遍的自动化解决方案——学习分解的奖励函数。
文中介绍了一种新的在单代理上的learned additive value-decomposition方法。价值分解网络的目标是通过表示各个代理的价值函数的深度神经网络反向传播整体Q的梯度,从团队奖励信号中学习最优的线性价值分解。**这种累计值分解的方法能够避免在纯独立学习中的虚假奖励的问题。**各代理学习的隐式值函数只依赖于局部观测,学习起来比较容易。我们的解决方案还改善了Claus和Boutilier(1998)强调的自主学习的协调问题,因为它在训练时有效地集中学习,而代理可以单独部署。
此外,文中还评估了权值共享、角色信息和信息通道,作为这个方法的加强,这些附加方法能够改善样本复杂度和内存需求。
文中比较了各个代理的价值分解架构、独立学习器的架构和集中方式的架构。在双玩家的协调领域中进行了基准测试,发现与集中化或完全独立的学习器相比,价值分解是一种更好的执行方法,并且当与其他技术相结合时,会产生一种始终比集中化和独立的学习器表现更好的代理。
相关工作
此前已经有通过优化各个独立的代理的Q函数获得奖励,并将独立的奖励累加得到全局奖励,再通过贪婪的策略根据全局奖励选择动作决策的算法。这篇文章的算法是只利用一个全局的奖励,并从经验中学习到价值分解。
还有基于不同奖励的方式解决这个问题的方法,评估代理动作对系统奖励的影响。易学习,但需要系统状态信息,这是不实际的。
多代理强化学习问题——局部可观测马尔科夫决策过程。
Dec-POMDP问题的描述:
A fully cooperative multi-agent task can be described as a Dec-POMDP (Oliehoek & Amato, 2016) consisting of a tuple G = < S , U , P , r , Z , O , n , γ > . s ∈ S G = . s ∈ S G=<S,U,P,r,Z,O,n,γ>.s∈S describes the true state of the environment. At each time step, each agent a ∈ A ≡ { 1 , … , n } a \in A \equiv\{1, \ldots, n\} a∈A≡{1,…,n} chooses an action u a ∈ U , u^{a} \in U, ua∈U, forming a joint action u ∈ U ≡ U n . \mathbf{u} \in \mathbf{U} \equiv U^{n} . u∈U≡Un. This causes a transition on the environment according to the state transition function P ( s ′ ∣ s , u ) : S × U × S → [ 0 , 1 ] . P\left(s^{\prime} | s, \mathbf{u}\right): S \times \mathbf{U} \times S \rightarrow[0,1] . P(s′∣s,u):S×U×S→[0,1]. All agents share the same reward function r ( s , u ) : S × U → R r(s, \mathbf{u}): S \times \mathbf{U} \rightarrow \mathbb{R} r(s,u):S×U→R and γ ∈ [ 0 , 1 ) , \gamma \in[0,1), γ∈[0,1), where the γ \gamma γ is a discount factor.
We consider a partially observable scenario in which each agent draws individual observations z ∈ Z z \in Z z∈Z according to observation function O ( s , a ) : S × A → Z . O(s, a): S \times A \rightarrow Z . O(s,a):S×A→Z. Each agent has an action-observation history τ a ∈ T ≡ ( Z × U ) ∗ , \tau^{a} \in T \equiv(Z \times U)^{*}, τa∈T≡(Z×U)∗, on which it conditions a stochastic policy π a ( u a ∣ τ a ) : T × U → [ 0 , 1 ] \pi^{a}\left(u^{a} | \tau^{a}\right): T \times U \rightarrow[0,1] πa(ua∣τa):T×U→[0,1].
The optimisation objective is to maximise the discounted return: R t = ∑ l = 0 ∞ γ i r t + l . R_{t}=\sum_{l=0}^{\infty} \gamma^{i} r_{t+l} . Rt=∑l=0∞γirt+l. The joint policy π \pi π produces a joint action-value function:
Q π ( s t , u t ) = E s t + 1 : ∞ , u t + 1 ; ∞ [ R t ∣ s t , u t ] Q^{\pi}\left(s_{t}, \mathbf{u}_{t}\right)=\mathbb{E}_{s_{t+1: \infty, \mathbf{u}_{t+1 ; \infty}}}\left[R_{t} | s_{t}, \mathbf{u}_{t}\right] Qπ(st,ut)=Est+1:∞,ut+1;∞[Rt∣st,ut]
本文最后的目标策略形式为:
If we denote h ˉ : = ( h 1 , h 2 , … , h d ) \bar{h}:=\left(h^{1}, h^{2}, \ldots, h^{d}\right) hˉ:=(h1,h2,…,hd) a tuple of agent histories, a joint policy is in general a map π : H d → P ( A d ) ; \pi: \mathcal{H}^{d} \rightarrow \mathcal{P}\left(\mathcal{A}^{d}\right) ; π:Hd→P(Ad); we in particular consider policies where for any history h ˉ , \bar{h}, hˉ, the distribution π ( h ˉ ) \pi(\bar{h}) π(hˉ) has independent components in P ( A ) \mathcal{P}(\mathcal{A}) P(A). Hence, we write π : H d → P ( A ) d \pi: \mathcal{H}^{d} \rightarrow \mathcal{P}(\mathcal{A})^{d} π:Hd→P(A)d. The exception is when we use the most naive centralized agent with a combinatorial action space, aka joint action learners.
本文方法中的价值函数的深度网络结构与DQN的网络架构相似,并使用了目标网络和经验回放技术,进行随机梯度更新。因为是部分可观测网络,所以Q函数建立在观测历史记录之上,因此采用了循环神经网络。为了提高训练速度,采用了Dueling结构,将Q值表示为状态价值和又是函数之和,使用固定步数的前向视角的eligibility trace的多步更新。在训练代理时,循环神经网络通过截断的时间反向传播(BPTT),步数与上述固定步数相同。文中的技术还可以应用到策略梯度方法中,如A3C算法。
文中假设系统的联合价值函数能够被分解为各个代理价值函数 Q ~ i \tilde{Q}_{i} Q~i的累加。各个代理的价值函数 Q ~ i \tilde{Q}_{i} Q~i的值依赖于本地观测。
Q ( ( h 1 , h 2 , … , h d ) , ( a 1 , a 2 , … , a d ) ) ≈ ∑ i = 1 d Q ~ i ( h i , a i ) Q\left(\left(h^{1}, h^{2}, \ldots, h^{d}\right),\left(a^{1}, a^{2}, \ldots, a^{d}\right)\right) \approx \sum_{i=1}^{d} \tilde{Q}_{i}\left(h^{i}, a^{i}\right) Q((h1,h2,…,hd),(a1,a2,…,ad))≈i=1∑dQ~i(hi,ai)
对 Q ~ i \tilde{Q}_{i} Q~i学习采用联合奖励根据Q-learning的规则通过反向传播梯度来学习,即 Q ~ i \tilde{Q}_{i} Q~i的学习不是根据特定 i i i代理的奖励。集中学习价值函数,但每个代理能够被单独部署,因为每个代理可以根据各个代理的价值函数 Q ~ i \tilde{Q}_{i} Q~i采用贪婪策略选择动作,这与最大化全局价值函数 ∑ i = 1 d Q ~ i ( h i , a i ) \sum_{i=1}^{d} \tilde{Q}_{i}\left(h^{i}, a^{i}\right) ∑i=1dQ~i(hi,ai)等价。
如果一个代理的观测和动作不足以全面地得到 Q ~ i ( h i , a i ) \tilde{Q}_{i}\left(h^{i}, a^{i}\right) Q~i(hi,ai),那么代理会存储历史观测信息在LSTM中。并且通过通信信道接收来自其它代理的信息,最后得到了上式中的约等号。并且在文中的架构中采取了权值共享,从而可以减少参数数量,并且引出了代理不变性的概念,这对于避免懒惰代理的问题有效果。
定义1(代理不变性) 对于任何排列组合 p : { 1 , … , d } → { 1 , … , d } p:\{1, \ldots, d\} \rightarrow\{1, \ldots, d\} p:{1,…,d}→{1,…,d}
π ( p ( h ˉ ) ) = p ( π ( h ˉ ) ) \pi(p(\bar{h}))=p(\pi(\bar{h})) π(p(hˉ))=p(π(hˉ))
那么 π \pi π 具有代理不变性。
当需要专门的角色来优化特定的系统时,并不总是希望有代理不变性。在这种情况下,我们为每个代理提供角色信息或标识符。角色信息以1-hot编码的形式提供给代理,将它们的身份与第一层的每个观测连接起来。当代理共享所有网络权值时,就变为了有条件的代理不变性,即只有在基于相同角色的条件下才具有相同的策略。我们还考虑了代理网络之间的信息通道,即代理网络模块之间的可微连接。这些具有共享权值的体系结构满足代理不变性。
研究了多智能体协作强化学习,其中只对智能体提供单一的联合奖励。初始的各个代理直接根据团队奖励学习以及完全集中的代理无法在简单的环境中获得令人满意的效果。但至分解网络能够达到很好的性能。并且将值分解网络与权值共享、信息通道结合起来能够稳定的在测试中找到最优解。
但值分解网络的可扩展性不好,当代理数量增加后,各个代理接收到的联合奖励信息大部分来自其它代理,这使问题会变得更加复杂,并且代理数量增多后集中学习也不容易实现。