题目:长尾视觉识别的概率对比学习
作者: Chaoqun Du, Yulin Wang, Shiji Song, Gao Huang
摘要
长尾分布经常出现在现实世界的数据中,其中大量的少数类别包含有限数量的样本。这种不平衡问题极大地损害了主要为平衡训练集设计的标准监督学习算法的性能。最近的研究表明,监督对比学习在缓解数据不平衡方面表现出良好的潜力。然而,监督对比学习的性能受到一个固有挑战的困扰:它需要足够大的训练数据批次来构建覆盖所有类别的对比对,然而,在类别不平衡的数据背景下,这一要求很难满足。为了克服这个障碍,我们提出了一种新的概率对比 (ProCo) 学习算法,该算法估计特征空间中每个类的样本的数据分布,并据此对对比对进行采样。事实上,使用小批量的特征来估计所有类别的分布是不可行的,特别是对于不平衡的数据。我们的关键思想是引入一个合理而简单的假设,即对比学习中的归一化特征在单位空间上遵循 von Mises-Fisher (vMF) 分布的混合,这带来了双重好处。首先,可以仅使用第一个样本矩来估计分布参数,并且可以在不同批次中以在线方式高效计算。其次,基于估计的分布,vMF 分布允许我们对无限数量的对比对进行采样,并推导出预期对比损失的封闭形式,以实现有效优化。除了长尾问题之外,ProCo 还可以通过为未标记数据生成伪标签直接应用于半监督学习,随后可以利用这些伪标签来反向估计样本的分布。从理论上讲,我们分析了 ProCo 的误差界限。从经验上讲,在监督/半监督视觉识别和物体检测任务上的大量实验结果表明,ProCo 在各种数据集上始终优于现有方法。
关键词
长尾视觉识别、对比学习、表征学习、半监督学习
引言
随着深度学习的加速发展和大量有序数据集的出现,计算机视觉任务取得了重大进展,包括图像分类 [1]、[2]、[3]、目标检测 [4] 和语义分割 [5]。这些数据集的细致注释确保了其开发过程中各个类别之间的平衡 [6]。然而,在实际应用中,获取既平衡又涵盖所有可能场景的综合数据集仍然是一个挑战。现实世界中的数据分布通常遵循长尾模式,其特点是每个类别的样本数量从头到尾呈指数下降 [7]。这种数据不平衡对训练深度模型提出了相当大的挑战,因为由于这些类别可用的训练数据有限,它们推广到不常见类别的能力可能会受到阻碍。此外,类别不平衡会导致对主导类别的偏见,导致少数类别的表现不佳 [8]、[9]。因此,解决长尾分布问题对于计算机视觉任务在现实场景中的成功应用至关重要。
在解决长尾数据难题时,人们通过调整传统的交叉熵学习目标 [10]、[11]、[12]、[13] 开发了大量算法。然而,最近的研究表明,监督对比学习 (SCL) [14] 可能是一个更合适的优化目标,因为它可以抵御长尾分布 [15]、[16]。更准确地说,SCL 有意将标签信息集成到对比损失函数的正负对的公式中。与通过对锚点进行数据增强来生成正样本的自监督学习不同,SCL 从与锚点相同的类中构建正样本。值得注意的是,对这种方法的初步探索已经取得了超越大多数为长尾分布设计的竞争算法的性能 [17]、[18]、[19]。
尽管 SCL 有其优点,但它仍然存在固有的局限性。为了保证性能,SCL 需要相当大的批处理大小来生成足够的对比对 [14],从而导致大量的计算和内存开销。值得注意的是,这个问题在现实世界中对于长尾数据变得更加明显,其中尾部类别很少在小批量或内存库中采样。因此,损失函数的梯度主要受头部类别的影响,导致尾部类别信息不足,并且模型固有倾向于专注于头部类别而忽略尾部类别 [16],[17]。例如,在 Imagenet-LT 数据集中,典型的批处理大小为 4096,内存大小为 8192,分别对 212 和 89 个类别产生平均每个小批量或内存库少于一个样本。
在本研究中,我们用一个简单但有效的解决方案解决了上述问题。我们的主要见解是考虑从实际数据分布中抽取无限数量的对比对,并求解预期损失以确定优化目标。通过直接估计和最小化期望,就无需维持较大的批量大小。此外,由于所有类别在理论上的期望值都是等价的,因此现实世界数据中的长尾分布问题自然得到缓解。
然而,由于两个障碍,实现我们的想法并不简单:1)对实际数据分布进行建模的方法通常很复杂,例如训练深度生成模型[20],[21],[22];2)以封闭形式计算预期的训练损失很困难。在本文中,我们同时解决了这两个挑战,提出了一种新的概率对比学习算法,如图1所示。我们的方法受到一个有趣的观察的启发,即深度特征通常包含丰富的语义信息,使得它们的统计数据能够表示数据的类内和类间变化[23],[24],[25]。这些方法从数据增强的角度对具有正态分布的无约束特征进行建模,并获得优化的预期交叉熵损失的上限。然而,由于对比学习中特征的正态化,直接用正态分布建模是不可行的。此外,对于长尾数据,不可能在小批量中估计所有类别的分布。因此,我们采用 R n R^n Rn 中单位球面上合理而简单的 von Mises-Fisher 分布来建模特征分布,该分布通常被认为是正态分布到超球面的扩展。它带来两个优点:1)可以仅使用第一个样本矩通过最大似然估计来估计分布参数,这可以在训练过程中跨不同批次高效计算;2)在此公式的基础上,我们从理论上证明,当采样数接近无穷大而不是上限时,可以严格推导出预期损失的封闭形式,我们将其指定为 ProCo 损失。这使我们能够避免明确采样大量对比对的必要性,而是最小化替代损失函数,这可以得到有效优化,并且不会在推理过程中引入任何额外开销。
此外,我们将提出的 ProCo 算法的应用扩展到更现实的不平衡半监督学习场景,其中整个训练数据集中只有一小部分具有标签 [26]、[27]、[28]、[29]。半监督算法通常采用一种策略,即根据模型的预测为未标记数据生成伪标签,并使用这些标签来规范模型的训练过程。因此,ProCo 算法可以通过生成基于 ProCo 损失的伪标签直接应用于未标记样本,随后可以将其用于反向估计特征分布。
尽管 ProCo 算法很简单,但它表现出一致的有效性。我们使用 CIFAR-10/100-LT、ImageNet-LT、iNaturalist 2018 和 LVIS v1 对监督/半监督图像分类和目标检测任务进行了广泛的实证评估。结果表明,ProCo 持续提高了现有竞争性长尾识别方法的泛化性能。此外,由于 ProCo 在理论上独立于不平衡的类别分布,因此也在平衡数据集上进行了实验。结果表明,ProCo 在平衡数据集上也实现了增强的性能。
本研究的主要贡献概述如下:
-
我们针对长尾识别问题提出了一种新颖的概率对比学习 (ProCo) 算法。通过采用合理而简单的 von Mises-Fisher (vMF) 分布来建模特征分布,我们可以有效地估计不同批次之间的参数。ProCo 通过从估计分布中抽取对比对,消除了 SCL 对大批次大小的固有限制,特别是在处理不平衡数据时(见图 2)。
-
当采样数趋于无穷大时,我们基于估计的 vMF 分布推导出预期监督对比损失的封闭形式,并从理论上分析了 ProCo 损失的误差界限。这种方法消除了明确采样大量对比对的要求,而是专注于最小化替代损失函数。替代损失函数可以得到有效优化,而不会在推理过程中引入任何额外的开销。
-
我们采用所提出的 ProCo 算法以更现实的方式解决不平衡的半监督学习场景。这涉及基于 ProCo 损失生成伪标签。随后,我们对各种分类数据集进行了全面的实验,以展示 ProCo 算法的有效性。
方法
准备工作
在本小节中,我们首先介绍准备工作,为介绍我们的方法奠定基础。考虑一个标准的图像识别问题。给定训练集 D = { ( x i , y i ) i = 1 N } \mathcal{D} = \{(\mathcal{x_ i}, y_ i)^N_ {i=1}\} D={(xi,yi)i=1N},训练模型将空间 X \mathcal{X} X 中的图像映射到空间 Y = { 1 , 2 , 3 , . . . , K } \mathcal{Y} = \{1,2,3,...,K\} Y={1,2,3,...,K} 中的类中。通常,映射函数 φ \varphi φ 被建模为神经网络,它由主干特征提取器 F : X → Z F: \mathcal{X \rightarrow Z} F:X→Z 和线性分类器 G : Z → Y G: \mathcal{Z \rightarrow Y} G:Z→Y 组成。
Logit 调整 [13] 是一种损失边际修正方法。它在训练和推理过程中采用每个类的先验概率作为边际。Logit 调整方法定义为:
L
=
−
l
o
g
π
y
i
e
φ
y
i
(
x
i
)
∑
y
′
∈
Y
π
y
′
e
φ
′
(
x
i
)
(1)
\mathcal{L} = -log\frac{{\pi}_{y_i}e^{{\varphi}_{y_i}(\mathcal{x_i})}}{{\sum}_{\mathcal{y^{'} \in \mathcal{Y}}}{\pi}_{y^{'}}e^{{\varphi}^{'}(\mathcal{x_i})}} \tag{1}
L=−log∑y′∈Yπy′eφ′(xi)πyieφyi(xi)(1)
其中
π
y
{\pi}_y
πy 是训练或测试集中的类频率,
φ
y
{\varphi}_y
φy 是类
y
y
y 的对数。
监督对比学习 (SCL) [14] 是无监督对比学习方法的推广。SCL 旨在学习一个特征提取器
F
F
F,该提取器可以区分具有相同标签
y
i
=
y
j
y_i = y_j
yi=yj 的正对
(
x
i
,
x
j
)
(x_i, x_j)
(xi,xj) 和具有不同标签
y
i
≠
y
j
y_i \neq y_j
yi=yj 的负对
(
x
i
,
x
j
)
(x_i, x_j)
(xi,xj)。给定任意一批样本标签对
B
=
{
(
x
i
,
y
j
)
i
=
1
N
B
}
B = \{(x_i, y_j)^{N^B}_{i=1}\}
B={(xi,yj)i=1NB} 和一个温度参数
τ
\tau
τ,定义 SCL 损失的两种典型方法是 [14]:
L
o
u
t
s
u
p
(
x
i
,
y
i
)
=
−
1
N
y
i
B
∑
p
∈
A
(
y
i
)
l
o
g
e
z
i
z
p
/
τ
∑
j
=
1
K
∑
a
∈
A
(
j
)
e
z
i
z
a
/
τ
(2)
\mathcal{L}^{sup}_{out}(x_i, y_i) = \frac{-1}{N^B_{y_i}}{\sum}_{p \in A(y_i)}log\frac{e^{{z_i}{z_p}/\tau}}{{\sum}^{K}_{j=1}{\sum}_{a \in A(j)}e^{{z_i}{z_a}/\tau}} \tag{2}
Loutsup(xi,yi)=NyiB−1∑p∈A(yi)log∑j=1K∑a∈A(j)eziza/τezizp/τ(2)
L
i
n
s
u
p
(
x
i
,
y
i
)
=
−
l
o
g
{
1
N
y
i
B
∑
p
∈
A
(
y
i
)
e
z
i
z
p
/
τ
∑
j
=
1
K
∑
a
∈
A
(
j
)
e
z
i
z
a
/
τ
}
(3)
\mathcal{L}^{sup}_{in}(x_i, y_i) = -log\{\frac{1}{N^B_{y_i}}{\sum}_{p \in A(y_i)}\frac{e^{{z_i}{z_p}/\tau}}{{\sum}^{K}_{j=1}{\sum}_{a \in A(j)}e^{{z_i}{z_a}/\tau}}\} \tag{3}
Linsup(xi,yi)=−log{NyiB1∑p∈A(yi)∑j=1K∑a∈A(j)eziza/τezizp/τ}(3)
其中 A ( j ) A(j) A(j) 是批次 B \ { ( x i , y i ) } B \backslash \{(x_i, y_i)\} B\{(xi,yi)} 中具有相同标签 j j j 的实例的索引集, N y i B = ∣ A ( y i ) ∣ N^B_{y_i} = |A(y_i)| NyiB=∣A(yi)∣ 是其基数, z \mathcal{z} z 表示 F F F 提取的 x \mathcal{x} x 的归一化特征:
z
i
=
F
(
x
i
)
∣
∣
F
(
x
i
)
∣
∣
,
z
p
=
F
(
x
p
)
∣
∣
F
(
x
p
)
∣
∣
,
z
a
=
F
(
x
a
)
∣
∣
F
(
x
a
)
∣
∣
.
\mathcal{z_i} = \frac{F(\mathcal{x_i})}{||F(\mathcal{x_i})||}, \mathcal{z_p} = \frac{F(\mathcal{x_p})}{||F(\mathcal{x_p})||}, \mathcal{z_a} = \frac{F(\mathcal{x_a})}{||F(\mathcal{x_a})||}.
zi=∣∣F(xi)∣∣F(xi),zp=∣∣F(xp)∣∣F(xp),za=∣∣F(xa)∣∣F(xa).
此外,
L
o
u
t
s
u
p
\mathcal{L}^{sup}_{out}
Loutsup 和
L
i
n
s
u
p
\mathcal{L}^{sup}_{in}
Linsup 表示相对于对数位置的正对之和。如 [14] 所示,这两个损失公式并不等价,而 Jensen 不等式 [70] 意味着
L
i
n
s
u
p
≤
L
o
u
t
s
u
p
\mathcal{L}^{sup}_{in} \leq \mathcal{L}^{sup}_{out}
Linsup≤Loutsup 。因此,SCL 采用后者作为损失函数,因为它是前者的上限。
概率对比学习
如上所述,对于批次中的任何示例,SCL 将具有相同标签的其他示例视为正样本,而其余示例则被视为负样本。因此,批次必须包含足够数量的数据,以确保每个示例都接收到适当的监督信号。然而,这种要求效率低下,因为较大的批次大小通常会导致大量的计算和内存负担。此外,在实际的机器学习场景中,数据分布通常呈现长尾模式,小批次中的尾部类别很少被采样。这一特殊特性需要进一步扩大批次,以有效地监督尾部类别。
为了解决这个问题,我们提出了一种新颖的概率对比 (ProCo) 学习算法,该算法估计特征分布并从中抽样以构造对比对。我们的方法受到 [23]、[24] 的启发,它们采用正态分布从数据增强的角度对无约束特征进行建模,并获得优化预期损失的上限。然而,对比学习中的特征被限制在单位超球面上,不适合直接用正态分布对其进行建模。此外,由于训练数据分布不均衡,在小批量中估计所有类的分布参数是不可行的。因此,我们引入了一个在超球面上定义的简单合理的 von Mises-Fisher 分布,其参数可以通过不同批次之间的最大似然估计进行有效估计。此外,我们严格推导了预期监督对比损失的封闭形式,而不是有效优化的上限,并将其应用于半监督学习。
分布假设。 如前所述,对比学习中的特征被限制在单位超球面上。因此,我们假设特征遵循 von Mises-Fisher (vMF) 分布的混合 [44],这通常被视为正态分布到超球面的推广。随机
p
p
p 维单位向量
z
\mathcal{z}
z 的 vMF 分布的概率密度函数由以下公式给出:
f
p
(
z
;
μ
,
κ
)
=
1
C
p
(
κ
)
e
κ
μ
T
z
,
(4)
\mathcal{f}_p(\mathcal{z; \mu, \kappa}) = \frac{1}{C_p(\kappa)}e^{{\kappa}{\mu}^T\mathcal{z}}, \tag{4}
fp(z;μ,κ)=Cp(κ)1eκμTz,(4)
C
p
(
κ
)
=
(
2
π
)
p
/
2
I
(
p
/
2
−
1
)
(
κ
)
κ
p
/
2
−
1
,
(5)
C_p(\kappa)=\frac{(2\pi)^{p/2}I_{(p/2-1)}(\kappa)}{{\kappa}^{p/2-1}}, \tag{5}
Cp(κ)=κp/2−1(2π)p/2I(p/2−1)(κ),(5)
其中
z
\mathcal{z}
z 为
p
p
p 维单位向量,
κ
≥
0
\kappa \geq 0
κ≥0,
∣
∣
μ
∣
∣
=
1
||\mu||=1
∣∣μ∣∣=1,
I
(
p
/
2
−
1
)
I_{(p/2-1)}
I(p/2−1) 表示
p
/
2
−
1
p/2-1
p/2−1 阶第一类修正贝塞尔函数,其定义为:
I
(
p
/
2
−
1
)
(
z
)
=
∑
k
=
1
∞
1
k
!
Γ
(
p
/
2
−
1
+
k
+
1
)
(
z
2
)
2
k
+
p
/
2
−
1
.
(6)
I_{(p/2-1)}(z) = {\sum}^{\infty}_{k=1}\frac{1}{k!\Gamma(p/2-1+k+1)}(\frac{z}{2})^{2k+p/2-1}. \tag{6}
I(p/2−1)(z)=∑k=1∞k!Γ(p/2−1+k+1)1(2z)2k+p/2−1.(6)
参数
μ
\mu
μ 和
κ
\kappa
κ 分别称为平均方向和浓度参数。当
κ
\kappa
κ 较大时,平均方向
μ
\mu
μ 周围的浓度较高,当
κ
=
0
\kappa = 0
κ=0 时,球体上的分布变得均匀。
参数估计。在上述假设下,我们采用 vMF 分布的混合来建模特征分布:
P
(
z
)
=
∑
y
=
1
K
P
(
y
)
P
(
z
/
y
)
=
∑
y
=
1
K
π
y
κ
y
p
/
2
−
1
e
κ
y
μ
y
T
z
(
2
π
)
p
/
2
−
1
I
p
/
2
−
1
(
κ
y
)
,
(7)
P(\mathcal{z})={\sum}^{K}_{y=1}P(y)P(z/y) = {\sum}^{K}_{y=1}{\pi}_y\frac{{\kappa}^{p/2-1}_ye^{\kappa_y\mu^T_yz}}{(2\pi)^{p/2-1}I_{p/2-1}(\kappa_y)}, \tag{7}
P(z)=∑y=1KP(y)P(z/y)=∑y=1Kπy(2π)p/2−1Ip/2−1(κy)κyp/2−1eκyμyTz,(7)
其中,类别
y
y
y 的概率估计为
π
y
\pi_y
πy,对应于类别
y
y
y 在训练集中的频率。特征分布的均值向量
μ
y
\mu_y
μy 和集中参数
κ
y
\kappa_y
κy 通过最大似然估计来估计。
假设从
y
y
y 类的 vMF 分布中抽取一系列
N
N
N 个独立单位向量
{
(
z
i
)
i
N
}
\{(z_i)^N_i\}
{(zi)iN},在单位超球面
S
p
−
1
\mathcal{S}^{p-1}
Sp−1 上。平均方向
μ
y
\mu_y
μy 和集中参数
κ
y
\kappa_y
κy 的最大似然估计满足以下方程:
μ
y
=
z
‾
/
R
‾
,
(8)
\mu_y = \overline{\mathcal{z}}/\overline{R}, \tag{8}
μy=z/R,(8)
A
p
κ
y
=
I
p
/
2
(
κ
y
)
I
p
/
2
−
1
(
κ
y
)
=
R
‾
,
(9)
A_p{\kappa_y} = \frac{I_{p/2}(\kappa_y)}{I_{p/2-1}(\kappa_y)} = \overline{R}, \tag{9}
Apκy=Ip/2−1(κy)Ip/2(κy)=R,(9)
其中
z
‾
=
1
N
∑
i
N
z
i
\overline{\mathcal{z}} = \frac{1}{N}{\sum}^N_i\mathcal{z_i}
z=N1∑iNzi 是样本均值,
R
‾
=
∣
∣
z
‾
∣
∣
2
\overline{R}=||\overline{z}||_2
R=∣∣z∣∣2 是样本均值的长度。
κ
y
\kappa_y
κy 的一个简单近似 [71] :
κ
^
y
=
R
‾
(
p
−
R
‾
2
)
1
−
R
‾
2
.
(10)
\hat{\kappa}_y = \frac{\overline{R}(p-\overline{R}^2)}{1-\overline{R}^2}. \tag{10}
κ^y=1−R2R(p−R2).(10)
此外,通过汇总前一个小批量和当前小批量的统计数据,以在线方式估计每个类的样本均值。具体而言,我们采用前一个时期的估计样本均值进行最大似然估计,同时通过以下在线估计算法在当前时期从零初始化保持新的样本均值:
z
‾
j
(
t
)
=
n
j
(
t
−
1
)
z
‾
j
(
t
−
1
)
+
m
j
(
t
)
z
‾
j
′
(
t
)
n
j
(
t
−
1
)
+
m
j
(
t
)
,
(11)
\overline{z}^{(t)}_j = \frac{n^{(t-1)}_j\overline{z}^{(t-1)}_j+m^{(t)}_j\overline{z}^{{'}(t)}_j}{n^{(t-1)}_j+m^{(t)}_j}, \tag{11}
zj(t)=nj(t−1)+mj(t)nj(t−1)zj(t−1)+mj(t)zj′(t),(11)
其中
z
‾
j
(
t
)
\overline{z}^{(t)}_j
zj(t) 是第
t
t
t 步估计的
j
j
j 类样本均值,
z
‾
j
′
(
t
)
\overline{z}^{{'}(t)}_j
zj′(t) 是当前小批量中
j
j
j 类的样本均值。
n
j
(
t
−
1
)
n^{(t-1)}_j
nj(t−1) 和
m
j
(
t
)
m^{(t)}_j
mj(t) 分别表示前几个小批量和当前小批量中的样本数量。
损失推导。基于估计的参数,一种直接的方法可能是从 vMF 分布的混合中采样对比对。然而,我们注意到,在每次训练迭代中从 vMF 分布中采样足够的数据是低效的。为此,我们利用数学分析将样本数量扩展到无穷大,并严格推导出预期对比损失函数的闭式表达式。
命题 1。 假设 vMF 分布的混合参数为
π
y
\pi_y
πy、
μ
y
\mu_y
μy 和
κ
y
\kappa_y
κy,
y
=
1
,
2
,
.
.
.
,
K
y=1,2,...,K
y=1,2,...,K,且采样数
N
→
∞
N \rightarrow \infty
N→∞。则我们有预期对比损失函数,如下所示:
L
o
u
t
(
z
i
,
y
i
)
=
−
z
i
A
p
(
κ
y
i
)
μ
y
i
τ
+
l
o
g
(
∑
j
=
1
K
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
,
(12)
\mathcal{L}_{out}(z_i,y_i) = \frac{-z_iA_p(\kappa_{y_i})\mu_{y_i}}{\tau} + log({\sum}^K_{j=1}\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}), \tag{12}
Lout(zi,yi)=τ−ziAp(κyi)μyi+log(∑j=1KπjCp(κj)Cp(κ~j)),(12)
L
i
n
(
z
i
,
y
i
)
=
−
l
o
g
(
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
+
l
o
g
(
∑
j
=
1
K
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
,
(13)
\mathcal{L}_{in}(z_i,y_i) = -log(\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}) + log({\sum}^K_{j=1}\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}), \tag{13}
Lin(zi,yi)=−log(πjCp(κj)Cp(κ~j))+log(∑j=1KπjCp(κj)Cp(κ~j)),(13)
其中
z
~
j
∼
vMF
(
μ
j
,
κ
j
)
,
κ
~
j
=
∣
∣
κ
j
μ
j
+
z
j
/
τ
∣
∣
2
\tilde{z}_j \thicksim \text{vMF}(\mu_j, \kappa_j), \tilde{\kappa}_j=||\kappa_j\mu_j + z_j/\tau||_2
z~j∼vMF(μj,κj),κ~j=∣∣κjμj+zj/τ∣∣2,
τ
\tau
τ 是温度参数。
证明。根据公式(2)中监督对比损失的定义,我们有
L
o
u
t
s
u
p
=
−
1
N
y
i
∑
p
∈
A
(
y
i
)
z
i
z
p
/
τ
+
l
o
g
(
∑
j
=
1
K
N
N
j
N
1
N
j
∑
a
∈
A
(
j
)
e
z
i
e
a
/
τ
)
,
(14)
\mathcal{L}^{sup}_{out} = \frac{-1}{N_{y_i}}{\sum}_{p \in A(y_i)}z_iz_p/\tau + log({\sum}^K_{j=1}N\frac{N_j}{N}\frac{1}{N_j}{\sum}_{a \in A(j)}e^{z_ie_a/\tau}), \tag{14}
Loutsup=Nyi−1∑p∈A(yi)zizp/τ+log(∑j=1KNNNjNj1∑a∈A(j)eziea/τ),(14)
其中,
N
j
N_j
Nj为第
j
j
j类的采样数,满足
l
i
m
N
→
∞
N
j
/
N
=
π
j
lim_{N \rightarrow \infty}N_j/N = \pi_j
limN→∞Nj/N=πj。
令
N
→
∞
N \rightarrow \infty
N→∞ 并省略常数项
l
o
g
N
logN
logN,我们有以下损失函数:
L
o
u
t
=
−
z
i
⋅
E
[
z
~
y
i
]
τ
+
l
o
g
(
∑
j
=
1
K
π
j
E
[
e
z
i
⋅
z
~
j
/
τ
]
)
(15)
\mathcal{L}_{out} = \frac{-z_i\cdot\mathbb{E}[\tilde{z}_{y_i}]}{\tau} + log({\sum}^K_{j=1}\pi_j\mathbb{E}[e^{z_i \cdot \tilde{z}_j/\tau}]) \tag{15}
Lout=τ−zi⋅E[z~yi]+log(∑j=1KπjE[ezi⋅z~j/τ])(15)
L
o
u
t
=
−
z
i
⋅
A
p
(
κ
y
i
)
μ
y
i
τ
+
l
o
g
(
∑
j
=
1
K
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
.
(16)
\mathcal{L}_{out} = \frac{-z_i \cdot A_p(\kappa_{y_i})\mu_{y_i}}{\tau} + log({\sum}^K_{j=1}\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}). \tag{16}
Lout=τ−zi⋅Ap(κyi)μyi+log(∑j=1KπjCp(κj)Cp(κ~j)).(16)
公式 (16) 是通过利用 vMF 分布的期望和矩生成函数获得的:
E
(
z
)
=
A
p
(
κ
)
μ
,
A
p
(
κ
)
=
I
p
/
2
(
κ
)
I
p
/
2
−
1
(
κ
)
,
(17)
\mathbb{E}(z) = A_p(\kappa)\mu, A_p(\kappa) = \frac{I_{p/2}(\kappa)}{I_{p/2-1}(\kappa)}, \tag{17}
E(z)=Ap(κ)μ,Ap(κ)=Ip/2−1(κ)Ip/2(κ),(17)
E
(
e
t
T
z
)
=
C
p
(
κ
~
)
C
p
(
κ
)
,
κ
~
=
∣
∣
κ
μ
+
t
∣
∣
2
.
(18)
\mathbb{E}(e^{t^Tz}) = \frac{C_p(\tilde{\kappa})}{C_p(\kappa)}, \tilde{\kappa}= ||\kappa\mu+t||_2. \tag{18}
E(etTz)=Cp(κ)Cp(κ~),κ~=∣∣κμ+t∣∣2.(18)
与公式 (12) 类似,我们可以从公式 (3) 得出另一个损失函数,如下所示:
L
i
n
=
−
l
o
g
(
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
+
l
o
g
(
∑
j
=
1
K
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
.
(19)
\mathcal{L}_{in} = -log(\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}) + log({\sum}^K_{j=1}\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}). \tag{19}
Lin=−log(πjCp(κj)Cp(κ~j))+log(∑j=1KπjCp(κj)Cp(κ~j)).(19)
基于上述推导,我们得到了两个监督对比损失函数的预期公式。由于
L
i
n
\mathcal{L}_{in}
Lin 强制进行了边际修改,如公式 (1) 所示,我们采用它作为替代损失:
L
P
r
o
C
o
=
−
l
o
g
(
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
+
l
o
g
(
∑
j
=
1
K
π
j
C
p
(
κ
~
j
)
C
p
(
κ
j
)
)
.
(20)
\mathcal{L}_{ProCo} = -log(\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}) + log({\sum}^K_{j=1}\pi_j\frac{C_p(\tilde{\kappa}_j)}{C_p(\kappa_j)}). \tag{20}
LProCo=−log(πjCp(κj)Cp(κ~j))+log(∑j=1KπjCp(κj)Cp(κ~j)).(20)
L
i
n
\mathcal{L}_{in}
Lin与
L
o
u
t
\mathcal{L}_{out}
Lout的实证比较如表4所示。
我们无需进行昂贵的采样操作,而是通过替代损失隐式地实现无限对比样本,并可以更高效地对其进行优化。这种设计巧妙地解决了 SCL 的固有局限性,即依赖于大批量(见图 2)。此外,特征分布的假设和参数的估计可以有效地捕捉不同类别之间特征的多样性,这使得我们的方法即使没有像 SCL 那样的样本对比也能实现更强的性能(见表 3)。
数值计算。由于 PyTorch 仅提供零阶和一阶修正贝塞尔函数的 GPU 实现,因此在 ProCo 中有效计算高阶函数的一种方法是使用以下递归关系:
I
v
+
1
(
κ
)
=
2
v
κ
I
v
(
κ
)
−
I
v
−
1
(
κ
)
.
(21)
I_{v+1}(\kappa) = \frac{2v}{\kappa}I_{v}(\kappa) - I_{v-1}(\kappa). \tag{21}
Iv+1(κ)=κ2vIv(κ)−Iv−1(κ).(21)
然而,当
κ
\kappa
κ 值不够大时,该方法会表现出数值不稳定性。
因此,我们采用 Miller 递归算法 [72]。为了在 ProCo 中计算
I
p
/
2
−
1
(
κ
)
I_{p/2-1}(\kappa)
Ip/2−1(κ),我们遵循以下步骤:首先,我们分别将试验值 1 和 0 分配给
I
M
(
κ
)
I_M(\kappa)
IM(κ) 和
I
M
+
1
(
κ
)
I_{M+1}(\kappa)
IM+1(κ)。这里,
M
M
M 是一个选定的大正整数,在我们的实验中,我们设置
M
=
p
M=p
M=p。然后,使用逆递归关系:
I
v
−
1
(
κ
)
=
2
v
κ
I
v
(
κ
)
−
I
v
+
1
(
κ
)
,
(22)
I_{v-1}(\kappa) = \frac{2v}{\kappa}I_{v}(\kappa) - I_{v+1}(\kappa), \tag{22}
Iv−1(κ)=κ2vIv(κ)−Iv+1(κ),(22)
我们可以计算出
v
=
M
−
1
,
M
−
2
,
.
.
.
,
0
v=M-1, M-2, ..., 0
v=M−1,M−2,...,0 时的
I
v
(
κ
)
I_v(\kappa)
Iv(κ)。从该过程中获得的
I
p
/
2
−
1
(
κ
)
I_{p/2-1}(\kappa)
Ip/2−1(κ) 值表示为
I
~
p
/
2
−
1
(
κ
)
\tilde{I}_{p/2-1}(\kappa)
I~p/2−1(κ),
I
0
(
κ
)
I_0(\kappa)
I0(κ) 表示为
I
~
0
(
κ
)
\tilde{I}_0(\kappa)
I~0(κ)。最后,我们可以按如下方式计算
I
p
/
2
−
1
(
κ
)
I_{p/2-1}(\kappa)
Ip/2−1(κ):
I
p
/
2
−
1
(
κ
)
=
I
0
(
κ
)
I
~
0
(
κ
)
I
~
p
/
2
−
1
(
κ
)
.
(23)
I_{p/2-1}(\kappa) = \frac{I_0(\kappa)}{\tilde{I}_0(\kappa)}\tilde{I}_{p/2-1}(\kappa). \tag{23}
Ip/2−1(κ)=I~0(κ)I0(κ)I~p/2−1(κ).(23)
总体目标。遵循长尾识别中的常见做法[16],[17],[18],我们采用双分支设计。该模型由基于线性分类器
G
(
⋅
)
G(\cdot)
G(⋅) 的分类分支和基于投影头
P
(
⋅
)
P(\cdot)
P(⋅) 的表示分支组成,投影头
P
(
⋅
)
P(\cdot)
P(⋅)是将表示映射到另一个特征空间以与分类器解耦的MLP。此外,两个分支共享一个主干网络
F
(
⋅
)
F(\cdot)
F(⋅)。对于分类分支和表示分支,我们分别采用简单有效的logit调整损失LLA和我们提出的损失
L
P
r
o
C
o
\mathcal{L}_{ProCo}
LProCo。最后,对两个分支的损失函数进行加权并求和为总体损失函数:
L
=
L
L
A
+
α
L
P
r
o
C
o
,
(24)
\mathcal{L} = \mathcal{L}_{LA} + \alpha\mathcal{L}_{ProCo}, \tag{24}
L=LLA+αLProCo,(24)
其中
α
\alpha
α是表示分支的权重。
总的来说,通过在训练过程中引入额外的特征分支,我们的方法可以与分类分支一起利用随机梯度下降 (SGD) 算法进行有效优化,并且不会在推理过程中引入任何额外的开销。
与现有方法的兼容性。特别是,我们的方法很有吸引力,因为它是一个通用且灵活的框架。它可以轻松地与应用于分类分支的现有工作相结合,例如不同的损失函数、多专家框架等(见表 9)。
ProCo 用于半监督学习
为了进一步验证我们方法的有效性,我们还将 ProCo 应用于半监督学习。ProCo 可以直接用于为未标记数据生成伪标签,随后可用于逆向估计分布。在我们的实现中,我们证明,只需采用像 FixMatch [66] 这样的简单方法来生成伪标签,就能获得卓越的性能。FixMatch 的主要概念在于增强未标记数据以产生两个视图,并使用模型对弱增强视图的预测为强增强样本生成伪标签。具体而言,由于我们的方法引入了特征分布,我们可以计算每个类的弱增强视图的 ProCo 损失来表示后验概率 P ( y / z ) P(y/z) P(y/z),从而能够生成伪标签。
与相关工作的联系
接下来,我们讨论我们的方法与长尾识别对比学习相关工作之间的联系。最近的研究提出在正负对的构建中加入类补。这些方法确保所有类都出现在训练的每次迭代中,以重新平衡对比样本的分布。此外,研究人员还在对比学习中引入了边距修改,因为它很有效。因此,我们主要讨论三个方面,即类补、可计算表示和边距修改。类补代表在对比学习中引入每个类的全局表示来构建正负样本。可计算表示对应于类补是从特征而不是可学习参数计算出来的。边距修改表示根据训练集中不同类的先验频率调整对比损失,如公式 (1) 所示。
在我们的方法中,我们通过对特征的估计,基于特征分布引入了类补集,这不是一个可学习的参数。如果类表示是一个可学习的参数
ω
\omega
ω,并且我们忽略了样本之间的对比,那么我们就有以下对比损失:
L
(
z
i
,
y
i
)
=
−
l
o
g
e
ω
y
i
T
z
i
/
τ
∑
j
=
1
N
e
ω
y
i
T
z
i
/
τ
.
(25)
\mathcal{L}(z_i, y_i) = -log\frac{e^{\omega^T_{y_i}z_i/\tau}}{{\sum}^N_{j=1}e^{\omega^T_{y_i}z_i/\tau}}. \tag{25}
L(zi,yi)=−log∑j=1NeωyiTzi/τeωyiTzi/τ.(25)
其中
ω
j
\omega_j
ωj 和
z
i
z_i
zi 归一化为单位长度,
τ
\tau
τ 为温度参数。这相当于余弦分类器(归一化线性激活)[75]——交叉熵损失的一种变体,已应用于长尾识别算法 [16]、[76]、[77]。因此,单独引入可学习参数
ω
\omega
ω 类似于权重在分类分支中的作用,表 3 中的实证结果进一步验证了这一点。
相关工作总结于表 1 中。BatchFormer (BF) [74] 旨在使深度神经网络具备研究每个小批量内样本关系的能力。这是通过在图像之间构建 Transformer 编码器网络来实现的,从而揭示小批量中图像之间的相互关系。BatchFormer 有助于将梯度从每个标签传播到小批量内的所有图像,这一概念反映了对比学习中使用的方法。
嵌入和 Logit 边距 (ELM) [73] 建议同时强制执行嵌入和 Logit 边距,详细分析在对比学习中引入边距修改的好处。TSC [15] 通过在训练过程中预先生成均匀分布的目标并将其在线匹配到每个类别来引入类表示。但是,目标没有类语义。Hybrid-PSC [18]、PaCo [17]、GPaCo [56] 和 BCL [16] 都引入了可学习的参数作为类表示。PaCo 在构建对比样本时还强制进行边距修改。DRO-LT [55] 计算每个类的质心并将其用作类表示,这是与我们最相关的工作。DRO-LT 中的损失函数和不确定性半径是从度量学习和稳健性的角度通过启发式设计设计的。此外,DRO-LT 将样本和相应的质心视为正对。但与SCL不同的是,批次中的其他样本和质心被视为负对,忽略了其他样本的标签信息,这有些悲观。
与上述方法相比,ProCo 严格地从对比损失和对特征分布的简单假设中推导出来。此外,ProCo 还强制执行边距修改,这是长尾识别的关键组成部分。第 4.4 节展示了 ProCo 相对于上述方法的优越性。
实验
在本节中,我们验证了我们的方法在监督/半监督学习中的有效性。首先,我们进行了一系列分析实验来证实我们的假设,并分析了该方法的每个组成部分,包括 1) 表示分支的性能,2) 更多设置的比较,3) 两种损失公式之间的比较,4) 超参数的敏感性分析,5) 数据增强策略。随后,我们将我们的方法与现有的长尾数据集(如 CIFAR-10/100-LT、ImageNet-LT 和 iNaturalist 2018)上的监督学习方法进行了比较。最后,在平衡数据集、半监督学习和长尾物体检测任务上进行了实验,以确认我们的方法的广泛适用性。
数据集和评估协议
我们对四个流行的长尾图像分类数据集执行长尾图像分类实验:CIFAR-10/100-LT、ImageNet-LT 和 iNaturalist。按照 [11]、[76],我们根据训练样本数量将所有类别划分为三个子集:多样本(> 100 张图像)、中样本(20 − 100 张图像)和少样本(< 20 张图像)。报告了各自平衡验证集上的 top-1 准确率。此外,我们还对平衡图像分类数据集和长尾物体检测数据集进行了实验,以验证我们方法的广泛适用性。使用掩码预测的平均准确率 (APm) 来评估实例分割的有效性,该平均准确率以不同的交并比 (IoU) 阈值计算,范围从 0.5 到 0.95,并跨不同类别汇总。稀有、常见和频繁类别的 AP 值分别表示为 APr、APc 和 APf,而检测框的 AP 表示为 APb。
CIFAR-10/100-LT。CIFAR-10-LT 和 CIFAR-100-LT 是原始 CIFAR-10 和 CIFAR-100 [78] 数据集的长尾变体,是通过对原始训练集进行采样得出的。按照 [10]、[12],我们使用指数函数 N j = N × λ j N_j = N \times \lambda_j Nj=N×λj 对 CIFAR-10 和 CIFAR-100 的训练集进行采样,其中 λ ∈ ( 0 , 1 ) \lambda \in (0,1) λ∈(0,1), N N N 是原始训练集的大小, N j N_j Nj 是第 j j j 类的采样量。CIFAR-10 和 CIFAR-100 的原始平衡验证集用于测试。不平衡因子 γ = m a x ( N j ) / m i n ( N j ) \gamma = max(N_j)/min(N_j) γ=max(Nj)/min(Nj) 定义为最常见类和最不常见类的样本数量之比。我们在实验中将 γ \gamma γ 设置为典型值10、50、100。
ImageNet-LT。ImageNet-LT 在 [76] 中提出,它是通过对 ImageNet 的一个子集进行采样而构建的,该子集遵循帕累托分布,功率值 α p = 6 \alpha_p = 6 αp=6。它由来自 1000 个类别的 115.8k 张图像组成,基数范围从 1280 到 5。
iNaturalist 2018。iNaturalist 2018 [7] 是一个严重不平衡的大规模数据集。它包含 8142 个类别的 437.5k 幅图像,不平衡因子 γ = 500 \gamma=500 γ=500,基数范围从 2 到 1000。除了长尾图像分类外,iNaturalist 2018 还用于细粒度图像分类。
CUB-200-2011。Caltech-UCSD Birds-200-2011 [79] 是细粒度视觉分类任务的重要资源。它包含 200 个鸟类子类别的 11,788 幅图像,分为两组:5,994 幅用于训练,5,794 幅用于测试。
LVIS v1。大型词汇实例分割 (LVIS) 数据集 [80] 以其广泛的分类而闻名,涵盖 1,203 个类别,并带有高质量的实例掩码注释。LVIS v1 分为三个部分:一个包含 100,000 张图像的训练集、一个包含 19,800 张图像的验证 (val) 集和一个同样包含 19,800 张图像的测试开发集。训练集中的类别根据其普遍性分为罕见 (1-10 张图像)、常见 (11-100 张图像) 或频繁 (超过 100 张图像)。
实现细节
为了公平地比较长尾监督图像分类,我们严格遵循 [16] 的训练设置。所有模型均使用 SGD 优化器进行训练,动量设置为 0.9。
CIFAR-10/100-LT。我们采用 ResNet-32 [2] 作为骨干网络。表示分支具有一个投影头,其输出维度为 128,隐藏层维度为 512。我们将对比学习的温度参数 τ 设置为 0.1。按照 [16]、[17],我们将 AutoAug [85] 和 Cutout [86] 作为分类分支的数据增强策略,将 SimAug [51] 作为表示分支的数据增强策略。损失权重被平等地( α = 1 \alpha = 1 α=1)分配给两个分支。我们对网络进行了 200 次训练,批处理大小为 256,权重衰减为 4 × 1 0 − 4 4 \times 10^{-4} 4×10−4。我们在前 5 次训练中逐渐将学习率提高到 0.3,并在第 160 次和第 180 次训练中将其降低 10 倍。除非另有说明,我们的组件分析遵循上述训练设置。为了进行更全面的比较,我们还使用类似的学习率计划对模型进行了 400 个时期的训练,只是我们在前 10 个时期提高了学习率,并在第 360 个和第 380 个时期降低了学习率。
为了评估 ProCo 在半监督学习任务中的有效性,我们将训练数据集划分为两个子集:一个带标签集和一个未带标签集。划分是通过随机消除标签进行的。我们主要遵循 DASO [69] 建立的训练范式。DASO 通过计算每个类的平均特征向量来生成伪标签,从而构建其语义分类器。DASO 中的语义分类器被我们的表示分支替换以进行训练。其余超参数与 DASO 中的超参数保持一致。
ImageNet-LT 和 iNaturalist 2018。对于 ImageNetLT 和 iNaturalist 2018,我们采用 ResNet-50 [2] 作为骨干网络,这遵循了大多数先前的研究。表示分支由一个输出维度为 2048 的投影头和一个隐藏层维度为 1024 的投影头组成。分类分支采用余弦分类器。我们将对比学习的温度参数 τ 设置为 0.07。RandAug [87] 用作分类分支的数据增强策略,SimAug 用作表示分支的数据增强策略。我们还为两个分支分配了相等的损失权重 ( α = 1 \alpha = 1 α=1)。该模型训练了 90 个时期,批量大小为 256,学习率计划为余弦。对于 ImageNet-LT,我们将初始学习率设置为 0.1,权重衰减设置为 5 × 1 0 − 4 5 \times 10^{-4} 5×10−4。此外,该模型使用 ResNeXt-50-32x4d [88] 作为主干网络训练了 90 个 epoch,使用 ResNet-50 训练了 180 个 epoch。对于 iNaturalist 2018,我们将初始学习率设置为 0.2,将权重衰减设置为 1 × 1 0 − 4 1 \times 10^{-4} 1×10−4。
成分分析
表示分支的性能。由于 ProCo 基于表示分支,我们首先分析单个分支的性能。图 2 展示了不同方法在不包含分类分支的情况下随批次大小变化的性能曲线。我们遵循 SCL [14] 的两阶段训练策略和超参数。在第一阶段,仅通过表示分支训练模型。在第二阶段,我们训练一个线性分类器来评估模型的性能。从结果中,我们可以直接观察到 BCL [16] 和 SupCon [14] 的性能受到批次大小的显著限制。然而,ProCo 通过引入每个类的特征分布,有效地减轻了 SupCon 对批次大小的限制。此外,表 2 中给出了不同类补充的比较。这里,EMA 和质心原型表示分别由指数移动平均值和特征向量的质心估计类表示。正态分布表示我们使用正态分布来建模每个类的特征分布,即使它们位于归一化的特征空间中。与仅仅估计类原型相比,ProCo 通过估计每个类的特征分布获得了更好的结果。实证结果也证实了第 3.2 节中的理论分析,即 vMF 分布比正态分布更适合建模特征分布。
更多设置的比较。结果总结在表 3 中,我们将 ProCo 与其他几个设置进行比较,以阐明相关组件的有效性。如表所示,logit 调整方法与可学习的类表示相结合时未能实现性能提升(50.5% vs 50.6%,51.8% vs 51.9%)。这一经验证据表明两种方法之间存在一定程度的等价性。此外,将 ProCo 与 SupCon 损失 [14] 结合起来会导致性能略有下降(52.6% vs 52.8%)。这一结果强调了特征分布假设和参数估计在捕捉特征多样性方面的有效性。
损失公式。我们分析了不同的损失公式对 ProCo 性能的影响。这两个公式源自不同的 SupCon 损失 [14],如命题 1 所示。表 4 显示了不同损失公式在 CIFAR-100-LT 上的结果。我们可以观察到
L
i
n
\mathcal{L}_{in}
Lin 的表现优于
L
o
u
t
\mathcal{L}_{out}
Lout。
敏感性测试。为了研究损失权重对模型性能的影响,我们在不平衡因子为 100 的 CIFAR-100-LT 数据集上进行了实验。结果如图 3 所示。很明显,当 α \alpha α 设置为 1.0 时,该模型表现出最佳性能。这表明可以通过将两个分支的损失权重设置为相等来实现最佳性能。因此,我们选择不对每个数据集进行详尽的超参数搜索。相反,我们将相同的损失权重推断到其他数据集。
数据增强策略。数据增强是提高模型性能的关键因素。为了研究数据增强的影响,我们在不平衡系数为 100 的 CIFAR100-LT 数据集上进行了实验。表 5 展示了 AutoAug 策略的影响。在强大的数据增强下,我们的方法实现了更大的性能增强,表明我们的方法在利用数据增强的优势方面是有效的。
长尾监督图像分类
CIFAR-10/100-LT。表 6 展示了 ProCo 和现有方法在 CIFAR-10/100-LT 上的结果。与其他方法相比,ProCo 在处理不同程度的类别不平衡方面表现出色,特别是在不平衡因素较高的情况下。在相同的训练方案下,我们主要与 Logit Adj. [13] 和 BCL [16] 进行比较。将基于对比学习的表示分支与分类分支相结合可以显著提高模型的性能。我们的方法进一步提高了性能,并有效缓解了数据不平衡的问题。此外,我们在表 7 中报告了不平衡因子为 100 的 CIFAR-100-LT 数据集上更长、更详细的结果。在 200 和 400 个 epoch 的情况下,尤其是对于尾部类别,我们的方法与 BCL 相比分别提高了 1.2% 和 2.0%。同时,我们的方法还保持了头部类别的改进。
ImageNet-LT。我们在表 8 中报告了 ProCo 在 ImageNet-LT 数据集上与现有方法相比的性能。在 90 个训练周期内,ProCo 在 ResNet-50 和 ResNeXt-50 上的表现超过 BCL 1.3%,这证明了我们基于分布的类表示在大规模数据集上的有效性。此外,表 9 列出了 ImageNet-LT 数据集更多训练设置的详细结果。ProCo 在尾部类别上的性能提升最为显著。除了与典型的分类分支相结合之外,ProCo 还可以与其他方法相结合以进一步提高模型性能,例如不同的损失函数和模型集成方法。我们还报告了与 NCL [63] 结合的结果。NCL 是一种利用蒸馏和硬类别挖掘的多专家方法。ProCo 展示了 NCL 的性能改进。
iNaturalist 2018。表 8 展示了 ProCo 与现有方法在 iNaturalist 2018 上超过 90 个时期的实验比较。iNaturalist 2018 是一个高度不平衡的大规模数据集,因此非常适合研究不平衡数据集对模型性能的影响。在相同的训练设置下,ProCo 的表现比 BCL 好 1.7%。此外,为了便于与最先进的方法进行比较,进行了 400 个时期的扩展训练计划。表 9 中的结果表明,ProCo 能够有效地扩展到更大的数据集和更长的训练计划。
平衡监督图像分类
我们模型的基础理论对数据不平衡具有很强的鲁棒性,这意味着 ProCo 的推导不受长尾分布的影响。为了支持这一点,我们还对平衡数据集进行了实验,如表 10 所示。对于 CIFAR-100/10 数据集,采用与 CIFAR-100/10-LT 相同的增强和训练参数。此外,我们将实验扩展到细粒度分类数据集 CUB-200-2011。这些结果表明,虽然我们的方法主要针对不平衡数据集设计,减轻了对比学习在这种情况下的固有局限性,但额外的实验也突出了它在平衡训练集上的有效性。这种多功能性凸显了我们的方法不仅能解决
P
(
y
)
P(y)
P(y) 中的不平衡问题,还能解决
P
(
z
/
y
)
P(z/y)
P(z/y) 中的类内分布差异。这些方面与命题 2 中的因素
N
y
N_y
Ny 和
∑
y
{\sum}_y
∑y 相对应。总体而言,结果表明我们的方法在不同数据集上具有广泛的实用性。
长尾半监督图像分类
我们在表 11 中展示了半监督学习的实验结果。Fixmatch [66] 被用作生成伪标签的基础框架,并与长尾半监督学习中的其他方法进行了比较,以评估其有效性。我们主要遵循 DASO [69] 的设置,只是用我们的表示分支代替基于每个类的质心原型的语义分类器进行训练。在保持相同训练条件的情况下,ProCo 在不同级别的数据不平衡和数据集大小上的表现均优于 DASO。具体而言,在数据不平衡程度较高(
γ
=
20
\gamma = 20
γ=20)且未标记数据比例较高(
N
1
=
50
N_1 = 50
N1=50)的情况下,与 DASO 相比,我们提出的方法表现出显着的性能提升(使用 LA),最高可达 2.8%。
长尾目标检测
除了图像分类,我们还将 ProCo 扩展到目标检测任务。具体来说,我们利用 Faster RCNN [4] 和 Mask R-CNN [93] 作为基础框架,将我们提出的 ProCo 损失集成到框分类分支中。该方法是使用 mmdetection [94] 实现的,遵循原始基线的训练设置。如表 12 所示,我们的方法在 LVIS v1 数据集上取得了显着的增强,Faster R-CNN 和 Mask R-CNN 均在各个类别中表现出更好的性能。
总结
在本文中,我们提出了一种针对长尾分布的新型概率对比 (ProCo) 学习算法。具体而言,我们采用合理且直接的 von Mises-Fisher 分布来建模对比学习背景下的样本的归一化特征空间。这种选择有两个关键优势。首先,通过最大似然估计可以有效地估计不同批次之间的分布参数。其次,我们通过从估计分布中抽取无限样本,推导出优化的预期监督对比损失的封闭形式。这消除了监督对比学习的固有局限性,即需要大量样本才能达到令人满意的性能。此外,ProCo 可以直接应用于半监督学习,通过为未标记数据生成伪标签,随后可用于反向估计分布。我们已经从理论上证明了 ProCo 的误差界限。在各种分类和物体检测数据集上的大量实验结果证明了所提算法的有效性。