欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解协同竞争环境的多智能体Actor-Critic方法:基于NeurlPS 2017的MADDPG论文解析

最编程 2024-07-29 16:13:53
...

源码链接:https://download.****.net/download/crazy_girl_me/32465362

1 摘要

      这篇论文探索了多智能体领域的深度强化学习方法。首先分析了传统算法在多Agent情况下的困难:

(1)Q-learning受到环境固有的非平稳性的挑战:

         随着训练的进行,每个Agent的策略都在变化,从任何单个Agent的角度来看,环境变得不稳定(以一种无法用Agent自身策略的变化来解释的方式)。这带来了学习稳定性的挑战,并阻止了直接使用过去的经验回放,这对稳定DQN至关重要。

(2)Policy Gradient受到随着Agent数量的增加而增加的方差的影响。

        于是,我们提出了一种改进的actor-critic算法,该算法考虑了其他Agent的动作策略,并且能够成功地学习复杂的多Agent协调的策略。此外,我们引入了一种训练方法,该方法利用每个Agent的策略集成,从而产生更健壮的多Agent策略。我们展示了与现有方法相比,我们的方法在合作和竞争场景中的优势,在这些场景中,代理群体能够发现各种物理和信息协调策略。

2 介绍

这篇文章提出了一MADDPG有下列特点:

(1)在执行时,Agent只使用本地信息(即自己观察的)来学习策略,

(2)Agent之间不存在任何形式的通信方法

(3)不仅适用于合作环境,而且适用于涉及物理和通信行为的竞争或混合环境。

采用集中训练和分散执行的框架,在训练时,允许策略使用其他Agent的信息来简化训练,只要在测试时不使用这些信息。

Q-learning不被选中的原因:因为Q函数在训练和测试时通常不能用不同Agent的信息,这样会导致不稳定。

因此,我们提出了一个简单的Actor_Critic算法的扩展,其中Critic增加了关于其他Agent的策略的额外信息,而Actor只能访问局部信息(即自身观察的)。训练完成后,在执行阶段仅使用local Actor分散执行,在合作和竞争环境中同样适用。这是多智能体学习的自然语言环境,因为完全集中化不需要开发离散的通信协议。

3 背景知识

3.1 Markov Games

3.2 Q-learning

Q-Learning和DQN是强化学习中流行的方法,以前已被应用于多Agent环境,Q-学习将动作值函数用于策略π:

preview

 DQN通过最小化损失来学习对应于最优策略的动作值函数Q*:

         其中,Q函数的参数用最新的θ定期更新,这有助于稳定学习。稳定DQN的另一个关键组件是使用包含元组(s,a,r,s‘)的经验回放缓冲器D。

        Q-Learning可以直接应用于多智能体设置,方法是让每个智能体学习一个独立的最优函数Qi。然而,由于Agent随着学习且独立地更新他们的策略,从任何一个Agent的角度来看,环境似乎都是非静态的,这违反了Q学习收敛所需的马尔可夫假设。另一个困难是经验回放放缓冲器不能在这样的设置中使用,因为:

 3.3 Policy Gradient(PG) Algorithm.

        使用前面定义的Q函数,策略的梯度可以写成:

         众所周知,策略梯度方法具有很高的方差梯度估计。在多Agent环境中,这种情况更加严重;由于Agent的reward通常取决于多Agent的Action,仅以Agent自己的Action为条件的奖励(当智能体的优化过程中没有考虑其他智能体的行为时)表现出更大的可变性,从而增加了其梯度的方差。

3.4 Deterministic Policy Gradient(DPG) Algorithms

下面这篇文章清楚的讲了DPG和DDPG:【强化学习】确定性策略强化学习-DPG&DDPG算法推导及分析https://blog.****.net/weixin_37895339/article/details/84881872https://blog.****.net/weixin_37895339/article/details/84881872

4  MADDPG

4.1 Multi-Agent Actor Critic

对多智能体系统,Agent i的期望回报的梯度可以写做下式:

其中,2处是集中的action-Value函数,它将所有智能体的动作作为输入,加上状态信息,输出的是智能体i的Q值,X包含所有Agent的观察结果。由于每个Agent都是独立学习的,所以agent可以有任意的奖励结构,包括竞争环境中相互冲突的奖励。

扩展到确定性策略(Deterministic policies),梯度可以写成:

 这里的经验回放bufferd包含元组(x,x’, a1,…, aN, r1,…, rN),记录所有Agent的经验。集中的action-value函数的更新如下式:

 MADDPG背后的一个动机是:如果我们知道所有代理所采取的行动,那么即使政策发生变化,环境也会保持不变。

4.2 Inferring Policies of other Agent(推断其他智能体的策略)         

为了去掉已知其他agent策略的假设,如上式(6),解决方法是让每个Agent j 保留一个近似策略,该近似策略是通过使用熵正则化最大化Agent j 的动作的日志概率来学习的:

 在近似策略下,式(6)可替换为近似值y,计算如下:

 4.3 Agent with Policy Ensembles(策略集成)——训练方式

多智能体强化学习中经常出现的一个问题是由于智能体策略的变化而导致的环境非平稳性。这在竞争环境中尤其如此,在竞争环境中,Agent可以通过过度拟合其竞争对手的动作来获得强大的策略。这种策略是不可取的,因为它们是脆弱的,当竞争对手改变战略时,它们可能会失败。

为了获得对竞争Agent策略变化更健壮的多Agent策略,我们建议训练K个子策略的集合。在每一次训练时,随机为每个Agent选择一个特定子策略来执行。假设策略µµi是K个子策略的集合,子策略由µµi(K)。于是,对Agent i,我们将最大化整体目标:

 由于不同的子策略会在不同的场景中执行,因此我们为agenti的每个子策略µµ(K)i维护一个重放缓冲区D(k)i。因此,我们可以推导出相对于θ(K)i的梯度如下: