SDXL

1 Introduction

1.1 Problem Statement

1.2 Stated Contribution

picture/Pasted image 20240621164323.png

2 Related Work

2.2 micro-conditioning

之前的模型在训练的时候会忽略掉低于特定大小的图片或者对他们做超分,这导致大量的训练数据被抛弃了。 这可能会带来性能的损失和泛化能力下降。

针对这个问题,解决方案是给Unet加一个image size的条件,输入(h,w)到Unet。 在推理时候可以按条件生成一定清晰度的图片。

他们尝试在去除512以下的图片,全部图片,和加入尺寸信息作为条件的图片的三种数据上进行训练。 然后发现效果依次变好。

他们用傅立叶变换用两个整数表示的矩形框加入条件embedding里面来模拟裁剪和大小的条件。

2.3 Multi-Aspect Training

作者认为真实世界(real distribution)的图片是有非常多的不同尺寸的图片的。 现在的t2i图片要求的裁剪成512或者1024,这个操作是非常不自然的。 所以他们在保持总的像素数量尽可能不变的情况下,能够尽可能多的变换图片的长宽比例。

2.4 Improved AutoEncoder

Stable Diffusion 是一种潜在扩散模型(LDM),它在自编码器预训练好的潜在空间中操作。虽然大部分语义组合是由LDM完成的,但通过改进自编码器,可以改善生成图像中的局部高频细节。为此,作者使用比原始Stable Diffusion更大的批量大小(256对9)来训练相同的自编码器架构,并使用指数移动平均来跟踪权重。改进后的自编码器在所有评估的重建指标上都优于原始模型,如表3所示。作者将这个改进后的自编码器用于所有实验,以提高生成图像的局部细节和整体质量。

2.5 Put together

训练最终模型SDXL的多阶段过程。SDXL使用了第2.4节中的自动编码器和具有1000步的离散时间扩散调度[14, 45]。首先,在内部数据集上预训练一个基础模型(见表1),该数据集的高度和宽度分布在图2中可视化。预训练在分辨率为256×256像素、批量大小为2048的条件下进行,共进行了600,000次优化步骤,并使用了第2.2节中描述的尺寸和裁剪条件。接下来,在分辨率为512×512像素的图像上继续训练200,000次优化步骤,最后结合偏移噪声[11, 25]水平为0.05,利用多方面训练(第2.3节)对不同纵横比(第2.3节,附录I)的图像进行训练,图像面积约为1024×1024像素。

在Stable Diffusion模型的精细化阶段,作者们发现生成的样本有时局部质量较低。为了改善样本质量,他们训练了一个专门的LDM模型,这个模型专注于高质量、高分辨率数据,并在基础模型生成的样本上应用了SDEdit引入的去噪过程。他们遵循了文献[1],将这个精细化模型专注于前200个(离散的)噪声尺度。在推理过程中,他们从基础SDXL模型渲染潜在向量,并直接使用精细化模型在潜在空间中进行扩散和去噪,同时使用相同的文本输入。他们指出,这个步骤是可选的,但可以显著提高详细背景和人脸的样本质量,如图6和图13所示。

为了评估模型的性能(有无精细化阶段),他们进行了一项用户研究,让用户从以下四个模型中选择他们最喜欢的生成结果:SDXL、SDXL(带精细化器)、Stable Diffusion 1.5和Stable Diffusion 2.1。结果表明,带有精细化阶段的SDXL是最受好评的选择,并且在胜率上显著超过了Stable Diffusion 1.5和2.1(胜率:带精细化的SDXL:48.44%,基础SDXL:36.93%,Stable Diffusion 1.5:7.91%,Stable Diffusion 2.1:6.71%)。图1还提供了整个流程的概述。然而,当使用传统的性能指标如FID和CLIP分数时,SDXL相对于以前方法的改进并没有反映出来,如图12所示,并在附录F中讨论。这与Kirstain等人[23]的发现一致,并进一步支持了他们的研究结果。

5 Summary

5.1 Relative Position

one of the foundation models of T2I

6 Comments