田青 2021/01/12

为什么需要强化学习

我们先用一个例子来说明一下为什么需要用强化学习来解决问题。例如上图的机器人抓取问题:一个7自由度的机器人手臂,通过一个单目相机的输入(图片),试图用两个手指的夹持器去抓起盘子里的物体。所以,这个问题的输入就是图片,输出就是夹持器的抓取位置的xyz坐标。

解决这个问题可能有不同的方式。其中一个方式就是理解问题,并且设计出方案。就像上图中option1所示的那样。例如你可以利用你对机器人系统的了解来确定:夹持器的坐标、夹持器与相机的相对位置、物体的形状等等因素来构建出被夹持物体的相对位置,以及合理的夹持位置。这种方式对于简单的物体,例如上图中option1中1这样的蓝色塑料棒是比较适合的;但是如果物体比较复杂,例如重心对夹持位置的影响比较大,如option1中2所示的工具;或者一些软的可变形的物体,夹持器可以深入的物体内部做动作,如option1中3所示的海绵球来说,人为设计出一个夹持位置可能是一件比较难的事情。

另一种选择就是把它设计成一个机器学习问题,如上图的optioan2所示。但是,对于一般的监督学习来讲,需要给它提供大量的训练数据,例如大量的(图片,夹持位置)这种成对的数据,这种数据对于人来说是很难标注和取得的。你可以想想,图片和夹持位置之间的映射很难直观的得到。

所以这样的问题基本就需要通过强化学习的方式去解决。这门课的目的就是教会你用强化学习的方式解决类似的问题。

如果用一句话来概括强化学习,就是:从经验中获取技能。强化学习也是一种机器学习,但是,和普通的监督学习不同,它不要求数据一定的对的。数据可以是对的,例如一次成功的抓取,也可以是错的,例如一次失败的抓取。但是这些数据对于强化学习来说都是有用的,都是经验,智能体(机器人)使用强化学习的方法,通过这些经验就可以学习到一些技能,例如抓取物体的技能。对的数据可以帮助智能体学习到好的动作,错误的数据可以帮助机器人学习到如何避免错误的动作。

上图说明的就是强化学习的一般步骤,强化学习算法设计好以后,这个过程大概是自动完成的:

  1. 机器人采用初始策略做一些抓取动作。初始策略可能是人为设定的一些动作或者是随机的动作。
  2. 这些动作形成一些抓取轨迹,例如(图片,位置,图片,位置…)这样一条轨迹,这个轨迹作为数据保存,并且要标定这条轨迹是成功还是失败。这个标定过程也是自动的,例如可以用一些传感器来辅助判断一次抓取是成功还是失败。
  3. 强化学习算法使用收集的数据去做训练,训练出的结果一般是一个更好的策略。
  4. 机器人实施这个更好的策略去做抓取的动作。然后用这个更好的策略替代初始策略,继续收集数据做训练。从而重复这个循环迭代过程,使得策略被训练的越来越好,机器人最终就能学会抓取不同的物体了。

另外在收集数据的过程中可以使用多个机器人来并行的收集,这样可以增加效率。

什么是强化学习

那么什么是强化学习呢?强化学习大概指的是这两个方面:

  • 它是基于学习的决策过程的一种数学表达方式。使用这种表达方式可以去设计算法。
  • 它是从经验中去学习决策和控制的一种方法。例如从上面的叙述中可以看出,通过强化学习得到的控制方法(如何抓取物体)是从经验中学习到的,它不用详细的理解系统的结构,也不需要像监督学习那样大量的数据标注。

我们再对比一下强化学习和监督学习的区别:

监督学习

强化学习

数据是iid的,就是独立同分布的,数据之间没有相互影响,而且来自于同一个分布。

训练的过程中知道ground true的输出,也就是知道输入x所对应的正确的输出y是什么,这样才能训练出一个正确的f(x)。

数据不是iid的。前面数据的输出会影响后面的输入。例如游戏中采取不同的动作会影响到后面出现的场景。

没有正确的标注数据,只能知道成功或者失败,或者是动作的奖励值。

我们用上面这张图来进一步说明一下强化学习中的几个基本要素。强化学习是由智能体和环境相交互所组成的一个决策系统。智能体做出决策,通常指选择要执行的动作,环境返回动作执行的结果,也就是观测值,通常也指系统的状态,同时也返回一个奖励值。智能体和环境之间做多次交互,去完成一个episode,episode可以翻译成一个场景或者回合,例如一盘棋或者游戏中的一关,一个episode再长也是有限步骤的,这种情况就称为finite horizon。交互也可以是没有episode的,也就是无限循环的,一般称为infinite horizon,例如上图所示的库存管理系统。下面举几个不同的例子来说明交互过程中的要素:

训练狗

训练机器人执行任务

训练库存管理系统

智能体:狗

环境:食物

动作:肌肉收缩

观测值:形状、气味

奖励:食物

智能体:机器人

环境:周围环境

动作:电机的电流或者转矩

观测值:照相机图片

奖励:完成任务的好坏(例如达到的速度)

