2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?

能否介绍一下强化学习(Reinforcement Learning),及其和监督学习的不同?、


114 人赞同了该回答

2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第1张图片

#2015-03-28

强化学习(RL)的基本组件:

环境(标准的为静态stationary,对应的non-stationary)

agent(与环境交互的对象)

动作(action space,环境下可行的动作集合,离散or连续)

反馈(回报,reward,正是有了反馈,RL才能迭代,才会学习到策略链)

细看下来,分明与监督学习(SL),无监督学习(UL)是不同的类别,RL更像控制系统家族里的。是的,RL里流着控制的血液,披着机器学习的外衣,这是因为它需要data,需要training以此来支持决策。RL可以decision-making,不同于决策树之类的决策(称为预测比较好),是控制角度的决策,意味着就有失误,伴随着收益与惩罚(股票,博弈,游戏得分等等)。细一点来说,RL与SL的区别有:

喂数据的方式不同:强化学习(RL)的数据是序列的、交互的、并且还是有反馈的(Reward)-【MDP]。这就导致了与监督学习(SL)在优化目标的表现形式的根本差异:RL是一个决策模型,SL更偏向模式挖掘,低阶的函数逼近与泛化。RL是agent自己去学习,SL是跟着programmer的idea在收敛。

RL的target是估计得来的,符合bellman等式,SL的target是fixed label;RL可以融合SL来训练,RL还可以自己博弈来生成样本。[交互特性,也可以放到第一点中]

RL可以进行lifelong形式的学习。RL有“生命”的【你可能也不知道你训练出来的模型到底能干什么】,SL没有。

#2016-04-05补充:上述提到了RL的基本组件,那么为何不同于SL?首先我认为RL=learning+decision-making,不是有“训练”数据就可以的(确切来讲训练一词不妥当),当action作用于环境,收到的reward是delayed,delayed意味着当前的action会影响long-term gain(RL的优化目标),SL里根本不存在这个概念;有意思的是RL的优化目标与SL或者UL也是截然不同的,SL/UL是尽可能的拟合当前一堆不会思考的数据,而RL考虑到了predictive control,会赋予当前的交互数据以决策权重。既然action会影响long-term gain,那么怎么选择action?这就不得不提exploration(探索)模块,又是一个行为心理学上的概念,可以说没有探索,RL学不到policy。因此在做RL研究的时候,始终要考虑到decision-making。不乏有人会说可以用SL为RL预训练一个base model。对,我觉得这一环节就像用到参数初始化的地方怎么选择初始化方法一样。扯远一点,当前RL的学习大部分是first-order的(从模型的更新方式角度来看),second-order怎么做或者是否可行?因为RL收敛到一个good policy实在很慢!

#2017-02-03:

http://introtodeeplearning.com/6.S091DeepReinforcementLearning.pdf

2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第2张图片

编辑于 2017-02-03

114​8 条评论

​分享

​收藏​感谢收起

甄景贤

研究普适人工智能

238 人赞同了该回答

2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第3张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第4张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第5张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第6张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第7张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第8张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第9张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第10张图片
2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?_第11张图片

我在外国博客上写过一些基於人工智能的文章,有些搬到了博客园,上面转录的是其中一篇:

什么是强化学习?

我正在研究的 AI architecture 是用强化学习控制 recurrent 神经网络,我相信这个设置可以做到逻辑推理和答问题的功能,基本上就是 strong AI。 但还有一些未解决的细节。  论文的标题是《游荡在思考的迷宫中》,即将发表。

補充: 還有一點,就是監督學習的問題可以很容易化為強化學習的問題(雖然這樣增加了複雜性而沒有益處),但反之則沒有一般的辦法。 見:Reinforcement Learning and itsRelationship to SupervisedLearning,Barto and Dietterich, 2004.

"But is it possible to do this theother way around: to convert a reinforcement learning task into a supervised learningtask?

"In general, there is no way to do this. The key difficulty is that whereas insupervised learning, the goal is to reconstruct the unknown function f that assignsoutput values y to data points x, in reinforcement learning, the goal is to find theinput x* that gives the maximum reward R(x*).

"Nonetheless, is there a way that we could apply ideas from supervised learningto perform reinforcement learning? Suppose, for example, that we are given a setof training examples of the form (xi, R(xi)), where the xi are points and the R(xi)are the corresponding observed rewards. In supervised learning, we would attemptto find a function h that approximates R well. If h were a perfect approximation ofR, then we could find x* by applying standard optimization algorithms to h."

编辑于 2016-11-23

238​16 条评论

​分享

​收藏​感谢收起

时冰蓝

5 人赞同了该回答

有朋友关注这个问题,我简单答下.

在我的理解中,Reinforcement Learning与普通Supervised Learning最大的区别在于,其训练包含着一个尝试的过程.这里用不用深层神经网络方法其实相对无关紧要.

