2019-11-29 啥是强化学习

问题来源

昨天和同学一起去听了一位老师的强化学习讲座,老师从AlphaGo引起人们对强化学习的关注讲起,一直讲到OpenAI Five在Dota这一非完全信息场景下击败人类顶尖选手。接着,老师又从以强化学习的发展历程为脉络讲述了其基本原理和当下存在的主要问题以及解决方法。

讲座结束后,和同学聊天时,说起强化学习与深度学习的区别是什么。我说了半天结果却给同学造成了一个“强化学习和深度学习差不多”的印象。现在想起来真是不如不解释,不过确实也是自己对强化学习不够了解,今天就来仔细分析一下强化学习是什么,以及他和深度学习的异同。

什么是强化学习,和深度学习有啥区别?

强化学习 是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。
深度学习是机器学习机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。
对比两者定义就知道这两者的区别不是鸡鸭的不同,而是老虎和海洋生物的区别。二者既没有隶属关系,也不是用相同的标准进行比较。
二者同属于机器学习的范畴内,与强化学习对应的是监督学习、无监督学习、半监督学习、特征学习、异常检测等问题在同一层面,而深度学习则是一种机器学习的算法,是神经网络的一种,与SVM、MLP等算法处于同一层面。

强化学习自然可以和深度学习相结合,他们爱情结晶的名字叫做深度强化学习。你看,既有深度又经过强化一看就很厉害是不是 \( ̄▽ ̄)/

AlphaGo以及OpenAI Five都应用了深度强化学习算法,谁让原有的强化学习表格法能力太弱还不能处理连续状态空间和连续动作空间呢。这里要说强化学习和深度学习有什么区别也不太好比较,怎么看都是风马牛不相及的两个东西。

那么强化学习和监督学习、无监督学习还有那一大堆有什么区别呢?

这个问题问的好!(别夸自己了)

监督学习的定义是从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。

无监督学习与监督学习相比,训练集没有人为标注的结果。

根据两者的定义,监督学习等是需要一个训练数据集的,目的是得到一个网络,等到新数据进入后通过这个网络可以给出期望的预测结果。监督学习主要包括训练数据、训练数据标签、算法、优化算法几个部分,而强化学习主要包括五个要素:Agent(一般翻译成智能体),Environment(环境)、Observation(观测)、Action(行动)、Reward(回报)。强化学习各个要素间的关系如图1所示。

图1 强化学习结构

如果要比较强化学习和监督学习的区别的话,那么可以说监督学习的大部分算法更像一锤子买卖。比如用深度学习检测图片,那么这一帧给一只狗在夜晚房门前的照片,下一帧给一只猫在白天海边的照片都应该得出一样的结果。但是在强化学习的训练中,算法需要从环境中感知一些信息,才能评价上一步的动作效果。换言之,强化学习注重通过智能体与环境进行交互,并以此获得观测值,对上一步的动作进行评价,并给出下一步的动作。

小结

这里胡乱讲了许多,主要说的还是强化学习在思想上和其他方法的异同。在具体概念上,连最基础的马尔科夫决策过程都没有提及,如果对强化()学习方法感兴趣,可以移步Sutton老爷子的Reinforcement Learning: An Introduction这本书在2018年做了一次版本更新,代替了98年的第一版。

参考资料

[1]维基百科编者. 机器学习[G/OL]. 维基百科, 2019(20190724)[2019-07-24]. https://zh.wikipedia.org/w/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&oldid=55351718.
[2]维基百科编者. 强化学习[G/OL]. 维基百科, 2019(20191021)[2019-10-21]. https://zh.wikipedia.org/w/index.php?title=%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0&oldid=56563604.

你可能感兴趣的:(2019-11-29 啥是强化学习)