来源:Google AI

作者:Nikolay Savinov, Timothy Lillicrap,

编译:大明

【新智元导读】Google、Deepmind和苏黎世联邦理工学院的研究人员提出“好奇心学习”新方法,改变了智能体“好奇心”的生成方式和奖励机制,奖励机制不再基于智能体的“意外”,而是其记忆和所在情景。研究人员称,新方法可以有效降低智能体“原地兜圈子”、“拖延”等不良行为,有效提升模型性能。

强化学习是机器学习中最活跃的研究领域之一,在该领域的研究环境下,人工智能体(agent)做到正确的事情时会获得积极的奖励,否则获得负面的奖励。

这种“胡萝卜加大棒”的方法简单而通用,DeepMind教授利用DQN算法来玩Atari游戏和AlphaGoZero下围棋,都是利用强化学习模型。OpenAI团队利用OpenAI-Five算法来打Dota,Google如何教机器人手臂来握住新目标,也是利用强化学习实现的。不过,尽管强化学习取得了如此大的成功,但想使其成为一种有效的技术,仍然存在许多挑战。

标准的强化学习算法在对智能体反馈信息很少的环境中表现不佳。至关重要的是,这类环境在现实世界中是很常见的。举个例子,如何在一个大型的迷宫式超市中学习如何找到自己喜欢的奶酪。你找了又找,但找不到卖奶酪的货架。

如果做完了某一步动作,既没有“胡萝卜”,也没有“大棒”,那智能体便无法判断是否正朝着正确的方向前进。在没有奖励的情况下,怎样才能避免原地兜圈子?也只有好奇心了,好奇心会激励目标进入一个似乎不熟悉的区域,到那里去找奶酪。

在Google Brain团队、DeepMind和苏黎世联邦理工学院的合作研究中,提出了一种新的基于情景记忆的模型,它可以提供与好奇心类似的奖励,可以用于探索周围环境。

研究团队希望,智能体不仅要能探索环境,而且还要解决原始任务,因此将模型提供的奖励加入原始的反馈信息稀疏的任务的奖励中。合并后的奖励不再稀疏,使用标准强化学习算法就可以从中学习。因此,该团队提出的好奇心方法扩展了可用强化学习解决的任务集。研究论文题为《Episodic Curiosity through Reachability》

基于情景的好奇心模型:观察结果被添加到智能体的记忆中,奖励基于智能体当前的观察结果与记忆中最相似的结果的差异来计算的。智能体会因为看到记忆中尚不存在的观察结果而获得更多奖励。

这一方法的关键是,将智能体对环境的观察结果存储在情景记忆中,同时对智能体观察到的“记忆中尚不存在”的结果也进行奖励。“记忆中不存在”是这一方法中新的定义,智能体去寻求这种观察结果,意味着去寻求不熟悉的东西。寻求陌生事物的驱动力会让智能体到达新的位置,防止其在原地兜圈子,并最终帮助其找到目标。下文还将谈到,这种方法不会像其他一些方法那样,让智能体出现一些不希望出现的行为,比如类似人类的“拖延”行为。

过去的好奇心学习机制:基于“意外”的好奇心

尽管在过去有许多尝试来形成好奇心,但本文关注的是一种自然且非常流行的方法:基于“意外”的好奇心机制。最近一篇题为“Curiosity-driven Exploration bySelf-supervised Prediction”的论文中探讨了这个问题。此方法一般称为ICM方法。为了说明意外是如何引发好奇心的,这里再次以超市中寻找奶酪的比喻为例。

想象一下当你在逛市场时,其实会尝试着预测未来(“现在我在卖肉摊位处,所以我认为拐角处应该是卖鱼的,超市连锁店中这两个部分一般是相邻的”)。如果你的预测错了,你会感到意外(“啊,原来是卖菜的。我没想到!”)因而得到一个回报。这使你更有动力将来更加关注拐角处,探索新的地方,看看自己对它们的预测是否符合现实(也是希望能够找到奶酪)。

与此类似,ICM方法也建立了关于世界动态的预测模型,并在模型未能做出良好预测时对智能体给予奖励,这种奖励标志着“意外”或“新东西”。注意,探索没去过的地方,并不是ICM好奇心机制的直接组成部分。

对于ICM方法而言,这只是获得更多“意外”的一种方式,目的是让获得的总体奖励最大化。事实证明,在某些环境中可能存在其他方式造成“自我意外”,从而导致无法预料的结果。

基于“意外”好奇心的智能体会一直卡在电视前,不去执行任务

基于“意外好奇心“的智能体易产生“拖延行为”

在 《Large-Scale Study of Curiosity-Driven Learning》一文中,ICM方法的作者和OpenAI的研究人员表明,基于“意外最大化”的强化学习方法可能存在潜在的风险:智能体可以学会放纵和拖延的行为,不去做任何有用的事情来完成当前任务。

为了了解其中的原因,请看一个常见的思想实验,实验名为“嘈杂的电视问题”,在实验中,智能体被置于一个迷宫中,任务是寻找一个非常有价值的项目(与本文之前的超市例子中的“奶酪”类似)。

