神经网络的记忆缺陷:如何让单个神经网络能够适应多个任务?

(对于终身学习目前的研究进展概述)

现代机器学习已成功应用于很多问题,也加快了很多研究领域的发展,比如图像中的目标定位与目标识别 [4]、表现能够超越玩家的游戏AI [12] 和目前非常火热的自动驾驶 [1]。但是,目前的机器学习模型的限制在于,我们必须要为每一个任务专门训练一个模型,在一个任务上表现良好的模型很难应用于其他任务。也就是说,一个训练来区分猫和狗的图像分类模型不知道如何区分苹果和梨。我们可以继续训练模型使其也能用于分类苹果和梨,但是,随着任务的逐渐增多,需要识别的类逐渐增加,在多次添加新数据训练模型以使其能够适应新任务后,模型将忘记狗和猫的区别。简而言之,对于一个训练完毕的模型,当我们使用大量与上一个任务不相关的数据对该模型继续训练后,该模型无法在其原始的任务上达到和以前同样的性能。这个问题被称为灾难性遗忘[8, 2]。目前用于缓解机器学习模型灾难性遗忘的方法叫做终身学习(lifelong learning)

应用场景决定内存大小。在某些情况下,模型只要能够在单个任务上表现良好就可以了,而无需在其生命周期内学习新概念。比如仓库机器人,仓库机器人只需要在一个基本不变的场景执行一些重复性的动作就能完成任务,因此不需要考虑灾难性遗忘的问题。但在很多场景中,灾难性遗忘是一个很严重的问题。考虑一个用于社交软件的AI图像过滤器,功能是在用户发布图像之前检测图像是否违反法律。该过滤器最初可能被训练为仅仅处理用户拍摄的各种照片。一段时间后,随着用户数量的增多和平台功能的逐渐扩大,开发者希望它也能检测绘画以及文本截图,为此,开发者使用相关数据样本更新模型。 但是,除非开发者采取必要的预防措施,否则这个图像过滤器可能会忘记如何处理相机图像,而仅会处理各种绘画和文本截图。

本文将介绍终身学习的的前沿现状。包括已提出的解决方案、研究人员目前正在研究的要点以及他们使用的基准

能被学会的,都能被忘掉

在模型的整个生命周期中,其处理的数据会随事件而变化。它可能应用于新领域、新任务、新数据类别或以上的组合。 这些不同的因素如图 1 所示。

image.png 图1:不同的lifelong learning问题

新域(New Domains):域表示统计信息。一个例子是上文中的例子,我们在相机图像上训练了一个模型,后来我们希望模型也能识别绘画。在图1(左)中,对于一个简化的三角形与圆形任务,我们有一个形状为蓝色的域和一个形状为紫色的域。

新任务(New Tasks):一个模型上已经训练了一个或多个任务,我们希望模型能应用于更多任务。使用与上面相同的示例,我们可能有一个原始过滤器来分类图像是否为暴力图像,而后,我们还希望过滤器能够判断图像中是否含有宗教元素。在图1(中)中,模型已经训练完毕的第一个任务还是三角形与圆形的分类任务,而将要添加的第二个任务是正方形与十字形的分类任务。

新数据类别(New Classes):我们已经训练出了一个多分类模型,我们希望该模型能识别其他未参与原始训练的数据类。以上文为例,我们希望一个区分猫狗的图像分类模型也能够区分苹果和梨。在图1(右)中,我们最初训练了三角形与圆形的二分类任务模型,但后来我们还想对正方形与十字形进行分类。

记忆重放、正则化、模型结构生长?

深度学习模型在训练时需要反复使用数据集中的图像。因此,为了解决模型遗忘的问题,可以记录用于训练原始模型的数据,在使用来自新域/任务/类的新样本训练模型时,也可以在新的训练集中使用部分原始数据,防止模型遗忘原始训练得到的信息。

