Generative Models from the perspective of Continual Learning【小白读论文】
摘要:
本文在持续学习情况下评估各种生成模型。
本文研究了几种模型如何学习和遗忘,并考虑了各种持续学习策略:回放、正则化、生成重放和微调。 我们使用两个定量指标来估计生成质量和记忆能力。 我们在三个常用的持续学习基准(MNIST、Fashion MNIST 和 CIFAR10)上对 sequential 任务进行了实验。 我们发现,在所有模型中,原始 GAN 表现最好,在持续学习策略中,生成重放优于所有其他方法。
相关工作:
从一项任务微调到下一项任务的简单方法会导致灾难性遗忘,即无法保持先前任务的初始性能。
相关的解决方法主要有四种
- 回放(rehearsal)。保留以前任务的样本,使用以前任务的样本以克服遗忘。不能用于无法获得先前任务数据的场景,且存储样本所需的内存随着任务数量线性增长。
- 正则化。正则化限制权重更新,以保留先前任务中的知识,从而避免遗忘。常用的正则化方法有EWC,EWC估计权重的重要性并相应地调整正则化,目前已有EWC的扩展,如在线EWC。另一种正则化方法是蒸馏,它将以前学到的知识转移到新模型中,使模型能够同时了解先前的任务和当前的任务。
- 使用动态架构来保留过去的知识并学习新知识。如渐进式神经网络、LWF(learning without forgetting)和 PathNet。
- 生成重放。使用生成模型用于先前任务的样本。也叫伪回放(pseudo-rehearsal)。
生成模型的持续学习(现有方法):
1、将EWC应用于条件GAN(仅适用于CGAN)。
2、变分持续学习(VCL),它使变分推理适应于持续学习。从一项任务到另一项任务在线更新。仅在 VAE 上进行实验。
3、在 VAE 上使用学生教师方法,学生学习当前任务,而教师保留知识。
4、VASE,也仅在VAE上进行了实验,它将备用表示能力分配给新知识,同时通过使用先前模型的权重来保护先前学习到的知识免遭灾难性遗忘。
5、生成重放方法。它适用于对抗性框架和变分框架。它使用两种生成模型:一种充当存储器,能够生成所有过去任务的数据,另一种学习从所有过去的任务和当前任务生成数据。它主要用作判别模型持续学习的方法。
6、记忆重放GAN(Memory Replay GANs),将先前知识从条件生成器转移到当前知识的蒸馏方案。然而这种方法会导致模式崩溃,因为它可能有利于学习生成少量的类实例而不是更广泛的类实例。
实验:
寻找最佳的生成模型和 CL 策略的组合。 在各种生成模型上比较了几种现有的 CL 策略,目的是找到最适合持续学习的生成模型。
评价指标:
①FID指标:真实样本和生成样本越相似,FID越低。
②拟合能力:生成器 G(GAN 或 VAE)生成的标记样本来训练分类器,然后根据实际数据对其进行评估。这种评估称为 G 的拟合能力,是测试 G 生成的样本训练的分类器的准确性。它衡量生成器训练出能够在测试集上泛化良好的分类器的能力,即生成器拟合测试集分布的能力。该方法旨在评估数据复杂特征的生成模型,而不仅仅是其特征分布。
实验中使用的生成模型有:GAN,CGAN,WGAN,WGAN-GP,VAE,CVAE
CL策略有:
- 回放(rehearsal),为每个任务保留固定数量的样本,并将这些样本添加到当前生成模型的训练集中
- EWC,对于GAN,仅对生成器的权重应用惩罚,对于 VAE,我们对编码器和解码器都应用惩罚。 当任务按顺序呈现时,将新矩阵累加到前一个矩阵来更新Fisher信息矩阵的对角线。
- 生成重放(Generative replay),“冻结”生成模型 G t − 1 G_{t−1} Gt−1 用于从先前学习的分布中进行采样,而“当前”生成模型 G t G_{t} Gt 用于学习当前分布和 G t − 1 G_{t−1} Gt−1 分布。 当任务结束时, G t − 1 G_{t−1} Gt−1 被 G t G_{t} Gt的副本替换,学习继续。
结论:
实验表明,在 MNIST 和 Fashion MNIST 上,原始 GAN 结合 Generative Replay 方法特别有效。该方法通过使用生成器作为存储器来从先前的任务中进行采样,从而保留过去的知识,从而避免灾难性遗忘。我们还发现,生成模型在 CIFAR10 上的表现不够好,无法持续学习。
方法局限性:依赖于任务边界是离散的并且由用户给出的设置。在未来的工作中,我们计划研究任务边界的自动检测,或者尝试任务之间更平滑的过渡,而不是不相交的任务设置。
如有错误,请多包涵!欢迎交流!!😀