加入图卷积的多智能体强化学习

加入图卷积的多智能体强化学习

  • 发布时间:2020-12-05 11:34
  • 访问量:

【概要描述】图卷积强化学习将“多智能体环境”嵌入图结构,并以卷积核与注意力分配的方式来模拟智能体在合作过程中的信息传递行为,学习不同场景的合作策略,取得了超越前人的表现效果。

加入图卷积的多智能体强化学习

【概要描述】图卷积强化学习将“多智能体环境”嵌入图结构,并以卷积核与注意力分配的方式来模拟智能体在合作过程中的信息传递行为,学习不同场景的合作策略,取得了超越前人的表现效果。

  • 分类:研究院
  • 作者:壁仞科技研究院
  • 来源:
  • 发布时间:2020-12-05 11:34
  • 访问量:
详情

摘要

多智能体(multi-agent)强化学习不仅有环境交互问题,还有智能体之间的相互影响,甚至智能体对环境施加的作用可能反过来影响智能体自身下一步行为的选择,状态空间和动作空间均随着智能体数量增多而迅速扩大,对存储和运算等多方面都提出了新的要求和挑战。发表于ICLR2020的图卷积强化学习[1]融合了近期大热的多个研究方向,将“多智能体环境”嵌入图结构,并以卷积核与注意力分配的方式来模拟智能体在合作过程中的信息传递行为,学习不同场景的合作策略,取得了超越前人的表现效果。

 

1、多智能体背景

自从DeepMind运用强化学习先在Atari游戏获得成功、后开发AlphaGo击败人类冠军选手,强化学习便迅速吸引了大众的目光;随着神经网络和计算机算力的发展,自动驾驶和机器人控制等领域的兴起,结合深度学习的深度强化学习也获得爆炸式增长。研究人员已不满足于单智能体的“简单”模型,开展了众多关于多智能体环境的探索与研究,例如发表于2016年NIPS的CommNet[2]创新地进行了多智能体之间通过交流与通讯(神经网络的反向传播)达到信息传递与共享,进而取得更高总奖励的尝试。2017年面世的MAgent[3]提供了一个可在一台GPU服务器上承载至多一百万个智能体的多智能体强化学习研发平台。而2018年ICML收录的工作Mean Field Multi-Agent Reinforcement Learning[4](MFMA)近似地将除自己以外的其他智能体对自身的影响用均值代替,简化成one vs rest的效果,将多智能体合作课题研究又向前推进了一步。

受上述工作启发,[1]中介绍的图卷积强化学习(以下简称DGN)将拥有N个智能体的环境构造成图结构,其中每个智能体抽象为图中的一个点(node),智能体观察到的环境信息即为该点特征;根据“距离”或其他定制化度量可划定邻域,进而可定义“邻居”(neighbor),这样智能体与其邻居之间便有了边(edge)。智能体i的邻居的集合定义为,另用来表达,即包含自己的邻域。[注:这里的“邻居”身份可以随时间变化。]

 

2 模型解读

DGN将多智能体合作问题抽象为“去中心化的部分可观察马尔可夫决策过程”(Decentralized Partially Observable Markov Decision Process),即对某时刻t,智能体i观察到环境信息o,对此采取行动a,并得到实时奖励r。模型的目标为最大化所有智能体奖励期望的总和。模型包含三个模块:观察信息编码器,卷积层,和最后进行策略学习的Q网络,如图1所示(所有智能体共享权重)。

 

图1,DGN模型(图片来源:文献[1]图1)

 

首先将所有智能体的观测信息o(通过MLP或CNN等)编码为各自的特征向量h,卷积网络将每个智能体i的邻域信息进行整合,生成隐层特征h',h'就包含了自己邻居的单跳(one-hop)信息。若继续堆叠卷积层,第二层可以对“邻居的邻居”进行信号处理,亦即双跳(two-hop)结构,进而可构造出多跳(n-hop)网络,每个以智能体i为中心的感知域(receptive field)也随之扩张。这里智能体感知域的信息定义为该智能体所能感知到的其他智能体节点信息。

DGN借鉴了[5]中multi-head dot-product attention算法作为卷积核(亦称关系核,relation kernel),将感知域中的特征整合并抽取隐含特征信息,即一对智能体(i,j)的关于指标为m的attention head由下式定义(其中权重W的下标Q、K、V分别对应attention机制中的query、key、value;τ为比例系数):

 

