Learning to Communicate with Deep Multi-Agent Reinforcement Learning 论文讲解
论文链接:https://papers.nips.cc/paper/6042-learning-to-communicate-with-deep-multi-agent-reinforcement-learning.pdf
(这篇论文是COMA三部曲中的第(一)篇:让Agent学会如何去通信)
1. 问题提出(解决了什么问题?)
该论文主要解决了在多智能体
和每个智能体只能部分观测
情况下,各个智能单位间如何通信的问题。通过强化学习的方式最终使得智能体能够学会如何进行通信(即学出一种通信协议)。最终学习出的协议其实是一个|m|维的向量,添加到Q网络的输入中起到影响决策的作用。
2. 介绍
2.1 论文结构
整个论文分为三个部分:
- 假设出一些需要
通讯
和多智能体协同
的任务
假设出的任务必须具备以下3个条件:需要个体之间配合完成
、 个体观测不完整(即单个个体无法感知环境中所有信息)
、个体决策带有时序性
。所有Agent都有共同的学习目标:采取不同的行为使得一个Reward总值最大化,这个总值是所有Agent全局共享
的。
在学习场景中,每个Agent不仅可以采取一个与环境互动的行为,还可以采取一种”通讯“行为——通过一个有带宽限制的通道告诉其他Agent一些自身观测到的环境信息。由于部分可观测性和通讯受限性,Agent需要学习出一种通讯协议来规划协同他们的自身行为。
- 提出适用于以上场景的几个学习算法 —— RIAL / DIAL
该论文使用中心式学习
-去中心式执行
的方法,即训练过程中各单位之间可以进行无限制通讯,学习完成后最终应用时会受到通讯限制。论文中一共提出了两种approach:
1- Reinforced Inter-Agent Learning (RIAL)
用一个循环的Deep Q-Learning网络(RNN + DQN)来解决部分可观测问题,其中,RIAL又有2种不同的变种方法:
(a) 每一个agent单独学习一个属于自己的Neural Network,将其余agent看作是环境的一部分。
(b) 只训练一个global的Neural Network,所有agent共享这个网络的参数。
2- Differentiable Inter-Agent Learning (DIAL)
尽管在RIAL的第二种变种方法中,通过参数共享的方式模拟了agent之间的信息共享,但是却没有很好的模拟agent与agent之间"通讯"的过程。DIAL的设计思路中使得在训练过程中,不同agent之间可以传输真正的”梯度消息“,在原文中被称为"real-valued message"。
- 分析这些算法是怎样进行通讯协议的学习的
3. 相关知识背景
阅读本论文需要用到以下几个知识背景:
- Deep Q-Networks (DQN)
- Independent DQN
- Deep Recurrent Q-Networks (该方法很好的解决了多智能体间部分可观测的问题)
4. 论文实验环境设定
论文的环境设定概括为以下几个规则:
- 在训练过程中,所有agent拥有同一目标:最大化得到的Reward总和值,该总和全局共享。
- 一个时刻下单个agent可接受到的observation有:
(1) 自身对环境的私有观测 o t a o_t^a ota - 一个时刻下单个agent可采取的行为有:
(1) 用于与环境交互的行为 u t a u_t^a uta,该行为会影响环境并获得一个reward值。
(2) 用于通讯的“通讯行为”,该行为可被其他agent观测到,但并不会对环境造成影响,也没有reward值。 - 学习的通讯协议是一种通过“行为-观测”配对的历史数据映射出来的消息序列。
- 只有一个agent正确发送了”通讯行为“并且另一个agent正确解析到了这种”通讯行为“才会有一个正向的reward值,这会引起回报稀缺问题(Reward Sparse)。
5. 算法讲解
5.1 Reinforced Inter-Agent Learning (RIAL)
在每一个agent上训练一个DRQN网络,每个agent的Q-network可以表示为
Q a ( o t a , m t − 1 a , h t − 1 a , u a ) Q^a(o_t^a, m_{t-1}^a, h_{t-1}^a, u^a) Qa(ota,mt−1a,ht−1a,ua)
其中:
o t a → o_t^a \qquad \rightarrow \qquad ota→ agent当前的环境观测
m t − 1 a → m_{t-1}^a \qquad \rightarrow \qquad mt−1a→来自其他agent在上一时刻观测到的消息
h t − 1 a → h_{t-1}^a \qquad \rightarrow \qquad ht−1a→ agent自身的hidden state,hidden state取决于该agent之前遇到的state history
u a → u^a \qquad \rightarrow \qquad