论文笔记:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments
Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments
2017-10-25 16:38:23
【Project Page】https://blog.openai.com/learning-to-cooperate-compete-and-communicate/
4. Method
4.1 Multi-Agent Actor Critic

该网络框架有如下假设条件:
(1) the learned policies can only use local information (i.e. their own observations) at execution time,
(2) we do not assume a differentiable model of the environment dynamics, unlike in [24],
(3) we do not assume any particular structure on the communication method between agents (that is, we don’t assume a differentiable communication channel).
================>>>
1. 学习到的策略在执行时,仅仅是利用局部的信息
2. 我们不假设环境动态的可微分模型
3. 我们不假设 agents 之间任何通信模型上的特定结构
本文的模型是以 centralized training with decentralized execution framework 为基础进行的,而这个框架的意思是:以全局的信息进行训练,而实际测试的时候是分散执行的。
更具体的来说,我们考虑有 N 个 agent 的游戏,所以,每个 agent i 的期望汇报可以记为:

此处的 Q 函数 是一个中心化的动作值函数(centralized action-value function),将所有 agent 的动作作为输入,除了某些状态信息 X,然后输出是 the Q-value for agent i。
在最简单的情况下,x 可以包含所有 agent 的观测,x = (o1, ... , oN),但是我们也可以包含额外的状态信息。由于每一个 Q 都是分别学习的,agent 可以拥有任意的奖励结构,包括在竞争设定下的冲突奖励。
我们可以将上述 idea 拓展到 deterministic policies。如果我们考虑到 N 个连续的策略,那么梯度可以写作:

此处,经验回放池 D 包括 the tuples (x, x', a1, ... , aN, r1, ... , rN),记录所有 agents 的经验。中心化的动作值函数 Q可以通过如下的方程,进行更新:


4.2 Inferring Policies of Other Agents
为了移除假设:knowing other agents' policies, 就像公式(6)中所要求的那样。每一个 agent i 可以估计 agent j 的真实策略。这个估计的策略可以通过最大化 agent 选择动作的 log 概率,且加上一个 entropy regularizer:

其中,H 是策略分布的熵。有了估计的策略,公式(6)中的 y 可以用估计的值 y^ 来进行计算:

其中,\mu’ 代表用来估计策略的 target network。注意到,公式(7)可以完全在线的执行,before updating $Q_i^{\mu}$, the centralized Q function, 我们采取每一个 agent j 的最新的样本,from the replay buffer to perform a single gradient step to update $\phi^j_i$。另外,在上述公式中,我们直接将每个 agent 的动作 log 概率输入到 Q,而不是 sampling。
4.3 Agents with Policy Ensembles



论文笔记:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments的更多相关文章
- 深度增强学习--Actor Critic
Actor Critic value-based和policy-based的结合 实例代码 import sys import gym import pylab import numpy as np ...
- 【论文笔记系列】AutoML:A Survey of State-of-the-art (下)
[论文笔记系列]AutoML:A Survey of State-of-the-art (上) 上一篇文章介绍了Data preparation,Feature Engineering,Model S ...
- 深度学习论文笔记:Fast R-CNN
知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- Twitter 新一代流处理利器——Heron 论文笔记之Heron架构
Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...
- Deep Learning论文笔记之(六)Multi-Stage多级架构分析
Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些 ...
- Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型
看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...
随机推荐
- html5-新增表单的小结details summary
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 输入输出无依赖型函数的GroovySpock单测模板的自动生成工具(上)
目标 在<使用Groovy+Spock轻松写出更简洁的单测> 一文中,讲解了如何使用 Groovy + Spock 写出简洁易懂的单测. 对于相对简单的无外部服务依赖型函数,通常可以使用 ...
- Spring源码阅读(四)
我们知道,在spring bean生命周期中,我们可以在不同阶段执行处理器或者方法,比如init-method,destroy方法,BeanPostProcessor接口等.那么这些处理器或方法的执行 ...
- 转:wcf大文件传输解决之道(2)
此篇文章主要是基于http协议应用于大文件传输中的应用,现在我们先解析下wcf中编码器的定义,编码器实现了类的编码,并负责将Message内存中消息转变为网络发送的字节流或者字节缓冲区(对于发送方而言 ...
- Android开发常见错误汇总
[错误信息] [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requireme ...
- javaweb笔记09—(session会话及验证码问题)
第一部分+++++++++++1.session会话 定义:session会话——对某个web应用程序的一次整体访问的过程. 由来:无连接的http协议是无状态的,不能保存每个客户端私有信息 a用户和 ...
- HFA and outhandler differentiate or not
better trouble shooting auto-open accidently? HFA not stable? check code modification ASAP!!!
- python的os模块中的os.walk()函数
os.walk('path')函数对于每个目录返回一个三元组,(dirpath, dirnames, filenames), 第一个是路径,第二个是路径下面的目录,第三个是路径下面的文件 如果加参数t ...
- udp编程 实例
server端 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <er ...
- tomcat报java.lang.VerifyError错误
google结果: 针对“java.lang.VerifyError”的错误原因,主要是因为jar包的版本问题导致,可能是因为部署环境存在2套以上版本冲突的JDBC驱动程序部署在应用服务器不同的lib ...