Continual Learning Through Synaptic Intelligence
Friedemann Zenke, Ben Poole, Surya Ganguli
Stanford University
论文探讨了如何在人工神经网络(ANNs)中实现持续学习(continual learning),即在不断变化的数据分布中学习新任务时,如何避免遗忘旧任务。论文指出,尽管深度学习在许多应用领域取得了显著进展,但在数据分布随学习过程变化的领域中表现不佳。相比之下,生物神经网络能够不断适应变化的领域,可能通过复杂的分子机制同时解决多个任务。研究者引入了“智能突触”(intelligent synapses)的概念,将一些生物复杂性引入到ANNs中。每个突触随时间积累与任务相关的信息,并利用这些信息快速存储新记忆,同时不遗忘旧记忆。论文在分类任务的持续学习上评估了这种方法,并展示了它在保持计算效率的同时显著减少了遗忘。
论文提到了解决灾难性遗忘(catastrophic forgetting)问题的一些先前研究,这些研究可以分为三类:(1)架构方法,通过改变网络结构来减少任务间的干扰;(2)功能方法,通过在目标函数中添加正则化项来惩罚神经网络输入输出函数的变化;(3)结构方法,通过对参数施加惩罚来鼓励它们保持接近旧任务的参数。
论文提出了一种新的突触框架,其中每个突触都跟踪过去和当前的参数值,并维护一个在线估计,即突触在解决过去遇到的问题时的“重要性”。这种重要性度量可以在训练期间高效且局部地计算,并代表了每个突触对全局损失变化的局部贡献。当任务变化时,通过防止重要突触在未来任务中发生变化来巩固它们,从而主要通过对过去任务不重要的突触进行学习,避免灾难性遗忘。
突触重要性度量( ω k μ ω^μ_k ωkμ?):
累积重要性度量( Ω k μ Ω^μ_k Ωkμ?):
突触状态的动态性:
突触巩固(Consolidation):
理论分析:
实验验证:
通过这些公式和概念,论文提出了一种在线计算突触重要性的方法,并利用这些信息来调整学习过程,以实现在不断变化的数据分布中持续学习的目标。这种方法的核心在于,通过突触的动态性和重要性度量,能够在学习新任务时保护旧任务的记忆。
论文在分割MNIST、置换MNIST以及分割CIFAR-10/CIFAR-100数据集上进行了实验。实验结果表明,与传统的梯度下降(SGD)和带有dropout的SGD相比,提出的智能突触方法在保持旧任务性能的同时,学习新任务的能力更强。
论文提出了将生物突触的复杂性引入ANNs的新方向,这可能需要进一步探索如何为突触赋予更复杂的动态属性,以便智能地控制神经网络的学习动态。此外,智能突触的概念可能还可以应用于其他机器学习问题,如在线学习和迁移学习。
论文通过引入智能突触的概念,提出了一种新的持续学习方法,该方法通过让每个突触估计其对解决过去任务的重要性,并惩罚变化最重要的突触,从而在不断变化的数据分布中实现新任务的学习,同时最小化对旧任务的遗忘。实验结果表明,这种方法在多个数据集上都表现出了良好的性能,为解决灾难性遗忘问题提供了一种新的视角。