之后对M个attention head输出进行加权求和并联结(concatenate),再经由函数σ(例如一层MLP+ ReLU)加工得到卷积层的输出(图2)。

 

图2,注意力机制与隐含特征(图片来源:文献[1]图2

 

若任由智能体的数量和位置变化,图结构随之不断更新,则对卷积运算不利。作者对此采取了以下策略:1)每当有智能体离开系统时(例如被击杀,或数据包已送达,具体请见下节实验部分),一个新的智能体会在随机位置生成以保持N不变。2)将所有智能体于时刻t的特征向量堆叠合并为N x L的特征矩阵F(L为特征向量的长度)。3)对每个智能体i构建尺寸为 x N的邻接矩阵C(每一行都是某个智能体的one-hot编码,所以是N维行向量,其中第一行为自己,后面图片行即为点i的所有邻居)。点i的局部特征向量即可通过C x F获得。4)更新Q网络的损失函数时,令连续两个时间点t和t+1的矩阵C保持不变(即假设邻居关系在单步训练内保持不变)。

DGN采用了DenseNet结构来整合图的信息,将每个智能体之前所有层的特征全部联结后一起送到最后的Q网络作为输入(图1虚线框部分),从而实现观察信息的重用,以及不同感知域的特征整合,实验表明这两点对最终的表现提升均有明显贡献。最后,作者提出了temporal relation regularization,将下一状态的注意力权重分布W’作为当前注意力权重分布W的目标,用KL散度来评估两者差异,并将最小化KL散度也加入训练目标,起到正则化及增加所学策略稳定性的效果(即短期内不要频繁转移注意力)。

 

3 训练与实验分析

训练时,采取经验回放(experience replay),即对每个智能体i,在时刻t保存五项数据:

·采取的行动a

·获得的奖励r

·在采取行动之前和之后分别观察到的环境信息o,o’

·前述的邻接矩阵C

每一条(o,a,o’,r,C)称为“经验”(注意这里省略了关于智能体i和时刻t的下标),训练时不断将新的经验保存至经验池(buffer),以便下一个batch从池里随机抽取过往经验进行学习。代码开源在了https://github.com/PKU-AI-Edge/DGN

在MAgent[3]平台构建的网格世界中,智能体可以独立地完成移动、转向、进攻等行为,DGN基于MAgent设计了如下三个场景:

1、战斗(battle):N个智能体学习共同面对移动速度更快、攻击范围更广的L个敌人,存活、击杀敌人可获取奖励,死亡则有惩罚,该设定智能体之间只有合作没有竞争。

2、丛林(jungle):有N个智能体和L个位置固定的食物,智能体吃掉食物或攻击其他智能体均有奖励。如果攻击同伴的奖励高于采食,则会演变成只有竞争而没有合作。

3、路由(routing):L个路由器(router),每个都随机与K个其他路由相连,需要传输N个大小随机的数据包;若多个数据包大小总和超过带宽则不能同时传输。现将数据包抽象成智能体,各自学习尽快送达且不造成拥堵的策略。

DGN与传统的DQN算法,以及前述CommNet[2]和MFMA[4]一起比较,均取得了最优结果(如最高击杀-死亡比,最高的数据奖励和最低传输延迟等)。对参数设定等实验细节感兴趣的读者,请查阅原文[1]。

实验不乏一些有趣的观察(图3),比如DGN在路由场景中不仅倾向于挑选最短路径传输数据包,更学会了在大概率发生拥堵之前选择换路;在战斗场景中学会了围剿敌人,各个击破,甚至会排出侧翼包抄等阵型。传统的DQN则容易陷入局部最优解甚至次优解而“无法自拔”,比如智能体自从发现存活有奖励而死亡有惩罚后,就开始选择组队蜷缩在角落里躲避攻击,但由于奖励分布得不均匀(身处队伍边缘的智能体更易遭受攻击),基于被动策略的经验回放进一步促使更多智能体选择被动策略,直至所有人都坐以待毙,击杀数在所有模型中最低,几乎毫无合作可言。

 

图3,智能体行为可视化,其中红色代表智能体,蓝色代表敌人(battle)或食物(jungle)(图片来源:文献[1]图5)

 

