告别多步采样:何凯明"漂移模型",一步生成图像刷新SOTA

6 阅读12分钟

告别多步采样:何凯明"漂移模型",一步生成图像刷新SOTA

引言:生成模型为什么需要"多步"?

如果你接触过扩散模型(Diffusion Models)或流匹配模型(Flow Matching),一定对"多步采样"不陌生——生成一张图片,模型需要反复迭代几十甚至上百步,从纯噪声逐渐"去噪"到清晰图像。这个过程虽然效果好,但推理成本高昂,严重制约了实时应用。

能不能只用一步就生成高质量图像?

MIT和Harvard的研究者给出了一个全新的答案:Drifting Models(漂移模型)。这篇论文提出了一种概念上完全不同于扩散/流模型的生成范式——不在推理时迭代,而是在训练时让分布"漂移"演化,最终得到一个天然支持单步生成的模型。在ImageNet 256×256上,该方法以单步推理取得了FID 1.54(隐空间)和1.61(像素空间)的成绩,刷新了单步生成方法的SOTA。

图1:Drifting Model 核心思想示意图

一、核心问题:生成建模到底在做什么?

生成建模的本质可以用一句话概括:学习一个映射 ff,使得先验分布 ppriorp_{\text{prior}}(如高斯噪声)经过 ff 的"推前"(pushforward)后,尽可能接近数据分布 pdatap_{\text{data}}。数学上写作:

f#pprior≈pdata

扩散模型和流匹配模型的做法是:把这个复杂的映射拆成一连串小步变换,在推理时逐步执行。每一步把"稍微嘈杂"的样本变得"稍微干净"一点,最终从噪声走到数据。

这种"推理时迭代"的思路虽然有效,但代价是推理时需要多次调用神经网络(即多个NFE,Number of Function Evaluations)。

二、漂移模型:把迭代从推理搬到训练

Drifting Models的核心洞察非常优雅:

既然神经网络训练本身就是迭代的(SGD一步步更新参数),那为什么不利用训练过程本身来演化分布,而非在推理时迭代?

具体来说,在训练过程中,模型参数 θ\theta 不断更新,产生一系列模型 {fi}\{f_i\},对应一系列推前分布 {qi}\{q_i\}。每次参数更新时,生成的样本 xx 会隐式地发生"漂移":

xi+1=xi+Δxi,Δxi=fi+1(ϵ)fi(ϵ)x_{i+1} = x_i + \Delta x_i, \quad \Delta x_i = f_{i+1}(\epsilon) - f_i(\epsilon)

论文的关键贡献是:设计一个漂移场(Drifting Field)Vp,q(x)V_{p,q}(x) 来显式地指导这种漂移方向,使得分布 qq 逐步逼近 pdatap_{\text{data}}

自制图:扩散模型 vs 漂移模型的迭代位置对比

三、漂移场的设计:反对称性是关键

漂移场 Vp,q(x)V_{p,q}(x) 需要满足一个核心性质——反对称性(Anti-symmetry):

Vp,q(x)=Vq,p(x),xV_{p,q}(x) = -V_{q,p}(x), \quad \forall x

这个性质的直觉很简单:如果交换"目标分布"和"当前分布"的角色,漂移方向应该反转。由此可以推出一个重要结论:

q=pq = p 时,Vp,q(x)=0V_{p,q}(x) = 0,即分布匹配后样本不再漂移,系统达到平衡。

证明只需一行:q=pVp,q=Vq,p=Vp,qVp,q=0q = p \Rightarrow V_{p,q} = V_{q,p} = -V_{p,q} \Rightarrow V_{p,q} = 0

这个平衡条件自然地引出了训练目标——最小化漂移场的范数:

L=Eϵ[fθ(ϵ)stopgrad(fθ(ϵ)+Vp,qθ(fθ(ϵ)))2]\mathcal{L} = \mathbb{E}_\epsilon\left[\left\|f_\theta(\epsilon) - \text{stopgrad}\left(f_\theta(\epsilon) + V_{p,q_\theta}(f_\theta(\epsilon))\right)\right\|^2\right]

直觉上,这个损失函数计算一个"冻结的目标"(当前样本 + 漂移量),然后让网络预测向这个目标靠拢。损失值等于 E[V2]\mathbb{E}[\|V\|^2],当分布完全匹配时损失为零。

论文中Table 1的消融实验清楚地验证了反对称性的重要性:打破反对称性(如将吸引力或排斥力乘以不同系数)会导致FID急剧恶化,从8.46飙升到40-180。

四、漂移场的具体构造:吸引与排斥

漂移场的具体形式借鉴了经典的均值漂移(Mean Shift)思想。对于一个生成样本 xx,漂移场由两部分组成:

