Shin, H., Lee, J. K., Kim, J., & Kim,J. (2017). Continual learning with deep generative replay. In Advances inNeural Information Processing Systems (pp. 2990-2999).
1 简介
为解决人工智能存在的灾难性遗忘问题,受灵长类动物大脑中短期记忆系统的生成特性的启发,研究提出了深层生成重放(Deep Generative Replay),一个具有由深层生成模型(“生成器”)和任务解决模型(“求解器”)组成的合作双模型架构。 仅通过这两个模型,就可以轻松地对先前任务的训练数据进行采样,并与新任务的数据进行交织。本研究在几个涉及图像分类任务的连续学习环境中测试该方法。
灵长类动物大脑和人工神经网络之间最明显的区别是独立的、相互作用的记忆系统的存在。互补学习系统(CLS)理论阐明了涉及海马和新皮层的双重记忆系统的重要性。
在深层生成重放框架中,该模型通过并发重放生成的伪数据来保留以前获得的知识。在生成对抗网络(GANs)框架中训练了一个深层生成模型来模拟过去的数据。生成的数据与过去任务求解器的相应响应配对以表示旧任务。被称为scholar模型的生成器-求解器对可以根据需要生成假数据和所需的目标对,当出现新任务时,这些生成的对与新数据交错以更新生成器和求解器网络。因此,scholar模型既可以学习新任务而不会忘记自己的知识,也可以在网络配置不同的情况下用生成的输入-目标对教授其他模型。
2 相关工作
2.1 Comparable methods
对先前数据的访问仅限于当前任务。该方法着重于优化网络参数,同时最小化对已经合并的权重的变化。
通常,靠近输入的层被共享以捕获通用特征,独立的输出层产生特定于任务的输出。虽然独立的输出层没有干扰,但对早期层的更改仍然会导致旧任务的一些性能损失。
降低某些参数的学习速度可以减少遗忘。最近提出的无遗忘学习(LwF)解决了图像分类任务中的顺序学习问题,同时最小化对共享网络参数的选择。在这个框架中,网络对新任务输入的响应,或者对微调的响应,间接地代表了对旧任务的了解,并且在整个学习过程中得到保持。
2.2 Complementary Learning System(CLS)theory
致力于设计一种互补的网络架构。当先前任务的训练数据不可访问时,只有由存储网络产生的伪输入和伪目标可以被馈送到任务网络。这种方法被称为pseudorehearsal技术,声称可以在不处理真实数据情况下保持旧的输入输出模式。
本研究提出的生成重放框架与上述pseudorehearsal技术的不同之处在于——伪造的输入是从过去的输入分布中学到的。生成重放使用生成的旧数据和当前数据的集合共同优化了网络。因此,只要生成器恢复输入分布,就相当于对累积的真实数据进行联合训练。Mocanu(2016)等人在著作中也提到生成重放的想法,并训练了Restricted Boltzmann Machine来恢复过去的输入分布。
2.3 深层生成模型Deep Generative Models
GANs框架定义了生成器和判别器之间的零和博弈(zero-sum game)。
判别器通过比较两个数据分布学会区分生成的样本与真实的样本,而生成器则学会尽可能模拟真实分布。因此,两个网络的目标定义为:
3 生成重放Generative Replay
将要解决的任务序列定义为具有N个任务的任务序列。
定义1 任务是针对数据分布的目标优化模型,从中得出训练示例。该模型称为scholar,因为它能够学习新任务,并且将其知识传授给其他网络。
定义2 一个scholar 是一个元组,其中生成器是生成类真实样本的生成模型,求解器是由参数化的任务求解模型,求解器必须执行任务序列中的所有任务。从而给出全部目标以使任务序列~中所有任务之间的无偏损失总和最小,其中是整个数据分布,是损失函数。在接受任务训练时,模型会从抽取样本。
3.1 Proposed Method
考虑对scholar模型进行顺序训练。 但是,在参考网络的最新副本时训练单个scholar模型等效于训练scholar模型序列,其中第n个scholar模型学习当前任务,和先前scholar的知识。完整训练过程如图1(a)所示。
从另一个scholar那里训练scholar模型涉及到训练生成器和求解器的两个独立过程。首先,新的生成器接收当前任务输入x和先前任务的重放输入x'。实际样本和重放样本的混合比例取决于新任务与旧任务相比的重要性。生成器学习重建累积的输入空间,并且训练新的求解器以耦合从相同的混合真实数据和重放数据中提取的输入和目标。在这里,重放的目标是旧求解器对重放输入的响应。 形式上,第个求解器的损失函数为
其中是第个scholar的网络参数,是混合实数据的比率。 由于研究旨在在原始任务上评估模型,因此测试损失与训练损失有所不同:
其中是过去数据的累积分布。 当时,两个函数都忽略了第二损失项,因为没有重放数据可供第一个求解器参考。研究使用具有合适结构以解决任务序列的求解器和在生成对抗网络框架中训练的生成器来构建scholar模型。 但是,该框架可以采用任何深度生成模型作为生成器。
3.2 预实验
在对MNIST手写数字数据库进行分类上测试了该模型。
4 实验
本节展示了生成重放框架在各种连续学习设置中的适用性。生成模型的质量是任务执行的唯一约束。用生成重放来训练网络等效于在生成模型最佳时对整个数据进行联合训练。研究使用了WGAN-GP 技术来训练生成器。
在第4.1节中,依次训练网络独立的任务来检查遗忘的程度。
在第4.2节中,在两个不同但相关的领域训练网络。证明了生成重放不仅能够继续学习scholar网络设计,而且与其他已知结构兼容。
在第4.3节中,展示了scholar网络可以通过在不相交的训练数据子集上训练网络,从不同的任务中收集知识来执行一个任务。
比较了用不同重放方法训练的求解器的性能。带有生成重放的模型在图中表示为GR。通过假设发生器是完美的情况来指定上限。因此,我们重放了与旧求解器网络中预测目标配对的实际旧数据以进行精确重放,这种情况表示为ER。当生成的样本根本不像真实分布时,我们也考虑相反的情况。这种情况被称为Noise。经过训练(仅对求解器进行训练)的求解器网络的基线表示为“None”。
4.1 Learningindependent tasks
4.2 Learningnew domains
一个领域的知识可以帮助更好更快地理解其他领域。对多个领域的概括可能会产生更多适用于未知领域的通用知识。实验测试了该模型是否可以将一个新领域的知识与生成重放结合起来。特别是,连续训练scholar模型对MNIST和街道视图房屋编号(SVHN)数据集进行分类。
4.3 Learning new classes
即使在任务之间的输入和目标存在很大偏见的情况下,生成性重放也可以重新收集过去的知识。
在该实验中,网络对不连续的数据进行连续训练。假设代理一次只能访问几个类的示例。 在对类的互斥子集进行连续训练之后,代理最终必须正确地对所有类中的示例进行分类。在MNIST手写数字数据库上测试了网络。
对于ER和GR模型,输入分布和目标分布均表示累积分布。Noise模型保留累积的目标分布,但输入分布仅反映当前分布。None模型同时具有两者的当前分布。
假定过去的数据已被完全丢弃,训练生成器以模拟当前输入和前一生成器生成的样本。因此,生成器将再现到目前为止所有遇到的示例的累积输入分布。
5 讨论
深度生成重放机制得益于以下事实,即深层生成的重放机制仅使用保存的网络产生的输入目标对来维护前一个知识,因此可以轻松平衡前者和新任务的性能,并灵活地进行知识转移。最重要的是,网络针对任务目标进行了联合优化,因此可以保证在生成器回收前者的输入空间时实现全部性能。
生成重放框架的一个缺陷是算法的有效性在很大程度上取决于生成器的质量。在第4.3节中使用的相同设置下在SVHN数据集上训练模型时观察到了一些性能损失。(补充材料中提供了详细的分析)
研究认为,EWC,LwF和深层生成重放三种框架的良好结合将更好地解决持续学习中的长期问题。