本文为 AI 研习社编译的技术博客,原标题 :
Curiosity in Deep Reinforcement Learning
作者 | Michael Klear
翻译 | 凝决2018
校对 | 酱番梨 整理 | 菠萝妹
原文链接:
https://towardsdatascience.com/curiosity-in-deep-reinforcement-learning-understanding-random-network-distillation-747b322e2403
深度强化学习中的好奇心
早期一个很难的深度强化学习任务,蒙特祖马的复仇,随着随机网络蒸馏探索取得了重大突破(来源:Parker Brothers Blog)。
Atari游戏是流行的深度强化学习(RL)算法基准任务。Atari很好地平衡了简单性和复杂性:一些游戏(例如Pong),简单到可以使用像香草策略梯度这样的基本算法来解决;而其他游戏则足够复杂,甚至可以难倒最先进的算法。
在最简单和最复杂游戏之间的一系列有用任务,已经成为很多深度强化学习研究论文的核心。
来自OpenAI博客。
之前“未解决的”Atari游戏,蒙特祖玛的复仇, 最近被一种算法(在某种程度上)解决了,该算法能够在得分方面超越人类表现。研究人员能够鼓励智能体探索级别1的不同房间,这是在此游戏中赢得积分的好方法。
通过好奇心探索
人类玩冒险游戏(如蒙特祖玛的复仇)时,有一种内在的探索欲望。游戏设计师构建此类游戏鼓励这种行为,通常要求玩家进行探索后才能继续游戏。这可以说是冒险游戏有趣的原因(问问任何一个喜欢玩《天际》的人。)
像《蒙特祖玛的复仇》或《天际》这样的冒险游戏充分利用了玩家的自然探索欲望,使探索成为完成游戏任务的关键组成部分。
一般的深度强化学习算法表现“探索”典型的方式是通过随机策略:从神经网络提供的动作似然分布中随机采样动作。其结果,特别在早期(当策略没有时间收敛时),是明显的随机行动选择。
此种方法在某些情况下有效。例如,Pong的解决方法是随机转动桨页并观察结果。幸运的话,球偏转可以启动优化。
在类似《蒙特祖马的复仇》这样的游戏中,这种方法是行不通的。试想从游戏一开始,头像随机左右移动、随机跳跃,结果就是陷入熔岩,或者在没有获得积分的情况下直接走进敌人。没有积分或奖励,算法得不到优化的信号。
所以,你就打算随机随意连枷?祝你好运(来源)。
好奇心
强调寻找更好的探索方法已经有很多次了。基于好奇心的探索可以被视为人类玩家好奇心驱动行为的一次尝试。
但是我们如何创造一个好奇智能体呢?
实现这个想法有多种方式。其中一种,即使用下一状态预测,因其简单性和可扩展性显得十分有趣。
基本思路是在培养独立预测模型同时培养策略模型。该预测模型输入观察到的当前状态和所选动作,并为下次观察做出预测。
对于探索充分的轨迹,我们假设损失很小(因为通过监督学习,我们不断培养预测模型);对于探索不充分的轨迹,我们假设损失会很大。
那么,我们可以做的是创建一个新的奖励函数(称为“内在奖励”),它提供与预测模型的损失成比例的奖励。因此,当探索新的轨迹时,智能体接收到强烈的奖励信号。
(a)级别1学习探索 (b)级别2更快速的探索
在马里奥模拟器任务(源)中使用下一次预测,“学习探索” 由级别1中的好奇心,通向级别2的更快速的探索。
这种技术在超级马里奥模拟器中产生了一些令人鼓舞的结果。
拖延智能体:电视问题
这种技术并不完美。一个已知问题是:智能体被环境中的随机元素或嘈杂元素吸引。这钟情况有时被称为“白噪声”问题或“电视问题”; 亦被称为“拖延”。
为证明这种效果,想象一个智能体,通过观察他看到的像素学习在迷宫中导航。
下一状态预测引起智能体学习迷宫成功导航的好奇心(来源)。
智能体很好的完成了任务;他开始寻找未迷宫未被探索的部分,因为他有能力在探索充分的地区做出良好的预测(或者说,他无法在未开发的地区做出好的预测。)
现在在迷宫的墙上放置一个“电视”,快速连续地显示随机选择的图像。由于图像的随机来源,智能体无法准确预测接下来会出现什么图像。预测模型将产生高损失,从而为智能体提供高“内在”奖励。最终结果是智能体倾向于停下看电视,而不是继续探索迷宫。
在环境(来源)中,当智能体面对电视,或随机噪声来源时,下一状态预测引起智能体好奇心最终导致 “拖延”。
用随机网络蒸馏避免拖延。
OpenAI一些优秀的人最近发表了一篇论文,提出噪音电视问题的解决方案,随机网络蒸馏(RND)探索。
这里的新颖想法是将类似的技术应用于下一状态预测方法,但是去除对先前状态的依赖性。
下一状态预测 对比RND概述(来源)。
RND不是预测下一个状态,而是从下一个状态进行观察,并尝试对下一个状态进行预测。这是一个非常微不足道的预测,对吗?
RND随机网络目的是采用这个微小的预测任务并将其转换为硬预测任务。
使用随机网络
这是一个聪明的,但却反直觉的解决方案。
想法是,我们使用随机初始化的神经网络将观察结果映射到潜在的观察向量。这个函数本身的输出实际上并不重要;重要的是我们有一些未知的确定性函数(一个随机初始化的神经网络)以某种方式转换观察结果。
因此,我们的预测模型的任务不是预测下一个状态,而是预测给定观察状态的未知随机模型的输出。我们训练这个模型使用随机网络输出标签。
当智能体在熟悉的状态中,预测模型应该很好地预测来自随机网络的预期输出。当智能体处于不熟悉状态时,预测模型将对随机网络输出做出不良预测。
通过这种方式,我们可以定义一个内在的奖励函数,该函数再次与预测模型的损失成比例。
内在奖励计算的概念性概述。仅使用下一状态观察。
这可以被解释为“新颖性检测”方案,其中预测模型进行新的观察或不熟悉观察时,计算的损失更高。
作者使用MNIST作为这个想法的概念验证。在这个实验中,他们通过随机初始化的神经网络提供MNIST一类字符。然后,在给定输入条件下,他们训练并行网络预测随机网络的输入。正如预期的那样,当目标类的训练样例数量增加时,他们会看到并行网络对目标类丢失的损失。
数据2:MNIST上的新颖性检测:预测器网络模仿随机初始化的目标网络。 训练数据包括来自“0”类的不同比例的图像和目标类别。各条曲线表示MSE测试显示的针对目标类的训练例数绘制的目标类例(对数)
研究论文中的MNIST概念验证。
通过这种方式,当智能体看到随机噪声源时,它不会卡住。它不再试图预测屏幕上不可预测的下一帧,而只需要了解这些帧如何被随机网络转换。
探索蒙特祖玛的复仇
由于解决方案不好,之前的下一状态预测好奇心机制无法解决蒙特苏马的复仇,但RND似乎已经克服了这些问题。
由好奇心驱动的智能体探索房间,并学习收集钥匙,以便他们解锁新房间。
尽管取得了这样的成功,但智能体只是“偶尔”通过了级别1。这是因为通过最后一道门完成关卡,需要严格管理钥匙使用。需要通过内部状态模型(如LSTM)来克服这一障碍。
因此,虽然RND已经让智能体在得分方面超过了人类的平均表现,但在掌握游戏之前还有很长的路要走。
这是关于深度强化学习算法实验一系列帖子的一部分。查看系列中之前的一些帖子:
了解演进的策略梯度。
感谢Ludovic Benistant。
想要继续查看该篇文章相关链接和参考文献?
长按链接点击打开或点击底部【深度强化学习中的好奇心】:
https://ai.yanxishe.com/page/TextTranslation/1363
AI研习社每日更新精彩内容,观看更多精彩内容:雷锋网雷锋网雷锋网(公众号:雷锋网)
五个很厉害的 CNN 架构
深度强化学习中的好奇心
用Pytorch做深度学习(第一部分)
手把手:用PyTorch实现图像分类器(第二部分)
等你来译:
对混乱的数据进行聚类
初学者怎样使用Keras进行迁移学习
强化学习:通往基于情感的行为系统
如果你想学数据科学,这 7 类资源千万不能错过