122

在开始强化学习前,你所需要了解的知识。 - 云+社区 - 腾讯云

 6 years ago
source link: https://cloud.tencent.com/developer/article/1007118?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在开始强化学习前,你所需要了解的知识。

修改于2018-01-02 08:10:32阅读 1.7K0

本译文自JOSHGREAVES发表在https://joshgreaves.com/Everything You Need to Know to Get Started in Reinforcement Learning。文中版权、图像代码等数据均归作者所有。为了本土化,翻译内容略作修改。

在这个由两部分组成的系列文章的最后,您将会了解理解强化学习算法如何工作所需的所有基本理论。

在两篇文章中,我将分享约85页强化学习教科书中最重要的内容。RL是任何机器学习从业人员工具包中非常有用的工具,这些帖子被设计为强化学习的基础,以便尽快实现最新的模型。当然,为了更彻底地处理这个问题,我建议你拿起Sutton和Barto的“强化学习:介绍”这本教科书,但是这篇文章会试图给强化学习背后的理论提供一个快速,直观的基础。

监督与评估学习

对于许多感兴趣的问题,监督式学习的范式并不能带给我们所需要的灵活性。监督学习与强化学习的主要区别在于所收到的反馈是  评价性还是  指导性的。 教学反馈告诉你  如何实现你的目标,而评估反馈告诉你如何你达到了你的目标。监督学习基于指导反馈解决问题,强化学习基于评估反馈解决问题。图像分类是带有指导性反馈的监督问题的例子; 当算法试图分类某一段数据时,会告诉它真正的类是什么。另一方面,评价反馈仅仅告诉你你在实现目标方面做得如何。如果您使用评估性反馈训练分类器,您的分类器可能会说“我认为这是一只仓鼠”,作为回报,它将得到50分。没有更多的背景,我们真的不知道50分是什么意思。我们需要做其他的分类和探索  找出我们的50分是否意味着我们是否准确。也许10,000是一个更可敬的分数,但我们只是不知道,直到我们试图分类一些其他的数据点。

两个金色的星星和一个笑脸猜测仓鼠。如果你猜沙鼠,你可以拥有一颗银星,半个竖起大拇指

在许多感兴趣的问题中,评估反馈的想法更加直观和易于理解。例如,设想一个控制数据中心温度的系统。有指导意义的反馈在这里似乎没有什么意义,你怎么告诉你的算法每个组件在任何给定时间步的正确设置?评估反馈更有意义。您可以轻松地反馈数据,例如某个时间段内使用了多少电量,或平均温度是多少,甚至有多少台机器过热。这实际上是谷歌如何解决这个问题,强化学习。所以让我们直接跳到它。

马尔可夫决策过程

一个状态s 据说是马尔可夫,如果来自该状态的未来在条件上独立于过去,那么我们知道  s。这意味着  s 描述直到当前状态的所有过去的状态。如果这样做没有多大意义,通过实例来看就容易多了。考虑一个飞行在空中的球。如果它的状态是它的位置和速度,那么足以描述它已经存在的位置和将要到达的位置(给定一个物理模型,并且没有外部影响)。因此,就具有了马尔可夫的属性。但是,如果我们只知道球的位置而不知道它的速度,那么它的状态就不再是马尔可夫了。目前的状态并不总结所有过去的状态,我们需要从上一个时间步骤的信息开始建立一个合适的球的模型。

强化学习通常被建模为马尔可夫决策过程(MDP)。MDP是一个有向图,它的节点和边描述了马尔可夫状态之间的转换。这是一个简单的例子:

用于学习MDP的简单MDP。

这个MDP显示了学习MDP的过程。起初你在国家  不明白。从那里,你有两个可能的行动,学习 或 不学习。如果你选择不学习,那么你有100%的机会回到  不了解 状态。但是,如果你学习,那么你有20%的机会最终回到你开始的地方,但有80%的机会结束了 理解 状态。

真的,我相信有一个转换到理解状态的概率高于80%的概率,MDP的核心是非常简单的。从一个州有一套你可以采取的行动。在你采取行动之后,你可以转换到什么状态。就像“ 不要研究” 行动一样,过渡也可能是确定性的。

强化学习的目标是学习如何在更有价值的状态上花费更多的时间。为了有一个有价值的状态,我们需要更多的信息在我们的MDP。

你不需要一个MDP教你不吃东西会使你饿死。不过,强化学习代理可能会。

这MDP有另外的  增加奖励。每次你进入一个状态,你都会得到奖励。在这个例子中,你会因饥饿而获得负面报酬,并会因为饥饿而获得巨大的负面报酬。如果你满了,你会得到一个积极的回报。现在我们的MDP已经完全形成了,我们就可以开始思考如何使行动获得最大的回报!

由于这个MDP非常简单,很容易看到,留在更高奖励区域的方式是每当我们饥饿的时候吃东西。我们没有太多的选择,当我们满足这个模式时,我们将不得不再次饿肚子,可以立即选择吃饭。与强化学习有关的问题有更多更复杂的MDP,而且我们往往不了解它们,而是需要从探索中学习  。

形式化强化学习问题

现在我们有很多我们需要的构件,我们应该看看RL中使用的术语。最重要的组成部分是  代理人和  环境。代理存在于间接控制的某个环境中。通过回顾我们的MDP,代理人可以选择在给定状态下采取哪种行动,这对其所看到的状态具有显着的影响。然而,代理并不完全控制环境的动态。环境在收到这些行动后,将返回新的状态和奖励

萨顿与巴托的形象 - 强化学习:引言

从萨顿和巴托的“强化学习:介绍”(强烈推荐)这本书中,我们可以很好地解释这种情况。 在某个时间步骤t,代理处于状态st,并采取行动。 环境然后以新的状态st + 1和奖励rt + 1作出响应。 奖励是在t + 1的原因是因为它是随着t + 1状态的环境而返回的,所以把它们保持在一起是有意义的(如图中所示)。

我们现在有一个强化学习问题的框架,并准备开始考虑如何最大化我们的奖励。在下一篇文章中,我们将学习状态值函数和动作值函数,以及为解决强化学习问题的算法奠定基础的Bellman方程。我们还将探索一些简单而有效的动态编程解决方案。如果你想听到不同的解释,或想深入探讨这个问题,我建议David Silver的Youtube系列强化学习系列,以及Sutton和Barto的“强化学习:一个介绍”一书。谢谢阅读!在这里查看第二部分。

原文链接:https://joshgreaves.com/reinforcement-learning/introduction-to-reinforcement-learning/

原文作者:JOSHGREAVES


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK