田渊栋团队&UC伯克利新作:从第一性原理出发,多智能体协作该如何建模

2020 年 12 月 4 日 新智元



  新智元报道  

来源:知乎

编辑:SF

【新智元导读】本文主要想解决的问题是,如何更好地在复杂环境下同时训练多个智能体相互协作,并且让它们在未重新训练的情况下,自动适应环境和其它智能体的变化。


在多智能体星际争霸(StarCraft II Multi-agent Challenge, SMAC)的环境下,我们提出的方法(CollaQ)达到了比较好的效果,比之前的SoTA胜率要高了40%。

如果增加、减少、或是替换智能体,不训练或是微调的情况下,协作仍然可以继续进行,并且比之前的SoTA胜率高30%。

这是田渊栋老师团队在多智能体强化学习上的一篇新的工作,是Facebook AI Research和UC Berkeley合作的,由BAIR Open Research Commons支持,代码已开源。


GitHub链接:

https://github.com/facebookresearch/CollaQ

 

原文地址:https://arxiv.org/abs/2010.08531



那么到底是如何做到的呢?


我们试图从第一性原理出发,思考多智能体协作应当如何建模。


首先,如果我们不做任何思考,把多智能体协作当成单智能体建模,会发生什么事呢?


在这种情况下,假设我们有K个智能体,考虑值函数  。


理想情况下,有了这个值函数,那么每时每刻每个智能体的下一步最优行动,就能通过最大化这个值函数来找到。


实际情况下没人这么用,因为有以下的三点问题:


  1.  的样本复杂度是指数级的;

  2.  无法做到分布式执行(Decentrized Execution),也即是说,对某个智能体来说,寻找自己的最优行动时,需要知道所有其它智能体的状态。在实际情况中这个就需要有中央总控制,不满足分布式的条件;

  3.  在使用时,无法自动适应环境和其它智能体的变化。



那要怎么才能解决这个问题呢?


一个自然的想法是往深里想一想,智能体之间为什么要协作?


在利益相同的情况下,我们假设协作的原因是因为存在“你帮我做任务A方便,而我帮你做任务B方便”这样的情况


这就引出了如下的最大化目标函数:


决定委派奖励的目标函数。在给定了委派的奖励之后,我们假设每个智能体的值函数是可以分解的。

其中  是第i个智能体的值函数。注意这个值函数是依赖于第i个智能体被委派的任务(或者奖励  )的,在文中我们叫它perceived rewards。


不同的委派奖励 ,对应的值函数也不同,当然智能体的行为也会不同。  是总的外部奖励,目标函数中的约束是希望委派奖励的加权和不要超过外部奖励(不然所有的值函数都会奔着正无穷而去)。



我们假设,每个智能体之所以会和别人协作,完全是因为委派的奖励不同。换种说法,有了委派奖励,智能体眼里就盯着奖励去了,再不用管其它智能体在干什么。


这样听起来,就通过委派奖励这个中间变量,把智能体之间的行为,在形式上解耦了。这就是为什么会有对  求和的目标函数出现。


不同的委派奖励,就会对应不同智能体的行为。那我们想要找的,当然是最优的委派奖励  ,让智能体间的协作效益最大化。



但这样问题就来了,要解出最优委派奖励 ,还需要知道当前所有智能体的状态。这样不就绕圈子回去了吗?


但幸运的是,在满足某些条件的情况下,对于第i个智能体,我们找到一个近似最优的委派奖励  ,满足以下两条。


其一,它离最优解比较近

其二,它只依赖于第i个智能体及其附近其它智能体的状态


有了前者,委派奖励就不是无的放失,有了后者,分布式执行就有了保障。



虽然最优委派奖励很难计算,但可以证明,存在只依赖于局部智能体状态的近似最优委派奖励。


知道这个“近似最优解”的存在性之后,我们并不显式将其算出(因为这个代价仍然太大),而是利用这个结构,对第i个智能体的Q函数做相应的分解


具体来说,利用在委派奖励上的泰勒展开,我们可以得到这样的分解:

在CollaQ中,第i个智能体的Q函数分解


第一项叫作  ,也即假设所有其它智能体都不存在情况下的Q值;第二项叫作  ,只建模当前智能体和其它人的交互


第一项只用当前智能体状态作为输入特征,以减少样本复杂度;第二项则加入正则项(MARA Loss),让它在只观察到当前智能体的时候,取值为零。


