CVPR 2022 | ELP:简单间断线性探针即可提升各种分类性能
自序
分类是 CV 经典任务。在之前的工作中(MHEM TNNLS2022),针对 FGVC,我们曾经尝试跳出修改结构(FGVC 中主要是各种 part based model)和引入数据等固有思路,尝试通过更加更加简单有效的方式提升性能。我们惊讶地发现,简单的适当的困难样本挖掘足以明显的提升性能,只用简单的 backbone 和适当的困难样本挖掘,这样一个简单的 pipeline 却能击败许多复杂的方法。
然而,在进一步的改进过程中,我们开始质疑样本选择的标准和方式。究竟什么样的样本是困难样本?什么样的样本是学的不好的样本?confidence 偏低的吗?那多少算偏低?典型的 FGVC 数据集中,很多样本真人看起来都困难但网络的 confidence 依旧很高,我们应该如何让网络进一步泛化各样的样本?在 overfit train set 的前提下,如何找到那些网络记住了但没学明白的内容?如何拨开 overfit 的迷雾,去找到隐藏在 high confidence 之下,特征表示的并不好的样本?
由此,我们开启了在 CVPR 2022 的工作 ELP 的探索。
论文标题:
A Simple Episodic Linear Probe Improves Visual Recognition in the Wild
https://openaccess.thecvf.com/content/CVPR2022/html/Liang_A_Simple_Episodic_Linear_Probe_Improves_Visual_Recognition_in_the_CVPR_2022_paper.html
https://github.com/akira-l/ELP
难以泛化的样本在哪里?
不考虑 assemble,加数据,加模型等引入很大 cost 的方案,在现有框架内,train set 里样本对应的 confidence 都会很高。我们很难去直接找出网络做的不好的样本,或者真正意义上的困难且有进一步学习价值的样本。然而,我们可以逆转思维,什么样是不好的我们不清楚,那什么样的算好的表示呢?这是 MHEM 里一张特征可视化的结果。
PCA 之后,可以看到 MHEM 的特征更加紧凑,对于 classifier 而言是更容易区分的。一个直观的结论,特征表示出来越集中越好。那不妨我们做一个疯狂的猜想,最为理想,最好的特征表达可视化出来是什么样子的?
也许是非常的集中,甚至集中到只有一个点。两分类情况下,高维可视化出来最好是 0、1 两个点。这种情况下,任意一个差不多的 classifier,都能分辨。一个粗糙且极端的例子,二分类两组样本,分别是全 0 和全 1,那么无所谓 classifier 好坏,任意一组随机数作为 classifier 都能区分二者。也就是说,我们其实希望特征表示极端容易区分,一个弱分类器甚至是随机分类器都能分开。
Linear probing
我们把表示学习的目标推到极致,让一个样本的特征表达可分到,一个极其弱的分类器都能区分它。如何做到这一点呢?首先,我们找一个弱分类器。比较容易想到且合适的就是 linear probe。这在很多 SSL 方法里也有用到,一个简单的线性分类器,只训练 detached 掉的特征,通过这个简单分类器的结果来衡量特征表示的质量。
作为一个弱分类器,linear probe 没有额外的区分能力,只能忠实的反应特征本来的质量。特征表示的好与不好可以直观的反映在 linear probing 的准确率上。
那简单来想,我们就可以希望网络学习出来的特征,能够在 linear probe 上也有好结果。特征表示好到弱如 linear probe 都能分。而问题接踵而至,linear probe 都是训练之后用的,类似 KNN 或者一种 evaluation metric,需要所有的 training feature 固定下来给它学。实现中,我们不可能每一步都做一次 evaluation 然后学一个 linear probe。那么,我们需要一个 online linear probe 去在训练当中使用,并且在训练过程中提供 regularization。
ELP: episodic linear probing
首先,对于 online linear probe,我们提出一个简单有效的设计 ELP。类似 linear probe,ELP 也学习分类 detached 掉的特征表达。不同之处有二:
1. ELP 学的是 ongoing feature,网络本身在不停的更新,ELP 学习的特征也是在不断更新的,而不是对一个彻底训练完的网络特征进行学习。
2. ELP 每隔一段时间便会重新初始化。如果 ELP 跟着网络从头学到尾,那便退化为一个正常的 classifier。这样的 classifier 会 overfit,会输出 high confidence,会记住训练样本然后不能反映出哪些样本表示质量不佳。简单的间断的初始化可以解决这一问题,ELP 不能达到过度学习以至于 overfit 的程度。作为一个始终偏弱的分类器,ELP 能承担上述 idea,即要求特征可分到一个弱分类器也能识别。
ELP-SR: ELP-suitable regularization
仅有 ELP 还无法影响网络训练,我们需要让网络能够学习如何得到足够可分的特征,来满足 ELP。这里我们提出 ELP-SR。
这里的 p 和 q 分别是 main classifier 和 ELP classifier 的输出。简单来说,我们希望 feature 足够可分,可分到对于 main classifier 和 ELP classifier 来说都没区别。
这里我们约束二者输出结果接近。一个强分类器和弱分类器的输出差别很小,这里意味着,如果特征表示足够好,两个分类器输出得分都很高,二者差距很小,这是我们理想且需要达到的状态;如果样本特别难,难道 main classifier 有可能 overfit 也没有得到很高的 confidence,ELP classifier 尽管达不到很高的 confidence,但能够接近 main classifier 也可以接受。
另一方面,我们同时还在分母中约束 main classifier 和 ELP classifier 的得分不能过低。比如某个样本特别的困难,两个分类器得分都很低,这种情况下也需要网络进一步学习。如果仅仅满足分子里的约束,让两个分类器输出接近,那这些极难样本就被 ELP-SR 略过了。因此还需要增加 R 的约束,避免二者同时 confidence 较低。
由此,我们得到 ELP 和 ELP-SR,online linear probing 和对应的 regularization。在训练过程中的 loss 如下:
主要有三,main classifier 的 loss:正常分类 loss,保持网络正常分类训练;elp loss: 用于训练 ELP 参数,使其保证一定的区分能力;ELP-SR:利用 ELP 来regularize 网络训练。
在测试过程中,我们只需要使用原本的 backbone 和 main classifier 即可,不需要任何额外的 cost。
另外,还有两点值得注意:
1. ELP-SR 是类似 re-weight 的形式。这一点使得原本的 cross entropy 优化方向没有改变,整体学习的目标始终如一。只是针对不够有区分度的样本加重训练。这一 loss 形式使得训练比较容易,没有其他的优化目标。
2. Backbone 和 main classifier 自始至终没有接触过 ELP classifier,二者虽然同时在训练,但 ELP 的训练输入是 detached 掉的,ELP-SR 的约束不更新 ELP 参数,ELP 是 fix 住的。因此也不存在网络通过学习 ELP 的参数来 overfit ELP-SR 的可能性。实验中也有通过类似 distillation 的方法拉近 main classifier 和 ELP classifier,这样就使得网络有机会去直接学习 ELP classifier,而不是争取一个更可分的特征表达。
我们尝试了各种分类任务,包括 ImageNet, long-tail (cifar, ImageNet-lt) 和 FGVC (CUB, AIR, CAR)。我们的方法在各种分类任务上都获得提升:
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者