本博客包括了最近阅读的持续学习相关论文,会持续更新。
一. 基于动态架构
1. Progressive Neural Networks (2016)
论文原地址 | 具体分析地址 | 代码地址 |
---|
1.1 核心思路
提出了关键性的思想:渐进式网络结构,认为是最早的动态的架构模型,其想为每一个新任务训练时拥有更高的准确率以及更快地收敛速度,为每一个任务新增了一个网络,并且将之前训练过的网络的每一层输入到新的网络中,以达到高效使用过去任务信息的目的。
1.2 实验设置
1.2.1 对比的方法
- Fine-tune
1.2.2 对比的数据集
- MNIST
- Some Reinforce learning dataset
1.3 方法适用性以及缺点分析
本文中模型随着任务线性增加,在训练过程中所带来的计算以及存储压力越来越大。
2. Learning without Forgetting(2016 ECCV)
论文原地址 | 具体分析地址 | 代码地址 |
---|
2.1 核心思路
将模型分为贡献参数以及任务特定参数,其中任务特定参数随着任务的增加而增加。在训练过程中,利用新任务样本去计算旧任务损失,配合新任务损失防止参数遗忘。
2.2 实验设置
2.2.1 对比的方法
- Fine-tune
- LFL
- Joint Training
2.2.2 对比的数据集
- ImageNet
- CUB
- Places365
2.3 方法适用性以及缺点分析
在方法中可以发现共享参数占据了所有的特征提取层,这就导致每个任务之间的干扰性特别强,无法很好处理可塑性-稳定性平衡。
3. LifeLong Learning With Dynamically Expandable Networks (ICML 2018)
论文原地址 | 具体分析地址 | 代码地址 |
---|
3.1 核心思路
提出了3个关键性的组建:选择性训练+动态的模型扩展+网络神经元的拆分。
选择性训练: 选择性训练在稀疏的神经网络中找到每个任务的训练路径,并识别为新任务的可训练参数。
动态的模型扩展: 在训练参数不够的情况下,为每一层添加固定数量的神经元,之后再利用正则化对参数进行稀疏。
网络神经元拆分: 对于前后任务参数偏移过大的情况,将对应的参数拆分成两份形成新的网络。
3.2 实验设置
3.2.1 对比的方法
- EWC
- Progressive
- L2
3.2.2 对比的数据集
- MNIST
- Cifar100
- AWA
3.3 方法适用性以及缺点分析
本文方法虽然使用隔离不同任务参数的办法以及额外新增参数的方法,但在工作中选择这些小部分参数时需要进行模型的遍历,同时在避免遗忘的控制中需要依次对每一个神经元都进行判断,从新连线,这在卷积神经网络中将变得特别复杂和麻烦,并且带来很大的计算量。
4. Learn to Grow: A Continual Structure Learning Framework for Overcoming Catastrophic Forgetting(ICML 2019)
论文原地址 | 具体分析地址 | 代码地址 |
---|
4.1 核心思路
一个新任务到来时,模型共有三种选择:“reuse”, “adaptation"以及"new”。之后利用神经网络结构搜索模块,对每一层网络结构都进行搜索匹配上述的三种选择。
4.2 实验设置
4.2.1 对比的方法
- EWC
- Progressive
4.2.2 对比的数据集
- MNIST
- VDD
4.3 方法适用性以及缺点分析
本文方法主要针对于模型进行搜索,虽然使用梯度搜索方式(DARTS)节省了很多的计算量,但仍是一个非常耗时的工作,而且根据DARTS的工作,需要提前部署一个超网络(大型网络),这也带来了很大的计算空间。
5. Incremental Learning Through Deep Adaptation(PAMI 2020)
论文原地址 | 具体分析地址 | 代码地址 |
---|
5.1 核心思路
利用已经存在的卷积层结构以及不断学习的投影参数生成新任务所需的卷积层参数,并且利用额外的超参数
α
\alpha
α来确保每个任务对应不同的网络参数。
5.2 实验设置
5.2.1 对比的方法
- EWC
5.2.2 对比的数据集
- MNIST
- VDD
- Caltech-256
- CIFAR-10
- Daimler
- GTSR
- Omniglot
- Plankton imagery data
- Human Sketch dataset
- SVHN
5.3 方法适用性以及缺点分析
本文基于原本的网络投射出新的任务参数信息,并通过超参数选择这些新网络。但是这就要求第一个任务必须包括足够多的信息,拥有非常多的数据样本才能保证网路在之后工作时的性能。
6. Reparameterizing Convolutions for Incremental Multi-Task Learning without Task Interference(2020 ECCV)
论文原地址 | 具体分析地址 | 代码地址 |
---|
6.1 核心思路
本文考虑将对每一个卷积层中的参数分解为共享参数以及任务特定参数。其中共享参数在训练开始前确定后将不允许改变,其由预训练参数经过特征值分解后得到。而对于任务特定参数来说,其为一系列1x1的卷机块组成,目标是将大量的共享参数投射到自己的任务空间,以进行更好的学习。
6.2 实验设置
6.2.1 对比的方法
- Series RA
- Parallel RA
- ASTMT
6.2.2 对比的数据集
- PASCAL
- NYUD
6.3 方法适用性以及缺点分析
和第5个方法类似,通过使用投影的功能生成新的任务参数。虽然本文通过使用了预训练模型和SVD分解为共享的参数找到一个好的初始化,但在不同任务的训练时,可学习的网络参数不多,从而无法达到很好的准确率。
7. Conditional Channel Gated Networks for Task-Aware Continual Learning
论文原地址 | 具体分析地址 | 代码地址 |
---|
7.1 核心思路
在每一个卷积层中设置了“门”函数,其会为每个任务选择不同的filter,从而实现参数隔离。并且,作者还从任务增量的场景延伸到类增量的场景,通过设定任务分类模块,保证模型能根据没有任务标签的测试集准确预测其属于哪一个任务。
7.2 实验设置
7.2.1 对比的方法
- Cifar10
- ImageNet
- CIfar100
- Aircraft
- DPed
- Textures
- GTSRB
- Omniglot
- SVHN
- UCF101
- VGG-Flowers
- COCO
7.2.2 对比的数据集
- DAN
- LwF
- CCG
- LTG
- SEU
- HAT
- Res-Adapter
8. E 2 ^2 2-AEN: End-to-End Incremental Learning with Adaptively Expandable Network(2022)
论文原地址 | 具体分析地址 | 代码地址 |
---|
8.1 核心思路
在每个CNN层添加额外的参数的时候设置了“门”这一概念,这样可以保证每个任务自己选择自己需要的网络部分从而剔除多余的参数。新增加的网络有三个串行的CNN块组成,以从多个维度提取信息并且进行减少输出的大小,而"门"网络则是根据输出大小进行一系列全连接的结果进行判断。为了保证网络能应用到边缘设备,在网络设计中添加了正则化损失保证参数稀疏。
8.2 实验设置
8.2.1 对比的方法
- MNIST
- SVHN
- CIfar10
8.2.2 对比的数据集
- EWC
- LwF
- HAT