强化学习中的好奇与拖延

2024-02-13 04:20
文章标签 学习 强化 好奇 拖延

本文主要是介绍强化学习中的好奇与拖延,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文 / Google Brain 团队研究实习生 Nikolay Savinov 和 DeepMind 研究员 Timothy Lillicrap


强化学习 ( Reinforcement Learning, RL ) 是机器学习领域目前最热门的研究技术之一。在学习过程中,如果人工智能体正确执行了指令,就会收到正面奖励,反之则会收到负面奖励。这种 “胡萝卜加大棒” 的方法简单通用,DeepMind 的研究人员曾用这种方法教 DQN 算法玩老式 Atari 游戏,教  AlphaGoZero 下古代围棋。OpenAI 也曾用这种方法教其 OpenAI-Five 算法玩现代电子游戏 Dota,Google 在教机械臂抓取新物体时用的也是这种方法。迄今,我们已在 RL 领域取得不少成功,但要将其发展成为一项有效的技术,仍需克服诸多难题。

标准的 RL 算法在对智能体反馈稀疏的环境中表现不佳,更关键的是,这种环境在现实世界中非常常见。举例来讲,假如您正在尝试学习如何在一个迷宫般的大超市里找到您最喜欢的奶酪。您找来找去,但就是找不到奶酪区。如果每一步都得不到 “胡萝卜”,也得不到 “大棒”,您就无法知道自己走的方向是否正确。在没有奖励的情况下,您要如何避免原地打转?除了利用您的好奇心以外,大概别无他法。好奇心会促使您走进看似陌生的产品区,寻找喜欢的奶酪。 

在 Google Brain 团队、DeepMind 和苏黎世联邦理工学院合作的研究论文《借助可达性激发情景好奇心》(Episodic Curiosity through Reachability) 中,我们提出了一种基于情景记忆的新模型,它可以提供与好奇心类似的 RL 奖励,推动智能体探索环境。我们希望智能体不仅可以探索环境,而且要能够解决原始任务,因此,我们在奖励稀疏的原始任务中添加了模型提供的奖励。这样,组合后的奖励不再稀疏,标准 RL 算法就可以从中学习了。换言之,我们的好奇心方法扩展了可以使用 RL 解决的任务集。


640?wx_fmt=png

借助可达性激发情景好奇心:我们将观察结果添加到智能体的记忆中,根据当前观察结果与记忆中最相似的观察结果之间的差距来计算奖励。智能体如果看到记忆中尚未出现的观察结果,就可以得到更多奖励


该方法的核心理念是将智能体对环境的观察结果存储在情景记忆中,并且当智能体观察到记忆中尚未出现的内容时给予奖励。在此方法中,“新事物” 指的是 “记忆中没有” 的东西,寻找这类观察结果就相当于在寻找陌生的东西。这种探索陌生事物的驱动力会指引人工智能体到达新的位置,防止其原地打转,并最终帮助其在无意中找到目标。正如下文所述,我们的机制可以让智能体远离其他一些机制容易产生的不良行为。非常出人意料的是,这些行为与外行人所称的“拖延”有些相似之处。



以前的好奇心机制

虽然此前已有许多建立好奇心机制的尝试[1][2][3][4],但在本文中,我们将着重讨论一种非常热门的自然方法,即通过基于预测的意外激发好奇心。最近一篇题为《通过自我监督的预测进行好奇心驱动下的探索》(Curiosity-driven Exploration by Self-supervised Prediction) 的论文探讨了这种方法(通常称为 “ICM 方法”)。 为了说明意外情形如何引发好奇心,我们再回过头来看看在超市寻找奶酪这个比喻。


640?wx_fmt=jpeg

插图 © Indira Pasko,根据 CC BY-NC-ND 4.0 许可使用


在逛超市时,您会尝试预测(“我现在在肉类区,所以我觉得拐角的区域是水产区,因为在这种连锁超市里这两个区域通常是挨着的”)。如果预测错了,您会感到意外(“不会吧,这里竟然是蔬菜区。没想到是这样!”),并因此得到奖励。这让您以后更愿意在拐角处闲逛,探索新的地点,只为看看您的预期与现实是否一致(也有希望意外发现奶酪)。 

