stable diffusion论文基础篇

stable diffusion论文基础篇

前言

论文:High-resolution image synthesis with latent diffusion models

code:https://github.com/CompVis/latent-diffusion

这一部分也是对diffusion基础论文学习篇的拓展,算是在综述中总结的diffusion学习的第二阶段,之后会对之前提到的四个方向分别进行剖析,在细化领域分析之前,我会对diffusion的代码部分进行系统的学习。

相关知识

图像压缩方法

  • patch-based:一种基于图像块的压缩方法,这种方法将图像分成多个小块,然后对每个小块进行压缩。
  • 基于感知损失:对图像进行变换、量化和编码等步骤,将图像压缩到较小的体积。

VQ-GAN

这里主要介绍矢量量化层的应用。在本文中,使用该方法对压缩后的图片进行惩罚。具体来讲,矢量量化层适用于将连续的特征向量量化为离散的向量,每个特征向量映射到最近的离散向量,然后将这些离散向量作为解码器的输入。其计算过程可以用以下的公式进行表示:

q(z)=k=1Kwkδ(zek)q(z)=\sum_{k=1}^{K}w_{k}\delta(z-e_{k})

其中,w为离散向量e的权重,z代表某个连续的特征向量。

FID

FID是一种用于评估图像生成模型的指标,衡量生成图像与真实图像之间的差异。FID越小,代表生成图像和真实图像之间的差异越小。

FID(x,g)=μxμg22+Tr(Σx+Σg2(ΣxΣg)1/2)FID(x,g)=||\mu_{x}-\mu_{g}||_{2}^{2}+Tr(\Sigma_{x}+\Sigma_{g}-2(\Sigma_{x}\Sigma_{g})^{1/2})

其中,x\sum x代表真实分布的协方差矩阵,y\sum y代表预测分布的协方差矩阵。

Inception Score

评估生成图像质量的指标,使用预训练后的Inception v3模型对抽样的生成图片进行分类,根据每个图像,计算其类别概率分布的熵,最后平均一下得到指标IS。IS的值越高,生成的图像的质量越高。

内容分析

Abstract

过去diffusion模型中存在的问题:

  • 优化成本高:去噪的过程通常直接在像素空间中,导致优化时需要更改的参数较多;
  • 推理成本高:顺序推理,同时在每次训练结束都有顺序评价;

针对以上的问题,本文提出了创新点用于提升效率:

  • 找到降低模型复杂度和保留图像细节的平衡点:预训练编码器潜在空间应用diffusion;
  • 提高灵活性:在架构中引入交叉注意力层;

Introduction

**背景:**GAN目前的工作大多数局限于有限的数据,当数据量增大GAN很难实现更好的判别,因此对抗学习不适合多模态的分析。此外,DM发展迅猛,即使是无条件的DM也能完成特定工作,大量的参数共享使得他们不会出现GAN的模式崩溃问题。

**DM发展面临的问题:**参数数量过大:通过大量的参数实现对数据难以察觉的细节进行建模,即使引入欠采样计算成本也很大;

潜在diffusion模型的引入:

上图对训练后的模型速度-失真的权衡进行了描述。**潜在扩散模型,顾名思义,就是将整体的数据投影到低维空间,在保证数据特征保留和空间维度之间的平衡性之后,在潜在空间中进行训练。**因此,这个将数据投影的自动编码器的实现就十分重要了。

那么,文本到图像应该如何实现呢?本文设计了一种新的架构,将transformer连接到DM的UNET主干网,使用任意类型的基于标记的调节机制。

这里不对GAN和VAE进行过多的阐述,最近扩散模型在密度估计和样本质量方面取得了先进的成果。但是DM在扩散过程中会产生特征的损失,为了提升图像的质量导致训练的成本较高,最终的推理速度也比较慢。本文解决了这一问题,通过将卷积backbone扩展到更高维度的空间当中。

image-20231117133202331

Method

作者首先指出了以往工作的局限性,即使用的下采样方法无法解决参数过多的问题。作者将学习阶段和生成阶段的压缩分开来进行分析,使用自动编码模型分析:

  • 离开高维空间进行DM,和低维空间的下采样匹配;
  • 利用DM从UNET模型中集成下来的归纳偏置,使得数据压缩的需求下降;
  • 通用压缩模型在潜在空间可用于训练多个生成模型,同时可以应用于下游的应用;

