持续学习+元学习文章调研(二)
继续进行相关文章的调研。
文章
A CLOSER LOOK AT FEW-SHOT CLASSIFICATION. ICLR 2019
本文针对小样本学习进行了回顾和整理,对许多方法(包括元学习、metric learning等)进行了系统的验证,本文提到了两个问题:
- 不同方法的实现细节差异影响了比较。
- 验证任务和训练任务往往来自于同一类数据集,缺少跨域实验。
本文的工作总体分为以下几点: - 在更深的模型下,不同方法间的区别显著减小。浅层模型的情况下减小样本内差异对提升效果很有帮助。
- 改进的baseline模型在mini-Imagenet和CUB数据集上能够competitive的效果。
- 验证了不同小样本学习方法在跨域适应中的作用。发现baseline方法就有competitive的结果。
基线模型(Baseline和Baseline++)
基线模型Baseline就是直接在预训练样本上训练softmax分类器,在小样本阶段固定特征,(重新)训练一个新的分类器。而Baseline++抛弃了线性分类器,转而使用权重矩阵
W
=
[
w
1
,
.
.
.
,
w
c
]
\textbf{W}=[\textbf{w}_1,...,\textbf{w}_c]
W=[w1,...,wc]来进行c分类(这一组vector也可以成为prototype),对于提取出来的特征,和这里的每一个做余弦相似度比较,并通过softmax进行归一化。这样的方式相比于直接训练分类器,同时也优化类内的方差。(该方法来自参考Dynamic few-shot visual learning without forgetting,CVPR2018和 Low-shot learning with imprinted weights,CVPR2018)。验证结果在600次实验中取平均,每次实验都是一次N-way K-shoot实验,最后的结果发现,基线模型就能够取得很好的结果,尤其是加入数据增强,以及Baseline++显式缩小了类内差别的情况下。
网络深度的影响
随着网络深度的增加(文中说类内的变化将会随之减少,但是我不知道为什么,后续在附录中有实际对比,见讨论),在CUB数据集上,不同方法之间的差距慢慢减小,而在mini-ImageNet中变化更加复杂,一些方法的效果出现了下降,作者认为这是由于mini-Imagenet中meta测试集的类和训练过程中类的差距更大导致的。在后一节做了验证。
Domain Differences的影响
随着差距的增大,依赖元学习的方法效果受到影响,因为他们学习的所有support set都来自于同样的domain,而Baseline模型重新训练整个分类器,受到的影响更小。同时Baseline++模型的表现低于Baseline,这可能说明塔牺牲了适应性。总体而言正如文中所说“That is, as the domain difference
grows larger, the adaptation based on a few novel class instances becomes more important.”,meta-testing中的新类更加重要。后续章节中证明,更多的训练或重新训练分类器,也提升了其它方法的准确率。
讨论&思考:预训练与元学习
在附录中,作者在omniglot数据集和emnist数据集上做了类似的类迁移实验,但是发现元学习方式超过了Baseline,作者认为这是因为缺少数据增强导致Baseline模型在训练的class上过拟合。
另外在类内差别(intra-class variation)和深度的关系上,为了具体度量,作者使用了Davies-Bouldin index来衡量类内差别。
最后说一下我的思考,Baseline模型其实就相当于是一个预训练模型了,这和GPT-3中提到的Pretrained Models are Few Shoot Learner倒是可以呼应,而且GPT3也确实可以看作是深度的大幅度增加和训练量的大幅度增加。本文没有讨论训练量的事情,个人觉得在低训练量的情况下,元学习方法或许也是能够有更好效果的,所以可能可以说更加复杂和精巧设计的方法适合简单样本或不充足的(元)训练数据的情况,而在数据量(相对)丰富的情况下,相对简单的方法可能更加可以避免过拟合,保证泛用性。
Triple Memory Networks: a Brain-Inspired Method for Continual Learning
本文基于类脑研究,针对传统的基于generative replay方法进行持续学习的方法做了改进,提出了三记忆网络(Triple Memory Networks,TMN),用于模拟和大脑记忆相关的海马体(Hippocampus),前额叶(Prefrontal Cortex,PFC)和感觉皮层(Sensory Cortex)的交互。
作者认为传统的generative replay方法存在两个问题:
- 生成器也存在遗忘问题。作者使用真实数据和生成的数据进行训练,比较网络的Fisher information matrix(FIM)证明了这一点。
- 传统的生成器+判别器用于生成回放数据的结构中,将分类器和判别器混合在一起,混淆了他们的功能,造成了彼此干扰。作者通过将判别器和额外的生成器彼此FIM的overlap的计算证明这一点。
模型结构:模拟三个大脑功能区
对此,作者提出了生成器G,判别器D和分类器C的三重记忆网络,其中G模拟海马体的回放功能,可扩展并通过任务的mask来实现隔离;判别器D辅助C进行学习,因此也加入额外的辅助分类器用于获取
p
(
y
∣
x
)
p(y|x)
p(y∣x)的信息;在D和C的训练过程中,都使用FIM进行了权重保护(类似EWC的操作)。
文章的主要特点是对于人类记忆系统的分析和模拟,也取得了很好的效果。
ORDisCo: Effective and Efficient Usage of Incremental Unlabeled Data for Semi-supervised Continual Learning, CVPR2021
监督任务的持续学习已经收到了许多关注,但是现实生活中的任务常常并不能获得足够的标签数据,而半监督场景下的持续学习研究还缺乏足够的研究。作者通过实验,发现半监督场景下简单的半监督方法就能够超过持续学习方法。
半监督方法的灾难性遗忘问题
作者测试了四种强大的半监督学习方法,MT,VAT,PL和PI,发现在顺序训练的情况下都存在着严重的灾难性遗忘问题,同时传统的持续学习方法起到的作用相对有限。图为四种方法的平均结果,JT代表一起训练(非持续学习),ST代表顺序训练,SMB和UMB代表对训练过的有标签和无标签数据从Memory Buffer中进行replay。sl和ul代表持续学习方法(EWC,MAS,SI)应用在监督损失还是无监督损失上。
作者分析发现除replay之外的持续学习方法可能会影响对于新类的学习。而replay方法仍然有提升空间,通过可视化数据可以发现,这是因为数据量过少导致对于无标签数据的分布没有很好捕捉到,无监督数据的分布需要更加有效的捕捉。作者将这个问题定义为无标签数据的灾难性遗忘(catastrophic forgetting of unlabeled data)
online半监督GAN
为了能够对无标签的数据进行学习,本文提出了一个包括生成器G,判别器D和分类词C的三网络结构。使用半监督方式训练(包括监督损失和无监督损失,同时对有标签数据有buffer存储进行回放)的分类器,为无标签数据生成伪标签。
这个为标签用于为判别器在常规的conditional GAN损失外增加对于伪数据-标签对判定的损失(下式最后一项)。
持续学习无标签数据的两个方法
对于无标签数据的生成,传统方法对于每一个任务都训练和保存一个生成器,或者是在online训练生成器的过程中不断用以前生成的数据来混入平衡新的数据。作者提出的方式将平衡新数据的工作交给分类器(增加对于生成数据的学习判定),可以大大减少训练生成器的时间和空间成本。
另外,还通过类似Fishr信息的正则项,乘法判别器D中改变分类器分类结果变化,从而稳定判别器的更新。
结果展示
作者在SVHN和CIFAR10上的结果,优于之前的方法。UC表示使用了一种无监督方式平衡UMB中存储的数据和大量其他数据的矛盾。