“电视加噪”问题源于2018年论文《Exploration by Random Network Distillation》中的一项实验。实验限定智能体通过观察新颖的画面就能获得奖励,如果播放的电视节目中加入了不可控和不可预测的随机噪声,就能够一直吸引智能体的注意。 该智能体会持续地从含有噪声的电视节目中获得新的奖励,但未能取得任何有意义的进步。图1:实验中,一个智能体因观察新颖的画面而获得奖励。如果迷宫中播放了加噪TC版影片,则会吸引智能体的注意力,使其停止在迷宫中移动(图片来源:OpenAI博客:“基于奖励的强化学习预测研究”) 3 内在奖励作为额外的探索奖励对于解决硬探索问题,一种常用的探索方法是用附加的奖励信号来增加环境奖励,鼓励智能体进行持续的探索。因此,策略的训练由两项组成, ,其中 是调整探索与利用之间平衡的超参数。
根据当前任务所定义, 是在 t 时刻来自环境的外部奖励。
是当前时刻 t 的内在探索奖励。
论文《How can we define intrinsic motivation?》中提到,这种内在奖励在某种程度上受到心理学的内在动机的启发。好奇心驱使的探索可能是儿童成长和学习的重要方式。换句话说,探索活动在人的潜意识中应该有内在的奖励。内在奖励可能与好奇心、惊喜、熟悉程度以及其他许多因素有关。同样的思想也可以应用到强化学习算法中。在下面的章节中,基于附加奖励的探索奖励方法大致分为两类:一是发现全新的状态,二是提高智能体对环境的认知。1、基于计数的探索策略如果将状态的新颖程度作为内在奖励的条件,那就需要寻找一种方法来衡量当前状态是新颖的还是经常出现的。一种直观的方法是统计一个状态出现的次数,并相应地分配附加奖励。与经常出现的状态相比,附加奖励会引导智能体选择那些很少受访问的状态,这被称为基于计数的探索方法。引入经验计算函数 ,该函数可以不断记录序列 中状态 s 的实际被访问次数。但是不能将其直接用在探索过程中,因为大多数状态的经验计算函数值为0,并且整个状态空间通常是连续或者高维的。我们首先需要对大多数状态进行非零计数。(1)基于密度模型的计数方法2016年论文《Unifying Count-Based Exploration and Intrinsic Motivation》利用密度模型估计状态的访问频率,并利用一种新算法从该密度模型中推导出伪计数。首先在状态空间中定义一个条件概率 ,表示在前 n 个状态是 的情况下,第 n+1 个状态是 s 的概率。为了从经验上衡量这一点,我们可以简单使用 。给出状态 s 的重编码概率 定义:当观察到s的新状态出现,密度模型分配给状态 s 的概率。为了更好地调整密度模型,本文引入了两个概念:伪计数函数 和伪计数总量 。它们被用来模拟经验计数函数,因此有如下计算公式: 和 之间的关系要求密度模型正向学习,即对于所有的 和 ,要求 。换言之,在观察到 s 的一个实例后,密度模型对该 s 的预测概率也要相应地增加。除了需要正向学习外,密度模型还要利用非随机化的经验状态数据,进行在线训练,由此可以得到 。求解上述线性系统后,可由 和 计算伪计数:或者通过预测增益估计(PG):基于计数的内在附加奖励的常见选择是 (如MBIE-EB;2008年论文《An analysis of model-based Interval Estimation for Markov DecisionProcesses》)。基于伪计数的探索附加奖励的形式类似于 。2016年论文《Unifying Count-Based Exploration and Intrinsic Motivation》中的实验采用简单的上下文树切换(CTS)密度模型来估计伪计数。CTS模型将二维图像作为输入,并根据位置相关的 L 形滤波器的乘积为其分配一个概率,其中每个滤波器的预测是由在之前图像上训练的CTS算法给出。CTS模型虽然简单,但在表达能力、可扩展性和数据效率方面有一定的限制。在后续的论文中,2017年论文《Count-Based Exploration with Neural Density Models》将训练的像素级卷积神经网络(2016年论文《Conditional Image Generation with PixelCNN Decoders》)作为密度模型改进了该方法。如2018年论文《Curiosity-Driven Experience Prioritization via Density Estimation》中所述,密度模型也可以是高斯混合模型(GMM)。他们使用变分GMM估计轨迹密度(例如一系列连贯的状态序列)及其预测概率,来指导离线策略环境中经验回放中的样本优先级。(2)哈希编码后再计数另一种对高维状态计数的方法是将状态映射到哈希码中,使状态的出现具备可追踪性(2017年论文《Exploration: A Study of Count-Based Exploration for Deep Reinforcement Learning》)。状态空间用哈希函数 离散化。将探索附加奖励 添加到奖励函数中,定义为 ,其中 N(ϕ(s)) 是 ϕ(s) 出现的经验计数。论文《Exploration: A Study of Count-Based Exploration for Deep Reinforcement Learning》中建议使用局部敏感哈希(LSH)算法将连续的高维数据转换为离散的哈希码。LSH是一类流行的哈希函数,其根据某种相似性度量方法来查询最邻近的点。如果哈希映射x↦h(x)保留了数据点之间的距离信息,封闭向量就会获得相似的哈希值,而散列向量获得不同的哈希值,那这个映射方案就是局部敏感的。(请参阅 LSH 如何用于改进Transformer模型。)SimHash是一种计算效率很高的LSH算法,它通过角距离测量相似度:其中 是一个矩阵,每一项都相互独立,并服从标准高斯分布, 是可选的预处理函数。二进制码的维度为k,控制状态空间离散化的粒度。k 越高,粒度越大,碰撞越少。图 2:利用SimHash对散列高维状态进行计数的探索算法对于高维图像,在原始像素级别应用 SimHash 算法可能不会取得良好效果。论文《Exploration: A Study of Count-Based Exploration for Deep Reinforcement Learning》中设计了自动编码器(AE),将其作为输入状态 s 来学习哈希编码。自动编码器有一个特殊的稠密层,该层由k 个 sigmoid 函数组成,作为中间隐藏层。将该层的 sigmoid 激活值 b(s) 进行二进制化,四舍五入到其最接近的二进制数 ⌊b(s)⌉∈ ,再将此二进制数作为状态 s 的二进制哈希码。n 个状态的 AE 损失包括重构损失和 sigmoid 激活函数的二进制近似损失两项:这种方法存在的一个问题是,不同的输入 可能会映射成相同的哈希码,但是自动编码器仍然会很好的重构它们。我们可以用哈希码 ⌊b(s)⌉ 替换瓶颈层 b(s),但是这样做,梯度不能通过round函数进行反向传播。 注入均匀噪声可以减轻这种影响,促使自动编码器学会扩大隐变量间的距离以抵消噪声。2、基于预测的探索策略第二类内在探索附加奖励用于奖励智能体在环境认知方面的提升。智能体对环境动态变化的熟悉度可以通过预测模型进行估计。这种用预测模型检验智能体好奇心的想法其实在很久之前就被提出(1991年论文《A Possibility for Implementing Curiosity and Boredom in Model-Building Neural Controllers》)。(1)前向动态探索前向动态预测模型可以很好的估计模型对环境知识以及任务型 MDP 的掌握程度,它可以赋予一个智能体预测其自身行为后果的能力, 。在部分可观测的问题中,这种模型是不完备模型,其中误差 可作为内在探索奖励的标准。预测误差越大,说明我们对这种状态就越不熟悉。错误率下降得越快,我们获得的学习信号将越多。智能适应性好奇心(IAC;2007年论文《Intrinsic Motivation Systems for Autonomous Mental Development》提出)描述了一种使用前向动态预测模型估计学习进度并相应地分配内在探索奖励的想法。IAC 依赖于存储机器人全部历史经验数据的存储器 和前向动态模型 f。IAC 基于转换样本将状态空间(如论文中所讨论的机器人上下文运动空间)渐进地分割成不同的区域,此过程类似于不断分枝的决策树:当样本数大于一个阈值时产生分枝,并且每个叶子的状态变化应该是最小的。每一个树节点都有其唯一的样本集和称之为“专家”的前向动态预测因子 f。专家预测误差 被传递到与每个区域相关联的列表中。然后用偏移量 τ 的滑动窗口与当前滑动窗口平均误差率的差值来评判学习进度。同时定义了跟踪智能体学习进度的内在奖励: ,其中 k 是滑动窗口的大小。因此,预测错误率降低幅度越大,分配给智能体的内在奖励就越高,即鼓励智能体迅速采取动作来了解当前的环境。图3:IAC(智能自适应好奇心)模块:在减少动态模型的预测误差时,根据学习进度分配内在奖励(图片来源:2007年论文《Intrinsic Motivation Systems for Autonomous Mental Development》)2015年论文《Incentivizing Exploration In Reinforcement Learning With Deep Predictive Models》在编码空间内训练了一个前向动态模型,该编码空间由 ϕ 定义, 。模型在 T 时刻的预测误差用 T 时刻的最大误差进行归一化, ,因此它总是在0到1之间,根据此可以定义内在奖励为: ,其中 C>0 是衰减常数。通过 ϕ(.) 对状态空间进行编码是非常必要的,因为本文中的实验已经表明,直接利用原始像素训练的动态模型的表现非常差——给所有状态分配相同的探索附加奖励。论文《Incentivizing Exploration In Reinforcement Learning With Deep Predictive Models》通过自动编码器(AE)学习编码函数 ϕ ,其中 ϕ(.) 是 AE 中的输出层。可以使用随机智能体收集的一组图像对 AE 进行静态训练,也可以与策略一起动态训练 AE,在策略中使用ϵ-贪婪探索方法来收集前期图像。与自动编码器不同,内在好奇心模块(ICM;2017年论文《Curiosity-driven Exploration by Self-supervised Prediction》提出)通过自监督反向动态模型学习状态空间的编码 ϕ(.)。在给定智能体自身动作的情况下预测下一个状态并不容易,特别是考虑到环境中的某些因素不受智能体控制或不影响智能体。ICM 认为一个好的状态特征空间应该排除这些因素,因为它们不能影响智能体的行为。通过学习反向动态模型 ,特征空间只捕捉与智能体动作相关的环境变化,而忽略其余的变化。给定前向模型 f、反向动态模型 g 和观测值 :这样得到的 ϕ(.) 对环境的不可控方面具有鲁棒性。图4:ICM将前向动态预测误差分配给智能体作为内在奖励,该动态模型在状态编码空间中运行。通过反向动态模型学习此状态编码空间,排除不影响智能体动作的环境因素(图片来源:论文《Curiosity-driven Exploration by Self-supervised Prediction》)2018年论文《Large-Scale Study of Curiosity-Driven Learning》中单独使用好奇心驱动学习做了一组大规模的比较实验,该实验中只对智能体提供内在奖励。在这项研究中,奖励是 。ϕ 值选取合理将使学习过程紧凑、充分、稳定,易于处理预测任务,并能滤除不相关的观测值。四种编码函数比较:1.原始图像像素:无编码,ϕ(x)=x。2.随机特征(RF):利用固定的随机神经网络编码每个状态。3.VAE:采用概率编码器进行编码,ϕ(x)=q(z|x)。4.反向动态特征(IDF):与ICM中使用的特征空间相同。所有实验中都设置奖励信号,通过估计累积收益的标准偏差对其进行标准化。同时在全部实验中,让智能体历经尽可能多的状态,避免泄露信息。图5:在不同的游戏中,当只使用好奇信号训练智能体时,由不同的状态编码函数产生的平均奖励(图片来源:2018年论文《Large-Scale Study of Curiosity-Driven Learning》)有趣的是,随机特征被证明是相当有效的,但是在特征转移实验中(即在超级马里奥兄弟1-1关卡中训练一个智能体,然后在另一个关卡对其进行测试),智能体学到的IDF特征泛化能力更强。论文还比较了在电视加噪环境下的随机特征(RF)和反向动态特征,含有噪声对电视节目令智能体的学习速度急剧降低,导致其获取的外部奖励也持续降低。图6: 在电视节目是否加噪声的环境中应用 RF 和 IDF 进行特征编码实验。此图描绘了随着训练进行,智能体在每帧结束后获得的外在奖励情况(图片来源:2018年论文《Large-Scale Study of Curiosity-Driven Learning》)前向动态优化也可以通过变分推理建模。变分信息最大化探索(VIME,2017年论文《VIME: Variational Information Maximizing Exploration》提出)是一种基于信息增益最大化的探索策略,其中信息增益与智能体对环境动态的认知有关。已获得的关于前向动态的附加信息量可以用熵的减少来衡量。令P是环境转化函数, 表示前向预测模型,利用 对其进行参数化, 记录了轨迹历史信息。我们希望智能体在采取新的动作和观察下一个状态后降低熵值,这是为了最大化下面的表达式:在对新的状态计算期望的同时,计算智能体采取新的行动来增加对预测模型和旧模型之间认知程度的KL散度(“信息增益”)。这一项可以作为内在奖励添加到奖励函数中: 。然而,后验分布 的计算通常比较困难。 由于很难直接计算 ,很自然地想到用另一个分布 来近似它。利用变分下界,我们知道 的最大化等价于最大化 以及最小化 。使用近似分布q,内在奖励变成下式:式中, 表示智能体在观察到 和 后与新认知相关的q参数。当用作探索附加奖励时,通过除以该KL散度值的中值将其标准化。这里动态模型使用贝叶斯神经网络(BNN),因为BNN可以保持权重分布。利用带有 ϕ={μ,σ} 参数的全因子高斯函数对BNN权重分布 进行建模,可以很容易地从中对 θ 进行采样。在应用二阶泰勒展开后,可以使用费雪信息矩阵 估计KL项 ,这很容易计算,因为 经过高斯因子分解后,协方差矩阵只是一个对角矩阵。上述所有方法都依赖于单一的预测模型。如果我们有多个这样的模型,就可以利用模型之间的不一致程序来设置探索的附加奖励(2019年论文《Self-Supervised Exploration via Disagreement》提出)。高度不一致表明智能体对预测结果的信心不足,因此需要更多的探索。论文还建议训练一组前向动态模型,并将模型输出集合上的方差当作 。确切地说,他们用随机特征对状态空间进行编码,学习集成的5个模型。图7: 引入模型不一致程度进行自我监督探索的训练架构(图片来源:《Self-Supervised Exploration via Disagreement》)由于 可微,可以通过梯度下降直接优化模型中的内在奖励,从而使智能体改变动作。这种可微分的探索方法非常有效,但存在探索状态数有限的问题。
(2) 随机网络
但是,如果预测的任务与环境动态变化无关呢?事实证明,当针对随机任务做预测时,会帮助提高模型探索的能力。定向展开强化动作选择(DORA,2018年论文《DORA The Explorer: Directed Outreaching Reinforcement Action-Selection》提出)是一个新颖的框架,它基于新引入的、独立于任务的MDP探索信号。DORA依赖于两个并行的MDP:一个是原始任务型MDP;另一个是相同结构的MDP,但是没有附加奖励:每个状态-动作对都被设计为0。第二个MDP学习到的 Q 值称为 E 值。如果模型不能完全预测 E 值为零,那就认为它仍然缺少信息。初始化时 E 值被赋值为1。这种正向的初始化可以鼓励智能体进行针对性探索,更好地预测 E 值。具有高 E 值估计的状态-动作对虽然还没有收集到足够的信息,但至少不足以排除它们具有高 E值。在某种程度上,E 值的对数可以看作是访问计数器的泛化。当用神经网络对 E 值进行函数逼近时,加入另一个头部值来预测 E,并且只需将其预测为零。给定预测的 E 值 ,探索附加奖励记作 。与DORA类似,随机网络蒸馏(RND;2018年论文《Exploration by Random Network Distillation》提出)引入独立于主任务的预测任务。RND的探索附加奖励定义为神经网络 对观测特征的预测误差,其中观测特征由随机初始化的神经网络 产生。此想法来源是给定一个新状态,如果智能体多次经历相似的状态,那么会更容易预测新状态,因此误差更小。探索附加奖励记作 。图8: 随机网络蒸馏(RND)的内在奖励机制。特征 由固定的随机神经网络生成(图片来源:OpenAI博客:基于预测奖励的强化学习)RND实验中有两项因素至关重要:1. 非截断性的设置会产生更好的探索效果,尤其是在不使用任何外在奖励的情况下。这意味着智能体获得的回报不会在“游戏结束”时被截断,内在奖励可以跨越多个状态。2. 标准化很重要,因为给定一个随机神经网络作为预测目标,奖励的规模将很难调整。内在奖励通过除以内在奖励标准差的连续估计来实现归一化。RND设置很好地解决了硬探索问题。例如,最大限度地提高RND的探索附加奖励后,智能体在蒙特祖玛复仇游戏中可以找到超过一半的房间数。(3)物理性质与模拟器中的游戏不同,在机器人领域等某些强化学习应用中,需要智能体理解物理世界中的对象并进行直觉推理。一些预测任务要求智能体与环境进行一系列交互后,观察相应的结果,例如估计某些物理隐藏属性(例如混乱、分歧等)。受这些想法启发,2017年论文《Learning to Perform Physics Experiments via Deep Reinforcement Learning》发现深度强化学习中的智能体可以学习进行必要的探索以发现这些隐藏属性。他们设置了以下两个实验:实验1:立方体重量问题——智能体必须与立方体交互并推断出哪个立方体更重。实验2:塔问题——智能体需要通过击倒一座塔来推断它由多少个刚体组成。实验中的智能体首先经历一个探索阶段,与环境交互并收集信息。一旦探索阶段结束,要求智能体输出一个标签化动作来回答问题。如果答案是正确的,则为智能体分配正奖励;否则分配负奖励。因为获得正确答案需要智能体与场景中的物体进行大量交互,所以智能体必须学会高效地搜索,以发现物理隐藏属性,最终找到正确答案。这样自然而然地进行了探索。在他们的实验中,智能体能够在两个任务中学习,其性能随任务难度而变化。本研究并未通过物理预测任务为内在附加奖励提供另一项学习任务相关的外在奖励,而是侧重智能体完成探索任务本身获得的外在奖励。这种通过预测环境中隐藏的物理特性来鼓励智能体进行探索行为的方式非常具有潜力。 4 基于记忆的探索基于奖励的探索有几个缺点:函数逼近速度慢;探索附加的奖励不稳定;知识衰退,当环境状态不再新颖,就无法及时提供内在的奖励信号。接下来要介绍的方法是依靠外部记忆来改善上述附加奖励探索的缺陷。1、情景记忆如上所述,RND在非截断性的环境下效果更佳,这意味着预测知识在多个事件中逐渐积累。“永不放弃”探索策略(NGU;2020年论文《Never Give Up: Learning Directed Exploration Strategies》提出)与新颖模块结合,其中RND模块可使智能体保持永久的好奇心,使其在单一事件中快速适应环境。准确地说,NGU中的内在奖励包括来自两个模块的两项探索附加奖励,它们分别是在一个事件内以及多个事件中。事件新颖模块提供每个事件的短期奖励。短期奖励包含事件存储单元M、可动态调整大小的基于时间间隔的存储单元以及IDF(逆动态特征)嵌入函数ϕ,与ICM中的特征编码相同。1)在每一步将当前的状态嵌入函数 添加到 M 中。2)通过比较当前观测值与M中存储内容的相似程度来确定具体的内在附加奖励。相似度越低会导致附加奖励越高,可用下式进行表示。其中 K(x,y)是衡量两个样本之间距离的核函数。 是根据K(.,.)从M中得到的k个最近邻集。c是一个较小的常数值,来保证分母非零。本文将 K(x,y)设置为反向核函数:其中d(.,.)是两个样本之间的欧几里德距离, 是针对更优鲁棒性的第k个最邻近项求得的欧几里德距离平方的平均值,ϵ是一个小常数。图9:NGU的嵌入功能(左)和奖励生成器(右)的体系结构(图片来源:2020年论文《Never Give Up: Learning Directed Exploration Strategies》)长期跨事件新颖度依赖于固定新颖模块中的RND预测误差。探索附加奖励是 ,其中 和 是RND误差 的平均值和标准差。然而,RND论文的结论指出:“我们发现,RND探索附加奖励足以解决局部探索问题,即探索短期决策的结果,如是否与特定目标互动,或躲避某个目标。然而,涉及长期协调决策的全局探索问题超出了我们的方法范围。”这让人感到困惑,RND是如何成为优越的永久新奇附加奖励“供给者”的?如果你知道原因,可以在下面留言。最后组合内在奖励为 ,其中L是恒定的最大奖励标量。NGU的设计使其具有以下两个优点:1. 阻止智能体在同一事件中重新访问同一状态;2. 阻止智能体再次访问在不同事件中多次访问过的状态。后来,以NGU为基础,DeepMind提出了“Agent57”(2020年论文《Agent57: Outperforming the Atari Human Benchmark》),第一个在全部57款雅达利游戏中都高于人类标准水平的深度强化学习智能体。相比NGU,Agent57作出了以下两大改进:改进1:对Agent57训练一组策略,每个策略都设置了不同的探索参数对 。回想一下,给定 ,奖励函数被构造为 , 是奖励折扣因子。为了在训练初期取得更大进展,自然期望采用 较高、 较低的策略,但随着训练进行,预期会出现相反的结果。训练元控制器(置信区间上界可变的轮盘赌算法)以决定优先选择哪些策略。 改进2:第二个改进是对Q值函数进行新的参数化,与捆绑奖励形式类似,将内部和外部奖励的贡献度分解为下式: 。在训练过程中,分别用奖励 和 对 和 进行优化。图10:自2015年DQN提出至Agent57的技术发展路线图(图片来源:DeepMind博客:“Agent57:超越人类玩雅达利游戏的标准水平”)2019年论文《Episodic Curiosity through Reachability》没有使用欧几里德距离来衡量情景记忆中状态的接近程度,而是考虑到在状态转换后,针对从存储单元中的其他状态访问某个特定状态的情形,提出了一种新的步骤数测量方法,称为情景好奇(EC)模块。附加奖励取决于状态与状态之间的距离。步骤1:在每个事件开始时,清空智能体的存储单元 M。步骤2:在每一步中,智能体都会将当前状态与内存中保存的状态进行比较,以确定能否获得新奇附加奖励:如果当前状态是新的(即从内存中到达观察状态需要的步长数多于阈值),则智能体将获得附加奖励。步骤3:如果新奇度附加奖励足够高,当前状态会被添加到场景记忆中。(设想一下,如果所有的状态都被添加到内存中,那么可以在一步之内添加任何新的状态。)步骤4:重复1-3步骤直至此事件结束图11:图中的节点是状态,边是可能的过渡状态。蓝色节点是内存中的状态。可以在 k=2 步内访问内存中的非新奇的绿色节点。橙色节点距离较远,因此被认为是新的状态(图片来源:论文《Episodic Curiosity through Reachability》)为了估计状态之间的可达性,需要获得状态转移图。由于部分状态转移未知,论文中还训练了一个孪生神经网络预测将两个状态分开所需的步骤数。首先通过嵌入网络 将状态编码为特征向量,接着利用比较器网络 输出一个二进制标签,说明两个状态在状态转换图中是否足够接近(即在 k 步内可以到达),即 。情景记忆存储区M存储同一个事件中的一些历史嵌入数据。通过C将新的观察结果与现有的状态嵌入进行比较,并将结果汇总(例如最大值),计算出可达性得分 。探索附加奖励是 ,其中 C′ 是已确定的奖励符号的预定义阈值(例如,C′=0.5对于持续时间固定的情景非常有效)。当很难从内存缓冲区中的状态转移到新状态时,就给予这些新状态较高的附加奖励。作者声称EC模块可以克服电视加噪问题。图12:用于生成内在奖励的情景好奇(EC)模块结构(图片来源:论文《Episodic Curiosity through Reachability》)
2、定向探索
定向探索算法(2019年论文《Go-Explore: a New Approach for Hard-Exploration Problems》提出)旨在解决“硬探索”问题,它由以下两个阶段组成。阶段一(探索“至解方休”)很像图论中寻找用于寻找最短路径的Dijkstra算法。第一阶段不涉及任何神经网络。假设模拟器是确定性的,智能体通过存储可能到达目标的状态以及通向它们的轨迹,可以回到有希望完成任务的状态,并以此为起点继续进行随机探索。为便于智能体记忆,对状态进行简单地离散化编码(称为“单元”)。如果环境出现新状态或智能体找到了更好/更短的轨迹,将更新缓存。智能体可以从缓存中统一选择回到某个历史状态,或根据最近性、访问频率、缓存中的邻域计数等启发式方法进行选择。上述过程重复进行,直至找到一个目标轨迹并完成任务。智能体在第一阶段找到的较优轨迹在随机性评估环境下可能效果并不好。因此需要在第二阶段(鲁棒化)通过模仿学习提高解决方案的鲁棒性。采用反向算法,即智能体从轨迹的最后一个状态附近开始进行RL优化。阶段一中的重要注意事项:为了无需探索即可确定地返回某个状态,定向探索算法依赖于可重置和确定性的模拟器,这是一个严重弊端。为了使该算法更广泛地应用于随机性环境,2020年论文《First return then explore》提出了定向探索算法的改进版本——基于策略的定向探索。
图13:定向探索算法概述(图片来源:2020年论文《First return then explore》)一般性定向探索算法提出以后, 2019年论文《Self-Imitation Learning via Trajectory-Conditioned Policy for Hard-Exploration Tasks》提出多种轨迹条件下的自模仿学习(DTSIL)算法,与上面提到的基于策略的定向探索的思想如出一辙。DTSIL算法保留了训练期间收集的各种示范轨迹数据,并通过自模仿学习,利用这些存储数据训练轨迹条件策略。在采样过程中,优先考虑以新颖状态结束的轨迹。图14:DTSIL(多种轨迹条件下的自模仿学习)算法(图片来源:2019年论文《Self-Imitation Learning via Trajectory-Conditioned Policy for Hard-Exploration Tasks》)2019年论文《Directed Exploration for Reinforcement Learning》中应用了同样的方法。主要思想是在内存中以较高的不确定度存储目标状态,便于智能体以后可以利用目标条件策略重复访问这些目标状态。在每一个事件中,智能体都会掷硬币(概率为0.5),以决定它是根据贪婪策略选择动作还是通过从内存中抽取目标状态进行定向探索。图15:应用于定向探索的函数逼近法构成要素(图片来源:22019年论文《Directed Exploration for Reinforcement Learning》)状态的不确定性度量方法可以尽可能的简化,比如基于计数的附加奖励,也可以复杂,如密度或贝叶斯模型。这篇论文训练了一个前向动态模型,并以其预测误差作为不确定性度量。 5 Q值探索受汤普森采样启发,通过在经典DQN中应用自举法,2016年论文《Deep Exploration via Bootstrapped DQN》提出自引导DQN算法,引入了Q值近似的不确定性概念。自引导法是多次从同一总体中进行替换抽样做近似分布,然后对分布结果进行聚合。多个Q值的头结点并行训练,但每个Q值头结点只利用一个采样数据集训练更新,每个头结点都有自己对应的目标网络。所有的Q值头结点共享同一个骨干网。图16:自引导DQN算法(图片来源:2016年论文《Deep Exploration via Bootstrapped DQN》)在一个事件开始时,统一采样某个Q值头结点,用于采集该事件的经验数据。然后从掩码分布m∼M 中采样一个二进制掩码,并决定哪些头结点可以使用该数据进行训练。掩码分布M的选择决定了如何生成自引导样本,例如:
如果M是P=0.5的独立伯努利分布,则对应于双自引导或非自引导方法。
如果M总是返回一个全1掩码,则该算法将简化成一个集合方法。
然而,这种探索仍然受到限制,因为自引导法带来的不确定性完全依赖于训练数据。在训练数据中注入一些独立于数据的先验信息会更好一些。“嘈杂”的先验信息有利于智能体在奖励稀疏时继续探索。这种在自举DQN中加入随机先验信息以便更好进行探索的算法(2018年论文《Randomized Prior Functions for Deep Reinforcement Learning》提出)依赖于贝叶斯线性回归。贝叶斯回归的核心思想是:通过对噪声数据进行训练,再加上一些随机正则化项,生成后验样本。θ 为 Q 函数参数, 为目标函数参数,使用随机先验函数 p 的损失函数可写成下式: 6 变分选择智能体的动作选择其实是带有终止条件的策略。搜索空间中存在大量独立于智能体本身的选择。明确地将内在选择纳入模型建立阶段,可以使智能体探索后获得内在奖励。VIC(简称为“变分内在控制”,2017年论文《Variational Intrinsic Control》提出)以选择建模和学习限定的策略为基础,是一个为智能体提供内在探索附加奖励的框架。Ω表示从开始 到结束 的选项。环境概率分布 表示给定启动状态 时选项Ω终止的位置。可控性分布 表示可以从中取样的选项的概率分布。根据定义有 。当选择选项时,希望实现以下两个目标:
图18:VALOR译码器是一个双向LSTM单元,从一条轨迹上取 N=11个等间距的观测值作为输入(图片来源:2018年论文《Variational Option Discovery Algorithms》)DIAYN(“Diversity is All You Need”,由2018年论文《Diversity is All You Need: Learning Skills without a Reward Function》提出)的观点与VALOR算法的基本思想异曲同工——DIAYN以隐式变量为条件对策略建模。