与之类似,ICM 方法构建了一个关于世界动态的预测模型,并在模型未能作出良好预测时给予智能体奖励(意外事件或新事物的标记)。请注意,探索没到过的地点并不是 ICM 好奇心机制的直接组成部分。对于 ICM 方法而言,只是通过访问这些地点获得更多 “意外”,从而让总体奖励最大化。事实证明,在某些环境中,可能有其他方法可以令自己意外,导致无法预料的结果。


640?wx_fmt=gif

具有基于意外之好奇心的智能体在遇到电视时卡住不动了。GIF 截取自 © Deepak Pathak 的视频,根据 CC BY 2.0 许可使用



“拖延” 的危险

在《关于好奇心驱动型学习的大规模研究》(Large-Scale Study of Curiosity-Driven Learning) 一文中,ICM 方法的创立者和 OpenAI 的研究人员展示了意外最大化的潜在风险:智能体能够学会放任类似拖延的行为,而不去做对手头任务有用的事情。要了解个中原因,请看一个常见的思维实验,实验设计者称其为 “嘈杂的电视问题”,即将智能体放置于迷宫中,让其寻找一个奖励非常丰厚的物品(类似于之前超市示例中的 “奶酪”)。该环境中还有一台电视机,智能体有电视遥控器。电视频道的数量有限(每个频道的节目截然不同),并且每次按动遥控器都会随机切换频道。智能体在这种环境下会如何表现?

对基于意外的好奇心机制而言,更换频道会带来巨大的奖励,因为每次更换都是不可预测和令人意外的。关键是,即使在所有可观看的频道都循环了一次后,随机的频道选择也能确保每次更换都令人意外,因为智能体会预测更换频道后电视会播放什么节目,而这个预测很可能出错,从而导致意外的出现。重要的是,即使智能体已经看过了每个频道播出的每个节目,这种更换依然是不可预测的。因此,具有基于意外之好奇心的智能体最终会一直留在电视前,而不去寻找奖励非常丰厚的物品,这种情况与拖延很相似。那么,如何定义好奇心才能避免这种行为?



情景好奇心

在《借助可达性激发情景好奇心》(Episodic Curiosity through Reachability) 一文中,我们探讨了一种基于情景记忆的好奇心模型,事实证明,该模型不太容易产生 “自我放任” 的即时满足感。这是为什么?以上述实验为例,在不停更换频道一段时间后,所有的节目最后都会出现在记忆中。因此,电视将不再那么有吸引力:尽管出现在屏幕上的节目顺序是随机且不可预测的,但所有节目都已经在记忆中了!这是与基于意外的方法最大的区别:我们的方法甚至不会尝试对难以(或甚至不可能)预测的未来作出猜想。恰恰相反,智能体会检查过去的信息,确认其是否见过与当前情况类似的情景。因此,我们的智能体不会被嘈杂的电视带来的即时满足感吸引太多的注意力。它必须前往探索电视以外的世界,以获得更多奖励。 

但是,我们如何确定智能体是否看到了与已有记忆相同的情景?检查二者是否完全匹配可能没有意义:在现实环境中,智能体很少会再次看到完全相同的场景。例如,即使智能体返回了完全相同的房间,它观察房间的角度也仍然会与记忆中的不同。

我们使用经过训练的深度神经网络来衡量两种体验的相似度,而不是检查看到的场景是否与记忆完全匹配。为了训练该网络,我们让其猜测两个观察结果的时间是否接近。时间上的接近程度是判定两段体验是否属于同一段经历的良好标准。此训练通过可达性建立了 “新事物” 的一般概念,如下图所示。


640?wx_fmt=png

通过可达性确定新事物的图示。实际上,我们无法获得此图示,因此我们训练了神经网络逼近器来估算观察结果之间的步骤数



实验结果

