Learning to Communicate with Deep Multi-Agent Reinforcement Learning

2017Nips的文章,看了一篇18的一篇相关方向的,但是没太明白,第一次看communicate的文章(multi-agent RL with communication),理解的也不太透彻。

大概简要介绍一下:

在MA的环境中,agent需要相互合作去完成任务,这个时候就需要agent之间相互交流,从而合作完成任务,之前的文章里都是

没有agent间交流的。或者说是没有显示的定义出来这一个特征。

需要交流的一个前提是,合作+部分可观测,否则交流就没有什么意义了

本文的训练通过centralised learning 和 decentralised execution。

在这篇文章,centralised learning 主要是在学习的过程中communictation没有被限制

而执行的时候,就只能通过有限带宽的信道。

为了能够让agent自主提出有效的conmunication protocol,文章提出了两种解决方法:

第一种,RIAL(reinforced inter-agent learning)使用DRQN解决部分可观测。

第二种,DIAL(differentiable inter-agent learning)RIAL在一个agent中是端到端可训练的(agents之间没有gradient传递)。而DIAL是在多个agent中端到端可训练的。

Related Work:

Independent DQN :每个agent 同时学习他们自己的Q function

Deep Recurrent Q-Networks:DQN和independent DQN都假设full observability 。而在 部分可观测的环境中,St被隐藏,Ot是与St相关的信息。只有Ot可以观测到。DRQN被提出,将第一层FC更换为LSTM,用于记住较长时间的信息。从而获取更多有用的信息。

Setting:

由于协议是从动作观察历史到消息序列的映射,因此协议的空间非常高。在这个领域自动发现有效的协议仍然是一个难以捉摸的挑战。特别是,由于需要代理来协调消息的发送和解释,探索这种协议空间的难度增加了。

举个例子:如果一个代理向另一个代理发送了有用的消息,那么只有在接收代理正确地解释和操作该消息时,它才会收到一个正的奖励。如果没有,发送方将不鼓励再次发送该消息。因此,积极的奖励是稀疏的,只有在发送和解释的时候才会产生适当的协调,这是很难通过随机探索来发现的。

下面详细介绍提出的两个算法:

Reinforced Inter-Agent Learning:

将DRQN和independent Q learning相结合。每个agent的Q函数如下:

这个方法在训练的关闭了exp replay,为了避免不稳定环境下带来的经眼失效或误导

这个方法我们使用了参数共享,也就是多个agent共享一个net。这里我们一共训练学习了两个Q-function(分别对应动作u和信息m):

Differentiable Inter-Agent Learning:

上一个方法不是本paper的重点,重点是这一个算法(DIAL)

上一个算法仍然存在问题,就是无法给agent反馈,也就是类似于人的交流。例如,在面对面的交流中,听者会向说话者发送快速的非语言队列,以表明他们的理解程度和兴趣。RIAL缺乏这种反馈机制。

我们提出了可微内代理学习(DIAL)方法。最重要的是集中学习和Q-networks的结合使之成为可能,不仅可以共享参数,还可以通过通信通道将梯度从一个代理推到另一个代理。因此,虽然在每个代理中RIAL是端到端可培训的,但DIAL是端到端可培训的跨代理。让梯度从一个代理流向另一个代理可以给他们更丰富的反馈,通过尝试和错误减少所需的学习量,并简化有效协议的发现。

DIAL工作原理如下:在集中学习过程中,通信动作被一个代理网络的输出和另一个代理网络的输入之间的直接连接所取代。因此,当任务限制通信到离散消息时,在学习过程中,代理可以自由地彼此发送值消息。由于这些消息的功能与任何其他网络激活一样,梯度可以沿着通道返回,从而允许跨代理端到端反向传播。

DIAL的伪代码:为了避免我解释的有问题,附上英文文献的解释:

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值