Contrastive Conditional–Unconditional Alignment for Long-tailed Diffusion Model¶
会议: ECCV2026
论文: ECCV 原文
领域: 图像生成
关键词: 长尾生成 / 扩散模型 / 对比学习 / 条件-无条件对齐 / 类不平衡
一句话总结¶
针对长尾数据下类别条件扩散模型尾部类模式坍缩的问题,本文不改网络结构、不增加推理开销,只在训练目标上加两项互补正则——用「只有负样本」的无监督对比损失把无条件分支的中间隐表征互相推开,再把条件与无条件分支的去噪预测在大时间步(去噪初始阶段)对齐,从而把头部类的数据红利隐式传给尾部类,在 ImageNet-LT 256×256 上把 FID 从 19.9 降到 15.1、尾部 FID 从 33.9 降到 22.5。
研究背景与动机¶
类别条件图像生成的真实训练数据几乎总是长尾的:头部类动辄上千张图,尾部类可能只有几十张。用这种数据训扩散模型(DDPM、SiT/DiT 等)时,尾部类既保不住保真度也保不住多样性——模型会把尾部类的合成结果坍缩到那几十张训练图附近,视觉上表现为同一张脸、同一个构图反复出现。先前工作在别的生成模型上找过对策:长尾识别里对比学习是公认有效的手段;长尾 GAN 里 UTLO 之类的做法是让低分辨率表征走无条件生成目标,靠头部类的数据把尾部类的早期生成行为「带起来」。但这两条经验直接搬到条件扩散模型上都不成立。监督对比学习对同类样本施加吸引,压制的恰恰是尾部类最缺的类内多样性;而把标准 InfoNCE 直接加在条件分支的隐表征上(并发工作 Dispersive Loss 的做法)会落进一个平凡解——见下面的设计 3。
核心矛盾就在这里:尾部类需要的是类内多样性,而条件隐表征上做对比学习最省力的解法是让同类样本的隐表征趋于一致(把类间互信息拉满),优化器会优先走这条捷径,也就是模式坍缩本身。同时,尾部类只有几十张图,任何只作用于条件分支、只由尾部样本自己提供监督的正则项,都缺乏足够的数据支撑;而简单地把尾部类与头部类「对齐」又会直接损害头部类质量。所以本文要找的是一条既能借用头部类数据、又不会把尾部类拉平成单一模样的路径。
本文的切入角度是把对比学习挪到无条件分支上:无条件分支不携带类别标签,对它做「只有负样本」的对比必然提升所有样本之间的差异(无论类别),这份多样性是「样本级」的;再用一个对齐损失把条件分支在大时间步上拉向无条件分支,等于把这份多样性蒸馏进条件生成。大时间步对齐的依据来自一个已有观察:去噪初始阶段各图像主要由共有的低频结构决定,类别条件在这一步本来就没什么可说的,把它变成类别无关不会削弱后期的条件可控性,反而让尾部类与头部类共享同一套早期去噪行为,从而吃到头部类的数据量。核心 idea:不在条件分支上直接做对比,而是「无条件分支互相推开 + 条件分支在大时间步对齐无条件分支」这对协同损失,隐式地给条件生成注入样本级多样性。
方法详解¶
整体框架¶
本文是纯训练目标层面的改进,网络结构一行不改:把任意一个去噪网络(U-Net 或 Diffusion Transformer,如 SiT)在概念上拆成编码部分 \(e(\cdot)\) 和解码部分 \(d(\cdot)\),\(e\) 把带噪图 \(x_t\) 编码成低维隐表征 \(h\),\(d\) 把 \(h\) 解码成噪声预测 \(\epsilon_\theta\)。两项新损失都挂在这条通路上:无监督对比损失(UCL)只用到无条件分支的隐表征 \(h = e_\theta(x_t, t, \varnothing)\);对齐损失(AL)需要同一个 \(x_t\) 走两次前向,分别拿到条件噪声预测 \(\epsilon_\theta(x_t, t, c)\) 与无条件噪声预测 \(\epsilon_\theta(x_t, t, \varnothing)\)。训练时把标准 DDPM 去噪损失与这两项加权相加端到端优化,推理时照旧只用条件分支,因此采样流程和推理开销完全不变。
需要强调的是两项损失分工明确、缺一不可:UCL 负责「把无条件生成推散」,AL 负责「把条件生成拉向推散后的无条件生成」。条件生成的多样性不是被直接优化的,而是通过这两步间接得到的——这正是它与在条件分支上直接加对比损失的并发工作(Dispersive Loss)最本质的区别。
关键设计¶
1. UCL:只在无条件分支上、只用负样本的对比损失,把不同样本的隐表征推开
痛点很直接:尾部类训练图极少,一个 mini-batch 里那几张图反复出现,网络很快把它们记下来,合成结果就坍缩到少数训练样本附近。作者的做法是把 mini-batch 里每张带噪图的隐表征当作锚点,锚点的正样本就是它自己(不做任何数据增强,这是与常见无监督对比学习不同的地方),batch 内其余所有样本都是负样本,代入标准 InfoNCE:
其中 \(h_i = e_\theta(x_i^t, t, \varnothing)\) 是归一化后的无条件隐表征,温度 \(\tau\) 默认取 0.1。这个式子为什么能提升多样性?分子的自相似度恒为最大、且不随优化改变,所以最小化损失只能通过压低分母里所有两两相似度来实现,几何上的最优解是隐表征均匀散布在超球面上;反过来看最坏情形,如果所有隐表征塌缩成同一个常数向量,损失会取到 \(\log|B|\) 这个上界,被明确惩罚。和监督对比学习(对同类施加吸引)相比,它不分类别地推开所有样本,因此同时增大了类内与类间的图像差异——这正是尾部类最缺的东西。作者也说明 UCL 的实现配套使用 batch resampling(长尾识别/生成里的标准做法),并在消融中单独检验了这项配套与损失本身的互补性(见 Tab. 4);他们在动机里指出,按原分布带放回采样会让尾部样本在同一 batch 内重复,进一步加剧对少量尾部图的过拟合。⚠️ 具体重采样方案(是否按类平衡、放回与否)在附录 A.1,正文未展开。
2. AL:在大时间步把条件与无条件的去噪预测对齐,把头部类的数据红利传给尾部类
尾部类单独训练不出好的早期去噪行为:去噪初始阶段本该学到「这类图像大体长什么样」的通用结构,而尾部类只有几十张图作为监督。作者的解法是让这一步条件与无条件共用同一份行为。具体做法是惩罚两个反向过程分布之间的 KL 散度,即条件分布 \(p_\theta(x_{t-1}|x_i^t, c_i)\) 与无条件分布 \(p_\theta(x_{t-1}|x_i^t)\) 之差。由于二者都是同方差 \(\sigma_t^2 I\) 的高斯分布,KL 里只剩均值之差的平方项(其余是与参数无关的常数);再用 DDPM 的均值参数化展开,均值只通过噪声预测 \(\epsilon_\theta\) 依赖输入,于是整个 KL 直接退化成两个噪声预测的平方距离。在 mini-batch 上平均、并乘上时间步权重 \(t/T\),就得到最终的:
\(t/T\) 这个线性权重是这条损失的灵魂:反向过程从 \(t=T\) 走到 \(t=0\),大 \(t\) 正是去噪的初始阶段,所以对齐只作用在最脏、最结构化的那几步上,小 \(t\) 的细节生成仍然完全由类别条件决定,条件可控性没有被牺牲(作者也承认「让条件和无条件对齐」表面上像是要削弱控制力,权重设计正是为了回应这个质疑)。那为什么对齐早期步骤不会伤害条件生成?作者给出的依据是高低频分解的观察(引 FreeU):从同一个初始噪声出发,不同类别在初始时间步的低频成分几乎相同,也就是这一步本来就没有多少类别信息,把它变成类别无关反而让尾部类与头部类共享同一套早期去噪行为。这与 UTLO 在 GAN 上「低分辨率用无条件目标」是同一思路的扩散版:GAN 的低分辨率表示 ≈ 扩散的大时间步。
3. 两损失的协同:把条件隐表征的多样性写成互信息下界,绕开直接条件对比的平凡解
这一条是本文相对并发工作 Dispersive Loss 的核心论证,也是理解「为什么要把对比学习放在无条件分支」的关键。记条件隐表征 \(h_t^c = e_\theta(x_t, t, c)\)。信息论上 InfoNCE 是数据与表征互信息的下界,最小化 InfoNCE 等价于最大化互信息。若直接在 \(h_t^c\) 上做 InfoNCE,按链式法则可以把优化目标拆成两项(原文式 2):\(I(h_t^c; x, c) = I(h_t^c; c) + I(h_t^c; x|c)\)。第一项衡量类别条件能透露多少隐表征信息,对应类间差异;第二项才对应类内差异——要治尾部类的模式坍缩,真正要拉高的是第二项。问题在于第一项 \(I(h_t^c; c)\) 存在一个平凡解:把同一类所有样本的隐表征变成同一个向量,它就被拉到最大,而优化器会优先走这条捷径,得到的恰恰是模式坍缩。
换一个分解顺序就绕开了这个陷阱(原文式 3):\(I(h_t^c; x, c) = I(h_t^c; x) + I(h_t^c; c|x)\),其中 \(I(h_t^c; c|x)\) 在优化过程中变化很小,主导项是 \(I(h_t^c; x)\),而它可以被无条件隐表征 \(h_t^u = e_\theta(x_t, t, \varnothing)\) 给出的下界所控制,形如 \(I(h_t^c; x) \ge I(h_t^u; x) + I(h_t^c; h_t^u) - H(h_t^u)\)(⚠️ 该式在原文中的排版经 OCR 后不完整,此处按原文叙述还原,符号与形式以原文为准)。于是两项损失各管一边:UCL 在无条件隐表征上把不同样本推开,抬高 \(I(h_t^u; x)\);AL 把条件隐表征拉向无条件隐表征,抬高 \(I(h_t^c; h_t^u)\)。两者合起来抬高了条件隐表征「保留样本级差异」的下界——条件生成的多样性是被隐式蒸馏进去的,而不是像 Dispersive Loss 那样被显式要求出来;作者在消融中验证了这种间接路线的经验收益更好(Tab. 5 的两损失拆解)。
损失函数 / 训练策略¶
总损失是标准 DDPM 去噪损失与我们这两项正则之和:
训练时对每张样本随机决定 DDPM 项走条件分支还是无条件分支(即 classifier-free guidance 式的分支训练),而 AL 需要条件和无条件各一次前向。关键超参:对比损失温度 \(\tau = 0.1\);两个权重 \(\lambda_{\text{ucl}}\)、\(\lambda_{\text{al}}\) 在 ImageNet-LT 上扫出 0.05/0.05 最优(⚠️ 原文正文、算法框与表格中这两个符号的写法经 OCR 后不一致,此处统一记作 \(\lambda_{\text{ucl}}\)、\(\lambda_{\text{al}}\),以原文为准);UCL 使用的隐表征取自 SiT 的第 \(N/4\) 个或第 \(N\) 个 block(\(N\) 为总 block 数)。代价方面,AL 要求条件与无条件两次前向,优化实现后训练时间是 SiT 的约 1.3 倍,但推理零额外开销。
实验关键数据¶
主实验¶
以 SiT(Diffusion Transformer)为骨架在 ImageNet-LT 256→256 上训练,指标中 IS/Precision/Recall 越高越好,FID/sFID/FID_tail 越低越好;括号内是相对 SiT 基线的绝对改善。FID_tail 指只在本数据集尾部类别上统计的 FID,是长尾场景最关键的指标。
| 训练步数 | 方法 | IS↑ | FID↓ | sFID↓ | Prec.%↑ | Recall%↑ | FID_tail↓ |
|---|---|---|---|---|---|---|---|
| 250k | SiT | 53.9 | 33.8 | 22.6 | 54.5 | 19.1 | 52.8 |
| 250k | CBDM | 54.8 | 34.1 | 23.3 | 53.9 | 18.7 | 53.1 |
| 250k | REPA | 74.1 | 28.4 | 20.0 | 58.3 | 16.1 | 48.5 |
| 250k | Dispersive Loss | 53.8 | 34.0 | 22.6 | 54.8 | 19.8 | 54.5 |
| 250k | CCUA (ours) | 70.7 | 27.0 (−6.8) | 20.5 | 60.2 | 20.1 | 37.0 (−15.8) |
| 450k | SiT | 78.8 | 25.7 | 21.9 | 64.3 | 18.5 | 41.6 |
| 450k | CBDM | 84.0 | 24.7 | 21.8 | 64.6 | 18.7 | 40.7 |
| 450k | REPA | 105.9 | 21.9 | 19.5 | 65.7 | 15.2 | 39.7 |
| 450k | Dispersive Loss | 83.8 | 25.2 | 21.7 | 65.5 | 17.3 | 43.0 |
| 450k | CCUA (ours) | 111.9 | 19.4 (−6.3) | 18.3 | 69.4 | 18.9 | 28.8 (−12.8) |
| 700k | SiT | 103.1 | 21.2 | 20.1 | 69.3 | 18.2 | 35.4 |
| 700k | CBDM | 105.7 | 20.9 | 20.7 | 70.3 | 17.8 | 35.5 |
| 700k | REPA | 126.8 | 19.7 | 20.3 | 68.0 | 15.8 | 36.9 |
| 700k | Dispersive Loss | 104.0 | 21.3 | 20.4 | 68.0 | 18.5 | 35.9 |
| 700k | CCUA (ours) | 140.5 | 16.3 (−4.9) | 17.2 | 73.9 | 18.4 | 24.5 (−10.9) |
| 900k | SiT | 111.7 | 19.9 | 20.1 | 70.3 | 18.6 | 33.9 |
| 900k | CBDM | 117.2 | 19.4 | 20.2 | 72.5 | 17.7 | 32.7 |
| 900k | REPA | 137.8 | 18.1 | 19.3 | 69.8 | 16.2 | 33.8 |
| 900k | Dispersive Loss | 115.6 | 19.7 | 20.1 | 69.9 | 18.9 | 34.1 |
| 900k | CCUA (ours) | 153.1 | 15.1 (−4.8) | 16.5 | 75.7 | 17.3 | 22.5 (−11.4) |
在 U-Net 骨架的 DDPM 上,作者在 TinyImageNet-LT 64→64 与 Places-LT 64→64 上报告了同样的结论。表中 DDPM†bal 是在类别平衡的数据上训练的 DDPM,作为参考上界(括号内绿色改善表示平衡训练相对长尾训练的收益):
| 数据集 | 方法 | FID↓ | FID_tail↓ | KID×1k↓ |
|---|---|---|---|---|
| TinyImageNet-LT | DDPM†bal | 15.7 (−3.0) | 25.6 (−14.5) | 3.2 (−3.1) |
| TinyImageNet-LT | DDPM | 18.7 | 40.1 | 6.3 |
| TinyImageNet-LT | CBDM | 20.9 | 48.1 | 6.6 |
| TinyImageNet-LT | OCLT | 17.7 | 39.7 | 5.6 |
| TinyImageNet-LT | CCUA (ours) | 15.2 (−3.5) | 30.4 (−9.7) | 3.8 (−2.5) |
| Places-LT | DDPM | 13.9 | 23.7 | 5.3 |
| Places-LT | CBDM | 15.2 | 26.1 | 5.6 |
| Places-LT | OCLT | 13.0 | 22.8 | 4.2 |
| Places-LT | CCUA (ours) | 12.0 (−1.9) | 20.8 (−2.9) | 3.6 (−1.7) |
为了看清「增益到底来自哪一段类别分布」,作者把类别按训练图像数排序后切成三段:前 33% 为 Head、中间 34% 为 Body、其余为 Tail(TinyImageNet-LT 上三段分别占训练图像的 80%/17%/3%),分别统计 FID:
| 数据集 | 方法 | Head | Body | Tail | All |
|---|---|---|---|---|---|
| TinyImageNet-LT | DDPM | 21.3 | 33.3 | 40.1 | 18.7 |
| TinyImageNet-LT | CBDM | 24.1 | 35.0 | 48.1 | 20.9 |
| TinyImageNet-LT | OCLT | 20.6 | 30.6 | 39.7 | 17.7 |
| TinyImageNet-LT | CCUA (ours) | 21.3 | 28.0 | 30.4 | 15.2 |
| Places-LT | DDPM | 19.3 | 20.3 | 23.7 | 13.9 |
| Places-LT | CBDM | 21.3 | 21.7 | 26.1 | 15.2 |
| Places-LT | OCLT | 19.2 | 19.4 | 22.8 | 13.0 |
| Places-LT | CCUA (ours) | 18.2 | 19.3 | 20.8 | 12.0 |
消融实验¶
首先是 batch resampling 与 CCUA 损失的互补性(TinyImageNet-LT):
| 配置 | FID↓ | FID_tail↓ | KID×1k↓ |
|---|---|---|---|
| DDPM(基线) | 18.7 | 40.1 | 6.3 |
| + Batch Resample | 17.2 (−1.5) | 33.6 (−6.5) | 4.7 (−1.6) |
| \(L_{\text{ccua}}\)(仅本损失) | 17.2 (−1.5) | 37.9 (−2.2) | 4.9 (−1.4) |
| \(L_{\text{ccua}}\) + Batch Resample | 15.2 (−3.5) | 30.4 (−9.7) | 3.8 (−2.5) |
其次是两个损失项与关键超参的拆解(ImageNet-LT 256→256,DiT 类骨架,全部从头训到 250k 步;「隐表征层」指 UCL 用的 \(h\) 取自第 \(N/4\) 或第 \(N\) 个 block):
| 方法 | \(\lambda_{\text{ucl}}\) | \(\lambda_{\text{al}}\) | 隐表征层 | IS↑ | FID↓ | sFID↓ | Prec.%↑ | Recall%↑ |
|---|---|---|---|---|---|---|---|---|
| SiT(基线) | 0 | 0 | — | 53.9 | 33.8 | 22.6 | 54.5 | 19.1 |
| CCUA | 1.0 | 1.0 | N/4 | 58.2 | 30.5 | 16.2 | 51.1 | 29.4 |
| CCUA | 0.1 | 0.1 | N/4 | 70.3 | 27.3 | 18.8 | 59.2 | 21.3 |
| CCUA | 0.05 | 0.05 | N/4 | 70.7 | 27.0 | 20.5 | 60.2 | 20.1 |
| CCUA | 0.01 | 0.01 | N/4 | 69.7 | 27.6 | 19.3 | 60.7 | 19.9 |
| CCUA(只留 UCL) | 0.1 | 0 | N/4 | 67.4 | 28.8 | 25.5 | 58.5 | 19.3 |
| CCUA(只留 AL) | 0 | 0.1 | N/4 | 64.5 | 29.6 | 24.8 | 56.4 | 20.6 |
| CCUA(只留 UCL) | 0.05 | 0 | N/4 | 69.2 | 27.7 | 19.9 | 59.4 | 20.6 |
| CCUA(只留 AL) | 0 | 0.05 | N/4 | 68.4 | 28.2 | 19.5 | 58.8 | 21.6 |
| CCUA | 0.05 | 0.05 | N | 73.6 | 25.9 | 16.5 | 58.6 | 23.1 |
关键发现¶
- 增益几乎全部落在尾部类别上。 900k 步时 FID 从 19.9 降到 15.1(相对约 24%),而 FID_tail 从 33.9 降到 22.5(相对约 34%);250k 这一档论文概括为「整体 FID 约 20% 改善、IS 与 FID_tail 约 30% 改善」,正好对应表中 −6.8/33.8≈20% 与 −15.8/52.8≈30%。三段类别的 FID 拆解把这一点说得更清楚:TinyImageNet-LT 上 Tail 从 40.1 降到 30.4、Body 从 33.3 降到 28.0,而 Head 保持 21.3 不变;Places-LT 上 Head 还从 19.3 降到 18.2。也就是说,性能提升不是靠牺牲头部类换来的。
- 两项损失确实缺一不可。 0.05 档下只留 UCL 是 FID 27.7、只留 AL 是 28.2,两者同时开是 27.0;0.1 档下差距更大(28.8 / 29.6 vs 27.3)。AL 单独使用(不带对比损失)时是把条件分支拉向一个并未被推散的无条件分支,增益有限,印证了「先推散、再对齐」的顺序才是关键。
- 权重存在明显的保真度-多样性权衡。 权重从 0.05 提到 1.0 时 Recall 从 19.1 飙到 29.4(多样性大幅提升),但 FID 从 27.0 退化到 30.5、Precision 从 60.2 掉到 51.1;反过来权重压到 0.01 时 Precision 最高(60.7)而 Recall 回落到 19.9。0.05 是作者在 FID 与 IS 上的折中。
- batch resampling 与本文损失是互补而非替代。 两者各自单独使用都把 FID 从 18.7 降到 17.2,叠加后进一步降到 15.2、FID_tail 从 40.1 降到 30.4,说明类平衡采样解决的是「尾部样本在 batch 里出现的频次」,而 CCUA 解决的是「尾部样本在隐空间里被推开的程度」,二者作用在不同环节。
- 训练时长可比时本文仍占优。 论文特意说明 CCUA 训练更慢(见局限),因此在 700k 步的 CCUA(FID 16.3)与 900k 步的 SiT(FID 19.9)之间做同训练时长对比,仍然后者明显落后。
- ⚠️ 两处需要留意:一是 Tab. 5 中隐表征取第 \(N\) 个 block 时 FID/IS 其实更好(25.9/73.6,优于 \(N/4\) 的 27.0/70.7),但主实验用的是 \(N/4\) 那一档,原文未说明选它的理由;二是 Recall 在 900k 步时 CCUA 反而略低于 SiT(17.3 vs 18.6),多样性优势主要体现在 250k–700k,同时段 Precision 有大幅提升(70.3→75.7),作者并未单独讨论这一处退化。
亮点与洞察¶
- 把「无条件分支」当成多样性锚点,而不是当成消融掉的条件分支。 常见做法是把无条件分支视为 CFG 的副产品,本文反转了它的角色:先在无条件空间里制造多样性,再通过对齐蒸馏给条件生成。因为无条件空间不分类别,这份多样性天然是样本级的,刚好补上尾部类最缺的那一环。
- 用互信息分解选择「对比损失该加在哪个分支」,这是全文最有方法论价值的一步:\(I(h_t^c;x,c) = I(h_t^c;c)+I(h_t^c;x|c)\) 的分解暴露了条件分支上的平凡解,换成 \(I(h_t^c;x)+I(h_t^c;c|x)\) 才给出可优化的下界。这条分析框架可以直接迁移到任何「想给条件生成加多样性正则」的场景,用来判断正则项应该挂在哪条通路上。
- 时间步权重的线性 \(t/T\) 是「够用就好」的取舍。 只用一个单调权重就把对齐限制在初始阶段,既保住了后期的条件可控性,又避免引入新的调度网络或课程学习流程;代价是权重形状本身没有做消融(见局限)。
- 纯损失方案,落地成本极低。 不动 U-Net/DiT 结构、不加外部教师模型(对比 REPA 需要冻结视觉编码器)、推理零开销,只在训练目标上加两项,这种「架构无关」的性质使它能同时插到 DDPM 与 SiT 两条管线上。
局限与展望¶
- 作者承认的局限:AL 需要条件与无条件两次前向,训练时间是 SiT 的约 1.3 倍;好消息是推理延迟完全不变。
- 作者未讨论、但从数据能看出的局限:尾部类 FID 虽大幅改善,但仍未达到平衡数据参考的水平(TinyImageNet-LT 上 30.4 vs DDPM†bal 的 25.6),说明长尾带来的尾部类绝对质量差距没有被完全抹平;主实验选用的隐表征层(\(N/4\))在消融中也不是 FID 最优的一档,超参选择与主结果之间存在未解释的错位;Recall 在最长训练预算下反而略低于基线,保真度与多样性的权衡仍偏保守。
- 方法层面的局限:\(t/T\) 线性权重是人为指定的,没有对权重形状(常数、指数、可学习)做消融;UCL 只在单一层(\(N/4\) 或第 \(N\) 个 block)上施加,多层联合未做探索;实验集中在类别条件生成,未涉及文本条件或更大规模的潜空间扩散;与 DiROP 等长尾扩散方法的对比放在附录 A.3,正文未给出数字。
- 可改进方向:把 \(t/T\) 换成可学习或按信噪比自适应的权重函数;把 UCL 扩展到多个 block 的隐表征并按层加权;与类平衡采样/损失重加权(如 LDAM、类平衡 softmax)组合,看能否进一步逼近平衡数据参考;把「无条件锚点 + 对齐蒸馏」这套机制推广到文本条件生成(用 prompt dropout 分支做无条件锚点)。
相关工作与启发¶
- vs UTLO / Transitional-GAN(长尾 GAN): 他们在 GAN 上用无条件目标训练低分辨率表征,让头部类与尾部类共享知识;本文把同一思想搬到扩散模型,共享的载体从「低分辨率」换成「大时间步」。区别在于扩散的去噪是递归的,初始时间步的低频结构与低分辨率表征在语义上对应但不等价,本文用高低频分解的观察补上了这一步论证。
- vs Dispersive Loss(并发工作): 它把只含负样本的 InfoNCE 直接加在条件训练上,为类别平衡的扩散模型设计;本文把对比损失放在无条件隐空间,再通过对齐隐式传导给条件生成,并用互信息分解论证了前者存在平凡解。消融(Tab. 5)显示两者同时开的效果优于任一项单独使用。
- vs CBDM: CBDM 额外训练第二个模型(用伪标签构造均匀分布),再最小化两个模型估计噪声之间的距离;本文只用一个模型的条件/无条件两条分支,不需要第二个网络和伪标签流程。
- vs DiROP: DiROP 把不同类别的图像对当作负样本、最大化类间分布距离,但不正则化同类图像;本文的 UCL 不分类别地推开所有样本,因此同时增大类内与类间差异,这恰好覆盖了 DiROP 漏掉的一半。
- vs REPA: REPA 把扩散特征对齐到一个冻结视觉编码器的特征以加速训练,需要外部模型且面向类别平衡场景;本文不引入任何外部模型,直接正则化去噪网络自身的中间特征,并针对长尾分布设计。
- vs OCLT: OCLT 用「定向校准」处理长尾扩散;在 TinyImageNet-LT 与 Places-LT 上本文的 FID/FID_tail/KID 三项都优于它(如 Places-LT 上 12.0 vs 13.0、20.8 vs 22.8)。
评分¶
- 新颖性: ⭐⭐⭐⭐ 把长尾 GAN 的条件-无条件知识共享从「低分辨率」翻译到「大时间步」,并用互信息分解说明为何对比损失应加在无条件分支,视角清晰;但两项损失本身都是已有工具的重新组合。
- 实验充分度: ⭐⭐⭐⭐ 覆盖 ImageNet-LT/TinyImageNet-LT/Places-LT 与 DDPM、SiT 两条骨干,含超参、损失拆解、重采样与三段类别分析;不足是模型规模偏小(最大 256×256)、与 DiROP 的对比只在附录、隐表征层的选择与主结果不一致未作解释。
- 写作质量: ⭐⭐⭐⭐ 动机链与信息论论证写得完整,图表与结论对得上;但正文部分公式与符号在排版上略显混乱,算法框与正文的符号不统一。
- 价值: ⭐⭐⭐⭐ 架构无关、推理零开销、落地成本低,且「无条件分支做多样性锚点 + 对齐蒸馏」这一范式对长尾生成乃至其他条件生成任务都有迁移价值。