EXPLORATION BY RANDOM NETWORK DISTILLATION (RND)

RND将奖励分成了intrinsic reward和extrinsic reward两部分,其中extrinsic reward相当于是原始奖励,而intrinsic reward的计算则是通过设计了两个网络,并计算它们输出的MSE得到的。两个网络都使用随机初始化,但其中的target network参数固定,MSE计算得到的loss仅用于更新predictor network。因为在神经网络的训练过程中,如果某个样本与训练集的样本相同或类似,那么神经网络会得到较小的训练误差,反之如果某个样本与训练集中样本差异过大,则会导致较大的训练误差。误差越大,intrinsic reward越大,反之则越小。RND以此来鼓励agent探索没有遇到过的状态。


1. Introduction

现有算法在dense reward下能够得到很好的效果,但当reward稀疏时往往性能不佳。在这些情况下,必须有针对性地探索环境。

RL的最新发展似乎表明,解决最具挑战性的任务需要处理从并行运行的多个环境副本中获得的大量样本。 鉴于此,期望具有大量经验的,能够很好地扩展的探索方法。 然而,基于计数,伪计数,信息增益或预测增益的许多最近引入的探索方法难以扩展到大量并行环境。

本文介绍了一种探索奖励,易于实现,适用于高维观测,可与任何策略优化算法一起使用,并且计算效率高,因为它只需要一个前馈神经网络。我们的探索奖励是基于这样的观察,即神经网络在类似于训练过的例子上的预测误差明显较低。这激发了使用根据agent的过去经验而训练的网络的预测误差来量化新经验的新颖性。

正如许多作者所指出的那样,使这种预测误差最大化的代理往往会被那些预测问题的答案是输入的随机函数的转换所吸引。我们提出另一种方法来解决这种不受欢迎的随机性,方法是使用一个预测问题来定义探索奖励,其中答案是其输入的确定函数。即根据当前观测值预测固定随机初始化神经网络的输出。

我们发现,即使完全忽略外部奖励,最大化RND探索奖励的agent也能在Montezuma’s Revenge中找到一半以上的房间。为了将探索奖励与外部奖励结合起来,我们引入了一种改进的近端策略优化(PPO)对两个奖励流使用两个value heads。这允许对不同的回报使用不同的贴现率,并将episodic和non-episodic回报结合起来。有了这种额外的灵活性,我们最好的agent经常会在Montezuma’s Revenge中发现一级24个房间中的22个,偶尔(虽然不经常)通过一级。同样的方法在Venture and Gravitar上得到了最先进的表现。

2. Method

2.1. EXPLORATION BONUSES

Exploration bonuses鼓励agent探索,即使环境奖励ete_t是稀疏的。具体的,使用rt=et+itr_t=e_t+i_t替代ete_t,其中iti_t是与时间t处的transition相关的探索奖励。我们希望新状态的iti_t要高于经常被访问到的状态。

基于计数的探索方法提供了此类奖励的示例。当状态空间有限时,可以定义iti_t为状态ss的计数nt(s)n_t(s)的递减函数,例如it=1nt(s)i_t=\frac{1}{n_t(s)},或者it=1nt(s)i_t=\frac{1}{\sqrt{n_t(s)}}。在非表格形式的情况下,产生计数并非易事,因为大多数状态最多只能访问一次。在这种情况下一种可能的泛化是伪计数,它使用状态密度估计值的变化作为探索性奖励。 这样,即使对于过去从未访问过的状态,从密度模型得出的计数也可以为正,前提是它们类似于先前访问过的状态。

一种替代方法是将探索奖励定义为与agent transitions相关问题的预测误差。此类问题的一般示例包括正向动力学和逆向动力学。 如果可以获得有关环境的特定信息,例如预测与agent交互的对象的物理属性,也可以使用Non-generic prediction problems。 当agent收集到更多类似于当前的经验时,这种预测误差往往会减少。基于这个原因,即使是一些微不足道的预测问题,比如预测一个常数为零的函数,也可以作为探索的奖励。

2.2. RANDOM NETWORK DISTILLATION

