由于我对RL的期望挺大,很看好它的前景,故之后应该会写下一个系列的强化学习文章,标题是易忽略的强化学习知识之XX,也就是说,我写下的是我觉得有必要知道比较重要并容易忽略的知识。也许不会所有强化学习的知识都全面的写,但希望可以对大家有所帮助,同时巩固我自己的知识!
强化学习的主要应用是什么?在其他如NLP的应用呢?
强化学习的整体运行流程是什么样的呢?(新媒体排版)
强化学习的分类
什么是马尔可夫(Markov)性?什么是MP?什么是MRP?
动态规划是什么?为什么可以利用动态规划来解决MDP?
1:
强化学习是什么:是多学科多领域交叉的一个产物,它的本质就是解决“decision making”问题,即学会自动进行决策。
在计算机科学领域体现为机器学习算法。
在工程领域体现在决定操作动作的顺序来得到最好的结果。
在神经科学领域体现在理解人类大脑如何做出决策,主要的研究是奖励机制。
在心理学领域,研究动物如何做出决策,动物的行为是由什么导致的。
在经济学领域体现在博弈论的研究。
.......
它是什么可以是如图所示:
以上所有的问题最终都归结为一个问题,人为什么能够并且如何做出最优决策。是怎么样找到最优决策的
2:
机器学习包括:监督学习、无监督学习、强化学习,故强化学习是机器学习的一个分支,和监督,无监督是并列关系。
无监督学习和强化学习的区别应该容易知道,下面说说监督学习和强化学习的区别,从强化学习的特点出发:
强化学习没有监督数据、只有奖励信号
奖励信号不一定是实时的,而很可能是延后的,有时甚至延后很多。且时间(序列)是一个重要因素。
强化学习面对的输入(状态)总是在变化且不独立,输入不像监督学习是独立同分布的。而每当算法做出一个行为,它影响了下一次决策的输入,我认为这点是最重要的区别。
3:
强化学习的主要应用是什么?在其他领域如NLP的应用呢?
首先强化学习现有具有非常广泛的应用:直升机特技飞行、经典游戏、投资管理、发电站控制、让机器人模仿人类行走等等。
强化学习现有在nlp的应用:文本序列生成,对话策略决策,用户目标模拟等等。
强化学习现有在cv的应用:强化学习的Attention方法在图像的应用,强化学习润色照片等等
然后我认为强化学习在nlp或cv领域是有很大前景的!为什么?
比如强化学习是天然可以在NLP上应用的:
在离散空间的文本生成和序列决策,RL有先天的对应,也就是说,通过agent在离散策略空间的搜索生成下一个词或者序列,结合reward的反馈,是可以很好的work的。
先举个例子,在goal oriented的对话系统的,关键步骤就是决策下一轮对话agent该干什么(提问?确认?结束?),那就可以利用RL的方法来决策。而RL的本质无非就是结合环境的观测加上reward的引导做出下一步的决策。
最后是RL的优势:可以克服其他目标函数如MLE的缺陷,可以模拟大量样本,或者借助先前经验进行学习(如DQN)等等。
cv的话我不是很了解,但也有一些应用RL的论文,只要转为状态到决策问题,应该都是可以做的。
4:
举个CS249(是门好课)的例子,如果我们想让机器学会开车,一个很直接的想法是观察人类行为,并且模仿人类,在相应观测下做出人类所做行为。将这个想法实现起来也很简单,只需要收集该任务的一些观测(路面的画面),以及每个观测人类会做出的反应(转动方向盘),然后像监督学习一样训练一个神经网络,以观测为输入,人类行为为标签,其中行为是离散时是分类任务,连续时是回归任务:
然而这简单的监督学习理论上并不可行,一个直观的原因是由于现实的随机性或者复杂性,使得机器所采用的动作和人类的动作有偏差或者动作所产生的结果有偏差,这样在有偏差的下一状态,机器还会做出有偏差的动作,使得之后状态的偏差积累,导致机器遇到监督学习时没有碰到过的状态,那机器就完全不知道该怎么做了,也就是如下图所示:
需要人类提供的大量数据(尤其是深度学习,需要大量样本)。
人类对一些任务也做的不太好,对于一些复杂任务,人类能做出的动作有限。
我们希望机器能自动学习,即能不断地在错误中自我完善,而不需要人类的指导。
也就是说,直接用模仿学习来解决实际问题很多时候可能比强化学习弱,但是在有些方面比如解决多步决策(sequential decision)中,因学习器不能频繁地得到奖励,且这种基于累积奖赏及学习方式存在非常巨大的搜索空间,传统的强化学习不能很好的解决问题。(新媒体排版)
而我们先通过模仿学习学得初始策略模型,然后在通过强化学习改进模型,获得更好的策略,就可以较好地解决多步决策问题。更多关于模仿学习的的知识,比如逆强化学习什么的