多目标、多阶段、多层次的强化学习合作方法-程序员宅基地

技术标签: 算法  python  机器学习  深度学习  人工智能  

1 文章信息

COOPERATIVE MULTI-GOAL MULTI-STAGE MULTI-AGENT REINFORCEMENT LEARNING。这是佐治亚理工学院发表在计算机顶级会议ICLR2020上的一篇文章。

2 摘要

不同的多智能体合作控制问题需要智能体实现各自的目标的同时为全局的成功做贡献。这种多目标多智能体的设置给目前针对单一的全局奖励设置的算法带来两个挑战:1、需要高效的学习探索,既要实现个人目标,又要为他人的成功而合作;2、不同智能体的行动和目标之间相互作用的信用分配。为了解决这两个挑战,作者将问题重组为一个新型的两个阶段体系:在实现多智能体合作之前,先学习实现单智能体目标。作者推导出一种多目标多智能体的梯度策略,并采用信用函数进行局部信用分配,使用一个函数增强方案来连接价值和政策函数的阶段。这个完整的框架被称为CM3,并在如何在困难的队形中的合作导航,SUMO交通模拟器中协商多车道变化,以及跳棋环境中战略合作这三个具有挑战性的多目标多智能体问题上的学习速度明显快于直接适应现有算法的速度。

3 动机

目前针对智能体如何探索去学习实现个人目标和与他人合作实现他人的目标的问题MARL中主要使用统一随机探索的方法,但是由于合作动作的价值只能在需要合作的状态空间的小区域中才能发现,实现自己的目标和为他人的成功而合作之间的概念差异,需要更多模块化和有针对性的方法,所以此种方法非常低效。其次,在所有智能体都在共享实现全局奖励时,会存在多智能体信用分配的方法,目前将多目标方案作为单一联合目标问题的方法使得评估一个智能体的动作会对其他智能体的成功的影响非常困难。相反,将多目标方法根据细粒度信用分配获益,这种方法利用行动-目标交互中的现有结构,如局部交互,即只有少数智能体在任何时候能影响其他智能体的目标实现。

4 模型构建

作者提出CM3框架,使用深度神经网络用来函数逼近,如图1所示。在不失通用性的前提下,作者假设以目标为输入的同质智能体之间的参数共享,非同质的情况可以由N个演员-批评者来解决。借鉴多任务学习,作者在每个事件中对智能体的目标进行采样,为所有目标训练一个模型。

  1. 阶段1: 作者训练一个演员家和一个评判家 。在N=1和随机目标抽样的诱导式MDP中,根据公式(4)(5)进行收敛,这比完全多代理环境使用的样本少了几个数量级。

  2. 阶段2: 马尔科夫博弈是用所有N个智能体实例化的,将训练好的π1参数还原,实例化第二个神经网络π2,用于智能体处理,并将π2的输出连接到π1的选定隐藏层。

增强函数:图1中间部分描述了π从π1到π2,相似的,目标从Q1开始构建:当输入到Q1时与一个新的模块的输入结合选择输出Q1的隐藏层,信用函数是从Q1扩展出来的,用公式5训练策略,用损失训练信用函数,用与公式4类似的联合行动训练全局Q函数。

5 实验结果

实验环境

本实验在三种应用场景下:困难队形中的合作导航,自动驾驶中的双车道合并,以及跳棋游戏中的战略合作。

对比算法

本实验的对比算法分为两类:一:其他算法(COMA, IAC, QMIX)做对比,二:本文所提出算法的变体做对比。为了发现两阶段与功能增强的速度,作者训练了CM3的完整的第2阶段架构(没有第1阶段);为了研究新的信用函数和多目标策略梯度的优点,作者训练了一个具有优势函数QV的消融实验。

实验结果

在所有实验情况下中,CM3发现最优或接近最优的策略的速度明显快于IAC和COMA,并且在五个情况中的四种情况中,CM3的性能明显高于QMIX。

