好奇心驱动学习,使强化学习变得容易

雷锋的人工智能与技术回顾:加强学习是近年来最热门的研究领域之一,但在复杂的环境下难以训练的问题,在训练后难以推广的问题从未完全解决。

好奇心驱动的学习是一个非常有趣的解决方案,本文是一个详细的介绍。

雷锋的人工智能技术评论全文如下*这篇文章是深入学习工程师托马斯·西莫尼尼(Thomas Simonini)编写的个人坦索洛·弗洛(TensorFlow)强化学习课程的一部分,旨在了解教学大纲。

近年来,我们在密集学习领域看到了许多创新之处。

从2014年DeepMind的深层Q学习框架到2018年OpenAI发布的OpenAI五机器人玩Dota 2,我们生活在一个令人兴奋和充满希望的时代。

今天,我们将学习集中学习中最令人兴奋和最有希望的策略之一?

好奇心驱动学习。

强化学习建立在激励机制的基础上,每个目标都可以被描述为最大限度的回报。

然而,问题在于外部奖励(即由环境提供的奖励)是硬编码函数,是不可扩展的。

好奇心驱动学习的思想是创建一个具有内在奖励功能的Agent(奖励函数是由Agent本身生成的)。

这意味着代理人将成为一个自我学者,因为他既是一个学生,也是一个反馈人。

嘿探员我写了一个反馈函数给你反馈-不我有自己的反馈我现在是我自己的主人了。

听起来很疯狂。

是的,但这是一个天才的想法,在2017年的“好奇驱动的自我监督预测探索”文章中再次提到,然后用第二篇论文“好奇驱动学习的大规模研究”对结果进行了改进。

他们发现,好奇心驱动的学习者的表现和那些外部奖励机制一样好,并且能够更好地在未开发的环境中进行概括。

在第一篇文章中,我们将讨论理论部分,并从理论上解释好奇心驱动学习是如何工作的。

