Generated with sparks and insights from 4 sources

img6

img7

img8

img9

img10

img11

Introduction

  • Classifier-Free Guidance Diffusion是一种在扩散模型中使用的方法,可以在不需要分类器的情况下提供与分类器引导相同的效果。

  • 这种方法涉及训练两个模型:一个无条件的去噪扩散模型pθ(z),和一个有条件模型pθ(z|c)。

  • 在生成过程中,输入随机噪声,然后逐步去除噪声,普遍使用的解噪方法是Stochastic Gradient Langevin Dynamics (SGLD)。

  • 条件扩散模型中,会有一个额外的输入y(比如类别标签或者一段文字),我们尝试对条件概率分布p(x|y)建模。

  • Classifier-Free Guidance通过在训练中有时将文本替换为空序列来实现,这样在生成时可以使用更新的εθ(xt|y)指导生成标签为y的图像。

研究背景

  • 扩散模型是生成模型的一种,其对高维数据的分布p(x)建模。

  • 不同于直接估计p(x),扩散模型尝试估计score function ∇x log p(x)。

  • 使用扩散模型生成样本时,输入随机噪声,然后逐步去除噪声。

  • 普遍使用的解噪方法是Stochastic Gradient Langevin Dynamics (SGLD)。

  • 在条件扩散模型中,会有一个额外的输入y(比如类别标签或者一段文字),我们尝试对条件概率分布p(x|y)建模。

理论推导 [1]

  • 根据DDIM的采样过程,xt-1可以通过xt和εθ(xt|y)来预测。

  • 如果能得到εθ(xt|y),就可以使用公式生成图像。

  • Classifier guidance通过贝叶斯公式来实现,增强条件信息。

  • Classifier-free guidance通过在训练中有时将文本替换为空序列来实现。

  • 在生成时,使用更新的εθ(xt|y)指导生成标签为y的图像。

img6

img7

Classifier Guidance [1]

  • Classifier guidance通过贝叶斯公式来实现,增强条件信息。

  • 在条件项上增加一个尺度因子γ,称为guidance scale。

  • 当γ取值大于1时,可以增大条件信息的影响。

  • 需要注意的是条件项∇xt log p(y|xt)不是score function。

  • Classifier guidance的有效性在本质上是有限的,通常需要训练定制的分类器。

img6

Classifier-Free Guidance [1]

  • Classifier-free guidance通过在训练中有时将文本替换为空序列来实现。

  • 在生成时,使用更新的εθ(xt|y)指导生成标签为y的图像。

  • 当γ=0时为无条件模型,当γ=1时为标准的条件概率模型。

  • 当γ>1时,可以显著提高样本生成质量。

  • Classifier-free guidance的想法发布和OpenAI的GLIDE模型只间隔很短的时间。

代码分析 [1]

  • 模型使用UNet模型,输入增加数据标签,即tokens和mask。

  • 数据加载时,以一定的概率将标签替换为”[]“。

  • 生成图像时,输入prompt会随机初始化高斯图像。

  • 模型的输入为xt,ts,**kwargs (tokens, mask),经过UNet后输出。

  • 最后通过diffusion生成结果,图像取[:batch_size]。

img6

Related Videos

<br><br>

<div class="-md-ext-youtube-widget"> { "title": "Classifier-free Guidance\u8bba\u6587\u89e3\u6790", "link": "https://www.youtube.com/watch?v=PDCT7MsTWPg", "channel": { "name": ""}, "published_date": "Feb 20, 2023", "length": "" }</div>

<div class="-md-ext-youtube-widget"> { "title": "CFG: Classifier-Free Diffusion Guidance", "link": "https://www.youtube.com/watch?v=XDMnHMeX-kQ", "channel": { "name": ""}, "published_date": "Apr 4, 2024", "length": "" }</div>