Selective Experience Replay for Lifelong Learning---阅读笔记

摘要:

深度强化学习已经成为各种学习任务的强大工具,然而,深度网络在连续学习多个任务时通常表现出遗忘。为了减少遗忘,**我们提出了一个经验重放过程,以增强标准的FIFO缓冲区,并选择性地将经验存储在长期记忆中。 ** 我们探索了四种选择将存储哪些体验的策略:偏爱惊喜,偏爱奖励,匹配全局训练分布,以及最大化状态空间的覆盖范围。我们证明了分布匹配成功地防止了灾难性遗忘,并且在所有测试的领域上始终是最好的方法。虽然分布匹配具有更好和更一致的性能,但我们确定了一种情况,即覆盖率最大化是有益的——当接受训练较少的任务更重要时。总的来说,我们的研究结果表明,当采用适当的选择算法时,选择经验回放可以防止灾难性遗忘。

1 Introduction

终身机器学习研究了按顺序学习多个任务,重点是如何利用不同任务的先前知识来提高训练时间和当前任务的学习。人们希望,如果顺序学习可以无限期地重复,那么一个系统就可以在其生命周期中继续学习。持续学习代理被认为是迈向一般人工智能的重要一步。

深度学习的最新进展继续推动了对能够学习多个任务的神经网络的研究。一些方法包括为每个任务训练单独的网络和发现动作层次结构,但这些方法在扩展到多个任务时变得低效。在系统的生命周期中,有效地保留每项任务的知识是实现这样一个网络的核心困难。当依次学习多个任务时,每个新任务都会改变经验的分布、最佳的移动,以及大量的状态不再被访问。由于非平稳的训练分布,网络失去了在以往的任务中表现良好的能力,所谓的灾难性遗忘。

我们关注的是深度强化学习,其中灾难性遗忘的影响更加明显。在深度强化学习中,经验通常存储在先入先出(FIFO)重放缓冲区中。如果很少发生的事件从缓冲区中脱落,或者网络收敛到不持续访问状态空间的行为,那么网络可能会在单个任务上经历遗忘。这可以通过拥有一个具有无限容量的重放缓冲区来缓解,或者,如果任务边界是预先已知的,则可以通过为每个任务维护单独的缓冲区来缓解。然而,随着任务数量的增加,存储所有任务的所有经验将变得非常昂贵,并且最终无法进行终身学习。

在这篇论文中,我们提出了一个在线积累经验的过程,使他们能够在有限的记忆下长期保留。我们将保持先验能力视为一个主动的过程,其中先前任务的回放被纳入到当前的学习过程中。为了有效地存储先前的经验,我们提出了一种基于排名的方法来在线收集和保存一套有限的训练示例,以减少遗忘的影响。然后,我们探索四种不同的选择策略,以确定一个良好的排名功能来选择经验。为了验证选择过程,我们将每种策略应用于一个自动驾驶领域,其中不同的任务对应于导航不同的无符号交叉点。该领域最近被分析为一个多任务设置,它既受益于转移,又允许各种任务的规范。

此外,我们还展示了我们的结果在网格世界导航任务中的进一步测试,以及MNIST分类问题的终身变体。在这项工作中,我们做出了以下贡献

  • 我们提出了一个选择性的经验重放过程来增加FIFO重放缓冲区,以防止灾难性的遗忘。
  • 我们提出并比较了四种选择策略,以在系统的生命周期中保存经验。
  • 我们分析了两种最成功的选择策略之间的权衡:分布匹配和覆盖最大化。

2 Lifelong Machine Learning

终身机器学习处理在一个系统的生命周期中学习许多任务。任务按顺序遇到,保留先验知识并用于提高对未来任务的学习。以前使用单一深度神经网络的终身学习工作都集中在在网络中保存先验知识。

浅层网络中的大量研究研究了分类任务的灾难性遗忘。第一篇在深度网络中讨论这一主题的论文提出了一种本地赢家通吃(LWTA)激活,以允许为不同的任务学习独特的网络配置。使用该网络的不同子集的LWTA策略将其与辍学相相似,这在防止某些领域的灾难性遗忘方面优于LWTA。最近,先前任务的Fisher信息矩阵已被纳入目标函数,以选择性地减缓对重要权重的学习。

