一篇教科书式的长尾分布涨点策略!!!
https://github.com/zhangyongshun/BagofTricks-LT/blob/main/documents/trick_gallery.md
https://github.com/zhangyongshun/BagofTricks-LT
下面通读,只对重点进行细致描述
1.摘要?
1.作者认为当前长尾分布走向复杂,例如 元学习,meta learning.
①但是其实很多以前提到的简单策略例如加权,重采样等trick ,其实有很大的搭配空间。
但是没有文章对其融合性能效果进行分析,本篇对此进行整理分析,给后来的研究者提供一个指南。
②作者同样提出了新式的重采样方式,注意力图(CAM --- class activation maps)增强方式!!!也是很能提点的。
③作者贡献了一个github 代码库,感动哭!
2.引言
现实中存在大量长尾分布数据,很少每个类别数据都相当多。而传统CNN 面临此种现状,容易在尾部类别上泛化能力较差。
作者列举了三个重头戏的任务:①目标检测②实例分割③视觉识别(图像分类)
最近长尾分布的视觉识别还是很受欢迎,但是研究者都炫了很多复杂度高,超参数敏感的模型,例如度量学习、元学习和知识迁移。作者不喜欢这样子。作者觉得现存的一些传统算法就挺好的,可能稍微简单的融合就能超越那些设计复杂的算法。
但是融合也是需要技巧的,虽然传统提了那么多简单的算法,但是算法之间有时可能表现相冲的现象,所以还要多加磨练,找到平衡点。
这个冲突:重采样与加权是常见的长尾分布策略,当两个一起使用时,效果可能不增,也可能下降!
具体使用的数据集的情况:?
作者将简单技巧分为4类
①加权reweighting ②重采样 ③混合训练(结合重采样效果好)④两阶段训练(作者说自己提出的重采样方法是两阶段的,后面继续验证。他的思想就是背景保持不变,对前景重要物体进行图像增强,而如何区分前景与背景,就靠Class activation map 的激活能力了。) 作者开始一一列举
一 、加权方式
?加权方式就是对少数类的样本的权重进行加大。比如按照样本数量的倒数。样本数量越大,权重也就越小。
①Cost-sensitive softmax cross-entropy loss (CS CE)
②Focal loss
?我感觉这个公式是采用BCEloss 的方式,当类别是少数类时,p 的概率较小,1-p 就增强了少数类的损失权重,log 小数同样增强了损失的大小,r 是一种超参数
③Class-balanced loss (Cui et al. 2019)?经典!
此方法认为直接用样本的数量多少来评定尾部类是不严谨的,而应该寻找这些样本所代表的有效的数量,比如如果大部分图片都很相似,他们就提供很少的多样性,与尾部类相比就多了几下图像增强。本文的理论性很强,有很多数学推导,这还是交给数学人吧。但是从表达形式上还是很简洁。在上述两种损失函数的基础上,添加了一个系数。nc 则决定了类别的数量大小。它通过利用有关nc的式子 来近似去表达一种有效数量的含义。nc 越大,分母越大,因为belta 是小数点。
下面是上述三种损失的性能比较图。?
?
二、重采样方式
1.Random over-sampling methods: 随机过采样,对尾部类加大其采样频率。但是容易过拟合。
2.Random under-sampling methods:对头部类进行欠采样。偶尔好于过采样策略。
3.Class-balanced sampling 针对每个类有同样的采样概率,即共C 个类,那么C个类的采样概率就是1/C。具体就是类别同等概率被选中,类内样本再同等概率被选中,也就是两阶段都是均等概率。这里的同等概率,即下式中的q 为0 的情况
?4.平方根采样法:上式q 为1/2.比q 为1的情况轻。
5.渐进式平衡采样:算法一开始是不平衡采样,接近训练结束时渐变成均衡采样
t 指的是当前epoch 数值,T 是总epoch 数值。
6.其他算法: 作者只是提了提,因为他觉得他们都很复杂,而只讨论一些上面这种通俗易懂的简洁技巧。复杂算法例如:制作人工样本,基于梯度的样本,基于特征的样本,但是他们都有可能引入噪声。
下面是上述的实验性能结果比较
三、混合mixup 训练
mix up 是一种图像增强方法,可以与重采样算法进行搭配。
主要讨论两种:输入mixup 和流形mixup
1.Input Mixup: 指的是每一个新样本由两个随机的样本通过加权 插值方式来形成:
?也是一种增强cnn 网络对于微小扰动的鲁棒能力训练
lamda 从belta 分布中采样,训练的时候就只使用插值后的新样本。
2.Manifold mixup:
对中间层的输出特征进行插值变换,但是这里的实验只选择一个层k的后面进行此种变换。
?Mixup 后的微调
有研究发现,在运用上述策略后,再去掉mix up 进行微调,能得到更好的结果。
实验结果如下:从图5可以看出,Input mixup 和Manifold mixup 在不使用微调策略时,效果都差不多,在使用微调策略后,从图6可以看出Input MIXUP 更胜一筹。在CIFAI-10-LT 中Imbalance factor 为50以及CIFAR-100-LT 的imbalance factor 中mixup 要明显优于前面的重采样和加权策略。
四、两阶段训练
具体,首先第一阶段在不平衡的样本上训练,可以训练一个好的特征提取器,然后再在一个平衡的样本上进行微调,期望将特征提取器的头部能力迁移到尾部类上。而最后的均衡样本上的微调又分为两种,滞后重采样与滞后加权。可以看出来,所有之前的策略在才采用两阶段时,基本都有性能提升。
deferred re-balancing by re-sampling(DRS)? and by re-weighting (DRW)
?
五、提出的新的图像增强方法-采样策略?
其主要的思路是:
?
|