比如图像或者文本分类,普通的分类算法会用某种方式提取特征,然后进行SVM或logistic regression.但对于博弈类游戏,比如围棋等,会有一个两个Agent互相用已有的模型制订策略,并根据最后的结果修正自己的模型的过程;或者是在寻路,控制算法中,会有一个根据表现的优劣来更新自己权重,尝试向更好的参数逼近的过程.

比如Feifei Li的 "Target Driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning"这篇文章里,用机器人看虚拟房间的方式并尝试寻路的方式,进行房间内按图像寻找位置和最优路径的任务训练.

之前Andrew Ng有篇文章讲直升机控制,也是这个原理."Autonomous Helicopter Flight Via Reinforcement Learning".

大概就是这样.

这种问题的难点在于非凸性.普通的classification,如果用深层神经网,那么optimizer的选择本身就是个问题.如果再涉及到reinforcement这种含有尝试性质的迭代过程,而不是用固有的数据集,那非凸性很可能就更加明显.目前的深层神经网方法对非凸性还没有一个非常好的,有数学证明的解决方式,一切都是靠摸索出来的经验进行.

发布于 2016-11-04

5​添加评论

​分享

​收藏​感谢

养肥了再杀吧

Applied Pig Phd

25 人赞同了该回答

以下我尝试提出一个尽量能够统一 SL(supervised learning), OL(online learning), RL(reinforcement learning) 的framework:

--------------------------------

for

1. 观测到数据

2. 选择action

3. 得到损失

目标是:

--------------------------------

SL:

给定i.i.d.的样本

,我们的目标是选择action

在SL literature里,

通常被称为hypothesis class/space,loss function一般具有如下形式

,其中

为度量空间中的某种距离。

SL的另一个特殊性是action不依赖于时间,因为在SL里所有数据一般共享模型参数。

可能有童鞋在这里会对此framework提出反驳,因为SL的目标并不是最小化在training set上的error,而是generalization error。不过这个可以体现在loss function里面,比如loss function中可以包含regularizer。

OL:

OL与SL的主要区别在于丢弃了i.i.d.假设,数据是按时间顺序来的,在每一个时间点都要选择action,并且利用数据不断的更新action。相同点在于loss function的形式

同理,在OL literature里目标往往是最小化regret,不过也可以体现在loss function里面。

注意到,在这里我们的action是依赖于时间的,所以对每个数据的action可以是不同。

RL:

RL的特殊性在于时刻

的action可以影响时刻

我们得到的data。具体的,在时刻

,我们观测到

(在RL里

一般被称作state),同时选择action

,然后suffer loss

,并且

所以从这个角度看,RL是一种更active的learning,因为我们可以用自己的action来决定如何探索state space。

RL里面partially observable的情况就更难一些,我们不能直接观测到state,在这种情况下

是某种观测量,然后通过

来更新对当前所在state的belief。

当然RL里面对于最终优化的目标还有一些其他的formulation,比如infinite horizon discounted cost对应

Note: optimal control theory也是这个framework的一种特殊情况,在RL中如果state transition是一个deterministic的dynamics:

,这就对应了optimal control。

关于行话:做RL的人由于整天面对着逆天难的问题,所以喜欢用reward(相对于loss)来激励自己。面对难题,乐观的态度还是蛮重要的 :)

编辑于 2016-03-28

25​8 条评论

​分享

​收藏​感谢收起

知乎用户

好人一个

3 人赞同了该回答

强化学习结合现在深度学习强大特征抽象能力,能不能算是好的车遇到了老司机呢

发布于 2016-05-05

3​添加评论

​分享

​收藏​感谢

知乎用户

Workers of the world, unite !

2 人赞同了该回答

Reinforcement Learning是一种介于有监督学习和无监督学习之间的方法,从学习方法、数据质量、学习效率等方式都可以看出。(RL是什么?这里先不重复基本问题了)

从数据质量(或者反馈方式)来说,RL远劣于监督学习。传统的有监督学习可以给出清晰地、非常有意义地label,而RL的反馈(Reward或者Value Function)能给出的信息量是非常少的——Agent只知道目前获得的Reward数值,并不知道这一选择到底是好还是坏。

(你给我Reward这个值是什么意思?我到底能不能做的更好?给我100分?我怎么100分的Reward好不好?万一其他Action可以拿到10000分呢?)

与其说RL的反馈是一种指导,还不如说它是一种参考价值非常低的评级,相比之下,有监督学习的指导效果才好。正因此,RL需要做出一个Exploration-Exploitation的Trade-off

啥是Exploration-Exploitation的Trade-off?

就是一边乱操作来获取环境给的其他Reward(明明知道这样做可以100分,但是我想试试看其他动作能不能拿200分,结果才获得10分,玩脱了,这就是Exploration),另一边为了获得最大的Reward,还不能把全部的机会都去碰运气,要老老实实做一些步骤(这就是Exploitation)。

这样瞎折腾的一路Trade-off过去,你说效率能有监督学习高么?