相反,我们考虑对这些技术的补充方法,通过选择和保留未来的培训经验。在训练递归神经网络中,人们也简单地建议了对旧经验进行再训练的想法。已经表明,经验选择可以改善训练样本选择背景下的训练,但这并没有考虑更持久的决定,选择保留哪些样本,丢弃哪些样本。De Bruin等人显示了一些证据表明,对旧经验的再培训可以有利于转移,但没有调查培训对重复转移的影响。我们相信,回放经验是从多个任务中巩固知识的必要组成部分。通过保留先前任务的经验,并将其纳入学习过程,我们能够克服在顺序训练任务时存在的偏见。此外,我们的方法对任务边界是不可知的,减少了系统识别非平稳分布变化的负担。

2.1 Bias in Lifelong Learning

我们考虑了一个强化学习代理,并描述了如何顺序训练多个任务在学习过程中引入偏差。在强化学习中,在状态S的一个代理会根据policy \(\pi_{\theta}\) 采取行动 \(a\) ,该代理会转变到 \(s'\) 状态并且会接受一个回报 \(r\) ,这个集合被定义为经验 \(e=(s,a,r,s')\) .

在任何时候步骤 \(t\)的目标是最大化未来的折扣回报 \(R_{t}=\sum_{k=t}^{T}\gamma^{k-t}r_{k}\) 其中,\(\gamma\in(0,1].\) Q学习定义了一个最优的action-value 函数 \(Q^*(s,a)\) 作为最大的期望回报。如果\(Q^*(s',a')\) 被所有可能的行动 \(a'\)知道, \(Q^*(s,a)\) 可以通过选择最大的的行动\(a'\) 来计算 \(Q^{\ast}(s,a)=\mathbb{E}[r+\gamma\max_{a'}Q^*(s',a')\bar{|}s,a].\) 然后,贝尔曼方程为学习Q函数提供了一个迭代更新,\(Q_{i+1}(s,a)=\mathbb{E}[r+\gamma\max_{a'}Q_i(s',a')|s,a].\) 这可以修改为在深度\(q\)网络(DQN)中的单独的经验的损失 :

