模仿学习算法:Data Aggregation Approach: DAGGER算法——Mixing policy
论文:
《A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning》
算法描述:

=====================================================
Mixing Policy:




个人理解:
imitation learning的大意就是有一个expert专家,你给它输入状态,他就能给你返回一个action,这个action是质量比较好的action,也就是说expert的policy会更优,但是我们现在需要根据expert的经验来训练一个自己的控制器(一个输入state就可以输出一个不错的action的)。对于这个问题最intuitively的解法就是使用我们的需要训练的policy去环境交互,然后采集大量的episode数据,再把这些采集到的数据(state)输入到expert策略中得到expert的action,然后使用监督学习算法来进行拟合,以此来训练我们自己的policy;但是这种使用监督学习方法来根据expert的策略训练我们自己policy难以得到很好的效果,往往随着策略的rollout展开会随着时间步的增加其策略的action和expert的策略action会更加的偏离,因此该种监督学习的方式难以根据expert的policy来训练出一个效果不错的自己的policy,也是因此就有了其他的一些方法,其中一个效果不错的算法就是这里的Data Aggregation Approach: DAGGER算法。
在DAGGER算法中有一个操作是mixing policy,对于这一步操作个人一直都不是很能理解的,因为如果expert的policy是一个已知参数的神经网络,那么我们自然可以采用加权合并的方式来计算这个mixing policy,但是在实际设定中这个expert往往是human being甚至是一些无法得到其内部情况的一个黑盒,因此这里就不能采用加权合并的方式来获得这个mixing policy。对此,给出一个个人的观点,那就是这里的mixing policy其实就是在执行时随机采样,小于belta概率的话就执行expert的策略来进行采样,否则就使用自己的策略来进行采样,以此来达到mixing policy的效果。
关于belta的值的设定:

