长尾优化汇总


背景

经典的深度学习数据集

enter description here
Mnist: 数据规模较小,10个类别
enter description here
ImageNet: 百万数据量,1000个类别
两者的共同点:类别是均匀分布的

真实场景中的深度学习任务

enter description here

  • 类别不平衡是常态

    长尾问题

    enter description here
    长尾问题常见的表现及原因 :
  • 头部类的效果好,尾部类的效果差
  • 模型是数据驱动的,头部类的数据多,尾部类的数据少
  • 尾部类数量少的同时可能造成类别中样本差异较大,网络学习不充分

    Resampling

    BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition

论文链接:https://arxiv.org/pdf/1912.02413.pdf

two stage finetuning:

  • 第一阶段在原始不平衡的数据集上训练
  • 第二阶段以一个很小的学习率使用resampling/reweighting的方法fintune

根据two stage fintuning方法比只使用resampling/reweighting好的原因做了假设

  • reblance的方法有效的原因在于提升了分类器的性能
  • 会损害网络学习到的特征
    为了验证上述假设,将网络拆解成了分类器和特征提取器两部分,分别实验:
  • 在第一阶段使用交叉熵和resampling/reweighting训练整个网络
  • 将第一阶段特征提取器的参数固定,使用交叉熵和resampling/reweighting训练分类器

为了验证上述假设,将网络拆解成了分类器和特征提取器两部分,分别实验:

  • 在第一阶段使用交叉熵和resampling/reweighting训练整个网络
  • 将第一阶段特征提取器的参数固定,使用交叉熵和resampling/reweighting训练分类器

设计了一个双分支的网络

主要思想是设计了一个two stage finetuning的训练方式

  • 第一阶段在原始不平衡的数据集上训练
  • 第二阶段以一个很小的学习率使用resampling/reweighting的方法fintune

根据two stage fintuning方法比只使用resampling/reweighting好的原因做了假设

  • reblance的方法有效的原因在于提升了分类器的性能
  • 会损害网络学习到的特征

为了验证上述假设,将网络拆解成了分类器和特征提取器两部分,分别实验:

  • 在第一阶段使用交叉熵和resampling/reweighting训练整个网络
  • 将第一阶段特征提取器的参数固定,使用交叉熵和resampling/reweighting训练分类器

enter description here
enter description here
enter description here

总结下BBN思想中的关键点:

  • 第一个采样器是一个公平的采样器
  • 第二个采样器是一个resample的采样器
  • 两个分支共享权重,减少参数量的同时,让第二个分支受益于第一个分支中更好的特征
  • 使用一个adaptor的策略,调节两个分支在网络训练中的权重

下面是添加BBN的结果和其他方法的对比:
enter description here
enter description here

Cost-sensitive learning

Class-Balanced Loss Based on Effective Number of Samples

论文链接: https://arxiv.org/pdf/1901.05555.pdf
之前方法存在的问题:在reweighting等方法中,一般将样本数量的倒数作为该类别的权重,但是样本之间能提供的信息可能存在重合,简单通过样本数量判断权重会存在问题

  • 提出了一种计算有效样本的方法
  • 用有效样本数代替原始的样本频率,再用其倒数对损失进行加权

enter description here

有效样本的定义:

  • 样本的有效数据量是样本的期望体积,一个新的采样数据只能存在两种情况
  • 新样本存在于之前样本中的概率为p
  • 新样本不存在于之前样本中的概率为1-p

提出有效样本的计算公式:

当n=1时,
假设当n=k-1时成立,即
设样本的体积为K,已经采样的样本体积为。则,经过k次采样后,第k次采样时有以下情况:

  • 第k次采样和之前样本存在重叠的情况,则样本体积为
  • 第k次采样是新的有效样本,与之前不存在重叠的情况,则样本体积为

期望体积为:

其中

则有效数据量是数据总量n的指数函数,超参数
有效数据量具有如下性质:

  • 当n很大时,有效数据量等于n
  • 当n为1时,有效数据量为1

CB-Loss:

贴一下实验结果:
enter description here

Transfer Learning

Feature Space Augmentation for Long-Tailed Data

论文链接:https://arxiv.org/abs/2008.03673

常见的解决方法,如data manipulation和Balanced loss function design在提升长尾数据集模型性能的同时会损害特征表示能力
enter description here

两个假设:

  • 头部类中类别无关的特征可以让尾部类特征更加丰富
  • 高级特征空间具有更“线性”的表示,可以提取类通用和类特定的特征,并重新混合生成新的样本

方法:
CAM(Class Activation Map)

c: class; x,y: pixel position; k: channel; w: weight; f: feature,将M归一化到[0,1],设定两个阈值。。则类特定特征和类通用特征分别为:

enter description here
enter description here

  • 正常训练得到特征提取网络和分类器,使用注意力机制CAM图做特征分解,将特征分为类别无关的特征和类别特定的特征。
  • 两阶段训练,第一阶段正常训练,负责提取特征和cam,第二阶段是做尾部类的增广训练,分为两步
    • 网络输入一张头部类图片和一张尾部类图片,通过分类置信度排序,选择和当前尾部类距离最近的头部类特征,融合头部类中类通用特征和尾部类中类特征特征

enter description here

  • 使用增强的特征图微调FC分类器层

enter description here

欢迎关注我的公众号!

enter description here

-------------本文结束感谢您的阅读-------------