资讯详情

ICML2021 | 深入研究不平衡回归问题

b8c26266be73625afb5d245bfa79d2bc.png

来源:知乎—Yuzhe Yang、深度学习和图网络https://zhuanlan.zhihu.com/p/369627086 本文约8500字。建议阅读15分钟。本文总体梳理了数据不平衡问题在分类和回归方面的一些研究现状。

给大家介绍一下我们的新工作,现在已经被介绍了ICML 2021接收为 Long oral presentation:Delving into Deep Imbalanced Regression。在经典的数据不平衡问题下,这项工作探索了一个非常实用但很少被研究的问题:数据不平衡回归问题。大多数现有的处理不平衡数据/长尾分布的方法只针对分类问题,即目标值是不同类别的离散值(索引);然而,许多实际任务涉及连续性,有时甚至是无限的目标值。本文推广了从离散值域到连续域的传统不平衡分类范式。

我们不仅提出了两种简单有效的方法来提高不平衡回归的模型性能,还建立了五种新方法benchmark DIR数据集涵盖了计算机视觉、自然语言处理和医疗问题不平衡的回归任务。代码、数据和模型已经存在GitHub链接如下:上开源:

https://github.com/YyzHarry/imbalanced-regression

然后首先总结本文的主要贡献:

  1. 我们提出了一项新任务,称为深度不平衡回归(Deep Imbalanced Regression,简写为DIR)。DIR任务定义为从具有连续目标的不平衡数据中学习,并可以泛化到整个目标范围;

  2. 我们还提出了一种新的不平衡回归方法,标签分布平稳(label distribution smoothing, LDS)特征分布顺畅(feature distribution smoothing, FDS),解决具有连续目标的不平衡数据的学习问题;

  3. 最后,我们建立了五个新的DIR数据集,涵盖了computer vision,NLP,和healthcare不平衡回归任务,方便未来不平衡数据的研究。

接下来,让我们进入文本。根据惯例,我将首先抛开文章本身,对数据不平衡问题的分类和回归研究现状进行总体梳理。在此基础上,我们将尽可能详细地介绍我们的想法和方法,以节省不必要的细节。

数据不平衡在现实世界中无处不在。现实数据通常不是每个类别都有理想的均匀分布,而是尾巴的长偏差分布,其中一些目标值的观测值明显较小。这一现象对深度模型提出了巨大的挑战,并激发了许多现有的解决数据不平衡的方法和技术。

具体来说,以前的解决方案大致可以分为基于数据和模型的解决方案。基于数据的解决方案要么对少数群体类别进行过度采样,要么对群体不足,如SMOTE算法[1]该算法通过同一类别的线性插值样本生成少数组类别的合成样本。基于模型的解决方案包括重新加权损失函数(re-weighting)[2],或直接修改损失函数[3],并使用相关的具体学习技能,如 transfer learning[4],meta-learning[5],以及 two-stage training[6]。欢迎查看现有更完整的不平衡学习方法:我之前在不平衡分类问题下的回答。

https://www.zhihu.com/question/372186043/answer/1501948720

然而,从不平衡数据中学习的现有解决方案主要考虑categorical index目标值,即目标值是不同的类别。例如下图所示,子图1是用于地点分类的典型的真实世界数据集,该数据集不平衡且标签分布具有长尾效应,并且其标签是不同的类别,例如房屋,森林和博物馆,他们都互不重叠。同样,子图2是现实世界中物种分类的不平衡数据集iNaturalist,其目标值也属于不同的类别,并且具有hard boundaries,不同类别之间有一个硬边界,不同类别之间没有重叠。

现有的不平衡学习计划主要考虑数据类型categorical index目标值,即目标值是不同的类别,如位置分类和物种分类。目标值属于不同类别,不同类别之间有一个硬边界,不同类别之间没有重叠。

