深度强化学习8:Imitation Learning
【李宏毅深度强化学习笔记】8、Imitation Learning
</div></div><div class="up-time" style="left: 120.906px; display: none;"><span>最后发布:2020-01-30 18:18:16</span><span>首次发布:2020-01-30 00:13:12</span></div><div class="slide-content-box"><div class="all-tags-box"></div><div class="article-copyright"><div class="creativecommons"><a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"></a></div><div class="creativecommons">版权声明:本文为博主原创文章,遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议,转载请附上原文出处链接和本声明。 </div><div class="article-source-link">本文链接:<a href="https://blog.csdn.net/ACL_lihan/article/details/104111622">https://blog.csdn.net/ACL_lihan/article/details/104111622</a></div></div></div><div class="operating"><a class="href-article-edit slide-toggle">版权</a></div></div></div>
</div>
<!--python安装手册结束--><article class="baidu_pl"><div id="article_content" class="article_content clearfix"><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-b981975251.css"><div class="htmledit_views" id="content_views"><p><a href="https://blog.csdn.net/ACL_lihan/article/details/104020259">【李宏毅深度强化学习笔记】1、策略梯度方法(Policy Gradient)</a></p>
【李宏毅深度强化学习笔记】2、Proximal Policy Optimization (PPO) 算法
【李宏毅深度强化学习笔记】3、Q-learning(Basic Idea)
【李宏毅深度强化学习笔记】4、Q-learning更高阶的算法
【李宏毅深度强化学习笔记】5、Q-learning用于连续动作 (NAF算法)
【李宏毅深度强化学习笔记】6、Actor-Critic、A2C、A3C、Pathwise Derivative Policy Gradient
【李宏毅深度强化学习笔记】7、Sparse Reward
【李宏毅深度强化学习笔记】8、Imitation Learning(本文)
-------------------------------------------------------------------------------------------------------
【李宏毅深度强化学习】视频地址:https://www.bilibili.com/video/av63546968?p=8
课件地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html
-------------------------------------------------------------------------------------------------------
上一篇笔记讲了reward很稀疏的情况,但是在实际中,可能问题还会更进一步:很多场景是很难有一个明确的reward甚至没有reward。所以需要很厉害的agent或者直接由人来示范的资料,让agent跟着做。
本文会讲两个Imitation Learning的方法:
- Behavior Cloning
- Inverse Reinforcement Learning (IRL)
Behavior Cloning
Behavior Cloning其实和监督学习(supervised learning)是一样的。 以自动驾驶为例子,搜集很多的expert(假设是人类)驾驶资料,这些资料的状态s是开车的场景,动作a是在此场景下做出的动作。把这些资料输入到Neural Network中,使网络输出的动作能尽可能接近实际人类做出的动作,就完成任务。
但是这个过程中,expert观察到state是有限的。比如在实验中,让人去开车,都能顺利转弯,没有出现撞墙的情况。而这时让agent去开车,如果某一时间它没及时转弯导致处于快撞墙的state,由于缺少相应的训练资料导致agent不知道接下来怎么做。
所以这时需要引入Dataset Aggregation稍微缓解下这个问题。
- 让actor 开车
- 让一个专家坐在车子里观察所处状态并告诉actor 做出什么动作。
- 但是actor不会听取专家的建议,还是以actor的意愿去开车,最终就撞墙了,一个episode结束。
- 这时actor就知道在快要撞墙的时候要采取什么样的动作,然后用这个新的data去训练新的actor 。
- 重复1234步……
以上就是Dataset Aggregation的过程
从上面我们可以看出Behavior Cloning很容易实现,但是它也有问题:
- agent会完全复制expert的行为,不管这个行为对不对
- agent的学习能力有限,没办法什么都学,有可能只学到不好的东西,没学到有价值的东西
- 有可能会遇到Mismatch的问题(上面开车那个例子)
这里再具体看一下第三点
在监督学习中,是希望训练数据和测试数据有独立同分布的。而在Behavior Cloning中,actor做出的action是会影响后续的state的。因为Network的训练是有误差的,训练出来的actor 不可能完全和expert actor 一模一样,就会导致某个state下,两者采取的action不一样,然后就导致后面的state完全不一样了,最坏的情况就是actor后面遇到的state是expert没遇到过的,这时actor就会完全不知道如何进行下去了。即,失之毫米,差之千里。
所以,虽然Behavior Cloning简单但是并不是一个很好的办法,所以又有第二种方法Inverse Reinforcement Learning (IRL)
Inverse Reinforcement Learning (IRL)
左图是熟悉的Reinforcement Learning的步骤,通过Environment和Reward function,最终更新出理想的Actor。
右图就是 Inverse Reinforcement Learning 的步骤,由于没办法从Environment获得reward,那就通过收集expert的资料还有Environment的信息,来反推Reward function,推出Reward function就能应用以前的Reinforcement Learning的做法了。
具体来看Inverse Reinforcement Learning怎么运作的。
- expert \hat 去玩游戏,记录游戏过程,形成n个\hat,每个\hat代表1个episode。
- actor 去玩游戏,记录游戏过程,形成n个。
- 设定一个Reward Function,这个Reward Function强制要求expert的累计得分一定要高于actor的累计得分。
- 有了Reward Function就可以使actor去更新出更强的actor。
- 当actor能在此时的Reward Function达到很高的reward时,修改Reward Function(还是要求expert的得分一定要高于actor),让actor根据新Reward Function去更新出更强的actor。
- 重复上述步骤。
Inverse Reinforcement Learning可以实现只用很少量的expert的示范资料,就训练出一个很理想的actor。
看了以上的步骤,可以想到,actor和reward function就对应类似于GAN的generator和discriminator。通过reward function的不断修改,使actor越来越接近expert的水平。
深度强化学习8:Imitation Learning相关推荐
- 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术
原文:http://www.jianshu.com/p/d347bb2ca53c 声明:感谢 Tambet Matiisen 的创作,这里只对最为核心的部分进行的翻译 Two years ago, a ...
- 人工智能-强化学习:Imitation Learning(模仿学习)= Learning by Demonstration(示范学习)【每一步action都没有reward】
Imitation Learning(模仿学习)是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显示的得到 reward. 在某些任务上,也很难定义 reward.如:自动驾 ...
- 深度强化学习 Deep Reinforcement Learning 学习整理
这学期的一门机器学习课程中突发奇想,既然卷积神经网络可以识别一副图片,解决分类问题,那如果用神经网络去控制'自动驾驶',在一个虚拟的环境中不停的给网络输入车周围环境的图片,让它去选择前后左右中的一个操 ...
- 中科院自动化所介绍深度强化学习进展:从AlphaGo到AlphaGo Zero
来源:德先生 概要:2016年初,AlphaGo战胜李世石成为人工智能的里程碑事件.其核心技术深度强化学习受到人们的广泛关注和研究,取得了丰硕的理论和应用成果. 深度强化学习进展: 从AlphaGo ...
- 深度强化学习_深度学习理论与应用第8课 | 深度强化学习
本文是博雅大数据学院"深度学习理论与应用课程"第八章的内容整理.我们将部分课程视频.课件和讲授稿进行发布.在线学习完整内容请登录www.cookdata.cn 深度强化学习是一种将 ...
- 电子网络发票应用系统网络不通_深度强化学习在典型网络系统中的应用综述
作 者:郑莹,段庆洋,林利祥,游新宇,徐跃东,王新 摘 要:近几年来,以深度强化学习(Deep Reinforcement Learning,DRL)为代表的人工智能技术被引入计算机网络系统设计中 ...
- 深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)
概述 上图是深度强化学习的脉络图,参考文献中还有该领域的关键论文列表. 原图地址: http://louiskirsch.com/maps/reinforcement-learning 参考: htt ...
- 乐器演奏_深度强化学习代理演奏的蛇
乐器演奏 Ever since I watched the Netflix documentary AlphaGo, I have been fascinated by Reinforcement L ...
- 深度强化学习和强化学习_深度强化学习:从哪里开始
深度强化学习和强化学习 by Jannes Klaas 简尼斯·克拉斯(Jannes Klaas) 深度强化学习:从哪里开始 (Deep reinforcement learning: where t ...
- 你该知道的深度强化学习相关知识
如今,机器学习(Machine Learning,ML)和人工智能(Artificial Intelligence,AI)的相关算法越来越深度地融合到了我们的社会与生活中,并且在金融科技.医疗保健.以 ...
最新文章
- nginx+iis实现负载均衡
- 高级程序设计 c语言 在线作业,[北京师范大学]19秋《高级程序设计(C)》离线作业(资料)...
- 《C++语义和性能分析》读书笔记
- viewpager 无网络的时候滑动异常
- md5sum命令详解
- 为什么开发人员从Java转到Go
- 使用SpringWebFlux的反应式Web应用程序
- FTP服务器的搭建与安全配置
- Go 标准库 http.FileServer 实现静态文件服务
- 对于C++指针的详细理解
- 一张图看Docker
- 在VMware下创建新的CentOS虚拟机
- 香草 jboss 工具_使用Tensorflow创建香草神经网络
- MySQL 根据身份证号查询个人信息
- 计算机默认网络密码是多少,中国电信的默认服务密码是什么
- 国际贸易中的信用证使用
- 概率论中常见分布的数学期望、方差及特征函数推导 (一)离散型随机变量
- 成功解决The type Dog is already defined问题
- 【航拍干货】航测区域重点建筑物精细化建模航拍技巧
- python画图--柱状图
热门文章
- 81.拒绝死机十四招
- Mbed Studio编辑L-Tek FF-LPC546XX
- 手机程序员常说的webview到底是个啥东西
- HDMI2.0二进一出切换器方案ASW3642和TS3DV642设计电路对比
- 夫妻过河 c语言程序,求解夫妻过河问题.doc
- MySQL和SQLite根据生日算年龄
- 【从零开始学Mask RCNN】四,RPN锚框生成和Proposal生成
- Azure基础:什么是Azure 区域、可用性区域和区域对(14)
- 机器学习(MACHINE LEARNING)MATLAB模糊评价模型
- html的footer标签的属性,HTML: footer 标签