标签:
MD-MADDPG; actor-critic; off-policy; model-free; communication; continuous communication channel; continuous action space; continuous state space; cooperative task; centralized training with decentralized execution; multi-agent;
创新点及贡献
1、基于 MADDPG 的框架加入了共享 memory device 的模块,作为在部分可观察环境中多智能体之间的通信通道,提高了其协作能力。
2、无论是在训练阶段还是执行阶段,多智能体都能按顺序读写 memory device 中的信息,从而实现通信交流的作用。
研究痛点
1、在 MADDPG 中多智能体之间只能通过 Critic 来分享彼此在训练阶段的行动与观察,而在执行阶段便不再有任何通信交流,所以 MADDPG 算法不能很好地胜任一些需要交流才能完成的任务。
算法流程
框架图如下
MD-MADDPG.assets/image-20200610110515168.png)
主要思路
1、基于 MADDPG 的框架加入了共享 memory device 的模块,其中 memory device 的容量大小预定义为 $M$,存储的信息 $m \in {\mathbb{R}}^M$,无论是在训练阶段还是执行阶段,多智能体都能按顺序读写 memory device 中的信息。
2、memory device 的通信交流主要由以下几步组成
- a)Encoding operation:将观察 $o$ 输入一个神经网络进行嵌入表示为 $e$
MD-MADDPG.assets/image-20200610111745554.png)
- b)Read operation:读取 memory device 的存储信息并通过 $e$ 提取有效信息得到 $r$
MD-MADDPG.assets/image-20200610111831289.png)
- c)Write operation:读取 memory device 的存储信息并通过 $e$ 更新存储信息得到 $m’$
MD-MADDPG.assets/image-20200610111852457.png)
- d)Action selector:通过 $e,r,m’$ 输出动作 $a$,第二条式子为第一条式子的原始形式,每一项分别对应以上三个步骤。
MD-MADDPG.assets/image-20200610112108902.png)
MD-MADDPG.assets/image-20200610112600723.png)
3、在一幕的每一步中多智能体分别按顺序进行对 memory device 的读写操作,并输出相应的动作。
算法伪代码
算法伪代码如下
MD-MADDPG.assets/image-20200610112937207.png)
实验
1、采用了六个实验环境,主要针对部分可观察环境,且需要通信交流协作。
MD-MADDPG.assets/image-20200610113307058.png)
2、在实验的对比算法中提出了 Meta-agent MADDPG (MA-MADDPG),该方法中每个智能体的策略无论是在训练阶段还是在执行阶段都将所有智能体的观察作为输入,从而有效克服了部分可观察环境的弱点。
3、实验还通过 PCA 可视化了每一步每一个 agent 的 $m’$,发现在完成任务前智能体之间会传递有效通信信息,而在完成任务之后便不再传递,此外通过可视化发现智能体之间是点对点的对等通信,而不是一种主从关系,被某个智能体完全控制了通信信道。
MD-MADDPG.assets/image-20200610114620111.png)
其他补充
1、由于在对 memory device 进行读写时需要固定智能体之间的顺序,本人认为这样会导致第一个智能体无法从其他智能体得到它们对当前观察的任何有效信息,但是这个缺点对于论文中的任务没有很明显,因为只是简单的导航移动,上一个时刻的信息与这一时刻的信息相差不多。
2、论文在 future work 中提出当智能体数量增加时,不需要所有智能体在每一步都对 memory device 进行读写,可以有一种选择机制,本人认为重点还是在于 MADDPG 框架无法适应较多智能体的问题,其 Q 函数会随着智能体的数量而线性增加,这个点显得有点无关紧要。
参考资料及致谢
所有参考资料在《强化学习思考(1)前言》中已列出,再次向强化学习的大佬前辈们表达衷心的感谢!