消融实验结果:CM3相对于 "直接"(图5f~5j)的性能显著提高,这说明在学习多智能体合作之前学习个体目标的实现,以及用Stage 1参数初始化Stage 2,对提高学习速度和稳定性至关重要,虽然全局行动值和信用函数可能很难从头开始训练,但函数增强显著缓解了学习问题。虽然 "QV "最初快速学习以达到个人目标,但它是以频繁的碰撞、较高的变异性和无法维持合作解为代价的,给出了信用函数必要性的明确证据。


7 创新点

1. 作者从一个新的课程学习角度出发解决多智能体探索的难题,分为两个阶段:1. 通过首先训练一对演员-批评家,在诱导式单智能体环境下实现不同的目标;2. 用阶段一的智能体来初始化多智能体环境中的所有智能体。这种方法能够使已经能够朝着个人目标行动的智能体,一旦引入其他智能体,就能更好地准备发现合作解决方案,并进行额外的探索。与分层学习不同的是,在分层学习中,子目标是按时间顺序选择的,在该方法的第二阶段,所有的智能体都同时朝着他们的目标行动。

 

2. 作者观察到一系列复杂的MARL问题允许将智能体的观察和状态向量分解为自我、他人和非智能体特定环境信息的组成部分,作者采用函数增强来衔接阶段1到阶段2:在阶段1中通过将其输入空间限制在单智能体训练所需的部分,来减少演员-批评家的可训练参数数量,然后在阶段2中用额外的输入和可训练参数来增强多智能体环境下的学习架构。

 

3. 作者提出了一个信用函数,是一个专门评估动作-目标对的动作-价值函数,用于多目标MARL的局部信用分配,用它来推导出第2阶段的多目标多智能体策略梯度。在与多阶段协同作用下,信用函数是通过阶段1中的批判者的函数增强来构建。

Attention

如果你和我一样是轨道交通、交通运输、城市规划相关领域的,也愿意分享自己的科研生活,请加微信:Dr_JinleiZhang,备注“进群”,我会拉你进交通大数据分享群!希望我们共同进步!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zuiyishihefang/article/details/115258413

智能推荐

ASP.NET MVC 模式-程序员宅基地

文章浏览阅读307次。ASP.NET MVC 是一个全新的Web应用框架ASP.NET 代表支撑应用框架的技术平台,表明ASP.NET MVC和传统的WebForm应用框架一样,都是建立在ASP.NET平台之上。MVC 表示该框架背后的设计思想,意味着ASP.NET MVC采用了MVC架构模式。MVC在20世纪70年代后期出现,产生于Xerox PARC施乐公司的帕洛阿尔托研究中心的Small..._aspnet mvvm

MacOS M1搭建Selenium环境_m1 mac selenium配置-程序员宅基地

文章浏览阅读350次。解压压缩包后,打开终端,进入当前chromedriver所在的路径,将chromedriver移动到默认路径(/usr/local/bin/)二、下载对应版本的浏览器驱动器:找到版本一致或最接近的版本的驱动器。若列表中含有selenium则表明安装成功。记得勾选上继承全局包,要不然会报错。_m1 mac selenium配置

UE4 OpenCV 插件 官方配置流程_ue4 opencv操作texture-程序员宅基地

文章浏览阅读4.6k次。谨以此片献给各种遇到坑的朋友。官网上的OpenCV 插件,根据github 上的描述 是针对UE4 4.16 版本以下的版本来提供的 OpenCV 采用的是3.0.0 , 也可以使用openCv 3.2.0环境描述:Ue4 4.15 OpenCV 3.2.0固有插件配置步骤:1, 创建一个C++ 的工程,打开后, 关闭即可。2,将OpenCV 的插件文件 解压缩之后, 将里面的文件..._ue4 opencv操作texture

使用Anaconda安装opencv-python-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏11次。直接在cmd命令行输入:conda install --channel https://conda.anaconda.org/menpo opencv3 接着根据提示按Y即可

nyoj-236-心急的C小加_nyoj 心急的c小加-程序员宅基地

