研究问题

针对深度长尾学习领域的研究综述

背景动机

在真实世界中存在着一些长尾分布的情况,即一小部分类别包含了大量的样本,使得模型更加偏向头部类别,对于尾部类别的分类效果较差

长尾学习与其他任务之间的区别与联系:

  • 类别不均衡学习:长尾学习可以视为类别不均衡学习的一个子任务,其不均衡程度会更加极端,且尾部类别对应的样本一般会非常少
  • 少样本学习:少样本学习可以视为长尾学习的一个子任务,其尾部类别对应的样本会极其少
  • 域外泛化:长尾学习可以视为域外泛化的一个子任务

符号定义

假设数据集表示为数学公式:{xi,yi}i=1n\left\{x_{i}, y_{i}\right\}_{i=1}^{n}{xi,yi}i=1n,总共有数学公式:KKK个标签,则有数学公式:n=∑k=1Knkn=\sum_{k=1}^{K} n_{k}n=k=1Knk,第数学公式:kkk个标签的出现频率为数学公式:πk=nk/n\pi_{k}=n_{k} / nπk=nk/n,如果类别按数量降序排列,则数学公式:n1/nKn_{1} / n_{K}n1/nK定义为非均衡率

方法总结

总体分类

在这里插入图片描述

Class Re-balancing

Re-sampling
  • random over-sampling (ROS):尾部类别样本随机重复
  • random under-sampling (RUS):头部类别样本随机丢弃
  • class-balanced sampling:每个类都具有相同的被采样概率
  • square-root sampling:每个类的抽样概率和该类样本数的平方根相关
  • dynamic curriculum learning (DCL):动态采样,先随机采样,再重点针对尾部类别实体采样
  • balanced meta-softmax:在一个balanced meta validation set上面学习出不同类别的最佳样本分布
  • VideoLT:直接在训练过程中根据模型在不同类上的表现针对性地采样
  • bilateral-branch network (BBN):设置两个分支网络,一个网络均匀采样,另外一个网络针对负类有偏采样,最终结果为这两个网络的加权和
  • balanced group softmax (BAGS):将类按照样本数量划分为几个组,以组为单位进行训练
