☰
(论文速读)SDXL:从网络扩容、微条件到 Refiner,系统提升高分辨率图像生成
2026/10/13 12:58:47 网站建设 项目流程

论文题目:SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis(SDXL:改进潜在扩散模型以实现高分辨率图像合成)

会议:ICLR 2024

摘要:本文提出 Stable Diffusion XL(SDXL),一种用于文本生成图像的潜在扩散模型。与此前版本的 Stable Diffusion 相比,SDXL 采用了规模约为三倍的 UNet 主干,这主要通过显著增加注意力模块数量并引入第二个文本编码器实现。此外,作者设计了多种新的条件机制,并使用多种图像宽高比训练 SDXL。为了获得尽可能高的生成质量,作者还引入一个精修模型,利用事后的图生图技术改善 SDXL 所生成样本的视觉保真度。实验表明,SDXL 相比此前的 Stable Diffusion 版本取得显著改进,其生成结果也具有与 Midjourney 等黑盒先进图像生成器竞争的表现。


一、研究背景与核心问题

1.1 SDXL 想解决的不是单一的“分辨率不够”

Stable Diffusion 在自编码器的潜在空间中扩散,避免昂贵的像素级迭代。但早期 SD 1.x/2.x 容易出现细节不足、主体截断、文本理解不充分等问题。直接提高输出分辨率,不等于模型具备更好的语义、构图与细节能力。

论文强调:高分辨率生成是一项系统工程,而非单纯超分辨率。UNet、条件编码、宽高比、VAE 与 Refiner 分别改善语义、构图和细节。

1.2 为什么训练数据本身会带来生成偏差

早期 LDM 训练常要求固定尺寸。丢弃小图会损失数据,强行放大可能引入模糊;为了统一 Batch 而随机裁剪,还可能让模型学会“目标被截断”的偏差。

把原始尺寸和裁剪位置显式提供给模型,就是 Micro-Conditioning 的出发点。

二、SDXL 整体框架:更大的 UNet 与两阶段生成

论文 Figure 1:SDXL 与旧版 Stable Diffusion 的人工偏好对比,以及 Base + Refiner 两阶段生成流程

整条生成路径可以理解为:文本 Prompt → 双文本编码器 → SDXL Base 在潜在空间生成 128 × 128 Latent → 可选 Refiner 精修 → 共享 VAE 解码为图像。当生成 1024 × 1024 图像时,潜在表示大小为 128 × 128;Refiner 仍在潜在空间工作,并不等于先输出一张 RGB 图片再做普通超分辨率。

Base 负责整体语义与布局,Refiner 侧重背景、人脸等局部细节。Refiner可以省略,但启用后会增加显存和时间开销。

2.1 网络规模究竟改在哪里

论文 Table 1:SDXL 与 SD 1.x、SD 2.x 的 UNet 规模、Transformer 分布和文本编码器对比

SDXL 的 UNet 参数量为2.6B,此前 SD 1.4/1.5 约为860M。但扩容并非简单地等比例加宽每一层:SDXL 将更多 Transformer 计算放在较低空间分辨率的特征层,Transformer Block 数量按层级设置为[0, 2, 10],并取消旧版 UNet 中最深的 8 倍下采样层。这是在网络表达能力与注意力计算成本之间做取舍。

文本条件同样增强:SDXL 结合CLIP ViT-L 与 OpenCLIP ViT-bigG,将两个编码器倒数第二层的文本特征沿通道拼接,得到2048 维上下文条件;此外还把 OpenCLIP 的池化文本向量作为额外全局条件注入 UNet。这里要区分两种信息:Cross-Attention 接收文本特征序列,池化向量则提供全局语义补充。两个文本编码器合计约817M参数,并不包含在 2.6B 的 UNet 参数量内。

2.2 Base 是如何逐步训练到高分辨率的

最终 Base 并非直接从头只在 1024 × 1024 图片上训练。作者先以256 × 256、60 万步进行预训练,再以512 分辨率继续训练 20 万步,之后进行接近 1024 × 1024 像素面积的多宽高比训练,并加入强度为0.05的 Offset Noise。模型采用 1000 步离散扩散噪声日程。这样的分阶段安排,使模型先建立一般图像知识,再适应大尺寸与不同构图比例。

