【图像生成1】Latent Diffusion Models 论文学习笔记

发布于:2025-05-16 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、背景

本文主要记录一下使用 LDMs 之前,学习 LDMs 的过程。

二、论文解读

Paper:[2112.10752] High-Resolution Image Synthesis with Latent Diffusion Models 

1.  总体描述

        LDMs 将传统 DMs 在高维图像像素空间(Pixel Space)上的 diffusion 操作转移到低维潜空间(Latent Space)进行,大大降低了训练和推理所需计算资源,生成的图像细节更丰富,更真实,且能用于生成高分辨率(百万级像素)图像;同时引入的条件控制机制 Conditioning Mechanisms 使模型能够用于多种条件图像生成任务,如图像超分、图像修复、语义合成(文生图、图生图,布局生图)。

        后面这几位作者又提出了检索增强扩散模型(Retrieval Augmented Diffusion Models, RDMs)并将其用于 LDMs 的文生图任务中,大概作用就是进一步降低生成图像所需计算资源,提升生成图像的质量。

2. LDMs

2.1 主体框架

        通过框架图可知,在 LDMs 之前需要先训练一个 Autoencoder,包含一个编码器  和一个解码器 ,输入图像  经过编码器  得到其潜在空间的特征表示 ,解码器  再将  从潜在空间重构回像素空间得到生成后的 ,上述过程(对应框架图左部)可表示为:

Encode:

Decode:

其中降采样因子 ,且为 2 的幂次,即 

        正向扩散(加噪)过程和反向去噪(重构)过程均发生在潜在空间,重构过程中通过加入一个条件降噪自编码器  (UNet  cross attention,对应框架图中部)可以将输入条件  扩展到不同形态(对应框架图右部),比如文本、语义图、图像等,进而可以实现如文生图、布局生图、图生图等多种生成任务。

2.2 感知图像压缩(Perceptual Image Compression)

        现有 DMs 的生成过程可以视为一个压缩比(感知有效 bit 与图像维度之比)和失真率的平衡问题(如上图所示),压缩比越低(高),说明图像中感知有效的 bit 越少(多),因而生成的图像失真程度越大(小)。其学习过程大致可分为两个阶段:感知压缩阶段和语义压缩阶段。在感知压缩阶段,模型会舍弃图像中的高频信息而只学习一些语义变化,在语义压缩阶段,生成模型会学习数据的语义和概念信息(高维抽象的信息)。

        DMs 虽然可以忽略图像中一些在感知上无关紧要的信息,但模型的计算和优化过程仍然在像素空间中,这就导致如果合成一些高分辨率图像,空间维度就会非常高,在计算时间和计算资源上的花费会非常昂贵(heavy cost)。 

        于是作者提出了对图像的感知压缩,使用一个 Autoencoder,该 Autoencoder (论文中叫感知压缩模型)结合了感知损失和基于 patch 的对抗样本进行训练。在图像生成之前会先学习一个与图像空间感知等效(perceptually equivalent)的低维空间,即潜在空间,在这个空间中进行扩散过程和后续操作,有效降低模型计算复杂性,提高计算效率。

        为了避免潜在空间的高方差,导致重构图像与输入图像偏离过大,作者使用了两种正则化方法,KL-reg. 和 VQ-reg.。使用 KL-reg. 的感知压缩模型相当于一个 VAE,而使用了 VQ-reg. 的感知压缩模型与一个 VQGAN 的工作过程类似。

        代码中提供了使用 KL(AutoencoderKL 类)和 VQ(VQModel 类)正则配合不同降采样因子的 AE。

2.3 潜在扩散模型(Latent Diffusion Models)

        传统 DMs 在对服从正态分布的变量逐渐去噪的过程中学习其数据分布 ,可以看做是基于时序的降噪自编码器(an equally weighted sequence of denoising autoencoders) ,其中  是输入样本  的加噪版本,而 DMs 的任务就是学习如何从加噪版样本  中预测去噪版的 ,这个  是输入样本  的变体,二者不完全一样。对应目标函数可表示如下:

                             (公式1)

其中  均匀采样自序列  。

        LDMs 与DMs 相比,其训练过程在计算高效的低维空间中进行,且模型会聚焦于图像中的语义信息,丢弃高频和感知无效的细节。该模型的 backbone 本质上是一个时序条件 UNet(time-conditional UNet),训练时由编码器  生成潜在空间表示 ,解码器  将采样自  的样本解码回图像空间,得到重建后的 。目标函数表示如下:

                            (公式2)

可以看出 LDMs 就是将扩散过程由图像空间  转移到潜在空间 

2.4 条件机制(Conditioning Mechanisms) 

        上面主要介绍的是 LDMs 的无条件生成机制,本章节介绍了如何实现 LDMs 的多模态条件生成,如文生图、图生图、图像转换(image-to-image translation)等。

        扩散模型原则上能够对形如  的条件分布建模,借助一个条件降噪自编码器(conditional denoising autoencoder) 可以将生成过程中的控制条件扩展到多种形式,如文本、语义图(semantic maps)、图像等。

        在图像生成任务中,如果 DMs 的条件输入是除了类别标签(class-label)和模糊版图像(blurred variants of the input image,指图像超分)的其它形式,那 DMs 的生成能力还有待探索(随后本文就进行了探索)。

        通过在 UNet 中加入交叉注意力机制,使得 DMs 能够应对多种不同的条件输入模态(比如prompts)。为了处理条件输入 ,作者引入了一个域专用编码器(domain specific encoder),将  映射为一个中间表示(intermediate representation),之后通过交叉注意力层将其送入 UNet 的中间层(如框架图中展示的)。

 

 

