【李宏毅深度强化学习笔记】8、Imitation Learning

qqqeeevvv 2020-01-30 18:18:16 3344 收藏 4

分类专栏: 强化学习 # 理论知识

            </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的方法:

  1. Behavior Cloning
  2. Inverse Reinforcement Learning (IRL)

Behavior Cloning

Behavior Cloning其实和监督学习(supervised learning)是一样的。 以自动驾驶为例子,搜集很多的expert(假设是人类)驾驶资料,这些资料的状态s是开车的场景,动作a是在此场景下做出的动作。把这些资料输入到Neural Network中,使网络输出的动作能尽可能接近实际人类做出的动作,就完成任务。

但是这个过程中,expert观察到state是有限的。比如在实验中,让人去开车,都能顺利转弯,没有出现撞墙的情况。而这时让agent去开车,如果某一时间它没及时转弯导致处于快撞墙的state,由于缺少相应的训练资料导致agent不知道接下来怎么做。

所以这时需要引入Dataset Aggregation稍微缓解下这个问题。

  1. 让actor 开车
  2. 让一个专家坐在车子里观察所处状态并告诉actor 做出什么动作。
  3. 但是actor不会听取专家的建议,还是以actor的意愿去开车,最终就撞墙了,一个episode结束。
  4. 这时actor就知道在快要撞墙的时候要采取什么样的动作,然后用这个新的data去训练新的actor
  5. 重复1234步……

以上就是Dataset Aggregation的过程

从上面我们可以看出Behavior Cloning很容易实现,但是它也有问题:

  1. agent会完全复制expert的行为,不管这个行为对不对
  2. agent的学习能力有限,没办法什么都学,有可能只学到不好的东西,没学到有价值的东西
  3. 有可能会遇到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怎么运作的。

  1. expert \hat 去玩游戏,记录游戏过程,形成n个\hat,每个\hat代表1个episode。
  2. actor  去玩游戏,记录游戏过程,形成n个
  3. 设定一个Reward Function,这个Reward Function强制要求expert的累计得分一定要高于actor的累计得分。
  4. 有了Reward Function就可以使actor去更新出更强的actor。
  5. 当actor能在此时的Reward Function达到很高的reward时,修改Reward Function(还是要求expert的得分一定要高于actor),让actor根据新Reward Function去更新出更强的actor。
  6. 重复上述步骤。

Inverse Reinforcement Learning可以实现只用很少量的expert的示范资料,就训练出一个很理想的actor。

看了以上的步骤,可以想到,actor和reward function就对应类似于GAN的generator和discriminator。通过reward function的不断修改,使actor越来越接近expert的水平。

深度强化学习8:Imitation Learning相关推荐

  1. 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术

    原文:http://www.jianshu.com/p/d347bb2ca53c 声明:感谢 Tambet Matiisen 的创作,这里只对最为核心的部分进行的翻译 Two years ago, a ...

  2. 人工智能-强化学习:Imitation Learning(模仿学习)= Learning by Demonstration(示范学习)【每一步action都没有reward】

    Imitation Learning(模仿学习)是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显示的得到 reward. 在某些任务上,也很难定义 reward.如:自动驾 ...

  3. 深度强化学习 Deep Reinforcement Learning 学习整理

    这学期的一门机器学习课程中突发奇想,既然卷积神经网络可以识别一副图片,解决分类问题,那如果用神经网络去控制'自动驾驶',在一个虚拟的环境中不停的给网络输入车周围环境的图片,让它去选择前后左右中的一个操 ...

  4. 中科院自动化所介绍深度强化学习进展:从AlphaGo到AlphaGo Zero

    来源:德先生 概要:2016年初,AlphaGo战胜李世石成为人工智能的里程碑事件.其核心技术深度强化学习受到人们的广泛关注和研究,取得了丰硕的理论和应用成果. 深度强化学习进展:  从AlphaGo ...

  5. 深度强化学习_深度学习理论与应用第8课 | 深度强化学习

    本文是博雅大数据学院"深度学习理论与应用课程"第八章的内容整理.我们将部分课程视频.课件和讲授稿进行发布.在线学习完整内容请登录www.cookdata.cn 深度强化学习是一种将 ...

  6. 电子网络发票应用系统网络不通_深度强化学习在典型网络系统中的应用综述

    作  者:郑莹,段庆洋,林利祥,游新宇,徐跃东,王新 摘  要:近几年来,以深度强化学习(Deep Reinforcement Learning,DRL)为代表的人工智能技术被引入计算机网络系统设计中 ...

  7. 深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)

    概述 上图是深度强化学习的脉络图,参考文献中还有该领域的关键论文列表. 原图地址: http://louiskirsch.com/maps/reinforcement-learning 参考: htt ...

  8. 乐器演奏_深度强化学习代理演奏的蛇

    乐器演奏 Ever since I watched the Netflix documentary AlphaGo, I have been fascinated by Reinforcement L ...

  9. 深度强化学习和强化学习_深度强化学习:从哪里开始

    深度强化学习和强化学习 by Jannes Klaas 简尼斯·克拉斯(Jannes Klaas) 深度强化学习:从哪里开始 (Deep reinforcement learning: where t ...

  10. 你该知道的深度强化学习相关知识

    如今,机器学习(Machine Learning,ML)和人工智能(Artificial Intelligence,AI)的相关算法越来越深度地融合到了我们的社会与生活中,并且在金融科技.医疗保健.以 ...

最新文章

  1. nginx+iis实现负载均衡
  2. 高级程序设计 c语言 在线作业,[北京师范大学]19秋《高级程序设计(C)》离线作业(资料)...
  3. 《C++语义和性能分析》读书笔记
  4. viewpager 无网络的时候滑动异常
  5. md5sum命令详解
  6. 为什么开发人员从Java转到Go
  7. 使用SpringWebFlux的反应式Web应用程序
  8. FTP服务器的搭建与安全配置
  9. Go 标准库 http.FileServer 实现静态文件服务
  10. 对于C++指针的详细理解
  11. 一张图看Docker
  12. 在VMware下创建新的CentOS虚拟机
  13. 香草 jboss 工具_使用Tensorflow创建香草神经网络
  14. MySQL 根据身份证号查询个人信息
  15. 计算机默认网络密码是多少,中国电信的默认服务密码是什么
  16. 国际贸易中的信用证使用
  17. 概率论中常见分布的数学期望、方差及特征函数推导 (一)离散型随机变量
  18. 成功解决The type Dog is already defined问题
  19. 【航拍干货】航测区域重点建筑物精细化建模航拍技巧
  20. python画图--柱状图

热门文章

  1. 81.拒绝死机十四招
  2. Mbed Studio编辑L-Tek FF-LPC546XX
  3. 手机程序员常说的webview到底是个啥东西
  4. HDMI2.0二进一出切换器方案ASW3642和TS3DV642设计电路对比
  5. 夫妻过河 c语言程序,求解夫妻过河问题.doc
  6. MySQL和SQLite根据生日算年龄
  7. 【从零开始学Mask RCNN】四,RPN锚框生成和Proposal生成
  8. Azure基础:什么是Azure 区域、可用性区域和区域对(14)
  9. 机器学习(MACHINE LEARNING)MATLAB模糊评价模型
  10. html的footer标签的属性,HTML: footer 标签