我们看到论文中的设置方式可以有两种,第一种是只有在第一次迭代计算时使用belta=1,其他迭代次数时belta=0;第二种是设置ßi=pi-1,i=1,2,3,4,5.....,这里可以设置p的取值为0.1到0.9。 第一种设置要比第二种设置要简单,往往效果也不错,这里要说明一下,在论文中一般的迭代次数比较少,如20次迭代,当然原始论文中的拟合函数都是比较简单的分离器,但是这也能体现出该种方法往往不需要太多次数的迭代;第一种设置的demo代码:https://gitee.com/devilmaycry812839668/Imitation-Learning-Dagger-Torcs
根据论文中的原始实验,采用第二种方式设置belta时p时往往选择小一些的会有更好的效果,如上面的实验效果图中p=0.5要优于p=0.9。
=====================================================
模仿学习算法:Data Aggregation Approach: DAGGER算法——Mixing policy的更多相关文章
- [Algorithm] 群体智能优化算法之粒子群优化算法
同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...
- 转载: scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
版权声明:<—— 本文为作者呕心沥血打造,若要转载,请注明出处@http://blog.csdn.net/gamer_gyt <—— 目录(?)[+] ================== ...
- 算法9-5:最大流算法的Java代码
残留网络 在介绍最大流算法之前先介绍一下什么是残留网络.残余网络的概念有点类似于集合中的补集概念. 下图是残余网络的样例. 上面的网络是原始网络.以下的网络是计算出的残留网络.残留网络的作用就是用来描 ...
- 链表插入和删除,判断链表是否为空,求链表长度算法的,链表排序算法演示——C语言描述
关于数据结构等的学习,以及学习算法的感想感悟,听了郝斌老师的数据结构课程,其中他也提到了学习数据结构的或者算法的一些个人见解,我觉的很好,对我的帮助也是很大,算法本就是令人头疼的问题,因为自己并没有学 ...
- [2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)
TensorFlow Playground http://playground.tensorflow.org 帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具 TensorFlo ...
- 机器学习:k-NN算法(也叫k近邻算法)
一.kNN算法基础 # kNN:k-Nearest Neighboors # 多用于解决分裂问题 1)特点: 是机器学习中唯一一个不需要训练过程的算法,可以别认为是没有模型的算法,也可以认为训练数据集 ...
- 冒泡排序算法和简单选择排序算法的js实现
之前已经介绍过冒泡排序算法和简单选择排序算法和原理,现在有Js实现. 冒泡排序算法 let dat=[5, 8, 10, 3, 2, 18, 17, 9]; function bubbleSort(d ...
- 『嗨威说』算法设计与分析 - 贪心算法思想小结(HDU 2088 Box of Bricks)
本文索引目录: 一.贪心算法的基本思想以及个人理解 二.汽车加油问题的贪心选择性质 三.一道贪心算法题点拨升华贪心思想 四.结对编程情况 一.贪心算法的基本思想以及个人理解: 1.1 基本概念: 首先 ...
- 模拟退火算法SA原理及python、java、php、c++语言代码实现TSP旅行商问题,智能优化算法,随机寻优算法,全局最短路径
模拟退火算法SA原理及python.java.php.c++语言代码实现TSP旅行商问题,智能优化算法,随机寻优算法,全局最短路径 模拟退火算法(Simulated Annealing,SA)最早的思 ...
- 机器学习算法-K-NN的学习 /ML 算法 (K-NEAREST NEIGHBORS ALGORITHM TUTORIAL)
1为什么我们需要KNN 现在为止,我们都知道机器学习模型可以做出预测通过学习以往可以获得的数据. 因为KNN基于特征相似性,所以我们可以使用KNN分类器做分类. 2KNN是什么? KNN K-近邻,是 ...
随机推荐
- 架构与思维:了解Http 和 Https的区别(图文详解)
1 介绍 随着 HTTPS 的不断普及和使用成本的下降,现阶段大部分的系统都已经开始用上 HTTPS 协议. HTTPS 与 HTTP 相比, 主打的就是安全概念,相关的知识如 SSL .非对称加密. ...
- redis主从复制篇
我们知道要避免单点故障,即保证高可用,便需要冗余(副本)方式提供集群服务. 而Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式. 主从复制概述 主从复制,是指将一台 ...
- 如何解决Win10删除文件慢的办法
问题:最近使用KMS激活了一些工具,今天删除不需要的文件时发现删除文件很慢很慢,删除一个几百k的文件都很慢. 解决办法通过控制面板→管理工具→服务→找到该进程并设为禁用就OK了.
- 增补博客 第三篇 python 英文统计
编写程序实现对特定英文文章(文本文件)的单词数和有效行数的统计,其中要求空行不计数: def count_words_and_lines(file_path): word_count = 0 line ...
- R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点
目录 R 语言入门学习笔记:软件安装踩坑记录--删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点 软件版本及环境 遇到的问题描述 问题的分析和探究 最终的解决方案 ...
- ecnuoj 5042 龟速飞行棋
5042. 龟速飞行棋 题目链接:5042. 龟速飞行棋 赛中没过,赛后补题时由于题解有些抽象,自己写个题解. 可以发现每次转移的结果只跟后面两个点的胜负状态有关. 不妨设 \(f_{u,a,b}\) ...
- Linux 内核:设备驱动模型(5)平台设备驱动
Linux 内核:设备驱动模型(5)平台设备驱动 背景 我们已经大概熟悉了Linux Device Driver Model:知道了流程大概是怎么样的,为了加深对LDDM框架的理解,我们继续来看pla ...
- Docker部署php运行环境
编写docker-compose.yml配置文件,使用nginx作为web服务器,转发php的请求. version: "3" services: web: image: ngin ...
- 【仿真】Carla之Docker 运行 及 渲染相关 [6]
参考与前言 carla官方对于docker 运行的描述: CARLA in Docker Docker的使用:[暂时没贴] 相关已知issue,欢迎补充 https://github.com/carl ...
- SQLServer统计采集数据库相关信息
在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixe ...