扩散模型在语义对齐上取得巨大成功,但其采样过程天然倾向于"典型解"而非"多样解"——这一矛盾的根源在于最大似然训练本身的几何偏差,促使研究者从信息论角度重新审视生成多样性问题。
VAE(Kingma & Welling, 2014)和早期 GAN(Goodfellow et al., 2014)都暴露了同一个问题:用最大似然估计(MLE)训练的生成模型,其采样结果倾向于数据分布的高密度区域——即"最常见"的样本。Theis et al.(2016)在 ICLR 的论文《A note on the evaluation of generative models》明确指出,高似然值并不等价于高多样性,模型可以通过反复生成"安全"的平均脸、平均风景来最大化对数似然,这被后来的研究者称为"典型性偏差"(typicality bias)。这一问题在图像生成中表现为:不同随机种子生成的图像在构图、色调、主体位置上高度相似。
DDPM(Ho et al., NeurIPS 2020)和 Score Matching(Song & Ermon, NeurIPS 2019)带来了生成质量的飞跃,FID 分数大幅下降。但研究者很快发现:FID 衡量的是分布级别的统计距离,一个只生成少数几类高质量图像的模型同样可以获得低 FID。Nichol & Dhariwal(2021)在 Improved DDPM 中引入了 classifier guidance,虽然提升了条件生成质量,却进一步压缩了多样性——guidance scale 越大,生成结果越"典型"、越单一。这一 quality-diversity tradeoff 成为领域内公开承认的核心张力。
Meister et al.(2023, ACL)将自然语言生成中的"典型采样"(typical sampling)引入视野:他们证明,人类偏好的文本并非来自概率最高的 token 序列,而是来自信息熵接近模型条件熵的"典型集"(typical set)。这一思想随后被迁移到图像生成:若模型的上下文空间(context space)中各样本点相互吸引、聚集,则输出多样性必然受损;反之,若在上下文空间中引入"排斥力"(repulsion),使各采样轨迹在语义空间中彼此远离,则可在不损失质量的前提下扩展生成多样性。
以今日论文(arXiv 2025)为代表的工作将上述直觉形式化:在扩散变换器(DiT)的上下文空间中,通过粒子间排斥势能(repulsive potential)动态推开各并行采样轨迹,使其覆盖更广的语义区域。这与统计物理中的 Stein Variational Gradient Descent(SVGD, Liu & Wang, NeurIPS 2016)思想一脉相承——SVGD 正是用粒子间核排斥来近似后验分布的全貌,而非只找到后验众数。
设 $N$ 个并行采样粒子在扩散变换器上下文空间中的表示为 $\{z_i\}_{i=1}^N$,$z_i \in \mathbb{R}^d$。 典型性偏差的根源:标准扩散采样等价于从 $p_\theta(x)$ 中独立采样,各粒子之间无交互,导致它们都向分布众数 $\arg\max p_\theta(x)$ 收缩。 排斥势能定义:引入粒子间排斥能量: $$\mathcal{E}_{\text{rep}} = \sum_{i \neq j} \kappa(z_i, z_j)$$ 其中 $\kappa$ 为正定核函数,常用 RBF 核:$\kappa(z_i, z_j) = \exp\!\left(-\frac{\|z_i - z_j\|^2}{2h^2}\right)$,$h$ 为带宽参数(通常用中位数启发式设置)。 梯度更新:对粒子 $z_i$ 施加排斥梯度: $$\nabla_{z_i} \mathcal{E}_{\text{rep}} = \sum_{j \neq i} \frac{z_i - z_j}{h^2} \kappa(z_i, z_j)$$ 当 $z_i$ 与 $z_j$ 距离越近,排斥力越强,推动粒子向稀疏区域扩散。 与 SVGD 的联系:SVGD 的粒子更新为: $$\phi(z_i) = \frac{1}{N}\sum_j \left[\kappa(z_j, z_i)\nabla_{z_j}\log p(z_j) + \nabla_{z_j}\kappa(z_j, z_i)\right]$$ 第一项为"吸引力"(跟随分布梯度),第二项为"排斥力"(粒子间互斥)。扩散多样性方法本质上只保留了排斥项,在采样阶段动态施加,无需修改模型权重。 多样性度量:生成集合的多样性可用平均成对距离衡量:$\mathcal{D} = \frac{1}{N(N-1)}\sum_{i\neq j} d(x_i, x_j)$,其中 $d$ 为 CLIP 嵌入空间中的余弦距离。
整体逻辑:在扩散模型的去噪迭代过程中,维护一组并行采样粒子,在每步去噪的同时计算粒子间排斥梯度并叠加到上下文表示上,使各粒子在语义空间中主动分散,最终生成覆盖更广语义区域的多样化结果集合。
从标准高斯噪声中独立采样 $N$ 个初始噪声 $\{x_T^{(i)}\}_{i=1}^N$,$x_T^{(i)} \sim \mathcal{N}(0, I)$。这一步与标准扩散采样完全相同,多样性机制在后续步骤中介入。选择 $N$ 的大小需权衡:$N$ 越大覆盖越广,但显存开销线性增长;实践中 $N=4\sim16$ 已能显著提升多样性。
在扩散变换器(DiT)的每个去噪步 $t$,提取各粒子在 Transformer 中间层的上下文表示 $z_t^{(i)}$。选择中间层而非输入噪声的原因:中间层表示已融合了文本条件信息,在语义空间中具有更好的几何结构,使得粒子间距离能真实反映语义差异;而原始像素空间的距离与语义差异相关性较弱。关键细节:通常选取 DiT 中间 1/3 到 2/3 深度的层,过浅则语义信息不足,过深则表示已高度确定、排斥效果有限。
计算粒子 $i$ 受到的排斥梯度:
python # z: [N, d] 上下文表示 dist_sq = pairwise_sq_dist(z) # [N, N] h = median_heuristic(dist_sq) # 自适应带宽 K = torch.exp(-dist_sq / (2 * h**2)) # RBF核 [N, N] repulsion = (K.unsqueeze(-1) * (z.unsqueeze(0) - z.unsqueeze(1))).sum(1) / (h**2) z_new = z + alpha * repulsion # alpha为排斥强度超参排斥强度 $\alpha$ 需随去噪步 $t$ 衰减:早期(高噪声)步骤排斥力强,允许粒子大范围分散;后期(低噪声)步骤排斥力弱,保证各粒子内部细节的一致性。这一设计类比退火过程。
将排斥修正后的上下文表示 $z_{\text{new}}^{(i)}$ 送回 DiT 的后续层,完成当前步的去噪预测 $\hat{x}_0^{(i)}$,再按 DDIM/DDPM 调度更新 $x_{t-1}^{(i)}$。关键设计选择:排斥只修改上下文表示,不直接修改噪声 $x_t$,这样保证了每个粒子自身的去噪轨迹仍然合法(在数据流形上),只是不同粒子的轨迹被推向不同方向。
在推理结束后,用 CLIP 嵌入计算生成集合的成对相似度分布,若平均相似度高于阈值则增大 $\alpha$,低于阈值则减小 $\alpha$。这一自适应机制避免了过度排斥导致的语义失真(粒子被推出合理语义区域)。
该方向直接影响创意生成工具的用户体验:Midjourney 的"Vary"功能、Adobe Firefly 的多方案生成、以及视频生成中的镜头多样性控制,本质上都在解决同一问题。SVGD 框架的引入使多样性控制从"随机性调参"升级为有理论保证的优化过程。对于音视频生成工程师,同样的排斥机制可应用于音乐生成的风格多样性和语音合成的韵律多样性,是跨模态通用的设计模式,未来数年内将成为生成系统的标配组件。
当前开放问题包括:①排斥核函数的选择对不同模态(图像/音频/视频)的适配性尚无系统研究;②如何在条件生成中保证排斥不破坏文本-图像对齐(排斥可能将粒子推出条件约束区域);③多样性与可控性的统一框架——用户往往既要多样又要可控,二者在几何上存在根本张力;④实时推理场景下 $N$ 个并行粒子的显存开销如何压缩。