本文讨论Stable Diffusion背后的两种关键技术:DDPM(Denoising Diffusion Probabilistic Models)和DDIM(Denoising Diffusion Implicit Models),并解释为什么在训练时使用DDPM,而在采样时使用DDIM。
DDPM:去噪扩散概率模型
DDPM是一种生成模型,它通过逐步引入噪声,然后再逐步去除噪声的方式来生成数据。这个过程可以看作是一个马尔可夫链,每一步都是依赖于前一步的。DDPM的核心在于它的概率过程,它通过贝叶斯公式来推导模型。
在DDPM的训练过程中,模型学习如何从噪声数据中恢复出原始数据。这个过程可以表示为一个序列:
x t − 1 x_{t-1} xt−1 = f θ ( x t + ϵ t ) f_\theta(x_t + \epsilon_t) fθ(xt+ϵt)
其中, x t x_t xt 是在时间步 t t t 的噪声数据, f θ f_\theta fθ 是去噪函数, ϵ t \epsilon_t ϵt 是噪声项。
DDIM:去噪扩散隐式模型
DDIM是DDPM的一个变体,它在采样过程中不依赖于马尔可夫性,允许在生成数据时跳过中间步骤。这种“跳步”的能力使得DDIM在生成数据时可以显著加快速度。
DDIM的核心思想是,通过调整噪声的方差,可以在保持数据质量的同时减少生成步骤。这可以通过调整一个参数 ( \beta ) 来实现,该参数控制了每一步的噪声水平。
为什么训练用DDPM,采样用DDIM?
在训练阶段,DDPM提供了一个稳定的学习过程,因为它的马尔可夫性质确保了每一步都是依赖于前一步的。这使得模型能够更准确地学习数据的分布。
然而,在采样阶段,我们通常希望快速生成数据。DDIM通过允许跳步,显著减少了生成数据所需的步骤,从而加快了生成速度。此外,DDIM通过调整噪声水平,可以在不牺牲数据质量的情况下增加生成的多样性。
实验结果
实验表明,通过减少采样步数,可以加速生成过程,使生成的图像更加平滑。然而,这可能会牺牲一些多样性。为了平衡这一点,可以通过适当减小 β \beta β 的值来增加多样性。
结论
DDPM和DDIM是Stable Diffusion技术中的关键组成部分。DDPM在训练阶段提供了一个稳定的学习过程,而DDIM在采样阶段通过跳步和调整噪声水平来加速生成过程。这两种技术的结合使得Stable Diffusion能够快速且高质量地生成图像。