[论文评析]Delving into deep imbalanced regression, ICML,2021

文章信息

题目: Delving into deep imbalanced regression
发表: ICML, 2021
作者:Yuzhe Yang 1 Kaiwen Zha 1 Ying-Cong Chen 1 Hao Wang 2 Dina Katabi 1

值得注意的是:这篇文章是不平衡回归这块非常有代表性的文章,应该也是第一次比较正式的提出了imbalanced regression这个概念

研究动机

当前的不平衡研究主要关注目标为离散符号(即类别)的情形,然而现实中存在大量目标值为连续值的场景。因此本文提出了不平衡回归Imbalanced Regression的概念,Imbalanced Regression的目标是从目标值连续且部分目标值可能缺失的不平衡数据集中学习,使得训练出的模型在整个目标范围内都具有很好的泛化能力
下图展示的就是本文要研究的问题场景:
在这里插入图片描述

具体来说,作者通过对比分类和回归的目标空间的差异分别提出了标记分布平滑Label Distribution Smoothing (LDS)和特征分布平滑Feature Distribution Smoothing (FDS)分别用于在目标空间和特征空间进行平滑。

方法

由于目标值是连续的,作者将目标离散化。具体来讲,将目标值域划分为B等份,
在这里插入图片描述
对应的下标索引为
在这里插入图片描述
下面的LDS和FDS都是基于该设定而提出来的。

LDS的提出

动机

众所周知,不平衡分类场景下,Cost-sensitive reweighting方法中不同类别损失的权重往往设置为标记经验分布的倒数,也就是密度越大的样本类别对应的权重越小,那为什么可以这样做呢? 因为在标记空间上测试误差的误差分布与训练集中的标签分布(称之为empirical label distribution)有很高的相关性(准确的说是负相关性)

那么在不平衡回归场景下,又会发生什么?这种相关性还存在吗?

因此作者做了如下对比实验,可以发现:
(1)回归场景下,经验标签分布与测试误差分布的相关性比分类场景低很多;
(2)回归场景下,测试误差分布相比分类场景下更加平滑。

在这里插入图片描述
为什么?因为连续的目标值是可以比较的,回归损失衡量的真实值与预测值之间的距离,这样一来,在训练过程中目标值相近的样本会对紧邻的其他样本产生影响。

这样带来的问题什么?如果还是按照分类场景下的Cost-sensitive reweighting的思路来定义回归场景下的Loss,必然会有问题,因为经验标签分布与测试误差分布的负相关性很低。

LDS

基于上述的分析,作者提出了LDS, LDS的目的是对经验标签分布进行平滑,平滑之后的标签分布与测试误差分布的负相关性大大提高,这样一来就可以使用Costs-sensitive reweighting的思路来定义回归损失。

下图是LDS作用的直观解释:
在这里插入图片描述
那么怎么进行平滑呢?作者采用了核密度估计KDE来对经验标签分布进行平滑。 p ( y ′ ) p(y') p(y)通过如下公式继续宁平滑,

在这里插入图片描述

LDS的算法伪码如下:
在这里插入图片描述
可以看到,与分类中的cost-sensitive learning 的唯一区别在于第四行的标签分布平滑。

FDS的提出

动机

一般来讲,我们希望模型具有这样的属性:模型对于相似的输入的预测值也是相似的。对于深度学习方法而言,换句话说,我们当然希望特征空间能够反映目标之间序关系。更直白一点, 相似的目标对应的特征表示应该越相似,反之亦反。

数据中的不平衡问题实际上給实现这一点带来了困难, 看下面的例子:

在这里插入图片描述
上图展示的是以Age=30作为Anchor的特征之间相似性,上图是均值相似性,下图是方差相似性。可以看到:label的相似性并不能体现在特征表示中
以上图为例,正常情况下,因该是距离Anchor=30越远的区域,对应的相似性(均值,方差)应该越小,然而Age=0~10范围内出现了异常,这主要是由于该部分样本太少,代表性不足,从而造成与Age=30的特征表示反而相近。

FDS

深度网络模型可以看作是特征学习网络和分类/回归网络两部分的组合,因此,这里提出了FDS,用于对模型学习出来的特征表示进行Calibration, 然后把Calibration之后的特征表示送入回归网络进行预测

首先,如何来刻画特征表示z呢?作者提出用其一节和二阶统计量来刻画。如下,对于每个bin b ∈ 1 , 2 , . . . , B b \in {1,2,...,B} b1,2,...,B, 计算如下统计量。
在这里插入图片描述
总共需要计算2B个统计量。

然后对该统计量利用KDE进行平滑,计算如下:
在这里插入图片描述
平滑之后的统计量能够反映紧邻目标的序关系。

接下来是对特征表示z进行Calibration,计算如下:
在这里插入图片描述
可以看到这个过程实际上就是先归一化再反归一化。

FDS的示意图如下:
在这里插入图片描述

FDS的算法伪码如下:
在这里插入图片描述
可以看到,为了保持训练的稳定,统计量是在Epoch level进行更新的: 最开始先初始化统计量,每一个Epoch完成之后再利用当前计算的统计量来更新上一个Epoch的统计量,更新公式类似于滑动平均。

代码实现中的一个问题

深度学习框架提供了自动微分API, 因此一般的代码实现起来很简单,只需要考虑前向传播。然而,这里必须考虑这样一个问题:模型网络参数可以借助框架的自动微分机制每个Batch更新, 但是Calibration涉及的这些统计量参数如何定义呢

显然不能将其设置为一般的模型参数,虽然它依然是计算图的一部分,因为它是在每个Epoch之后踩更新的,并且具有显式的计算公式。 翻阅作者的开源代码,发现作者将这些统计量参数设置为持久层参数,这样一来,这些统计量作为计算图的一部分,在反向传播中仅仅作为通路(不会计算其梯度,也不会影响反向传播),然后每个Epoch完成以后利用上述公式手动更新这些参数。

思考

  1. 这篇文章是真正意义上第一个提出了Imbalanced regression的概念,并且提出了相应的解决方法,比较硬核。注意到,这篇文章在实验中提出了很多Benchmark, 和Baseline, 这些在后续相关文章中被普遍使用,对后续文章(比如Balanced MSE, RankSim等等)产生了巨大影响。

  2. 当前研究不平衡回归的文章主要关注的是目标的不平衡。 然而正如这篇文章提到的那样,不平衡的内涵远不止于此,文章中所提的FDS应该是首次关注特征层面的问题,很有意义。后面应该会有类似的更深入研究。

References

1.Yang Y, Zha K, Chen Y, et al. Delving into deep imbalanced regression[C]//International Conference on Machine Learning. PMLR, 2021: 11842-11851.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MasterQKK 被注册

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值