- 论文:Representational Continuity for Unsupervised Continual Learning
- 会议:ICLR 2022 (Oral)
- 作者:纽约大学、韩国科学院、清华大学智能产业研究院等
1 场景:无监督持续学习
设持续学习包含
我用一张表来比较有监督和无监督的区别(以分类为例):
有监督持续学习(Supervised CL) | 无监督持续学习(Unsupervised CL) | |
---|---|---|
新来的数据 | ||
模型与参数 | 和 分类器 |
只有表示 |
$^{} $ | |
|
$^{} $ | 由现有的各种持续学习框架定义 | |
对于不同的任务有不同的分类器(注意:
无论有监督还是无监督,都是为了学到一个好的表示
设计
2 无监督模型
目前大火的无监督表示学习模型就是对比学习(Contrastive Learning)了,作者选用了其中一些比较适合的持续学习场景的模型,它们都是基于孪生网络的思想。
孪生网络(Siamese Network)是要求两个输入的网络,通过网络后分别得到这两个输入的表示。它可以看成一个网络,也可以看成两个共享权重的网络(所以叫孪生网络)。得到的两个表示一般要算一下相似度(最简单的是余弦相似度,即两个向量的夹角),这个相似度用来构造损失,具体什么样的损失由网络要完成的任务来定。任务只有一个要求——两个输入,比如判断两个图片是否是同一类,等等。
孪生网络如何用在无监督学习中呢?自然,对于一个输入
其中
2.1 SimSiam
对于无监督的表示学习,Facebook 何恺明、陈鑫磊等人提出了一个简单的孪生网络SimSiam,但是比上面最简单的还是多了一些东西的:它在表示网络后接了一个预测头
这个模型最重要的事情是要求把 detach
一下),记作
2.2 Barlow Twins
为了得到一个好的表示,除了使同一个输入
这个损失每次考虑多个输入
3 如何持续起来?
大部分持续学习模型都是针对有监督场景的,难以直接应用到无监督,但有一些确实是可以推广的。作者从三类持续学习模型各取了一个代表:
3.1 重演法:DER
重演法一般要在记忆
推广到无监督,只需将 logit 换成网络输出的表示:
其实最经典的iCaRL也可以推广到无监督(它的REVIEW损失是蒸馏损失),但是有点古老了效果已达不到 SOTA,所以作者没有用它。
3.2 加正则项法:SI
SI(Synaptic Intelligence)是对著名持续学习算法 EWC 的改进,在EWC中,由上一个任务
可见加的 REVIEW 正则项只与之前任务学到的模型参数有关,不涉及数据的标签信息,SI 也是如此。因此有监督损失可以轻易推广到
3.3 网络结构法:PNN
这个方法是对网络结构本身动手脚,在不同的任务阶段,网络结构是不同的,持续并不是通过添加正则项
对无监督学习,只需将网络改成上节的孪生网络,此图用 MLP 结构,则孪生网络也用 MLP 即可。训练时的损失
4 Mixup 技巧
作者也借鉴了 Facebook 实验室提出的mixup 技巧。这是一个比较直观的训练上的 trick,即任取两个训练数据作线性组合,得到的这种混合数据(基本上在原始训练数据的周边)也拿去训练。机器学习理论中,用最小化由训练数据集构造的损失这种机制被称为经验风险最小化(ERM,Empirical Risk Minimization),现在这种最小化原始训练集的周边风险最小化(VRM,Vicinal Risk Minimization)。
这样做的优点显然是能提高模型的鲁棒性,所以作者拿过来用在了他的无监督损失上,这也是本文的主要创新点吧,取名为LUMP(Lifelong Unsupervised Mixup)。具体的用法是在对新数据微调的损失
这样,无监督损失
5 实验与结论
总结一下上面提到的无监督持续学习方法,按照
应注意这里有监督和无监督实验的关系是:数据集是相同的,无监督就是直接去掉了有监督数据集的标签。作者的实验居然发现少了标签信息的无监督学习,效果都比有监督好!可以看到,在这个实验结果中无监督基本是碾压有监督的,根据我的猜测,可能是因为无监督学习使用了两个 augmentation 起了主要作用,很大程度上丰富了训练数据。本文提出的 LUMP 效果也要高于其他方法,可能也是 mixup 技巧引入了更多训练数据导致的。大家觉得这个实验公平吗?