实验表明,这个加进去的正则项极大提高了性能,间接印证了理论分析。


通过这样的分解,我们得到了CollaQ。CollaQ在一些多智能体星际争霸的“极度困难”(super-hard)任务上得到了相当不错的效果


比如说在MMM2这类需要复杂多兵种(Marine,医疗船,光头兵)合作的情况下,CollaQ仅用2M的步数(environment step)就达到了80%以上的胜率,显示出它更有效的训练样本利用率。


有一局我们甚至看到它通过精妙的微操,把电脑打得溃不成军,在全歼对方之后,已方还能剩9个兵(见youtu.be/NyT8njh4cj4


CollaQ和一些基线方法(如QMix,QTRAN,VDN,IDL等)的比较。相对基线方法,CollaQ的胜率有显著提升,加注意力机制效果更好。


另外如前所说,CollaQ训练出来的AI,在变化环境或者增多、减少、及替换智能体的情况下也有不错的表现。


代码已开源,欢迎大家使用!




3分钟简介视频:https://link.zhihu.com/?target=http%3A//yuandong-tian.com/collaQ.mp4
一些AI打游戏视频:https://link.zhihu.com/?target=https%3A//sites.google.com/view/multi-agent-collaq-public





登录查看更多
0

相关内容

智能体,顾名思义,就是具有智能的实体,英文名是Agent。
【布朗大学David Abel博士论文】强化学习抽象理论,297页pdf
专知会员服务
29+阅读 · 2020年12月14日
【CORL2020最佳系统论文奖】可扩展多智能体强化学习学校
专知会员服务
17+阅读 · 2020年11月30日
[NeurIPS 2020]对图神经网络更实际的对抗式攻击
专知会员服务
8+阅读 · 2020年11月1日
【CMU博士论文Wen Sun】强化学习的泛化性与效率,206页pdf
专知会员服务
91+阅读 · 2020年9月28日
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
27+阅读 · 2020年5月25日
专知会员服务
206+阅读 · 2019年8月30日
解耦强化学习的值函数学习
CreateAMind
6+阅读 · 2019年9月5日
OpenAI发布Neural MMO :大型多智能体游戏环境
大数据文摘
5+阅读 · 2019年3月5日
腊月廿八 | 强化学习-TRPO和PPO背后的数学
AI研习社
17+阅读 · 2019年2月2日
【干货】强化学习介绍
人工智能学家
13+阅读 · 2018年6月24日
OpenAI提出Reptile:可扩展的元学习算法
深度学习世界
7+阅读 · 2018年3月9日
循环神经网络的介绍、代码及实现
AI研习社
3+阅读 · 2017年11月21日
Deformable Style Transfer
Arxiv
14+阅读 · 2020年3月24日
Arxiv
24+阅读 · 2020年3月11日
Hierarchical Deep Multiagent Reinforcement Learning
Arxiv
8+阅读 · 2018年9月25日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
3+阅读 · 2017年11月20日
VIP会员
相关VIP内容
【布朗大学David Abel博士论文】强化学习抽象理论,297页pdf
专知会员服务
29+阅读 · 2020年12月14日
【CORL2020最佳系统论文奖】可扩展多智能体强化学习学校
专知会员服务
17+阅读 · 2020年11月30日
[NeurIPS 2020]对图神经网络更实际的对抗式攻击
专知会员服务
8+阅读 · 2020年11月1日
【CMU博士论文Wen Sun】强化学习的泛化性与效率,206页pdf
专知会员服务
91+阅读 · 2020年9月28日
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
27+阅读 · 2020年5月25日
专知会员服务
206+阅读 · 2019年8月30日
相关资讯
解耦强化学习的值函数学习
CreateAMind
6+阅读 · 2019年9月5日
OpenAI发布Neural MMO :大型多智能体游戏环境
大数据文摘
5+阅读 · 2019年3月5日
腊月廿八 | 强化学习-TRPO和PPO背后的数学
AI研习社
17+阅读 · 2019年2月2日
【干货】强化学习介绍
人工智能学家
13+阅读 · 2018年6月24日
OpenAI提出Reptile:可扩展的元学习算法
深度学习世界
7+阅读 · 2018年3月9日
循环神经网络的介绍、代码及实现
AI研习社
3+阅读 · 2017年11月21日
相关论文
Top
微信扫码咨询专知VIP会员