然后,在第二篇文章中,我们将实现一个好奇心驱动的学习ppo代理来扮演超级mario。听起来很有趣。我们来看看。强化学习中的两个主要问题是:第一,稀疏奖励问题在于行为与反馈(奖赏)之间的时差。如果每个动作都有奖励,那么智力就会经历快速学习以获得快速反馈。例如,如果你玩太空入侵者,你射击和杀死一个敌人,你得到奖励。因此,您将了解到,该场景中的操作是很好的。作为一个学习激励的人,你知道在这种状态下行动是很好的,但是在复杂的游戏中,比如实时策略游戏,你并不能对每一种行为都有直接的回报。所以糟糕的决定要到几个小时后才会回来。在帝国II的例子中,我们可以从第一张图片中看到,特工决定建造一个兵营,集中精力收集资源。所以,在第二张照片(几个小时后),敌人摧毁了我们的兵营,所以我们有很多资源,但是我们不能建立一支军队,所以我们死了。敌人摧毁我们兵营的第二个大问题是,外来的奖励是不能扩大的。因为在每一个环境中,我们都有一个奖励机制。但是,我们如何在大而复杂的环境中扩展它呢?解决方案是开发一种体内奖励机制(由代理本身生成),称为“好奇心”。新奖励函数:好奇心是一种内部奖励,它等于我们的代理人在当前状态下预测自己行为的后果的错误(即在当前状态和所采取的行动的情况下对下一个状态的预测)。因为好奇心的理念是鼓励我们的主体采取行动,减少学习主体预测自身行为后果的能力的不确定性(在这些行为中,Agent花费的时间较少,或者在动态复杂的领域不确定性较高)。因此,测量误差需要建立一个环境动态模型来预测给定当前状态和动作a的下一个状态。在这里,我们将问一个问题,我们如何计算误差?为了计算好奇心,我们将使用一个内部好奇模块(第一篇文章中提到的内在好奇心模块)要引入好奇心模块需要一个良好的特征空间,然后才能深入描述模型,我们必须问自己,代理如何根据当前的状态和行为来预测下一个状态。我们知道好奇心可以定义为给定当前状态st的预测新状态(St 1)与活动at和实际新状态之间的误差。但是请记住,在大多数情况下,我们的状态是由4个帧(像素)组成的堆栈。这意味着我们需要找到一种方法来预测下一个帧堆栈。有两个困难:第一,很难直接预测像素。想象一下你在末日中向左移动。您需要预测248*248=61504像素。其次,研究人员认为这是错误的,可以通过一个很好的例子来证明。想象一下你需要研究树叶在微风中的运动。首先,很难模拟微风,因此更难以预测每片叶子在每个时间点的像素位置。问题是,因为你总是有一个很大的像素预测误差,即使叶子的移动不是一个代理的行为的结果,代理总是会很好奇,所以它的持续好奇心是不可取的。因此,我们需要将原始的感觉输入(像素数组)转换为只包含相关信息的特征空间,而不是原始感觉空间(像素)中的预测。我们需要定义以下三条规则来构建一个良好的特性空间:对可以由代理控制的对象建模还有代理无法控制但可能会对其产生影响的事物的建模。不要模拟那些不受代理人控制而对它们没有影响的东西(因此不受影响)。让我们举个例子,你的学习身体是一辆汽车,如果我们想要创建一个好的特征表示,我们需要建模它:黄色的框架是我们的汽车的重要组成部分(由我们的代理控制)。其他汽车(我们不能控制,但可能会影响代理),但我们不需要建模树叶(我们不能控制它而不影响代理)这样我们就可以得到一个不那么嘈杂的签名了。所需的嵌入空间应该是:空间紧凑(移除观测空间中不相关的部分)。保留关于意见的充分资料稳定性:因为非固定报酬使学习变得困难。内在好奇心模块(ICM)是一个帮助我们产生好奇心的系统。它由两个神经网络组成。请记住,我们只想预测可能由代理的行为引起的环境变化,或者忽略影响代理的其他更改。这意味着,我们不需要从原始的感觉空间(像素)进行预测,而是需要将感官输入转换为仅表示与代理执行的操作相关的信息的特征向量。为了学习这个特征空间:我们使用自我监控来训练神经网络在agent反向动态任务上,在当前状态和下一个状态(st和st 1)的情况下预测学习行为(T)。因为神经网络只需要预测作用,它的特征向量空间中就没有动力来表示不影响Agent本身的环境因素。在前向模型部分,我们使用这个特征空间来训练前向状态模型。给出了当前状态Phi(St)的特征表示和作用,利用该模型对下一状态Phi(St 1)的未来表示进行了预测。并为Agent提供了前向动态模型的预测误差,作为激发其好奇心的内在激励因素。我们在ICM中有两个模型:反向模型(蓝色):将状态st和st 1编码到特征向量pi(St)和pi(St 1)中,训练它们来预测动作。用反向损失函数正向模型测量真实行为和预测行为之间的差异(RED):用Phi(St)和at作为输入,预测st 1的特征表示Phi(St 1)从数学上讲,前者的模型损失函数是下一个状态的特征向量与下一个状态的真实特征向量之间的区别。最后,该模块的整体优化问题是反向损耗和正向损耗的结合。这里有很多信息和数学。评审:由于外部奖励执行和稀疏奖励的问题,我们希望为代理创建一个内部奖励。为此,我们创造了好奇心,这是代理在预测其当前状态下行为的结果时所犯的错误。利用好奇心将推动我们的学习身体支持高预测错误的过渡(在行为者花费较少时间或动态复杂的领域更高),从而更好地探索我们的环境。但是,由于我们不能通过预测下一个帧(太复杂)来预测下一个状态,所以我们使用了更好的特征表示,只保留了代理可以控制或影响代理的元素。为了产生好奇心,我们使用了一个由两个模型组成的内部好奇心模块:一个用于表示学习状态和下一个状态的特征的反向模型,以及一个用于生成下一个状态的预测特征表示的前向动态模型。好奇心等于预测_Phi(St_1)(前向动态模型)和Phi(反向动态模型)之间的差异。今天就是这样。现在你已经理解了这个理论,你应该阅读两篇论文的实验结果:“自我监督预测的好奇驱动探索”,“好奇驱动学习的大规模研究”。下一次,我们将利用好奇心作为玩超级马里奥PPO学习的内在奖励机制。雷锋AI技术评论,VAWARDERS数据链Cence.com的编制

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

扫码关注云+社区

领取腾讯云代金券