跳转至

Decision Boundary-aware Generation for Long-tailed Learning

会议: CVPR 2026
arXiv: 2605.01468
代码: https://github.com/keepdigitalabc-svg/DBG (有)
领域: 长尾学习 / 生成式数据增广 / 扩散模型
关键词: 长尾识别, 决策边界, 扩散生成增广, 对抗样本, 数据清洗

一句话总结

针对"用扩散模型 + 头→尾特征迁移补长尾数据"会暗中把头类特征泄漏到尾类、模糊决策边界的问题,本文先用三个指标把这种"边界模糊"量化出来,再提出 DBG:用对抗去类化噪声把样本推到决策边界附近、重标成 \(k\) 个最易混淆类,并用分类器驱动的双路清洗丢掉有害样本,在 CIFAR-LT 上对所有生成式 baseline 都能降低类间重叠、提升尾类与整体精度。

研究背景与动机

领域现状:长尾数据让分类器的决策边界偏向头类、压缩尾类,尾类精度差。近年主流做法是用扩散模型做生成式增广来补尾类样本,并进一步引入头→尾特征迁移(head-to-tail transfer)——借用数据丰富的头类特征去合成尾类样本,缓解生成器从长尾数据里继承的"偏向头类"偏置,让决策空间更均匀。

现有痛点:这些方法只盯着"让决策空间更均匀",却几乎不分析头→尾迁移带来的副作用。本文指出:头→尾迁移在均衡决策空间的同时,会引入一种潜在、不受控的非局部特征泄漏——头类特征混进尾类样本,使类间分布相互纠缠,造成类间重叠(inter-class overlap)尾类分布漂移(tail drift)。结果是一个"更均匀但高度重叠"的决策空间,尾类学习的收益被抵消。作者把这个问题命名为边界模糊(boundary ambiguity)

核心矛盾:均匀(uniformity)和可分(separability)被混为一谈。头→尾迁移只优化了类间分布的均衡,却牺牲了类间可分性;而真正决定分类难度的是后者。没有一个平衡参照,泄漏出去的特征很难再解耦回来。

本文目标:(1) 把"边界模糊"这个此前只是定性观察的现象变成可测量的量;(2) 设计一种生成方案,主动去补边界附近的有效样本,把被泄漏特征糊掉的决策边界重新"修锐"。

切入角度:与其用头类特征"涂抹"尾类(迁移),不如换个角度——既然问题出在边界,就直接在边界附近造样本。作者借鉴对抗攻击:对抗噪声能在保持视觉语义的前提下把样本推过决策边界,正好可以生成"贴着边界"的信息量样本。

核心 idea:用对抗式的"去类化 + 重标向最近邻类"生成贴边界样本,再用分类器把生成出来的有害样本清洗掉,从而在补数据的同时把决策空间修得"既均匀又可分"。

方法详解

整体框架

DBG 的输入是长尾数据集和一个在其上训练好的分类器,输出是一份"贴边界"的增广样本集 \(S_{adv}\),作为即插即用的辅助训练集与原数据合并 \(\mathcal{D}_{\mathrm{aug}}=\mathcal{D}\cup\{(x,\tilde{y}):x\in S_{adv}\}\) 重训分类器。整条管线分三步:先用边界模糊分析这套三指标诊断头→尾迁移到底坏在哪(这是动机也是度量工具),再用边界感知样本生成器造贴边界样本,最后用分类器驱动双路清洗把其中有害的样本筛掉。前者诊断、后两者是 DBG 本体的两大组件。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["长尾数据集 + 预训练分类器"] --> B["边界模糊分析<br/>三指标量化重叠/漂移"]
    B --> C["边界感知样本生成器<br/>去类化噪声→重标 k 近邻类"]
    C --> D["分类器驱动双路清洗<br/>原型距离 + 置信可信度"]
    D --> E["贴边界增广集 S_adv"]
    E --> F["与原数据合并重训分类器"]

关键设计

1. 边界模糊的三指标量化:把"决策边界被糊掉"变成可测的数

