Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments

2017-10-25  16:38:23  

 【Project Pagehttps://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的更多相关文章

  1. 深度增强学习--Actor Critic

    Actor Critic value-based和policy-based的结合 实例代码 import sys import gym import pylab import numpy as np ...

  2. 【论文笔记系列】AutoML:A Survey of State-of-the-art (下)

    [论文笔记系列]AutoML:A Survey of State-of-the-art (上) 上一篇文章介绍了Data preparation,Feature Engineering,Model S ...

  3. 深度学习论文笔记:Fast R-CNN

    知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...

  4. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  5. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  6. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  7. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  8. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  9. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

随机推荐

  1. Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门

    各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...

  2. LoadLibrary加载动态库失败

    [1]LoadLibrary加载动态库失败的可能原因以及解决方案: (1)dll动态库文件路径不对.此场景细分为以下几种情况: 1.1 文件路径的确错误.比如:本来欲加载的是A文件夹下的动态库a.dl ...

  3. Java Redis JNI

    基本参考菜鸟教程,java下载直接安装,注意文件名和类名需要一致的问题: redis下载以后按菜鸟教程linux下安装,方式编译运行ok: Java使用redis按菜鸟教程下载.jar,保存在本地某个 ...

  4. 抓取https网页时,报错sun.security.validator.ValidatorException: PKIX path building failed 解决办法

    抓取https网页时,报错sun.security.validator.ValidatorException: PKIX path building failed 解决办法 原因是https证书问题, ...

  5. MyEclipse非正常关闭问题

    问题:电脑突然断电,myeclipse非正常关闭,“Package Explorer”非正常显示,出现错误“Could not create the view: An unexpected excep ...

  6. Tomcat启动程序端口冲突、确认相应进程及杀死冲突进程的解决方案

    一. 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序(1)命令窗口输出 命令:netstat –ano | findstr & ...

  7. Linux中USB协议栈的框架简介

    文本旨在简单介绍一下Linux中USB协议栈的代码框架: 下图是USB协议栈相关数据结构的关系图: 下面结合上图看一下系统初始化的流程: 1.USB子系统初始化:\drivers\usb\core\u ...

  8. mysql 导入大文件

     set global max_allowed_packet=1000000000; set global net_buffer_length=1000000; 

  9. selenium自动化之鼠标操作

    在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素.那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChai ...

  10. django外使用django ORM

    import os, sys import django BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录 ...