题目:Balanced MSE for Imbalanced Visual Regression
发表:CVPR2022
作者:Jiawei Ren 1 , Mingyuan Zhang 1 , Cunjun Yu 2 , Ziwei Liu 1
值得一提的是该文章的初稿曾被ICLR2022拒掉。
当前的不平衡研究主要都是集中在分类场景下,很少有人关注回归场景下的不平衡问题。然而,回归场景下的不平衡也是一个极其重要的研究话题。现实生活中有很多不平衡回归的应用场景,比如年龄估计, 生理健康检测方面比如血压预测等等。
相比于分类,回归场景下的不平衡研究更具挑战性。
(1)首先,分类场景下的标签往往是离散并且有限的。相反,回归场景下的标签是连续的,并且可以时无限的,也可以是有限的。
(2)其次,分类场景下的标签本身只是符号,不可比较。相反,回归场景下的标签时可以比较的。
回归场景下常用的Loss有Mean squared loss (MSE), Mean absolute loss (MAE)等。作者从统计视角重新审视了MSE,确认MSE在不平衡场景下存在问题(导致模型有bias),从而提出了一种新的损失函数Balanced MSE来解决不平衡回归问题。
与不平衡分类的目标类似,不平衡回归也是希望从imbalanced 的数据集中学习一个balanced 的model,使其在目标y范围内的各个区间上效果都要好,而不仅仅只是在样本分布密集的少部分区间内。
MSE实际上就是预测值与真实值差的二范数,定义如下:

从统计视角来看,MSE实际上相当于假设预测误差分布服从均值为零的正态/高斯先验。假设方差为各向同性高斯噪声,
ϵ
=
y
−
y
p
r
e
d
∼
N
(
0
,
σ
2
I
)
\epsilon=y-y_{pred} \sim N(0, \sigma^{2}I)
ϵ=y−ypred∼N(0,σ2I)。这样一来,预测值可以看作是噪声预测分布的均值,如下:
众所周知,最小化损失函数实际上就是在最大化对应的似然函数。具体到这里, MSE完全等价于
−
L
o
g
p
(
y
∣
x
;
θ
)
-Logp(y|x;\theta)
−Logp(y∣x;θ)。因此,基于MSE来训练模型实际上就是在建模
p
(
y
∣
x
;
θ
)
p(y|x;\theta)
p(y∣x;θ)。
Balanced MSE的思路:直接从imbalanced 数据集中训练一个balanced model,然后直接用于预测。怎么做到的呢?看下图。
由于模型直接输出的是
p
b
a
l
(
y
∣
x
)
p_{bal}(y|x)
pbal(y∣x),最关键的是在训练阶段如何实现其到
p
t
r
a
i
n
(
y
∣
x
)
p_{train}(y|x)
ptrain(y∣x)的转化。
定理的证明如下,实际上只用到了Bayes公式和全概率公式,

有了上述转换公式,Balanced MSE可以定义为:
由于Balanced MSE中涉及积分,那么如何实现呢?文中提供了解析解和两种数值解,下面分别介绍。
对于解析解,关键在于如何对第二项中的
p
t
r
a
i
n
(
y
′
)
p_{train}(y')
ptrain(y′)进行建模以使得积分可积。
将
p
t
r
a
i
n
(
y
′
)
p_{train}(y')
ptrain(y′)建模为高斯混合分布,如下
这样一来,第二项变形为
将其带入到Balanced MSE的定义中可得

在Batch-based Monte-Carlo (BMC)中,不需要建模
p
t
r
a
i
n
(
y
′
)
p_{train}(y')
ptrain(y′),将所有的样本标签看成是
p
t
r
a
i
n
(
y
′
)
p_{train}(y')
ptrain(y′)的随机样本。这样一来,
还可以将其进一步改写成类似对比学习损失的函数形式,如下

所谓Bin-based Numerical Integration (BNI),实际就是将连续的目标离散化为等长的、不相交的区间。这里将目标y的范围划分为N个区间,记区间的中心为:
然后基于核密度估计技术,利用训练集中的目标值来估计这N个区间中心的密度。最后将其带入,可得,

1.文章从统计视角出发,给出了Balanced MSE loss的一般形式,该Loss的表达式与imbalanced classification和constrastive learning的loss有强的关联。并且给出了几种可行的实现版本。
2.目标分布的不平衡仅仅只是不平衡回归中的一个可能带来bias的因素,实际上,除此以外,可能还有其他类型的不平衡或者mismatch, 如何保证模型真正学到了目标范围各个区间的unbiased知识?