李宏毅机器学习系列-强化学习之模仿学习
李宏毅机器学习系列-强化学习之模仿学习
- 模仿学习
- 行为复制(Behavior Cloning)
- 逆向强化学习(Inverse Reinforcement Learning (IRL))
- 第三人称模仿学习:
- 总结
模仿学习
模仿学习就是根据演示来学习,很多时候我们的任务没办法定义奖励,但是我们可以收集很多的数据给机器去学习,方法一般有两种,一种叫行为复制,一种叫逆向强化学习:
行为复制(Behavior Cloning)
简单来说是你看别人怎么做,你也怎么做,其实就是一个有监督学习。比如自动驾驶,你看到人类在什么情况做什么,你也就这么做:
但是这样有很多问题,比如采样的情况是有限的,你会看到没见过的情况,那就可能出问题。比如自动驾驶,如果让人来看即直接弯过去了,但是如果是机器开,他可能开车开车撞墙了,因为他也不知道撞墙会怎么样,没学到过。所以我们需要收集更加多样性的数据,而不是单一的:
如果我们用数据聚合的方法来做,就是让机器去开车,然后旁边做一个人类,人类告诉机器要怎么做,当看到快要撞墙时,人类会说要右拐,但是机器不管,还是撞墙了,这样就能知道快撞墙的时候要怎么办,但是这样做每次训练会牺牲一个人:
但是这个方法有可能会让机器完全学着人类,或许会连错误的方式也学进去了:
我们希望去训练一个网络跟人的行为一样,但是如果训练出来的跟实际的有一点误差的话,可能会影响到后面的状态,那样就最后的结果可能会差很多:
逆向强化学习(Inverse Reinforcement Learning (IRL))
简单来说就是把奖励函数给训练出来,然后再进行正常的学习:
训练框架是这样的,我们训练一个奖励函数,将人类玩的数据和机器玩的数据放进去,我们希望认为的奖励大于机器的,然后你有了奖励函数,你就可以去训练机器让奖励越大越好,然后再去训练奖励函数,让人的奖励大于机器的,就这样交替训练,直到最后人类的奖励和机器的奖励一样好:
其实这个思路跟GAN一样,奖励函数就是GAN的判别器,Actor就是生成器:
这个技术可以学习开车的风格,蓝色是人开的路线,红色是机器学习的:
第三人称模仿学习:
有时候我们给机器模仿的可能不是机器看到的视角,机器可能只是第三人称视角,那我们怎么做呢:
我们可以想办法将第三人称的视角转换为第一人称:
其实我们以前举的生成句子的那些例子就是一种行为复制,因为你看他看了很多人写的句子,希望他能按照这样的写出来,但我们现在有更好的方式,加入GAN的思想,就是用逆向强化学习,也就是SeqGAN:
总结
本篇主要介绍了模仿学习,介绍了逆向强化学习,一种GAN的思想,强化学习课程应该结束了,后面看时间来点小项目更加深入的理解下强化学习吧。
好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自李宏毅课件,侵删。
李宏毅机器学习系列-强化学习之模仿学习相关推荐
- 李宏毅机器学习系列-强化学习之Q-Learning
李宏毅机器学习系列-强化学习之Q-Learning 评判家(Critic) 怎么衡量$V^\pi(s)$ 蒙特卡洛法(MC) 时序差分算法(TD) MC和TD对比 另一种评判$Q^\pi(s,a)$ ...
- 人工智能 java 坦克机器人系列: 强化学习_Java坦克机器人系列强化学习
<Java坦克机器人系列强化学习>由会员分享,可在线阅读,更多相关<Java坦克机器人系列强化学习(13页珍藏版)>请在人人文库网上搜索. 1.Java 坦克机器人系列 强化学 ...
- 【强化学习】模仿学习:生成式对抗模仿学习
★★★ 本文源自AI Studio社区精品项目,[点击此处]查看更多精品内容 >>> 模仿学习– 生成式对抗模仿学习 1. 模仿学习 模仿学习(imitation learning) ...
- 人工智能 java 坦克机器人系列: 强化学习_人工智能 Java 坦克机器人系列: 强化学习...
人工智能 Java 坦克机器人系列: 强化学习 发表于:2007-05-24来源:作者:点击数: 本文中,我们将使用强化学习来实现一个机器人.使用强化学习能创建一个自适应的战斗机器人.这个机器人能在战 ...
- 8. 强化学习之——模仿学习
目录 课程大纲 Introduction & Behavioral Cloning DAGGER algorithm to improve BC[就是在BC中引入了online iterati ...
- 【机器学习】强化学习算法的优化
系列文章目录 第十八章 Python 机器学习入门之强化学习 目录 系列文章目录 前言 一.神经网络框架的改进 二. 算法改进:ε-贪婪策略 前言 我们通过之前的学习知道了所谓的强化学习,关键就是学习 ...
- 【机器学习】强化学习的概念及马尔科夫决策
系列文章目录 第十八章 Python 机器学习入门之强化学习 目录 系列文章目录 前言 一.什么是强化学习? 二.强化学习算法的示例:火星探测器 三.强化学习的回报及折扣因子 四. 强化学习中的策略 ...
- 机器学习之强化学习概览
https://www.toutiao.com/a6683691974433702408/ 2019-04-25 12:58:24 本文翻译自Vishal Maini在Medium平台上发布的< ...
- 【周志华机器学习】强化学习
第十六章 强化学习 任务与奖赏 K-摇臂赌博机 e-贪心 Softmax 有模型学习 策略评估 策略改进 策略迭代与值迭代 免模型学习 蒙特卡罗强化学习 时序差分学习 值函数近似 模仿学习 任务与奖赏 ...
最新文章
- 数据结构 – 顺序表
- 【OpenCV学习】内存分配讨论两例
- hdu4544 优先队列(小贪心)
- java atomicfloat_Java:有没有AtomicFloat或AtomicDouble?
- AMBA、AHB、APB、AXI总线
- C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?
- 魔兽三国服务器维护,魔兽三国开服七天技巧
- 终于 知道为什么datagrid有时候翻页要双击了...
- 《中国人工智能学会通讯》——第12章 12.1 新世纪知识工程—— 在哪里跨越
- 下载安装谷歌浏览器插件
- 区块链入门教程(1)--概述
- 【多传感器融合理论】01自动驾驶中常用传感器硬件介绍
- (四)keycloak 自定义用户(SPI)开发
- linux attach 指令,Docker attach 命令
- 简析中国电商直播行业发展现状
- JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)
- 电源电力专业术语整理
- 服务器充电桩是什么显示,怎么查高速服务区有没有充电桩?怎么查高速沿途充电桩...
- 中国第一大手机操作系统已有过亿用户,不是华为鸿蒙
- C语言学习笔记:内存的五大分区
热门文章
- HBase Shell工具操作HBase
- oracle如何查询权限,Oracle 权限查询
- Linux中标麒麟开机ROOT登录
- 为什么有些网站是以“www”开头的,而有些却是以http://开头的?
- 华为鸿蒙2025,转载:华为鸿蒙,一个本属于2025年的产品
- SystemVerilog-Clocking
- iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频篇...
- 微信小程序手机号码简单正则
- error: (-209:Sizes of input arguments do not match) The operation is neither ‘array op array‘ (where
- Creator实战项目【保卫萝卜】-- 卡片层、卡片