强化学习论文(1)MADDPG

less than 1 minute read

Published:

标签: MADDPG; actor-critic; off-policy; model-free; communication; continuous communication channel; continuous action space; continuous state space; mixed task; cooperative task; competitive task; centralized training with decentralized execution; multi-agent;

论文链接

创新点及贡献

1、基于 DDPG 提出了一种集中训练分散执行的多智能体 Actor-Critic 框架,在训练阶段每个智能体的 Critic 网络会将所有智能体的观察及动作作为输入,而在执行阶段每个智能体的 Actor 网络仅将当前智能体的观察作为输入。

研究痛点

1、在多智能体问题中直接使用 DQN 算法时,(1)对于每个智能体来说其身处的马尔可夫环境是非平稳的,而这会影响 Q 学习算法的收敛性。(2)另外 DQN 的经验回放技术的使用也将受到限制,因为当任意的 $\pi’_i \neq \pi_i$ 时有可能出现

\[P(s' | s,a,\pi_1,...,\pi_N) \neq P(s' | s,a,\pi'_1,...,\pi'_N),\]

此时经验便不再有效,这也是由于马尔可夫环境的非平稳所导致的。

2、策略梯度方法本来就面临高方差的问题,(1)而在多智能体环境中采用策略梯度方法将大大加剧其高方差的问题,因为此时每个智能体的 reward 不仅仅取决于当前智能体的动作,也取决于其他智能体的动作。(2)另外我们对策略梯度的采样估计方向也可能将随着智能体数量的增加而愈发不准确,具体如下。

算法流程

MADDPG 框架如下

主要思路

1、基于 DDPG 算法,其中每个智能体都拥有自己的 Actor 网络和 Critic 网络,各自使用经验回放池进行学习(注意:集中训练主要体现在 Critic 网络的输入上,并不是共享 Critic 网络,由于每个智能体的 reward 是不同的,所有每个智能体都将学习属于自己的 Critic 网络)

2、经验回放池元组定义为 $(\textbf{x},\textbf{x}’,a_1,…,a_N,r_1,…,r_N)$,其中 $\textbf{x} = (o_1,…,o_N)$,此时经验回放池是有效的,因为此时我们知道所有智能体的动作,所以当任意的 $\pi’_i \neq \pi_i$ 时仍存在

\[P(s' | s,a_1,...,a_N,\pi_1,...,\pi_N) = P(s' | s,a_1,...,a_N) = P(s' | s,a_1,...,a_N,\pi'_1,...,\pi'_N),\]

3、Actor 网络的梯度定义如下

4、Critic 网络的损失函数定义如下

算法伪代码

MADDPG 算法伪代码如下

辅助技巧

1、由于在计算 Critic 网络的损失函数时需要各个智能体的策略函数来计算 $y$,论文中提出每个智能体可以通过学习推理其他智能体的策略得到近似策略而不需要显式地知道其他智能体的策略,其近似策略的损失函数定义如下

接着每个智能体便可以近似地计算所需要的 $y$ 值

2、可以采用策略集成的方法来得到更鲁棒的策略,即每个智能体都单独训练 $k$ 不同个子策略,在每次需要选择动作时可以随机选择一个子策略来选择动作,其 Actor 网络的梯度定义如下

实验

1、实验环境采用了 multiagent-particle-envs

2、最值得注意的是在 Cooperative Communication 环境中 MADDPG 算法明显优于 DDPG 算法,MADDPG 算法中的 listener 准确找到对应地标,而 DDPG 算法中的 listener 最终只学会移动到三个地标的正中间。

  • 这是由于梯度信号的不一致性导致的,举个例子,假设 speaker 输出了正确的方向信息,但是 listener 却移动到了错误的方向,那么 speaker 仍然会受到惩罚,这是主要是因为 DDPG 算法中的 Critic 网络只将当前智能体的观察与动作作为输入,而没有考虑其他智能体的动作。

其他补充

1、该方法最大的一个缺点是 Critic 网络的输入空间会随着智能体的数量的增加而线性增加,有可能可以通过考虑领域智能体来解决这个问题。

参考资料及致谢

所有参考资料在《强化学习思考(1)前言》中已列出,再次向强化学习的大佬前辈们表达衷心的感谢!