然而,现实世界中的许多任务可能涉及连续性,有时甚至是无限的目标值。例如,在计算机视觉的应用中,我们经常需要根据一个人的视觉外观,即他们的照片来推断他们的年龄。在这里,年龄是一个连续的目标值,在目标范围内可能会高度不平衡。下图是实际年龄估计数据集,在不同年龄之间有歪斜的标签分布。在这种情况下,如果将不同的年龄分为不同的类别进行学习,就不太可能得到最好的结果,因为这种方法不利用附近年龄人群特征的相似性。

年龄是根据一个人的视觉外观(照片)来推断的。这里的年龄是一个连续的目标值,可能在目标范围内高度不平衡。右边的图片是大的age estimation数据集IMDB-WIKI,它在不同年龄之间有歪斜的标签分布。

类似的问题也会发生在医疗应用中。我们想推断出不同患者的健康指标,如心率、血压和血氧饱和度。health的指标也是连续的,并且它们通常在患者人群中具有非常不平衡,或是偏斜的分布。

医疗应用中的不平衡回归问题。health心率、血压、血氧饱和等指标一般是连续的目标值,通常在患者中高度不平衡。右图为真实数据集SHHS上,health condition score歪斜标签分布。

此外,许多重要的现实生活应用程序(如经济、危机管理、故障诊断或气象学等)也有类似的需求。这些应用程序中需要预测的连续目标变量往往有许多罕见和极端值[7]。在线模型和深度模型中都存在这一连续域的不平衡。甚至在深度模型中也更为严重。为什么会这样?因为神经网络的预测往往是over-confident是的,这种不平衡被严重放大了。

因此,在这项工作中,我们定义并研究深度不平衡的回归,Deep Imbalanced Regression(DIR),也就是说,续目标值的不平衡数据中学习。具体而言,给定具有连续目标值的数据集,DIR如果你想从分布不平衡和偏差的数据中学习,你需要处理某些目标区域的潜在数据缺失,最终模型可以generalize全力支持target range,也就是所有的目标值范围。对于DIR我们考虑使用一个分布在整个连续目标值范围内的平衡测试集来测试模型的泛化能力DIR提供非常全面、无偏差的评估。这种setting也存在不平衡的分类问题setting保持一致。

深度不平衡回归问题,Deep Imbalanced Regression(DIR),也就是说,从具有连续目标值的不平衡数据中学习,需要处理某些目标区域的潜在数据缺失,使最终模型能够generalize在所有支持的目标值范围内。

需要注意的是,与不平衡的分类问题相比,DIR带来以下新挑战。

(一)首先,给定连续性,目标值可能无限,类与类之间hard boundaries它不再存在。然后,当传统的不平衡分类方法直接应用时,如重采样或重加权,因为它们操作特定的离散类别,导致这些方法不直接适用于连续域。

(二)此外,连续标签在不同目标值之间的距离本质上是有意义的。这些目标值(标签)直接告诉我们哪些数据更近,哪些数据更远;这种有意义的距离将进一步指导我们如何理解连续范围内的数据不平衡。例如,假设有两个目标标签和,它们在训练数据中有相同的数据sample然而,数量,位于一个具有高密度数据的邻域中(在该邻域范围内有许多样本),而位于低密度数据的邻域中。在这种情况下,和数据不平衡程度不同。

连续标签在不同目标值之间的距离是有意义的,这将进一步指导我们如何理解连续范围内的数据不平衡。t1和t由于训练数据中的数量相同,2t1位于具有高密度数据的邻域中,t2位于低密度数据的邻域中,所以t1和t数据不平衡程度不同。

(3)最后,它不同于分类问题DIR,有些目标值可能根本没有数据。这也刺激了目标值 extrapolation 以及 interpolation 的需求。

与分类问题不同,对于DIR,有些目标值可能根本没有数据,这也刺激了目标值 extrapolation 以及 interpolation 的需求。

总结上述问题,我们可以看到DIR与传统的不平衡分类相比,存在着新的困难和挑战。那么,我们应该如何回归深度不平衡呢?在接下来的两节中,我们提出了两种简单有效的标签分布光滑的方法(label distribution smoothing,LDS)特征分布顺畅(feature distribution smoothing,FDS),利用标签空间与特征空间中临近目标的相似性,提升模型DIR任务表现。