三、Micro-Conditioning:把训练数据的“隐含信息”变成显式条件

3.1 Size Conditioning:原始图片有多大,也要告诉模型

论文 Figure 2:预训练图片宽高分布;直接要求每条边至少 256 像素将舍弃约 39% 数据

训练时记录缩放前原图大小c_size = (h_original, w_original),经过 Fourier 编码后加入 UNet 时间步嵌入。模型由此能区分原始大图与放大后的低分辨率图片。

论文 Figure 3:同一 Prompt、随机种子下,改变 Size Conditioning 的生成效果

Figure 3 在 512 × 512 中间模型中表明,较大的原始尺寸条件往往对应更清晰的图像。这不是直接修改输出像素大小;在最终 1024 级模型中,这种差异也没那么明显。

论文 Table 2:512 × 512 类别条件 ImageNet 实验中,原始尺寸条件对 FID 和 IS 的影响

为了单独验证该机制,作者在类别条件 ImageNet 实验中比较三种训练方式,而不是直接把结果当成 SDXL 文生图的总评分。只保留足够大的原图,FID 为43.84;保留全部图片但不给尺寸条件,FID 降至39.76;加入原始尺寸条件后进一步降至36.53,同时 IS 从 211.50 提升至215.34。这支持的结论是:显式尺寸信息可以更好利用多分辨率训练数据,而不是证明 SDXL 的所有质量收益都来自这一模块。

3.2 Crop Conditioning:为什么生成的猫常常只有半个头

论文 Figure 5:修改裁剪条件后,同一文本提示下画面构图的变化

随机裁剪可能让模型学到“物体被切掉也是正常画面”。SDXL 因而进一步提供裁剪位置c_crop = (c_top, c_left),表示图像从上方和左方被裁掉的像素量;同样通过 Fourier 编码加入条件。推理时,通常设置c_crop = (0, 0),鼓励主体更完整地出现在画面内;调大裁剪坐标则可以显式控制某些局部构图效果。

论文 Algorithm 1:尺寸与裁剪微条件的联合数据加载、缩放、裁剪和训练流程

Algorithm 1 的重点不是复杂优化公式,而是先记录原始尺寸,再缩放,随后记录随机裁剪偏移,并把这两组元数据和图像一起交给模型。这样,数据增强仍然保留,却不再完全以不可见的方式污染生成分布。Size 与 Crop 条件可以同时使用,编码后拼接到时间步条件中。

3.3 Multi-Aspect Training:从固定正方形走向横版与竖版

实际图片有横向、纵向和正方形等多种比例。SDXL 将图像按照宽高比放入不同 Bucket,各 Bucket 的宽高取64 的倍数,并让总像素量尽量接近 1024 × 1024。每个 Batch 内使用同一 Bucket,在不同训练步之间交替选择 Bucket,同时传入目标尺寸条件c_ar = (h_target, w_target)。

三组条件不能混淆:c_size是原始尺寸,c_crop是裁剪偏移,c_ar是目标宽高。多宽高比训练属于预训练之后的微调阶段。

四、从 Latent 到最终图片:VAE、Refiner 与图像控制

4.1 改进自编码器,减少高频细节损失

论文 Table 3:COCO2017 验证集上的自编码器重建质量对比

潜在扩散模型的语义生成主要由 UNet 完成,但即使潜在表示正确,VAE 解码器也可能使纹理细节受损。SDXL 保留原始 SD 的自编码器架构,从头训练新的 VAE,采用更大的 Batch(256),并跟踪参数的指数移动平均(EMA)。在 256 × 256 图像重建实验中,SDXL-VAE 的 SSIM 为 0.73、重建 FID(rFID)为 4.4;SD 2.x 对应为 0.71 与 4.7。它说明图像重建质量有改善,但不能把 VAE 的重建指标直接等同于完整文生图模型的生成 FID。

