美文网首页每天学点机器学习我是程序员强化学习
增强学习小白?本文带你入门了解增强学习

增强学习小白?本文带你入门了解增强学习

作者: 阿里云云栖号 | 来源:发表于2017-09-22 16:06 被阅读182次

摘要:入门一件新事物总是会有些无从下手的,看了本文希望可以给大家一些帮助和了解。

机器学习算法,特别是神经网络被认为是新的AI革命的起因。在这篇文章中,我将介绍增强学习的概念,不过技术细节有限,只能使具有不同背景的读者能够理解该技术的本质、功能和局限性。

在本文末尾,我将提供一些实现RL的资源链接。

什么是增强学习?

从广义上讲,数据驱动算法可以分为三类:监督式、非监督式和增强学习。

前两个通常用于执行诸如图像分类、检测等任务,虽然它们的精确度是显著的,但这些任务不同于我们所期望的“智能”。

这就是增强学习的来源。这个概念本身是很简单的,就像我们的进化过程:环境给agent一个正确的东西给予奖励,并且对于错误的东西来惩罚它。主要的挑战是培养学习数百万种可能的做事方法的能力。

Q LearningDeep Q Learning

Q Learning是一种应用广泛的增强学习算法。如果不进行详细的数学运算,给定的动作质量取决于agent处于什么状态。agent通常执行给予最大回报的操作。详细的数学可以在这里找到。

在这个算法中,agent根据环境给予多少回报来学习每个动作的质量(称为Q值或策略)。每个环境的状态值以及Q值通常存储在表中。当agent与环境交互时,Q值从随机值更新到实际上有助于最大化回报的值。

Deep Q Learning

Q Learning使用表的问题在于它不能很好地扩展。如果状态数太高,该表将不适合于内存。这就是Deep Q Learning可以应用的地方。深度学习基本上是一种通用的近似机器,它能理解抽象的表示。深度学习可以用来近似Q值,也可以通过梯度下降学习Q值。

有趣的事情

谷歌在Deep Q Learning的某些元素上有专利权:

https://www.google.com/patents/US20150100530

探索vs开发

通常情况下,agent记录一条路径,永远不会尝试探索任何其他路径。 一般来说,我们希望一个agent不仅可以利用良好的路径,而且有时会探索可以执行操作的新路径。因此,一个名为ε的超参数用于指导探索新路径的多少和如何利用旧路径。

经验回放

在训练神经网络时,数据不平衡起着非常重要的作用。如果一个模型被训练,当agent与环境交互时,就会出现不平衡。

因此,所有状态以及相关数据都存储在内存中,神经网络可以随机选取一批交互和学习(这使得它与监督学习非常相似)。

训练框架

这就是Deep Q Learning的整体框架。 注意,这代表了打折的回报。这是一个超参数,可以控制未来回报的重量。符号’表示下一个。 例如 s'表示下一个状态。

图1.Deep Q Learning训练框架。授权:Robert Aguilera

延伸的增强学习

增强学习能很好地处理许多事情(如AlphaGo),但是在反馈稀疏的地方通常会失败。agent不会长期探索实际有益的行为。 有时,为了自身的缘故(内在动机)而不是直接尝试解决问题,需要采取一些行动。

这样做可以让agent执行复杂的操作,基本上允许agent计划事情。分层学习允许这种抽象学习。

图2.分层Deep Q Learning

在这种设置中,有两个Q网络。它们被表示为控制器和元控制器。 元控制器查看原始状态并计算要遵循的“目标”。 控制器与目标一起进入状态,并输出策略来解决目标。critic检查是否达成目标,并向控制器给予回报。 当片段结束或达到目标时,控制器停止。 然后,元控制器选择一个新目标,并重复这个目标。

“目标”是最终帮助 agent获得最终回报的东西。这更好,因为它有可能Q Learning接着Q Learning以一个分层的方式。

增强学习的入门资源

下列对那些希望开始增强学习的人很有帮助:

1.Deep Q Learning基础。对理解强化学习的数学和过程很有帮助。

2.分层学习论文,对于那些想详细了解分层学习的人。

3.作者解说分层学习论文的视频。(需翻墙)

4.深度RL:概述。我认为是增强学习手册。它涵盖了理解当前研究水平所需要的RL的几乎每个方面。它深入探讨数学,而且还提供了高层次的概述。

5.用一个python脚本来实现深层次的学习。也许最简单的深层次的Q学习实现。这是很容易理解的,一个伟大的起点。

图3.在操作中的Deep Q Learning。第5点为Python脚本的输出

最后非常感谢Robert Aguilera制作了插图和流程图。

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《5 Ways to Get Started with Reinforcement Learning

作者:Harshvardhan Gupta译者:TIAMO_ZN审阅:海棠

文章为简译,更为详细的内容,请查看原文附件为原文PDF

相关文章

  • 增强学习小白?本文带你入门了解增强学习

    摘要:入门一件新事物总是会有些无从下手的,看了本文希望可以给大家一些帮助和了解。 机器学习算法,特别是神经网络被认...

  • 增强学习(一)

    一. 增强学习简介 1.1 什么是增强学习? 机器学习的算法可以分为三类:监督学习,非监督学习和增强学习。 增强学...

  • 增强学习 参考

    中文+英文 增强学习的揭秘 雷锋网 算法工程师入门第二期——穆黎森讲增强学习(一) Guest Post (Par...

  • 学习传统文化,增强文化自信

    作为中国人,应该了解自己的历史以增强历史自信;学习中华民族史,以增强民族自信;学习建国史和改革开放史,以增强道路自...

  • 增强学习

    一、概念 机器学习算法大致可以分为三种:1、 监督学习(如回归,分类)2、 非监督学习(如聚类,降维)3、 增强学...

  • 增强学习

    介绍第一部分 参数方法——类密度模型参数估计第二部分 监督学习——分类(基于似然的方法)第三部分 监督学习——分类...

  • 深度学习与金融市场——增强学习是否是终极武器

    RL 本文我们来讨论一下比较有趣的深度学习模型,增强学习。大家都知道,著名的AlphaGo Zero使用的就是增强...

  • 增强学习玩转FlappyBird

    算是刚开始入门增强学习吧,结合毕设的要求,将增强学习的Q-learning和视频游戏结合起来,花几天时间啃透了ye...

  • 从零开始学运营,怎么入门?

    运营小白如何学习?怎么入门?应该具备怎样的思维方式?应该学习哪些东西?从什么方向学起? 【运营小白攻略】带你...

  • 增强学习资源

    增强学习是机器学习的一个重要分支。 如果您已经具备机器学习、深度学习的基本知识,可以直接上手增强学习,这里推荐UC...

网友评论

    本文标题:增强学习小白?本文带你入门了解增强学习

    本文链接:https://www.haomeiwen.com/subject/wydfextx.html