【扩散模型】引导扩散方法ClassifierGuidance

Guided diffusion

DDPM和DDIM只能通过特定的采样方式恢复与训练集相似的图片,而在采样过程中生成的方向我们难以控制。因此,对实现扩散模型在采样过程中的引导,使其生成我们想要的种类图片有着重要意义。Classifier Guidance就是其中一个方法。

两个重要指标:IS 和 FID

这两个指标在图像生成领域经常出现,用于评估模型的性能。
在这里插入图片描述
在这里插入图片描述

Classifier Guidance

参考视频

论文:Diffusion Models Beat GANs on Image Synthesis
https://arxiv.org/pdf/2105.05233v1.pdf

在这里插入图片描述

Classifier Guidance方法包括采样过程神经网络模型和分类器模型。以下介绍数学推导过程证明采样神经网络模型和分类器模型的合理性。

Conditional Diffusion Process

定义新的表示扩散过程(带 ^ 是新的定义过程,下列表示新的扩散过程和旧的即DDPM作者定义的过程之间的关系,并给出证明):

在这里插入图片描述
原始图片 x 0 {x_0} x0是一样的,并且类别是已知的,加噪过程和之前也是一样的。

无论有没有条件引导,加噪过程是一致的,不依赖于y。证明如下:

在这里插入图片描述

图像的类别跟t+1时刻的图像没有关系(这点与DDPM具有同样的关系过程,如下):

在这里插入图片描述

在给定类别y的条件下,反向过程:

在这里插入图片描述
q ( x t ∣ x t + 1 ) q(x_t|x_{t+1}) q(xtxt+1)是DDPM训练好的, q ^ ( y ∣ x t + 1 ) \widehat{q}(y|x_{t+1}) q (yxt+1)可以由分类器计算得到的,是已知的。 q ^ ( y ∣ x t ) \widehat{q}(y|x_{t}) q (yxt)也说明分类器需要对每一时刻的图像进行分类,因此分类器需要对各种加噪的图片进行训练而不只是对 x 0 {x_0} x0进行训练。

因此,反向过程进行采样的神经网络可以写成:
在这里插入图片描述
其中,Z是归一化常数。

对于高维的高斯分布求log p θ ( y ∣ x t ) p_\theta(y|x_t) pθ(yxt)分布集中 x t = μ x_{t}=\mu xt=μ,在此处使用泰勒展开可以得到:
在这里插入图片描述
log ⁡ p ϕ ( y ∣ x t ) \log p_\phi(y|x_t) logpϕ(yxt)虽不是高斯分布,也可以在 x t = μ x_t=\mu xt=μ处进行泰勒展开,得到:
在这里插入图片描述
其中, g = ∇ x t log ⁡ p ϕ ( y ∣ x t ) ∣ x t = μ g=\nabla_{x_t}\log p_\phi(y|x_t)|_{x_t=\mu} g=xtlogpϕ(yxt)xt=μ
因此,将上面两个展开公式代入采样过程的神经网络对数公式,化简可得:

在这里插入图片描述

所以采样的分布为 N ( μ + Σ g , Σ ) \mathcal{N}(\mu+\Sigma g,\Sigma) N(μ+Σg,Σ)便能得到y引导下的图片。
这就是第一种采样方式。

=====================================================

第二种采样方式:
而对于DDIM, Σ {\Sigma} Σ可能为0。因此由score的方法

在这里插入图片描述
在这里插入图片描述

从而重新定义预测的分布
在这里插入图片描述
通过这个新的 ϵ ^ ( x t ) \hat{\epsilon}(x_t) ϵ^(xt)去进行DDIM或者DDPM的采样得到最终图片。

伪代码

两种采样方式
在这里插入图片描述
在这里插入图片描述

架构改进(Classifier Guidance)

Classifier Guidance的重大贡献就是从数学推导上解释对扩散模型采样过程的引导。同时,论文相关工作也对模型进行了一定的修改。

-增加深度与宽度,保持模型尺寸相对恒定。

-增加 attention heads的数量。

-在32 × 32、16 × 16和8 × 8分辨率下使用注意力,而不仅仅是在16 × 16分辨率下。

-使用BigGAN残差块对激活进行上采样和下采样。

-用 1 2 \frac1{\sqrt{2}} 2 1重新缩放剩余连接

相关论文和代码下载

有时候论文网站arXiv.org打开比较慢,已经将相关论文和代码上传到网盘,需要的可以自取

链接: https://pan.baidu.com/s/1J1h8R4KyY7k6NgS2t7YOZg?pwd=3ss8

可以关注公众号:

搜索:福尔马林灌汤包
在这里插入图片描述

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值