痛点是此前大家只能定性说"头→尾迁移让边界变模糊",无法证明也无法对比。作者设计三个互补指标,专测决策空间的均匀性与可分性。类间重叠度(inter-class overlap degree):把测试特征 \(L_2\) 归一化投到单位超球 \(y=z/\|z\|_2\),对每个类拟合 von Mises–Fisher 密度 \(p_c(y)=C_d(\kappa_c)\exp(\kappa_c\mu_c^\top y)\),再用 Bhattacharyya 系数 \(\widehat{\mathrm{BC}}(c,c')=\log(\frac{1}{m}\sum_i\sqrt{p_c(y)p_{c'}(y)})\) 测两类分布的重叠,BC 越低越可分。离群样本率(outlier rate):对每个测试样本算类内最近邻距离 \(d_i^{(c)}\),标准化后超过阈值 \(\lambda\) 的标为离群 \(o_i^{(c)}=\mathbb{I}[s_i^{(c)}>\lambda]\),类离群率 \(\eta_c=\frac{1}{n_c}\sum_i o_i^{(c)}\) 反映类内分布漂移。生成置信度(generation confidence):用一个改造的 CFG 引导 \(\hat{\varepsilon}_{tm}=(1-s)\varepsilon_\theta(x_t,y_t,t)+s\,\varepsilon_\theta(x_t,y_d,t)\),把目标类 \(y_t\) 和干扰类 \(y_d\) 混着生成,再喂给均衡分类器看置信度 \(Conf=\ell_{y_t}(x_g)\) 与可信度 \(Cred=p_{(1)}-p_{(d)}\),二者越低说明特征纠缠越重。实验证实:引入头→尾迁移后类间重叠回升、离群率升高(尾类尤甚)、生成置信度下降——三条证据共同坐实"头→尾迁移是把双刃剑"。

2. 边界感知样本生成器:先去类化把样本推到边界,再重标向最近邻类

既然要补的是边界附近的信息,生成器就分两阶段做。条件加噪(conditional noising):先用随机噪声把样本打到中间时间步 \(x_m=\sqrt{\bar\alpha_m}x_0+\sqrt{1-\bar\alpha_m}\hat\epsilon_r\)\(m=T/2\),便于改深层类特征),再在源标签 \(y_{sl}\) 引导下迭代 \(K=T/10\) 步预测并抑制该类的类特有噪声 \(\hat\varepsilon_c=\varepsilon_\theta(x_t,y_{sl},t)\)——这一步在"擦掉类特有特征、把样本拉向边界"和"别漂离源流形太远"之间卡了个有限步数。条件去噪(conditional denoising):用标准 CFG 反向去噪 \(x_{t-1}=\sqrt{\bar\alpha_{t-1}}\hat{x}_0+\sqrt{1-\bar\alpha_{t-1}}\hat\varepsilon_t(x_t,t,\tilde{y})\),但重标的目标 \(\tilde{y}\) 取自与 \(x_0\) 真值最易混淆的 \(k\) 个类\(\tilde{y}=\arg\max_{c\in\mathcal{C}_k(x_0)}f(x_0)\)\(\mathcal{C}_k(x_0)=\mathrm{TopK}(f(x_0),k)\)\(k=\lfloor C/w\rfloor\)\(C\) 为总类数,\(w\) 为稳定权重)。这样生成的样本既贴着边界又不发生大的语义跳变,把"最该被补强"的混淆边界喂给分类器;相比头→尾迁移粗暴地拿头类特征涂尾类,这里是有目标地补边界而非补类中心

3. 分类器驱动双路清洗:丢掉生成器制造的"有害硬样本"

痛点是生成器从长尾数据继承了偏置、且生成器与分类器特征空间不对齐,会造出一批带坏类特征的对抗样本——这些硬样本非但给不了准确的边界监督,反而会进一步破坏边界。清洗用两条并行分支。原型距离过滤(prototype-distance):先用 logit adjustment loss 在源长尾数据上训好分类器 \(f_\theta\),对每类算归一化原型 \(\mu_k=\frac{1}{N_k}\sum \tilde{z}(x_i)\),再算每个生成样本到目标类原型的余弦距离 \(d_c(\hat{x}_0)=1-\langle \tilde{z}(\hat{x}_0),\mu_k\rangle\),落在类自适应接受区间 \([(1-l)d_c^l,(1+h)d_c^h]\) 之外的(极端离群样本、离边界过远的样本)丢掉。置信–可信度过滤(confidence-credibility):按 Eq.7 算分类器对样本的置信与可信度(干扰类取第二高预测类),用按类样本数定的类阈值 \(a\)只有当样本被高置信高可信地误分到既非原类也非目标类时才删——这条规则刻意对长尾偏置不敏感,避免把本就稀少的尾类样本误删。两路清洗后剩下的 \(S_{adv}\) 才作为即插即用辅助集去修边界

