当前位置: 首页 > article >正文

12.15-12.22学习周报

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 论文链接
  • 摘要
  • Abstract
  • 一、持续学习和相关理论部分
    • 1.持续学习常用的两类方法
    • 2.Rehearsal-Free Continual Learning
    • 3.知识转移
      • 3.1Parameter Space Regularization
      • 3.2Prediction distillation(预测蒸馏)
      • 3.3 feature distillation(特征蒸馏)
  • 二、实验部分
    • 1.实验概括
    • 2.评估指标
    • 3.实验过程和结果
  • 总结

论文链接

https://arxiv.org/pdf/2203.17269

摘要

本博客主要介绍了论文《A Closer Look at Rehearsal-Free Continual Learning》对于几个流行的持续学习策略设置无排练的持续学习的研究。研究者所研究的Rehearsal-Free Continual Learning不采用回放策略来解决灾难性遗忘,而是让模型优先学习新的任务,同时尽可能保证对于旧任务的记忆。论文中详细介绍了三种常用的知识转移方法的公式原理:参数正则化、预测蒸馏和特征蒸馏。

实验部分,本博客主要介绍了研究员首先在BEC分类和softmax分类下,使用参数正则化和特征正则化对于模型持续学习的表现。实验的评估指标分别为最终任务准确率、全局遗忘和局部遗忘。博客详细地介绍了三个评估指标的公式以及在实验中的作用。研究者在实验中所使用的持续学习策略有:预测蒸馏+EWC、预测蒸馏+L2、单独使用EWC、以及预测蒸馏+特征蒸馏。其次为了探究什么类型的正则化能够最好地利用预训练模型,研究员在上述实验的基础上采用ImageNET预训练模型,实验结果显示对于参数正则化,预训练大大提高了学习新任务的能力。

Abstract

This blog focuses on the research of the paper “A Closer Look at Rehearsal-Free Continual Learning” on several popular continuous learning strategies and unrehearsed continuous learning. The Rehearsal-Free Continual Learning studied by the researchers does not use a playback strategy to address catastrophic forgetting, but instead allows the model to prioritize learning new tasks while maintaining memory for the task as much as possible. The principles of the formulas for three commonly used knowledge transfer methods are described in detail: parametric regularization, predictive distillation, and characteristic distillation.

In the experimental part, this blog mainly introduces the performance of researchers using parameter regularization and feature regularization for the continuous learning of the model under BEC classification and softmax classification. The evaluation indexes of the experiment were the accuracy of the final task, global forgetting and local forgetting, respectively. The blog details the formulas for the three evaluation metrics and their role in experiments. The continuous learning strategies used by the researchers in the experiments were: predictive distillation + EWC, predictive distillation + L2, EWC alone, and predictive distillation + characteristic distillation. Secondly, in order to explore what type of regularization can make the best use of the pre-trained model, the researchers used the ImageNET pre-training model on the basis of the above experiments, and the experimental results show that for parameter regularization, the pre-training greatly improves the ability to learn new tasks.

一、持续学习和相关理论部分

1.持续学习常用的两类方法

论文中首先介绍了当前最常用的两种实现持续学习的方法:
1.首先是可以拓展现有模型的体系结构。在一些应用中,任务会随着时间不断增加,采用拓展现有模型结构的方法可以让模型更好地扩展和适应更多任务。例如,在多任务学习中,模型可以随时添加新的任务模块,而不需要重新设计整个架构。这个方法对于模型随着任务增长而实用的应用程序非常有效。但是该方法也有缺点,拓展模型的体系结构会导致模型的复杂程度增加,并且更多的数据信息更容易导致数据冗余。

2.另一类方法是在训练新任务时根据过去的任务知识对模型进行正则化。该方法可以通过在权重空间(即惩罚模型参数的变化)或预测空间(即惩罚模型预测的变化)中正则化模型来完成。

2.Rehearsal-Free Continual Learning

Rehearsal-Free Continual Learning指的是不使用回放策略来解决灾难性遗忘问题的方法。在这种框架下,模型不依赖于存储和重新使用旧任务的数据或样本,而是直接学习新的任务,并尽可能保持对先前任务的记忆。

3.知识转移

当训练一个新的任务n时,减少遗忘的关键点就在于如何将处于‘检查点’n-1时刻的模型θn-1中的知识转移到θn中,以下是论文中介绍的从检查点模型转移知识的三种方法。
在这里插入图片描述

