随机添加条件训练,最终结果是条件引导图片和无条件引导图片的线性组合。不需要单独训练引导器
(图片)+(条件)-> 噪声 + 条件 -> 条件图片,条件图片
什么是 CFDG ?
- 引导函数的方法存在一些问题:1)额外训练一个噪声版本的图像分类器;2)该分类器的质量会影响按类别生成的效果;3)通过梯度更新图像会导致对抗攻击效应,生成图像可能会通过人眼不可察觉的细节欺骗分类器,实际上并没有按条件生成
- Classifier-Free Guidance 的核心是通过一个隐式分类器来替代显示分类器,而无需直接计算显式分类器及其梯度
CFDG 的原理?
- Classifier-Free Guidance 的核心是通过一个隐式分类器来替代显示分类器,而无需直接计算显式分类器及其梯度,生成时被定义为
p(xt−1∣xt,y)=N(xt−1;μ(xt,y),σt2I)
- μ(xt,y) 的一般化参数为
μ(xt,y)=αt1(xt−βˉtβt2ϵθ(xt,y,t))
loss=[∥∥∥ε−ϵθ(αˉtx0+βˉtε,y,t)∥∥∥2]
- 在训练过程中就引入了额外的输入 y,理论上输入信息越多越容易训练;它的缺点也是在训练过程中就引入了额外的输入 y,意味着每做一组信号控制,就要重新训练整个扩散模型
CFDG 如何训练?
- 训练时:Classifier-Free Guidance 需要训练两个模型,一个是无条件生成模型,另一个是条件生成模型。但这两个模型可以用同一个模型表示,训练时只需要以一定概率将条件置空即可
CFDG 如何推理?
- 推理时,最终结果可以由条件生成和无条件生成的线性外推获得,生成效果可以引导系数 w 可以调节,控制生成样本的逼真性和多样性的平衡
ϵ^θ(zλ,y)=(1+w)ϵθ(zλ,y)−wϵθ(zλ)
参考:
- 扩散模型笔记 5 classifier-free guidance - 知乎
- 通俗理解 Classifier Guidance 和 Classifier-Free Guidance 的扩散模型 - 知乎
- 生成扩散模型漫谈(九):条件控制生成结果 - 科学空间 | Scientific Spaces