强化学习讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的环境(environment)里面去极大化它能获得的奖励。

强化学习和监督学习

强化学习有这个 试错探索(trial-and-error exploration),它需要通过探索环境来获取对环境的理解。
强化学习 agent 会从环境里面获得延迟的奖励。
在强化学习的训练过程中,时间非常重要。因为你得到的数据都是有时间关联的(sequential data),而不是独立同分布的。在机器学习中,如果观测数据有非常强的关联,其实会使得这个训练非常不稳定。这也是为什么在监督学习中,我们希望数据尽量是独立同分布,这样就可以消除数据之间的相关性。
Agent 的行为会影响它随后得到的数据,这一点是非常重要的。在我们训练 agent 的过程中,很多时候我们也是通过正在学习的这个 agent 去跟环境交互来得到数据。所以如果在训练过程中,这个 agent 的模型很快死掉了,那会使得我们采集到的数据是非常糟糕的,这样整个训练过程就失败了。所以在强化学习里面一个非常重要的问题就是怎么让这个 agent 的行为一直稳定地提升。
为什么我们关注强化学习,其中非常重要的一点就是强化学习得到的模型可以有超人类的表现。

监督学习获取的这些监督数据,其实是让人来标注的。比如说 ImageNet 的图片都是人类标注的。那么我们就可以确定这个算法的上限(upper bound)就是人类的表现,人类的这个标注结果决定了它永远不可能超越人类。
但是对于强化学习,它在环境里面自己探索,有非常大的潜力,它可以获得超越人的能力的这个表现,比如谷歌 DeepMind 的 AlphaGo 这样一个强化学习的算法可以把人类最强的棋手都打败。
这里给大家举一些在现实生活中强化学习的例子。

在自然界中,羚羊其实也是在做一个强化学习,它刚刚出生的时候,可能都不知道怎么站立,然后它通过试错的一个尝试,三十分钟过后,它就可以跑到每小时 36 公里,很快地适应了这个环境。
你也可以把股票交易看成一个强化学习的问题,就怎么去买卖来使你的收益极大化。
玩雅达利游戏或者一些电脑游戏,也是一个强化学习的过程。



Reward
奖励是由环境给的一个标量的反馈信号(scalar feedback signal),这个信号显示了 agent 在某一步采取了某个策略的表现如何。

强化学习的目的就是为了最大化 agent 可以获得的奖励,agent 在这个环境里面存在的目的就是为了极大化它的期望的累积奖励(expected cumulative reward)。

不同的环境,奖励也是不同的。这里给大家举一些奖励的例子。

比如说一个下象棋的选手,他的目的其实就为了赢棋。奖励是说在最后棋局结束的时候,他知道会得到一个正奖励或者负奖励。
羚羊站立也是一个强化学习过程,它得到的奖励就是它是否可以最后跟它妈妈一块离开或者它被吃掉。
在股票管理里面,奖励定义由你的股票获取的收益跟损失决定。
在玩雅达利游戏的时候,奖励就是你有没有在增加游戏的分数,奖励本身的稀疏程度决定了这个游戏的难度。
Sequential Decision Making

Value Function

