查看原文
其他

《ELF》即插即用!解决长尾问题!GT&UIUC联合提出基于Early-Exiting的网络框架,涨点并加速!

小马 我爱计算机视觉 2022-11-30



关注公众号,发现CV技术之美





 写在前面

自然世界中的数据通常遵循长尾分布,大多数样本中只占据少数几个类。这种长尾分布导致分类器倾向于过拟合多数类(majority class)。为了解决这一问题,以前的解决方案通常采用类别平衡的策略,如数据重采样损失函数重加权
然而,通过平等“对待”一个类中的每个样本,这些方法无法解释“样本难度”的重要概念,即在同个类中,一些样本可能比其他样本更容易分类。为了将这种难度的概念融入到学习过程中,作者提出了早期退出框架(EarLy-exiting Framework,ELF)
在训练中,ELF能够根据辅助分支的结果,判断是否要提前退出网络。这带来了两个好处:
1)神经网络越来越关注难例样本 ,因为它们对整个网络损失的贡献更大;
2)释放了额外的模型容量来区分难例样本
在两个大型数据集ImageNet LT和iNaturalist'18上的实验结果表明,ELF可以将SOTA模型的精度提高3%以上,此外,可以减少20%的推理时间。ELF是对先前工作的补充,可以与各种现有方法集成,以应对长尾分布的挑战。

 1. 论文和代码地址

ELF: An Early-Exiting Framework for Long-Tailed Classification
论文地址:https://arxiv.org/abs/2006.11979
代码地址:未开源

 2. Motivation

真实数据通常遵循长尾分布,其中大多数样本仅来自少数几个类。在遵循这种分布的数据集上,神经网络通常倾向于多数类,导致稀有类的泛化性能较差。这种不平衡问题传统上是通过重新采样数据 (欠采样、过采样)或修改损失函数 (损失重新加权、正则化)来解决的。
然而,这些现有的方法侧重于类别中样本数量,以解决数据不平衡的挑战,而没有考虑类中每个样本的“难度”。因此,少数类中可能有一些简单的样本被错误地增加了权重,而多数类中可能有一些困难的样本被错误地减少了权重。
因此,作者提出了早期退出框架(EarLy-exiting Framework,ELF) (如上图所示),以在训练过程中考虑样本难度的概念。ELF的思想是在网络中尽早退出“简单”样本,最后再退出“较难”样本
为了实现这一点,ELF将辅助分类器分支连接到主干网络,作者称之为早期出口(early-exits) 。在每次提前退出时,神经网络都需要以高置信度正确预测输入。如果预测不正确或者置信度不够高,则样本会继续到下一个出口。相比于以前的方法,本文提出的ELF主要有以下几个优点:
1.通过增加较难样本的平均损失,能够将模型训练重点转向较难的样本
2.通过在网络早期退出较容易的样本,从而释放模型容量,将重点放在较难的样本上
3.通过减少每个图像所需的平均FLOPs,在推理过程中节省计算量
4.能够基于不同的计算限制,来灵活选择不同计算预算的模型

 3. 方法

3.1 Input-Hardness Intuition

作者认为,在所有类别中,存在一些样本相对来说更容易识别。因此,并非每一个少数类别的样本都需要同等地提高权重;同样,并不是多数类别中的每一个样本都需要同样地被降低权重。上图展示了CIFAR-10 LT数据集中,预测置信度和样本数量的结果。可以看出少数类和多数类中都存在简单样本和困难样本。
在符号表示方面,输入数据集为,输入样本表示为,对应的标签为。类别的样本数量表示为,所有的样本数量表示为。然后对类别的数量进行排序,可以得到。在长尾设置中,
本文的目标是学习一个神经网络,将输入映射到类预测得分,其中。第个出口的神经网络参数为,因此,第k个出口的输出可以表示为,其中为c个类别的置信度。

3.2 Early-Exiting During Training

如上图所示,本文方法的核心思想是不同样本退出网络的时间是不同的 。ELF使用辅助分类器分支扩充主干神经网络。在训练期间,每次输入按顺序通过所有辅助出口,直到满足出口标准即,样本仅在预测正确且置信度较高时才退出 在第k个出口的标准表示如下:
其中,为第k个出口的置信度。为简单起见,作者为所有出口设置了相同的置信度。通过这种方式,模型可以在早期就退出简单样本,释放模型容量,促进困难样本的训练。较难的样本不满足退出标准,会继续留在网络中,并在每个出口会累积额外的损失。因此,总的损失函数为:
其中,为出口总数,为满足条件的第一个出口。也就是说,ELF在样本退出之前,会聚合所有的损失函数。作者认为,通过让简单样本在训练早期退出,可以将模型的注意力转移到更难的样本上。
从上面的公式可以看出,本文的方法与具体的损失函数无关,因此损失函数可以是任何形式。在每个出口处使用类加权交叉熵时,ELF的损失函数可以表示如下:
其中,代表某个类别的具体权重,在实验中,作者将该权重设置为:
其中为类别c样本的数量,为超参数。在每个出口处使用LDAM时,损失函数可以表示为:
其中,是每一个类的margin。

3.3 Early-Exiting During Inference

使用ELF损失函数进行训练可以使神经网络学习输入难度的概念。在推理过程中,可以利用这一点,根据难度进行提前退出。测试时,第k个出口的退出标准可以放松为:
其中,是在第k个出口处获得的输入的预测向量,是推理时的阈值,为简单起见,所有出口的预测向量设置相同的阈值。因此,输入的预测向量就可以表示为:

其中,为满足条件的第一个出口。可以看到同时由输入和阈值决定。此外,降低可以使得更多的样本提前退出,同时也会导致更少的FLOPs。因此,设置不同的可以得到一组具有不同计算预算的模型。

 4.实验

4.1 Datasets

作者在四个长尾分布数据集上进行了实验,上图展示了不同数据集的数据分布。

4.2 Evalution on Long-Tailed Classification

Generating a family of models along the Accuracy-FLOP curve

上图展示了在ImageNet LT数据集上,本文方法和其他方法的FLOPs-Acc对比,可以看出,本文方法能够在FLOPs更小的情况下,实现更高的性能。

Evaluating classification accuracy

从上表可以看出,本文的方法能够在ImageNet LT和 iNaturalist' 18数据集上实现SOTA性能。
从上表可以看出,本文能够在CIFAR-10 LT和CIFAR-100 LT数据集上,实现比较高的性能提升,并且只需更少的计算量。

Visualizing the learned notion of input-hardness

上图展示了第一个、第三个和最后一个出口的图片可视化,可以看出,越到后面的出口,图片会越复杂,越难进行分类。

 5. 总结

在本文中,作者提出了样本难度的概念,来提高长尾分布的数据中模型的泛化性能。为了在学习过程中融入样本难度的概念,作者提出了ELF框架。ELF是对长尾分类中现有工作的补充,可以作为即插即用的模块,与现有方法集成,以提高分类精度。
在多个数据集上实验结果表明,ELF的性能优于现有的SOTA方法,同时支持针对不同计算预算的动态模型选择。

▊ 作者简介
研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。
知乎/公众号:FightingCV

END




欢迎加入「计算机视觉」交流群👇备注:CV




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存