智能体:管理系统

环境:库存

动作:购买什么

观测值:库存水平

奖励:利润

智能体与环境交互的目的就是去获取更多的奖励(智能体活得好像很现实

CS285课程解释_01_为什么是深度强化学习相关推荐

  1. 【2022·深度强化学习课程】深度强化学习极简入门与Pytorch实战

    课程名称:深度强化学习极简入门与Pytorch实战 课程内容:强化学习基础理论,Python和深度学习编程基础.深度强化学习理论与编程实战 课程地址:https://edu.csdn.net/cour ...

  2. UC伯克利出品,深度强化学习最新课程已上线

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 主题涵盖深度强化学习领域的方方面面,UC 伯克利 CS 285 2020 秋季课程视频放出. ...

  3. UC伯克利最新深度强化学习课程上线,视频已上传到B站

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 又有新的AI学习资源上线了. 这次是来自UC伯克利的秋季课程:Deep Reinforcement Learning,课程代号CS 285 ...

  4. 2019年伯克利大学 CS294-112《深度强化学习》第1讲:课程介绍和概览(笔记)

    这里是CS294-112深度强化学习课程,我的名字叫Sergey Levine是这门课的授课老师,材料会放在课程主页:http://rail.eecs.berkeley.edu/deeprlcours ...

  5. 资源 | UC Berkeley CS 294深度强化学习课程(附视频、学习资料)

    来源:机器之心 本文共4000字,建议阅读10分钟. 本文主要介绍了课程中的强化学习主题,涉及深度强化学习的基本理论与前沿挑战. CS294 深度强化学习 2017 年秋季课程的所有资源已经放出.该课 ...

  6. 李宏毅深度强化学习(国语)课程(2018) 笔记(二)Proximal Policy Optimization(PPO)

    李宏毅深度强化学习(国语)课程(2018)_哔哩哔哩_bilibili on-policy:要learn的agent和环境互动的agent是同一个,即agent一边跟环境互动,一边学习: off-po ...

  7. 李宏毅深度强化学习(国语)课程(2018) 笔记(一)Policy Gradient (Review)

    李宏毅深度强化学习(国语)课程(2018) https://www.bilibili.com/video/BV1MW411w79n?spm_id_from=333.337.search-card.al ...

  8. 李宏毅深度强化学习(国语)课程(2018) 笔记(八)Imitation Learning

    李宏毅深度强化学习(国语)课程(2018) 李宏毅深度强化学习(国语)课程(2018)_哔哩哔哩_bilibili ​        机器是可以与环境进行交互的,但是大部分情况下,机器却不能从这个过程 ...

  9. 深度强化学习(资源篇)(更新于2020.11.22)

    理论 1种策略就能控制多类模型,华人大二学生提出RL泛化方法,LeCun认可转发 | ICML 2020 AlphaGo原来是这样运行的,一文详解多智能体强化学习的基础和应用 [DeepMind总结] ...

最新文章

  1. 2018最后一战:25天编程PK赛!
  2. 我可以在Android版式中加下划线吗?
  3. 从1到n整数中1出现的次数
  4. 【每周CV论文推荐】 初学深度学习人脸属性分析必读的文章
  5. flutter实现底部弹出框以及特色功能
  6. Substring Removal
  7. 不重启的情况下linux系统安装中文包生效
  8. uniapp连接php,thinkphp5 对接手机uni-app的unipush推送(个推)
  9. Java 8 (10) CompletableFuture:组合式异步编程
  10. 蜘蛛牌 HDU - 1584(搜索——达到先让某些段先结合,达最优解)
  11. 实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)
  12. FreeSWITCH第三方库(视频)的简单介绍(二)
  13. 【Keil】Keil5无法更改背景色和字体解决方案
  14. Udp通信 暑期学习笔记(三)
  15. React Native填坑之旅--Button篇
  16. 【三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 1260期】
  17. 有关于阿里云的历史-阿里云这群疯子
  18. 戴尔服务器怎么win7系统安装系统,戴尔 DELLVostro3400能不能安装windows7系统_戴尔 DELLVostro3400怎么安装win7系统-win7之家...
  19. 已有的事,后必再有。已行的事,后必再行。
  20. 2021年中式面点师(中级)最新解析及中式面点师(中级)模拟考试题库

热门文章

  1. 人力资本、人均受教育年限,受高等教育人数比重(1997-2020)
  2. 提前预测精准选股指标 判断趋势的最佳指标 通达信好用的钻石趋势指标副图
  3. H5项目(基于vue框架)常见问题及注意事项
  4. 计算机编程语言中表示文本的一种数据类型,VBA代码中可用的六种数据类型
  5. MTK平台双卡区分SIM卡1和SIM卡2来电通知
  6. c语言求正方形内切圆面积公式,C语言已知内切圆半径求直角三角形的三条边长...
  7. 词向量学习笔记(一)Word2vec
  8. pagehelper mybatis yml文件配置
  9. OpenMax IL层设计分析总结
  10. RPi.GPIO 官方使用文档翻译