价值函数是末来奖励的一个预测,用来评估状态的好坏。 100 块钱,因为你可以把这 100 块钱存在银行里面,你就会有一些利息。所以我们就通过把这个折扣因子放到价值函数的定义里面,价值函数的定义其实是一个期望,如下式所示:
vπ(s)≐Eπ[Gt∣St=s]=Eπ[∑k=0∞γkRt+k+1∣St=s], for all s∈S\mathrm{v}_{\pi}(\mathrm{s}) \doteq \mathbb{E}_{\pi}\left[\mathrm{G}_{\mathrm{t}} \mid \mathrm{S}_{\mathrm{t}}=\mathrm{s}\right]=\mathbb{E}_{\pi}\left[\sum_{\mathrm{k}=0}^{\infty} \gamma^{\mathrm{k}} \mathrm{R}_{\mathrm{t}+\mathrm{k}+1} \mid \mathrm{S}_{\mathrm{t}}=\mathrm{s}\right] \text {, for all } \mathrm{s} \in \mathcal{S} vπ​(s)≐Eπ​[Gt​∣St​=s]=Eπ​[k=0∑∞​γkRt+k+1​∣St​=s], for all s∈S
这里有一个期望 Eπ\mathbb{E}_{\pi}Eπ​ ,这里有个小角标是 π\piπ 函数,这个 π\piπ 函数就是说在我们已知某一个策略函数的时候,到底可以得到多少的奖励。
我们还有一种价值函数: QQQ 函数。 QQQ 函数里面包含两个变量: 状态和动作,其定义如下式所示:
qπ(s,a)≐Eπ[Gt∣St=s,At=a]=Eπ[∑k=0∞γkkRt+k+1∣St=s,At=a]\mathrm{q}_{\pi}(\mathrm{s}, \mathrm{a}) \doteq \mathbb{E}_{\pi}\left[\mathrm{G}_{\mathrm{t}} \mid \mathrm{S}_{\mathrm{t}}=\mathrm{s}, \mathrm{A}_{\mathrm{t}}=\mathrm{a}\right]=\mathbb{E}_{\pi}\left[\sum_{\mathrm{k}=0}^{\infty} \gamma^{\mathrm{k}^{\mathrm{k}}} \mathrm{R}_{\mathrm{t}+\mathrm{k}+1} \mid \mathrm{S}_{\mathrm{t}}=\mathrm{s}, \mathrm{A}_{\mathrm{t}}=\mathrm{a}\right] qπ​(s,a)≐Eπ​[Gt​∣St​=s,At​=a]=Eπ​[k=0∑∞​γkkRt+k+1​∣St​=s,At​=a]
所以你末来可以获得多少的奖励,它的这个期望取决于你当前的状态和当前的行为。这个 QQQ 函数是强化学习算法里面要学习的一个函数。因为当我们得到这个 QQQ 函数后,进入某一种状态,它最优的行 为就可以通过这个 QQQ 函数来得到。

基于策略迭代和基于价值迭代的强化学习方法有什么区别?

基于策略迭代的强化学习方法,agent会制定一套动作策略(确定在给定状态下需要采取何种动作),并根据这个策略进行操作。强化学习算法直接对策略进行优化,使制定的策略能够获得最大的奖励;基于价值迭代的强化学习方法,agent不需要制定显式的策略,它维护一个价值表格或价值函数,并通过这个价值表格或价值函数来选取价值最大的动作。
基于价值迭代的方法只能应用在不连续的、离散的环境下(如围棋或某些游戏领域),对于行为集合规模庞大、动作连续的场景(如机器人控制领域),其很难学习到较好的结果(此时基于策略迭代的方法能够根据设定的策略来选择连续的动作);
基于价值迭代的强化学习算法有 Q-learning、 Sarsa 等,而基于策略迭代的强化学习算法有策略梯度算法等。
此外, Actor-Critic 算法同时使用策略和价值评估来做出决策,其中,智能体会根据策略做出动作,而价值函数会对做出的动作给出价值,这样可以在原有的策略梯度算法的基础上加速学习过程,取得更好的效果。

有模型(model-based)学习和免模型(model-free)学习有什么区别?

答:针对是否需要对真实环境建模,强化学习可以分为有模型学习和免模型学习。
有模型学习是指根据环境中的经验,构建一个虚拟世界,同时在真实环境和虚拟世界中学习;免模型学习是指不对环境进行建模,直接与真实环境进行交互来学习到最优策略。总的来说,有模型学习相比于免模型学习仅仅多出一个步骤,即对真实环境进行建模。免模型学习通常属于数据驱动型方法,需要大量的采样来估计状态、动作及奖励函数,从而优化动作策略。免模型学习的泛化性要优于有模型学习,原因是有模型学习算需要对真实环境进行建模,并且虚拟世界与真实环境之间可能还有差异,这限制了有模型学习算法的泛化性。

