Stable Diffusion详解

文章目录


前言

 Stable Diffusion在图像生成方面取得了很大的成功,其核心原理是LDM(Latent Diffusion Models),在论文《High-Resolution Image Synthesis with Latent Diffusion Models》中被提出,使用潜在扩散模型进行高分辨率图像生成,发表在CVPR2022上。LDM作者和VQGAN的作者相同。接下来对LDM这篇论文进行详细介绍。

一、LDM原理

 Diffusion Model(DM)的训练和推理速度太慢,需要占用大量的计算资源。因此LDM想解决的就是在不降低DM的图像生成能力的基础上降低计算量。

 论文中总结到,对于基于最大似然的模型,训练可以分为两部分,先是进行感知压缩(perceptual compression),然后进行语义压缩(semantic compression)。(图像感知指的是图像的细节,图像语义指的是图像的主体是什么)。对于DM来说,在进行图像生成的时候,在前面的步骤中先是进行图像的语义生成,也就是确定图像的内容大概是什么东西,接下来的很多步骤都是进行图像的感知生成,也就是负责图像的细节生成。由于DM是在像素层面进行生成,所以计算量很大,并且DM的很多计算量都集中在图像的感知(细节)生成方面。

 基于此LDM的目标就是想让DM只负责图像语义方面,而图像的感知(细节)方面交给其他的模型去负责。也就是让DM在潜在空间上去训练和推理。

二、模型结构

 LDM的模型结构如上图所示。其主体是由自编码器部分(粉色)、DM部分(绿色)以及条件机制(灰色)三部分组成。在进行图像生成时,首先使用DM进行扩散获得具有语义信息的特征图,然后使用自编码器的解码器进行图像的感知生成获得最终的图片。

 这样做有三个好处:1.DM在低维潜在空间进行扩散,计算量减少。2.利用了DM中的UNet模型的归纳偏置,这使得模型可以获得图像的空间结构,不用像之前VQVAE,VQGAN对于输入图像的极致压缩而失去了图像原有的空间结构。3.获得了一个通用的压缩模型,其潜在空间可以用于训练多个生成模型。接下里对LDM的三个部分分别进行介绍。
图像感知压缩

 图像感知压缩模型(粉色部分)是基于之前的VQGAN工作,由自编码器组成,在训练时结合了感知损失和对抗损失,避免了只使用L1或L2损失引入的模糊现象。

 对于输入的图像,编码器将其进行编码变换到潜在空间,然后解码器在潜在空间重构图像。为了避免高方差分布的潜在空间,LDM引入了两种正则化。一种是KL正则化,一种是VQ正则化。(在VQGAN中通过将潜在空间进行离散化避免高方差,而LDM的潜在空间是连续的。)

 VQGAN在潜在空间进行自回归建模生成采样的时候,是使用的Transformer模型,相当于采样的是一维的序列,没有图片的空间结构。而LDM在潜在空间进行采样时,是由DM生成的具有归纳偏置的二维分布,具有空间特征结构。因此,LDM生成的图像更好的保留了细节部分。

 同时,VQGAN由于使用的是Transformer进行建模采样,受Transformer自身特性影响,其序列长度是一维的且不会很长,这就导致最后将一维序列Reshape成二维特征图的时候特征图尺寸不会很大,所以其采样是高度压缩的,自然生成的图像失去了很多细节。而LDM使用DM生成的本身就是具有归纳偏置的二维特征采样,所以具有生成效果好。
DM

 DM模型就是使用经典的DDPM模型,只不过扩散和采样从图像的像素空间转移到了潜在空间。对于DDPM的详细介绍可以看一下这篇博文:
DDPM详解

 通过在潜在空间训练DM,可以使DM集中于图片中重要的语义信息减少计算量。

条件机制

 在进行条件生成时是在DM的UNet中使用cross-attention机制实现。为了对不同的模态进行处理,使用不同利用的专业编码器 τ θ \tau_\theta τθ(上图灰色部分)对条件进行编码获得 τ θ ( y ) \tau_\theta(y) τθ(y),然后将其输入到UNet中的cross-attention作交叉注意力计算。在进行条件生成的时候,LDM中的DM训练可以表示为下述公式:

三、模型训练与推理

 LDM的训练与VQGAN一样是分为两部分。首先是先训练感知自编码器(粉色部分),接着在潜在空间上训练DM。

 在进行推理的时候,先使用DM在潜在空间进行采样获得特征图,然后将其给解码器进行最终的图片生成。

总结

 LDM通过在潜在空间进行DM训练采样,在没有降低图像生成质量的情况下大大提高了训练和推理速度,同时基于cross-attention条件机制,LDM与当时的SOTA方法相比取得了很好的结果。

相关推荐
qqxhb16 分钟前
36|RAG 评测与回归:命中率、覆盖率、引用正确性
人工智能·数据挖掘·回归·覆盖率·命中率·正确性
神州数码云基地22 分钟前
DSPy + Parlant:从手动调优到自动编译的效率加速器
人工智能·深度学习·机器学习
云烟成雨TD7 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
十三画者7 小时前
【AI学习笔记】:DeepSeek 大模型本地部署与调用实战指南
人工智能
丁常彦-自媒体-常言道7 小时前
从首发4nm智驾芯片到兜底城市领航安全,比亚迪开启AI新征程
人工智能
小杨在厦门8 小时前
从AI验布到智能质检:纺织企业智能化升级的三个台阶
人工智能·服装·服装厂·服装机械·铺布机
达之云*驭影8 小时前
解锁流量密码:详解抖音AI智能推荐封面功能
人工智能
火山引擎开发者社区9 小时前
ArkClaw 投研助理 —— 零门槛做投研,从一句话开始产出你的第一份深度研报
人工智能
码农小白AI9 小时前
AI报告审核加速融入自动化实验室:IACheck破解智能设备时代报告管理新挑战
运维·人工智能·自动化