近年来,人工智能(AI)在强化学习算法的加持下取得了令人瞩目的成就。例如,在围棋、星际争霸II、Dota2等众多战略竞技类游戏中,AI有着世界冠军级的表现,在跑、跳、跳等技能的自主学习中也发挥了重要作用。抓。影响。今天,人工智能可能会变得“更聪明”。作为机器学习的一个关键领域,强化学习关注的是如何根据环境采取行动。它的灵感来自于心理学中的行为主义理论,即生物体在环境给予的奖励或惩罚的刺激下,如何逐渐形成对刺激的预期,产生产生最大利益的习惯行为。但是,这种算法思路有明显的缺点:很多成功的案例只能通过设计良好的奖励机制和大量的信息才能实现。当遇到反馈很少的复杂环境时,强化学习算法很容易碰壁。因此,以往的AI很难解决hardexploration的问题,而hardexploration通常伴随着稀疏和欺骗性的reward。今天发表在《自然》(自然)杂志上的一项研究提出了一种新的强化学习算法,它在经典的Atari2600游戏中超越了顶级人类玩家和以前的人工智能系统,已经达到了最先进的水平《蒙特祖马的复仇》(Montezuma'sRevenge)和《陷阱》(Pitfall!)等探索系列游戏。论文的主要作者来自OpenAI和UberAILabs。他们将这类算法统称为Go-Explore。这类算法改进了探索复杂环境的方式,或者说是人工智能向真正的智能学习体演进的重要一步。.事实上,UberAILabs早在2018年就展示了Go-Explore算法在探索游戏中的表现。图|Go-Explore在探索游戏中的表现(来源:YouTube)AI探索能力的症结论文的第一作者和通讯作者受到了阻碍。阿德里安·埃科菲特(AdrienEcoffet)目前是OpenAI的一名研究科学家。兴趣是强化学习(特别是受探索和质量多样性启发的方法)和人工智能安全(特别是道德一致性),近年来,重点一直放在多代理环境中的紧急复杂性上。在进入OpenAI之前,他还曾在UberAILabs工作。想要让强化学习算法走得更远,就需要对症下药。根据Ekofit和他的同事们的说法,有两个主要问题阻碍了以前算法的探索能力。第一个是“分离”,算法过早地停止返回到状态空间的某些区域,尽管有证据表明这些区域仍然很有希望。当有多个区域需要探索时,分离尤其可能发生,因为智能体可能会部分探索一个区域,切换到第二个区域,而忘记如何访问第一个区域。第二种是“脱轨”,算法的探索机制阻止代理返回到之前访问过的状态,直接阻止探索或强制探索机制最小化,从而无法进行有效探索。如何理解这些概念?这必须在Go-Explore算法推出之前开始。简单来说,为了解决探索游戏中奖励稀疏的问题,算法科学家通常采用内在激励(IM)的方法,即人为地在整个环境中平均分配奖励,以鼓励智能体探索新的领域。和新的状态。图|“分离”状态示意图(来源:arXiv)如上图所示,绿色区域表示内在奖励,白色区域表示没有内在奖励的区域,紫色区域表示算法当前正在探索的区域.例如,当智能体位于两个迷宫入口之间时,它会从左侧的迷宫开始随机搜索。由于IM算法要求代理随机尝试新的行为以寻找更多的内在奖励,因此在搜索左侧迷宫的50%后,代理可能随时开始搜索右侧迷宫。然而,深度学习本身存在“灾难性遗忘”(CatastrophicForgetting)的问题,这意味着当使用神经网络学习新任务时,需要更新网络中的参数,但是从之前提取的知识任务也存储在这些参数上,每当学习到新任务时,agent就会忘记学习旧任务所获得的知识,无法像人类一样利用之前学习的经验和知识快速进行相似技能的学习.因此,在完成右侧的搜索后,agent不记得在左侧的迷宫中探索了什么。更糟糕的是,左侧迷宫的早期部分已经探索了一部分,因此几乎没有内在奖励可用于刺激agent深入探索。研究人员将这种情况总结为:算法脱离了提供内在动机的状态范围。当智能体认为它已经访问过这些区域时,深度探索行为可能会停止,从而错过尚未探索的大片区域。天真地遵循奖励机制会使代理人走入死胡同。因此,探索问题的关键在于明确避免“脱节”和“脱轨”情况的发生,让智能体能够明确地“记住”有希望的状态和区域,并在探索新区域之前返回到这些状态。Go-Explore的算法逻辑为了避免分离,Go-Explore构建了代理在环境中访问过的不同状态的“档案”,从而确保状态不会被遗忘。如下图所示,从一个只包含初始状态的存档开始,迭代构建这个存档。图|Go-Explore方法概述(来源:Nature)首先,它可能会选择一个状态从存档中返回(a),返回到所选状态(b),然后从该状态开始探索(c),将返回并探索过程中遇到的每个状态都映射到低维单元表示(d),用遇到的所有新状态更新存档(e)。整个过程让人想起经典的规划算法,其潜力在深度强化学习研究中相对低估。然而,对于强化学习中关注的问题(例如上述Atari游戏中的探索难题),这些问题是高维的,具有稀疏奖励和/或随机性,没有已知的规划方法是有效的,并且由于状态探索的空间太大而无法执行穷举搜索,随机转换使得无法知道节点是否已完全扩展。Go-Explore可以看作是将规划算法的原理移植到这些具有挑战性的问题上。以前的强化学习算法不是将返回和探索分开,而是将探索贯穿始终,通常会在一小部分时间内添加随机动作,或者从随机“策略”中抽样——在每个决策中做出每个动作的函数状态,通常是神经网络。通过在探索之前返回,Go-Explore通过在返回时最小化探索来避免出轨,之后它可以专注于更深入地探索未知。Go-Explore还提供了一个独特的机会来实现强化学习任务模拟器的可用性和通用性。模拟器是“可恢复环境”,因为之前的状态可以保存并立即返回,完全消除脱轨。在利用可恢复环境的这一特性时,Go-Explore通过反复恢复(从其存档中的状态采取探索动作)在其“探索阶段”彻底探索环境区域,并最终返回它找到的最高轨迹分数(动作顺序)。这样的轨迹对于随机性或意想不到的结果是不可靠的。例如,机器人可能会滑倒并错过关键转弯,从而使整个轨迹无效。为了解决这个问题,Go-Explore还通过“从演示中学习”(LFD)训练了一个鲁棒性的策略,其中探索阶段的轨迹取代了通常的人类专家演示,在足够随机的环境变体中保证了鲁棒性。效果如何?Atari基准套件是强化学习算法的重要基准,是Go-Explore的合适测试平台,因为它包括一系列具有不同程度的奖励稀疏性和欺骗性的游戏。在测试中,Go-Explore平均“超级英雄”表现,超越了此前算法在11场比赛测试中的最佳表现。在Montezuma'sRevenge中,Go-Explore的记录是之前state-of-the-art得分的四倍;在Pitfall!中,Go-Explore的探索能力超过了人类的平均表现,而之前的很多算法根本无法得分。实验结果表明,已经取得了实质性的突破,这也是多年来强化学习研究的重点。图|Go-Explore在游戏《Montezuma'sRevenge》中的表现(来源:YouTube)图|Go-Explore在游戏Pitfall中的表现!(来源:YouTube)值得注意的是,不同的算法需要不同的计算能力。Go-Explore处理的帧数(300亿)与其他分布式强化学习算法类似,例如Ape-X(220亿)和NGU(350亿),尽管旧算法处理的帧数通常是更低,但许多算法显示出收敛的迹象(意味着预计不会有进一步的进展),并且对于其中许多算法,尚不清楚它们是否能够在合理的时间内处理数十亿帧。图|Go-Explore在Atari平台游戏中的强势表现(来源:Nature)此外,Go-Explore的能力不仅限于高难度的探索问题,它还能为OpenAIgym提供的所有55款Atari游戏找到超人的得分。轨迹,这是一项前所未有的壮举,其中85.5%的游戏轨迹得分高于这些游戏中以前最先进的强化学习算法。研究人员表示,在实际应用中,通常可以基于领域知识来定义有用的特征,而Go-Explore可以利用这些易于提供的领域知识,通过仅构建与探索相关的功能单元来显着提高性能。Go-Explore生成策略,Montezuma'sRevenge平均得分超过170万,超过state-of-the-art150倍。Go-Explore不仅适用于探索游戏,还可以用于机器人。机器人技术是强化学习的一个有前途的应用,它通常很容易为机器人任务定义高级目标(例如,将杯子放在橱柜中),但定义足够密集的奖励函数(例如,奖励所有低级运动指令以形成动作,如向杯子移动、抓住杯子等)。而Go-Explore允许放弃这种密集的奖励函数,只考虑高级任务的稀疏奖励函数。图|Go-Explore可以解决一个具有挑战性、奖励稀疏的模拟机器人任务(来源:Nature)研究人员通过机械臂模拟实验证明,Go-Explore可以解决一个实际困难的探索任务:机械臂必须拿起一个物体并将它放在四个架子之一中,其中两个在带锁的门后面,只有当物品被放置在指定的目标架子上时才会给予奖励。用于连续控制的最先进的强化学习算法ProximalPolicyOptimization(PPO)在这种环境下训练10亿帧后没有遇到任何奖励,显示了这项任务的困难探索性,而Go-ExploreTrajectories在探索阶段,将物品放入四个架子可以快速可靠地找到。Go-Explore发现的轨迹的稳健性分析表明,可以在99%的时间内生成稳健的策略。MorePossibilitiesPolicy-basedGo-Explore还包括其他促进探索和稳定学习的创新,其中最重要的是自我模仿学习、动态熵增加、软轨迹和动态事件约束,在方法部分详细讨论纸。研究人员表示,这项工作中提出的Go-Explore算法系列的有效性表明它将导致许多领域的进步,包括机器人技术、语言理解和药物设计。论文中提到的示例仅代表Go-Explore可能实现的能力的一小部分,为未来的算法研究开启了许多激动人心的可能性。根据该论文,未来工作的一个关键方向是改进学习单元表示,例如通过基于压缩的方法、对比预测编码或辅助任务,这将使Go-Explore能够泛化到更复杂的领域。此外,Go-Explore探索阶段的规划性质也凸显了移植其他强大规划算法(如MCTS、RRT等)的通用性、性能、鲁棒性和效率。这项工作中提出的见解导致发现,记住以前发现的状态、返回它们然后从中探索的简单逻辑是人工智能算法不可或缺的一部分,并且可能是代理进步的一个基本特征。这些在Go-Explore内部和外部的见解对人类创建更强大的AI系统的能力具有新的意义。参考资料:https://www.nature.com/articles/s41586-020-03157-9https://www.youtube.com/watch?v=u6_Ng2oFzEY&featurehttps://towardsdatascience.com/a-short-introduction-to-go-explore-c61c2ef201f0https://eng.uber.com/go-explore/https://arxiv.org/abs/1901.10995https://adrien.ecoffet.com/
