当前位置:   article > 正文

浅析扩散模型与图像生成【应用篇】(十三)——GLIDE_glide 图像生成

glide 图像生成

13. GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

  该文提出一种基于文本引导的扩散模型用于图像的生成和编辑,可以根据给定的文字描述来生成或编辑图像。在ADM中我们曾介绍了一种基于分类器引导的图像生成模型,其基本的思想是额外训练一个分类器 p ϕ ( y ∣ x t ) p_{\phi}(y|x_t) pϕ(yxt)利用其对数的梯度来引导采样过程,具体来说是对去噪模型预测的均值 μ θ ( x t ∣ y ) \mu_{\theta}(x_t|y) μθ(xty)进行修改,如下式 μ ^ θ ( x t ∣ y ) = μ θ ( x t ∣ y ) + s ⋅ Σ θ ( x t ∣ y ) ∇ x t log ⁡ p ϕ ( y ∣ x t ) \hat{\mu}_{\theta}\left(x_{t} \mid y\right)=\mu_{\theta}\left(x_{t} \mid y\right)+s \cdot \Sigma_{\theta}\left(x_{t} \mid y\right) \nabla_{x_{t}} \log p_{\phi}\left(y \mid x_{t}\right) μ^θ(xty)=μθ(xty)+sΣθ(xty)xtlogpϕ(yxt)虽然这种做法实现了将类别条件引入到生成过程中,可以生成指定类别的图像。但需要额外训练一个分类器,且对于某些很难用分类器去描述的引导内容,该方法也会失效。因此在CDM(Classifier-free diffusion guidance)中提出一种无需分类器的引导方法,具体实现方法如下 ϵ ^ θ ( x t ∣ y ) = ϵ θ ( x t ∣ ∅ ) + s ⋅ ( ϵ θ ( x t ∣ y ) − ϵ θ ( x t ∣ ∅ ) ) \hat{\epsilon}_{\theta}\left(x_{t} \mid y\right)=\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)+s \cdot\left(\epsilon_{\theta}\left(x_{t} \mid y\right)-\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)\right) ϵ^θ(xty)=ϵθ(xt)+s(ϵθ(xty)ϵθ(xt))其中 ϵ θ ( x t ∣ y ) \epsilon_{\theta}\left(x_{t} \mid y\right) ϵθ(xty)表示带有条件 y y y训练的去噪模型,条件 y y y可以通过AdaGN或者图像级联的方式引入去噪模型中, ϵ θ ( x t ∣ ∅ ) \epsilon_{\theta}\left(x_{t} \mid \emptyset\right) ϵθ(xt)则表示条件为空时的扩散模型。

这里的写法和CDM原文中有一些出入,就是公式中第一个 ϵ θ ( x t ∣ ∅ ) \epsilon_{\theta}\left(x_{t} \mid \emptyset\right) ϵθ(xt)在CDM中应该是 ϵ θ ( x t ∣ y ) \epsilon_{\theta}\left(x_{t} \mid y\right) ϵθ(xty),不知道是作者的笔误还是我个人理解有误。

  采用与CDM类似的结构,作者将文本描述 c c c作为条件,用于引导图像生成,如下式 ϵ ^ θ ( x t ∣ c ) = ϵ θ ( x t ∣ ∅ ) + s ⋅ ( ϵ θ ( x t ∣ c ) − ϵ θ ( x t ∣ ∅ ) ) \hat{\epsilon}_{\theta}\left(x_{t} \mid c\right)=\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)+s \cdot\left(\epsilon_{\theta}\left(x_{t} \mid c\right)-\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)\right) ϵ^θ(xtc)=ϵθ(xt)+s(ϵθ(xtc)ϵθ(xt))其中文本描述 c c c先被编码为一个包含 K K K个Token的序列,并将其输入到Transformer中,得到的token嵌入一方面将取代ADM中的类别嵌入,另一方面token嵌入的最后一层(包含 K K K个特征向量)将会被分别映射到ADM模型的每个注意力层的维度,并与对应的注意力层级联起来。通过这样的方式实现了文本描述对去噪模型的引导。
  此外,作者还尝试了一种基于CLIP的引导方式,具体而言,就是利用CLIP中的图像编码器得到对应的图像特征 f ( x t ) f(x_t) f(xt),文本编码器得到文本特征 g ( c ) g(c) g(c),计算二者之间的点乘积梯度来引导去噪过程,如下式所示 μ ^ θ ( x t ∣ c ) = μ θ ( x t ∣ c ) + s ⋅ Σ θ ( x t ∣ c ) ∇ x t ( f ( x t ) ⋅ g ( c ) ) \hat{\mu}_{\theta}\left(x_{t} \mid c\right)=\mu_{\theta}\left(x_{t} \mid c\right)+s \cdot \Sigma_{\theta}\left(x_{t} \mid c\right) \nabla_{x_{t}}\left(f\left(x_{t}\right) \cdot g(c)\right) μ^θ(xtc)=μθ(xtc)+sΣθ(xtc)xt(f(xt)g(c))与ADM中的分类器引导类似,这个CLIP模型也是在带有噪声的图像 x t x_t xt上进行训练的,使其具备对于噪声图像的编码能力。
  实验结果表明,采用无分类器的文本引导方式生成效果要优于基于CLIP的引导方式,其生成效果对比如下
在这里插入图片描述
该方法还可以用于图像修复等编辑类任务,效果如下
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/672858
推荐阅读
相关标签
  

闽ICP备14008679号