损失函数 / 训练策略

DBG 不改分类器的损失,是即插即用的数据层方案:清洗后的 \(S_{adv}\) 与原长尾数据合并后用常规流程重训分类器。超参 \(w=3\)\(l=0.02\)\(h=0.05\)(CIFAR),置信阈值 \(a\) 从 0.9 线性退火到 0.5,离群阈值 \(\lambda\)\([2.5,3.0]\) 上取 5 个值求均值。分类器骨干用 ResNet-32(200 epoch,batch 128,初始 lr 0.1,160/180 epoch 各 ×0.1)与 ViT-B/16(100 epoch,batch 32,lr \(1\times10^{-4}\),weight decay 0.01)。

实验关键数据

主实验

DBG 作为即插即用辅助集叠加到四个生成式 baseline(CBDM-based、CBDM、OCLT、DiffuLT)上,CIFAR100-LT / CIFAR10-LT、两种骨干、三档不平衡比(10/100/200),报 Head/Med/Tail/All Top-1 精度。下表取 ResNet-32 在 CIFAR100-LT、不平衡比 100 的代表性结果(%):

Baseline Head Med Tail All +DBG All
CBDM-based 66.30 52.85 25.93 48.81 50.37
CBDM 69.10 53.75 28.60 50.81 51.21
OCLT 68.70 52.38 25.73 49.28 50.25
DiffuLT 68.10 51.20 29.37 49.72 51.07

整体提升以"全数据集平均(AVG 列)"衡量更稳:ResNet-32/CIFAR100-LT 上 CBDM-based +DBG 平均 ↑1.57、DiffuLT ↑0.60;ViT-B/16 上增益更明显,CBDM-based +DBG 在 CIFAR100-LT ↑1.93、DiffuLT ↑2.00。提升主要落在尾类(如 CBDM-based 尾类 25.93→26.72,DiffuLT 在 ratio-200 尾类 19.13→19.43),印证"贴边界样本主要补强尾类可分性"。

骨干 / 数据集 CBDM-based+DBG DiffuLT+DBG
ResNet-32 / CIFAR100-LT (AVG) ↑1.57 ↑0.60
ResNet-32 / CIFAR10-LT (AVG) ↑0.65 ↑0.30
ViT-B/16 / CIFAR100-LT (AVG) ↑1.93 ↑2.00
ViT-B/16 / CIFAR10-LT (AVG) ↑1.61 ↑1.51

唯一负向是 ResNet-32 + CBDM 在 CIFAR10-LT 上 AVG ↓0.13——作者解释为 CBDM 自带很强的尾偏置损失,已把尾类压得很好,DBG 的边界增益空间被挤掉,但整体决策空间仍更优。⚠️ 横向比较时注意不同骨干/不平衡比难度不同,AVG 是跨三档平均、不能与单档 All 直接比大小。

消融实验

CIFAR100-LT、不平衡比 100、ResNet-32,从零重训分类器,逐个去掉生成(Gen.)/原型距离过滤(PD.)/置信可信度过滤(CC.):

配置 Head Med Tail All 说明
标准训练(无增广) 64.1 35.6 8.6 36.1 长尾基线
CBDM-based 66.3 52.8 25.9 48.8 生成 baseline
Gen. only 66.4 50.5 23.2 47.0 只生成不清洗,反而掉点
Gen.+PD. 69.2 52.7 27.6 50.1 加原型距离过滤
Gen.+CC. 68.4 48.9 23.5 47.1 只加置信可信度过滤
Full (Gen.+PD.+CC.) 70.1 53.4 26.7 50.4 完整 DBG