而且这里又是另外一个问题了,RL的Policy是随时随地在变化的(这也是Exploration-Exploitation Trade-off 必须存在的愿意),而一般来说,有监督学习的数据集是相对稳定的,数据的分布和真实数据分布差不多(iid是有监督学习的几个基本假设之一),学习起来比较轻松。

流变不居的RL有时要借助Online Learning来改善效果,经常穿上一条裤子,而我们都知道离线训练更轻松。

哦对了,有监督学习好像不怎么讲MDP或者Markovian。

从更宏观(扯淡)的角度来说,RL历史上是人工智能和运筹学的Overlap,而监督学习的运筹学影子就浅多了。以后大方向看,RL还在野蛮生长,远远没有成熟,以后可能要走向Constructivism。

祝学习愉快。

编辑于 2017-10-13

2​1 条评论

​分享

​收藏​感谢

加油毕业鹏先生

PhD candidate at UNSW

6 人赞同了该回答

awkkk给出了很好很不错的答案,特别RL与SL的对比写得好,答案开头附上的图更是醍醐灌顶让老衲热泪盈眶,下面是我的一些想法,当然是基于各答主的答案,如有错误请指正:

1. RL 是是一个序列预测的问题,这个问题与我们经常接触的time series(如stock selection)的区别在于,我们无法得到一个真正的target value来完成我们的loss function,而是用的自定义的反馈函数。

2. 利用反馈来优化RL带来的好处在于能够兼顾其对long term收益,对于一些需要长期策略支持的问题特别有效。举个栗子,下围棋和trading的策略有些是需要放长远的,短期的loss在长远来可能变成gain,而普通的SL对这种需要长短期记忆的问题处理得还相当简单直接。

总的说来,RL是一个需要长短期记忆的序列问题,其算法也有好几类,目前deep learning中炙手可热的lstm就可以用来解决RL的问题。所以我们在学习机器学习的时候,一定要注意如何定义问题,然后再针对不同的问题,不同的条件积累相应的算法。

好就酱,期待awkkk的更新!

发布于 2016-04-06

6​添加评论

​分享

​收藏​感谢

止忽

乘着地球的旅行家

1 人赞同了该回答

Reinforcement Learning学习不是单一方法,而是一种机器学习方式。

怎样的方式?是将机器学习算法和环境互动结合起来的方式。

这样在一个有限域内,只要时间充足(或做算力足够。往往都能在一个设定目标中获得较优解。

发布于 2016-12-09

1​添加评论

​分享

​收藏​感谢

蓝颂

7 人赞同了该回答

个人理解,强化学习是没有谁告诉你下一步该怎么走,要自己摸索,每一个动作对应一个奖赏,最后得到一个奖赏最大的方式进行数据处理。而监督学习是有数据和标签,通过反向传播算法的反馈来调节参数,直到误差最小

发布于 2017-05-24

7​添加评论

​分享

​收藏​感谢

卢瑟福

7 人赞同了该回答

强化学习是通过对未知环境一边探索一边建立环境模型以及学得一个最优策略。有监督学习则是事先给你了一批样本,并告诉你哪些样本是优的哪些是劣的(样本的标记信息),通过学习这些样本而建立起对象的模型及其策略。在强化学习中没有人事先告诉你在什么状态下应该做什么,只有在摸索中反思之前的动作是否正确来学习。从这个角度看,可以认为强化学习是有时间延迟标记信息的有监督学习。

发布于 2016-12-06

7​添加评论

​分享

​收藏​感谢

zer0

just peek into the beautiful non-linear world, like a child.

5 人赞同了该回答

监督学习(SL):给很多数据和标签(x,y),从这些数据中寻找函数

非监督学习(UL):发现数据中隐藏的结构和规律,也是寻找函数

,只不过没有标签。

强化学习(RL):没有明确的指导信号,reward可以看做是指导信号,类比SL是求解函数

,其中x是Agent的状态,z是Agent在该状态获得的奖励reward,f是要求解的策略policy,y则是输出的动作action,即根据状态和奖励序列求解最优策略,

RL 和SL UL的另外一个重要区别是SL UL需要满足数据是服从独立同分布的,而RL则不满足这个条件,因为Agent和环境交互过程中,它们的状态都是不断变化的,破坏了数据独立同分布的性质。RL系统中是时间往往很重要,这也是D.Sliver大神的观点,RL本质是对连续序列做决策的过程。

编辑于 2017-12-01

5​添加评论

​分享

​收藏​感谢

刘瀚阳

鹅厂Next Studio搬砖、《游戏编程算法与技巧》、jjyy.guru

5 人赞同了该回答

感觉回答都挺复杂的,我写个自己理解比较简单的:

1. 让机器人尽可能探索多的路径,采样更多回放

2. 通过回放学会预测拟合行为与回报之间的关系

3. 通过计算回报,预测更好的行动

你可能感兴趣的:(2018-01-30 转载知乎:强化学习(Reinforcement Learning),及其和监督学习的不同?)