3.1Parameter Space Regularization

最早的持续学习方法之一EWC提出了在模型参数空间中正则化模型。EWC通过引入一个正则化项来避免神经网络在学习新任务时丢失对旧任务的知识。具体来说,它会在模型训练过程中,对每个参数(即神经网络的权重)施加一个惩罚,使得它们不会偏离原有的值太多。这个惩罚是基于Fisher信息矩阵计算的,该矩阵反映了各个权重对损失函数的影响程度。EWC的目标是最小化一个包括损失函数和正则化项的目标函数。具体而言,EWC的损失函数可以表示为:在这里插入图片描述
其中Fjj n-1是第n-1个Fisher矩阵Fn-1的第j个对角元素,它是使用任务n-1中的数据和损失函数计算的。Fisher矩阵中的参数表示该参数对于旧任务损失函数的敏感度

在实验部分我们会看到在部分场景,L2正则化的性能可能会优于EWC正则化。

3.2Prediction distillation(预测蒸馏)

首先先介绍一下知识蒸馏的概念。知识蒸馏就是让规模小,性能弱的一个模型去模仿规模大,性能强大的模型。形象一点来说,在知识蒸馏中,规模小性能弱的我们成为学生模型,而规模大性能强大的我们成为教师模型。学生模型通过模仿教师模型的预测结果来学习。

预测蒸馏是知识蒸馏的一种变体,它的核心思想与传统蒸馏相似,但在处理学生模型和教师模型之间的信息传递时有所创新。预测蒸馏往往通过教师模型在特定输入上的预测过程来指导学生模型的学习。这个过程不仅仅是依赖教师模型的最终预测结果,还包括教师模型中间层的预测输出,可能涉及到更细粒度的信号。在论文中统一将预测蒸馏用PredKD表示。
预测蒸馏的损失函数如下:
在这里插入图片描述
公式中的CE表示标准交叉熵损失,pθ(y| x)作为模型θ为输入x生成的预测类分布。

3.3 feature distillation(特征蒸馏)

特征蒸馏是知识蒸馏的一种方法,它不仅仅关注模型的输出(预测结果),还注重从教师模型中提取的中间层特征。在传统的知识蒸馏中,学生模型通过模仿教师模型的输出来进行训练。而在特征蒸馏中,学生模型不仅模仿教师模型的最终输出,**还试图匹配教师模型的中间层特征。这种方法能让学生模型学到更多有关数据的表示和特征,从而提高模型的表现。在论文中,特征蒸馏统一用FeatKD来表示。

特征蒸馏的损失函数如下:在这里插入图片描述
∥⋅∥ ^2 2:表示L2范数(欧氏距离)的平方,通常用于度量两个向量之间的差异

二、实验部分

1.实验概括

在论文的实验部分,研究者对比了四种无重访连续学习方法(EWC、L2、PredKD 和 FeatKD)的表现,并与两种基线模型:Naive模型,上界模型进行了比较。实验使用了CIFAR-100数据集,并在18层ResNet网络上进行了训练。训练时设置了特定的优化参数,包括Adam优化器、学习率衰减、权重衰减和批次大小。在超参数调节方面,实验没有在所有任务的数据上进行调节,因为这会违反连续学习的原则,改为通过在较小的任务序列上进行超参数的调节。

Naive模型:仅使用分类损失进行训练的简单模型,用于作为对照。(论文中简称naive)
上界模型:理想情况下,假设能够同时访问所有任务的数据,进行联合训练,从而为连续学习问题提供一个性能上限。(论文中简称upper-bound)

2.评估指标

在论文中研究者主要使用了三个评估指标来评估本次实验:

最终任务精确度(A1:N):有N个任务后相对于所有过去类的准确度。表示模型在所有任务完成后的总体准确度。是评估模型性能的核心指标。
在这里插入图片描述
其中,Ai,n是局部任务的准确度(即在任务增量学习中,给定任务标签时的推理,用于计算局部遗忘FL,N)。Ai,1:N是全局任务的准确度,论文中研究者都会将最后的结果简化为A1:N。

全局遗忘(F^N G):表示模型在没有任务标签的情况下,学习新任务时对之前任务性能的平均下降。全局遗忘反映了增量学习方法中“灾难性遗忘”(catastrophic forgetting)的问题。全局遗忘的公式如下:
在这里插入图片描述
其中,Ri,n表示第 i 轮任务对任务 n 测试集的预测准确度,定义为:
在这里插入图片描述
局部遗忘(F^L N):在给定任务标签的条件下,表示模型在学习新任务时对当前任务的性能下降。反映了在任务增量学习中可能的过拟合或忘记特定任务的问题。局部遗忘的公式如下:
在这里插入图片描述

