
持续的反向传播选择性地重新定位网络中的低实时单位。我们的公用事业度量(称为贡献实用程序)定义为每个连接或重量和每个单元。贡献实用程序背后的基本直觉是,单位激活和外向权重的产品的大小为该连接对消费者的价值有多么宝贵的信息提供了信息。如果隐藏单位对其消费者的贡献很小,那么其他隐藏单元的贡献可能会淹没其贡献。在这种情况下,隐藏单元对其消费者没有用。我们将隐藏单元的贡献实用程序定义为其所有即将离任连接的实用程序的总和。贡献实用程序以衰减速率为η的瞬时贡献的运行平均值测量,在所有实验中均设置为0.99。在馈送前向神经网络中,在时间t t lays t t lays t t lime t t lime t t lime t lime的贡献实用程序ul [i]被更新为
在其中,i,t是在时间t,wl,i,k,t层中ITH隐藏单元的输出,这是将ITH单元中的ITH单元连接到l lays l+1时在时间t和nl+1中连接的重量。
当隐藏的单元被重新引导时,其外向的重量将初始化为零。初始化外向的权重为零,可确保新添加的隐藏单元不会影响已经学习的功能。但是,将即将发出的重量初始化为零,使新单元易于立即重新定义,因为它的实用程序为零。为了保护新单元免受即时重新定性的影响,它们可以免受成熟度阈值m更新的重新定义。如果单位年龄超过m,我们将其称为成熟。每个步骤,一小部分成熟的单位ρ(称为替代率)在每一层中都重新定义。
替换率ρ通常设置为非常小的值,这意味着在数百个更新后仅替换一个单元。例如,在类销售CIFAR-100(图2)中,我们使用持续的反向传播,替换率为10-5。该问题的网络的最后一层有512个单位。在每个步骤中,大约更换了512×10-5 = 0.00512单位。这对应于每1/0.00512≈200更新后大约一个替代品,或者在前五个类中每八个时期后一个替换。
最终算法将常规的反向传播与选择性重新定性结合起来,以不断从初始分布中注入随机单位。连续反向传播在每个更新时执行梯度下降和选择性重新定性步骤。算法1指定馈送前向神经网络的持续反向传播。在学习系统使用迷你批次的情况下,可以通过在迷你批次上平均实用程序来使用瞬时贡献实用程序,而不是保持运行平均水平以节省计算(示例参见扩展数据图5D)。持续的反向传播克服了先前工作的局限性34,35在选择性重新引导上,使其与现代深度学习兼容。
具有L层的前馈网络的持续反向传播
设置替换率ρ,衰减率η和成熟度阈值m
初始化权重W0,…,WL -1,其中WL从分布DL采样
初始化实用程序U1,…,UL -1,替换C1,…,Cl -1的单位数量,A1,…,Al -1至0
对于每个输入XT
正向通行证:通过XT通过网络以获取预测
评估:收到损失
向后通过:使用SGD或其一种变体更新权重
对于1层1:l -1 do
更新年龄:al = al+1
更新单元实用程序:请参阅等式(1)
查找合格的单位:nlimible =年龄大于m的单位数量
更新要替换的单位数:Cl = Cl+Nileible×ρρ
如果Cl> 1
找到最小实用程序的单元,并将其索引记录为R
重新引导输入权重:分布DL的重新样本WL -1 [:,R]
重新引导输出权重:将WL [R,:]设置为0
重新引导实用程序和年龄:设置UL [r] = 0和al [r] = 0
更新要替换的单位数:Cl = Cl -1
结束
结束
我们使用的Imagenet数据库由1,000类,每张700张图像组成。每个班级的700张图像分为600张图像,用于训练集,100张图像为测试集。在每个二进制分类任务中,首先对学习深度学习的网络进行了训练,该网络在1200张图像的训练集上进行了训练,然后在200张图像的测试集上测量了其分类精度。训练包括多次通过的训练集,称为Epochs。对于每个任务,所有学习算法都使用尺寸为100的迷你批次进行了250次通过。所有任务都使用了倒数采样的32×32版本的Imagenet数据集的版本,就像通常用于保存Computation51一样。
连续成像网上的所有算法都使用卷积网络。该网络具有三个卷积加值层层的层,然后是三个完全连接的层,如扩展数据表3所述。最终层仅由两个单位组成,即与两个类相对应的头部。在更改任务时,头部的输入权重设置为零。以这种方式重置头部可以看作是为新任务引入新的头部。随着学习系统获得有关任务更改时机的特权信息(并且在本文的其他实验中,我们不使用它),输出权重的重置并不是研究可塑性的理想选择。我们在这里使用它,因为它是这种类型的问题的深度持续学习的标准实践,学习系统必须学习一系列独立任务52。
在此问题中,我们在每个任务开始时重置网络的头部。这意味着,对于线性网络,整个网络已重置。这就是为什么线性网络的性能不会在连续图像网中降低的原因。由于线性网络是基线,因此需要对其性能的低变化估计值。该基线的值是通过平均数千个任务获得的。这种平均值使我们对其性能的估计要比其他网络更好得多。
使用SGD对网络进行训练,并在跨凝结损失上势头,并在第一个任务之前初始化一次。动量超参数为0.9。我们测试了各种步骤大小的参数以进行反向传播,但仅显示了阶跃尺寸0.01、0.001和0.0001的性能,以清楚图1B。我们为每个高参数值进行了30次运行,改变了任务和其他随机性的顺序。在不同的超参数和算法中,使用了相同的一对类序列。
现在,我们描述了L2正则化,收缩和敏捷以及持续反向传播的超参数选择。主要文本在图1C中的连续成像网上介绍了这些算法的结果。我们对所有算法进行了网格搜索,以找到一组超过5,000个任务的平均分类精度最高的超参数。在扩展数据表2中描述了用于网格搜索的超参数的值。L2正则化具有两个高参数,步骤大小和权重衰减。收缩和扰动具有三个超参数,步骤尺寸,重量衰减和噪声差异。我们扫除了连续反向传播的两个超参数:步长和替换率。连续反向传播中的成熟度阈值设置为100。对于返回和L2正则化,台阶尺寸为0.1或0.003的性能较差。我们选择仅使用0.03和0.01的步进尺寸进行连续反向传播,收缩和扰动。我们为所有超参数进行了十次独立跑步。然后,我们进行了20次跑步,以完成30次运行,以制作表现最佳的超参数集,以在图1C中产生结果。
在课堂开展的CIFAR-100中,学习系统随着时间的流逝而访问越来越多的课程。以五个增量为增量向学习系统提供课程。首先,它只能访问五个类,然后可以访问十个类别,直到它可以访问所有100个类。根据目前的所有可用类别可以区分所有可用类别,对学习系统进行评估。数据集由100个类组成,每个类别有600张图像。每个班级的600张图像被分为450张图像,以创建一个训练集,50个用于验证集的图像,用于测试集的100张图像。请注意,该网络目前对所有可用类别的所有数据进行培训。首先,对它的数据进行了培训,只有五个类,然后从所有十个类等上进行培训,直到最后,它同时从所有100个类中培训了它。
每次增加后,将网络训练为200个时期,总计4,000个时期,以所有20个增量。我们使用了在每次增量开始时重置的学习率时间表。对于每个增量的前60个时期,学习率设置为0.1,然后在接下来的60个时期设置为0.02,然后在接下来的40个时期内为0.004,最后40个时期为0.0008;我们使用了参考文献中报告的初始学习率和学习率时间表。53。在每次增量的200个训练时期,我们在验证集上以最佳的精度跟踪网络。为了防止过度拟合,在每个新增量开始时,我们将网络的权重重置为在上一个增量期间发现的最佳表现(在验证集上)的权重;这等同于每种不同增量的早期停止。
我们使用18层深残留网络38进行了所有cremental Cifar-100的实验。网络体系结构在扩展数据表1中进行了详细描述。使用Kaiming初始化初始化了卷积和线性层的权重54,将批处理层的权重初始化为网络中的一个偏差术语,将其初始化为零。每次向网络提供五个新类时,将再将五个输出单元添加到网络的最后一层。这些输出单元的权重和偏差是使用相同的初始化方案初始化的。使用SGD优化网络的重量,动量为0.9,重量衰减为0.0005,小批量尺寸为90。
在将图像呈现到网络之前,我们使用了数据预处理的几个步骤。首先,每个图像中所有像素的值在0到1到1划分之间重新缩放255。然后,每个通道中的每个像素分别以每个通道的像素值的平均和标准偏差进行重新缩小。最后,在将其馈送到网络之前,我们将三个随机数据转换应用于每个图像:以0.5的概率随机水平翻转图像,通过在每侧用4个像素填充图像并将图像随机播种,然后随机裁剪到原始大小,然后将图像随机旋转到0和15°之间。预处理的前两个步骤应用于训练,验证和测试集,但随机转换仅应用于训练集中的图像。
我们测试了几个超参数,以确保使用特定体系结构的每种不同算法的最佳性能。对于基本系统,我们在{0.005,0.0005,0.00005}中测试了重量衰减参数的值。重量截止值为0.0005,在曲线下的面积方面取得了最佳性能,以在20个增量范围内的测试集准确性。对于收缩和扰动,我们使用了基本系统的重量纪念值和测试值,用于{10-4、10-5、10-6}中高斯噪声的标准偏差;10-5导致了最佳性能。对于持续的反向传播,我们使用等式(1)中描述的贡献实用程序测试了{1,000、10,000}中的成熟度阈值的值以及{10-4、10-5、10-6}中的替换率。1,000的成熟阈值和10-5的替代率导致了最佳性能。最后,对于标题基线的基线,在扩展数据图1A中,我们使用了与基本系统相同的超参数,但是在每个增量开始时,输出层被重新初始化。
在图2d中,我们绘制了网络倒数第二层中表示的稳定等级,以及整个网络中的死单元的百分比。对于具有单数值σk的矩阵,以k = 1、2,…,q = max(n,m)的降序排序,稳定的等级55为。
作为参考,我们还实现了一个与基本系统相同的超参数的网络,但在每个增量的开始时都重新定位。图2b显示了每种算法相对于重新引导网络的性能的性能。为了完整性,扩展数据图1a显示了每种不同增量中每种算法的测试精度。在所有100个类别上,连续反向传播的最终准确性为76.13%,而扩展数据图1B显示了以1,000的成熟度阈值为1,000的不同替代率的连续反向传播的性能。对于我们测试的所有算法,出现课时和该类的准确性之间没有相关性,这意味着类的时间顺序不影响性能。
现在,我们使用基于MNIST DataSet56的计算廉价问题来测试各种条件下可塑性丧失的一般性。MNIST是深度学习中使用的最常见的监督学习数据集之一。它由60,000、28×28的手写数字的灰度图像以及其正确的标签组成。例如,扩展数据中的左图图3a显示了一个由数字7标记的图像。类较小的类和简单的图像使得在该数据集上比ImageNet或CIFAR-100上所需的较小的网络在此数据集上的性能很好。反过来,较小的网络意味着执行实验所需的计算要少得多,因此可以在各种不同条件下进行实验,从而使我们能够对可塑性进行更深入,更广泛的研究。
我们使用置换的MNIST数据集57,58创建了一个持续的监督学习问题。单个置换的MNIST数据集是通过将像素在原始MNIST数据集中置换来创建的。扩展数据中的右图像图3a是这样的置换图像的一个示例。给定一种置换方式,所有60,000张图像均以相同的方式排列以生成新的置换的MNIST数据集。此外,我们通过除以255在0到1之间的像素值归一化。
通过反复从大约101930可能的排列中随机选择,我们创建了800个排列的MNIST数据集和监督学习任务的序列。对于每个任务,我们将其60,000张图像中的每一个按随机顺序呈现给学习网络。然后,我们转到了下一个置换的MNIST任务,并重复了整个过程,依此类推,以进行多达800个任务。在任务切换时,没有指示网络。随着像素以完全无关的方式排列,我们可能希望分类性能在每个任务开关时都会大大下降。然而,在整个任务中,可能会节省一些,学习速度有所提高,或者,可能会丧失可塑性 - 削减了跨任务学习的能力。该网络通过单个通过数据进行了培训,没有迷你批次。我们将此问题称为在线排列的MNIST。
我们将带有三个隐藏层的馈送神经网络应用于在线排列的MNIST。我们没有使用卷积层,因为它们对排列的问题无济于事,因为丢失了空间信息。在MNIST中,即使是在标准的,未渗透的问题上,卷积层也常常也不使用。对于每个示例,网络估计了每个TEM类的概率,将它们与正确的标签进行了比较,并在跨膜片损失上执行了SGD。为了衡量在线性能,我们记录了该网络在任务中正确分类的次数。我们在扩展数据中绘制此每个任务性能度量与任务编号图3B。根据凯明分布初始化权重。
扩展数据的左面板图3b显示了网络跨任务的在线性能的进展,每个层有2,000个单位和阶梯尺寸参数的各种值。请注意,该绩效首先在整个任务中提高,然后开始在所有后续任务中稳步下降。性能下降意味着网络正在慢慢失去从新任务中学习的能力。这种可塑性的丧失与我们在Imagenet和Cifar-100中观察到的可塑性丧失一致。
接下来,我们改变了网络大小。我们尝试了每层100、1,000和10,000个单位,而不是每层2,000个单位。我们仅针对150项任务进行了此实验,这主要是因为最大的网络需要更长的时间来运行。每个网络大小的良好步骤尺寸的性能显示在扩展数据的中间面板中图3B。在较小的网络尺寸上,持续训练的可塑性丧失最为明显,但即使是最大的网络也显示出一些可塑性的损失。
接下来,我们研究了任务更改速率的效果。回到具有2,000个单元层的原始网络,而不是在每60,000个示例之后更改排列,而是在每次10,000,100,000或100万个示例之后更改它,并且无论任务多久更改了多久,总共跑了4,800万个示例。在这些情况下,在每个任务中随机选择了示例。作为任务上网络的性能度量,我们在任务中的所有图像上使用了正确的百分比。性能的进展显示在扩展数据中的右面板中。图3B。同样,即使更改很少,跨任务的表现也会下降。总的来说,这些结果表明,以这种反向传播形式出现了可塑性丧失的现象。可塑性的丧失发生在各种台阶尺寸,分布变化速率以及范围不足和过度参数化网络的情况下。
仍然存在网络激活功能的问题。到目前为止,在我们的实验中,我们已经使用了Relu,这是目前最受欢迎的选择,但是还有其他几种可能性。对于这些实验,我们切换到一个更小,更理想化的问题。缓慢变化的回归是一个计算廉价的问题,在15分钟内,我们可以在CPU核心上进行单个实验,从而使我们能够进行广泛的研究。顾名思义,这个问题是一个回归问题,这意味着标签是实数,具有平方损失,而不是跨凝回侧面损失的名义值 - 而非平稳性是缓慢而持续的,而不是持续的,而不是从一个任务到另一个任务的转换。在缓慢变化的回归中,我们研究了具有六个流行激活功能的网络的可塑性丧失:Sigmoid,Tanh,Elu59,Leaky Relu60,Relu61和Swish62。
在缓慢改变的回归中,学习者接收了一系列示例。每个示例的输入是大小为m+1的二进制矢量。输入具有f慢变化的位,m-f随机位,然后是一个常数位。输入矢量中的第一个F位慢慢变化。在每个t示例之后,第一个f位之一是随机选择的,其值会翻转。这些第一个f位在下一个t示例中保持固定。参数t允许我们控制输入分布更改的速率。每个示例将随机采样下一个m -f位。最后,(m+1)位是一个偏置项,恒定值为一个。
通过通过神经网络运行输入向量来生成目标输出,该神经网络设置在实验开始并保持固定。由于该网络生成目标输出并表示所需的解决方案,因此我们称其为目标网络。目标网络的权重被随机选择为+1或-1。目标网络具有一个隐藏层,其线性阈值(LTU)激活。如果输入高于阈值θi,则ITH LTU的值是一个,否则为0。阈值θi设置为等于(M+1)×β -Si,其中β[0,1]和Si是负值负值的输入权重的数量63。在扩展数据中也描述了缓慢变化回归问题中输入和目标函数的细节。
我们在本文中使用的缓慢变化回归问题的特定实例的详细信息以及用于预测其输出的学习网络的详细信息在扩展数据表4中列出。请注意,目标网络比学习网络更为复杂,因为目标网络更宽,有100个隐藏单元,而学习者只有5个隐藏单位。因此,由于输入分布更改了每个t示例,并且目标函数比学习者所代表的要复杂,因此需要跟踪最佳近似。
我们将具有不同激活功能的学习网络应用于缓慢变化的回归。学习者使用反向传播算法来学习网络的权重。我们使用统一的Kaiming Distribution54来初始化学习网络的权重。分布是u(-b,b)带有结合的,其中选择增益,以使输入的幅度不会在各个层上变化。对于Tanh,Sigmoid,Relu和泄漏的Relu,增益分别为5/3、1和。对于Elu和Swish,我们使用的是原始论文59,62中所做的。
我们为300万个例子进行了有关缓慢变化的回归问题的实验。对于步长的每个激活和值,我们进行了100次独立运行。首先,我们为100次运行生成了100个示例序列(输入 - 输出对)。然后,将这100个示例序列用于具有阶梯大小参数的所有激活和值的实验。我们使用相同的示例序列来控制激活和台阶大小的数据流中的随机性。
实验的结果显示在扩展数据图2B中。我们测量了平方误差,即学习网络的真实目标与预测之间差异的平方。在扩展数据图2B中,平方误差以40,000个示例的箱形式显示。这意味着第一个数据点是前40,000个示例中的平均平方错误,下一个是接下来40,000个示例中的平均平方错误等。图中的阴影区域显示了binned误差的标准误差。
扩展数据图2b显示,在缓慢变化的回归中,在最初表现良好之后,所有步骤尺寸和激活的误差都会增加。对于某些激活,例如Relu和Tanh,可塑性的损失很严重,并且误差增加到线性基线的水平。尽管对于其他激活(例如ELU的可塑性丧失),但仍然存在显着的可塑性。这些结果意味着,使用常用的激活无法解决可塑性的丧失。本节的结果补充了本文其余部分的结果,并增加了深度学习中可塑性丧失的普遍性。
现在,我们将注意力转向理解为什么反向传播在持续学习问题中失去可塑性。随着时间的流逝,学习者的唯一区别是网络权重。一开始,重量是小的随机数,因为它们是从初始分布中采样的。但是,在学习了一些任务后,权重开始针对最近的任务进行了优化。因此,下一个任务的起始权重与第一个任务的起始权重不同。由于权重的这种差异是随着时间的推移学习算法的唯一差异,因此初始权重分布必须具有一些独特的属性,从而在开始时会使反向传播塑料。初始随机分布可能具有许多能够可塑性的特性,例如单位的多样性,非饱和单位,较小的重量幅度等。
正如我们现在所证明的那样,初始分布的许多优势随着损失的损失而同时消失。这些优势的损失部分解释了我们观察到的绩效下降。然后,我们就这些优势的丧失如何有助于量化可塑性和量化每种现象的普遍性的措施的丧失。我们对在线排列的MNIST问题进行了深入的研究,该研究将作为几种可以减轻可塑性丧失的解决方案方法的动机。
与可塑性丧失同时发生的第一个值得注意的现象是恒定单位分数的持续增加。当单元变为恒定时,从单位向后流动的梯度变为零或非常接近零。零梯度意味着进入单元的权重不会改变,这意味着该单元失去了所有可塑性。在恢复激活的情况下,当该任务的所有示例激活的输出为零时,就会发生这种情况。这种单位通常被认为死亡64,65。在乙状结肠激活函数的情况下,当单元的输出太接近激活函数的两个极端值时,就会发生这种现象。这种单位通常被认为饱和66,67。
为了测量具有Relu激活的网络中的死单元数量,我们计算每个新任务开始时2,000张图像的随机示例中所有示例中的值为零的单位数量。在Sigmoidal激活的情况下,类似的度量是与某些小正面ϵ的函数的极端值相距的单位数量(参考文献68)。我们只专注于本节中的Relu网络。
在我们关于在线排列的MNIST问题的实验中,在线性能的恶化伴随着死亡单元数量的大量增加(扩展数据的左图图3C)。对于0.01的步长,在800个任务后,多达25%的单元死亡。在排列的MNIST问题中,所有输入都是正的,因为它们在0到1之间的归一化,一旦第一层中的一个单位死亡,它就会永远死亡。因此,死亡单元的增加直接降低了网络的总容量。在下一部分中,我们将看到阻止单位死亡的方法可以大大减少可塑性的丧失。这进一步支持这样的想法,即死亡单元的增加是造成反向传播可塑性丧失的原因之一。
损失可塑性的另一个现象是网络平均体重幅度的稳定增长。我们通过添加其绝对值并除以网络中的权重总数来测量权重的平均幅度。在列出的MNIST实验中,在扩展数据中观察到的在线分类精度的降解与平均重量的平均幅度增加有关(扩展数据的中心面板图3C)。网络重量的大小的增长可以代表一个问题,因为大量的幅度通常与学习较慢有关。神经网络的权重与损耗函数的二阶Taylor近似中的Hessian矩阵的条件数直接相关。已知Hessian的条件数会影响SGD算法的收敛速度(有关凸优化中此现象的例证,请参见参考文献69)。因此,权重的大小的生长可能导致不良条件的黑森基质,从而导致收敛速度较慢。
随着可塑性丧失而发生的最后一个现象是表示有效等级的下降。类似于代表线性独立维度数量的矩阵的等级,有效等级考虑到每个维度如何影响矩阵70引起的转换。高有效等级表明,矩阵的大多数维度与矩阵引起的转换相似。另一方面,较低的有效等级对应于大多数对转换没有明显影响的维度,这意味着大多数维度中的信息接近是多余的。
正式地,考虑一个具有单数值σk的矩阵,k = 1,2,…,q和q = max(n,m)。令pk =σk/σ1,其中σ是包含所有奇异值的向量,1是ℓ1norm。矩阵φ或erank(φ)的有效等级定义为
请注意,有效等级是一个连续度量,介于一个矩阵φ的等级之间。
对于神经网络,隐藏层的有效等级测量可以产生层输出的单元数量。如果隐藏层的有效等级较低,则少数单元可以产生层的输出,这意味着隐藏层中的许多单元都没有提供任何有用的信息。在培训每个任务之前,我们将在2,000个示例的随机样本中近似有效等级。
在我们的实验中,可塑性的丧失伴随着网络平均有效等级的降低(扩展数据的右图图3C)。这种现象本身不一定是一个问题。毕竟,已经表明,基于梯度的优化似乎通过隐式损失函数的隐式正规化或等级本身的隐式最小化71,72。但是,低级别的解决方案可能是从新观察结果中学习的不良起点,因为大多数隐藏单元几乎没有信息。
有效等级的下降可以解释我们实验中可塑性的丧失。在每个任务之后,学习算法为当前任务找到一个低级别的解决方案,然后作为下一个任务的初始化。随着过程的持续,每项任务后,表示层的有效等级不断减小,从而限制了网络可以在每个新任务开始时立即表示的解决方案的数量。
在本节中,我们更深入地研究了在在线排列的MNIST问题中失去可塑性的网络。我们注意到,随着时间的推移,学习算法的唯一区别是网络的权重,这意味着初始权重分布具有一些允许学习算法在开始时是塑料的属性。随着学习的进展,网络的权重从初始分布中移开,算法开始失去可塑性。我们发现,可塑性的丧失与体重大小的增加相关,有效等级的降低以及死亡单位分数的增加。这些相关的每一个都部分解释了反向传播所面临的可塑性的丧失。
现在,我们研究了几种现有方法,并测试它们如何影响可塑性的丧失。我们研究了五种现有方法:L2正则化73,Lotout74,在线归一化75,收缩和扰动11和ADAM43。我们选择了L2正则化,辍学,归一化和亚当,因为这些方法通常用于深度学习实践中。尽管收缩和扰动不是一种常用的方法,但我们之所以选择它是因为它减少了预训练的失败,这是损失可塑性的情况。为了评估这些方法是否可以减轻可塑性的丧失,我们使用上一节中使用的“理解可塑性丧失”中使用的相同网络体系结构对在线排列的MNIST问题进行了测试。与上一节类似,我们在所有60,000个任务示例中衡量在线分类精度。所有算法使用的步长为0.003,这是在扩展数据的左图中,用于反向传播的表现最佳的步长图3B。我们还使用上一节中发现的可塑性丧失的三个相关性,以更深入地了解这些方法的性能。
解决可塑性丧失的一种直观方法是使用重量正则化,因为可塑性的丧失与重量幅度的增长有关,如上一节所示。我们使用了L2正则化,这增加了与网络权重的ℓ2规范成比例的损失函数。L2正则惩罚激励SGD查找重量幅度较低的解决方案。这引入了调节惩罚项的贡献的超参数λ。
扩展数据的左图中的紫色线图4a显示了在线排列的MNIST问题上的L2正则化的性能。其他扩展数据中的紫色线图4a显示了与L2正则化的三个损失相关的相关性的演变。对于L2正则化,重量幅度不会不断增加。此外,正如预期的那样,非刺激重量幅度与较低的可塑性丧失有关。但是,L2正则化并不能完全减轻可塑性的丧失。其他两个相关的可塑性相关性解释了这一点,因为死亡单元的百分比不断增加,有效等级不断下降。最后,扩展数据图4B显示了不同值λ值的L2正则化的性能。正则化参数λ控制了性能的峰值以及降低的速度。
与重量正则化有关的方法是收缩和扰动11。顾名思义,收缩和扰动执行两个操作。它会收缩所有的重量,然后在这些重量中添加随机的高斯噪声。噪声的引入引入了另一个超参数,即噪声的标准偏差。由于收缩和扰动的收缩部分,该算法比反向传播的平均重量幅度较小的溶液更有利于溶液。此外,增加的噪声阻止了单位死亡,因为它增加了死亡单元再次活跃的非零概率。如果收缩和扰动减轻这些与可塑性的丧失相关,则可能会降低可塑性的丧失。
收缩和扰动的性能在橙色的扩展数据中显示,类似于L2正则化,收缩和扰动可以阻止重量幅度不断增加。此外,它还降低了死亡单元的百分比。但是,它的有效等级低于向后流量,但仍然高于L2正则化。不仅收缩和扰动的可塑性损失低于返回传播,而且几乎完全降低了在线排列的MNIST中的可塑性。但是,收缩和扰动对噪声的标准偏差敏感。如果噪声太高,可塑性的损失要严重得多,并且如果太低,则没有任何效果。
现代深度学习中的一种重要技术称为Dropout74。辍学将每个隐藏单元随机设置为零概率,这是该算法的超参数。辍学的性能以粉红色显示在扩展数据中图4。
辍学表现出类似的死亡单位百分比,重量幅度和有效等级作为返回传播的量度,但令人惊讶的是,可塑性损失更高。辍学的性能不佳并不能用我们的三个可塑性丧失的相关性来解释,这意味着还有其他可能导致可塑性丧失的原因。对辍学的彻底调查超出了本文的范围,尽管这将是未来工作的有趣方向。我们发现,较高的辍学概率对应于更快,更清晰的性能下降。概率为0.03的辍学表现最佳,其性能几乎与反向传播相同。但是,扩展数据图4a显示了辍学概率为0.1的性能,因为它更代表实践中使用的值。
深度学习中的另一种常用技术是批体归一化76。在批处理中,使用从每个小批量数据计算的统计数据对每个隐藏层的输出进行标准化和重新缩放。我们决定在此调查中加入批处理,因为它是一种经常在实践中使用的流行技术。由于批处理不适合在线排列的MNIST问题中使用的在线设置,因此我们使用在线归一化77,这是批处理标准化的在线变体。在线归一化引入了两个用于在归一化步骤中统计的超级参数。
在扩展数据中以绿色显示在线归一化的性能。在线归一化的死亡单位较少,有效等级比早期任务中的反向传播更高,但随着时间的推移,两种措施都会恶化。在后来的任务中,使用在线归一化训练的网络的死亡单元比例更高,而有效等级则比使用反向传播训练的网络更低。在线分类精度与这些结果一致。最初,它具有更好的分类准确性,但以后,其分类准确性变得低于反向传播的精度。对于在线归一化,当方法的性能达到峰值时,超参数发生了变化,并且它也略微改变了其达到峰值性能的速度。
没有ADAM43,对替代方法的评估无法完成,因为它被认为是现代深度学习中最有用的工具之一。Adam Optimizer是SGD的一种变体,它使用梯度的第一瞬间的估计值通过对梯度的第二刻的估计来逐渐缩放,以更新权重,而不是直接使用梯度。由于它在监督和强化学习中的广泛使用和成功,我们决定将亚当包括在这项调查中,以了解它将如何影响深神经网络的可塑性。亚当有两个超参数,用于计算梯度的第一和第二矩的移动平均值。我们使用了原始论文中提出的这些超参数的默认值,并调整了阶梯尺寸的参数。
亚当在扩展数据中显示了亚当的表现。与我们先前的结果一致,亚当在与可塑性丧失相关的三个措施中得分很差。亚当早期增加了高原约60%的死亡单位百分比,重量幅度与返回量相似,在训练期间早期的有效等级大幅下降。我们还测试了亚当在缓慢变化的回归上具有不同激活功能的亚当,发现亚当的可塑性丧失通常比SGD差。
许多标准方法大大恶化了可塑性的丧失。亚当对网络可塑性的影响特别明显。通过有效等级来衡量,接受亚当培训的网络迅速失去了几乎所有的多样性,并获得了很大一部分的死亡单位。这种明显的亚当可塑性丧失是深度加强学习的重要结果,亚当是默认的Optimizer78,由于不断变化的政策,强化学习本质上是不断的。与亚当类似,其他常用的方法(例如辍学和归一化)恶化了可塑性的丧失。一开始,归一化的性能要好,但后来的性能下降了比倒退更明显。在实验中,辍学只是使性能变得更糟。我们看到辍学概率越高,损失损失越大。这些结果意味着,深度学习中一些最成功的工具在持续学习中不能很好地工作,我们需要专注于直接开发持续学习的工具。
我们确实在维持深度神经网络中的可塑性方面找到了一些成功。L2正则化和收缩和扰动降低了可塑性的丧失。收缩和扰动特别有效,因为它几乎完全减轻了可塑性的丧失。但是,收缩和扰动和L2正则化都对高参数值略有敏感。两种方法仅在少量的超参数范围内降低可塑性的丧失,而对于其他高参数值,它们的可塑性损失更糟。对超参数的这种敏感性可以限制这些方法在持续学习中的应用。此外,收缩和扰动无法完全解决可塑性丧失的三个相关性,其有效等级低于返回传播,并且仍然具有很大的死单元。
我们还对在线排列的MNIST应用了持续的反向传播。替换率是连续反向传播中的主要高参数,因为它控制了网络中单位的重新初始化的速度。例如,我们的网络的替换率为10-6,每一层中使用2,000个隐藏单元的替换率意味着每500个示例后每层替换一个单元。
扩展数据中的蓝线图4显示了连续反向传播的性能。它具有不稳定的性能,并且对于广泛的替换率而言稳定。持续的反向传播还减轻了所有三种可塑性丧失的关联。它几乎没有死亡单元,可以阻止网络权重在跨任务中增长并保持高效等级。所有保持低重量幅度的算法也降低了可塑性的损失。这支持了我们的说法,即低体重幅度对于维持可塑性很重要。保持低体重幅度的算法是持续的反向传播,L2正则化和收缩和扰动。缩小和敏捷和持续的反向传播比L2正则化具有额外的优势:它们将随机性注入网络。这种随机性的注入导致较高的有效等级和较低的死亡单位数量,这导致这两种算法的性能都比L2正则化更好。但是,持续的反向传播有选择地注入随机性,有效地从网络中删除了所有死亡单元并导致更高的有效等级。少量的死单元和更高的有效等级解释了持续反向传播的更好性能。
主要文本中提出的实验是使用OpenAI Gym79的ANT-V3环境进行的。我们使用具有基本10的对数从[0.02,2.00]范围内从范围[0.02,2.00]中对对数均匀进行对数的摩擦系数更改。摩擦系数自上次变化以来2000万个时间步骤后,在第一集边界发生了变化。我们还在此问题上测试了收缩和扰动,发现它没有对L2正则化提供明显的性能改善。两个单独的网络用于策略和价值函数,并且都有两个隐藏的图层,有256个单位。使用Adam和PPO一起对这些网络进行了培训,以更新网络中的权重。有关其他超参数的值,请参见扩展数据表5。在所有显示强化学习实验结果的图中,阴影区域代表95%的自举信心80。
蚂蚁问题中的奖励信号由四个组成部分组成。主要组件将代理奖励前向运动。它与自上次步骤以来蚂蚁向正方向移动的距离成正比。第二个组件在每个时间步中的值为1。第三个成分对蚂蚁采取大型行动进行了惩罚。该组件与动作大小的平方成正比。最后,最后一个组件对大型外部接触力的代理处罚。它与外力的总和成正比(夹在一个范围内)。每个时间步骤的奖励信号是这四个组件的总和。
我们还评估了PPO及其在另外两个环境中的变体:Hopper-V3和Walker-V3。这些实验的结果显示在扩展数据图5A中。结果反映了ANT-V3的结果;标准PPO遭受了显着的性能下降,其性能大大降低。但是,这次,L2正则化并未在所有情况下解决该问题。L2在Walker-V3中有一些性能降解。PPO具有连续的反向传播和L2正则化,在所有环境中都完全解决了问题。请注意,我们的实验与文献中通常所做的唯一区别是,我们运行实验更长的时间。通常,这些实验仅完成300万步,但我们运行了这些实验,最多可以进行1亿个步骤。
具有L2正则化的PPO仅避免降解重量衰减值,即10-3。这种极端的正规化阻止了代理商找到更好的政策,并停留在次优政策上。对于较小的重量衰减值,性能降解很大,并且对于较大的值,性能总是很低。当我们一起使用持续的反向传播和L2正则化时,我们可以使用较小的权重衰减值。持续反向传播和L2正则化的PPO的所有结果的重量衰减为10-4,替换率为10-4,成熟度阈值为104。我们发现,PPO的所有结果均具有连续反向流体和L2正则化的PPO性能对替换率敏感,但对成熟度和体重截止性率不敏感。
PPO使用ADAM Optimizer,它可以保持对梯度和梯度平方的运行估计。这些估计值需要两个称为β1和β2的参数。β1和β2的标准值分别为0.9和0.999,我们称为标准ADAM。Lyle等人24表明,β1和β2的标准值会导致塑性损失很大。这是由于β1和β2的不匹配而发生的。突然的大梯度会引起非常大的更新,因为β2的大值意味着在分母中使用的梯度正方形的运行估计值要慢得多,比梯度的运行估计值慢得多,即分子。通过将β1等于β2的β1设置可以降低亚当中的可塑性丧失。在我们的实验中,我们将β1和β2设置为0.99,并将其称为调谐的Adam/PPO。在扩展数据图5C中,我们在单个更新周期中衡量了100万步的单个更新周期中网络的总重量变化。图中的第一点显示了前100万步的重量变化最大。第二点显示了第二个1秒步骤的重量变化最大,依此类推。该图表明,标准亚当始终导致重量的更新,这可能会使学习稳定,而用β1=β2= 0.99调整的ADAM的更新大大较小,这会导致更稳定的学习。在我们的所有实验中,除标准PPO以外的所有算法都使用了ADAM的调谐参数(β1=β2= 0.99)。标准ADAM使用PPO的失败与排列的MNIST中标准ADAM的失败相似。
在下一个实验中,我们与REDO25进行初步比较。REDO是另一种选择性重新定性方法,它基于持续的反向传播,但使用了不同的效用和策略来重新初始化。我们对ANT-V3进行了重做,这是三种环境中最难的。重做需要两个参数:阈值和重新定性期。我们测试了{0.01、0.03、0.1}中阈值的所有组合,并在{10、102、103、104、105}中重新定期重新定期。阈值为0.1,重新定性周期为102的阈值表现最好。在扩展数据中绘制了使用重做的PPO的性能图5B。重做和持续反向传播的重量衰减为10-4,β1和β2为0.99。该图显示,重做和L2正则化的PPO的性能要比标准PPO好得多。但是,它仍然受到性能降解的影响,其性能比使用L2正则化的PPO差。请注意,这只是初步比较。我们对这两种方法进行全面比较和分析,以供将来的工作。
固定环境中PPO的性能下降是一种细微的现象。可塑性和遗忘的丧失都是造成观察到的性能下降的原因。性能的退化意味着代理商忘记了曾经学到的良好政策,而代理人无法重新学习良好的政策意味着它失去了可塑性。
损失可塑性在深度加强学习中以各种形式表达自己。一些工作发现,在存在非平稳性的情况下,深度强化学习系统可能会失去其概括能力81。在某些深层加强学习算法82中观察到了有效等级的降低,类似于CIFAR-100的等级降低。Nikishin等人18表明,如果他们的网络偶尔重置为幼稚的初始状态,仅保留重播缓冲液,则许多增强学习系统的表现更好。这是因为学习网络比从新数据中学习的重新定性网络变得更糟。最近的工作通过应用具有可塑性的方法25,83,84,85,86,87来提高了许多加强学习问题的性能。这些作品着重于使用大型重播缓冲区的深度加固学习系统。当我们研究基于PPO的系统时,我们的工作补充了这一研究,该系统的重播缓冲区较小。损失可塑性与使用小型或不使用重型缓冲区的系统最相关,因为大型缓冲区可以隐藏新数据的效果。克服可塑性是迈向深度加强学习系统的重要一步,可以从在线数据流中学习。
持续学习有两个主要目标:保持稳定性和保持可塑性88,89,90,91。保持稳定性与记住有用的信息有关,并保持可塑性是在数据分布发生变化时找到新的有用信息。当前的深入学习方法努力保持稳定性,因为它们倾向于忘记以前学习的信息28,29。许多论文致力于维持深度持续学习的稳定性30,92,93,94,95,96,97。我们专注于不断找到有用的信息,而不是记住有用的信息。我们在丧失可塑性方面的工作是不同的,但与维持稳定性的工作相辅相成。当前形式的持续反向传播无法解决遗忘问题。当前的公用事业量度仅考虑单位对于当前数据的重要性。解决忘记的一个想法是使用长期的效用度量,以记住哪些单元过去很有用。开发保持稳定性和可塑性的方法是未来工作的重要方向。
有许多理想的属性用于有效的持续学习系统98,99。它应该能够继续学习新事物,控制自己记得和忘记的内容,具有良好的计算和记忆效率,并使用以前的知识来加快对新数据的学习。基准的选择会影响哪些财产的重点。我们论文中的大多数基准和评估仅关注可塑性,而不在其他方面,例如遗忘和学习速度。例如,在连续的成像网中,以前的任务很少重复,这可以有效研究可塑性,但不要忘记。在置换的MNIST中,连续的任务在很大程度上是独立的,这使其适合于隔离研究可塑性。但是,这种独立性意味着以前的知识不能大大加快对新任务的学习。另一方面,在课堂知识CIFAR-100中,以前的知识可以大大加快新课程的学习。克服可塑性的丧失是重要的,但仍然是朝着快速学习未来数据100,101,102的目标的第一步。一旦我们拥有维持可塑性的网络,我们就可以开发使用以前知识来加快对未来数据的学习的方法。
当学习继续进行许多任务时,可塑性的丧失是关键因素,但是如果学习少数任务的学习可能会不太重要。通常,学习系统可以在前几个任务中利用以前的学习。例如,在类cremental Cifar-100(图2)中,基本深度学习系统的性能要比从头开始训练的网络要好40个类。该结果与深度学习的应用程序一致,在该应用程序中,学习系统首先在大型数据集上训练,然后在较小,更相关的数据集上进行微调。诸如持续反向传播之类的可塑性方法仍然可以基于微调的应用程序提高性能,但是我们不希望改善会很大,因为学习仅针对少数任务而发生。我们已经观察到深度学习系统逐渐失去可塑性,而这种影响会积累在任务上。当学习继续进行大量任务时,可塑性的丧失成为一个重要因素。在课堂开发的CIFAR-100中,基础深度学习系统的性能在100堂课后要糟糕得多。
我们在理解可塑性方面取得了显着进步。但是,尚不清楚哪些具有较小随机数的初始化的特定特性对于维持可塑性很重要。最近的工作103,104在这个方向上取得了令人兴奋的进步,它仍然是未来工作的重要途径。本文研究的可塑性丧失类型很大程度上是因为丧失了优化新目标的能力。这与系统可以继续优化新目标但失去概括11,12的可塑性丧失类型不同。但是,目前尚不清楚两种类型的可塑性丧失是否从根本上不同,或者相同的机制是否可以解释这两种现象。提高我们对可塑性的理解并发现两种可塑性丧失的根本原因的未来工作对社区来说都是有价值的。
持续的反向传播使用实用程序来查找和替换低实时单元。持续反向传播的一个局限性是公用事业措施基于启发式方法。尽管表现良好,但未来在更有原则的公用事业措施上的工作将改善持续反向传播的基础。我们当前的效用度量不是全球效用量度的衡量标准,因为它不考虑给定单元如何影响整体代表函数。一种可能性是制定效用措施,在该措施中,从损失函数向后传播实用性。连续反向传播中实用性的想法与神经网络宣传文献中的连接效用密切相关。各种论文105,106,107,108提出了针对网络解决问题的连接实用程序的不同度量。调整这些实用程序措施以减轻可塑性的丧失是新算法的一个有希望的方向,而最近的一些工作已经在这方向上取得了进展。109。
选择性重新定性的思想类似于动态稀疏训练的新兴想法110,111,112。在动态稀疏训练中,从头开始训练一个稀疏的网络,并在训练过程中生成和删除不同单元之间的连接。删除连接需要衡量效用,而新连接的初始化需要类似于选择性重新定性的生成器。动态稀疏训练和持续反向传播之间的主要区别在于,动态稀疏训练在单位之间的连接上运作,而持续的反向传播则在单位上运行。因此,动态稀疏训练中的发电机还必须决定要建立哪些新连接。动态稀疏训练在监督和加强学习问题中取得了令人鼓舞的结果113,114,115,即使在高稀疏度处,动态稀疏网络甚至在较高的稀疏度处都接近密集网络。动态稀疏训练是一个有前途的想法,可用于维持可塑性。
连续学习的文献92,116,117中存在将新单元添加到神经网络中的想法。这个想法通常以动态增加网络大小的算法表现出来。例如,每当有新任务时,一种方法117通过分配新的子网络来扩展网络。这些方法对内存需求没有上限。尽管这些方法与持续反向传播中的思想有关,但不适合比较,因为持续的反向传播专为具有有限记忆的学习系统而设计,这非常适合终身学习。因此,这些方法将需要非平凡的修改才能应用于我们的有限内存设置。
以前关于初始化重要性的工作重点是寻找正确的重量幅度以初始化权重。已经表明,必须初始化权重,以便梯度在网络的初始层中不会成倍小,并且梯度在层次上保存在层中为54,66。此外,重量较小的初始化对于乙状结肠激活至关重要,因为如果重量太大,它们可能会饱和。118。尽管所有这些关于初始化的重要性的工作,但其收益最初仅存在但并非不断地忽略了这一事实,因为这些论文的重点是必须只完成一次学习的案例。
持续的反向传播选择性地重新定位了低实用性单元。处理非平稳数据流的一种常见策略是完全重新启动网络。在在线排列的MNIST实验中,完全重新初始化对应于保持第一点级别的性能(扩展数据图4A)。在这种情况下,持续的反向传播优于全面重新定性,因为它利用了以前学会的知识来加快对新数据的学习的速度。在Imagenet实验中,连续反向传播的最终性能仅比完全重新引导的网络(图1B的左图中反向传播的第一个点)稍好一些。但是,图1并未显示算法在每个任务中达到最终性能的速度。我们观察到,连续反向传播的准确度比连续影像网的第5,000个任务,十个时期与大约125个时代的第5,000个任务相比,达到最佳准确性十倍。此外,可以连续反向传播与减轻遗忘的其他方法相结合,这可以进一步加快对新数据的学习。在加强学习中,完全重新定性仅对于具有较大缓冲液的系统才能实用。对于保持小型或没有缓冲区的系统,例如我们研究的系统,完全重新定性将导致代理商忘记它所学到的一切,并且其性能将归结为起点。
可塑性的丧失也可能与彩票假设119有关。假设指出,随机初始化的网络包含可以在具有相似数量更新的原始网络的性能上实现性能的子网。这些子网被称为获胜门票。我们发现,在持续学习的问题中,任务开始时表示的有效等级随着时间的流逝而减少。从某种意义上说,在培训多个任务后获得的网络比原始随机网络的随机性和多样性少。降低的随机性可能意味着该网络的获胜门票更少。减少的获胜票可能会解释可塑性的丧失。通过探索其与彩票假设的联系,我们可以加深对可塑性丧失的理解。
最近的一些作品集中在快速适应数据流的变化1220,121,122。但是,这些论文中的问题设置是离线的,因为它们有两个单独的阶段,一个用于学习,另一个用于评估。要在线使用这些方法,必须在代表学习者在在线评估阶段中遇到的任务的任务进行鉴定。对于终身学习系统而言,在预处理阶段访问代表性任务的这种要求是不现实的,因为现实世界是非统计的,即使是任务的分布也会随着时间而变化。这些方法与我们在工作中研究的方法不可媲美,因为我们研究了不需要预处理的完全在线方法。
在这项工作中,我们发现这种方法不断地注入随机性的同时保持较小的体重大大降低了可塑性的损失。许多作品发现,在训练神经网络时增加噪音可以改善训练和测试性能。据报道,添加噪声的主要好处是避免过度拟合和改善训练绩效123,124,125。但是,在某些情况下,注入噪声而不会降低性能的情况可能很棘手。126。在我们的情况下,当数据分布是非平稳的时候,我们发现不断注入噪声与L2正则化有助于维持神经网络中的可塑性。