4.2 Refiner:在第二阶段恢复细节,而不是重新生成布局

论文 Figure 6:有无 Refiner 的同场景生成结果与局部放大对比

作者另外训练一个关注高质量高分辨率数据的扩散模型,专门处理噪声日程前200 个噪声等级对应的精修任务。推理时,可先由 Base 产生 Latent,再利用 SDEdit 式加噪—去噪过程进行图生图精修,也可以由 Refiner 完成后段去噪;两个模型共用 VAE,并使用相同的文本提示。

从 Figure 6 可看到,Refiner 更明显的作用是改善建筑、植被及局部纹理的清晰度,而不是独立决定场景内容。它对复杂背景、人脸尤其有帮助,但论文明确承认:两阶段部署需要加载两个大模型,带来额外显存和采样时间开销。

4.3 图像也能作为条件:额外的多模态控制实验

论文 Figure 7:用 CLIP 图像特征替换全局文本特征实现图像引导编辑

由于 CLIP 的全局图文嵌入处在可共享的特征空间,作者尝试用输入图像的全局特征,替代原本注入 UNet 的池化文本向量,并仅微调用于映射该特征的嵌入层,其余参数冻结。Figure 7 中展示了绘画风格与“网格”布局等抽象概念的迁移,图注给出了约1000 步轻量微调的例子。注意这是一项额外扩展实验,不是标准 SDXL Base + Refiner 推理必须执行的步骤。

五、实验结果与证据解读

5.1 人工偏好比单一生成指标更能体现本文主张

Figure 1 给出四个模型在一次人工偏好实验中的被选中比例:SDXL + Refiner 为 48.44%,SDXL Base 为36.93%,SD 1.5 为7.91%,SD 2.1 为6.71%。四项比例共同构成一次四模型选择统计,不能将 48.44% 误读为“在与任意模型的两两对决中胜率 48.44%”。这组数据支持两个结论:SDXL Base 已优于旧版,而 Refiner 进一步改善人的主观感受。

论文 Figure 4:SD 1.5、SD 2.1 与 SDXL 在相同文本提示下的生成结果

Figure 4 中的猫形象与喷火龙对比,着重展示旧版模型中主体截断、语义与构图不稳定的问题。结合 Figure 3、Figure 5 可以看出,这些改进并非只能归因于“参数更多”,而是网络容量、裁剪条件和高分辨率训练策略共同作用的结果。不过,论文并未提供对所有设计逐一独立移除的完整大规模消融,所以不宜量化声称每一项在最终 SDXL 上分别带来多少百分点提升。

5.2 不同实验证明的事情不同

实验含三类不同证据:Table 2验证 ImageNet 尺寸条件,Table 3测 VAE 重建,Figure 1/4/6评价用户偏好、跨版本效果和 Refiner 细节。它们不能混成一个统一的生成 FID 结论。

作者指出,FID 与 CLIP Score 未充分反映主观质量改善,因此还应结合人工偏好和具体生成案例评价。

六、总结与思考

如果把 SDXL 压缩成一句话:用更强的 UNet 和双文本编码器提升语义容量,用显式尺寸/裁剪/宽高比条件修正训练分布,再用更好的 VAE 与可选 Refiner 改善最终图像细节。这篇论文的价值不仅是提升分辨率,更在于把许多此前容易被忽略的训练细节,提升为可以建模、控制和复用的条件信号。

从工程角度看,最值得借鉴的是 Micro-Conditioning:原始图片大小、裁剪偏移、目标比例本来就存在于数据管线中,不需要额外人工标注,却能减少数据预处理造成的偏差。对后续扩散模型而言,这种“显式告诉模型数据如何被处理”的思路具有较强的迁移价值。

论文也清楚说明了边界:两阶段方案提高了显存与采样成本;文字渲染仍有改进空间;更大模型还需要蒸馏和更高效的架构;离散时间训练中依赖 Offset Noise 进行修正。SDXL 的核心贡献不是发明一种全新扩散公式,而是把高分辨率文生图系统中多项相互关联的设计做好,并通过不同层次的实验验证它们的实际价值。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询