从多 agent 深度强化学习中通信过程的角度对现有的多 agent 深度强化学习算法进行归纳,将其归纳为全通信集中决策、全通信自主决策、欠通信自主决策三种主流形式。
当前 DRL 的两个主要方向 – 深度 Q 网络和深度策略梯度。一种是用神经网络函数近似Q网络,另一种是将状态空间映射到动作空间的函数或者分布,策略优化的目标是寻找最优的策略映射。
两者针对的过程不同
连续动作空间的策略梯度算法分为随机策略梯度算法和深度确定策略梯度算法。
多智能体任务中环境是动态性的,一般建模为部分可观测MDP环境(POMDP)
协作多智能体分为两类,单个学习者和多个学习者。
全通信集中决策:联合感知,中心决策(神经网络内部通信)
全通信自主决策:联合感知,独立决策(神经网络之前通信)
欠通信自主决策:无信息交互,独立决策(一般用循环神经网络)
全通信集中决策可转换为单智能体问题,适用于智能体数量少且固定,动作空间小的情况。
在全通信集中决策架构中,现有研究方法主要集中在隐藏层信息池化共享通信和双向 RNN 通信等两种手段,通过神经网络的隐藏层间信息传递保证全通信条件下 agent 间的协商。
难以设计合适的通信协议——>利用双向LSTM自行学习通信协议
不合适的奖励——>基于全局奖赏的值分解网络
主-从多智能体架构(教练和球员)
全通信自主决策架构只需在输入端进行通信,将信息进行本地融合,自主的完成决策过程。
一种方式是自适应的端到端的通信协议学习算法,将通信定义为一组动作。根据通信动作的连续性,将决策网络的梯度更新方式分为增强和可微两类。
针对全通信的自主决策结构,他们设计了 AC-CNet 架构,对局部状态进行嵌入编码,之后利用预定义/自学习通信协议对所有局部状态编码进行联合编码,同待决策 agent 的局部状态结合一同作为决策输入,产生动作。
预定义通信协议在部分环境中不可用——>将通信定义为一组动作
对局部状态进行嵌入编码
个体奖赏带来的 “囚徒困境”——>采用联合动作评估方法
欠通信自主决策中强化学习任务面临着环境非平稳性的问题。
解决方法一:忽略。采用分散滞后深度 RNN 的架构,克服环境非平稳带来的值估计偏差。
解决方法二:改进replaybuffer。记录其余agent的动态变化信息。
解决方法三:自主决策,整体评价。
解决方法四:分层,将 agent 的动作分为宏观和一般两类动作
解决方法五:对对手(包括己方其他)进行建模
解决方法六:改进信用分配方式
解决方法七:同质智能体共享参数
多智能体实验平台:
1 DeepMind 和暴雪公司合作,开发了一个基于星际争霸 II 游戏的强化学习平台 SC2LE
python接口、minigame
2 上海交通大学开发了一种支持多 agent 强化学习研究和发展的 MAgent 平台该平台聚焦含成千上万 agent 的任务和应用
开源:https://github.com/geek-ai/MAgent
3 Brodeur 等人 [79] 提出了一个面向人工 agent的家庭多模态环 境(HoME),在逼真的环境下,从视觉、音频、语义、物理以及与对象和其他 agent的交互等方面进行学习.
HoME 侧重于室内 3D环境下的图像研究,利用该平台进行多 agent 研究的学者较少.
4 Facebook AI 研究室提出一个面向 RTS游戏的广泛的、轻量级和灵活的多 Agent 强化学习平台 ELF.
C/C++ python 该平台主要为两人对战
关键问题及展望:
如何构建合适的模型能够更加准确的描述 MAS
总体样本数量依然有限,数据效率低
DRL 训练通常面临着对环境过拟合的问题,而 MADRL 则面临着对对手和环境的双重过拟合问题
1 多 agent 训练要素研究
对抗学习架构(alphazero)
将 DRL 策略和实证博弈论分析进行混合,计算策略选择的元策略
2 样本增强技术研究
增强生成对抗网络利用状态 - 行为与后继状态 - 奖赏之间的关系提高由 GAN 生成的样本的质量
将基于模型的和无模型的方法结合。
在 DRL 研究中,无模型方法数据利用低效,仅仅使用了转移中的奖赏信号,忽视了样本的转移过程;基于模型的方法有较高的数据效率,但所获得的策略往往不是最优解.
3 鲁棒性研究
在 MAS 中,仿真环境同现实环境的差距巨大,这一困境导致在仿真环境中的策略学习的结果难以迁移;另外,即使策略的学习样本来自于现实环境,学习数据的不足也使得强化学习难以收敛。
增加扰动以增加鲁棒性
迁移学习(目前没有针对不同agent进行迁移的解决方案)
针对agent会消失的场景场景,是将每个可能消失/产生的 agent单独建模,或者利用参数共享。(针对异步通信、较大规模也没有相应的解决方案)
4 对手建模研究
对对手策略进行推断
利用网络对对手策略进行学习
在上述学习算法中往往假设知晓对手的相关域知识,如可正确描述对手观测的属性和特征
AAMAS (International Conference on Autonomous Agents and Multiagent Systems),属于CCF推荐学术会议中人工智能B类的会议
参考内容:博士万字总结:https://cloud.tencent.com/developer/article/1618396
首先,本文提供了当前多主体深度强化学习(MDRL)文献的清晰概述。其次,它提供了补充这一新兴领域的指导方针,方法是(一)展示DRL和多智能体学习的方法和算法如何帮助解决MDRL的问题,以及(二)提供从这些工作中吸取的一般经验教训。
深度强化学习(DRL),其中深度神经网络被训练来逼近最优策略或价值函数,其中泛化的承诺预期由深度神经网络(作为函数逼近器)的表示能力来传递。
目前强化学习主要的几个分类:
Q学习
蒙特卡洛策略梯度
基于值函数的方法
策略梯度方法
行为分析类别的算法主要是将单智能体强化学习算法(SARL)直接应用到多智能体环境之中,每个智能体之间相互独立,遵循 Independent Q-Learning 的算法思路
Multiagent cooperation and competition with deep reinforcement learning[53]
作者为了全面的观察将 DQN 应用到多智能体环境下的各方面表现,通过设计回报函数的方式设计了完全协作环境、完全竞争环境以及非完全协作/竞争环境。具体回报函数设计如下:
完全协作环境:一方失球,则两方均获得 -1 的回报
完全竞争环境:一方失球,该方获得 -1 的回报;对方获得 +1 的回报
非完全协作/竞争环境:一方失球,该方获得 -1 的回报;对方获得 的回报
最终的实验结果表明,在完全协作环境中,智能体学到的策略是尽可能长时间的不失球;而在完全竞争环境中,智能体学到的是如何更好的得分(即让对方失球)。
从这个结果可以看出,在将 DQN 直接应用到多智能体环境中,也能够达到一个比较好的性能,即便 IQL 算法是一个十分简单的算法,没有办法处理环境非平稳问题,但是依旧是一个比较强的基准算法。
Multi-agent Reinforcement Learning in Sequential Social Dilemmas[54]
Emergent Complexity via Multi-Agent Competition[58]
Can Deep Reinforcement Learning solve Erdos-Selfridge-Spencer Games?[55]
Multi-Agent Cooperation and the Emergence of (Natural) Language[56]
Emergence of grounded compositional language in multi-agent populations[57]
属于这一类别的多智能体强化学习方法显式假设智能体之间存在信息的交互,并在训练过程中学习如何根据自身的局部观察来生成信息,或者来确定是否需要通信、与哪些智能体通信等等。在训练完毕后运行的过程中,需要显式依据其余智能体传递的信息来进行决策。
Learning to communicate with deep multi-agent reinforcement learning[59]
所有智能体共享一个全局的回报函数,所以是一个完全协作环境,每个智能体只拥有自己的局部观察。文中假设通信信道是离散的,即智能体之间只能能传递离散的信息(即 one-hot 向量)。
本文采用的是 CTDE 框架(即中心化训练去中心化执行),在训练时不对智能体之间的信息传递进行限制,甚至在训练时可以使用连续的信息。但是训练完毕之后运行时,智能体之间才进行真正的通信,并且该通信信道是离散(如果训练时是连续的,则在运行时要对信息进行离散化)的。
Reinforced Inter-Agent Learning (RIAL)
RIAL 算法使用了两个 Q-network,分别输出原始的动作以及离散的信息。RIAL 算法中 Q network 的输入不仅仅是局部观察,还包括上一时间步其余智能体传递过来的信息。禁用replay buffer。为了算法的可扩展性以及充分利用中心化学习的优势,RIAL 算法可以更改为每个智能体共享同一套模型参数,并且为了进一步对在任务中扮演不同觉得的智能体进行分辨,在 Q network 的输入中还可以额外加入智能体的索引号。
Differentiable Inter-Agent Learning (DIAL)
在中心化训练时,信息发送方的信息动作输出直接连接到信息接收方,并且为了能够实现端到端训练,此时的信息将不再是离散值而是连续值。训练完毕之后执行时,通过这个实值的正负进行 one-hot 离散化。
Learning Multiagent Communication with Backpropagation[60]
该框架中所有灰色模块部分的参数均是所有智能体共享的,
除此之外,文中还提出了两种对上述算法可以采取的改进方式:
可以对上图中间的结构加上 skip connection,类似于 ResNet。这样可以使得智能体在学习的过程中同时考虑局部信息以及全局信息
可以将灰色模块的网络结构换成 RNN-like,为了处理局部观察所带来的 POMDP 问题
Multiagent Bidirectionally-Coordinated Nets for Learning to Play StarCraft Combat Games[61]
使用的是 DDPG 算法,并且考虑到算法在大规模多智能体环境下的可扩展性问题,智能体之间共享模型参数,并且算法假设每个智能体都拥有同样的全局观察(全局状态)
BiCNet 通过中间的 Bi-RNN 层进行智能体之间的通信。
我们可以采用虽然可以采用 Minimax Q-Learning 这样的算法来去解决,但是对于复杂的高维多智能体环境,前者基本无法处理。因而在本文中假设地方的 policy 是固定的(即敌方智能体遵循一个固定的策略,只有己方智能体的策略是不断更新的),那么我们就可以使用类似 DDPG 这样的算法来去解这样一个 MDP 问题。
BiCNet 中所有的智能体都拥有独立的回报函数以及 Q-network 以及 policy network,但这些 network 中部分参数是共享的。这些智能体一起在环境中进行数据采样,最后将所有的数据集中起来,更新他们的共享部分的参数。所以这样一看,将 BiCNet 和 MADDPG 相比较,其实就是共享 Q-network 以及 policy network 的拥有特定网络结构的 MADDPG?
此类工作并不显式地学习智能体之间的通信,而是将 multi-agent learning 领域的一些思想引入到 MARL 中。而这类方案又可以分为以下三个类别:
Stabilising Experience Replay for Deep Multi-Agent Reinforcement Learning[62]
Lenient Multi-Agent Deep Reinforcement Learning[63]
Deep Decentralized Multi-task Multi-Agent Reinforcement Learning under Partial Observability[64]
本文提出采用 ER 训练 DRQN 时应当采用如下方式,并提出了 concurrent experience replay trajectories 的概念。即每个智能体在独立训练自己的 Q-function 时,从 ER 中 sample 出来的数据需要从 episode 层面以及时间层面上对齐。
Weighted double deep multiagent reinforcement learning in stochastic cooperative environments [65]
Human-level performance in first-person multiplayer games with population-based deep reinforcement learning[66]
Value-Decomposition Networks For Cooperative Multi-Agent Learning Based On Team Reward[67]
本文提出的 VDN 方法的基本思想是,中心化地训练一个联合的 Q network,但是这个联合的网络是由所有智能体局部的 Q networks 加和得到,这样不仅可以通过中心化训练处理由于环境非平稳带来的问题,而且由于实际是在学习每个智能体的局部模型,因而解耦智能体之间复杂的相互关系。最后,由于训练完毕后每个智能体拥有只基于自己局部观察的 Q network,可以实现去中心化执行,即 VDN 遵循 CTDE 框架,并且解决的是 Dec-POMDP 问题。
QMIX - Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning[68]
QMIX 算法是 VDN 算法的后续工作,它的出发点是 VDN 做联合 Q-value 分解时只是进行简单的加和,这种做法会使得学到的局部 Q 函数表达能力有限,没有办法捕捉到智能体之间更复杂的相互关系,因而对 VDN 算法进行了修改。本文认为 VDN 提出的加和分解方式只是满足所提出约束的一个特例。
QMIX 使用了如下包含 agent network、mixing network 以及 hypernetworks 的架构,注意到,QMIX 由于 mixing network 是一个非线性网络的原因,其表达能力因而超过 VDN。
**COMA-Counterfactual Multi-Agent Policy Gradients[70] **
本文提出的算法 COMA 旨在解决 Dec-POMDP 问题中的 multi-agent credit assignment 问题,即多智能体信用分配问题。这个问题简单概括来说,由于 Dec-POMDP 问题中所有智能体共享同一个全局回报,因而每个智能体不知道自己的行为到底对这个全局回报产生了多大的影响,这就是多智能体信用分配问题。
COMA 与 MADDPG 在 actor network 上的不同之处在于前者使用的是 GRU 网络,为了更好的处理局部观察问题,但是后者使用的则是普通的 DNN。
COMA 使用的是 vanilla 的 actor-critic 方法,其核心之处在于引入了一个 counterfactual 的 baseline 函数。该方法通过比较智能体遵循当前 actor network 进行决策得到的全局回报与遵循某个默认策略进行决策得到的全局回报,来解决多智能体信用分配问题。
Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments[71]
本文提出的 MADDPG 算法将 DDPG 算法扩展到多智能体环境中,MADDPG 算法假定每一个智能体拥有自己独立的 critic network 以及 actor network,并且假定每个智能体拥有自己独立的回报函数,这样 MADDPG 算法就可以同时解决协作环境、竞争环境以及混合环境下的多智能体问题。
另外,算法还进行了两点改进。其一,由于算法假设中心化训练每个智能体的 critic network 时,需要知晓所有智能体当前时间步的局部观察以及动作,本文认为知晓每个智能体的动作(即策略)是一个比较强的假设,因而提出了一个估计其余智能体 policy 的方法。具体来说,每个智能体均维护一个其余智能体 actor network 的估计。
另外,在多智能体环境中,本文认为训练出的针对每个智能体的 policy 容易对其余智能体过拟合,但是其余智能体的 policy 随着训练过程的进行是不断更新的,因而本文希望通过给每个智能体同时训练 [公式] 个 actor network 的方式,使得智能体对于其他智能体策略的变化更加鲁棒。具体来说,每个 episode 开始前,都从K 个 actor 中随机采样一个来进行训练,并且每个 actor 都有独立的 experience replay。
Opponent modeling in deep reinforcement learning[72]
A Deep Policy Inference Q-Network for Multi-Agent Systems[74]
Modeling Others using Oneself in Multi-Agent Reinforcement Learning[73]
Deep Reinforcement Learning from Self-Play in Imperfect-Information Games[75]
A Unified Game-Theoretic Approach to Multiagent Reinforcement Learning[69]
Learning with Opponent-Learning Awareness[76]
Bayes-ToMoP: A Fast Detection and Best Reponse Algorithm Towards Sophisticated Opponents[78]
解决MDRL问题的富有成效的合作实例
处理独立学习者的非平稳性。将其他agent的混合策略当作状态输入。
多agent信用分配。COMA提出了一个基于agent贡献的优势函数。
MDRL的多任务学习。agent可以在几个相关的任务中发挥作用。
MDRL的辅助任务。环境包含各种可能的训练信号可以被视为伪奖励函数。
经验教训
在MDRL经验重放。在经验元组中添加有助于消除样本歧义的信息是许多工作中采用的解决方案。
集中学习,分散执行。在学习期间,可使用附加信息(状态、动作、奖励),在执行期间,该信息被移除。
参数共享。
循环网络。记忆、分层。
整体政策。
关于稀疏延迟奖励的挑战
1 先增加密集的中间奖励,逐步减少
2 手工设计奖励
3 分层优化内部奖励
4 用LSTM将稀疏奖励分配给早期状态
self-play的作用
1 增加多样性,即基于人口或基于抽样的方法,已经显示出良好的结果
2 计算量巨大,计算高效的问题没有解决
论MDRL组合性的挑战
1 MCTS结合搜索和DRL
2 搜索并行化