4 总结

在面对短期变化不大的低方差数据——例如智能体单次行为获取的奖励有限(r很小)、对环境的影响有限(o与o’的差很小)——时,如果直接按照时间顺序去训练,数据相关性太高;打乱数据后随机选取“经验”进行“回放”则可以让数据更加贴近独立同分布的假设,有助于算法的收敛。且不同于传统的参数共享模型(比如对智能体单独采样的DQN),DGN对整个图的全部智能体在同一时间切片上一起采样,保留了更多智能体之间“合作”的信息。

卷积层叠加使智能体感知域得以扩张,增加了接收信息的范围,但无论堆叠多少层,点i只会与自己的邻居进行直接通讯,因为信息均需通过邻居中转。这一点设计兼顾了“大局观”和“专注力”,避免智能体被海量信息淹没而无法分辨出真正有价值的部分。事实上,作者测试过不同邻居数时的模型表现,发现邻居数从1增加到3时performance的确上升,但加到4后反而下降了。

Multi-head注意力机制使得关系核不受输入特征顺序的影响,可以专注于不同的表征子空间,且随着核数量M的增加,训练稳定性也会上升;temporal relation regularization则帮助智能体学习一致连贯的合作策略,能够专心击杀眼前敌人而很少因新敌人或同伴出现在视野中就分心,提高了合作的效率。

强化学习和深度学习一样通过优化目标函数去进行训练迭代求解最优解,但强化学习自身的奖惩机制和奖励设定,使得它的实际超参空间和调参难度远大于普通深度学习算法。以丛林场景为例,攻击同伴与采食的奖励分配比例决定了智能体学习到的策略究竟是偏向竞争还是合作,算法的收敛性和模型的稳定性也会受到极大影响。正如Sutton在强化学习“圣经”[6]中所说,“奖励信号并不是传授智能体如何实现目标的先验知识。它只能用来传达什么是你想实现的目标,而不是如何实现这个目标。”这些无疑都对开发人员的模型设计提出了更高的要求。同时我们也看到,强化学习作为学习策略的“大脑”,非常依赖于接收到的讯息,对经由“眼睛”(如计算机视觉)、“耳朵”(自然语言处理)等输入的信号比较敏感;替换或改进信号表达与描述方式,例如[1]中的图网络结构,可能会在模型表现方面带来惊喜,这对图网络与强化学习等多个研究领域都很有启发意义。

 

参考文献

1、Jiechuan Jiang, et al. "Graph convolutional reinforcement learning." In ICLR 2020.

2、Sainbayar Sukhbaatar, Rob Fergus, et al. "Learning Multiagent Communication with Backpropagation." In NeurIPS 2016.

3、Lianmin Zheng, et al. "MAgent: A many-agent reinforcement learning platform for artificial collective intelligence." arXiv preprint arXiv:1712.00600, 2017.

4、Yaodong Yang, et al. "Mean Field Multi-Agent Reinforcement Learning". In ICML, 2018b.

5、Vinicius Zambaldi, et al. "Relational deep reinforcement learning." arXiv preprint arXiv:1806.01830 (2018).

6、Richard S. Sutton, Andrew G. Barto. Reinforcement Learning: An Introduction.

 

 

近期文章

流体力学与物理导引神经网络

流体力学与物理导引神经网络

现代科学中众多复杂的关键应用依赖着对流体运动的精确预测。然而,由于流体力学方程数值求解的复杂性,基于传统数值方法的高分辨率长周期数值模拟运算量大且难以保证数值稳定性。本文将深入介绍PINN方法在流体计算中的应用并分析其与传统数值方法的差别。
2021-10-25
物理导引神经网络方法分析

物理导引神经网络方法分析

随着GPU能力的提升,支撑深度学习的软硬件生态得到了快速发展。通过深度学习来解决科学计算问题成了一种趋势,其中用深度学习来求解偏微分方程的方法也逐渐兴起。尤其引人注意的是一种称为物理导引神经网络的方法,其为科学计算领域注入了新的活力。
2021-10-18

联系我们

这是描述信息

招贤纳士

公众号二维码
这是描述信息

 版权所有   ©   上海壁仞科技有限公司   |    沪ICP备19047354号