首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

更多腾讯海量技术文章,请关注云+社区:https://cloud.tencent.com/developer

本译文自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的“强化学习:一个介绍”一书。谢谢阅读!在这里查看第二部分。

原文作者:JOSHGREAVES

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180301A0OGOE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券