\[\mathcal{L}(e_i,\theta)=\left(r_i+\gamma\max_{a'_i}Q(s'_i,a'_i;\theta)-Q(s_i,a_i;\theta)\right)^2. \]

在终身学习的环境中,这种损失产生了多任务目标:

\[\dfrac{1}{m}\sum_{j=1}^m\dfrac{1}{n_j}\sum_{i=1}^{n_j}\mathcal{L}(e_i,\theta), \]

在多任务学习中,通常假设每个任务都来自于不同的分布。这导致任务中的经验与全局分布相关联。

考虑尝试对估计器U的单一任务数据的全局均值进行建模,

\[\text{bias}=\mathbb{E}(U)-\mu_{global}. \]

随着更多的任务被纳入到估计器中,偏差将会减少。但是如果估计器总是忘记之前的任务,估计器将跟踪当前的任务,并且永远不会收敛到真实的均值,强化学习中的经验重放已经被注意到可以消除数据中的时间相关性,这些相关性可能会使估计器偏向于当前的样本。然而,当一个系统正在学习一组任务时,单个任务上的训练时间可以迫使以前任务的经验脱离缓冲,因此,经验回放的FIFO实现并没有解决任务相关的相关性。

当在一系列任务上训练单个网络时,我们可以通过为每个任务维护一个缓冲区或保留一个具有无限容量的单个缓冲区来保留以前任务的经验。然后,经验可以通过从以前的任务中采样而被纳入到学习过程中,并通过保留对每个任务的经验,该网络可以并行地优化所有任务。然而,为所有任务保留经验将很快就会遇到内存限制。假设容量有限,经验重放缓冲区的标准FIFO实现将失去早期的经验,而训练分布将随着时间的推移而漂移。

为了解决这个问题,我们提出了一个存储经验的选择性过程。通过使用经验重放存储机制,选择性地保留经验在长期记忆中,我们可以消除使用FIFO重放缓冲区引起的非平稳效应。

3 Selective Experience Replay

在生物系统中,经验重放是学习行为的一个重要方面。研究表明,阻断重放会干扰学习,一些人认为,重放是记忆巩固的必要组成部分。经验回放在机器学习中可能有益的想法是由林首先探索的,他使用回放来通过重复罕见的经验来加速训练。最近,经验重放已经被广泛采用,因为它被证明是在深度强化学习的突破性成功中发挥的重要作用。但在目前的形式中,经验重放缓冲区通常是随机抽样的先先出(FIFO)缓冲区。

3.1 Experience Selection

为了有效地存储一个保持跨任务性能的样本种群,我们引入了一个长期存储,即情景记忆,它在线积累经验,在资源约束的限制下存储系统历史的一个子集。虽然情景记忆可能涉及生成过程或压缩,但在这项工作中,我们特别关注的是选择完整经验进行存储的情况。

随着时间的推移,情景记忆积累了知识,这有助于保持过去的表现,并限制网络找到一个同时尊重过去和现在的任务的最佳状态。为了从所有任务中积累经验的集合,我们根据保存先验知识的重要性对经验进行排序只要排名函数与时间无关,存储的体验也会是这样。在实践中,我们使用优先队列来实现情景记忆,确保最不优先的体验是第一个被删除的。情景记忆作为长期存储,并不打算取代短期缓冲区。

3.2 Keeping the FIFO Buffer

除了情景记忆之外,我们还保留了一个小的FIFO缓冲区,它可以不断刷新,以确保网络有机会对所有进入的经验进行训练。这种分离与互补学习系统的工作有关。一个存储空间有限的系统可以在整个一生中保存记忆,存储新经验的容量非常小,只使用长期存储空间会损害新任务的学习。此外,通过增加网络暴露于的各种经验,我们可以防止网络过拟合。只有长期记忆才能保存所有任务的经验。通过对网络进行长期记忆和短期记忆的训练,我们将梯度偏向于之前的任务。现在,我们把注意力转向确定一个合适的排序函数的问题,以选择在长期记忆中保留哪些经验。

3.3 Selection Strategies

当面对在情景记忆中存储的体验的设计选择时,有几个合理的解决方案。神经科学文献表明,回放最常发生在事件不频繁时,回放经验的广度不限于最近经历的事件或当前正在进行的任务。重放的事件显示了对令人惊讶的情况和奖励情况的偏好。或者,我们也可以使用统计策略。我们可以寻求选择与所有任务的分布相匹配的经验,或者,考虑到未来的测试分布可能与训练分布不同,我们可以寻求优化状态空间的覆盖范围。在本节的其余部分中,我们将研究基于惊喜、奖励、分布匹配和覆盖范围的选择策略——并将它们与传统的FIFO记忆缓冲区进行比较。每种策略都给出了一个不同的排名函数R(·)来排序体验。

Surprise

在啮齿动物中,意外事件已被证明与回放有关,surprise在 Q-Learing 等增量强化学习方法中有一个方便的对应方法。时间差(TD)误差描述了网络所做的预测误差,可以解释为一个特定的过渡的惊喜

\[\mathcal{R}(e_i)=\left|r_i+\gamma\max\limits_{a'}Q(s'_i,a')-Q(s_i,a_i)\right|. \]

这一想法类似于主动学习中的不确定性抽样,识别历史压缩中的意外输入,它已被有效地用作优先抽样策略的基础。为了存储令人惊讶的样本,我们使用了一个由TD误差的绝对值排序的优先级队列。虽然较大误差的分布不一定在整个学习过程中均匀分布,但在实践中,我们的实验表明,在整个训练过程中会出现较大的误差。

Reward

神经科学研究表明,奖励事件更经常发生重放事件。有利于奖励转换的优先抽样也被证明在RL有帮助。通过使用一个给定经验的未来贴现回报的绝对值来实现这一点

\[\mathcal{R}(e_i)=\left|R_i(e_i)\right|. \]

Global Distribution Matching

如果训练分布与测试分布相匹配,我们可以期望得到最好的测试性能。这激发了一种试图捕获所有任务的组合分布的策略。为了将其转化为一个排序函数,我们使用随机选择来将经验集向下抽样到一个近似匹配总体分布的更小的总体中。为了在全球分布上保持一个随机样本,即使经验依次到达,而全局分布事先不知道,我们使用了一个储层采样策略,为每个经验分配一个随机值。这个随机值被用作优先级队列中的键,在该队列中,我们保留了具有最高键值的经验。

\[\mathcal{R}(e_i)\sim N(0,1) \]

\(t\)时刻,无论何时添加样本,任何经验成为最大体验的概率都是\(1/t\),这保证了在任何给定的时间,抽样经验将与迄今为止看到的所有样本的分布近似匹配

\[\forall e_ip(e_i\in B)=\min\left(1,\dfrac{|B|}{t}\right). \]

这里的\(|B|\)是存储在情景记忆\(B\)中的经验的数量。

Coverage Maximization

当限制保留的经验的数量时,最大限度地覆盖状态空间也可能是有利的。研究表明,当系统开始持续成功时,有限的FIFO缓冲区可以收敛到齐次过渡,而这种误差样本的缺乏可能会导致发散行为。虽然通常不可能知道完整的状态空间,但de Bruin等人认为,当缓冲区大小有限时,近似于所访问状态的均匀分布可以帮助学习。

为了最大限度地覆盖空间,我们通过根据固定距离\(d\)内的情景记忆中邻居的数量对经验进行排序,并用最多的邻居替换条目来近似均匀分布。这种方法使添加条目\(O(log(|E|))\)的时间复杂度,其中\(|E|\)是情景记忆中存储的经验的数量。这个时间复杂度可以通过使用\(kd\)树将时间复杂度降低到\(O(log(|E|))\),并且只通过采样缓冲区与\(k\)个最近邻或\(O (k)\)进行比较

\[\mathcal{N}_i=\{e_js.t.\text{dist}(e_i-e_j)<d\} \\ \mathcal{R}(e_i)=-|\mathcal{N}_i|,\text{order recording to rank} \]

为了确认这种方法确实给了我们良好的覆盖范围,我们使用非线性随机投影\(t-SNE\)将状态空间投影到二维空间。这个投影还可视化了不同的任务如何来自于状态空间中的不同分布。由于选择过程是在高维空间中完成的,而不是映射空间,我们不期望被选择的点在投影后看起来是完全均匀的,但是我们证明了算法确实覆盖了空间。

4 Experiments

我们评估了在自动处理无符号交叉点问题上的选择性经验重放。相扑模拟器允许创建各种不同难度水平的不同驾驶任务,其中许多受益于转移,但有足够大的不同,适应对于良好的表现是必要的。自动驾驶有多个经常发生冲突的目标,如最大限度的提高安全度,最小化达到目标的时间,以及最小化交通干扰。自治代理在两种类型的操作中进行选择:执行或等待一些迭代。假设要采取的路径由高级控制器提供给代理。在我们的实验中,我们关注的是成功完成的试验的数量。成功的试验包括汽车安全地通过十字路口,认为碰撞和超时都是失败的。

我们使用五种不同的交叉任务进行了实验:右、左、左2、向前和一个挑战。每个这些任务都如图2所示。右的任务包括右转,前进的任务包括穿过十字路口,左的任务包括左转,左2的任务包括穿过两条车道左转,挑战的任务包括穿过六车道的十字路口。

这些任务遇到的顺序确实会影响学习,一些小组调查了排序的影响。在我们的实验中,我们选择了一个随机的任务顺序来证明遗忘,并在所有实验中保持它的固定状态。我们在附录中描述了我们的网络和训练参数的细节。我们所有的实验都使用了辍学训练方法,该方法被证明有助于防止遗忘

image-20230221213423017

为了评估所提方法的有效性,我们进行了三组实验。在第一个实验中,我们评估了上界:具有无限容量FIFO缓冲区的网络,以及下界:有限内存FIFO缓冲区。我们以固定的顺序对5个交叉任务依次训练一个网络,每个任务有10,000次训练经验。我们在训练期间定期评估和绘制成功率。在第二个实验中,我们研究了在有限大小的体验回放缓冲区下,选择性体验回放的性能。我们对四种选择策略中的每一种训练不同的网络,并比较性能,检查网络在训练过程中是否经历了灾难性遗忘。在第三个实验中,当训练样本的数量不是均匀分布时,我们比较了两种最有前途的策略。对于每个策略,我们训练一个网络完成正确的任务,包括2000次经验,然后是25000次挑战任务的经验。根据之前的实验,这些任务被选择为彼此之间最不同的任务。我们比较了最终网络的任务性能进行评估。下一节将介绍我们的实验结果。

为了证实我们的结果可以推广到其他领域,除了强化学习之外,我们还在网格世界导航任务上额外测试了我们的结果,即MNIST的终身学习变体

在网格世界领域中,世界被分为四个房间。代理从一个房间开始,然后导航到另一个房间中的随机目标位置。每个任务都对应于包含目标的房间。在MNIST的终身学习变体中,代理只暴露于两位数字。在五个任务的训练结束时,代理应该能够正确地分类所有10位数字。关于这两个实验的进一步细节可以在附录中找到。

5 Results

5.1 Baselines

图3a显示了具有无限容量重放缓冲区的网络训练的性能。在这个例子中有五个任务,水平虚线表示训练了相同数量的训练步骤的单个任务网络的最终性能。学习曲线表明了一个单一的终身学习网络训练在所有任务上的表现。每种颜色都表示在不同任务上的表现。背景颜色表示网络当前正在训练的任务。误差条显示了三个试验的标准偏差,其中每个时间步长的一个测试涉及100次试验。

我们可以看到,当体验缓冲区具有无限的容量时,如果给予同等数量的训练,该网络比单个任务网络的性能有所提高。对一项新任务的训练获得了先验知识的启动好处,并且网络可以抵抗遗忘。然而,随着任务数量的增加,具有无限能力的培训是不实际的。这个实验证明了当经验重放缓冲区容量有限时,我们希望匹配的上限性能。

当一个FIFO重放缓冲区的容量有限(1000次体验)时,以前的任务将被遗忘(图3b)。我们观察到,正向任务的训练最初会提高每个任务的表现,但当网络开始训练挑战任务时,所有单道任务(右、左和前向)的表现都会下降。同样地,训练正确的任务也会影响其他任务的表现。

image-20230221213746531

5.2 Selective Replay Results

使用选择性重放的网络的结果如图4所示。我们的研究结果表明,惊喜策略和奖励策略作为经验选择策略都表现不佳,因为它们表现出灾难性的遗忘。我们认为,惊讶作为一种选择方法表现不佳,因为令人惊讶的体验正是该系统最不确定的样本。关注这些例子来提高学习水平是有意义的,然而,当涉及到保留知识时,惊喜代表了系统还没有学习到的信息。当目标是保持记忆时,网络犯错误的体验可能会(a)惊喜(b)奖励(c)覆盖最大化(d)分布匹是非常糟糕的经验来存储。在奖励选择方法中,只有奖励经验被存储起来。只有奖励经验的培训忽略了信用分配的问题。增加的噪音保持得很小,只是为了打破领带。增加噪音也会选择在奖励体验周围的状态,并将成为奖励和分配匹配策略的组合。

分布匹配策略和覆盖最大化策略都防止了灾难性遗忘,但它们表现出一些不同的行为。通过最大化覆盖,状态空间中经常访问的区域只能被少数样本覆盖,因此与系统花费最多时间的地方的分布匹配相比,最大化覆盖的代表性不足。同样,寻求最大化覆盖率的策略将有利于异常值和罕见事件。如果这些错误案例是失败状态,否则将会被错过,这可能会很有帮助。在物理系统上,表现出大量的探索可以迅速磨损和损坏组件,因此保留这些经验以供回放也可以提高学习的安全性。在我们的领域中,分布匹配表现出稍微更稳定的行为,并且在性能上有轻微的优势。然而,考虑到这两种方法的差异,不同的领域可能会改变更好的执行策略。

image-20230221214010051

5.3 Unbalanced Training

虽然在之前的实验中,分布匹配策略略优于覆盖最大化,但该设置假设每个任务接受相同的训练时间。如果我们打破任务的重要性与训练所花费的时间成正比的假设,这种策略会被执行是合理的。

在这个实验中,我们考虑了不平衡的训练时间。我们像之前的实验一样训练单个网络,但只有两个顺序任务而不是五个来测试假设。两个网络都首先接受正确任务的训练,然后在挑战任务上接受12.5倍的训练。

不平衡训练的结果如图5所示。在挑战任务中,两种策略的表现大致相同。在正确的任务中,覆盖范围最大化保持了较好的性能。原因是覆盖最大化策略在情景记忆中保留了更多来自正确任务的经验。某些经历虽然只是短暂遇到,但可能更有重视。在这种情况下,我们期望覆盖更多状态空间的策略会表现得更好。我们观察到分布匹配策略在右侧有较高的方差,我们认为这是由于选择的随机性。

image-20230221214125177

5.4 Grid World

网格世界显示了更戏剧性的灾难性遗忘,在没有选择的情况下,代理几乎立即忘记以前任务的性能。结果如图6所示。由于最后的任务通过了之前的两个房间,我们注意到了一些恢复,但这可能是由于房间的配置。惊喜和奖励都表现不佳。覆盖率最大化在早期任务上保持了一些性能,但分布匹配在当前任务上达到更高的性能,在早期任务上保持更多的性能。

image-20230221214207292

5.5 Lifelong MNIST

关于MNIST的终身变体的结果如图7所示。由于分类空间不在任务之间共享,所以以前任务的功能很快就会被破坏。这里,表示分类中的错误,在保持性能方面相对较好。覆盖率最大化比平时表现得更差。这可能是由于难以选择一个适当的距离度量。

image-20230221214248449

6 Conclusion

​ 我们提出了一种选择性地保留经验的方法,以保留在终身学习环境中对先前任务的训练。在将深度网络应用于终身学习场景时,忘记以前的任务知识是一个主要的障碍。无限的经验存储对于终身学习来说是很棘手的,而使用FIFO经验缓冲器已经被证明会导致灾难性的遗忘。我们的方法除了保留短期FIFO缓冲区外,还保留一个长期经验重放缓冲区。 我们比较四种策略选择哪些经验将存储在长期缓冲: a)惊喜,有利于经验大TD错误,b)奖励,支持经验导致高绝对奖励,c)分布匹配,匹配全局训练状态分布,d)覆盖最大化,试图保持大覆盖的状态空间。

​ 我们评估了在一个自动驾驶领域的四种选择方法,其中的任务对应于处理不同类型的十字路口。在连续学习5个交叉任务的环境中,我们发现惊喜和奖励选择方法仍然显示出灾难性的遗忘,而分布匹配和覆盖最大化则没有。后两种策略的性能几乎与具有无限体验重放容量的网络相当。看看其他领域,我们可以发现分布匹配始终是表现最好的。虽然分布匹配有更好的性能,但我们确定了一种情况,即它不是一个理想的策略——即接受有限训练的任务更重要的情况。总的来说,我们的研究结果表明,当采用合适的选择算法时,选择经验重放可以防止终身强化学习中的灾难性遗忘。虽然情景记忆的增加旨在解决终身学习中的遗忘,但有限的存储和由此产生的不同行为也是单一任务网络中关注的问题,我们的贡献可能会在终身学习领域之外找到更广泛的应用。

posted @ 2023-02-27 10:53  ZLey  阅读(170)  评论(0编辑  收藏  举报