人工神经网络、深度学习方法和反向传播算法构成了现代机器学习和人工智能的基础。但现有方法往往是一个阶段更新网络权重,另一个阶段在使用或评估网络时权重保持不变。这与许多需要持续学习的应用程序形成鲜明对比。最近,一篇发表在《nature》杂志上的研究论文《Loss of plasticity in deep continual learning》证明:标准的深度学习方法在持续学习环境中会逐渐失去可塑性(plasticity),直到它们的学习效果不比浅层网络好。值得注意的是,人工智能先驱、强化学习教父、DeepMind 杰出研究科学家,阿尔伯塔大学计算机科学教授 Richard S. Sutton 是这篇论文的作者之一。简单来说,该研究使用经典的 ImageNet 数据集、神经网络和学习算法的各种变体来展示可塑性的丧失。只有通过不断向网络注入多样性的算法才能无限期地维持可塑性。基于这种思路,该研究还提出了「持续反向传播算法」,这是反向传播的一种变体,其中一小部分较少使用的单元被持续随机地重新初始化。实验结果表明,基于梯度下降的方法是不够的,持续的深度学习需要随机的、非梯度的成分来保持可变性和可塑性。ImageNet 数据库包含数百万张用名词(类别)标记的图像,例如动物类型和日常物品。典型的 ImageNet 任务是猜测给定图像的标签。为了使 ImageNet 适应持续学习,同时最大限度地减少所有其他变化,该研究通过成对的类构建了一系列二元分类任务。例如,第一个任务可能是区分猫和房屋,第二个任务可能是区分停车标志和校车。利用数据集中的 1000 个类,该研究能够以这种方式形成 50 万个二元分类任务。对于每个任务,该研究首先在两个类的图像子集上训练深度学习网络,然后在这些类的单独测试集上测量其性能。在一个任务上训练和测试后,下一个任务从一对不同的类开始。研究团队将此问题称为「持续 ImageNet(Continual ImageNet)」。在持续 ImageNet 中,任务的难度随着时间的推移保持不变。性能下降意味着网络正在失去学习能力,这是可塑性丧失的直接表现。该研究将各种标准深度学习网络应用于 Continual ImageNet,并测试了许多学习算法和参数设置。为了评估网络在任务中的性能,该研究测量了正确分类测试图像的百分比。该研究发现:对于经过良好调整的网络,性能往往首先提高,然后大幅下降,最终接近或低于线性基线。当性能开始下降时,网络架构、算法参数和优化器的具体选择会产生影响,但多种选择都会导致性能严重下降。标准深度学习方法在后续任务中无法比线性网络更好地学习,这直接证明这些方法在持续学习问题中效果不佳。令人惊讶的是,Adam、Dropout 和归一化等流行方法实际上增加了可塑性的损失;而 L2 正则化在许多情况下减少了可塑性的损失。研究团队发现:显式保持网络权重较小的算法通常能够保持可塑性,甚至在许多任务中能够提高性能。该研究基于上述发现,提出了反向传播算法的一种变体 —— 持续反向传播,该算法向网络注入可变性并保持其某些权重较小。方法持续反向传播持续反向传播算法将选择性地对网络中低效的单元进行初始化处理。研究团队定义了名为「贡献效用」的值来衡量每个单元的重要性。如果神经网络中某个隐藏单元对它所连接的下游单元的影响很小,那么它的作用就可能被网络中其他更有影响力的隐藏单元掩盖。贡献效用通过计算即时贡献的移动平均值来衡量,这个值由衰减率表示。在所有实验中,初始衰减率 η 设置为 0.99。在前馈神经网络中,第 l 层第 i 个隐藏单元在时间 t 的贡献效用更新如下:其中是时间 t 时第 l 层第 i 个隐藏单元的输出,代表其权重,代表第 l+1 层的单元数量。当一个隐藏单元被重新初始化时,它的输出的权重将被初始化为零。这么做是为了新添加的隐藏单元不会影响模型已经学到的功能。但是这样也容易导致新的隐藏单元很快被重新初始化。为了防止这种情况,研究团队设置了「成熟阈值」,在 m 次更新前,即使新的隐藏单元的效用是零,也不会被重新初始化。当更新次数超过 m 后,每一步「成熟单元」的一部分 ρ(称为替换率),在每一层都会被重新初始化。替换率 ρ 通常设置为一个非常小的值,这意味着在数百次更新后只替换一个单元。例如,在 CIFAR-100 中,研究团队将替换率设置为 10 的负五次方,每一步,大约 0.00512 个单元被替换。这相当于大约每 200 次更新替换一次。最终的算法结合了传统的反向传播和选择性重新初始化两种方法,以持续地从初始分布中引入随机单元。每次更新时,持续反向传播将执行梯度下降并选择性地重新初始化。前馈神经网络的持续反向传播如算法1所示。处理小批量数据时,可以采取一种更经济的方法:通过对小批量数据上的即时贡献效用取平均值,而不是保持一个运行平均值来节省计算量。