但是,这种解决方法的缺陷非常明显,每次在获得新数据训练新任务时都需要对于数据进行记录,因此随着任务的增加,需要使用的存储空间也线性增加,此外,随着目前隐私意识的不断增加,以前任务的旧数据在训练新任务时可能由于隐私风险而无法使用。终身学习研究试图找到更有效和高效的解决问题的方法。表1对于目前终身学习的方案进行了分类:

image.png 图2:不同lifelong learning策略分类与关联

策略类别 优点 缺点
正则化 (Regularization) 轻量、快速、能保护原始数据隐私 当任务较多时难以避免灾难性遗忘
模型结构生长 (Architecture growing) 能较好地避免灾难性遗忘,能保护原始数据的隐私 模型的规模会不断增加,增加了部署的代价
记忆重放 (Memory Reploy) 能较好地避免灾难性遗忘 需要较多的内存,存储原始数据会造成隐私问题

记忆重放:这种方法需要一个内存缓冲区,其中包含模型需要记住的旧域/任务/类的样本,在模型使用新样本训练时不断的掺杂一些旧样本来阻止模型遗忘旧知识。目前研究的主要方向是(i)避免新知识干扰现有知识和(ii)减少内存需求。基于内存重放的方法的主要优点是其能够非常有效的保留先验知识。主要缺点是需要较多的存储旧数据。但是在某些场景中,如隐私相关问题(尤其是在医疗领域)或原始模型来自第三方时,模型训练者可能无法存储旧数据。

结构生长:这些方法通过在模型的整个生命周期中不断增加参数的数量来帮助模型记住旧信息。具体而言,当模型在新数据上训练时,可以通过冻结模型的部分参数来保护旧模型,并添加新的参数来让模型更好的学习新数据。此种方法的主要缺点是模型的内存需求在其整个生命周期内都会不断增加。而嵌入式系统(例如,移动应用程序)中,由于设备性能的限制,模型能够使用的内存可能是极为有限的,难以使用此种方法。

正则化:正则化策略从优化的角度解决终身学习问题。具体而言,该类方法首先需要识别出模型在旧任务上较为重要的参数,当模型在新任务上训练时,通过正则项来阻止重要参数产生较大的变化幅度,从而防止模型忘记旧任务。这类方法的巨大优势在于它克服了其他两种方法的弱点:无需存储旧数据点,也无需在整个生命周期内增加模型容量。然而,随着模型学习的新任务的增加,在较旧的任务上保持良好的性能会变得越来越困难。

终生学习方法的评估方式

定义符合现实的协议来评估终身学习模型的性能本身就是一个研究方向。最近,许多研究者发现目前对于终生学习的评估方法是不切实际的。例如,最常用的基准是从不同版本的 MNIST 数据集中学习,这些MNIST的区别是像素随机排列。诚然,即使在如此简单的数据集中,神经网络通常也会随着新信息的出现而忘记过去,并且这些场景是完全不切实际的,现实中的新数据本身定然具有语义并且不会和之前任务中的数据具有较多的共同点。

目前新协议中,比较靠谱的是 CORe-50 数据集 [6],可以利用该数据集在不同的角度(不同的类别、不同的领域)评估终身学习模型的性能。此外,它还可以模拟从时间连贯的数据流中学习,这与人类接触视觉信息的方式是一致的。最近的一项工作 [11] 也在研究这个方向,该工作引入了一个新的数据集,允许从野外记录的数据流中学习。

许多研究者也开始使用 ImageNet,目标是从ImageNet提供的 1000 个类别中,逐类别的顺序学习样本。目前最好的SOTA是 REMIND 算法 [3],只需通过 ImageNet 的样本训练一次即可获得较好的性能。

未来走向何方?

未来本身无法预测,但我们坚信终身学习将在人工智能的应用方面发挥关键作用。这是因为可落地的 AI 应该能够适应不断变化的环境。并且模型在面临需要解决的新问题时,应该学会丰富其能力而不是而又不会偏离其原本的目的。