其中  是 UNet(执行后)的一个中间表示, 和  为映射矩阵。

        借助图像-条件对,条件控制 LDM 的学习可表示如下:

                    (公式3)

与公式 2 相比多了一个条件 。 

3. 实验

        为了验证 LDMs 的效果,作者进行了大量实验,包括对下采样因子  的调节,无条件图形生成(基于 CelebA-HQ,FFHQ,LSUN-Churches 和 LSUN-Bedrooms 数据集,生成图像分辨率为256256) ,有条件图像生成(文生图、语义图生图、图像超分、图像修复等),基于多种评价指标分析生成图像的质量和效果。45 页的论文(加附录)有 90% 的篇幅属于实验分析,可谓相当有说服力了。

        实验部分就不做过多记录了,就简单整理一下实验类型和实验结论。(主要还是能力有限,很多分析看不大懂,只能通过图示来直观感受了 - -)

3.1 感知压缩的权衡(On Perceptual Compression Tradeoffs)

        作者使用了 6 种下采样因子()来分析其对图像生成的影响,当 时,LDMs 就是 DMs。

 越小({1-2})训练时间越长, 过大({32}) 导致信息损失过多,进而导致生成图像质量差, 时平衡效果最好。

        在两个数据集上比较了不同采样速度对 FID 分数的影响,当  时同样的采样速度下 FID 最低。所以综合分析来看, 时模型性能最好。

3.2 无条件图像生成(Image Generation with Latent Diffusion)

        作者在四个数据集上训练无条件 LDMs,基于 FID 和 PR 两个指标评价生成图像的质量。

在 CelebA-HQ 数据集上 LDM 的 FID 分数达到最优,在另外几个数据集上也表现优秀。

在各数据集上生成图像的效果:

3.3 条件 LDM(Conditional Latent Diffusion) 

3.3.1 引入Transformer 编码器的LDM

        作者使用了 BERT-Tokenizer,并将 (前面提到的域专用编码器)作为一个 transformer 来生成潜在特征,通过多头交叉注意力将潜在特征映射到 UNet。

(1)文生图

        作者在 LAION-400M 数据集上,以 prompts 为条件输入,训练了一个条件 LDM(使用 KL 正则优化),并在 MS-COCO 验证集上进行验证。

        LDM-KL-8-G(加入 classifier-free diffusion guidance) 的表现与当时的 SOTA 表现相当,但参数量明显更少。

生成效果展示

(2) 布局生图

        作者在 OpenImages 数据集(语义布局图,semantic layouts)上训练,在 COCO 数据集上微调。

生成结果展示:

(3)类别条件图像生成(ImageNet) 

结论也是:指标表现媲美 SOTA,参数量更少。 

3.3.2 卷积采样(Convolutional Sampling Beyond ) 

        以语义图(semantic maps)生成为例,作者在分辨率为  的图像上训练模型,但模型却可以生成分辨率更高的图像。

3.4 图像超分(Super-Resolution with Latent Diffusion) 

        作者使用的是在 OpenImages 数据集上预训练的 Autoencoder(使用 VQ 正则优化,),条件输入  为低分图像(对原图做 4 倍下采样),在 ImageNet 上训练 LDM。

LDM-SR 的 FID 分数超过 SR3,参数量最少。

超分效果展示

        然后作者又做了一个观察者实验,向受试者展示两张高分辨率图像(分别由 LDM-SR 和对比模型生成)和二者之间的一张低分图像, 然后统计受试者对这两张图像的评价,结果显示由 LDM-SR 生成的超分图像评价更高。

更多效果展示

 

3.5 图像修复(Inpainting with Latent Diffusion)

        作者在 Places 数据集上训练和验证模型。首先分析了在第一阶段选择不同可调因子(降采样因子、正则化项、注意力机制)对生成结果的影响。总体来说,LDM 与普通 DM( 的LDM)相比,速度上至少 2.7倍+,FID 分数高了 1.6倍+。

        加入注意力机制之后提高了生成图像的质量(从 FID 分数上反应)。从之前的观察者实验结果表中也可以反映 LDM 修复的图像质量更佳。

 修复效果展示


        实验部分梳理完毕(信息量确实太大了 - -)。后面作者提到了 LDMs 存在的局限性(顺序采样比 GANs 慢,生成高精度图像的能力等)以及模型可能造成的社会影响(生成假数据等)。

        以上就是基于本人目前水平对论文所做的解读,会有很多地方理解不够准确,建议大家看原文更有助于理解。

三、总结

        这篇文章属于无意之举,毕竟没有涉猎过图像生成相关领域,原本只是想记录一下使用 LDMs 的过程,但在看别人教程还是 github 的过程中有很多概念不太理解,就去搜搜看看,慢慢看得多了就想说要不干脆学习一下论文,原理上多理解一些对于后面模型使用也有好处。

        这一读不要紧,越读不懂的越多,搜的越多,费的时间越多,断断续续花了好几天才算把论文主要内容看完,配上自己粗浅的理解,才算有了这篇文章。说实话自己可能也就理解了一半,还有很多东西看不懂,比如什么是 ddpm,ddim?什么叫卷积采样?等等,留待以后再慢慢学习吧。

        Stable Diffusion 大火那会自己也是第一时间上手试玩,当时来说确实很惊艳,但也只是会用,不知道背后竟然是 LDMs,又转回来了。

参考资料

[1] [论文笔记] Semi-parametric Image Synthesis -知乎

[2] Retrieval-Augmented Diffusion Models -知乎

[3] Latent Diffusion Models论文解读 -知乎

[4] stable diffusion原始论文翻译(LDM latent diffusion model) -知乎


网站公告

今日签到

点亮在社区的每一天
去签到