《Long-Tail Learning via Logit Adjustment》阅读笔记
论文标题
《Long-Tail Learning via Logit Adjustment》
通过 Logit 调整进行长尾学习
作者
Aditya Krishna Menon、Sadeep Jayasumana、Ankit Singh Rawat、Himanshu Jain、Andreas Veit 和 Sanjiv Kumar
来自 Google Research
初读
摘要
- 实际分类问题通常表现出不平衡或长尾的标签分布,其中许多标签仅与少数样本相关联。这对这类标签的泛化提出了挑战,并且使朴素学习偏向于主导标签。
- 在本文中,我们提出了两种简单修改标准 softmax 交叉熵训练的方法,以应对这些挑战。
- 我们的技术回顾了基于标签频率的经典 logit 调整(logit adjustment)思想,可以应用于训练后的模型,或者在训练期间强制执行。
- 这种调整鼓励在稀有标签与主导标签的对数之间产生较大的相对间隔。这些技术统一并泛化了文献中的一些最新提案,同时具有更坚实的统计基础和经验性能。
- 我们方法的参考实现可在以下网址找到:https://github.com/google-research/google-research/tree/master/logit_adjustment。
结论
再读
Section 1 Introduction
-
背景:
- 现实世界的分类问题通常表现出长尾的标签分布,其中大多数标签只与少数样本相关联。由于样本稀少,对这类标签的泛化具有挑战性;
- 此外,这种数据上的朴素学习容易受到对主导标签的不利偏差影响。这一问题在研究类不平衡学习以及相关的敏感学习问题的文献中得到了广泛的研究。
-
最近进展:
最近,在神经网络的背景下,长尾学习重新引起了人们的兴趣。
- 两条活跃的研究线索包括对分类权重的后期归一化以及对底层损失进行修改,以考虑变化的类别惩罚。每条线索都很直观,并且经验上取得了成功。
- 然而,它们并非没有局限性:
- 例如,权重归一化严重依赖于稀有类别的权重范数较小;然而,这一假设对优化器的选择很敏感(见第 2 节)。
- 另一方面,损失修改牺牲了支撑 softmax 交叉熵的一致性(见第 5.2 节)。因此,现有技术即使在简单设置下也可能导致次优解(见第 6.1 节)。
-
本文方法:
- 在本文中,我们提出了两种简单的 softmax 交叉熵训练修改方法,统一并克服了近期一些提案的局限性。
- 我们的技术重新审视了基于标签频率的 logit 调整的经典思想,可以应用于训练后的模型,或作为训练损失的修改。
- 在概念上,logit 调整鼓励在稀有标签和主导标签之间产生较大的相对间隔(relative margin)。
- 这具有坚实的统计基础:与近期技术不同,它对于最小化平衡误差(balanced error,公式(2))是一致的,这是长尾设置中常见的指标,它平均每个类的错误。这种一致性转化为在真实数据集上的强大经验性能。
- 在本文中,我们提出了两种简单的 softmax 交叉熵训练修改方法,统一并克服了近期一些提案的局限性。
-
总之,我们的贡献是:
-
我们提出了两种用于长尾学习的 logit 调整实现,可以后期应用(第 4.2 节)或在训练过程中应用(第 5.2 节)
-
我们确立了 logit 调整克服了近期提案的局限性(见表 1),特别是对于最小化平衡误差(公式 (2))具有费希尔一致性;
- 图片注解:表1:长尾学习方法的比较。权重归一化重新调整分类权重;相比之下,我们在 logits 中添加每类的偏移量。边距方法普遍增加罕见正标签与所有负标签之间的间隔,或者减少所有正标签与罕见负标签之间的间隔,以防止抑制罕见标签的梯度。相比之下,我们增加罕见正标签与主导负标签之间的间隔。
-
我们在真实数据集上验证了所提出技术的有效性(第 6 节)。在我们的分析过程中,我们还提出了一对一标签间隔的 softmax 交叉熵的一般版本(公式 11),它提供了控制标签对整体损失相对贡献的灵活性。
-
Section 2 Problem setup and related work
问题设置及相关工作
-
问题设置:
-
考虑一个多类分类问题,其中实例集为 \(\mathcal{X}\),标签集为 \(\mathcal{Y}=[L]\approx\{1,2,\cdots,L\}\)。给定一个样本 \(S=\{(x_n,y_n)\}^N_{n=1}\sim\mathbb{P}^N\),对于未知的 \(\mathcal{X}\times\mathcal{Y}\) 上的分布 \(\mathbb{P}\),我们的目标是学习一个评分函数 \(f:\mathcal{X}\to\mathbb{R}^L\),以最小化误分类误差 \(\mathbb{P}_{x,y}\left(y\notin\arg\max_{y'\in\mathcal{Y}}f_{y'}(x)\right)\)。通常,人们会最小化一个替代损失函数:\(\mathcal{Y}\times\mathbb{R}^L\to\mathbb{R}\),如 softmax 交叉熵,
\[\mathcal{L}(y,f(x))=\log\left[\sum_{y'\in[L]}e^{f_{y'(x)}}\right]-f_{y}(x)=\log\left[1+\sum_{y'\ne y}e^{f_{y'(x)}-f_y(x)}\right].\qquad(1) \]- 对于 \(p_y(x)\propto e^{f_{y(x)}}\),我们可以将 \(p(x)\approx[p_1(x),\cdots,p_L(x)]\in\Delta_{|\mathcal{Y}|}\) 视为 \(\mathbb{P}(y|x)\) 的估计。
-
在类不平衡或长尾学习的情况下,\(\mathbb{P}(y)\) 的分布高度偏斜,因此许多(罕见或“尾”)标签的发生概率很低。在这种情况下,误分类误差不是一个合适的性能度量:一个将每个实例分类为多数标签的平凡预测器将获得较低的误分类误差。为了应对这一问题,一个自然的替代方法是平衡误差,它平均每个类的错误率:
\[\text{BER}(f)\approx\frac{1}{L}\sum_{y\in[L]}\mathbb{P}_{x|y}(y\notin\arg\max_{y'\in\mathcal{Y}}f_{y'}(x)).\qquad(2) \]这可以看作是隐式使用平衡类概率函数 \(\mathbb{P}^\text{bal}(y|x)\propto\frac{1}{L}\cdot\mathbb{P}(x|y)\),而不是误分类误差中使用的原生 \(\mathbb{P}(y|x)\propto\mathbb{P}(y)\cdot\mathbb{P}(x|y)\)。
-
-
现有方法分类:
广泛地讲,现有处理类不平衡的方法(见表 2)修改了:
- 模型的输入,例如通过过采样或欠采样
- 模型的输出,例如通过事后修正决策阈值或权重
- 模型的内部,例如通过修改损失函数
- 图片注解:表2:类不平衡学习不同方法的总结。
因此,在本文中,我们关注后两类方法,并描述每个方面的几个代表性例子。
-
事后权重归一化(Post-hoc weight normalisation)
-
假设 \(f_y(x) = w^T_y\Phi(x)\),对于分类权重 \(w_y\in\mathbb{R}^D\) 和表示 \(\Phi:\mathcal{X}\to\mathbb{R}^D\),由神经网络学习(我们可以在 \(\Phi\) 中添加每类的偏置项)。
-
一个富有成效的探索途径涉及解耦表示学习和分类器学习。具体来说,我们首先通过在长尾训练样本 \(S\) 上标准训练来学习 \(\{w_y,\Phi\}\),然后对于 \(x\in\mathcal{X}\) 预测:
\[\arg\max_{y\in[L]}w^T_y\Phi(x)/\nu^\tau_y =\arg\max_{y\in[L]}f_y(x)/\nu^\tau_y,\qquad(3) \]- 对于 \(\tau>0\),其中在 Kim 和 Kim [2019] Ye et al. [2020] 中 \(\nu_y=\mathbb{P}(y)\),在 Kang et al. [2020] 中 \(\nu_y=‖w_y‖_2\) 。
- 此外,还可以在训练过程中强制执行 \(‖w_y‖_2 = 1\)。
- 直观地说,无论选择 \(\nu_y\),权重归一化都可以通过权重归一化增加稀有标签的贡献。选择 \(\nu_y=‖w_y‖_2\) 的动机是观察到 \(‖w_y‖_2\) 倾向于与 \(\mathbb{P}(y)\) 相关。
-
-
损失修改(Loss modification)
-
处理类不平衡的一个经典方法是平衡损失,其中 \(\mathcal{L}(y,f(x))\) 通过 \(\mathbb{P}(y)^{−1}\) 进行加权:例如,
\[\mathcal{L}(y,f(x))=\frac{1}{\mathbb{P}(y)}\cdot\log\left[1+\sum_{y'\ne y}e^{f_{y'}(x)-f_y(x)}\right].\qquad(4) \]虽然直观,但在可分离设置中,平衡的效果很小:即使进行加权,实现零训练损失的解决方案也将保持最优。
-
直观地说,我们更希望将分离器向主导类移动。因此,等提出了在合页损失中添加每类边距。Cao 等人[2019]提出了在 softmax 交叉熵中添加每类边距:
\[\mathcal{L}(y,f(x))=\log\left[1+\sum_{y'\ne y}e^{\delta_{y}}\cdot e^{f_{y'}(x)-f_y(x)}\right].\qquad(5) \]其中 \(\delta_y\propto\mathbb{P}(y)^{−1/4}\)。这增加了罕见的“正”标签 \(y\) 的权重,从而强制在罕见正标签 \(y\) 和任何“负”标签 \(y'\) 之间产生更大的间隔。
-
另一方面,Tan 等人[2020]提出了:
\[\mathcal{L}(y,f(x))=\log\left[1+\sum_{y'\ne y}e^{\delta_{y'}}\cdot e^{f_{y'}(x)-f_y(x)}\right].\qquad(6) \]- 其中 \(\delta_{y'}\le0\) 是 \(\mathbb{P}(y')\) 的非递减变换。
动机是,在没有 \(\{\delta_{y'}\}\) 的原始 softmax 交叉熵中,一个罕见标签经常因为不成比例地作为主导标签的负样本而收到强烈的抑制梯度信号。参见 Liu 等人,Wang等人,Khan等人中对 softmax 中负样本的类似加权。
-
-
现有方法的局限性:
上述每种方法都是直观的,并且都展示了强大的经验性能。然而,更仔细的分析揭示了一些微妙的局限性。
-
权重归一化(weight normalisation)的局限性:
-
Kang 等人中提出采用 \(\nu_y=‖w_y‖_2\) 进行事后权重归一化,其动机是观察到权重范数 \(‖w_y‖_2\) 与 \(\mathbb{P}(y)\) 相关。然而,我们现在显示这一假设高度依赖于优化器的选择。
-
我们考虑了 CIFAR-10 和 CIFAR-100 的长尾版本,其中第一个类比最后一个类出现概率高 100 倍。
-
我们使用 SGD 带动量和 Adam 优化器对一个 ResNet-32 进行优化。图 1 确认,在 SGD 下,\(‖w_y‖_2\) 和类先验 \(\mathbb{P}(y)\) 是相关的。
- 图片注解:图1:在带有动量和 Adam 优化器的 ResNet-32 上,5 次运行的每类权重规范的平均值和标准差。我们使用 CIFAR-10 和 CIFAR-100 的长尾版本,并将类按频率降序排序;第一个类比最后一个类出现的概率高 100 倍。两种优化器产生的解决方案具有可比性的平衡误差。然而,权重规范的趋势不兼容:在动量下,规范与类频率强烈相关,而在 Adam 下,规范与类频率呈反相关或独立。因此,Adam 下的权重规范化在对抗类不平衡方面是无效的。
-
然而,使用 Adam 时,规范要么是反相关的,要么与类先验无关。
-
-
这种明显的差异可以从最近对优化器隐式偏差的研究中得到理解;参见附录 F。人们可能希望通过简单地使用 \(\nu_y=\mathbb{P}(y)\) 来避免这一点;不幸的是,即使是这个选择也有局限性(见第 4.2 节)。
-
-
损失修改(loss modification)的局限性:
- 强制执行 (5) 和 (6) 中的每类边距是直观的,因为它允许将决策边界从罕见类中移开。
- 但是,这样做时,确保结果损失对平衡误差的 Fisher 一致性(或分类校准)是很重要的。也就是说,期望损失(在无限样本极限中同样)的极小化者应该导致最小的平衡误差。
- 不幸的是,(5) 和 (6) 在这一点上都不一致,甚至对于二元问题也是如此;详见第 5.2 节和第 6.1 节。
-
Section 3 Logit adjustment for long-tail learning: a statistical view
长尾学习的 Logit 调整:统计观点
上述内容表明,在长尾问题的后处理校正和损失修改方面,还有提高性能的空间。我们现在将展示如何从统计角度看待这个问题,并提出简单的方法,这两种方法都克服了上述讨论的局限性。
-
统计视角:
-
回想一下,我们的目标是最小化平衡误差(2)。一个自然的问题是:对于这个问题,什么是最佳的可能或贝叶斯最优评分器,即 \(f^∗\in\arg\min_{f:\mathcal{X}\to\mathbb{R}^L}\text{BER}(f)\)。显然,这样的 \(f^∗\) 必须依赖于(未知的)基础分布\(\mathbb{P}(x,y)\)。事实上,我们有[Menon等人,2013],[Collell等人,2016,定理1]
\[\arg\max_{y\in[L]}f^∗_y(x)=\arg\max_{y\in[L]}\mathbb{P}^\text{bal}(y|x)=\arg\max_{y\in[L]}\mathbb{P}(x|y),\qquad(7) \]- 其中 \(\mathbb{P}^\text{bal}\) 是根据第 2 节所述的平衡类概率。
换句话说,贝叶斯最优预测是给定实例 \(x\in\mathcal{X}\) 最可能属于的标签。因此,对于固定的类条件 \(\mathbb{P}(x|y)\),任意改变类先验 \(\mathbb{P}(y)\) 都不会影响最优评分器。这在直觉上是可取的:平衡误差对标签分布的不平衡水平是漠不关心的。
-
为了进一步探究(7),假设基础的类概率 \(\mathbb{P}(y|x)\propto\exp(s_y^∗(x))\),其中 \(s^∗:\mathcal{X}\to\mathbb{R}^L\) 是一个(未知的)评分器。由于根据定义 \(\mathbb{P}^\text{bal}(y|x)\propto\mathbb{P}(y|x)/\mathbb{P}(y)\),(7)变为
\[\arg\max_{y\in[L]}\mathbb{P}^\text{bal}(y|x)=\arg\max_{y\in[L]}\exp(s^∗_y(x))/\mathbb{P}(y)=\arg\max_{y\in[L]}s^∗_y(x)−\ln\mathbb{P}(y),\qquad(8) \]即,我们根据类别先验转换(未知的)分布分数或对数。
-
-
这个简单的事实立即提示了两种平衡误差优化的方法:
- 训练一个模型来估计标准的 \(\mathbb{P}(y|x)\)(例如,通过在长尾数据上最小化标准的 softmax 交叉熵),然后按照(8)显式地修改其对数
- 训练一个模型来估计平衡的 \(\mathbb{P}^\text{bal}(y|x)\),其对数根据(8)隐式地修改
- 这些对数调整技术作为一种处理类不平衡的经典方法与第 2 节中讨论的后处理和损失修改流很好地对齐。
- 然而,与这些流中的大多数先前技术不同,对数调整具有明确的统计基础:通过对数调整构建的优化解决方案与平衡误差的贝叶斯最优解(7)一致,即它对于最小化平衡误差是费希尔一致的。我们将在第 6 节展示这一点转化为优越的经验性能。
- 需要注意的是,对数调整可以很容易地扩展到覆盖超过平衡误差的性能度量,例如,为在主导和罕见类别上的错误分配不同的成本;我们将把详细的研究和对比留给未来的工作。
我们现在分别研究每种技术(i)和(ii)。
Section 4 Post-hoc logit adjustment
事后 logit 调整
我们现在详细说明如何对在长尾数据上训练的分类器进行事后 logit 调整。我们进一步展示了这与最近的权重规范化方案相似,但具有一种微妙的优势。
4.1 The post-hoc logit adjustment procedure
事后 Logit 调整程序
-
给定一个长尾数据样本 \(S\sim\mathbb{P}^N\),假设我们学习了一个神经网络,其 logits \(f_y(x)=w^T_y\Phi(x)\)。
- 基于这些,我们通常预测标签 \(\arg\max_{y\in[L]}f_y(x)\)。
- 当使用 softmax 交叉熵进行训练时,我们可以将 \(p_y(x)\propto\exp(f_y(x))\) 视为底层 \(\mathbb{P}(y|x)\) 的近似,因此这等价于预测具有最高估计类概率的标签。
-
在事后对数调整(post-hoc logit adjustment)中,我们建议,对于合适的 τ > 0,预测如下:
\[\arg\max_{y\in[L]}\exp(w^T_y\Phi(x))/\pi^\tau_y=\arg\max_{y\in[L]}f_y(x)−\tau\cdot\log\pi_y,\qquad(9) \]- 其中 \(\pi\in\Delta\mathcal{Y}\) 是类先验 \(\mathbb{P}(y)\) 的估计,例如,在训练样本 \(S\) 上估计的类频率。
-
从本质上讲,(9) 在每个 Logit 上添加了一个与标签相关的偏移量。
- 当 \(\tau=1\) 时,这可以看作是应用了 (8) 的插值估计 \(\mathbb{P}(y|x)\),即 \(p_y(x)\propto\exp(w^T_y\Phi(x))\)。
- 当 \(\tau\ne1\) 时,这可以看作是应用了 (8) 到温度缩放(temperature scaled)的估计 \(\bar{p}_y(x)\propto\exp(\tau−1\cdot w^T_y\Phi(x))\)。
为了理解这一点,回顾一下 (8) 提供了一个基于真实概率 \(\mathbb{P}(y|x)\) 的后处理 logit 阈值的论据。
- 原则上,足够高容量的神经网络的输出旨在模仿这些概率。实际上,这些估计往往未经校准。
- 因此,在应用对数调整之前,可能需要先校准概率。温度缩放是实现这一目标的一种方式,通常在知识蒸馏的背景下使用。
-
对 \(\tau\) 的处理:
-
可以将 \(\tau\) 视为一个调整参数,
- 根据一些保留校准的度量来选择,例如预期校准误差,概率尖锐度,
- 或者适当的评分规则,如对数损失或平方误差。
-
另一种选择是固定 \(\tau=1\) 并试图学习固有校准的概率,
- 例如,通过标签平滑。
-
4.2 Comparison to existing post-hoc techniques
与现有事后分析技术的比较
-
事后对数调整(\(\tau=1\))在类不平衡文献中不是一个新想法。
- 实际上,这是在创建分层样本时和训练二元分类器时的标准技术。
- 在多类设置中,这在 Zhou和Liu[2006],Collell等人[2016] 中进行了探索。然而因为神经网络缺乏校准,\(\tau\ne1\) 在神经网络的实际使用中非常重要。
- 此外,我们现在阐明,事后 logit 调整与最近的事后权重规范化技术相比具有重要的优势。
-
回想一下,权重规范化涉及学习一个评分器 \(f_y(x) = w^\top_y\Phi(x)\),然后通过 \(w_y/\nu^\tau_y\) 对权重进行事后规范化,其中 \(\tau>0\)。
-
我们在第2节中证明,当使用自适应优化器时,使用 \(\nu_y=‖w_y‖_2\) 可能不起作用。
-
然而,即使使用 \(\nu_y=\pi_y\),事后对数调整与事后权重规范化之间也存在微妙的对比:
-
前者对对数进行乘法更新,而后者进行加法更新。
-
因此,这两种技术可能会产生对标签的不同排序,因为:
\[\frac{w^\mathrm{T}_1\Phi(x)}{\pi_1}<\frac{w^\mathrm{T}_2\Phi(x)}{\pi_2}<\cdots<\frac{w^\mathrm{T}_L\Phi(x)}{\pi_L}\substack{\nRightarrow\\ \nLeftarrow}\frac{e^{w^\mathrm{T}_1\Phi(x)}}{\pi_1}<\frac{e^{w^\mathrm{T}_2\Phi(x)}}{\pi_2}<\cdots<\frac{e^{w^\mathrm{T}_L\Phi(x)}}{\pi_L}. \]
-
-
-
权重规范化因此与最小化平衡误差不一致,与对数调整相反。
- 实际上,如果一个罕见的标签 \(y\) 有负分数 \(w^\top_y\Phi(x)<0\),并且另一个标签有正分数,那么权重规范化不可能使 \(y\) 获得最高分数。
- 相比之下,在 logit 调整下,\(w^\top_y\Phi(x)-\ln\pi_y\) 对于主导类来说会更低,无论原始符号如何。
Section 5 The logit adjusted softmax cross-entropy
经 logit 调整的 softmax 交叉熵
我们现在将展示如何直接将 logit 调整融入 softmax 交叉熵中。我们表明这种方法与现有的损失修改技术之间存在直观的关系。
5.1 The logit adjusted loss
logit 调整损失
-
在第 3 节中,优化平衡误差的第二种方法是直接建模 \(\mathbb{P}_\text{bal}(y|x)\propto\mathbb{P}(y|x)/\mathbb{P}(y)\)。为此,考虑以下 \(\tau>0\) 的 logit 调整 softmax 交叉熵损失:
\[\mathcal{L}(y,f(x))=−\log\frac{e^{f_y(x)+\tau\cdot\log\pi_y}}{\sum_{y′\in[L]}e^{f_{y'}(x)+\tau\cdot\log\pi_{y'}}}=\log\left[1+\sum_{y′\ne y}\left(\frac{\pi_{y′}}{\pi_y}\right)^\tau\cdot e^{(f_{y′}(x)−f_y(x))}\right].\qquad\qquad(10) \]给定一个最小化上述损失的评分器,我们现在像往常一样预测 \(\arg\max_{y\in[L]}f_y(x)\)。
- 与标准的 softmax 交叉熵(1)相比,上述方法对每个对数应用了与标签相关的偏移量。
- 与(9)相比,我们在学习对数的同时直接强制执行类先验偏移,而不是事后进行。这两种方法之间有更深的联系:
- 观察到(10)等价于使用一个评分器的格式 \(g_y(x)=f_y(x)+\tau\cdot\log\pi_y\)。因此,我们有 \(\arg\max_{y\in[L]}f_y(x)=\arg\max_{y\in[L]}g_y(x)−\tau\cdot\log\pi_y\)。
- 因此,可以等价地认为,使用这种损失进行学习等同于学习一个标准的评分器 \(g(x)\),并在事后调整其对数以进行预测。
- 对于凸目标,我们不期望两种方法之间的解决方案有任何差异。对于在神经网络中遇到的非凸目标,由于在 logits 上添加 \(\tau\cdot\log\pi_y\) 所带来的偏差,因此很可能导致不同的局部最小值。
-
为了更深入地理解损失,考虑以下成对间隔损失:
\[\mathcal{L}(y,f(x))=\alpha_y\cdot\log\left[1+\sum_{y′\ne y}e^{\Delta_{yy'}}\cdot e^{(f_{y′}(x)−f_y(x))}\right],\qquad\qquad(11) \]- 其中 \(\alpha_y>0\) 是标签权重,\(\Delta_{yy′}\) 表示 \(y\) 和 \(y′\) 之间所需分数的差距。
- 对于 \(\tau=1\),我们的对数调整损失(10)对应于(11)的 \(\alpha_y=1\) 和 \(\Delta_{yy′}=\log\left(\frac{\pi_{y′}}{\pi_y}\right)\)。这要求罕见正标签 \((\pi_{y'}\sim0)\) 和主导负标签 \((\pi_{y'}\sim1)\) 之间的间隔更大,以便主导类的分数不会压倒罕见类的分数。
5.2 Comparison to existing loss modification techniques
与现有损失修正技术的比较
-
相似性:
-
粗略地检查(5)、(6)会发现它们与我们的 logit 调整 softmax 交叉熵(10)有显著的相似性。平衡损失(4)也有相似之处,只是权重是在 logarithm 外进行的(outside the logarithm)。
-
这些损失都是成对间隔损失(11)的特殊情况,该损失强制实施统一的间隔(uniform margins),只考虑正或负标签,与我们的方法不同。
-
例如,\(\alpha_y=\frac{1}{\pi_y}\) 和 \(\Delta_{yy′}=0\) 给出了平衡损失(4)。这不会明确地强制执行标签之间的间隔,这对于可分离问题来说是不理想的。
-
当 \(\alpha_y=1\) 时,选择 \(\Delta_{yy′}=\pi^{-1/4}_y\) 给出了(5)。
-
最后,\(\Delta_{yy′}=\log F(\pi_{y'})\) 给出了(6),其中 \(F:[0,1]\to(0,1]\) 是一个非递减函数,
- 例如,\(F(z)=z^\tau\) 对于 \(\tau>0\)。
-
因此,这些损失要么考虑正标签 \(y\) 的频率,要么考虑负标签 \(y′\) 的频率,但不会同时考虑两者。
-
-
上述对 \(\alpha\) 和 \(\Delta\) 的选择都是直观上合理的。然而,第3节表明,我们的损失(10)具有坚实的统计基础:它确保了平衡误差的 Fisher 一致性。
定理1。对于任何 \(\delta\in\mathbb{R}^L_+\),成对损失(pairwise loss,11)与权重和间隔是 Fisher 一致的(Fisher consistent with weights and margins)。
\[\alpha_y=\delta_y/\pi_y\qquad\qquad\Delta_{yy'}=\log(\delta_{y'}/\delta_y) \]- 观察到当 \(\delta_y=\pi_y\) 时,我们立即推断出(10)的 logit 调整损失是一致的。
- 同样,当 \(\delta_y=1\) 时,我们恢复了平衡损失是一致的经典结果。
- 虽然上述条件只是充分条件,但在二元情况下,我们发现一个必要且充分的条件,可以整洁地封装一致性,从而排除其他选择;见附录 B.1。
- 这表明现有的提案可能在某些设置下因此低于平衡误差,正如在第 6.1 节中经验验证的那样。
5.3 Discussion and extensions
讨论和扩展
-
人们可能会受到诱惑,将(10)中的 logit 调整损失与(9)的后处理调整结合起来。
- 然而,根据第 3 节,这样的方法在统计上是矛盾的。
- 实际上,最小化一个 logit 调整损失鼓励模型估计平衡的类概率 \(\mathbb{P}_\text{bal}(y|x)\)。应用后处理调整会扭曲这些概率,因此预计是有害的。
-
然而,更广泛地说,将 logit 调整与其他技术结合起来是有价值的。
- 例如,定理 1 暗示,将 logit 调整与损失加权结合起来是有意义的;
- 例如,可以选择 \(\Delta_{yy′}=\tau\cdot\log(\pi_{y′}/\pi_y)\),并且 \(\alpha_y=\pi^{\tau−1}_y\)。
- 这与 Cao 等人 [2019] 的发现相似,他们发现将加权与他们的损失结合起来有好处。
- 还可以将定理 1 的公式一般化,并使用 \(\Delta_{yy′}=\tau_1\cdot\log\pi_y-\tau_2\cdot\log\pi_{y'}\),其中 \(\tau_1\), \(\tau_2\) 是常数。
- 这可以在 logit 调整损失(\(\tau_1=\tau_2\))和等化间隔损失(\(\tau_1=0\))之间插值。
- 例如,定理 1 暗示,将 logit 调整与损失加权结合起来是有意义的;
-
Cao 等人 [2019, 定理 2] 为具有二元标签的分离训练数据下自适应间隔损失提供了严格的泛化界。
- 损失与平衡误差不一致的问题关注的是更一般的多类非分离数据场景,这可能是因为标签噪声或模型容量的限制而出现。
- 我们随后将展示,鼓励一致性可以在实际设置中带来收益。
- 我们还看到,将这种损失中隐含的 \(\Delta\) 与我们提出的 \(\Delta\) 结合起来可以带来进一步的收益,表明这两种损失可能具有互补性质。
-
有趣的是,对于 \(\tau=−1\),一个与(10)相似的损失在可扩展性的负面采样上下文中已被考虑:
- 在这里,根据类先验 \(\pi\) 采样一个小负样本集,并对对数进行调整,以获得基于所有负样本的未采样损失函数的无偏估计。
- 具有通用形式(11)的损失也已被探索用于结构预测。
Section 6 Experimental results
实验结果
我们现在介绍的实验证实了我们的主要主张:
- 在简单的二元问题上,现有的权重归一化和损失修正技术可能无法收敛到最优解(第 6.1 节);
- 在真实世界的数据集上,我们的事后 logit 调整优于权重归一化,并且可以通过我们的 logit 调整 softmax 交叉熵获得进一步的收益(第 6.2 节)。
6.1 Results on synthetic dataset
合成数据集的结果
-
实验设置:
-
我们考虑一个二元分类任务,
- 其中来自类 \(y\in\{\pm1\}\) 的样本从具有各向同性协方差的二维高斯分布中抽取,均值 \(\mu_y=y\cdot(+1,+1)\)。
- 通过设置 \(\mathbb{P}(y=+1)=5\%\),我们引入了类不平衡。
-
平衡误差的贝叶斯最优分类器(见附录 G)
\[f^*(x)=+1\Leftrightarrow\mathbb{P}(x|y=+1)>\mathbb{P}(x|y=-1)\Leftrightarrow(\mu_1-\mu_{-1})^\top x>0,\qquad\qquad(12) \]-
即,它是一个过原点的线性分离器。
-
我们将这个分离器与基于(11)的几个间隔损失找到的分离器进行比较:
- 标准 ERM \((\Delta_{yy′}=0)\),自适应损失(\(\Delta_{yy′}=\pi^{−1/4}_y\)),
- 等化损失的一个实例(\(\Delta_{yy′}=\log\pi_{y′}\)),
- 以及我们的对数调整损失(\(\Delta_{yy′}=\log\frac{\pi_{y′}}{\pi_y}\))。
-
-
对于每个损失,我们在 10,000 个实例上训练一个仿射分类器,并在 100 次独立的试验中对一个测试集的 10,000 个样本评估平衡误差。
-
-
实验结果:
- 图片注解:图2:合成二元分类问题的结果。我们的 logit 调整损失跟踪了贝叶斯最优解和分离器(左中面板)。适当缩放的后处理 logit 调整匹配了贝叶斯性能;然而,任何权重规范化都失败了(右面板)。
- 图 2 证实,logit 调整的间隔损失达到了接近贝叶斯最优的平衡误差,这在其学习的分离器上得到了直观的反映,与我们的声称一致,即 logit 调整的间隔损失与平衡误差一致,与其它方法不同。
- 图 2 还比较了后处理权重归一化和 logit 调整对于不同缩放参数 \(\tau\)(参见(3)(9))的情况。logit 调整的性能接近贝叶斯预测器;
- 任何权重规范化都会损害性能。这验证了 logit 调整的一致性,以及权重规范化与平衡误差的不一致性(第4.2节)。
6.2 Results on real-world datasets
真实世界数据集的结果
-
数据集:
- 我们展示了在 CIFAR-10、CIFAR-100、ImageNet 和 iNaturalist 2018 数据集上的结果。
- 遵循先前的研究,我们通过适当降低每个标签的示例数量来创建 CIFAR 数据集的“长尾版本”,这些示例数量遵循 Cui 等人、Cao 等人的 Exp 分布,不平衡比 \(\rho=\max_y\mathbb{P}(y)/min_y\mathbb{P}(y)=100\)。
- 同样,我们使用了由 Liu 等人制作的 ImageNet 的长尾版本。
- 对于 CIFAR,我们使用 ResNet-32;对于 ImageNet 和 iNaturalist,我们使用 ResNet-50。
- 所有模型都使用带有动量的 SGD 进行训练;
- 更多细节请参见附录 D。此外,请参见附录 E.1,了解在文献中考虑的 Step 分布下的 CIFAR 结果。
- 我们展示了在 CIFAR-10、CIFAR-100、ImageNet 和 iNaturalist 2018 数据集上的结果。
-
基线:
-
方法选择:
我们考虑:
- 在长尾数据上进行经验风险最小化(ERM);
- 事后权重规范化使用 \(\nu_y = ‖w_y‖_2\) 和 \(\tau=1\))应用于 ERM(根据(3));、
- 自适应间隔损失(根据(5));
- 等化损失(对于 Tan 等人基于阈值的 \(F\),\(\delta_{y′}=F(\pi_{y′ })\))。
- Cao 等人展示了他们自适应间隔损失的优越性能,与包括(4)中的平衡损失和 Cui 等人的方法在内的其他基线相比。
- 在可能的情况下,我们从各自的论文中报告了基线(使用与上述相同的设置)的数字。
- 此外,我们还在结论部分讨论了改进此类方法性能的扩展。
-
我们对比了上述方法与我们提出的后处理 logit 调整(9)和 logit 调整损失(10)。对于后处理 logit 调整,我们固定标量 \(\tau=1\);我们在图 3 中分析了调整此参数的效果。我们没有进一步调整我们的 logit 调整技术。
-
-
结果与分析:
-
表 3 总结了我们的结果,表明我们提出的方法在一致性上优于现有方法。
-
图片注解:表3:真实世界数据集上的测试集平衡误差(5 次试验的平均值)。
- 对于 CIFAR 数据集,我们使用 ResNet-32;
- 对于 ImageNet 和 iNaturalist 数据集,我们使用 ResNet-50。
- 这里,\(\dagger\)、\(*\) 表示 Cao 等人[2019,表2、3]中的 “LDAM + SGD” 和 Kang 等人[2019,表3、7] 中的 “\(\tau\) -规范化” 的数字。
- 这里,\(\tau=\tau^∗\) 指的是使用调谐参数 \(\tau\) 的最佳可能值。请参见图 3 以 \(\tau\) 为函数的图,以及“讨论”小节以获取进一步的扩展。
-
实际上,虽然权重规范化在 ERM 上提供了改进,但通过事后 logit 调整(例如,在 CIFAR-10 上相对减少了 8% 的错误率)可以显著提高这些改进。
-
同样,损失校正技术通常被我们的对数调整的 softmax 交叉熵所超越(例如,在 iNaturalist 上相对减少了 6% 的错误率)。
-
-
图 3 研究了事后权重规范化(使用 \(\nu_y=‖w_y‖_2\))和事后 logit 调整所提供的缩放参数 \(\tau>0\) 的效果。
-
图片注解:图 3:当变化缩放参数 \(\tau\)(参见(3),(9))时,事后校正技术之间的平衡误差比较。事后 logit 调整始终优于权重规范化。
-
即使没有任何缩放,事后 logit 调整通常也优于权重规范化中最佳结果(见表 3);
-
加上缩放,这种优势进一步增加。有关 ImageNet-LT 的图见附录 E.4。
-
-
图 4 将 CIFAR-10、CIFAR-100 和 iNaturalist 上的每类准确率进行分解。在后者两个数据集上,为了便于可视化,我们将类按照频率排序的顺序聚合为十个组(因此,例如,组 0 包括最频繁的L 10 个类)。
-
图片注解:图 4:损失修改技术的每类错误率。对于 (b) 和 (c),我们将类聚类为 10 组。ERM 对主导类(较低索引)表现出强烈的偏差。我们提出的 logit 调整的 softmax 损失在罕见类(较高索引)上取得了显著的改进。
-
正如预期,主导类在所有方法中通常具有较低的错误率。但是,logit 调整损失被看到在罕见类上系统地提高了性能,尤其是与 ERM 相比。
-
尽管我们的 logit 调整技术表现相似,但损失函数版本略占优势。然而,事后 logit 调整的强性能证实了在长尾设置中解耦表示学习和分类器学习的能力。
-
-
-
讨论与扩展:
-
表 3 显示了在文献中的标准设置下,logit 调整相对于最近的后处理和损失修改提案的优势。我们认为通过融合互补的思想可以实现进一步的改进,并指出四种这样的选项。
-
首先,可以使用更复杂的基架构;
-
我们的选择在文献中是标准的,但,例如,Kang 等人发现,在 ImageNet-LT 上通过使用 ResNet-152 并延长训练时间(200 个周期而不是通常的 90 个周期)可以获得收益。表 4 确认了这一点。
- 图片注解:表 4:在更复杂的基架构下,真实世界数据集上的测试集平衡误差(5 次试验的平均值)。使用 ResNet-152 被看到可以系统地提高所有方法的性能,对数调整仍然优于现有方法。最后一行报告了与 Cao 等人的自适应间隔损失相结合的结果,这为 iNaturalist 带来了进一步的改进。
-
例如,在 iNaturalist 上,我们获得的平衡误差为 31.15%。根据 Kang 等人的建议,延长训练周期(200 个周期),这一数字进一步改善到 30.12%。
-
-
第二,可以将各种特殊情况下成对间隔损失的 \(\Delta\) 结合起来。
- 事实上,我们发现将我们的相对间隔与 Cao 等人的自适应间隔结合起来——即使用具有 \(\Delta_{yy′}=\log\frac{\pi_{y′}}{\pi_y}+\frac{1}{\pi^{1/4}_y}\) 的成对间隔损失——在 iNaturalist 上取得了 31.56% 的 top-1 精度。
- 当使用 ResNet-152 时,在 90 个周期内训练,这一数字进一步改善到 29.22%,在 200 个周期内训练,进一步改善到 28.02%。尽管这种组合名义上是启发式的,但我们认为有研究的空间,例如,在诱导的泛化性能方面。
-
第三,Cao 等人观察到,他们的损失受益于一种延迟重新加权方案(DRW),其中模型开始正常训练,然后在固定数量的周期后应用类加权。
- 在 CIFAR-10-LT 和 CIFAR-100-LT 上,这分别实现了 22.97% 和 57.96% 的错误率;这两个数字都优于我们的原始对数调整损失。
- 在 iNaturalist 上使用 ResNet-50 时,这实现了 32.0% 的错误率,优于我们的 33.6%。(请注意,我们的相对间隔和自适应间隔的简单组合优于这些 DRW 报告的数字。)
- 然而,鉴于我们的损失在 SGD 下与 Cao 等人的损失相比取得了显著改进,我们预计当这两种方法都使用 SGD 时,使用 DRW(适用于任何损失)可能对我们方法同样有益。
-
第四,根据第 2 节,可以进行数据增强;
- 例如,参见 Tan 等人[2020,第 6 节]。
- 尽管进一步探索这些变体具有实证意义,但我们希望已经展示了 logit 调整的概念价值和经验价值,并将其留作未来的工作。
-
附录
A Proofs of results in body
正文中的结果证明
定理 1 的证明。令 \(\eta_y(x)=\mathbb{P}(y|x)\)。假设我们使用间隔 \(\Delta_{yy′}=\log\frac{\delta_{y′}}{\delta_y}\)。则,损失为
因此,在常数权重 \(\alpha_y=1\) 下,贝叶斯最优评分将满足 \(f^∗_y(x)+\log\delta_y=\log\mu_y(x)\),或者 \(f^∗_y(x)=\log\frac{\eta_y(x)}{\delta_y}\)。
现在假设我们使用一般的权重 \(\alpha\in\mathbb{R}^L_+\)。在这种损失下的风险是
其中 \(\bar{\pi}\propto\pi_y\cdot\alpha_y\)。因此,在加权损失下学习等价于在具有修改的基础率 \(\bar{\pi}\) 的分布上学习。在这种分布下,我们有类条件分布
因此,假设 \(\alpha_y=\frac{\delta_y}{\pi_y}\)。那么,
其中 \(C(x)\) 不依赖于 \(y\)。因此,\(\arg\max_{y\in[L]}f^∗_y(x)=\arg\max_{y\in[L]}\frac{\eta_y(x)}{\pi_y}\),这是平衡误差下的贝叶斯最优预测。
总的来说,通过选择任何一组常数 \(\delta_y>0\) 并设置
可以得到一致的族。
B On the consistency of binary margin-based losses
关于基于二元间隔的损失的一致性
在二元情况下研究成对间隔损失(11)是有启发性的。给损失赋予一个温度参数 \(\gamma>0\),我们得到
对于常数 \(\omega_{\pm1},\gamma>0\) 和 \(\delta_{\pm1}\in\R\)。这里,我们使用了 \(\delta_{+1}=\Delta_{+1,−1}\) 和 \(\delta_{−1}=\Delta_{−1,+1}\) 以便简化。选择 \(\omega_{\pm1}=1,\delta_{\pm1}=0\) 可以恢复温度缩放的二元逻辑损失。显然,当 \(\gamma\to+\infty\) 时,这些收敛到具有可变间隔的加权铰链损失。
我们研究了这一族损失的两种属性。首先,在什么条件下,这些损失对于平衡误差是费希尔一致的?我们将展示实际上有一个简单条件可以描述这一点。其次,这些损失是否保持了原始二元逻辑损失的适当性?我们将展示情况总是如此,但损失涉及根本不同的近似。
B.1 Consistency of the binary pairwise margin loss
二元成对间隔损失的一致性
未完待续