Pink Noise Is All You Need: Colored Noise Exploration in Deep Reinforcement Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
Published as a conference paper at ICLR 2023
ABSTRACT
在具有连续动作空间的异策深度强化学习中,探索通常通过在动作选择过程中注入动作噪声来实现。基于随机策略的流行算法,如SAC或MPO,通过对不相关的高斯分布进行采样来注入白噪声。然而,在许多任务中白噪声不能提供足够的探索,因此转而使用时间相关的噪声。一种常见的选择是Ornstein-Uhlenbeck(OU)噪声,它与布朗运动(红噪声)密切相关。红噪声和白噪声都属于彩色噪声的大家族。在这项工作中,我们对MPO和SAC进行了全面的实验评估,以探索其他颜色的噪声作为动作噪声的有效性。我们发现,介于白噪声和红噪声之间的粉红噪声在各种环境中显著优于白噪声、OU噪声和其他替代噪声。因此,我们提出将其作为连续控制中动作噪声的默认选择。
1 INTRODUCTION
探索在强化学习(RL)中至关重要,以在状态空间中找到未知的高奖励区域。这在机器人等连续控制设置中尤其具有挑战性,因为通常需要协调多个步骤的行为才能达到足够不同的状态。最简单的探索方法是使用动作噪声,它会给策略的动作添加小的随机扰动。在异策算法中,探索性行为策略不需要与目标策略匹配,动作噪声可以从任何随机过程中提取。如果策略是确定性的,如在DDPG(Lillicrap et al.,2016)和TD3(Fujimoto et al.,2018)中,动作噪声通常是白噪声(来自时间上不相关的高斯分布)或Ornstein-Uhlenbeck(OU)噪声,并被添加到策略的动作中。在策略是随机的算法中,如SAC(Haarnoja et al.,2018)或MPO(Abdolmaleki et al.,2019),动作采样本身引入了随机性。由于采样噪声通常时序不相关,因此这些算法有效地采用了加性白噪声的标度调节版本,其中噪声标度随不同状态而变化。
在许多情况下,白噪声探索不足以达到相关状态。由于探索不足,MPO和SAC在某些简单任务(如MountainCar)方面都存在严重问题。正如在TD3或DDPG中一样,这些算法的异策性质使得可以用不同的随机过程代替隐式用于动作采样的白噪声过程。时间相关性在动作选择中的有效性以前已经注意到(例如,Osband et al.,2016),如图1所示,在简单的积分器环境中,将白噪声(不相关)的探索行为与具有中等(粉红噪声)和强(OU噪声)时间相关性的噪声的探索行为进行了比较(第6节对此进行了详细介绍)。使用高度相关的噪声,如OU噪声,可以产生足够的探索来处理这些困难的情况,但它也引入了一个不同的问题:强烈偏离策略的轨迹。过多的探索对学习一项好的策略是无益的,因为在训练期间必须涵盖同策状态访问分布,以使统计学习成为可能。因此,一种典型的方法是默认使用白噪声,只有在必要时才使用OU噪声等替代方法。在这项工作中,我们的目标是找到一种更好的策略,通过考虑具有中等时间相关性的噪声,希望这些策略在白噪声足够的环境和需要更多探索的环境中都能很好地工作。
为此,我们研究了彩色噪声作为深度RL中的动作噪声的有效性。彩色噪声是具有控制相关强度的参数的时间相关噪声过程的通用族。它推广了白噪声(β=0)和与OU噪声密切相关的布朗运动(红噪声,β=2)。我们发现,通过使用具有中等时间相关性(0<β<2)的彩色动作噪声,可以显著提高在各种环境中的平均性能。特别是,我们发现粉红噪声(β=1)是一个极好的默认选择。有趣的是,在人类的运动中也观察到了粉红噪声:静止的受试者的轻微摇摆,以及音乐家与节拍的时间偏差,都被测量出与粉红噪声一致的时间相关性(Duarte & Zatsiorsky,2001;Hennig et al.,2011)。
我们的工作有助于对MPO和SAC上的各种动作噪声类型进行全面的实验评估。我们发现,粉红噪声不仅在我们选择的环境中具有最佳的平均性能,而且在80%的情况下,它的性能没有被任何其他类型的噪声超越。我们还发现,粉红噪声的性能与将噪声类型调整到环境的oracle不相上下,而白色和OU噪声在最差噪声类型选择和oracle之间的性能分别为50%和25%。为了研究是否有更好的噪声策略,我们测试了一种在训练过程中从全局探索红噪声到局部探索白噪声的颜色调度,以及一种自动调整噪声颜色以最大限度地提高rollout回报的赌博机方法。尽管与白色和OU噪声相比,这两种方法都显著提高了平均性能,但粉红噪声的性能明显更优。除了我们的实验结果之外,我们还试图通过构建具有简化动力学的环境并分析粉红、白色和OU噪声的不同行为来解释为什么粉红噪声作为默认选择效果如此好。我们的提议是从当前默认的白噪声切换到粉红噪声。
2 BACKGROUND & RELATED WORK
强化学习(RL)已经取得了令人印象深刻的结果,特别是在离散控制环境中,例如在使用DQN的Atari游戏中实现了人类水平的性能(Mnih et al.,2015),或者通过使用深度网络作为函数近似器来掌握围棋游戏(Silver et al.,2016)。在本文中,我们关注的是连续控制设置,这在机器人中尤其合适。在连续动作空间中,通常难以通过在动作空间上优化价值函数来选择动作。这使得许多为离散控制设计的深度RL方法,如DQN,不适用。相反,研究人员开发了策略搜索方法(例如,Williams,1992;Silver et al.,2014),直接将策略参数化。这些方法可分为同策算法,如TRPO(Schulman et al.,2015)和PPO(Schulmann et al.,2017),以及异策算法,如DDPG、TD3、SAC和MPO。
所有这些算法都必须解决探索问题,而探索问题是RL的基础:为了提高策略性能,智能体需要探索新的行为,同时还要学会最优行动。解决探索问题的一个想法是在奖励中增加新奇奖励(例如,Thrun,1992)。在深度RL中,这可以通过基于样本密度(Tang et al.,2017)或预测误差(Burda et al.,2019)应用奖金来实现。鼓励探索的另一种方法是从Thompson采样等赌博机方法中获得灵感(例如,Russo et al.,2018),并对Q函数的不确定性采取乐观态度(Osband et al.,2016)。然而,最简单的策略是随机干扰策略参数(Plappert et al.,2018;Mania et al.,2018)或动作本身。这可以通过为每个回合随机采样一个函数来实现,该函数决定性地改变了动作选择(Raffin & Stulp,2020),通过学习动作维度和状态空间维度之间的相关性来诱导环境中不断增加的兴奋(Schumacher et al.,2022),或者通过从任务不可知数据中学习动作先验(Bagatella et al.,2020)。
在这项工作中,我们考虑了连续控制中最简单且最常见的探索形式:动作噪声。动作噪声可以显式地添加到策略中,也可以通过从随机策略中随机采样动作来隐式地添加。最常见的动作噪声形式是白噪声,它通常来自每个时间步骤的独立高斯分布采样。除了白动作噪声,Lillicrap等人(2016)成功地使用了时间相关的Ornstein-Uhlenbeck噪声,Pinneri等人(2020)通过利用彩色噪声改进了模型预测控制。受这一成功的启发,在这项工作中,我们研究了彩色动作噪声在无模型RL背景下的有效性,特别是在MPO和SAC上。
3 METHOD
在本文中,我们研究了使用动作噪声的探索。在像DDPG和TD3这样的算法中,学到的策略μ是确定性的,只需将动作噪声添加到策略中:
其中,ε1:T = (ε1, ... , εT)是从随机过程中采样的,并且σ是一个标度参数。如果εt在每个时间步骤独立采样,例如从高斯分布中采样,则ε1:T被称为白噪声(WN)。这是动作噪声的主要选择,尽管使用时间相关的Ornstein-Uhlenbeck噪声(ε1:T ~ OUT)也很常见(Uhlenbeck & Ornstein,1930)。
参数化随机策略的算法,如SAC和MPO,也使用动作噪声。在连续动作空间中,最常见的策略分布是对角高斯,由函数μ(st)和σ(st)表示:。这可以等效地写成
其中。在这种情况下,动作噪声ε1:T再次是高斯白噪声,它由函数σ进行标度调节。
白噪声不随时间相关(cov[εt, εt'] = 0)。在某些环境中,这会导致探索非常缓慢,进而导致状态空间覆盖不足,从而导致高奖励区域未被发现。因此,使用具有时间相关性的动作噪声(cov[εt, εt'] > 0)通常是有益的,就像Ornstein-Uhlenbeck(OU)噪声一样。OU噪声被推荐为DDPG的默认选择,并已被证明会导致状态空间覆盖率的显著增加(Hollenstein et al.,2022)。OU噪声由随机微分方程(SDE)定义
其中ηt是白噪声过程。如果θ=0,则该公式定义了积分白噪声,也称为布朗运动。布朗运动在时间上是相关的,但如果以这种方式生成,就不能用作动作噪声,因为它的方差随着时间的推移而无限增加,违反了动作空间的限制。这个问题可以通过设置θ>0(典型的选择是θ=0.15)来解决,这限制了方差。关于OU噪声和布朗运动的更多细节可以在第A节中找到。
彩色噪声给出了一个广泛的时间相关噪声族,它推广了白噪声和布朗运动(在本文中称为红噪声)。
Definition 1(彩色噪声)。如果从一个随机过程提取的信号ε(t)具有性质,则它被称为具有颜色参数β的彩色噪声,其中
表示ε(t)(f是频率)的傅立叶变换,
称为功率谱密度(PSD)。
颜色参数β控制信号中的时间相关性的量。不同β的颜色噪声的PSD如图A.2所示。如果β=0,则信号是不相关的,并且PSD是平坦的,这意味着所有频率都被相等地表示。这种噪声被称为白噪声,类似于光照,在光照中,在所有可见频率上具有相等功率的信号被感知为白色。红噪声(β=2)之所以如此命名,是因为它在较低的频率上具有更大的权重,而在光照中,较低频率对应于光谱的红色部分。根据公式(1)和(2),可以有效地生成具有恒定方差的高斯彩色噪声,并且可以一次对一个回合的完整噪声信号进行采样,以用作动作噪声。如果像这样生成,我们用ε1:T ~ CNT(β)表示(更多细节见第A节),白噪声与在每个时间步骤从高斯分布独立采样相同。红噪声(CNT(2))与默认设置θ=0.15的OU噪声非常相似,因为两者本质上都是具有有界方差的布朗运动(见图A.2)。1 通过设置0<β<2,彩色噪声允许我们搜索更好的默认动作噪声类型,该类型在白噪声和红噪声之间具有中等时间相关性。一种特殊情况是粉红噪声,它由β=1定义。
1 第A节讨论了OU噪声的θ的其他设置,这些设置与红噪声不太相似。在正文中,我们只考虑默认设置θ=0.15。
4 IS PINK NOISE ALL YOU NEED?
Fujimoto等人(2018)发现,动作噪声的类型(白色或OU)通常不会影响TD3的性能。与此相反,Hollenstein等人(2022)发现噪声类型确实有影响,但这种选择的影响以及哪种噪声类型更可取,完全取决于环境。我们从确认后一个结果2开始,并将白色和OU动作噪声与一组彩色动作噪声(β ∈ [0, 2])就所实现的性能进行比较。在我们所有的实验中,我们使用MPO和SAC,分别依赖于Pardo (2020)和Raffin等人(2021)的实现。我们发现,这两种算法在任务中都显著优于TD3,因此在第B.1节中仅简要讨论了TD3。由于动作噪声类型的最优性取决于环境,我们对DeepMind Control Suite(Tassa et al.,2018)、OpenAI Gym(Brockman et al.,2016)和Adroit hand Suite(Rajeswaran et al.,2018)中的10个不同任务进行了实验。这些环境如图2所示,并在第C节中进行了更详细的描述。我们在第G节中报告了一些额外任务的结果。
为了评估训练过程(总是持续106次环境交互)的性能,我们每104次交互运行5次评估rollout。然后,我们将性能报告为所有这些评估rollout的平均回报。由于这种性能与学习曲线下的面积有关,因此它是一种结合最终策略性能和算法样本效率的度量。更详细的结果,包括学习曲线和对最终策略性能的分析,可以在B.2和H节中找到。
2 我们也证实了之前的结果(见第B.1节),但发现彩色噪声(尤其是粉红噪声)在TD3上的性能优于白色和OU噪声。
4.1 DOES THE NOISE TYPE MATTER?
为了评估动作噪声选择的重要性,我们评估了SAC和MPO在图2所示的基准环境中使用白噪声、OU噪声和彩色噪声作为动作噪声(其中,β ∈ {0.1, 0.2, 0.35, 0.5, 0.75, 1, 1.5, 2})时所实现的性能。我们用20个不同的种子重复所有的学习运行,总共得到20×10×2×10=4000个实验3,每个实验都报告了一个标量性能。为了控制算法和环境对特定噪声类型性能的影响,我们按算法和任务对所有结果进行分组,并将它们归一化为零均值和单位方差。然后,我们计算一种噪声类型的平均性能:使用这种噪声类型的所有运行的归一化性能,在算法和环境中进行平均。图3显示了期望平均性能的自举分布,使用每个任务和算法可用的20个随机种子生成(更多细节见第B.2节)。可以看出,噪声类型确实对性能很重要。对粉红噪声(β=1)的明显偏好变得可见,这在任务中显著优于白噪声和OU噪声。在第B.2节中,可以在相应的学习曲线上看到这种性能差异,在那里我们比较了白色、OU和粉红噪声。
在各个环境中实现最佳平均性能并不等同于在每个环境中都是性能最佳的选项。这就引出了一个问题,即粉红噪声(最好的通用选项)何时也能像环境中最好的噪声类型一样好。我们对每个环境执行Welch t-检验,以检查粉红噪声和特定任务的最佳噪声4的性能之间的期望差异是否显著。结果列于表1中。尽管在十项任务中的三项任务中,粉红噪声仅在种子间达到最高均值,但统计分析表明,粉红噪声与最佳噪声类型之间的差异仅在十分之二的情况下显著。换句话说,在测试的环境中,在80%的情况下,粉红噪声的表现与最佳噪声类型的选择不相上下!在Pendulum和Reacher这两种环境中,粉红噪声的表现优于其他类型的噪声?在Pendulum上,粉红噪声平均达到红噪声(β=2)性能的83%。相比之下,白噪声仅达到红噪声性能的39%(OU的性能与红噪声类似)。在Reacher上,粉红噪声的性能达到了白噪声的99%,而OU噪声仅达到76%。因此,即使在少数粉红噪声表现显著的环境中,它也明显优于白噪声和OU噪声。这些结果表明,粉红噪声似乎是所有你需要的。
3 种子 × 任务 × 算法 × 噪声类型(WN+OU+8种颜色)
4 为了计算最佳噪声类型,我们归一化算法的贡献(类似于平均性能),并取每个环境中随机种子的平均性能。
4.2 IS PINK NOISE A GOOD DEFAULT?
给定环境下的最佳性能总是通过特定任务的最佳动作噪声类型来实现的。总是使用这种最佳噪声类型是很好的,但运行大型超参数搜索来找到它通常是不现实的,尤其是在包括许多可能的颜色时。因此,坚持“默认”选择是很常见的,这通常是白噪声。在上一节中,我们看到粉红噪声是比白噪声更好的默认选择,但仍不清楚这是否足够,或者是否需要超参数搜索才能获得良好性能。在本节中,我们将分析与使用特定于任务的最佳噪声类型相比,坚持使用白噪声、粉红噪声或OU噪声的默认值会损失多少性能。
我们通过“oracle”方法选择特定于任务的最佳噪声类型,这可以被认为是一种非常广泛的网格搜索:通过查看所有噪声类型的结果,并在10个种子中选择性能最佳的选项,来选择环境的最佳噪声类型。通过做一个“anti-oracle”实验,在每个环境中选择最差的噪声类型(即可能最不好的噪声类型),我们可以定义一个新的“性能增益”度量,这可能比上一节中的平均性能更容易解释。5 噪声类型的性能增益指定其平均性能在anti-oracle性能(0%)和oracle性能(100%)之间的位置。图4显示了使用白噪声、Ornstein-Uhlenbeck噪声和粉红噪声作为所有环境的默认值时的性能增益。
通过始终坚持使用Ornstein-Uhlenbeck噪声,仅实现了可能的最高性能增益的约25%,由此产生的性能将更接近于使用anti-oracle。通过使用白噪声,我们已经实现了超过50%的性能增益。然而,与oracle相比,选择粉红噪声似乎不会牺牲任何性能!6 从默认的白噪声切换到粉红噪声所获得的增益既可观又显著,我们建议切换到默认的动作噪声。
5 对不用于噪声类型选择的10个种子进行(anti-)oracle评估,以避免采样偏差。我们通过在前10个(后10个)种子上选择(评估)一次,在后10个(前10个)种子上选择(评价)一次来重复这一过程。
6 看起来粉红噪声甚至超过了oracle的性能。这种差异在统计上并不显著,这是由于oracle只能访问未用于评估的10个种子。
5 ALL THE COLORS OF THE RAINBOW
我们发现,在广泛的环境中,粉红噪声是最好的默认动作噪声。然而,仍有一些环境中,粉红噪声的表现优于其他噪声类型,特别是Reacher和Pendulum任务中的白/红噪声。这表明可能不存在在所有环境中表现最好的单个噪声类型。然而,只有当噪声在训练过程中保持恒定时,这种考虑才有效。如果我们尝试一种不同的方法,并为每次rollout分别选择噪声类型,我们可能会发现一种策略在任何地方都表现不佳。在本节中,我们将讨论两种这样的非常数方法,它们在rollout的噪声类型的选择方式上有所不同:从β=2到β=0的颜色调度,以及旨在为环境找到最佳颜色的赌博机方法。
5.1 IS COLOR-SCHEDULING BETTER THAN PINK NOISE?
为了找到一种比粉红噪声更有效的探索方法,有助于理解为什么在Pendulum和Reacher环境中学习对其他类型的噪声效果更好。Pendulum环境是欠驱动的,需要通过缓慢的来回摆动来逐渐积累动量。强相关的动作噪声,如红噪声,使这种行为更有可能发生。另一方面,Reacher任务既没有特别大的状态空间,也没有表现出欠驱动,因此白噪声非常适合探索空间。这里,时间相关的噪声只会导致偏离策略的轨迹数据,从而抑制学习。一般来说,强相关噪声导致更多的全局探索,而不相关噪声则更多地进行局部探索。我们在第6节中回到这些想法,在那里我们分析了高相关性和低相关性对两个简单环境的影响。
我们的方法应该在这两种环境中都能很好地工作,并且在需要局部和全局探索相结合的环境中也能很好的工作。因此,我们正在寻找一种平衡局部和全局探索的战略。一个简单的想法是颜色计划:从高度相关的红噪声(β=2)开始,然后在训练过程中慢慢减少到白噪声(β=0)。这一策略背后的原理是,在训练开始时,当β很大时,可以快速发现高奖励区域,而随着时间的推移,轨迹会更加符合同策,有助于Reacher等环境。事实上,一种类似的方法调度动作噪声scale已经被证明非常有效(Hollenstein et al.,2022)。
我们在MPO和SAC上实现了一个从β=2到β=0线性变化的β-时间表,并在所有环境中用20个随机种子重复实验。跨环境的期望平均性能的自举分布如图4所示(用Schedule表示)。结果表明,该时间表通常优于OU和白噪声,但不优于粉红噪声。事实上,粉红噪声明显更好,因为置信区间不重叠。如果我们更详细地观察各个环境(表2),我们会发现,由于额外的高度相关噪声,正如预期的那样,时间表在Pendulum环境中的表现确实优于粉红噪声。然而,在所有其他环境中,粉红噪声要么明显优于时间表,要么表现平平,因此我们仍然建议使用粉红噪声作为默认值。
5.2 IS BANDIT COLOR SELECTION BETTER THAN PINK NOISE?
上一节中的结果表明,虽然在训练过程中改变噪声类型可以提高性能,但简单地从全局探索红噪声转向更局部地探索白噪声并不能胜过粉红噪声。在本节中,我们考虑了一种自适应方法,而不是试图找到一个不同的时间表来适应所有环境。通过使用赌博机算法在过去的rollout回报的基础上为每个rollout选择动作噪声颜色,不仅可以找到给定环境的通用最佳噪声,甚至可以自动将噪声适应不同的训练阶段。我们使用的赌博机算法是基于Thompson采样的,细节在第D节中解释。
我们使用rollout回报本身作为赌博机奖励信号。其理由是,在需要强探索的环境中(如Pendulum和MountainCar),只有通过强相关动作才能实现高回报。另一方面,如果环境不需要相关的动作,或者已经学习了有能力的策略,则应该通过对策略干扰最小的动作噪声(即具有低相关性的噪声)来实现最高回报。
作为额外的基线,我们还进行了一个实验,为每个rollout随机选择一种颜色(β)。7 对于这两种方法,我们使用与第4.1节中相同的β值列表(包括β=0),并使用20个随机种子重复实验。MPO和SAC的结果如图4(用Bandit和Random标记)和表2所示。可以看出,赌博机方法再次被粉红噪声所击败。事实上,自举测试在不同环境的期望平均性能方面产生了非常显著的差异(p=0.005)。从单个任务的结果来看(表2),在两个有问题的环境(Pendulum和Reacher)中,赌博机方法似乎确实优于粉红噪声,然而,这种差异并不显著。赌博机及其随机基线的详细比较可以在表D.1中找到,这表明这两种方法在任何环境下都没有显著优于其他方法。这表明,虽然在训练过程中改变噪声类型可能有好处,但rollout回报似乎包含的信息太少,无法有效地指导噪声类型选择。因此,我们建议使用粉红噪声作为默认值保持不变。
6 HOW DO ACTION NOISE AND ENVIRONMENT DYNAMICS INTERACT?
为什么粉红噪声是一种很好的默认噪声类型?在第5.1节中,我们简要讨论了局部和全局探索的概念,并假设最佳探索行为提供了两者之间的平衡,这样可以找到高回报区域,同时轨迹不会太异策。为了分析不同噪声类型的行为,我们将观察一个简化的有界积分器环境:一个在盒子中移动的速度控制的2D粒子(更多细节见第F.2节)。如果我们纯粹通过噪声控制这个粒子,我们可以独立于策略来分析探索行为。作为第一个测试,我们在大小为250×250的环境中运行20个回合(每个回合1000个步骤),环境中有白噪声、粉红噪声和OU噪声(所有噪声都具有单位方差,x和y速度独立控制)。结果轨迹如图1所示。可以看出,粉红噪声提供了局部和全局探索的最佳组合:它到达边缘(与白噪声不同),但不会卡在那里(与OU噪声不同)。
局部和全局探索的良好组合产生了更均匀的状态空间覆盖,如图1所示。因此,一种噪声类型的探测效果在很大程度上取决于环境的大小:如果环境小得多,白噪声就足以覆盖空间,而粉红噪声轨迹看起来与此处显示的OU轨迹相似。另一方面,如果环境更大,那么粉红噪声将不会到达边缘,OU噪声将更好地探索。状态空间覆盖的均匀性是通过状态访问分布的熵来测量的。我们使用直方图密度近似来估计噪声类型引起的熵:我们将状态空间划分为多个框(50×50=2500个框),对104个轨迹进行采样,并计算每个框中采样点的数量。
图5显示了白噪声、OU噪声和粉红噪声获得的熵作为环境大小的函数。选择大小是为了反映1000步的回合长度的完整合理范围,每个步骤都有单位方差:从非常小(50×50)到非常大(2000×2000)。粉红噪声并不“特别”,因为它在所有环境中都表现得最好,正如我们在前几节中已经看到的那样。然而,它在由回合长度决定的“中等规模”上表现最好,并且在整个可感知环境中不会出现严重的性能下降。如果我们不知道给定环境在这个频谱上的位置,那么粉红噪声显然是比白噪声或OU噪声更好的默认选择!
除了整合动作,环境动力学的另一个常见方面是振荡。振荡动力学在Pendulum和MountainCar环境中占主导地位8,但在其他领域也有相关作用,如Ball-In-Cup、Cartpole和Walker。为了对这些动力学进行建模,我们构建了第二个环境:简谐振荡器。该系统是一个无摩擦的一维物理设置,其中质量m附着在刚度为k的理想弹簧上。状态空间由质量的位置和速度组成,动作描述了施加在质量上的力。目标是最大化振荡器系统中的能量(相当于最大化振幅),类似于MountainCar和Pendulum任务,这是收集稀疏奖励所必需的。
振荡器环境由系统的谐振频率 f 参数化,通过设置刚度k=4π2和质量m=1 / f2来固定(更多细节见第F.1节)。图5显示了振荡器系统中的平均能量(超过1000个回合,每个回合1000步)作为谐振频率 f 的函数,当由白噪声、粉红噪声和OU噪声驱动时,我们从非常低(f=1/1000,回合长度=1个周期)到非常高(f=1/2,Nyquist频率)变化。能量是相对于谐振频率下正弦激励所获得的平均能量来测量的,表示为harmf。尽管这是一个与有界积分器完全不同的设置,并且我们使用了一个非常不同的性能度量,但这两个图看起来非常相似。同样,这表明了粉红噪声作为默认动作噪声的威力:如果我们不知道给定环境的谐振频率,粉红噪声是最好的选择。
这两种环境(有界积分器和振荡器)相当简单。然而,许多真实系统的动力学无疑包含类似振荡(当存在弹簧或摆锤时)、单积分或双积分(当速度/步长或力/力矩转换为位置时)或接触动力学(如有界积分器中的盒子)的部分。如果环境的动力学非常复杂,即它们包含许多这样的单独部分,那么理想的动作噪声应该在这些“子任务”中的每一个上都得到很高的分数。然而,如果所有这些单独的部分都有不同的参数(如上面的环境大小或谐振频率),那么最好的单动作噪声将是足够通用的,能够很好地处理所有参数化的噪声,即粉红噪声。另一方面,图3中所有环境的平均性能可以解释为在非常复杂的环境中的性能,子任务是“实际”环境。这可能解释了我们为什么会看到这条曲线:所有子任务都有非常不同的参数,需要不同的动作噪声(如表1所示),但粉红噪声足够普遍,可以在所有子任务上很好地工作,因此很容易优于白噪声或OU噪声等噪声类型,它们只在非常特定的环境中很好(见图5)。
7 如果我们不提供赌博机奖励信号,这种方法大致相当于赌博机方法。
8 有关利用该特性求解MountainCar的简单方法,请参见第E节。
7 CONCLUSION
在这项工作中,我们对彩色噪声作为连续控制的深度强化学习中的动作噪声进行了全面的实验评估。我们将各种彩色噪声与白噪声和Ornstein-Uhlenbeck噪声的标准选择进行了比较,发现当在一系列标准基准上进行平均时,粉红噪声的表现优于所有其他噪声类型。仅在十分之二的环境中,粉红噪声的表现明显优于其他噪声类型,总体而言,它的表现与oracle选择的噪声类型一样好。此外,我们将粉红噪声与在训练过程中改变噪声类型的更复杂的方法进行了比较:颜色调度、赌博机方法和随机选择方案。没有任何方法比粉红噪声更好,我们建议使用粉红噪声作为默认动作噪声。最后,我们研究了纯噪声智能体在两个简化环境中的行为:有界积分器和谐振子。结果表明,与白噪声和OU噪声相比,粉红噪声在环境参数化方面更为普遍,这说明了为什么它作为默认选择表现如此出色。
REPRODUCIBILITY STATEMENT
我们提交了我们的代码作为补充材料,并在线提供了它的修改版本(https://github.com/martius-lab/pink-noise-rl)。为了确保复现性,我们特别注意将随机种子应用于算法的所有随机部分,包括环境、算法初始化和训练,以及动作噪声信号。在第C节中,我们提供了关于我们使用的确切算法和环境的详细信息。我们自己方法的超参数包含在代码提交中。此外,我们的主要实验都用20种不同的随机种子重复,以消除统计上的侥幸。
Supplementary Material —— PINK NOISE IS ALL YOU NEED
A COLORED NOISE AND ORNSTEIN-UHLENBECK NOISE
彩色噪声有一个有趣的特性,在正文中没有提到:将彩色噪声信号与参数β再次积分会产生彩色噪声信号,仅参数为β+2。这源于傅立叶变换的性质,即时域中的积分对应于与的乘积。设v(t)是具有
的原始彩色噪声信号。则
的PSD为
由此,将白噪声定义为β=0的彩色噪声,得出布朗运动(积分白噪声)也是参数β=2的彩色噪声。在图A.1中,显示了我们在本文中使用的大多数噪声类型的采样信号,在图A.2中,我们绘制了其中一些噪声类型的功率谱密度。
我们使用Timmer & Koenig (1995)描述的基于快速傅立叶变换(FFT)的程序生成彩色噪声(Cooley & Tukey,1965)。这种方法非常有效,因为它只需要在频率空间(PSD成形的地方)对高斯信号进行采样,然后通过FFT将其转换到时域。特别地,该过程比对Ornstein-Uhlenbeck信号进行采样更快(使用最常见的过程,我们将在下面描述)。我们使用colorednoise Python包(https://github.com/felixpathelt/colorednoise)来采样彩色噪声信号,并且总是对完整回合长度的信号进行采样(我们用表示)。Python实现包含一个错误,这使得它产生的“白噪声”相关,并且我们对该错误的修复已包含在该包的2.1.0版本中。根据该程序采样的彩色噪声是平稳且高斯的:信号与标准高斯分布大致相同,即
。与白噪声(每个时间步骤的独立高斯样本)的唯一区别在于,它们在时间上是相关的:
。这在图A.3中粉红噪声的例子中得到了实证显示。
A.1 ORNSTEIN-UHLENBECK NOISE GENERATION AND VARIANCE CORRECTION
图A.3中还包括Ornstein-Uhlenbeck(OU)噪声。可以看出,OU噪声一开始是非平稳的,但很快收敛到与其他噪声类型相同的边缘分布。需要注意的是,所有这些噪声类型都适合用作动作噪声,只是因为它们是(或很快变得)静止的,因此它们的方差不会无界增长(与布朗运动相反)。所有噪声类型都具有相同的边缘分布的性质表明,我们的结果只是由于动作噪声的时间相关性的变化,而不是分布的规模或形状的变化,因为这与规则高斯白噪声相同。为了确保OU噪声收敛到标准的高斯边缘分布,我们不能使用σ=1的噪声标度,而是必须对其进行校正。Ornstein-Uhlenbeck噪声可以由随机微分方程定义
其中wt是维纳过程(具有“对于任意0 ≤ t' < t,w(t)-w(t') ~ N(0, t-t')”性质的积分白噪声)。Ornstein-Uhlenbeck噪声的这个定义等价于正文中的Langevin公式(3),但使用起来更好,因为白噪声过程ηt被错误地定义为维纳过程的导数。我们通过离散化上面的方程对OU噪声信号进行采样:
其中ε ~ N(0, 1)。对于所有,
(带x-1=0)和
,可以看出
因此,作为零均值高斯分布的总和,边际分布为:
这个分布的方差是一个几何级数,当时它收敛为
,如果
则此成立。值得注意的是,如果
,则公式(6)产生白噪声,另一方面,如果
,公式描述积分白噪声(布朗运动),已知其具有无界方差。如果
,则信号表现出负的时间相关性,这从公式(6)中得出。如果几何级数收敛,则极限方差由下式给出
因此,我们可以通过将噪声标度设置为
这就是我们在整篇论文中设置OU噪声等级的方式,以使与白色和彩色噪声的比较公平。在图A.3中,可以看出,这种极限边际分布很快就被达到。在第B节中,我们还报告了Ornstein-Uhlenbeck结果,其中更常见的选择σ=1,我们发现其通常表现稍差(参见图B.1)。
如果方差被校正,则θΔt是OU噪声的唯一参数,使得例如(θ=0.3,Δt=1)等于(θ=30,Δt=0.01)。紧接着,将公式(7)代入公式(6),得出
其仅包含乘积θΔt作为参数。因此,在本文中,我们在不失通用性的情况下设置Δt=0.01。在正文中,我们也只考虑将OU噪声作为强相关布朗运动的替代,并始终设置为θ=0.15,因为这是实践中使用的最常见的默认设置。9 然而,如上文讨论所述,通过设置0<θ<100(即0<θΔt<1),Ornstein-Uhlenbeck噪声也可以表现出白噪声和布朗运动之间的中间时间相关性。这就提出了一个问题,即是否存在与粉红噪声一样通用的OU噪声的特定参数化。
9 我们为Δt和θ选择了这些值,因为这些是我们考虑的RL库的默认选择(Raffin et al.,2021;Pardo,2020)。Lillicrap等人(2016)也建议θ=0.15。如果方差没有得到校正(我们在第B节中报告了这些实验),那么Δt的选择确实会产生影响。
A.2 GENERALITY OF ORNSTEIN-UHLENBECK NOISE
OU噪声通过选择θ ∈ (0, 100)在白噪声和布朗运动之间插值的方式与β ∈ (0, 2)的彩色噪声非常不同。我们已经表明(例如,在图A.2中),具有中间时间相关性的彩色噪声具有具有中间指数(或对数-对数图中的斜率)的幂律功率谱密度。另一方面,Ornstein-Uhlenbeck噪声可以被解释为白噪声的“泄漏积分”,即通过低通滤波器的白噪声。该积分器的“泄漏”程度由参数θ控制:如果θ=0,则积分器是理想的,导致积分白噪声(具有发散方差的布朗运动)。如果θ=100(Δt=0.01),则积分器“完全泄漏”(全通滤波器),白噪声通过而不进行积分。就功率谱密度而言,这种变化对应于低通滤波器的截止频率的偏移。对于θ ∈ {0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30, 100},如图A.4左侧所示。
对于通用的动作噪声类型(参见第6节),我们希望它在所有环境中都能很好地工作。在功率谱密度图中,已经可以看出,粉红噪声在频率上的功率分布比任何θ的Ornstein-Uhlenbeck噪声都要“普遍”得多:在任何给定的频率 f 下,粉红噪声表现出比的大多数θ值更高的功率,并且在大多数频率下,θ的所有值都比粉红噪声具有更低的功率。为什么这会使粉红噪声成为一种更普遍的作用噪声,可以通过重新访问第6节中引入的有界积分器和谐振子环境来变得更加具体。噪声的通用性衡量它对环境的选择或参数化的鲁棒性:最通用的噪声类型是在最具对抗性的环境参数化上表现最好的噪声类型。因此,对于由参数α参数化的环境来说,最通用θ解决了以下优化问题:
其中,性能度量perf(α, θ)应适当规范化,以使的不同α值可获得的最大性能相同。这可以通过简单地除以对于每个α值的最优θ所获得的性能来确保:
这给出了最通用噪声的最坏情况性能,即通过改变该最坏情况环境中的噪声类型可实现的最佳性能。通过用perf(α, pink)替换表达式perf(α, θ)并去除最大化,我们还可以计算粉红噪声的通用性。
如第6节所述,噪声类型在有界积分器和振荡器环境中的性能分别由所获得的熵和能量给出。这在图A.4中显示了所有θ值(以及粉红噪声),其中参数化参数α是有界积分器的环境大小和谐振子的谐振频率。已经可以看出,在这两种环境中,对于的每一种选择,都存在一个参数θ,其中θ的性能比粉红噪声的最坏情况性能更差。这可以通过根据公式(8)计算这些环境中的每个θ和粉红噪声的通用性来量化。在有界积分器上,OU噪声的最大通用性为77%,在振荡器环境下,其最大普遍性为9.1%。在这两种环境中,最大值均为θ=3。粉红噪声在有界积分器和振荡器环境中分别达到79%和22%的通用性。这进一步证明了粉红噪声是一个很好的默认值。
B ADDITIONAL RESULTS
B.1 TD3
除了MPO和SAC,我们还对TD3进行了正文中的所有实验。MPO和SAC将随机策略参数化,这意味着它们学习作为状态函数σ(s)的动作噪声尺度。另一方面,TD3使用确定性策略,并且独立于状态添加动作噪声。通常,在训练过程中,噪声标度σ是固定的,这也是我们在实验中处理它的方式。然而,σ是一个重要的超参数,并且没有一个值在所有环境中都能很好地工作。因此,我们用所有的值σ ∈ {0.05, 0.1, 0.3, 0.5, 1}重复我们的实验和10个不同的随机种子。
在图B.1中,具有恒定噪声类型的TD3实验的结果以期望平均性能的自举分布的形式显示,并与MPO和SAC上的相同实验进行比较,以及与图3类似的图进行比较,其中智能体的影响已被归一化。由于我们有一个额外的超参数(σ),我们首先对所有σ值的TD3性能进行平均,然后计算任务的平均性能。粉红噪声的有益效果也可以在TD3上清楚地看到。在该图中,我们还显示了噪声标度为σ=1的Ornstein-Uhlenbeck噪声的结果,而不是公式(7)的校正噪声标度。顺便说一句,这些结果也证实了Fujimoto等人(2018)的发现,即在TD3上,白噪声和OU噪声(θ=0.15)表现相似。
我们之所以没有将TD3纳入正文的分析,是因为我们发现TD3始终优于MPO和SAC。在图B.2中,根据所有β值(包括白噪声)组合了跨环境的平均性能,并显示了MPO、SAC和TD3的平均性能。可以看出,TD3的性能通常比MPO和SAC差得多。从每个环境中所有β值的平均性能来看,TD3在所有环境中的MPO和SAC都优于TD3。因此,我们决定将TD3排除在我们的主要分析之外。
B.2 MPO & SAC
在这项工作的大部分中,我们根据训练过程中的平均评估回报来衡量性能。我们使用这种方法,因为它隐含地测量了最终策略性能和样本效率(算法达到高性能的速度)。我们提供的大多数数据都是额外归一化的,这对于聚合不同环境下的性能是必要的,因此通常不太清楚如何准确解释结果(除了识别统计显著性)。在本节中,我们想用更熟悉的术语来介绍我们的一些结果,即学习曲线和最终策略性能。
为了验证使用(平均)性能而不是最终策略性能的方法,我们复制了图3中的结果。使用最终策略性能(训练过程最后5%的平均评估回报),如图B.3所示。在图B.4中,我们显示了MPO和SAC在所有环境中的白噪声、粉红噪声和OU噪声的学习曲线。这两种可视化都证实了我们的结论,即粉红噪声是比白噪声或OU噪声更好的默认动作噪声。更详细的结果见第H节。
期望平均性能的自举分布(如图3、4、B.1和B.3)是通过为每个环境随机选择一个种子来构建的,每个环境产生一个标量(归一化)性能,假设算法和噪声类型等所有其他变量都是固定的。对这些归一化的性能进行平均(在每个环境上对性能进行归一化的原因是这种平均是合理的)给出了对给定变量(例如,噪声类型和算法)的整个环境的平均性能的估计。由于存在S个不同的随机种子(通常S=20),我们可以将此过程重复S次(通过重新采样),并取所有S个平均性能估计的均值,从而对给定变量的期望平均性能进行估计。这样做N次(我们使用N=105),可以将期望平均性能的N个估计值收集到自举分布中,如这些图所示。
C ENVIRONMENTS & ALGORITHMS
我们在10个不同的任务上评估了我们的方法(见图2)。其中大多数来自DeepMind控制套件(DMC,Tassa et al.,2018),但我们也使用OpenAI Gym(Brockman et al.,2016)和Adroit hand suite(Rajeswaran et al.,2018)。表C.1中汇编了所有环境的各自来源和确切ID。有关其他任务的结果,请参见第G节。
对于我们的实验,我们依赖于Stable-Baseline3(Raffin et al.,2021)中的TD3和SAC实现,以及Tonic RL库(Pardo,2020)中的MPO实现。我们只使用了库提供的这些算法的默认超参数。我们自己在这些库中使用彩色噪声的代码可在线获取,网址为https://github.com/ martius-lab/pink-noise-rl。
D BANDIT METHOD DETAILS
D.1 BANDIT VS. RANDOM
E SOLVING MOUNTAINCAR BY FFT
F TOY ENVIRONMENT DETAILS
F.1 OSCILLATOR ENVIRONMENT
F.2 BOUNDED INTEGRATOR ENVIRONMENT
G ADDITIONAL ENVIRONMENTS
H DETAILED RESULTS