扩散模型在图像分类应用中的新突破!


论文:Advancing Image Classification with Discrete Diffusion Classification Modeling
代码:https://github.com/omerb01/didicm


0、摘要

  图像分类是计算机视觉领域中一项研究较为充分的任务(CV的基础任务),但在高不确定性条件下(例如输入图像受损或训练数据有限时),该任务仍面临挑战。

  传统分类方法通常训练模型直接从输入图像预测类别标签(基础模式),但这可能导致模型在上述场景中性能欠佳。

  为解决这一问题,本文提出离散扩散分类建模(Discrete Diffusion Classification Modeling, DiDiCM),这是一种全新的框架,利用基于扩散的流程对以输入图像为条件的类别标签后验分布进行建模。

  DiDiCM 支持基于扩散的类别概率预测或离散类别标签预测,可灵活权衡计算与内存开销。本文开展了全面的实证研究,验证了 DiDiCM 相较于标准分类器的性能优势:在 ImageNet 数据集上,仅需少量扩散迭代,DiDiCM 即可取得高于基线模型的分类准确率,且随着任务难度提升,准确率增益愈发显著。(在都搞 Agent 的时候,还有研究在探索分类任务,ψ(`∇´)ψ


1、引言

1.1、研究意义与当前挑战

  (1)在以高不确定性为特征的真实场景中(即数据存在噪声、不完整或有限的场景,如医学成像、自动驾驶及其他领域),分类任务仍面临严峻挑战。这些情况推动了能够显式处理数据不确定性的替代建模策略的发展;

  (2)传统分类器通常采用标准交叉熵损失进行训练以预测类别标签,但该方法会引入随机偏差,导致性能下降,在图像受损或数据量有限等高不确定性场景中尤为明显 ;

1.2、本文贡献

  (1)提出一种全新的基于扩散的分类框架,定义了前向与反向扩散过程,并设计了对应的训练目标;
  (2)提出两种模拟反向扩散过程的方法,分别基于类别概率扩散离散类别标签扩散,可灵活权衡计算复杂度与内存占用;
  (3)构建基于 ResNet 的扩散分类架构,实现与领域内经典 ResNet 性能的公平对比;
  (4)在极具挑战性的 ImageNet 数据集上,针对不同不确定性水平开展了全面的实证分析;

  
Figure 1 | ImageNet Top-5 准确率:DiDiCM 与标准分类器的对比,DiDiRN-50(性能与 ResNet-50 相当)和 ResNet-50 均采用最先进的训练方法进行训练。在所有不确定性设置下, DiDiCM 均展现出更优的前 Top-5 准确率;

在这里插入图片描述


2、问题公式化

  设 x \mathbf{x} x 为随机向量, y = h ( x ) \mathbf{y} = h(\mathbf{x}) y=h(x) x \mathbf{x} x 的观测值,其中 h h h 是未知的、可能为随机且不可逆的函数。例如, x \mathbf{x} x 可表示清晰图像, y \mathbf{y} y 为其低分辨率版本。需注意 h h h 也可以是恒等函数,此时 y = x \mathbf{y}=\mathbf{x} y=x。设 c ∈ { 1 , … , K } c∈\{{1,…,K}\} c{1,,K} 为分配给 x \mathbf{x} x 的随机类别标签,其中 c c c 属于包含 K K K 个类别的有限离散空间。本文的目标是利用参数化模型 p θ ( c ∣ y ) ≈ P ( c ∣ y ) p_\theta(c|\mathbf{y}) \approx P(c|\mathbf{y}) pθ(cy)P(cy),对 P ( c ∣ y ) ∈ R K P(c|\mathbf{y}) \in \mathbb{R}^K P(cy)RK 进行建模。(在观察到 y \mathbf{y} y 的情况下确定标签 c c c

  人们可能会倾向于采用一种常见但朴素的方法处理分类任务:训练模型 f θ ( y ) ∈ R K f_\theta(\mathbf{y}) \in \mathbb{R}^K fθ(y)RK,通过标准交叉熵损失 ℓ CE ( y , c ) : = − log ⁡ f θ ( y ) c \ell_{\text{CE}}(\mathbf{y}, c) := -\log f_\theta(\mathbf{y})_c CE(y,c):=logfθ(y)c​ 从受损输入中预测类别标签。然而,该方法忽略了从 x \mathbf{x} x y \mathbf{y} y 的变换所带来的固有不确定性。具体而言,它针对 c ∼ P ( c ∣ x ) c \sim P(c|\mathbf{x}) cP(cx) 而非 c ∼ P ( c ∣ y ) c \sim P(c|\mathbf{y}) cP(cy) 优化 ℓ CE ( y , c ) \ell_{\text{CE}}(\mathbf{y}, c) CE(y,c),从而在优化过程中引入了不可避免的随机偏差,导致次优性能。当训练数据有限时,该问题会更加突出,这在各类分类领域(尤其是类别标签稀缺的场景)中十分常见。(传统的方法未考虑从真实值到观测值的退化(⊙o⊙)

  为解决高不确定性场景下的分类挑战,本文提出一种基于离散扩散过程的替代分类框架,用于建模输入图像条件下的类别标签分布。下一节将回顾现有相关工作,随后详细阐述所提方案。


3、相关工作

3.1、离散扩散模型

  大多数离散扩散模型最初为语言领域提出,并遵循 D3PM 提出的框架,该框架采用离散时间公式化表述。在此框架中,模型通过加权交叉熵损失被训练去将噪声样本还原为干净形式。如文献 [7] 所讨论的,该方法与分类领域的传统分类器存在相同的局限性。D3PM 的一个扩展模型是 SEDD ,它是一种离散扩散语言模型,通过连续时间离散扩散框架应用分数匹配。SEDD 基于具体分数(Concrete Score)构建,该分数是对连续扩散建模中标准分数函数的扩展。本文在 SEDD 的原理基础上进行改进,将其适配至分类领域。通过利用类别标签的易处理性,将扩散过程重构为一种专为分类任务定制的高效且高性能的离散扩散框架

3.2、基于扩散的分类

  本文首次将离散扩散方法应用于图像分类。以往基于扩散的分类研究均将原本用于图像生成任务的扩散模型适配到分类目标中。这些方法通常需要大规模训练数据集以及高昂的训练与推理计算资源。与之相比,本文的方法直接在类别标签域中运算;该方法具有更充分的理论依据,且提供了更高效的基于扩散的分类框架。

3.3、不确定性感知分类

  分类任务的不确定性相关研究主要围绕三类问题展开:(1) 数据相关限制、(2) 分类任务本身的固有模糊性,或 (3) 二者的综合影响。近期,Belhasin 等人提出了一种基于扩散的不确定性感知方法,用于解决心血管诊断中的逆问题。该方法通过具有理论依据的期望分数分类器(Expected Score Classifier, ESC)实现了诊断性能的持续提升,ESC 对退化输入下的类别标签后验分布进行建模。ESC 在分类前先重建干净信号,从而对退化观测结果的预测进行有效平均。基于这一思想,本文的工作将不确定性建模拓展至图像分类领域:直接估计退化图像条件下的类别标签后验分布,无需显式的干净图像重建步骤,因此显著降低了计算复杂度。


4、离散扩散分类建模

  本节提出离散扩散分类建模(Discrete Diffusion Classification Modeling, DiDiCM),即本文工作所依托的基于扩散的框架。在先前的基础上,本文将分类任务置于连续时间扩散框架下进行处理,目标分布为类别标签的后验分布 P ( c ∣ y ) P(c|\mathbf{y}) P(cy)。随后,本文对扩散过程进行重构,以概率化方式对该后验分布进行有效建模。

4.1、前向过程

  定义时间区间 t ∈ [ 0 , 1 ] t∈[0,1] t[0,1] 内的前向过程为带噪分布 q ( c t ∣ y ) ∈ R K q(c_t|\mathbf{y}) \in \mathbb{R}^K q(cty)RK 的演化过程,该过程由线性常微分方程给出的连续时间马尔可夫过程描述:
d q ( c t ∣ y ) d t = R t ⋅ q ( c t ∣ y ) s.t. R t : = σ t ( 11 T − K I ) , q ( c 0 ∣ y ) ∈ R K (1) \frac{dq(c_t|\mathbf{y})}{dt} = R_t \cdot q(c_t|\mathbf{y}) \quad \text{s.t.} \quad R_t := \sigma_t\left(\mathbf{1}\mathbf{1}^T - KI\right), \tag{1} q(c_0|\mathbf{y}) \in \mathbb{R}^K dtdq(cty)=Rtq(cty)s.t.Rt:=σt(11TKI),q(c0y)RK(1)其中 q ( c 0 ∣ y ) q(c_0|\mathbf{y}) q(c0y) 近似 P ( c ∣ y ) P(c|\mathbf{y}) P(cy) σ t ∈ [ 0 , ∞ ) \sigma_t \in [0, \infty) σt[0,) 为严格递减函数,且满足 σ 1 = 0 \sigma_1 = 0 σ1=0

R t R_t Rt 是决定变化方向的矩阵。
   11 T \mathbf{1}\mathbf{1}^T 11T 是全 1 矩阵,乘以分布 q q q 会得到一个全 1 向量(因为概率和=1);
   K I KI KI K K K 倍的单位矩阵;
  两者结合的效果是:每个类别的概率变化率 = σ t × ( 1 − K ⋅ 当前概率 ) \sigma_t × (1-K·\text{当前概率}) σt×(1K当前概率)
  
σ t \sigma_t σt 控制变化快慢的“速率”,随时间严格递减。

  矩阵 R t = σ t R R_t = \sigma_t R Rt=σtR均匀转移率矩阵 。在每个扩散步骤 t t t,该矩阵以一定概率将输入对应的类别标签转换为其他随机类别。更一般地,对于任意 i ≠ j i≠j i=j,矩阵元素 R t ( i , j ) R_t(i, j) Rt(i,j) 表示类别标签 i i i 向类别标签 j j j 转移的速率(单位时间内的发生次数),即速率越高,转移所需时间越短。在前向扩散过程中, q ( c 1 ∣ y ) ∈ R K q(c_1|\mathbf{y}) \in \mathbb{R}^K q(c1y)RK 演变为所有类别标签上的均匀分布,对应完全噪声状态。关于这类率矩阵的补充理论细节见附录 A.1,更直观的解释见附录 A.2。

  对于形如 R t = σ t R R_t = \sigma_t R Rt=σtR 的率矩阵,本文利用 R = U Λ U − 1 R = U\Lambda U^{-1} R=UΛU1 对其进行特征分解,其中 U ∈ R K × K U \in \mathbb{R}^{K \times K} URK×K 为特征向量矩阵, Λ ∈ R K × K \Lambda \in \mathbb{R}^{K \times K} ΛRK×K 为特征值构成的对角矩阵。初始分布 q ( c 0 ​ ∣ y ) q(c_0​∣\mathbf{y}) q(c0y) c 0 ∼ P ( c ∣ y ) c_0 \sim P(c|\mathbf{y}) c0P(cy) 的独热编码,代表目标分布的一个样本,基于此可累积转移序列,对任意噪声水平 t ∈ [ 0 , 1 ] t∈[0,1] t[0,1] 以闭式形式高效计算前向过程:
q ( c t ∣ y ) = U exp ⁡ ( σ ‾ t Λ ) U − 1 ⋅ q ( c 0 ∣ y ) , (2) q(c_t|\mathbf{y}) = U \exp\left(\overline{\sigma}_t \Lambda\right) U^{-1} \cdot q(c_0|\mathbf{y}), \tag{2} q(cty)=Uexp(σtΛ)U1q(c0y),(2)
其中 σ ‾ t : = ∫ 0 t σ s d s ∈ R \overline{\sigma}_t := \int_0^t \sigma_s ds \in \mathbb{R} σt:=0tσsdsR 表示施加于 q ( c 0 ​ ∣ y ) q(c_0​∣\mathbf{y}) q(c0y) 的总噪声。上述结论的详细证明见附录中的定理 1。

  注意当噪声调度 σ t \sigma_t σt​ 选择合适时,总噪声项 σ ‾ t \overline \sigma_t σt​ 存在闭式解。例如,在对数线性调度 σ t : = a b t log ⁡ b \sigma_t := ab^t \log b σt:=abtlogb 下(其中 a , b ∈ R a, b \in \mathbb{R} a,bR 满足 σ 1 ​ ≈ 0 σ_1​≈0 σ10),总噪声可表示为 σ ‾ t = a b t − a \overline{\sigma}_t = ab^t - a σt=abta

矩阵分解 = 把复杂混合过程拆成“保留部分”和“衰减部分”。
指数项 = 偏差部分随时间指数消失。
闭式解 = 可以一步到位,不需要模拟中间步骤。

4.2、反向过程

  目标分布由前向过程的逆过程得到,将这些反向过程的带噪分布记为 p ( c t ∣ y ) ∈ R K p(c_t|\mathbf{y}) \in \mathbb{R}^K p(cty)RK

  假设有一个分数矩阵 S t ∈ R K × K S_t \in \mathbb{R}^{K \times K} StRK×K,满足 S t ( i , j ; y ) : = q ( c t = i ∣ y ) / q ( c t = j ∣ y ) ∈ R S_t(i, j; \mathbf{y}) := q(c_t = i|\mathbf{y})/q(c_t = j|\mathbf{y}) \in \mathbb{R} St(i,j;y):=q(ct=iy)/q(ct=jy)R。这些比值是具体分数的条件形式,该分数是标准分数函数在扩散步骤 t t t 下的推广形式(当 i ≠ j i≠j i=j 时;当 i = j i=j i=j 时,该比值恒为 1)。 S t S_t St​ 中的每一列 j j j 表示类别标签 j j j 的转移分数。

  参考 Anderson 与 Campbell 等人的连续时间公式化表述,反向过程可由另一个线性常微分方程定义:
d p ( c 1 − t ∣ y ) d t = R ‾ 1 − t ⋅ p ( c 1 − t ∣ y ) s . t . R ‾ t : = S t ⊙ R t − diag ( 1 T ( S t ⊙ R t ) ) , (3) \frac{dp(c_{1-t}|\mathbf{y})}{dt} = \overline{R}_{1-t} \cdot p(c_{1-t}|\mathbf{y}) \quad s.t. \quad \overline{R}_t := S_t \odot R_t - \text{diag}\left(\mathbf{1}^T \left(S_t \odot R_t\right)\right), \tag{3} dtdp(c1ty)=R1tp(c1ty)s.t.Rt:=StRtdiag(1T(StRt)),(3)其中 p ( c 1 ∣ y ) : = U ( { 1 , … , K } ) ∈ R K p(c_1|\mathbf{y}) := \mathcal{U}(\{1, \dots, K\}) \in \mathbb{R}^K p(c1y):=U({1,,K})RK 为类别标签上的均匀分布,代表完全噪声状态。

  进一步定义无穷小转移矩阵 Q ‾ t : = I + R ‾ t Δ t ∈ R K × K \overline{Q}_t := I + \overline{R}_t \Delta t \in \mathbb{R}^{K \times K} Qt:=I+RtΔtRK×K(其中 Δ t > 0 Δt>0 Δt>0 为足够小的时间增量)。此时反向过程可通过步长为 Δ t Δt Δt 的小欧拉步模拟,如下所示:
p ( c t − Δ t ∣ y ) ≈ Q ‾ t ⋅ p ( c t ∣ y ) s . t . Q ‾ t ( i , j ; y ) = { S t ( i , j ; y ) σ t Δ t i ≠ j 1 − ∑ c ≠ j S t ( c , j ; y ) σ t Δ t i = j . (4) p(c_{t-\Delta t}|\mathbf{y}) \approx \overline{Q}_t \cdot p(c_t|\mathbf{y}) \quad s.t. \quad \overline{Q}_t(i,j;\mathbf{y}) = \begin{cases} S_t(i,j;\mathbf{y})\sigma_t\Delta t & i \neq j \\ 1 - \sum_{c \neq j} S_t(c,j;\mathbf{y})\sigma_t\Delta t & i = j \end{cases}. \tag{4} p(ctΔty)Qtp(cty)s.t.Qt(i,j;y)={St(i,j;y)σtΔt1c=jSt(c,j;y)σtΔti=ji=j.(4)附录中的定理 2 给出了该离散近似的形式化证明,附录 A.3 则对转移矩阵 Q​t​ 的结构与内在逻辑提供了进一步说明。

4.3、训练目标

  实际场景中,分数矩阵 S t ∈ R K × K S_t \in \mathbb{R}^{K \times K} StRK×K 无法直接获取。参考 Lou 等人的方法,训练一个参数化模型 s θ s_θ sθ​ 来近似 S t S_t St​ 的列向量,即 s θ ( y , c t , t ) ≈ [ S t ( 1 , c t ; y ) , … , S t ( K , c t ; y ) ] T ∈ R K × 1 s_\theta(\mathbf{y}, c_t, t) \approx [S_t(1, c_t;\mathbf{y}), \dots, S_t(K, c_t;\mathbf{y})]^T \in \mathbb{R}^{K \times 1} sθ(y,ct,t)[St(1,ct;y),,St(K,ct;y)]TRK×1,其中根据构造有 s θ ( y , c t , t ) c t = 1 s_\theta(\mathbf{y}, c_t, t)_{c_t} = 1 sθ(y,ct,t)ct=1

  为训练该模型,本文提出一种基于分数熵(SE)损失的变体,以输入 y y y 为条件,并以噪声水平 σ t ​ σ_t​ σt 为权重。本文将该目标函数称为 DiDiCM 损失:

L DiDiCM ( θ ) : = \mathcal{L}_{\text{DiDiCM}}(\theta) := LDiDiCM(θ):=
E t ∼ U ( [ 0 , 1 ] ) y , c t ∼ q ( y , c t ) [ σ t K ( 1 T A ( S t ( ⋅ , c t ; y ) ) + 1 T s θ ( y , c t , t ) − S t ( ⋅ , c t ; y ) T log ⁡ s θ ( y , c t , t ) ) ] , (5) \underset{\substack{t \sim \mathcal{U}([0,1]) \\ \mathbf{y}, c_t \sim q(\mathbf{y}, c_t)}}{\mathbb{E}} \left[ \frac{\sigma_t}{K} \left( \mathbf{1}^T A(S_t(\cdot, c_t;\mathbf{y})) + \mathbf{1}^T s_\theta(\mathbf{y}, c_t, t) - S_t(\cdot, c_t;\mathbf{y})^T \log s_\theta(\mathbf{y}, c_t, t) \right) \right], \tag{5} tU([0,1])y,ctq(y,ct)E[Kσt(1TA(St(,ct;y))+1Tsθ(y,ct,t)St(,ct;y)Tlogsθ(y,ct,t))],(5)其中 S t ( ⋅ , c t ; y ) ∈ R K S_t(\cdot, c_t;\mathbf{y}) \in \mathbb{R}^K St(,ct;y)RK 表示与索引 c t ​ c_t​ ct 对应的列向量,函数 A ( a ) = a ( log ⁡ a − 1 ) A(a) = a(\log a - 1) A(a)=a(loga1) 按元素方式应用,以确保 L DiDiCM ≥ 0 \mathcal{L}_{\text{DiDiCM}} \ge 0 LDiDiCM0。直观来看,该损失通过优化 s θ ​ ( y , c t ​ , t ) s_θ​(\mathbf{y},c_t​,t) sθ(y,ct,t) 使其逼近 S t ​ ( ⋅ , c t ​ ; y ) S_t​(⋅,c_t​;y) St(,ct;y),实现分数匹配,同时保证分数值为正。

  因此,给定数据对 ( y , c 0 ) ∼ P ( y , c ) (\mathbf{y}, c_0) \sim P(\mathbf{y}, c) (y,c0)P(y,c),计算该损失需要通过式 (2) 定义的高效前向过程构造带噪标签分布 q ( c t ∣ y ) ∈ R K q(c_t|\mathbf{y}) \in \mathbb{R}^K q(cty)RK。随后,从 q ( c t ∣ y ) q(c_t|\mathbf{y}) q(cty) 中采样带噪类别标签 j j j,并对所有 1 ≤ i ≤ K 1≤i≤K 1iK 计算比率 S t ( i , j ; y ) = q ( c t = i ∣ y ) / q ( c t = j ∣ y ) S_t(i,j;\mathbf{y}) = q(c_t = i|\mathbf{y})/q(c_t = j|\mathbf{y}) St(i,j;y)=q(ct=iy)/q(ct=jy),再将其以矩阵形式代入上述目标函数。算法 1 总结了该训练流程。

  需要说明的是,Lou 等人在语言领域采用了类似的去噪方法,但由于大规模离散空间上的求和运算,式 (5) 对应的损失在该场景下难以计算;而本文的方法在分类任务中始终保持完全可计算性。

在这里插入图片描述


5、基于具体分数模拟 DiDiCM

  本节讨论如何利用评分模型 s θ ​ s_θ​ sθ 模拟反向过程,以估计后验分布 p θ ( c 0 ∣ y ) ∈ R K p_\theta(c_0|\mathbf{y}) \in \mathbb{R}^K pθ(c0y)RK

  一种直接但朴素的方法是利用评分模型 s θ s_θ sθ​ 预测 S t ​ S_t​ St,构建完整的分数矩阵 S t θ : = [ s θ ( y , 1 , t ) , … , s θ ( y , K , t ) ] ∈ R K × K S_t^\theta := [s_\theta(\mathbf{y}, 1, t), \dots, s_\theta(\mathbf{y}, K, t)] \in \mathbb{R}^{K \times K} Stθ:=[sθ(y,1,t),,sθ(y,K,t)]RK×K。利用式 (3),可通过分数矩阵的近似 S t θ S_t^θ Stθ​ 来近似反向转移率矩阵 R ‾ t θ ≈ R ‾ t \overline{R}_t^\theta \approx \overline{R}_t RtθRt​。最后,基于 R t θ ​ R_t^θ​ Rtθ 构建 Q ‾ t θ : = I + R ‾ t θ Δ t \overline{Q}_t^\theta := I + \overline{R}_t^\theta \Delta t Qtθ:=I+RtθΔt,并通过下式执行反向扩散步骤:
p θ ( c t − Δ t ∣ y ) = Q ‾ t θ ⋅ p θ ( c t ∣ y ) . (6) p_\theta(c_{t-\Delta t}|\mathbf{y}) = \overline{Q}_t^\theta \cdot p_\theta(c_t|\mathbf{y}). \tag{6} pθ(ctΔty)=Qtθpθ(cty).(6)  以均匀分布 p θ ( c 1 ∣ y ) : = p ( c 1 ∣ y ) : = U ( { 1 , … , K } ) p_\theta(c_1|\mathbf{y}) := p(c_1|\mathbf{y}) := \mathcal{U}(\{1, \dots, K\}) pθ(c1y):=p(c1y):=U({1,,K}) 为起点,式 (6) 可实现目标后验分布 p θ ( c 0 ∣ y ) ∈ R K p_\theta(c_0|\mathbf{y}) \in \mathbb{R}^K pθ(c0y)RK 的近似。然而,该方法对每个输入 y y y 需要进行 K ⋅ 1 Δ t K \cdot \frac{1}{\Delta t} KΔt1​ 次模型迭代。例如,当扩散步数 1 Δ t = 8 \frac{1}{\Delta t} = 8 Δt1=8、类别数 K=1000 时,仅对单张图像进行分类就需要 8000 次模型迭代。

  为解决这一问题,下文提出两种用于反向扩散过程的替代方案:
  基于类别概率的 DiDiCM(DiDiCM-CP):详见 5.1 节,流程总结见算法 2;
  基于类别标签的 DiDiCM(DiDiCM-CL):详见 5.2 节,流程总结见算法 3。
  DiDiCM-CP 的计算效率更高,但对内存资源的需求更大;而 DiDiCM-CL 则以额外的计算开销为代价,实现了更高的内存效率。

在这里插入图片描述

DiDiCM-CP(直接模拟概率分布)和 DiDiCM-CL(用粒子模拟):它们的核心思想是一样的:从均匀噪声开始,一步步“去噪”得到真实的后验分布。
  
(1)CP 维护一个完整的概率向量(比如 [0.33,0.33,0.33]),每一步用公式更新整个向量;
(2)CL 维护 N 个离散的样本(每个样本就是一个具体的类别标签,比如“猫”),每个样本独立地随机游走,最后统计样本比例得到分布;

5.1、基于类别概率的 DiDiCM(DiDiCM-CP)

  本节介绍如何在类别概率空间中应用 DiDiCM,即基于类别概率的离散扩散分类建模。DiDiCM-CP 提供了一种计算高效的框架,可在反向扩散过程的每个步骤中仅通过一次模型迭代,完成后验分布 p θ ( c 0 ∣ y ) ∈ R K p_\theta(c_0|\mathbf{y}) \in \mathbb{R}^K pθ(c0y)RK 的估计,完整流程总结于算法 2 中。
  分类任务的一个关键优势在于,先验分布 P ( c ) ∈ R K P(c) \in \mathbb{R}^K P(c)RK 是完全可计算的,因此可以对所有可能的类别标签进行显式遍历。因此,本文旨在利用这一性质,对分数矩阵 S t S_t St​ 的结构进行分析。本文发现 S t S_t St 是一个秩一矩阵:
S t = q ( c t ∣ y ) ( 1 q ( c t ∣ y ) ) T , (7) S_t = q(c_t|\mathbf{y}) \left( \frac{1}{q(c_t|\mathbf{y})} \right)^T, \tag{7} St=q(cty)(q(cty)1)T,(7)其中 1 / ⋅ 1/⋅ 1/ 表示按元素取倒数。利用这一性质,仅需一次模型迭代即可构建 S t θ S_t^\theta Stθ​,从而将反向过程的计算复杂度降低至仅需 1 Δ t \frac{1}{\Delta t} Δt1 次模型迭代。

  具体地,对于任意类别标签 j ∈ { 1 , … , K } j \in \{1,\dots,K\} j{1,,K},前向分布 q θ ( c t ∣ y ) ∈ R K q_\theta(c_t|\mathbf{y}) \in \mathbb{R}^K qθ(cty)RK 的近似结果,可通过对 s θ ​ ( y , j , t ) s_θ​(\mathbf{y},j,t) sθ(y,j,t) 做归一化得到:
q θ ( c t ∣ y ) = s θ ( y , j , t ) ∑ i = 1 K s θ ( y , j , t ) i ∈ R K . (8) q_\theta(c_t|\mathbf{y}) = \frac{s_\theta(\mathbf{y},j,t)}{\sum_{i=1}^K s_\theta(\mathbf{y},j,t)_i} \in \mathbb{R}^K . \tag{8} qθ(cty)=i=1Ksθ(y,j,t)isθ(y,j,t)RK.(8)  随后将式 (8) 代入式 (7),即可得到分数矩阵 S t θ S_t^\theta Stθ​ 的近似结果;再将其代入式 (6) 的流程,即可求解目标后验分布 p θ ( c 0 ∣ y ) p_\theta(c_0|\mathbf{y}) pθ(c0y)
  理论上,输入评分模型 s θ s_θ sθ​ 的标签 j j j 的选取,不会影响式 (8) 中的 q θ ( c t ∣ y ) q_\theta(c_t|\mathbf{y}) qθ(cty)。但实验发现,令 j : = arg ⁡ min ⁡ p θ ( c t ∣ y ) j := \arg\min p_\theta(c_t|\mathbf{y}) j:=argminpθ(cty),也就是选取当前带噪后验分布概率最小的类别标签,能在所有选取策略中取得最优性能。附录 B 中提供了验证该选取方式的消融实验结果。
  在内存复杂度方面,DiDiCM-CP 需要占用 O ( K 2 ) \mathcal{O}(K^2) O(K2) 的内存空间,对应式 (6) 扩散步骤所需构建的转移矩阵 Q ‾ t θ ∈ R K × K \overline{Q}_t^\theta \in \mathbb{R}^{K \times K} QtθRK×K。在下一小节,本文提出一种内存更高效的方案:基于扩散过程带噪分布采样得到的类别标签样本进行运算。由于每一步都会输入离散类别标签,该方案将分数维度降低至 K K K

5.2、基于类别标签的 DiDiCM(DiDiCM-CL)

  本节介绍如何在类别标签空间中应用 DiDiCM 对带噪类别标签进行扩散,该方法称为基于类别标签的离散扩散分类建模。DiDiCM-CL 支持从近似后验分布中高效采样,即 c 0 ∼ p θ ( c 0 ∣ y ) c_0 \sim p_\theta(c_0|\mathbf{y}) c0pθ(c0y),而后验分布本身可通过对多个独热样本候选取平均来近似,整体流程总结于算法 3
  首先阐述如何将式 (4) 的反向过程适配至类别标签空间:将扩散步骤的分布以 c t c_t ct​ 为条件,构建 p ( c t − Δ t ∣ c t , y ) ∈ R K p(c_{t-\Delta t}|c_t, \mathbf{y}) \in \mathbb{R}^K p(ctΔtct,y)RK。当以 c t c_t ct​ 为条件时, p ( c t ​ ∣ y ) p(c_t​∣\mathbf{y}) p(cty) 退化为 c t c_t ct​ 的独热编码。因此,式 (4) 的反向过程可简化为:
p ( c t − Δ t = i ∣ c t , y ) = { S t ( i , c t ) σ t Δ t , c t ≠ i 1 − ∑ c ≠ c t S t ( c , c t ) σ t Δ t , c t = i . (9) p(c_{t-\Delta t} = i|c_t, \mathbf{y}) = \begin{cases} S_t(i, c_t) \sigma_t \Delta t, & c_t \neq i \\ 1 - \sum_{c \neq c_t} S_t(c, c_t) \sigma_t \Delta t, & c_t = i \end{cases}. \tag{9} p(ctΔt=ict,y)={St(i,ct)σtΔt,1c=ctSt(c,ct)σtΔt,ct=ict=i.(9)由于评分模型对 S t ​ S_t​ St 的列向量进行近似,单次模型评估即可近似得到上述条件分布,具体形式如下:
p θ ( c t − Δ t = i ∣ c t , y ) = { s θ ( y , c t , t ) i σ t Δ t , c t ≠ i 1 − ∑ i ≠ c t s θ ( y , c t , t ) i σ t Δ t , c t = i . (10) p_\theta(c_{t-\Delta t} = i|c_t, \mathbf{y}) = \begin{cases} s_\theta(\mathbf{y}, c_t, t)_i \sigma_t \Delta t, & c_t \neq i \\ 1 - \sum_{i \neq c_t} s_\theta(\mathbf{y}, c_t, t)_i \sigma_t \Delta t, & c_t = i \end{cases}. \tag{10} pθ(ctΔt=ict,y)={sθ(y,ct,t)iσtΔt,1i=ctsθ(y,ct,t)iσtΔt,ct=ict=i.(10)

  从随机类别标签 c 1 ∼ p ( c 1 ∣ y ) : = U ( { 1 , … , K } ) c_1 \sim p(c_1|\mathbf{y}) := \mathcal{U}(\{1, \dots, K\}) c1p(c1y):=U({1,,K}) 出发,可通过式 (10) 迭代扩散带噪类别标签,从而生成一个标签候选值 c 0 ∼ p θ ( c 0 ∣ y ) c_0 \sim p_\theta(c_0|\mathbf{y}) c0pθ(c0y)。然而,单个样本 c 0 c_0 c0​ 可能无法充分表征 y \mathbf{y} y 的真实类别标签。为得到后验分布 p θ ​ ( c 0 ​ ∣ y ) p_θ​(c_0​∣\mathbf{y}) pθ(c0y) 的估计值,本文提出在同一输入 y \mathbf{y} y 上执行多次反向过程,生成一组样本 { c 0 i } i = 1 N \{c_0^i\}_{i=1}^N {c0i}i=1N​(满足 c 0 i ∼ p θ ( c 0 ∣ y ) c_0^i \sim p_\theta(c_0|\mathbf{y}) c0ipθ(c0y))。随后,可通过蒙特卡洛近似对 p θ ​ ( c 0 ​ ∣ y ) p_θ​(c_0​∣\mathbf{y}) pθ(c0y) 进行估计:
p θ ( c 0 ∣ y ) = E c 0 ∼ p θ ( c 0 ∣ y ) [ e c 0 ] ≈ 1 N ∑ i = 1 N e c 0 i , (11) p_\theta(c_0|\mathbf{y}) = \mathbb{E}_{c_0 \sim p_\theta(c_0|\mathbf{y})} \left[ \mathbf{e}_{c_0} \right] \approx \frac{1}{N} \sum_{i=1}^N \mathbf{e}_{c_0^i}, \tag{11} pθ(c0y)=Ec0pθ(c0y)[ec0]N1i=1Nec0i,(11)其中 e c 0 i \mathbf{e}_{c_0^i} ec0i​​ 表示 c 0 i ​ c_0^i​ c0i 的独热编码。

  需注意的是,DiDiCM-CL 的内存复杂度为 O ( K + N ) \mathcal{O}(K + N) O(K+N),这对应于式 (10) 中使用的转移向量以及对类别标签样本的存储需求。在计算复杂度方面,采样过程对每个输入 y \mathbf{y} y 需进行 1 Δ t \frac{1}{\Delta t} Δt1​ 次模型迭代。当希望估计 p θ ​ ( c 0 ​ ∣ y ) p_θ​(c_0​∣\mathbf{y}) pθ(c0y) 时,该复杂度会增加至 N 1 Δ t N\frac{1}{\Delta t} NΔt1​。尽管如此,在第 6 节的实验表明,设置 32 次 NFE(前向传播次数)即可在 ImageNet 数据集上取得接近最优的图像分类性能。


6、实验结果

  
Figure 2 | 本图展示了 DiDiCM-CP 模型,呈现了三张图像中前五类标签概率随时间的变化趋势,体现了不同的分类挑战:

在这里插入图片描述

  
Table 1 | ImageNet 的 Top-1 和 Top-5 准确率:DiDiCM(8步)与标准分类器在不同不确定性条件下的性能对比。弱增强(Weak Aug)采用标准 PyTorch 数据增强方法;强增强(Strong Aug)则遵循最先进的 ResNet 增强方案(详见附录E)。各列中最佳的 top-1 和 top-5 结果以粗体显示;表现优于强增强分类器的弱增强模型以绿色高亮标出。
在这里插入图片描述

  本文介绍了离散扩散残差网络(DiDiRN)——这是 ResNet 架构的一种变体,其融合了受 Guided Diffusion 启发的条件化机制,用于处理含噪声的类别标签及其对应的噪声水平。直观而言,DiDiRN 的设计旨在能够在 ResNet 的特征提取层中对含噪声的类别标签进行轻量级条件化处理,同时保留其用于图像处理的原始卷积结构。相关架构改进如 图 3 所示。
  
Figure 3 | 离散扩散残差网络(DiDiRN)架构:DiDiRN 保留了 ResNet 的核心图像处理组件,同时增加了条件模块以支持 DiDiCM 的扩散过程。原始 ResNet 模块以蓝色显示,新引入的组件以绿色显示。

在这里插入图片描述

  
Figure 4 | (a) DiDiCM(8个步骤)与标准分类器在不同不确定性下的性能对比(数据增强策略详见附录E)。(b) 在分辨率为 56、使用完整训练集的情况下,DiDiCM-CP、DiDiCM-CL 及标准分类器的 NFE 值与 top-1 准确率关系图。数字表示所使用的样本数量;红色标记表示性能最佳的 DiDiCM-CP 和 DiDiCM-CL 结果。
在这里插入图片描述


  CP 像直接解一个方程组,得到精确解,但变量多时计算复杂;
  CL 像做民意调查:随机抽 1000 个人问他们最后选什么,统计比例来估计总体分布,省去了精确计算,但需要足够多的样本才能准确;

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