论文解读之SDXL: Improving Latent Diffusion Models forHigh-Resolution Image Synthesis
尽管现在Diffusion迭代非常快,包括Flux模型等其他优质的模型层出不穷,
SDXL是社区支持比较好的开源模型。
本篇将SDXL的核心创新点总结一下
一、介绍
SDXL是SD的改进版本,采用了三倍更大的Unet主干网络(其增大的参数主要由于更多的注意力块和使用第二个文本编码器带来的更大的交叉注意力机制的内容)
设计了多个新的限制方案,并且在多个比例上进行了训练。
引进了一个完善模型——用来改善采样结果的真实性
二、模型架构
增加了Text encoder的数量(不同的文本编码结果进行concat,导致其编码维度升高),更改了Transformer块的位置和堆叠数量,同时还对OpenCLIP这个文本编码器进行了池化之后作为额外的限制机制加入到模型中
三、条件限制
3.1 图像形状限制
使用原始图像形状限制Unet模型:
具体做法是
在训练过程中,将原始图像的长宽独立地用一个傅里叶特征编码,然后将这个编码结果拼接以后加入时间步编码的结果中
在推理过程中,可以以此来设置理想结果的长宽。
这样做的目的主要是为了防止训练数据必须要求一个最小的尺寸的问题
3.2 图像裁剪参数限制
主要是为了应对SD模型中一些生成的物体出现的被裁剪的问题,这种问题可能是由于训练时的随机裁剪造成的。
作者团队在数据加载中像上一个小节对长宽的限制一样将傅里叶特征编码后的裁剪坐标的上、左两个特征也凭借到额外的限制条件中,然后再和t的特征进行相加。
在推理时,可以设置这俩点的坐标来获取生成物体不同位置的图像
两种限制条件训练的伪代码
3.3 多比例训练
在固定尺度预训练以后,使用不同比例的图像进行微调,将比例也作为限制条件如前两种那样在通道上面拼接。
3.4 refinement stage(refiner model)
在相同的隐空间上训练了一个单独的LDM,专门用于高质量、大分辨率的数据,这个refiner model在前200个离散噪声尺度上面执行(弱噪声);在推理的时候,将从基础SDXL模型的隐向量再用refinement model直接再进行扩散和去噪,文本输入不变。
作者发现,这一步可以改善采样结果中背景和人脸的细节。