本文使用的也是一种基于prediction problem的方法。使用了两个神经网络:

  • 随机初始化但参数固定的target network;
    f:ORkf:O\to\mathbb{R}^k,输入为观测
  • 随机初始化,但在agent交互数据上训练的predictor network。
    f^:ORk\hat{f}:O\to\mathbb{R}^k,训练predictor network的参数θf^\theta_{\hat{f}}以最小化MSE f^(x,θ)f(x)2||\hat{f}(x,\theta)-f(x)||^2

对于与predictor network训练过的状态不同的新颖状态,预测误差会更高,探索奖励会更大。

2.2.1. SOURCES OF PREDICTION ERRORS

通常,预测误差可归因于许多因素:

  • 训练数据量:
    当预测者很少看到类似的例子时预测误差很高;
  • 随机性:
    由于目标函数是随机的(预测不确定性),因此预测误差很高。随机transitions是前向动力学预测中此类误差的来源;
  • 模型规格不正确:
    由于缺少必要的信息,或者模型类太有限而无法满足目标函数的复杂性,因此预测误差很高;
  • 学习动力学:
    预测误差很大,因为优化过程未能在模型类中找到最能逼近目标函数的预测变量。

因素1是使人们能够将预测误差用作探索奖励的原因。 实际上,预测误差是由所有这些因素的组合引起的,并非所有这些因素都是理想的。

RND消除了因素2和3,因为可以将目标网络选择为确定性的并且位于预测器网络的模型类之内。

2.2.2. RELATION TO UNCERTAINTY QUANTIFICATION

预测网络和目标网络的输出的每个座标将对应于一个集合的一个成员(集合之间的参数共享),MSE将是集合的预测方差的估计(假设集合是无偏的)。换言之,蒸馏误差可视为预测常数零函数不确定性的量化。

2.3. COMBINING INTRINSIC AND EXTRINSIC RETURNS

在仅使用内在奖励的初步实验中,将问题视为non-episodic问题会导致更好的探索。 在这种情况下,返回不会在“游戏结束”时被截断。 我们认为,这是在模拟环境中进行探索的自然方法,因为agent的内在回报应该与将来可能发现的所有新颖状态相关,无论它们是否都发生在一个episode中或分布在多个episode中 。

一个游戏的真正成本是从一开始就必须玩整个游戏所产生的机会成本,而不是单个episode。然而,使用non-episodic回报作为外部回报可能会被一种策略所利用,这种策略会在接近游戏开始时发现回报,通过让游戏结束而故意重新启动游戏,并在无休止的循环中重复这一点。

如何估计non-episodic流的内在奖励iti_t和episodic流的外在奖励ete_t的组合价值尚不明确。 我们的解决方案是观察收益在回报中是线性的,因此可以分解为外在奖励和内在奖励的总和R=RE+RIR = R_E + R_I。 因此,我们可以使用它们各自的返回值分别拟合两个value heads VEV_EVIV_I,并将它们组合以给出值函数V=VE+VIV = V_E + V_I。 同样的想法也可以用于结合不同折扣因子的奖励流。

2.4. REWARD AND OBSERVATION NORMALIZATION

为了使奖励保持在一个一致的尺度上,我们将内在奖励除以内在回报标准差的连续估计值,使其标准化。

观察的归一化在深度学习中通常很重要,但是在使用随机神经网络作为目标时,观察归一化至关重要,因为参数被冻结,因此无法适应不同数据集的尺度。 缺少归一化可能导致嵌入的方差极低,并且携带的输入信息很少。 为了解决这个问题,我们使用观察归一化方案,该方案通常用于连续控制问题中,通过减去运行平均值,然后除以运行标准偏差,我们可以白化每个维度。 然后,我们将归一化的观测值裁剪为-5到5之间。我们在开始优化之前,通过在环境中对随机代理执行少量步骤来初始化归一化参数。我们对预测器网络和目标网络都使用相同的观察归一化,但对策略网络不使用。

RND伪代码如下所示:
在这里插入图片描述

References:

[1] 强化学习之reward shaping有关论文简述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章