Cost-sensitive Learning
  • weighted Softmax loss:直接根据标签频率来计算权重数学公式:Lwce=−1πylog⁡(py)\mathcal{L}_{w c e}=-\frac{1}{\pi_{y}} \log \left(p_{y}\right)Lwce=πy1log(py),后续改进包括根据样本和模型结果的分布对权重进一步调整,以及直接根据频率调整模型的输出结果即数学公式:Lbs=−log⁡(πyexp⁡(zy)∑jπjexp⁡(zj))\mathcal{L}_{b s}=-\log \left(\frac{\pi_{y} \exp \left(z_{y}\right)}{\sum_{j} \pi_{j} \exp \left(z_{j}\right)}\right)Lbs=log(jπjexp(zj)πyexp(zy))
  • class-balanced loss (CB):将每一个样例和一个小的邻域而不是单独的样本点关联,来衡量数据是否存在重叠,并定义了一个新概念称之为有效数量,损失函数定义为数学公式:Lcb=−1−γ1−γnylog⁡(py)\mathcal{L}_{c b}=-\frac{1-\gamma}{1-\gamma^{n_y}} \log \left(p_{y}\right)Lcb=1γny1γlog(py),其中γ是一个接近1的小数,论文里使用的是0.9999
  • focal loss:考虑到尾部类别通常预测难度会更大,因此直接通过衡量模型预测的难易来重平衡权重,定义为数学公式:Lfl=−(1−py)γlog⁡(py)\mathcal{L}_{f l}=-\left(1-p_{y}\right)^{\gamma} \log \left(p_{y}\right)Lfl=(1py)γlog(py)
  • distribution balanced loss:考虑到尾部类别会受到更多的负梯度抑制,通过添加正则项减少这种抑制
  • equalization loss:通过门限加权函数对稀疏非目标类的梯度随机抛弃,以较少负梯度抑制,定义如下数学公式:Leq=−log⁡(exp⁡(zy)∑jωjexp⁡(zj))\mathcal{L}_{e q}=-\log \left(\frac{\exp \left(z_{y}\right)}{\sum_{j} \omega_{j} \exp \left(z_{j}\right)}\right)Leq=log(jωjexp(zj)exp(zy))
  • seesaw loss:使用缓解因子数学公式:MijM_{i j}Mij减小尾部类别的负梯度抑制,使用补偿因子数学公式:CijC_{i j}Cij惩罚由此引发的误分类问题。其额外权重为数学公式:Sij=Mij⋅CijS_{i j}=M_{i j} \cdot C_{i j}Sij=MijCij,其中数学公式:MijM_{i j}Mij实时统计每一类的累积样本数学公式:NiN_{i}Ni,并计算为数学公式:Mij={1,Ni≤Nj(NjNi)p,Ni>NjM_{i j}= \begin{cases}1, & N_{i} \leq N_{j} \\ \left(\frac{N_{j}}{N_{i}}\right)^{p}, & N_{i}>N_{j}\end{cases}Mij={1,(NiNj)p,NiNjNi>Nj,其效果是当第i类样本大于第j类时,减少第i类施加给第j类的负样本梯度;数学公式:Cij={1,ifσj≤σi(σjσi)q,ifσj>σiC_{i j}= \begin{cases}1, & i f \sigma_{j} \leq \sigma_{i} \\ \left(\frac{\sigma_{j}}{\sigma_{i}}\right)^{q}, & i f \sigma_{j}>\sigma_{i}\end{cases}Cij={1,(σiσj)q,ifσjσiifσj>σi其效果是若第i类样本误分给第j类,根据两个之间置信度的比值增加对第j类的惩罚
  • adaptive class suppression loss (ACSL):如果负类输出的梯度足够小,就对其施加负梯度抑制
  • label-distribution-aware margin (LDAM):通过增加不同类之间的margin来增强模型的识别能力数学公式:Lldam=−log⁡(exp⁡(zy−Δy)∑jexp⁡(zj−Δj))\mathcal{L}_{l d a m}=-\log \left(\frac{\exp \left(z_{y}-\Delta_{y}\right)}{\sum_{j} \exp \left(z_{j}-\Delta_{j}\right)}\right)Lldam=log(jexp(zjΔj)exp(zyΔy))

Information Augmentation

Transfer Learning

Head-to-tail knowledge transfer是用从头类样本中学到的信息去指导尾类样本的训练,比如在特征的几何分布、分类器参数、对抗生成尾类样本等几方面;Model pre-training是先在原始数据集上训练好,再重新构建一个更加均衡的数据集去fine-tuning模型;Knowledge distillation也是用不同分布的数据集去分别训练教师网络和学生网络;Self-training使用来自无标签样本的信息来增加长尾类别的识别效果。

Data Augmentation

使用mix-up技术来增强长尾类的表现,或者是额外生成分类特征。

Module Improvement

Representation Learning

通过度量学习或损失函数的约束对尾类样本表示的几何属性进行改进,增加其分类边界或增大类间距离以及缩小类内距离

Classifier Design

原有的线性分类器数学公式:p=ϕ(w⊤f+b)p=\phi\left(w^{\top} f+b\right)p=ϕ(wf+b)会因为学习到的头类样本权重范数比尾类样本范数更大而发生偏移,可以使用scale invariant cosine classifier即数学公式:p=ϕ((w⊤f∥w∥∥f∥)/τ+b)p=\phi\left(\left(\frac{w^{\top} f}{\|w\|\|f\|}\right) / \tau+b\right)p=ϕ((wfwf)/τ+b)。Realistic taxonomic classifier (RTC)采取多层次分类,先确定是头部还是尾部类,在具体分哪个类。Causal classifier是对模型优化器里采用的动量使用因果推断的方法去掉头部样本的偏移,看了看论文有点硬核。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