文章浏览阅读646次。#include#includestruct mubang{int x;int y;}a[5005];int cmp(const void *a,const void *b){struct mubang *c=(struct mubang *)a;struct mubang *d=(struct mubang *)b;if(c->x!=d->x)re_nyoj 心急的c小加

JavaEE基础知识讲解-程序员宅基地

文章浏览阅读1.7k次。学习JavaEE的你们是不是一头雾水呢? C/S client/server 客户端/服务器 B/C browser/server 浏览器/服务器 通过浏览器访问到对应页面,发送请求(同步请求,异步请求,ajax请求,会读接口文档)---服务器(云服务器:腾讯云服务器 阿里云服务器等等)---应用服务器Tomcat---匹配servlet---service业务处理---dao层 JDBC Hibemate,ORM---数据库---File---servlet(控制器Controller)MVC_javaee基础知识

随便推点

深度学习简介-程序员宅基地

文章浏览阅读910次,点赞28次,收藏19次。交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。新闻推荐需要:获取用户请求,召回候选新闻,对候选新闻进行排序,最终给用户推出新闻。将用户持续浏览新闻的推荐过程看成一个决策过程,通过强化学习学习每一次推荐的最佳策略,提高用户的点击率。无人驾驶被认为是强化学习短期内能技术落地的一个应用方向,很多公司投入大量资源在无人驾驶上,其中百度的无人巴士“阿波龙”已经在北京、武汉等地展开试运营,自动无人驾驶的行车视野如下图所示。

前端开发工程师简历_前端简历-程序员宅基地

文章浏览阅读3.5w次,点赞102次,收藏685次。简历是什么找工作之前投递的个人信息和工作能力----不全面应该是:个人当前阶段的价值体现前者:我能卖多少钱;后者:我现在值多少钱建议:每隔半年/一年给自己做总结的时候写一份简历(相当于个人价值总结)面试要刻意、精心准备公司内部晋升答辩,需要精心准备(ppt、演讲基本要精心准备一个月的时间)面试,简历,同样需要精心准备目录面试官如何分析一份简历简历模板和内容个人信息教育经历专业技能工作经历项目经历体现自己的亮点课程总结注意:不要造假学历造假:学信网可查工作经历造假:可_前端简历

CentOS 通过yum安装gcc 4.8, 4.9, 5.2等高版本GCC_有gcc高版本的yum库-程序员宅基地

文章浏览阅读2.6k次。https://www.dwhd.org/20160724_085212.html_有gcc高版本的yum库

SpringBoot自动配置原理分析_springboot 自动配置分析与整合测试-程序员宅基地

文章浏览阅读320次。1起步依赖原理分析 1.1分析spring-boot-starter-parent 按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-starter-parent的pom.xml,xml配置如下(只摘抄了部分重点配置):<parent> <groupId>org.sp..._springboot 自动配置分析与整合测试

python2.7 Crypto 使用pip的安装方式 【橘小白】_python2.7 使用pycrypto-程序员宅基地

文章浏览阅读9.1k次。最近想要使用Crypto.Cipher 的AES模块,可总是找不到Crypto.Cipher接下来介绍几个坑1.AES是在pyCrypto中而不是crypto中2.这个pyCrypto中间的C一定要大写,不然也不能用接下来介绍正确的安装姿势1.首先需要现在一款编译器Microsoft Visual C++ Compiler for Python 2.7下载地址https://www.m..._python2.7 使用pycrypto

整数划分问题(递归&非递归)_n的划分种数,其中划分大于等于2非递归算法-程序员宅基地

文章浏览阅读2.9k次,点赞4次,收藏7次。递归算法:将正整数n表示成一系列正整数之和,n=n1+n2+...+nk,其中n1>=n2>=n3>=...>=nk>=1,k>=1。正整数n的这种表示称为正整数n的划分。正整数n的不同的划分个数城外正整数n的划分数,记作p(n)。例如,正整数6有如下11种不同的划分,所以p(6)=11。6;5+1;4+2;4+1+1;3+3;3+2+1;3+1+1+1;2+2+2_n的划分种数,其中划分大于等于2非递归算法

推荐文章

热门文章

相关标签