首先,标签分布顺畅(LDS)说起来,通过简单和比较, motivating 例子开始,显示当数据不是时衡出现的时候,分类和回归问题之间的区别。

Motivating Example:我们使用两个不同的数据集,(1) CIFAR-100[8],一个具有100类的分类数据集,以及 (2) IMDB-WIKI[9],一个大型图像数据集,用于根据人的视觉外观来估算其年龄。这两个数据集本质上具有完全不同的标签空间(label space):CIFAR-100是 categorical label space,也就是他的目标值是 class index;而IMDB-WIKI是 continuous label space,他的目标值则是年龄,age。我们将IMDB-WIKI的年龄范围限制为0〜99,以便让两个数据集具有相同的标签范围。此外,我们还对两个数据集进行了采样,用来模拟数据不平衡,同时确保它们具有完全相同的标签的密度分布,如下图所示。

然后,我们分别在两个数据集上训练一个普通的ResNet-50模型,并画出了它们的测试error的分布。首先,如下左图所示,在CIFAR-100上,我们观察到测试误差的分布实际上与标签密度的分布非常相关,是highly correlated的。具体而言, 测试误差作为一个class index的函数,和categorical label space上的标签密度分布,具有一个很高的 (negative) Pearson correlation(皮尔森相关系数),这里是 −0.76。那么这个现象是在我们预料之中的,因为拥有更多样本的majority classes比 minority classes是能更容易的学好的。

但是,有趣的是,即使标签密度分布与CIFAR-100相同,具有连续的标签空间的 IMDB-WIKI的测试误差分布也与CIFAR-100非常不同。尤其是,IMDB-WIKI的误差分布更加平滑,并且不再与标签密度分布很好地相关,这里的 Pearson correlation 只有 −0.47。

这种现象表明,对于连续标签,其经验标签密度(empirical label density),也就是直接观测到的标签密度,不能准确反映模型或神经网络所看到的不平衡。因此,在连续的情况下,empirical label density是不能反映实际的标签密度分布。这是由于相临近标签(例如,年龄接近的图像)的数据样本之间是具有相关性,或是互相依赖的。

标签分布平滑:那么,基于这个观察,我们提出 Label Distribution Smoothing (LDS) ,来估计在连续标签情况下的有效label density distribution。我们的方法参考了在统计学习领域中的核密度估计,kernel density estimation的思路,来在这种情况下估计expected density。具体而言,给定连续的经验标签密度分布,LDS 使用了一个 symmetric kernel distribution 对称核函数,用经验密度分布与之进行卷积,来拿到一个 kernel-smoothed的版本,我们称之为 effective label density,也就是有效的标签密度,用来直观体现临近标签的数据样本具有的信息重叠的问题。那么我们也可以进一步验证,由LDS计算出的有效标签密度分布结果现已与误差分布良好相关,皮尔森相关系数为 −0.83。这表明了利用 LDS,我们能获得实际影响回归问题的不平衡的标签分布。

那么有了用LDS估计出的有效标签密度,之前用来解决类别不平衡问题的方法,便可以直接应用于DIR。比如说,一种直接的可以adapted 的方法是利用重加权方法,具体来说就是,我们通过将损失函数乘以每个目标值的LDS估计标签密度的倒数来对其进行加权。之后在实验部分我们也会展示,利用LDS可以一致提升很多方法。

我们现在已经知道,标签空间的连续性可以有效地用于解决DIR问题。那么进一步想,在目标空间上的连续性应该在特征空间中会产生相应的连续性。也就是说,如果模型正常工作并且数据是平衡,则我们可以预期label相近的sample,他们对应的feature的统计信息也应该是彼此接近的。同样,我们使用一个motivating的例子,来展示数据不平衡对DIR中feature的统计信息的影响。

