云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_007幽灵党百度云_免费6个月

小七 141 0

好奇心驱动下一状态预测学习

在过去的几年里,我们看到了强化学习(RL)的许多突破。从2013年第一个通过强化学习成功地从像素输入直接学习策略的深度学习模型到2019年的OpenAI Dexterity项目,我们在RL研究中度过了激动人心的时刻。今天,我们将学习好奇心驱动的学习方法,这是深度强化学习中最有前途的一系列策略之一。多亏了这种方法,我们才得以成功地培养出一名特工,他以好奇心作为奖励,赢得了超级马里奥兄弟一级的冠军。记住,RL是建立在奖励假设的基础上的,即每个目标都可以被描述为报酬的最大化。然而,目前外在奖励(即环境给予的奖励)的问题是,这一功能是由人类硬编码的,无法扩展到现实世界的问题(例如为自动驾驶车辆设计一个良好的奖励功能)。好奇心驱动学习的思想是建立一个奖励函数,它是agent固有的(由agent自己生成)。从这个意义上说,代理将充当一个自学习者,因为它既是学生,也是自己的反馈主人。听起来很疯狂?是的,可能吧。这是2017年《好奇心驱动的自我监督预测探索》一文中再次提出的天才理念。第二篇论文《好奇心驱动学习的大规模研究》对研究结果进行了改进。为什么重新引入?因为好奇心是90年代以来RL的一个研究课题,J.Schmidhuber先生的惊人工作,你可以在这里读到。他们发现,好奇心驱动的学习者表现得和他们有外在的回报一样好,而且他们能够更好地概括未经探索的环境。现代远程教学中的两个主要问题现代RL面临两个核心问题:首先,奖励稀疏或不存在奖励问题:即大多数奖励不包含信息,因此设置为零。然而,由于奖励作为RL代理的反馈,如果他们没有收到任何反馈,他们对哪种行为是适当的(或不合适的)的知识就不会改变。多亏了这个奖励,我们的代理人知道在那个州的行动是好的。例如,在Vizdoom的"末日之家"中,你的经纪人只有在找到马甲时才会得到奖励。然而,马甲离你的起点很远,所以你的大部分奖励将是零。图片来源:Felix Steger因此,如果我们的代理没有收到有用的反馈(密集的奖励),它将需要更长的时间来学习一个最优的策略。第二个大问题是,外在的奖励功能是手工制作的——也就是说,在每种环境中,人类都必须实现一种奖励功能。但是,我们如何在大而复杂的环境中扩展它呢?什么是好奇心?因此,解决这些问题的一个方法就是开发一个agent固有的奖励函数,即由agent自身生成。这种内在的奖励机制被称为好奇心,因为它探索新奇/不熟悉的状态。为了实现这一目标,我们的代理在探索新的轨迹时将获得高额奖励。这个奖励设计是基于人类的游戏方式——有些人认为我们有一种探索环境和发现新事物的内在愿望!有不同的方法来计算这种内在的回报,我们将通过下一个状态预测来关注好奇心。通过基于预测的惊喜(或下一状态预测)的好奇心好奇心是一种内在的奖励,它等于我们的代理人在当前状态和所采取的行动下预测下一个状态的错误。更正式地说,我们可以将其定义为:为什么?因为好奇心的想法是鼓励我们的代理人采取行动,减少代理人预测自己行动后果的不确定性(在代理人花费较少时间的领域,或者在具有复杂动态的领域,不确定性会更高)。让我们进一步细分。假设你玩超级马里奥兄弟:如果你在游戏开始的时候花了很多时间(这不是什么新鲜事),经纪人就能够准确地预测下一个状态会是什么,所以奖励会很低。另一方面,如果你发现了一个新房间,我们的经纪人很难预测下一个状态,所以经纪人会被推到这个房间去探索。因此,测量误差需要建立一个环境动力学模型来预测给定当前状态和行为的下一个状态。我们可以问的问题是:我们如何计算这个误差?为了计算好奇心,我们将使用第一篇文章中介绍的一个模块,称为内在好奇心模块。需要一个好的功能空间在深入到模块的描述之前,我们必须扪心自问:我们的代理如何根据我们当前的状态和我们的操作来预测下一个状态?但是我们不能像通常那样通过预测下一帧来预测s(t+1)。为什么?首先,因为很难建立一个能够预测高维连续状态空间的模型,比如图像。很难直接预测像素,但是现在假设你处于末日,然后向左移动-你需要预测248*248=61504像素!这意味着,为了产生好奇心,我们不能直接预测像素,需要使用更好的特征表示,将原始像素空间投影到一个特征空间中,希望只保留代理可以利用的相关信息元素。在原始论文中定义了三条规则,以获得良好的特征空间表示:1为可以由代理控制的东西建模。2对代理无法控制但会影响代理的事物进行建模。三。不要对不受代理控制且对其没有影响的东西建模。第二个原因是我们不能像通常那样通过预测下一帧来预测s(t+1)?这可能不是正确的做法。想象一下你需要研究树叶在微风中的运动。首先,要模拟微风已经足够困难了,所以预测每个树叶在每个时间步的像素位置就更困难了。我们不需要在原始感官空间(像素)中进行预测,而是需要将原始感官输入(像素数组)转换为只包含相关信息的特征空间。让我们举个例子:你的经纪人是一辆自动驾驶汽车。如果我们想创建一个好的特征表示,我们需要建立以下模型:黄色的盒子是重要的元素。一个好的特征表示应该是我们的汽车(由我们的代理控制)和其他汽车(我们无法控制它,但这会影响代理),但我们不需要对树叶建模(它不会影响代理,我们也无法控制它)。通过只保留这些信息,我们将得到一个噪声更小的特征表示。所需嵌入空间应:在尺寸上要紧凑(去掉观察空间中不相关的部分)。保存足够的观察信息。要稳定,因为非固定的奖励(奖励随着时间的推移而减少,因为好奇心随着时间的推移而减少)使强化剂很难学习。为了计算预测的下一个状态和下一个状态的真实特征表示,我们可以使用一个内在好奇心模块(ICM)。ICM模块ICM模块是帮助我们产生好奇心的系统。它由两个神经网络组成,每个神经网络都有一个重要的任务。生成状态和下一状态特征表示的逆模型逆模型(g)的目的是预测动作(t),在这样做时,它学习状态和下一个状态的内部特征表示,用Φ(s(t))和Φ(s(t+1))表示。你可能会问,如果我们想要Φ(s(t))和Φ(s(t+1)),为什么我们需要预测作用?请记住,我们希望我们的状态表示只考虑可以影响我们的代理或它可以控制的元素。由于该神经网络仅用于预测行为,因此它没有动机在其特征嵌入空间中表示不影响agent自身的环境中的变化因素。最后,逆模型损失由我们预测的作用(t)和实际作用a(t)之间的交叉熵给出:预测下一状态特征表示的前向模型正演模型(f)预测了给定Φ(s(t))和a(t)下一态的特征表示。正演模型以Φ(s(t))和at为输入,预测s(t+1)的特征表示Φ(s(t+1))因此,好奇心将是一个实数,即我们预测的下一个状态的特征向量hatΦ(s(t+1))(由正向模型预测)与下一个状态的真实特征向量Φ(s(t+1))(由逆模型生成)之间的L2标准差。最后,该模块的总体优化问题是由反向损耗和正向损耗组成。我们将前向动力学模型的预测误差作为一种内在的奖励来激励它的好奇心。哎呀,那可是一大堆信息和数学!回顾一下:由于外部奖励的实现和稀疏的奖励问题,我们希望创建一个对代理来说是固有的奖励。为了做到这一点,我们创建了好奇,这是代理在预测其当前状态下的行为后果时的错误。使用好奇心,我们将促使我们的代理支持预测误差高的转换(在代理花费较少时间的区域,或者在具有复杂动态的区域,这将更高),从而更好地探索我们的环境。因为我们不能通过预测下一帧来预测下一个状态(这太复杂了),我们使用了一个更好的特征表示,它只保留那些可以被我们的代理控制或影响我们的代理的元素。为了产生好奇心,我们使用了由两个模型组成的内在好奇心模块:用于学习状态和下一状态特征表示的逆模型和用于生成预测特征表示的前向动力学模型