强化学习的分类方法

总体认识

强化学习的分类方法_第1张图片

强化学习是很大的概念,他包含了很多种算法,我们也会一一提到其中一些比较有名的算法,比如有通过行为的价值来选取特定行为的方法,包括使用表格学习的Q Learning方法,sarsa等,使用神经网络学习的Deep Q Network,还有直接输出行为的policy gradients,又或者了解所处的环境,建模出一个虚拟的环境并从虚拟的环境中学习等等。

了解强化学习中常用到的几种方法,以及他们的区别,对我们根据特定问题选择方法时很有帮助。强化学习是一个大概念,发展历史也不短,有很多中不同方法。比如说比较知名的控制方法Q Learning,policy gradients,还有基于对环境的理解的model-based RL等等。接下来我们通过分类的方式来了解他们的区别。

Model-free 和 Model-based

强化学习的分类方法_第2张图片

我们可以将所有强化学习的方法分为理不理解所处的环境,如果我们不尝试去理解环境,环境给了我们什么就是什么。我们把这种方法叫做model-free,这里的model是用模型来表示环境,理解了环境也就是学会了用一个模型来代表环境,所以这种就是model-based方法。我们假设,现在环境是我们的时间,我们的机器人在这个世界里玩耍,他不理解这个世界是怎么样构成的,也不理解时间对于他的行为会怎么样反馈。举个例子,他决定扔一颗原子弹去真是的时间,结果把自己给炸死了,所有结果都是那么现实。不过如果采取的是model-based RL,机器人会通过过往的经验,先理解真是世界是怎么样的,并建立一个模型来模拟现实时间的反馈,最后他补交可以在现实世界中玩耍,也能在模拟的世界中玩耍,这样就灭毕业去炸真实的时间,连自己也炸死了,他可以像玩游戏一样炸炸游戏里的时间,也保住了自己的小命。接下来我们来说说这两种方式的强化学习有哪些方法。

Model-free的方法有很多,如Q Learning, sarsa,policy gradients都是从环境中得到反馈然后从中学习。而model-based RL只是多了一道程序----为真实世界建模,因此也可以说他们都是model-free的强化学习,只是model-based多出了一个虚拟环境,我们不仅可以像model-free那样在现实中玩耍,还能在游戏中玩耍,而玩耍的方式也都是model-free中那些玩耍方式,最终model-based还有一个绝招是model-free非常羡慕的----想象力。

Model-free中,机器人只能按部就班,一步一步等待真实世界的反馈,再根据反馈采取下一步行动。而model-based,他能通过想象来预判断接下来将要发生的所有情况。然后选择这些想象情况中最好的那种。并依据这种情况来采取下一步的策略,这也就是围棋场上alphago能够超越人类的原因。接下来,我们再来用另外一种分类方法将强化学习分为基于概率和基于价值。

基于概率 和 基于价值

强化学习的分类方法_第3张图片

基于概率是强化学习中最直接的一种,他能通过感官分析所处的环境,直接输出下一步要采取的各种动作的概率,然后根据概率采取行动,所以每种动作都有可能被选中,只是可能性不同。而基于价值的方法输出则是所有动作的价值,我们会根据最高价值来选择动作,相比基于概率的方法,基于价值的决策部分更为确定,毫不留情,只选价值最高的,而基于概率的,即使某个动作的概率最高,但是还是不一定会选到他。

我们现在说的动作都是一个一个不连续的动作,而对于选取连续的动作,基于价值的方法是无能为力的。我们却能用桂英概率分别在连续动作中选取特定动作,这也是基于概率的方法的优点之一。那么这两类使用的方法又有哪些呢?

比如在基于概率这边,有policy gradients,在基于价值这边有Q Learning,sarsa等。而且我们还能结合这两类方法的优势之处,创造更厉害的一种方法,叫做Actor-Critic,actor会基于概率做出动作,而critic会对做出的动作给出动作的价值,这样就在原有的policuy gradients上加速了学习过程。

回合更新 和 单步更新

强化学习的分类方法_第4张图片

强化学习还能用另外一种方式分类,回合更新和单步更新。假设强化学习是在玩游戏,游戏回合有开始和结束。回合更新指的是游戏开始后,我们要等待游戏结束,然后再总结这一回合中的所有转折点,再更新我们的行为准则。而单步更新则是在游戏进行中每一步都在更新,不用等待游戏的结束,这样我们就能边玩边学习了。

再来说说方法,Monte-carlo learning和基础版的poliby gradients等都是回合更新制,Q Learning,sarsa,升级版的policy gradients等都是单步更新制。因为单步更新更有效率,所以现在大多方法都是基于单步更新,比如有的强化学习问题并不属于回合问题。

在线学习 和 离线学习

强化学习的分类方法_第5张图片

最后一组分类方式是在线学习和离线学习。所谓在线学习,是指我必须本人在场,并且一定是本人边玩边学习,而离线学习是你可以选择自己玩,也可以选择看着别人玩,通过看别人玩来学习别人的行为准则,离线学习同样是从过往的经验中学习,但是这些过往的经历没必要是自己的经历,任何人的经历都能被学习。或者我也不必要边玩边学习,我可以白天先存储下来玩耍时候的记忆,然后晚上通过理性学习来学习白天的记忆。那么每种学习的方法又有哪些呢?

最典型的在线学习就是sarsa了,还有一种优化的sarsa的算法,叫做sarsa lambda,最典型的利息学习是Q Learning,后来人也根据离线学习的属性,开发了更强大的算法,比如让计算机学会玩电动的Deep Q Network。

这篇文章从不同的角度来对比了强化学习中的多种算法。

你可能感兴趣的:(机器学习)