Reinforcement Learning——强化学习相关推荐

  1. 机器学习-49-RL-01-Deep Reinforcement Learning(强化学习-强化学习的基本介绍 Policy-based方法的基本介绍)

    文章目录 Deep Reinforcement Learning Reference Example: Scenario of Reinforcement Learning(强化学习的应用场景) Su ...

  2. Reinforcement Learning强化学习系列之二:MC prediction

    引言 这几个月一直在忙找工作和毕业论文的事情,博客搁置了一段时间,现在稍微有点空闲时间,又啃起了强化学习的东西,今天主要介绍的是强化学习的免模型学习free-model learning中的最基础的部 ...

  3. 李宏毅Reinforcement Learning强化学习入门笔记

    文章目录 Concepts in Reinforcement Learning Difficulties in RL A3C Method Brief Introduction Policy-base ...

  4. Reinforcement Learning | 强化学习十种应用场景及新手学习入门教程

    文章目录 1.在自动驾驶汽车中的应用 2.强化学习的行业自动化 3.强化学习在贸易和金融中的应用 4.NLP(自然语言处理)中的强化学习 5.强化学习在医疗保健中的应用 6.强化学习在工程中的应用 7 ...

  5. Reinforcement Learning强化学习 (第二版)

    中文版: 链接:https://pan.baidu.com/s/19Ci_47hjfEfLhfNs3EtuyA?pwd=lul1  提取码:lul1

  6. Reinforcement learning book 学习笔记 第一章

    RL学习 写在前面: 本专栏是学习由Richard S. Sutton and Andrew G. Barto 所著 <Reinforcement learning>的学习笔记,如有指正请 ...

  7. 强化学习(Reinforcement Learning)入门学习--01

    强化学习(Reinforcement Learning)入门学习–01 定义 Reinforcement learning (RL) is an area of machine learning in ...

  8. 分层强化学习综述:Hierarchical reinforcement learning: A comprehensive survey

    论文名称:Hierarchical reinforcement learning: A comprehensive survey 论文发表期刊:ACM Computing Surveys 期刊影响因子 ...

  9. 必看,61篇NeurIPS深度强化学习论文解读都这里了

    作者 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) NeurIPS可谓人工智能年度最大盛会.每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究,并进行热烈探讨,大 ...

最新文章

  1. 一行CSS样式去除百度地图版权,去除百度地图右上角平移缩放控件的市县区文字
  2. lenet pytorch 官方demo学习笔记
  3. boost::container模块实现多态向量的测试程序
  4. jquery使用技巧总结
  5. 数据库服务器协议,数据库搭载服务器 协议
  6. AxureUX 复制Iconfont图标到Axure
  7. 林业局计算机考试试题,汕头市农业局林业局计算机信息网络安全保护管理制度...
  8. Android 锁屏通知 权限获取
  9. Bellman-Ford与spfa算法
  10. linux echo 时间
  11. vs项目配置类型解析
  12. 转:绝对论坛元老,05年注册。告诉你一个真实的魅族
  13. Python脚本一键找出哪些微信好友删了你(附源码)
  14. HDU1430,魔板
  15. 安装启用firewalld防火墙
  16. [转载][AutoCAD二次开发][2017]Autocad2017 ObjectARX 开发 环境配置和踩到的坑
  17. 河南分销系统开发|服装行业如何做引流裂变?
  18. java计算机毕业设计智慧物业管理系统源码+数据库+系统+lw文档+mybatis+运行部署
  19. 2019年营销经典案例
  20. C#操作excel打印

热门文章

  1. RAID磁盘阵列(二)
  2. python程序员专用壁纸_数据可视化!看看程序员大佬都推荐的几大Python库
  3. 编程语言-闭包-浅析
  4. 电影感想——《记得香蕉成熟时》
  5. 抖音大火的AI虚拟人,画的猫为啥这么丑?
  6. 关于IE浏览器出现“XMLHttpRequest: 网络错误 0x80070005, 拒绝访问”的解决方案
  7. 饥荒mod制作教程--植物(灌木丛)--01
  8. CASE WHEN怎么使用
  9. win7 家庭版升级旗舰版
  10. 委以重用的意思_被领导重用的五个信号,往往从改变称呼开始,后面就是升职加薪...