登录    注册      
    
  

News Message

多智能体强化学习中使用attention机制——MAAC



多智能体强化学习中使用attention机制——MAAC



文章原标题:Actor-Attention-Critic for Multi-Agent Reinforcement Learning

作者:Shariq Iqbal Fei Sha

发表的会议:ICML2019

1.方法

直接上方法部分,前面的有时间再补。

1.1. Multiagent下的Attention机制

主要思路:为每一个agent learn一个critic来选择性的关注来自其他agent的信息。

形式化:

[公式] 个agent的Q函数表示为 [公式] 其中[公式][公式][公式] 是一个双层的densenet, [公式] 是一个单层embedding函数。来自其他智能体的贡献通过加权求和后用 [公式] 表示:

[公式] 很容易看出, [公式] 就是智能体 [公式][公式] 的影响,[公式] 是加权系数。那这个 [公式] 到底怎么计算?系数[公式]怎么确定?

先说用于描述其他智能体信息的[公式],实际上是对智能体 [公式] 的embedding,表达式为 [公式] 。这里面的 [公式] 和式(1)里面的定义的embedding函数是一样的,其输出左乘一个矩阵 [公式] (相当于变换 [公式] 作用于嵌入函数)。而 [公式] 函数则是逐元素的激活函数(文章里面使用的leaky ReLU)。

再说注意力机制的权重 [公式] ,直接看定义 [公式]

即通过比较智能体 [公式][公式] 的嵌入[公式][公式]来确定,其中 [公式]。具体来说, [公式][公式] 变为一个query, [公式][公式] 变为一个key。(看表达式,列向量转置变成行向量,与经过两个变换后的行向量相乘,形式上就得到了标量,因为 [公式][公式] 基于相同的嵌入函数因此有相同的维数,且元素为二进制)。最后再来个softmax,并使用两个矩阵的维数进行归一化,防止梯度消失。

现在可以放Q函数的结构图了

1.2. 损失函数和策略更新

Critic更新是通过最小化联合回归函数实现的 [公式]

其中 [公式][公式][公式] 表示目标Critics和目标policies, [公式] 用来平衡最大熵和回报。

Policy的更新的梯度计算方法为 [公式]

上面这个公式,最基本的形式是 [公式]原理参考这里),式(6)中基本思路是用 [公式] 代替 [公式] ,实际使用了多智能体场景下的优势函数[1][公式] 其中,[公式]

多说一句这个 [公式] ,表示固定其他智能体动作下某个动作的值函数的期望,这也是一种多智能体贡献分配的解决方案。进一步,在计算时是这样求期望的

[公式]

2. 实验

2.1 Setup

(1)设计实验study the scalability

这部分实验使用的是Cooperative Treasure Collection这一env。这个环境以及后面另一个实验的环境都是基于multiagent particle environment framework

(2)设计实验evaluate attention mechanism

这部分实验使用了一个叫做Rover-Tower的env

2.2 Baselines

主要和MADDPG[2]以及COMA[1]进行了对比。

2.3 Results and Analysis

results

直接贴两个实验中Mean Episode Rewards训练曲线。

analysis

(1)Impact of Rewards and Required Attention分析了attention的作用并解释了右边的曲线中uniform MAAC比MADDPG差的原因:cooperative下rewards是all agents共享的,因此单个智能体的critic不需要聚焦来自其他智能体的信息来获取更高的reward(这一解释。。。感觉一般吧,可能是我没看懂\狗头);此外单个智能体的局部信息用来预测已经可以得到很好的分数了(既然足够了,MAAC还是比uniform MAAC好啊,这个回头再去看看代码)。

实验1(Cooperative Treasure Collection)中,场景设定是完全合作,每个智能体可以观察到全局的信息。在代码中,n_visible=7,表示每个智能体可以看到7个其他智能体和treasure。那么partial obsevation会不会使性能变差呢?于是分别设定n_visible=1、2、3、4、5、6,7,得到曲线如下。结果显示部分可观测时的回报比全部观测更高,这不符合常识,我们一般认为完全观测做出的决策会更优。代码里面有一个距离远近的排序,对于collector而言,知道离自己最近的几个treasures和agents已经足够了,所以n_visible=1、2、3的时候回报比较高?

(2)scalibility

直接看图,,,


3. 代码分析

3.1 代码结构

MAAC
--algorithms
----attention_sac.py#算法
--envs
----mpe_scenarios
------fullobs_collect_trasures.py#从名字就能看出,这个是完全观测的,不是partial obs
------multi_speaker_listener.py#这两个场景和maddpg里面的场景基本一样
--utils
----agents.py
----buffer.py
----critic.py
----env_wrappers.py
----make_env.py
----misc.py
----policies.py
--main.py

2.1 Scenarios

(1)Cooperative treasure collections

场景描述:包含8个智能体(6个hunter(代码里面叫做collector),2个bank),其颜色和不同treasure颜色相对应(一样)。treasure有6个,每一个被收集者收集后会随机重生。hunter的任务就是收集treasure然后deposit(跑过去)到bank,而bank的任务就是尽可能多的收集hunters的treasure。

奖励设置

对于hunter而言,既有共享奖励,又有属于自己的奖励:(a)收集到treasure它自己会得到全局的reward;(b)deposit会使得所有agents获得reward; (c)碰到其他agents则惩罚。

观测空间:np.concatenate([[位置(x,y)], [速度(v_x,v_y)], [收集到的treasure的类型编码(bank没有这个元素)], [离其他智能体的距离、速度、agent编码], [到treasures的距离、treasure类型编码]]),hunter的obsp一般是86维,bank的obsp是84维。

动作空间:one-hot:[上,下,左,右,stay]。

参考

  1. ^abFoerster, J., Farquhar, G., Afouras, T., Nardelli, N., and Whiteson, S. Counterfactual multi-agent policy gradients. In AAAI Conference on Artificial Intelligence, 2018.
  2. ^Lowe, R., Wu, Y., Tamar, A., Harb, J., Abbeel, O. P., and Mordatch, I. Multi-agent actor-critic for mixed cooperative-competitive environments. In Advances in Neural Information Processing Systems, pp. 6382–6393, 2017.



Share Http URL:  http://www.wittx.cn/get_news_message.do?new_id=547



请输入评论





























Best Last Month

2020/09/22 金融行情

2020/09/22 金融行情

Information industry

by wittx


机器人运动控制算法5

机器人运动控制算法5

Mechanical electromechanical

by wittx


Introduction to Probability

Introduction to Probability

Information industry

by wittx


香港上市(IPO) 流程

香港上市(IPO) 流程

Information industry

by show


15秒超快充电,Skeleton石墨烯电池获10亿大单



2020/10/26 金融行情

2020/10/26 金融行情

Information industry

by wittx


Automatic Prompt Optimization with “Gradient Descent” and Beam Search



Struct2Graph: a graph attention network for structure based predictions of protein– protein interact



DeepMind新算法MuZero

DeepMind新算法MuZero

Information industry

by wittx


Nature Reviews Physics

Nature Reviews Physics

Information industry

by wittx