尽管在某些情况下,记忆重放方法可能是唯一的解决方案,但我们会看到它们与对数据要求较低的方法(即正则化策略)之间的性能差距在不断缩小。一些元学习方法已经开始出现,提供了非常有前途的替代方案。元学习的想法是学习学习算法本身,以适应特定需求从而避免灾难性遗忘。在内存重放方法是唯一选择的情况下,一个自然的需求是减少存储需求。最近,不同的工作各自独立的探索了“特征重放”领域[5,10,3],其中与先前任务相关的信息被压缩存储,即作为特征嵌入。

除了方法本身之外,人们还投入了大量精力来设计更贴近现实的协议。例如,人们对基准测试的兴趣激增,目标是从数据流中学习,而不允许学习者对数据执行多次传递。这种场景挑战了神经网络的经典学习设置(在训练集上执行多次传递)。可以从数据流中有效学习的学习系统所能够应用的应用程序数量不计其数!希望未来的终身学习研究能够不断贴近现实场景并早日落地。

引用

[1] End to End Learning for Self-Driving Cars. Mariusz Bojarski, Davide Del Testa, Daniel Dworakowski, Bernhard Firner, Beat Flepp, Prasoon Goyal, Lawrence D. Jackel, Mathew Monfort, Urs Muller, Jiakai Zhang, Xin Zhang, Jake Zhao and Karol Zieba. arXiv:1604.07316 [cs.CV], 2016.
[2] Catastrophic Interference in Connectionist Networks: Can It Be Predicted, Can It Be Prevented? Robert M French. Proceedings of Advances in Neural Information Processing Systems 6 (NIPS), 1993.
[3] REMIND Your Neural Network to Prevent Catastrophic Forgetting. Tyler L. Hayes, Kushal Kafle, Robik Shrestha, Manoj Acharya and Christopher Kanan. Proceedings of the European Conference on Computer Vision (ECCV), 2020.
[4] ImageNet Classification with Deep Convolutional Neural Networks. Alex Krizhevsky, Ilya Sutskever and Geoffrey E Hinton. Proceedings of Advances in Neural Information Processing Systems (NIPS), 2012.
[5] Continuous Domain Adaptation with Variational Domain-Agnostic Feature Replay. Qicheng Lao, Xiang Jiang, Mohammad Havaei, and Yoshua Bengio. arXiv:2003.04382 [cs.LG], 2020.
[6] CORe50: a New Dataset and Benchmark for Continuous Object Recognition. Vincenzo Lomonaco and Davide Maltoni. Proceedings of the Conference on Robot Learning (CoRL), pp. 17 – 26, 2017.
[7] Continuous learning in single-incremental-task scenarios. Davide Maltoni and Vincenzo Lomonaco. Neural Networks, 116: 56-73, 2019. DOI: 10.1016/.jneunet.2019.03.010
[8] Catastrophic interference in connectionist networks: The sequential learning problem. Michael McCloskey and Neil J. Cohen. The Psychology of Learning and Motivation, 24: 109–165, 1989. DOI: 10.1016/S0079-7421(08)60536-8
[9] Continual Lifelong Learning with Neural Networks: A Review. German I. Parisi, Ronald Kemker, Jose L. Part, Christopher Kanan and Stefan Wermter. Neural Networks, 113: 54–71, 2019. DOI: 10.1016/j.neunet.2019.01.012
[10] Latent Replay for Real-Time Continual Learning. Lorenzo Pellegrini, Gabrile Graffieti, Vincenzo Lomonaco and Davide Maltoni. arXiv:1912.01100 [cs.LG], 2019.
[11] Stream-51: Streaming Classification and Novelty Detection from Videos. Ryne Roady, Tyler L. Hayes, Hitesh Vaidya and Christopher Kanan. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Workshops, 2020.[12] Mastering the game of Go with deep neural networks and tree search. David Silver, Aja Huang, Chris J. Maddison et al. Nature, 529: 484–489, (2016). DOI: 10.1038/nature16961.

猜你喜欢

转载自juejin.im/post/7093473001689071624