测试环境中还放了一台电视,智能体有电视的遥控器。电视频道数量有限(每个频道放映不同的节目),每次按键都会切换到随机频道。智能体在这样的环境中会如何表现?

对基于意外的好奇心的方法而言,改变频道会产生巨大的回报,因为每次频道变化都是不可预测和意外的。重要的是,即使在所有可用频道的节目都循环出现一次之后,由于频道放映的内容是随机的,所以每一个新变化仍然属于意外,因为智能体一直预测改变频道后会放什么节目,这个预测很可能会出错,导致意外的产生。

即使智能体已经看过每个频道的每个节目,这种随机变化仍然是不可预测的。因此,不断收获意外的好奇心智能体,最终将永远留在电视机前,不会去寻找那个非常有价值的物品,这类似于一种“拖延”行为。那么,如何定义“好奇心”才能避免产生这种拖延行为呢?

基于“情境”的好奇心模型

在《Episodic Curiositythrough Reachability》一文中,我们探索了一种基于记忆的“情境好奇心”模型,结果证明,这种模型不太容易产生“自我放纵”的即时满足感。为什么呢?

这里仍以上文的实验为例,智能体在不断变换电视频道一段时间后,所有的节目最终都会出现在记忆中。因此,电视将不再具有吸引力:即使屏幕上出现的节目顺序是随机且不可预测的,但所有这些节目已经在记忆中了。

这是本方法与前文的“基于意外”的方法的主要区别:我们的方法甚至没有去预测未来。与此相反,智能体会检查过去的信息,了解自己是否已经看到过与当前的观察结果。因此,我们的智能体不会被嘈杂的电视所提供的“即时满足感”所吸引。它必须去电视之外世界进行探索,才能获得更多奖励。

如何判断智能体是否看到与现有记忆中相同的东西?检查二者是否完全匹配可能是毫无意义的:因为在现实环境中,很少出现完全相同的场景。比如,即使智能体返回了一间完全相同的房间内,其观察角度也会与之前的记忆场景不同。

我们不会检查智能体记忆中的是否存在精确匹配,而是用训练后的深度神经网络来衡量两种体验的相似度。为了训练该网络,我们会猜测前后两个观察结果在时间上是否相距很近。如果二者在时间上很接近,很可能就应该被视为智能体同一段体验中的不同部分。

是新是旧可由“可达性”图决定。在实际应用中,此图无法获取,我们通过训练神经网络估计器,在观察结果之间估计一系列步骤。

实验结果与未来展望

为了比较不同方法的表现,我们在两个视觉元素丰富的3D环境中进行了测试:分别为ViZDoom和DMLab。在这些环境中,智能体的任务是处理各种问题,比如在迷宫中搜索目标,或者收集“好目标”,同时避开“坏目标”。

DMLab环境恰好能为智能体提供很炫酷的工具。此前的研究中,关于DMLab的标准设置就是为智能体配备适用所有任务的小工具,如果代理不需要特定任务的小工具,那么也可以不用。

有趣的是,在类似于上文的嘈杂的电视实验中,基于意外的ICM方法实际上使用了这个小工具,即使它对于当前任务并无用处!智能体的任务是在迷宫中搜寻高回报的目标,但它却更喜欢花时间对墙壁进行标记,因为这会产生很多“意外”奖励。

从理论上讲,预测标记的结果是可能的,但实际上太难实现了,因为智能体显然不具备预测这些结果所需的更深入的物理知识。

基于“意外”的ICM方法,智能体一直在标记墙壁,而不是探索迷宫

而我们的方法则在相同的条件下学习合理的探索行为。智能体没有试图预测其行为的结果,而是寻求从已在情景记忆中存在的那些“更难”实现目标的观察结果。换句话说,智能体会根据记忆,去寻求更难实现的目标,而不仅仅进行标记操作。

在我们的“情景记忆”方法中,智能体会进行合理的探索

有趣的是,我们的方法所实施的奖励机制,会惩罚在原地兜圈子的智能体。这是因为在完成一次内容循环后,智能体之后的观察结果都已存在于记忆中了,因此不会得到任何奖励:

对我们的方法奖励机制的可视化:红色表示负面奖励,绿色表示正面奖励。从左到右分别为:使用奖励的映射,使用当前记忆位置的映射,第一人称视图

我们希望我们的研究有助于引领对新的探索方法的讨论。有关我们方法的深入分析,请查看我们的研究论文的预印本。

