李宏毅机器学习系列-强化学习之模仿学习

  • 模仿学习
    • 行为复制(Behavior Cloning)
    • 逆向强化学习(Inverse Reinforcement Learning (IRL))
    • 第三人称模仿学习:
  • 总结

模仿学习

模仿学习就是根据演示来学习,很多时候我们的任务没办法定义奖励,但是我们可以收集很多的数据给机器去学习,方法一般有两种,一种叫行为复制,一种叫逆向强化学习:

行为复制(Behavior Cloning)

简单来说是你看别人怎么做,你也怎么做,其实就是一个有监督学习。比如自动驾驶,你看到人类在什么情况做什么,你也就这么做:

但是这样有很多问题,比如采样的情况是有限的,你会看到没见过的情况,那就可能出问题。比如自动驾驶,如果让人来看即直接弯过去了,但是如果是机器开,他可能开车开车撞墙了,因为他也不知道撞墙会怎么样,没学到过。所以我们需要收集更加多样性的数据,而不是单一的:

如果我们用数据聚合的方法来做,就是让机器去开车,然后旁边做一个人类,人类告诉机器要怎么做,当看到快要撞墙时,人类会说要右拐,但是机器不管,还是撞墙了,这样就能知道快撞墙的时候要怎么办,但是这样做每次训练会牺牲一个人:

但是这个方法有可能会让机器完全学着人类,或许会连错误的方式也学进去了:

我们希望去训练一个网络跟人的行为一样,但是如果训练出来的跟实际的有一点误差的话,可能会影响到后面的状态,那样就最后的结果可能会差很多:

逆向强化学习(Inverse Reinforcement Learning (IRL))

简单来说就是把奖励函数给训练出来,然后再进行正常的学习:

训练框架是这样的,我们训练一个奖励函数,将人类玩的数据和机器玩的数据放进去,我们希望认为的奖励大于机器的,然后你有了奖励函数,你就可以去训练机器让奖励越大越好,然后再去训练奖励函数,让人的奖励大于机器的,就这样交替训练,直到最后人类的奖励和机器的奖励一样好:

其实这个思路跟GAN一样,奖励函数就是GAN的判别器,Actor就是生成器:

这个技术可以学习开车的风格,蓝色是人开的路线,红色是机器学习的:

第三人称模仿学习:

有时候我们给机器模仿的可能不是机器看到的视角,机器可能只是第三人称视角,那我们怎么做呢:

我们可以想办法将第三人称的视角转换为第一人称:

其实我们以前举的生成句子的那些例子就是一种行为复制,因为你看他看了很多人写的句子,希望他能按照这样的写出来,但我们现在有更好的方式,加入GAN的思想,就是用逆向强化学习,也就是SeqGAN:

总结

本篇主要介绍了模仿学习,介绍了逆向强化学习,一种GAN的思想,强化学习课程应该结束了,后面看时间来点小项目更加深入的理解下强化学习吧。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自李宏毅课件,侵删。

李宏毅机器学习系列-强化学习之模仿学习相关推荐

  1. 李宏毅机器学习系列-强化学习之Q-Learning

    李宏毅机器学习系列-强化学习之Q-Learning 评判家(Critic) 怎么衡量$V^\pi(s)$ 蒙特卡洛法(MC) 时序差分算法(TD) MC和TD对比 另一种评判$Q^\pi(s,a)$ ...

  2. 人工智能 java 坦克机器人系列: 强化学习_Java坦克机器人系列强化学习

    <Java坦克机器人系列强化学习>由会员分享,可在线阅读,更多相关<Java坦克机器人系列强化学习(13页珍藏版)>请在人人文库网上搜索. 1.Java 坦克机器人系列 强化学 ...

  3. 【强化学习】模仿学习:生成式对抗模仿学习

    ★★★ 本文源自AI Studio社区精品项目,[点击此处]查看更多精品内容 >>> 模仿学习– 生成式对抗模仿学习 1. 模仿学习 模仿学习(imitation learning) ...

  4. 人工智能 java 坦克机器人系列: 强化学习_人工智能 Java 坦克机器人系列: 强化学习...

    人工智能 Java 坦克机器人系列: 强化学习 发表于:2007-05-24来源:作者:点击数: 本文中,我们将使用强化学习来实现一个机器人.使用强化学习能创建一个自适应的战斗机器人.这个机器人能在战 ...

  5. 8. 强化学习之——模仿学习

    目录 课程大纲 Introduction & Behavioral Cloning DAGGER algorithm to improve BC[就是在BC中引入了online iterati ...

  6. 【机器学习】强化学习算法的优化

    系列文章目录 第十八章 Python 机器学习入门之强化学习 目录 系列文章目录 前言 一.神经网络框架的改进 二. 算法改进:ε-贪婪策略 前言 我们通过之前的学习知道了所谓的强化学习,关键就是学习 ...

  7. 【机器学习】强化学习的概念及马尔科夫决策

    系列文章目录 第十八章 Python 机器学习入门之强化学习 目录 系列文章目录 前言 一.什么是强化学习? 二.强化学习算法的示例:火星探测器 三.强化学习的回报及折扣因子 四. 强化学习中的策略 ...

  8. 机器学习之强化学习概览

    https://www.toutiao.com/a6683691974433702408/ 2019-04-25 12:58:24 本文翻译自Vishal Maini在Medium平台上发布的< ...

  9. 【周志华机器学习】强化学习

    第十六章 强化学习 任务与奖赏 K-摇臂赌博机 e-贪心 Softmax 有模型学习 策略评估 策略改进 策略迭代与值迭代 免模型学习 蒙特卡罗强化学习 时序差分学习 值函数近似 模仿学习 任务与奖赏 ...

最新文章

  1. 数据结构 – 顺序表
  2. 【OpenCV学习】内存分配讨论两例
  3. hdu4544 优先队列(小贪心)
  4. java atomicfloat_Java:有没有AtomicFloat或AtomicDouble?
  5. AMBA、AHB、APB、AXI总线
  6. C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?
  7. 魔兽三国服务器维护,魔兽三国开服七天技巧
  8. 终于 知道为什么datagrid有时候翻页要双击了...
  9. 《中国人工智能学会通讯》——第12章 12.1 新世纪知识工程—— 在哪里跨越
  10. 下载安装谷歌浏览器插件
  11. 区块链入门教程(1)--概述
  12. 【多传感器融合理论】01自动驾驶中常用传感器硬件介绍
  13. (四)keycloak 自定义用户(SPI)开发
  14. linux attach 指令,Docker attach 命令
  15. 简析中国电商直播行业发展现状
  16. JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)
  17. 电源电力专业术语整理
  18. 服务器充电桩是什么显示,怎么查高速服务区有没有充电桩?怎么查高速沿途充电桩...
  19. 中国第一大手机操作系统已有过亿用户,不是华为鸿蒙
  20. C语言学习笔记:内存的五大分区

热门文章

  1. HBase Shell工具操作HBase
  2. oracle如何查询权限,Oracle 权限查询
  3. Linux中标麒麟开机ROOT登录
  4. 为什么有些网站是以“www”开头的,而有些却是以http://开头的?
  5. 华为鸿蒙2025,转载:华为鸿蒙,一个本属于2025年的产品
  6. SystemVerilog-Clocking
  7. iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频篇...
  8. 微信小程序手机号码简单正则
  9. error: (-209:Sizes of input arguments do not match) The operation is neither ‘array op array‘ (where
  10. Creator实战项目【保卫萝卜】-- 卡片层、卡片