扩散模型专栏文章汇总:入门与实战【Diffusion Models】

1、0基础学习diffusion_model扩散模型【易理解的公式推导】Denoising Diffusion Probabilistic Models

主要是:
扩散过程 x t = α ‾ t x 0 x_t=\sqrt {\overline{\alpha}_ {t}}x_ {0} xt=αt x0 + 1 − α ‾ t \sqrt {1-\overline {\alpha} }_ {t} 1α t z ‾ t \overline {z}_t zt
逆扩散过程: q ( X t − 1 ∣ X t X 0 ) = N ( X t − 1 ; 1 α t X t − β t α t ( 1 − α ˉ t ) Z , 1 − α ˉ t − 1 1 − α ˉ t β t ) , Z ∼ N ( 0 , I ) q\left(X_{t-1} \mid X_{t} X_{0}\right)=N\left(X_{t-1} ; \frac{1}{\sqrt{\alpha_t}} X_{t}-\frac{\beta_{t}}{\sqrt{\alpha_{t}\left(1-\bar{\alpha}_{t}\right)}} Z, \frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_{t}} \beta_{t}\right), Z \sim N(0, I) q(Xt1XtX0)=N(Xt1;αt 1Xtαt(1αˉt) βtZ,1αˉt1αˉt1βt),ZN(0,I)的公式推导,以及扩散模型的简介。

2、扩散模型DDPM开源代码的剖析【对应公式与作者给的开源项目,diffusion model】

以一个代码例子介绍了扩散模型的整个过程,在这篇有DDPM的损失函数的推导。
L simple ( θ ) = E t , x 0 , ϵ [ ∥ ϵ − ϵ θ ( α ˉ t x 0 + 1 − α ˉ t ϵ , t ) ∥ 2 ] L_{\text{simple}}(\theta) = \mathbb{E}_{t,x_0, \epsilon} \Bigg[ \bigg\Vert \epsilon - \textcolor{lightgreen}{\epsilon_\theta}(\sqrt{\bar\alpha_t} x_0 + \sqrt{1-\bar\alpha_t}\epsilon, t) \bigg\Vert^2 \Bigg] Lsimple(θ)=Et,x0,ϵ[ ϵϵθ(αˉt x0+1αˉt ϵ,t) 2]

3、【DDIM加速采样方法】公式推导加代码分析。Denoising Diffusion Implicit Models

在这篇文章主要介绍了一种非马尔科夫的前向过程,不同于 DDPM 基于马尔可夫的 Forward Process,但是它们训练方法相同,因此在 DDPM 基础上加上 DDIM 采样方案即可。并且DDIM 的采样是确定的,即给定了同样的初始噪声 x t x_t xt ,DDIM 能够生成相同的结果 x 0 x_0 x0
然后是给出了采样公式的推导,即
x τ i − 1 = α τ i − 1 ( x τ i − 1 − α τ i ϵ θ ( x τ i ) α τ i ) + 1 − α τ i − 1 − σ τ i 2 ⋅ ϵ θ ( x τ i ) + σ τ i ϵ τ i x_{\tau_{i-1}} = \sqrt{\alpha_{\tau_{i-1}}}\Bigg( \frac{x_{\tau_i} - \sqrt{1 - \alpha_{\tau_i}}\epsilon_\theta(x_{\tau_i})}{\sqrt{\alpha_{\tau_i}}} \Bigg) \\ + \sqrt{1 - \alpha_{\tau_{i- 1}} - \sigma_{\tau_i}^2} \cdot \epsilon_\theta(x_{\tau_i}) \\ + \sigma_{\tau_i} \epsilon_{\tau_i} xτi1=ατi1 (ατi xτi1ατi ϵθ(xτi))+1ατi1στi2 ϵθ(xτi)+στiϵτi其中 ϵ τ i \epsilon_{\tau_i} ϵτi 是随机噪声,
τ \tau τ [ 1 , 2 , … , T ] [1,2,\dots,T] [1,2,,T] 的子序列,长度为 S S S,和
σ τ i = η 1 − α τ i − 1 1 − α τ i 1 − α τ i α τ i − 1 \sigma_{\tau_i} = \eta \sqrt{\frac{1 - \alpha_{\tau_{i-1}}}{1 - \alpha_{\tau_i}}} \sqrt{1 - \frac{\alpha_{\tau_i}}{\alpha_{\tau_{i-1}}}} στi=η1ατi1ατi1 1ατi1ατi 请注意,DDIM 论文中的 α t \alpha_t αt 是指来自 DDPM α ˉ t {\color{lightgreen}\bar\alpha_t} αˉt
最后介绍了respacing,是一种加速采样的技巧。
并且给出了相关主要代码的分析。

4、classifier guided diffusion【公式加代码实战】Diffusion Models Beat GANs on Image Synthesis

这篇主要介绍的是类条件扩散模型,从而推广到多模态的条件。
这篇主要基于Improved Denoising Diffusion Probabilistic ModelsDDIM就是在DDPM的基础上做了一些优化,例如学习方差,设置cosine类型的betas,新的混合目标函数和重要性采样等等。
然后这篇工作对Unet进行了一些架构的优化。
然后是条件生成包括:训练过程中的Condition和采样过程中的Guidance。
都给出了公式的证明和代码示例。

5、【SDG精读与代码复现】More Control for Free Image Synthesis with Semantic Diffusion Guidance【SDG】

这篇工作主要是基于Diffusion Models Beat GANs on Image Synthesis和CLIP。
多模态的引导扩散模型进行采样。直接用训练好的非条件的扩散模型,无需重复训练。文字guided是用一个微调的CLIP模型,数据集无需文本注释。
给出了论文的介绍复现的指引等。

6、score-based generative models【公式推导+代码实战】

这这篇中介绍了一个【生成模型新方向】score-based generative models(其实和扩散模型大同小异)
给出了原理介绍,然后是对应的代码分析。
包括训练过程的代码和采样的代码,有很详细的代码注释。
这种score-based generative model有如下的优点:

  1. 可以得到GAN级别的采样效果,而无需对抗学习(adversarial training)
  2. 灵活的模型结构
  3. 精确的对数似然估计计算(exact log-likelihood computation)
  4. 唯一可识别表征学习(uniquely identifiable representation learning)
  5. 流程可逆,我理解是不需要像StyleGAN的模型训练一个feature网络,可能也不需要像FLOW那么大的计算量。

7、持续更新中…

猜你喜欢

转载自blog.csdn.net/qq_45934285/article/details/129808619