V(x)=Vp+(x)Vq(x)V(x) = V_p^+(x) - V_q^-(x)

  • 吸引项 Vp+(x)V_p^+(x):将 xx 拉向真实数据样本(正样本 y+pdatay^+ \sim p_{\text{data}}
  • 排斥项 Vq(x)V_q^-(x):将 xx 推离其他生成样本(负样本 yqy^- \sim q

完整的漂移场公式为:

Vp,q(x)=1ZpZqEp,q[k(x,y+)k(x,y)(y+y)]V_{p,q}(x) = \frac{1}{Z_p Z_q}\mathbb{E}_{p,q}\left[k(x, y^+) k(x, y^-)(y^+ - y^-)\right]

其中 k(x,y)=exp(1τxy)k(x,y) = \exp(-\frac{1}{\tau}\|x-y\|) 是一个基于距离的核函数,τ\tau 是温度参数。

图2:漂移场的吸引-排斥机制示意图

这个公式的直觉是:生成样本被真实数据"吸引",同时被其他生成样本"排斥",两种力的平衡驱动分布演化。当生成分布与数据分布完全匹配时,吸引和排斥恰好抵消,漂移为零。

在实现上,核函数的归一化通过softmax操作完成,这与对比学习中的InfoNCE损失有异曲同工之妙。论文还发现,同时在 xxyy 两个维度上做softmax归一化效果最好(Table 11)。

五、特征空间中的漂移:让高维生成成为可能

直接在像素空间计算漂移场对于高维图像来说并不理想——像素级的距离度量难以捕捉语义相似性。论文的解决方案是在特征空间中计算漂移:

L=jE[ϕj(x)stopgrad(ϕj(x)+V(ϕj(x)))2]\mathcal{L} = \sum_j \mathbb{E}\left[\left\|\phi_j(x) - \text{stopgrad}\left(\phi_j(x) + V(\phi_j(x))\right)\right\|^2\right]

其中 ϕj\phi_j 是预训练特征提取器在第 jj 个尺度/位置的特征。论文使用ResNet风格的编码器,在多个尺度上提取特征并分别计算漂移损失。

特征提取器的选择至关重要。论文对比了多种自监督学习(SSL)预训练模型(Table 3):

特征编码器SSL方法FID
ResNet-50SimCLR11.05
ResNet-50MoCo-v28.41
ResNet (宽度256)latent-MAE8.46
ResNet (宽度640)latent-MAE6.30
ResNet (宽度640) + 分类微调latent-MAE3.36

最终,论文定制了一个在隐空间上预训练的MAE模型(latent-MAE),配合分类微调,取得了最佳效果。这个特征编码器直接在VAE的隐空间上工作,避免了训练时运行VAE解码器的开销。

六、Classifier-Free Guidance的自然支持

Classifier-Free Guidance(CFG)是提升生成质量的标准技巧。在扩散模型中,CFG需要同时运行条件和无条件模型,推理成本翻倍。

漂移模型对CFG的支持非常自然:只需在负样本中混入一部分来自其他类别的真实数据即可。具体地,负样本分布变为:

q~(c)=(1γ)qθ(c)+γpdata()\tilde{q}(\cdot|c) = (1-\gamma)\, q_\theta(\cdot|c) + \gamma\, p_{\text{data}}(\cdot|\varnothing)

其中 γ\gamma 是混合比例。这等价于让生成分布 qθ(c)q_\theta(\cdot|c) 去逼近条件分布和无条件分布的线性外推,与原始CFG的精神一致。关键优势在于:推理时仍然只需一步,CFG的效果完全在训练时通过负样本的构造实现。

论文Figure 5展示了CFG强度 α\alpha 对FID和IS的影响。有趣的是,对于最佳模型(L/2),最优FID在 α=1.0\alpha=1.0 时取得——这在扩散模型中通常被认为是"不使用CFG"的设置。

七、实验结果:单步生成的新标杆

7.1 ImageNet 256×256 隐空间生成

论文Table 5展示了系统级对比。漂移模型在单步生成中取得了显著领先的结果:

方法类型NFEFID↓
DMD2 (蒸馏)单步12.44
iMF (从头训练)单步13.92
SiT (多步流模型)多步2502.06
Drifting Model L/2单步11.54

FID 1.54不仅大幅领先其他单步方法,甚至超越了许多需要数百步推理的扩散/流模型。

7.2 ImageNet 256×256 像素空间生成

在更具挑战性的像素空间生成(不使用VAE)中,漂移模型同样表现出色(Table 6):

方法NFEFID↓
StyleGAN-XL12.30
PixelDiT (多步)200×21.61
Drifting Model L/1611.61

单步像素空间生成达到1.61 FID,与需要400次网络评估的PixelDiT持平,同时计算量仅为StyleGAN-XL的约1/18(87G vs 1574G FLOPs)。

7.3 机器人控制

论文还将漂移模型应用于机器人控制任务(Table 7),替换Diffusion Policy中的多步扩散生成器。结果显示,单步的"Drifting Policy"在多个任务上匹配甚至超越了需要100步推理的Diffusion Policy,展示了该方法在图像生成之外的通用性。

八、为什么不会模式坍塌?

模式坍塌(Mode Collapse)是GAN等单步生成模型的老大难问题。漂移模型为什么能避免?

论文Figure 3给出了直观解释:在一个二维双峰分布的实验中,即使初始分布坍塌到单个模式上,漂移场中的吸引力会将样本拉向另一个模式,推动分布继续演化。

图3:不同初始化下分布的演化过程

这背后的机制是:当生成分布只覆盖了数据分布的一个模式时,来自其他模式的正样本会产生强烈的吸引力,而同一模式内过于密集的生成样本会产生排斥力,两者共同驱动分布向未覆盖的区域扩展。

九、与现有方法的关系

漂移模型在概念上与多个经典方法有联系,但又有本质区别:

vs 扩散/流模型:扩散模型在推理时通过SDE/ODE迭代演化样本分布;漂移模型在训练时通过SGD迭代演化推前分布。两者都涉及分布的渐进演化,但发生的时间点不同。漂移模型不依赖SDE/ODE的数学框架。

vs GAN:两者都是单步生成器,都需要评估生成样本的"好坏"。但GAN依赖对抗训练(判别器),而漂移模型通过漂移场直接提供训练信号,无需对抗优化。

vs MMD方法:论文在附录C.2中详细分析了与最大均值差异(MMD)方法的关系。漂移模型的漂移场可以看作MMD损失梯度的推广,但关键区别在于漂移模型使用了归一化核,这是MMD框架无法自然推导出的。

vs 对比学习:漂移场的计算中使用softmax归一化的核函数,与InfoNCE损失形式相似。论文发现,增大正负样本数量能提升生成质量(Table 2),这与对比学习中"更多负样本更好"的经验一致。

漂移模型与相关方法的关系图

十、关键设计细节与消融实验

论文提供了详尽的消融实验,这里总结几个最重要的发现:

正负样本数量(Table 2):在固定总计算量下,增大正样本数 NposN_{\text{pos}} 和负样本数 NnegN_{\text{neg}} 都能提升生成质量。这是因为更多样本能更准确地估计漂移场 VV

多温度策略(附录A.6):论文使用三个温度值 τ{0.02,0.05,0.2}\tau \in \{0.02, 0.05, 0.2\} 分别计算漂移场并求和。不同温度捕捉不同尺度的"邻近"关系,组合使用比单一最优温度效果更好(FID 8.46 vs 最佳单温度8.67)。

模型架构:生成器采用DiT风格的Transformer,输入为高斯噪声,输出为图像(隐空间或像素空间)。使用了SwiGLU、RoPE、RMSNorm等现代Transformer技巧。

从消融到最终结果(Table 4):

设置架构训练轮数FID
基线B/21003.36
更长训练B/23202.51
调参+更长训练B/212801.75
更大模型L/212801.54

可以看到,更长的训练和更大的模型都能持续带来收益,说明该方法具有良好的可扩展性。

十一、局限性与展望

论文本身未设专门的局限性章节,但从实验和方法设计中可以观察到以下几点:

  1. 训练成本:虽然推理只需一步,但训练需要1280个epoch(约200k步),且每步需要计算漂移场(涉及正负样本的成对距离),训练成本不低。

  2. 依赖预训练特征编码器:生成质量对特征空间的选择敏感(Table 3中FID从11.05到3.36),需要额外预训练一个MAE模型作为特征提取器。

  3. 目前仅验证了类条件生成:论文实验集中在ImageNet类条件生成和机器人控制上,文本到图像等更复杂的条件生成场景尚未探索(综述未明确说明是否适用)。

  4. 理论保证的局限:虽然反对称性保证了 q=pV=0q=p \Rightarrow V=0,但反方向(V=0q=pV=0 \Rightarrow q=p)在一般情况下不成立。论文在附录C.1中给出了在特定条件下的可辨识性分析,但这依赖于非退化假设。

十二、读者问答

Q:漂移模型和蒸馏方法(如DMD、Consistency Distillation)有什么区别?

A:蒸馏方法需要先训练一个多步教师模型,再将其"压缩"为单步学生模型。漂移模型从头训练,不需要预训练的扩散/流模型作为教师。这是一个概念上独立的范式。

Q:漂移场的计算复杂度如何?

A:核心计算是生成样本与正/负样本之间的成对距离矩阵(Algorithm 2),复杂度为 O(N×(Npos+Nneg)×D)O(N \times (N_{\text{pos}} + N_{\text{neg}}) \times D),其中 DD 是特征维度。这与对比学习中的计算类似。

Q:这个方法能用于文本生成或其他模态吗?

A:论文在机器人控制(连续动作空间)上验证了通用性。理论上,只要能定义合适的核函数和特征空间,该方法可以推广到其他模态,但综述未明确讨论文本生成等离散场景。

总结

漂移模型提出了一个简洁而深刻的观点:生成建模中的迭代不一定要发生在推理时,训练过程本身就是一种天然的迭代。通过设计反对称的漂移场,论文将"分布匹配"转化为"漂移场归零"的优化问题,让SGD优化器自然地驱动分布演化。

这个方法在ImageNet上以单步推理取得了1.54 FID的SOTA成绩,同时在概念上完全独立于扩散/流模型的SDE/ODE框架,为生成建模开辟了一条新路径。对于研究者来说,这篇论文最值得关注的不仅是数字上的突破,更是它提供的全新视角——也许我们一直以来对"推理时迭代"的依赖,本身就不是必须的。

更多资源获取欢迎关注我的公众号:「木子吉星」 公众号二维码