3.实验过程和结果

1.研究者首先分析了CIFAR-100的10个任务序列的性能。模型显示了来自CIFAR-100数据集的10个不同任务,每个任务有10个类。研究者使用{1 e1,5e−1,1,5}的损失权重用于EWC、L2、PredKD和PredKD。分别在参数正则化和特征正则化的条件下,分别用BCE(Binary Cross-Entropy) 损失函数的特征漂移(Feature Drift)方法和softmax

(1)参数正则化
在这里插入图片描述
Upper-Bound是理想情况下的上界,表示无遗忘的情况下的表现。不过该条件为理想条件,实验中基本不会出现该情况。

可以从表格中看出:使用预测蒸馏(PredKD)+EWC,并使用BCE的情况下能够达到相比于其他样本更高的最终任务准确率,并且能够使得全局遗忘和局部遗忘的值较小,说明了该方法在减少遗忘方面的表现相较于其他几个样本较为良好。

而单独使用EWC并且使用BCE的情况下的表现较差,最终任务准确率较低,且无论是全局遗忘还是局部遗忘表现都不是很好,无法很好地实验新任务。

(2)特征正则化

在这里插入图片描述
在特征正则化中,Upper-Bound仍然是理想情况下的上界,表示无遗忘的情况下的表现。
从实验结果的表格可以看出,在BCE分类下,预测蒸馏+特征蒸馏拥有四个样本里面相对较好的效果,虽然19.1的最终任务精确度距离理想模型的56.2仍有很大差距,但是该样本维持了较好的全局遗忘和局部遗忘。 而在BCE分类中,单独使用特征蒸馏的效果相对较差。
其次,在单独使用特征蒸馏的情况下,BEC分类对局部遗忘的抑制效果相较于softmax分类表现更佳。

(3)BCE分类的10项任务CIFAR-100的结果:
在这里插入图片描述
Naive模型:仅使用分类损失进行训练的简单模型,用于作为对照。
可以从实验结果看出,在BCE分类中的10项CIFAR-100任务中,单独使用预测蒸馏所达到的精确度为25.2%,为四个实验样本最高。由于蒸馏试图保持模型在新任务上的输出接近旧任务的输出,但并不直接约束模型的参数分布。EWC则通过正则化模型的参数来强制旧任务知识的“保守”,但这会限制模型的灵活性,使得它更难适应新任务的需求。当这两者一起使用时,模型可能会受到过度的限制(来自EWC的参数正则化),使得它难以充分适应新任务,同时又被蒸馏损失引导得过于保守,从而导致性能下降。 所以将预测蒸馏和EWC一起使用的最终任务准确度比起单独使用预测蒸馏效果相对较弱,但是在局部遗忘和全局遗忘方面,由于加入了EWC,在抑制全局遗忘和局部遗忘方面表现突触。另外,研究者还发现在BCE分类中,使用预测蒸馏的前提下,EWC正则化在最终任务准确度和抑制全局遗忘和局部遗忘方面表现都要略优于L2正则化。

2.在BCE分类的10项任务CIFAR-100实验的基础上,研究者为了探究遗忘都发生在实验的什么地方,引入了一个评估指标CKA,并绘制了相关图像。

CKA:中心内核对齐(CKA,Centered Kernel Alignment) 是一种用于衡量不同表示(例如神经网络各层输出的特征表示)之间相似性的指标,常用于神经网络的可解释性研究和网络内部不同层的比较。

以下是上述实验四种方法的相似性得分:
在这里插入图片描述
Linear是指线性层的输出,pen是指倒数第二层的输出,L-2.4是指倒数第二层、倒数第三层等的输出。Acc指的是An,1:n,其中n是任务号(即,x轴)。所有颜色的曲线越贴近,说明遗忘程度就越低。

研究者发现,对于这个实验,我们看到PredKD收敛到最高的最终准确度,而PredKD + EWC具有最低的遗忘。添加参数正则化损失(EWC和L2)引起低遗忘,但以低可塑性为代价(即,学习新任务的能力)。另外研究者还发现,特征蒸馏虽然降低最终任务准确度,但是在解决遗忘方面并没有明显地改善

