论文地址:[2104.04450] Unsupervised Class-Incremental Learning Through Confusion (arxiv.org)
目录
1.贡献点
1.1思路
2019年有一个无监督的方法,根据决策边界来训练。解决无监督的类别增量,需要将两个步骤进行好,判断新任务属于哪个类别。一个任务叫做novelty-detection,用于判断新增量任务的数据属于哪个类别,属于旧类别还是新类别,如果判断错了,则相当于给数据引入了噪音,造成不良影响。另一个任务就是针对网络预测的标签进行网络训练。
OOD(out-of-distribution)方法通过leverage distance-based thresholds来实现。OOD用于解决一个问题,就是神经网络经常会对没有训练过的反常样本做出overconfident的预测。(文中提到的OOD方法没有读过,但是这里单从字面理解,可能是,神经网络会对没有训练过的样本过于相信,导致网络输出的confidence过高,遇是OOD就设置了一个阈值,将样本距离大于该阈值的样本剔除掉,避免了confidence过高的问题。)本文提出了iLAP框架,Incremental learning by Accuracy Performance,字面意思理解,就是将网络对类别进行训练,然后根据网络Accuracy的变化来判断增量样本是旧类还是新类。(本文提出的是无监督的方法,既然无监督,那就没有标签,这里的准确率是如何判断的?根据后文,本文采用的是,新类训练后,用已有的旧类的准确率的改变作为衡量标准。)
所以,本文的方法就是对新类衡量标准的一个改进,旧类的衡量标准是样本空间的distance,本文的衡量标准是新类到来后,旧类accuracy的改变。所以有以下优点:
- 阈值不取决于有标签样本,可以更加intuitive和可调节
- 模型表现相对于新到的样本更加独立(因为衡量标准是旧类的准确率变化,如果准确率变化更大,则模型将新到样本分为新类,旧类被影响的较少。)
- 模型更能区分similar classes,即不容易混淆
1.2 贡献点
提出了iLAP框架,Incremental learning by Accuracy Performance. 可以就解决无监督类别增量问题。
即使在类别不均+无监督的情况下,本文方法也可取得与有监督学习相近点准确率。
证实了传统OOD方法的失败。
2.方法
2.1 settings
假定模型learner是L, 将新到的增量数据集分为E1, E2, E3, E4等,每个增量数据集具有对应的图片,Ei={e1i,e2i,e3i…,enii}。模型设定每个样本的标签是yi。这里的增量数据是无标签的,这个标签只是网络的预测的标签。
网络会针对所有已有标签永久保持两个数据集,分别是训练集和验证集:
从1到K分别是类别,相当于模型针对每个类别保存一个训练集和验证集。模型就根据已有的数据集进行accuracy的分析。
2.2 detection-training
假定模型权重是L,L是L的一份拷贝,新到的数据被分配为标签K+1, 并被划分为训练集和验证集:Etrain和Eval, 与之前存储的旧类别:Ptrain和Pval共同训练拷贝出来的权重L, 然后通过Pval上的前K类的准确率的下降获得向量,此向量用于衡量已有类别的准确率的下降。
如果Pval数据集上性能下降大于某个阈值Θ,则代表此类别曾经可能被网络训练过,新到数据集被归为类别
如果Pval数据集上的性能下降均未到达阈值,代表新增数据可能确实属于新类别,K+1就是合适的标签。
这里逻辑可以理顺一下,就是新到数据被划为新标签,试探性的训练一下模型,如果旧类性能变化不大,表明这个标签划分正确;如果旧类变化很大,那么这个标签可能与旧类冲突,找到旧类变化最大的就是冲突最剧烈的,新标签不正确,划分为旧类别变化最大的标签。
这里作者有一个假设并不合理,即新到的任务中如果有新增类别的话,新增类别是一类,但是实际的问题之中,新到的增量任务之中,新增类别可能是多类。
我们可以跳出论文之外,分析一下此阈值对实验的影响:
如果此阈值过大,模型总是认为新增量数据对旧数据影响不够大(没有达到阈值),所以更多的增量任务被归为新类。
如果此阈值过小,模型认为新增数据对旧数据影响过大,增量数据就更容易被归为旧类。
2.3 算法流程
增量任务到来之前,模型输入有四个,新增量任务划分的Etrain和Eval, 与之前存储的旧类别:Ptrain和Pval,将标签K+1给新到数据,试探性的训练,然后根据试探性训练的结果给新增量数据分配标签并更新memory.
2.3 基于类别均衡的detection-training
这个环节主要解决Memory之中的图片比例的问题。
这段没太看懂。
大概是旧类和新类之间比例找一个阈值。
3.实验
ICLR论文的实验是非常详尽充分的,分析也很充足。博主没精力一个一个实验解析了,有感兴趣的可以直接读一下原论文。
4.结论
作者的设定很奇怪,即同一个增量任务到来的一整批数据之中都是同一个类别,这种假设事实上很难达到,应用场景非常有限,所以被ICLR拒。