关键发现

  • 清洗是必需而非锦上添花:只生成不清洗(Gen. only)All 仅 47.0,比 CBDM-based 的 48.8 还低——没清洗的对抗样本确实会进一步破坏边界。两路过滤都加上才到 50.4。
  • 原型距离过滤贡献最大:Gen.+PD. 单独就到 50.1,而 Gen.+CC. 只到 47.1,去掉 PD. 掉点最猛,说明"丢离群/离边界太远的样本"是清洗的主力。
  • 超参不敏感\(h\)\(l\) 在小范围变动(表 6)对整体精度影响极小(Overall 在 49.3–50.4 间),作者称已取到最优值,方法鲁棒。
  • 定量验证边界质量:注入 DBG 数据后,三指标里的类间重叠度、离群率在各 baseline 上普遍下降,t-SNE 也显示类间距增大、类内更紧凑,直接证明"边界被修锐"。

亮点与洞察

  • 把模糊概念做成可测指标,再用指标驱动方法设计:三指标(vMF+BC 重叠度、最近邻离群率、改造 CFG 的生成置信度)既是诊断工具也是验收标准,"先证明问题存在、再针对性解决"的科研闭环很完整,这套度量本身可复用到任何生成式长尾工作上做体检。
  • 对抗攻击换个用途:对抗噪声通常用来攻击/评测鲁棒性,这里反过来当"把样本精准推到决策边界"的工具——重标向 TopK 最易混淆类,等于专挑分类器最纠结的边界去补料,比头→尾迁移盲目涂抹头类特征更有的放矢。
  • "生成 + 清洗"的解耦思路可迁移:生成器只管造、清洗器只管筛,且清洗器刻意设计成对长尾偏置不敏感(按类样本数定阈值、只删高置信误分到第三方类的样本)。这种"宽松生成、保守清洗、且清洗不二次引入偏置"的范式,对任何"生成数据质量参差"的增广任务都有借鉴价值。

局限与展望

  • 作者承认:扩散模型自身继承的长尾偏置仍会削弱 DBG 生成样本的有效性——源头偏置没根治,DBG 是在下游补救。
  • 实验只在 CIFAR10/100-LT 两个小数据集上验证,没有 ImageNet-LT、iNaturalist 等大规模长尾基准,泛化性证据偏弱;增益幅度整体偏小(多数 AVG 提升 <1%,且 CBDM 上偶有负向)。
  • 引入了 \(w/l/h/a/\lambda\) 多个超参,虽称对 \(h,l\) 不敏感,但每类自适应接受区间、置信阈值退火等仍需调,且生成 + 清洗 + 重训的多阶段流程计算开销不低。
  • 展望:作者拟研究自适应清洗与基于微调的方法适配,进一步修复长尾决策边界。可补的方向还有把"边界模糊三指标"做成训练时的可微正则,而非只做事后增广。

相关工作与启发

  • vs 头→尾迁移类方法(DiffuLT / Shao et al.): 它们借头类特征合成尾类、追求"均匀决策空间",本文证明这会引入非局部特征泄漏、反而升高类间重叠;DBG 不做迁移,而是对抗式贴边界生成 + 清洗,追求"既均匀又可分"。DBG 还能叠加在这些方法之上做增益。
  • vs 对抗样本做长尾增广(Liu et al.): 已有工作用"向头类样本做对抗攻击"重构尾样本,本文则用对抗去类化把样本推到边界并重标向 \(k\) 近邻混淆类,目标是补边界知识而非单纯重构尾样本,且额外加了双路清洗防止有害对抗样本反噬。
  • vs 纯扩散生成(CBDM): CBDM 用长尾数据训扩散补缺失样本,DBG 在其生成数据之外再叠加一份贴边界辅助集,是即插即用的正交增强,实验里对 CBDM、OCLT、DiffuLT 全部 baseline 都有效。

评分

  • 新颖性: ⭐⭐⭐⭐ 把"边界模糊"做成可测指标并用对抗去类化补边界,视角新颖、问题诊断扎实。
  • 实验充分度: ⭐⭐⭐ 覆盖两骨干/四 baseline/三不平衡比且有消融与定量边界分析,但只在 CIFAR-LT 上、增益普遍偏小、缺大规模基准。
  • 写作质量: ⭐⭐⭐ 动机与度量讲得清楚,但缩写(DBG/GBT/DGB)和命名("Generative Boundary-aware")有多处笔误,公式排版略乱。
  • 价值: ⭐⭐⭐⭐ 三指标度量工具 + "生成—清洗"解耦范式对生成式长尾增广有普适借鉴意义。