Motivating Example:同样,我们使用对IMDB-WIKI上训练的ResNet-50模型。我们主要focus在的学到的特征空间,即上图中的    。我们为标签空间引入了一种额外的结构以供分析,我们把label space分为了等间隔的区间。我们用    表示目标值的区间索引。在这个age estimation这个任务中,我们定义区间的长度为1,也即我们关注的最小的年龄差是1。现在,通过这种区间的结构,我们可以将具有相同目标区间的要素分组到同一组。然后,我们针对每个区间中的数据计算其相应的特征统计量(即均值和方差    ,    )。

接下来,我们可以开始可视化特征的统计量之间的相似性。首先,我们选择一个 anchor 区间,记为    ,然后获得该区间的特征的统计信息,也就是    和    。同理,我们可以对其他所有区间也计算 mean 和 variance    ,    。最后,我们计算这个 anchor age 和其他所有 age 的 特征统计量的 cosine similarity,也就是余弦相似度,画在了图中。此外,我们还使用了紫色,黄色,和粉红色,分别显示了具有不同数据密度的区域。

有趣的是,我们发现 anchor age 和其临近的区间的 特征统计量是高度相似的。特别是,在区间25-35之间,他们的mean 和 variance 的相似度都高达 90% 以上。需要要注意的是,Anchor age 30 刚好是在many-shot region,也就是他的训练数据是非常多的。因此,该图也证实了我们的直觉,即对于连续目标值,当有足够的数据时,特征的统计量在临近点是相似的。

不过,该图还显示了对于数据样本量很少的区域的问题,例如0至6岁的年龄范围。值得注意的是,在此范围内,特征的均值和方差显示出与30岁年龄段的特征统计量,具有出乎意料的高度相似性。这种不合理的相似性是由于数据不平衡造成的。具体来说,由于年龄0到6的图像数量很少,因此该范围的特征会从具有最大数据量的范围(即30岁左右的范围)继承其先验。这也就造成了图中所示的问题。

特征分布平滑:受这些观察的启发,我们提出了特征分布平滑,Feature Distribution Smoothing(FDS)。FDS对特征空间进行分布的平滑,本质上是在临近的区间之间来传递特征的统计信息。此过程主要作用是去校准特征分布的潜在的有偏差的估计,尤其是对那些样本很少的目标值而言。具体来说,我们有一个模型,    代表一个encoder将输入数据映射到隐层的特征,    作为一个predictor来输出连续的预测目标值。FDS首先会估计每个区间的统计信息。在不失一般性的前提下,我们用特征的协方差代替方差,以反映特征    内部元素之间的关系。给定特征统计量,我们再次使用对称核函数 symmetric kernel    来 smooth 特征均值和协方差的分布。这样我们可以拿到统计信息的平滑版本。现在,利用估计的和平滑的统计量,我们遵循标准的 whitening and re-coloring[10] 过程来校准每个输入样本的特征表示。那么整个FDS的过程可以通过在最终特征图之后插入一个特征的校准层,来实现将FDS的集成到深度网络中。最后,我们在每个epoch 采用了对于 running statistics的 momentum update,也就是动量更新。这个是为了获得对训练过程中特征统计信息的一个更稳定和更准确的估计。

那么就像之前提到的,FDS同样可以与任何神经网络模型以及之前类别不平衡的方法相集成。在接下来的实验中,我们可以观察到利用FDS同样能一致提升很多方法。