为了比较不同好奇心方法的表现,我们在这两个视觉元素很丰富的 3D 环境中对它们进行了测试:ViZDoom 和 DMLab。在这些环境中,智能体的任务是解决多种问题,例如在迷宫中搜寻目标,或是收集好物体,避开坏物体。DMLab 环境恰好能为智能体提供科幻里类似激光的小工具。在此前的测试中,DMLab 的标准设置就是为智能体装备这个小工具,它适用于所有任务,但如果智能体在执行特定任务时不需要该工具,也可以不使用它。有意思的是,与上述的嘈杂电视实验类似,基于意外的 ICM 方法多次使用了这个小工具,即使它对当前任务并无帮助!智能体的任务是在迷宫中搜寻一个奖励非常丰厚的物体,但它却更喜欢花时间标记墙壁,因为这会带来许多 “意外” 奖励。从理论上来说,预测标记结果应该是可能的,但实际上要困难得多,因为对于标准智能体而言,它明显没有能力掌握预测所需的更深层的物理知识。


640?wx_fmt=gif

基于意外的 ICM 方法在持续标记墙壁,而没有探索迷宫

    

而我们的方法则在同样的条件下学习合理的探索行为。这是因为它没有尝试预测其行为的结果,而是从情景记忆已经存在的场景中寻找 “更难” 实现的观察结果。换言之,智能体会暗中追寻记忆中需要更多努力才能达到的目标,而不是进行单一的标记操作。


640?wx_fmt=gif

我们的方法展示了合理探索

    

有趣的是,我们给予奖励的方法惩罚了一个原地打转的智能体。这是因为在完成第一次循环后,除了已经存在于记忆中的情景外,智能体不会再遇到新的观察结果了,也就不会得到奖励:


640?wx_fmt=gif

对奖励进行可视化:红色代表消极奖励,绿色代表积极奖励。从左到右分别为:标有奖励的地图、标有记忆中已有位置的地图、第一人称视角


同时,我们的方法支持良好的探索行为:


640?wx_fmt=gif

对奖励进行可视化:红色代表消极奖励,绿色代表积极奖励。从左到右分别为:标有奖励的地图、标有记忆中已有位置的地图、第一人称视角


希望我们的研究能够推动新一波探索方法的涌现,让智能体能够超越基于意外的好奇心机制,学习更多智能探索行为。关于此方法的深入分析,请查看我们的 研究论文 预印本(https://arxiv.org/abs/1810.02274)



致谢

此项目是 Google Brain 团队、DeepMind 和苏黎世联邦理工学院的合作研究成果。核心团队成员包括 Nikolay Savinov、Anton Raichuk、Raphaël Marinier、Damien Vincent、Marc Pollefeys、Timothy Lillicrap 和 Sylvain Gelly。感谢 Olivier Pietquin、Carlos Riquelme、Charles Blundell 和 Sergey Levine 讨论本篇论文,同时感谢 Indira Pasko 帮助制作插图。



参考文献

[1]《基于计数的神经密度模型探索》("Count-Based Exploration with Neural Density Models"),Georg Ostrovski、Marc G. Bellemare、Aaron van den Oord、Remi Munos


[2]《#探索:基于计数的深度强化学习探索研究》("#Exploration: A Study of Count-Based Exploration for Deep Reinforcement Learning"),Haoran Tang、Rein Houthooft、Davis Foote、Adam Stooke、Xi Chen、Yan Duan、John Schulman、Filip De Turck、Pieter Abbeel


[3]《内在驱动型目标的无监督学习目标空间探索》("Unsupervised Learning of Goal Spaces for Intrinsically Motivated Goal Exploration"),Alexandre Péré、Sébastien Forestier、Olivier Sigaud、Pierre-Yves Oudeyer


[4]《VIME:变分信息最大化探索》("VIME: Variational Information Maximizing Exploration"),Rein Houthooft、Xi Chen、Yan Duan、John Schulman、Filip De Turck、Pieter Abbeel



更多 AI 相关阅读:



640?wx_fmt=gif

这篇关于强化学习中的好奇与拖延的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704470

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件