(论文链接:https://arxiv.org/abs/1810.02274)

参考文献:

https://ai.googleblog.com/2018/10/curiosity-and-procrastination-in.html

"Count-Based Exploration with Neural DensityModels", Georg Ostrovski, Marc G. Bellemare, Aaron van den Oord,Remi Munos

"#Exploration: A Study of Count-BasedExploration for Deep Reinforcement Learning", Haoran Tang, ReinHouthooft, Davis Foote, Adam Stooke, Xi Chen, Yan Duan, John Schulman, Filip DeTurck, Pieter Abbeel

"Unsupervised Learning of Goal Spaces forIntrinsically Motivated Goal Exploration", Alexandre Péré,Sébastien Forestier, Olivier Sigaud, Pierre-Yves Oudeyer

"VIME: Variational Information MaximizingExploration", Rein Houthooft, Xi Chen, Yan Duan, JohnSchulman, Filip De Turck, Pieter Abbeel

Deepmind“好奇心”强化学习新突破!改变奖励机制,让智能体不再“兜圈子”相关推荐

  1. 李飞飞提出深度进化强化学习新框架:创建具身智能体学会动物进化法则

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | 外媒 编辑 | Yaxin, LQ 6亿 ...

  2. RL之SARSA:利用强化学习之SARSA实现走迷宫—训练智能体走到迷宫(复杂陷阱迷宫)的宝藏位置

    RL之SARSA:利用强化学习之SARSA实现走迷宫-训练智能体走到迷宫(复杂陷阱迷宫)的宝藏位置 目录 输出结果 设计思路 实现代码 测试记录全过程 输出结果 设计思路 实现代码 后期更新-- 测试 ...

  3. DeepMind提出强化学习新方法,可实现人机合作

    来源:AI前线 作者:Ben Dickson 译者:盖 策划:凌敏 本文来自 BDTechTalks 网站的"AI 研究论文评论"专栏.该专栏提供人工智能最新发现的系列解读文章. ...

  4. 《深度强化学习实战》 第9章 多智能体

    第 9 章 多智能体强化学习 为什么普通的Q-learning在多智能体设置中变得不行 如何在多智能体中处理"维度诅咒" 如何实现多智能体Q-learning模型来感知其他智能体 ...

  5. DeepMind提出强化学习新算法,教智能体从零学控制

    来源:人工智能和大数据 摘要:3月2日,DeepMind发表博客文章,提出一种称为SAC-X(计划辅助控制)的新学习范式,旨在解决让AI以最少的先验知识,从头开始学习复杂控制问题的挑战. 这在真实环境 ...

  6. MATLAB强化学习工具箱(十一)训练DDPG智能体控制飞行机器人

    训练DDPG智能体控制飞行器 飞行机器人模型 创建集成模型 动作与观察 创建环境接口 重置函数 创建DDPG智能体 训练智能体 DDPG智能体仿真 本示例说明如何训练深度确定性策略梯度(DDPG)智能 ...

  7. DeepMind强化学习新研究:更快的知识学习,更强的环境适应

    2021-05-04 13:36:12 编译 | Mr Bear 校对 | 维克多 DeepMind官方博客在一篇文章"Fast reinforcement learning through ...

  8. DeepMind开源强化学习环境,灵活可配置,计算资源有限的小型实验室也能用

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 想搞强化学习,但算力门槛让不少人望而却步. 想想DeepMind训练的通用棋类AI AlphaZero,碾压一票同类选手,但堆砌了实验室里5 ...

  9. DeepMind:星际争霸2:强化学习新挑战(论文翻译)

    星际争霸2:强化学习新挑战 原文下载链接:https://deepmind.com/documents/110/sc2le.pdf 整个论文分为: 摘要(Abstract) 1.介绍(Introduc ...

最新文章

  1. 无法访问http,会强制跳到https
  2. #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案
  3. 文件行数_linux/unix下如何统计文件行数
  4. CString 操作指南
  5. 什么造就一个伟大的站点
  6. 深入理解React、Redux
  7. 尔雅网课鼠标移出停止播放解决办法
  8. rapidminer基础使用
  9. Android 截屏实现、屏幕截图、MediaProjection、ImageReader
  10. 电脑ping,电脑ping怎么用|电脑ping怎么打开_PC6教学
  11. YOLOX训练代码分析3-损失函数
  12. 【脚本小子狂喜】日常实用脚本推荐
  13. 面试官:什么是BFC?BFC有什么特性?如何创建BFC?BFC有什么作用?
  14. Java中接口的作用,为什么要写接口?
  15. 计算机训练大纲,[工学]计算机技能训练大纲.doc
  16. Python Behave框架学习
  17. aba会导致问题_浅谈Java中ABA问题及避免
  18. 华盛顿大学 计算机专业排名,圣路易斯华盛顿大学计算机专业世界排名好不好?...
  19. 有你的小镇漫画下载[濑尾公治]
  20. 大白话解释股票(一)//2021-2-24

热门文章

  1. Ubuntu x64安装Android studio 全部步骤和问题解决
  2. IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解
  3. 虚拟机下Ubuntu没有GUI图形界面,解决方法
  4. 开发中内存溢出问题及解决
  5. Flask无法访问(127.0.0.1:5000)的问题解决方法
  6. Long类型转json时前端js丢失精度解决方案
  7. SQL Server 2008还原数据库时出现“备份集中的数据库备份与现有的数据库不同”的解决方法
  8. adb devices 找不到设备的解决方法
  9. 如何创建可变数量的变量?
  10. Intellij Idea:导入Gradle项目 - 尚未定义JAVA_HOME