基准DIR数据集:终于来到了激动人心的实验部分;为了方便对不平衡算法进行标准的测试,以及方便未来的research工作,我们在现有的大型数据集基础上,建立了五个DIR的基准数据集,涵盖了计算机视觉(computer vision),自然语言处理(natural language processing),和医疗(healthcare)的应用。这些任务涵盖了从单值(single value)预测(例如年龄,文本相似性得分,健康状况得分),到密集值(dense value)预测(例如深度)。这些数据集的训练数据分布如下图所示:

  • IMDB-WIKI-DIR(vision, age):从包含人面部的图像来推断估计相应的年龄。基于IMDB-WIKI[9]数据集,我们手动构建了验证集和测试集,使其保持了分布的平衡。

  • AgeDB-DIR(vision, age):同样是根据单个输入图像进行年龄估算,基于AgeDB[11]数据集。注意到与IMDB-WIKI-DIR相比,即使两个数据集是完全相同的task,他们的标签分布的不平衡也不相同。

  • NYUD2-DIR(vision, depth):除了single value的prediction, 我们还基于NYU2数据集[12]构建了进行depth estimation的DIR任务,是一个dense value prediction的任务。我们构建了NYUD2-DIR数据集来进行不平衡回归的评估。

  • STS-B-DIR(NLP, text similarity score):我们还在NLP领域中构建了一个叫STS-B-DIR的DIR benchmark,基于STS-B数据集[13]。他的任务是推断两个输入句子之间的语义文本的相似度得分。这个相似度分数是连续的,范围是0到5,并且分布不平衡。

  • SHHS-DIR(Healthcare, health condition score):最后,我们在healthcare领域也构建了一个DIR的benchmark,叫做 SHHS-DIR,基于SHHS数据集[14]。这项任务是推断一个人的总体健康评分,该评分在0到100之间连续分布,评分越高则健康状况越好。网络的输入是每个患者在一整晚睡眠过程中的高维PSG信号,包括ECG心电信号,EEG脑电信号,以及他的呼吸信号。很明显可以看到,总体健康分数的分布也是极度不平衡的,并存在一定的target value是没有数据的。

在评估过程中,我们在平衡的测试集上评估每种方法的性能。我们进一步将目标空间划分为几个不相交的子集:称为many-shot,medium-shot,few-shot,还有zero-shot region,来反映训练数据中样本数量的不同。比如,many-shot代表对于这个固定的区间,有超过100个training data sample。对于baseline方法,由于文献中只有很少的不平衡回归的方法,除了之前的使用合成样本进行不平衡回归的工作[15][16]外,我们也提出了一系列不平衡回归的baseline,包含了不同种类的学习方法(例如Focal loss[17]的regression版本Focal-R),具体详见我们的文章。

实验:由于实验较多,这里仅展示在IMDB-WIKI-DIR上的部分结果,所有的结果请详见论文。如下图所示,我们首先根据使用的基本策略的不同,将不同的方法分为4个部分,在每个部分里,我们进一步将LDS,FDS以及LDS和FDS的组合应用于基线方法。最后,我们报告了LDS + FDS相对于Vanilla模型的performance提升。如表所示,无论使用哪一类训练方法,LDS和FDS均具有非常出色的表现,特别是在few-shot region上能达到相对误差近40%的提升。

实验分析之 为啥FDS能work:我们进一步来对提出的方法做一些进一步的分析。首先是对FDS分析它是如何影响网络的训练过程的。与先前的设置类似,我们展示出了anchor age 0的特征统计的相似度图。如图所示,由于目标区间age 0中的样本很少,因此特征统计量可能具有较大的偏差,例如0岁的统计量反而与40-80岁之间的区间最相似。相反,当添加FDS时,统计数据会得到更好的校准,从而仅在其附近具有较高的相似性,并且随着目标值变大,相似度会逐渐降低。我们进一步可视化训练期间 running statistics 和 smoothed statistics之间的    距离。有趣的是,随着训练的发展,平均的    距离是逐渐减小并趋于0的。这表明该模型学会了即使不进行平滑操作,也可以生成更准确的特征,最后可以在inference过程中,我们即可去掉平滑模块,也能得到很好的结果。

实验分析之 Extrapolation & Interpolation:最后,在实际的DIR任务中,某些目标值可能根本没有数据(例如之前看到的SHHS-DIR和STS-B-DIR上的标签分布)。这激发了对 target extrapolation 和 interpolation 的需求。如下图所示,我们从IMDB-WIKI-DIR的训练集中建立了不同的子集,涵盖了不同peak的标签分布,并且这些训练子集在某些区域中是没有训练数据的,但是我们对训练的模型会在原始的测试集进行评估,来分析zero-shot的generalization。下图我们可视化了我们的方法相对于原始模型,在所有target value上的绝对的MAE的提升(子图上半部分蓝色是训练的标签分布,下半部分橙色是相对误差的增益)。如前所述,我们的方法可以对所有区间得到显着的性能提升,特别是对于zero-shot范围,能够更好的进行Extrapolation & Interpolation。