通过上述实验研究者得出了两个结论:
(1)PredKD和BCE为无需排练的持续学习创建了强大的基线
(2) 参数正则化减少了遗忘,但代价是低可塑性,因此最终精度低。

3.为了探究什么类型的正则化(参数空间或预测空间)可以最好地利用模型预训练,研究者们接着做了以下实验:

研究员重复了前面两节所提到的实验,区别在于这次实验使用的模型是用ImageNet 预训练初始化的
得到的实验结果如下:
在这里插入图片描述
可以从实验结果看出,四种方法的最终准确度相比于没预训练的模型直接颠倒了。预测蒸馏+L2正则化相比于没预训练之前提高了14%,并且在全局遗忘和局部遗忘的抑制方面也略有提升。 预测蒸馏+EWC使用了预训练模型以后,最终准确度也大幅增加。

出现该情况是由于:通过预训练,需要较少的可塑性,因为模型(特征)已经对新任务有用;因此,在没有预训练的情况下,以新任务的低性能为代价实现低遗忘的方法现在已经消除了“成本”。

为了验证这一观点,研究员同样也绘制了CKA图像:
在这里插入图片描述
经过预训练模型的CKA与没有预训练的模型的CKA并无太大差异,但是研究员随后绘制了任务性能的曲线图发现两个模型之间的性能差异非常大:
在这里插入图片描述
图结果表明,与没有预训练的方法相比,具有ImageNet预训练的方法可以在新任务上实现更高的性能(即,它们需要更少的可塑性来适应新任务)
也就是说,预先训练似乎不会影响这些方法的“遗忘”,而是增强了学习新任务而不遗忘的能力。

通过该实验研究员得出了两个结论:

(1)在存在预训练的情况下,具有PredKD的L2优于具有PredKD的EWC,并且这两种方法都远远优于没有参数正则化的PredKD

(2)对于参数正则化,预训练大大提高了模型学习新任务的能力,但对遗忘的影响不大。

总结

在没有预训练的模型中,PredKD和BCE在无需排练的持续学习发挥着相当重要的作用。在BCE分类下PredKD+EWC的在最终任务精确度上距离理想模型仍有差距,但是在抑制全局遗忘和局部遗忘的表现上有着相较于其他持续学习策略不错的效果。在实验结果中还可以看到,特征蒸馏虽然降低最终任务准确度,但是在解决遗忘方面并没有明显地改善。在参数正则化中,由于预训练减少了模型对于学习新任务的所需要的可塑性,采用预训练的模型能够大大提高模型对于新任务的学习能力。同时在使用预测蒸馏的条件下,L2正则化的表现要好于EWC正则化。

论文中的实验依然能够继续改进的地方:如何能够进一步提高最终任务准确度使其更加逼近上界模型,在预训练模型中如何提高模型对于遗忘的抑制效果这些都值得继续深入研究。


http://www.kler.cn/a/446877.html

相关文章:

  • windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网
  • Linux下部署MySQL8.0集群 - 主从复制(一主两从)
  • SLURM资料
  • 04、Vue与Ajax
  • 拼多多电子面单接入:常见问题及专业解决方案
  • 我的性能优化经验
  • uniapp video组件无法播放视频解决方案
  • C# Winform自定义的UI分页控件
  • Everything实现,快速搜索文件
  • 宠物管理系统(2):utils
  • LeetCode136. 只出现一次的数字(2024冬季每日一题 38)
  • 基于SpringBoot+layui+html实现电影院售票系统【源码+数据库文件+包部署成功+答疑解惑问到会为止】
  • 相机(Camera)成像原理详解
  • JavaScript中,常用crypto模块进行rsa加密,crypto-js模块进行md5算法
  • 【数据库】SQL语句基础
  • Java中正则表达式的介绍、使用场景及示例代码
  • Java学习,输出数组元素
  • 31.设计模式
  • Element@2.15.14-tree checkStrictly 状态实现父项联动子项,实现节点自定义编辑、新增、删除功能
  • Java基础面试题17:GenericServlet和HttpServlet有什么区别?
  • 【Java】mac安装Java17(JDK17)
  • 前端数据持久化指南:LocalStorage、SessionStorage 等的区别与应用
  • 从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
  • 首个!艾灵参编的工业边缘计算国家标准正式发布
  • Epic游戏使用mod
  • MySQL通过日志恢复数据的步骤