感知图像压缩

基本方法:感知损失和基于patch-based的组合训练方法实现

评价指标:基本目标是为了避免高方差的潜空间,方法是使用KL-REG和VQ-REG两个变量进行分析:

  • KL-REG:类似于VAE,增加KL散度惩罚在潜在空间分布和标准分布之间;
  • VQ-REG:矢量量化层规范解码器的输入;

latent diffusion models

有了感知图像压缩的encoder和decoder,可以高效地访问低维的潜在空间。与之前的diffusion model不同的是,本文通过串联交叉注意力机制对LDM进行调节。此外,结果和原图像的损失计算上,关注于潜在空间表示的分布。原始公式和改进的公式如下:

LDM=Ex,ϵN(0,1),t[ϵϵθ(xt,t)22],L_{DM}=\mathbb{E}_{x,\epsilon\sim\mathcal{N}(0,1),t}\Big[\|\epsilon-\epsilon_\theta(x_t,t)\|_2^2\Big],

LLDM:=EE(x),ϵN(0,1),t[ϵϵθ(zt,t)22].L_{LDM}:=\mathbb{E}_{\mathcal{E}(x),\epsilon\sim\mathcal{N}(0,1),t}\Big[\|\epsilon-\epsilon_\theta(z_t,t)\|_2^2\Big].

conditioning mechanisms

背景:以往的diffusion模型依赖于文本、语义图等输入对扩散过程进行约束,但是在图像合成方面除了类标签或图像模糊变体等方法以外,没有其他的方法。

创新点:提出了有效学习各种输入模态的注意力模型,其中的QKV表示如下:

Attention(Q,K,V)~=softmax(QKTd)V\tilde{\text{Attention}(Q,K,V)}=\text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right)\cdot V

Q=WQ(i)φi(zt),K=WK(i)τθ(y),V=WV(i)τθ(y).Q=W_Q^{(i)}\cdot\varphi_i(z_t),K=W_K^{(i)}\cdot\tau_\theta(y),V=W_V^{(i)}\cdot\tau_\theta(y).

其中Q应用的数据为UNET的潜在空间表示,K和V应用的是生成图片的多模态信息。下图可以更为深入地理解这一过程:

Experiments

对数据集使用不同的下采样因子随着训练的变化研究:

其中,LDM-1代表基于像素的扩散模型,后面的数字代表下采样因子,指每个采样步骤中图像分辨率的缩小比率。可以看到,LDM-(4-16)在效率和感知方向上得到了平衡。

之后是对样本吞吐量的研究,吞吐量指的是每次DDIM进行采样时的速度。

可以看到,LDM-4和LDM-8在吞吐量的表现上也十分出色。

此外,作者还对其他创新点的提升进行了介绍:

  • condition latent diffusion:注意力机制的引入能够对用户的文本进行概括,同时使得模型拥有生成超分辨率的图片;
  • 图像压缩方法的创新:以往的简单图像回归模型能够实现较高的SSIM分数,但是不能符合人类的感知。现在基于感知损失和patch-based方法处理后,预测得到的图片能够获得很高的人类感知分数。
  • 结合latent diffusion的内部填充:基于像素的latent diffusion和基于上述两种正则方法的LDM-4能够很好地将图片中的缺失部分进行补齐。

Conclusion

模型泛化性很强,在多个图像生成任务重取得了很好的成果。

评价

确实是很不错,得亏之前补了一下diffusion的知识,整篇论文读下来非常的顺畅,只是在图像评价标准部分查询了不少的知识。之后会对相关的代码进行分析,最好手撸一遍。


   转载规则


《stable diffusion论文基础篇》 xhsioi 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
MoCo论文精读 MoCo论文精读
MoCo论文精读 前言:这一部分将通过MoCo这篇论文引入对比学习的研究讨论。 论文标题:Momentum Contrast for Unsupervised Visual Representation Learning 相关知识 对
2023-11-24
下一篇 
MAE论文精读 MAE论文精读
MAE论文精读 前言 这一部分算是diffusion基础论文的后记,用来记录ViT的相关工作。在CLIP的image encoder中使用了ViT,因此在此进行拓展,后续会补充对源码的学习。 相关知识 可以理解为MAE是ViT的一个
2023-11-15
  目录