最后总结一下本文,我们提出了一个新的任务,称为深度不平衡回归(DIR),同时我们系统性地研究了DIR,并提出了对应的简单而有效的新方法LDS和FDS,以解决具有连续目标的学习不平衡数据的问题,最后我们建立了五个新的benchmark来方便未来在不平衡数据上的回归研究。本文有很直观的问题分析与解释,以及用非常简洁并且通用的框架去提升连续域下的不平衡学习任务。

我个人还是挺喜欢这篇文章的,因为本文的出发点其实是另一个我们正在做的医疗AI相关项目,在过程中的一个环节我们遇到了头疼的问题---即想要用深度模型做一个连续variable的回归,但是此variable的标签分布非常sparse且及其不平衡,而这恰恰是healthcare数据的常态。经过一番调研我们发现目前并没有很好解决这类问题的方法,于是我们最终develop了LDS和FDS,并发现相比与baseline模型能极大的提升performance,算是验证了其在现实的任务上的有效性和实用性;希望我们的方法不仅局限于academic datasets,而是对其他实际的不平衡回归问题也有帮助。

当然,我们的工作还是存在其局限性,也留了一些坑。首先,无论是LDS还是FDS,虽然想法直观,但都存在超参数的问题(因引入了对称核函数做smoothing),而不同任务的最优参数可能不尽相同,需要根据特定任务的标签空间来测试决定合适值。其次,我们提出的方法虽能提升现有的模型表现,但不平衡回归问题本身仍未完全解决,甚至还有很大的提升空间。最后,作为比较早的系统研究这个问题的文章,我们并没有给出理论上的探索与推导,而这也是后续工作可以继续挖掘的。希望本文能抛砖引玉,也非常欢迎大家follow我们的工作!如果大家有任何想要交流的技术问题,欢迎留言多多交流。最后再次附上我们论文的相关链接:

项目主页

http://dir.csail.mit.edu/

论文

https://arxiv.org/abs/2102.09554

代码

https://github.com/YyzHarry/imbalanced-regression

1. Chawla, N. V., et al. SMOTE: Synthetic minority over-sampling technique. JAIR, 2002.

2. Deep Imbalanced Learning for Face Recognition and Attribute Prediction. TPAMI, 2019.

3. Learning imbalanced datasets with label-distribution-aware margin loss. NeurIPS, 2019.

4. Liu, Z., et al. Large-scale long-tailed recognition in an open world. CVPR 2019.

5. Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting. NeurIPS, 2019.

6. Decoupling representation and classifier for long-tailed recognition. ICLR, 2020.

7. Learning from imbalanced data: open challenges and future directions. 2016.

8. Krizhevsky, A., Hinton, G., et al. Learning multiple layers of features from tiny images. 2009.

9. abRothe, R., et al. Deep expectation of real and apparent age from a single image without facial landmarks. IJCV, 2018.

10. Sun, B., Feng, J., and Saenko, K. Return of frustratingly easy domain adaptation. AAAI, 2016.

11. Agedb: The first manually collected, in-the-wild age database. CVPR Workshop, 2017.

12. Indoor segmentation and support inference from rgbd images. ECCV, 2012.

13. Semeval-2017 task 1: Semantic textual similarity multilingual and crosslingual focused evaluation. International Workshop on Semantic Evaluation, 2017.

14. The sleep heart health study: design, rationale, and methods. Sleep, 20(12):1077–1085, 1997.

15. Branco, P., Torgo, L., and Ribeiro, R. P. Smogn: a preprocessing approach for imbalanced regression. 2017.

16. Torgo, L., Ribeiro, R. P., Pfahringer, B., and Branco, P. Smote for regression. In Portuguese conference on artificial intelligence, 2013.

17. Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollár. Focal loss for dense object detection. ICCV, 2017.

编辑:王菁

校对:龚力

标签: psg3m磁感应传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台