作者avans (阿纬)
看板AI_Art
标题[StaD] SDXL paper/Chat翻译
时间Thu Aug 3 21:47:19 2023
因为对SDXL挺有兴趣的关系,所以使用 ChatGPT 翻译其paper,
请参考就好,不一定翻译正确!
_______________
SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis
改进高解析度图像合成的潜在扩散模型
Authors:
Dustin Podell, Zion English, Kyle Lacey, Andreas Blattmann, Tim Dockhorn,
Jonas Müller, Joe Penna, Robin Rombach
https://huggingface.co/papers/2307.01952
Stability AI, Applied Research
Code:
https://github.com/Stability-AI/generative-models
Model weights:
https://huggingface.co/stabilityai/
https://i.imgur.com/I8ZbCOd.png
_______________
摘要
我们提出了SDXL,一种用於文本到图像合成的潜在扩散模型。
相较於之前版本的Stable Diffusion,SDXL利用了一个三倍大的UNet主干:
模型参数增加主要是因为使用了更多的注意力块和更大的交叉注意力上下文,
因为SDXL使用了第二个文本编码器。
我们设计了多种新颖的条件方案,并在多个方面比例上对SDXL进行了训练。
我们还引入了一个改进模型,该模型使用事後的图像到图像技术,
用於改善由SDXL生成的样本的视觉保真度。
我们证明了SDXL相比於之前版本的Stable Diffusion显示出显着提高的性能,
并且在与黑盒最先进图像生成器相竞争方面取得了有竞争力的结果。
为了促进开放式研究并在大型模型训练和评估中提供透明度,
我们提供了代码和模型权重的访问权限。
_______________
1. 简介
过去一年,深度生成模型在各种数据领域取得了巨大的飞跃,
例如自然语言[50]、音频[17]和视觉媒体[38、37、40、44、15、3、7]。
在这份报告中,我们专注於後者,揭示了SDXL,
这是Stable Diffusion的一个显着改进版本。
Stable Diffusion是一种潜在的文本到图像扩散模型(DM),
它为各种最新进展提供了基础,例如3D分类[43]、可控图像编辑[54]、
图像个性化[10]、合成数据增强[48]、图形用户界面原型[51]等。
值得注意的是,这些应用的范围非常广泛,涵盖了多个领域,
如音乐生成[9]和从fMRI脑部扫描中重建图像[49]。
用户研究表明,SDXL在性能上始终显着优於所有之前版本的Stable Diffusion(见图1)。
在这份报告中,我们介绍了导致性能提升的设计选择,包括:
i) 相较於之前的Stable Diffusion模型,SDXL采用了三倍大的UNet主干(Sec. 2.1);
ii) 两种简单而有效的额外条件技术(Sec. 2.2),不需要任何额外的监督;
iii) 一个单独的基於扩散的改进模型,
该模型对SDXL生成的潜在表示进行噪声去噪过程[28],
以提高其样本的视觉质量(Sec. 2.5)。
视觉媒体创作领域的一个主要关切是,尽管黑盒模型通常被认为是最先进的,
但其架构的不透明性使得难以忠实地评估和验证其性能。
这种缺乏透明度阻碍了可重复性,阻碍了创新,
并阻止社区在这些模型的基础上进一步推进科学和艺术的进展。
此外,这些封闭源策略使得难以客观和公正地评估这些模型的偏见和限制,
这对於它们的负责任和道德部署至关重要。通过SDXL,我们发布了一个开放模型,
其性能与黑盒图像生成模型具有竞争力(见图10和图11)。
_______________
2. 改进稳定扩散模型
在本节中,我们介绍了我们对Stable Diffusion架构的改进。
这些改进是模块化的,可以单独或一起用於扩展任何模型。
尽管以下策略是作为潜在扩散模型(LDMs) [38]的扩展实现的,
但其中大部分也适用於其像素空间对应物。
https://i.imgur.com/PhPivHz.png
https://i.imgur.com/YNgbpob.png
图1:
(上)左图:比较用户对SDXL和Stable Diffusion 1.5&2.1的偏好。虽然SDXL已经
明显优於Stable Diffusion 1.5&2.1,但添加额外的改进阶段会提高性能。
(下)右图:两阶段流程的可视化:我们使用SDXL生成大小为128×128的初始潜在表示。
然後,我们利用专门的高解析度改进模型,对第一步生成的潜在表示应用SDEdit [28],
使用相同的提示词。SDXL和改进模型使用相同的自编码器。
2.1. 架构与规模
从 Ho 等人的开创性工作 [14] 和 Song 等人的研究 [47] 开始,
这些工作证明了扩散模型 (DMs) 对於图像合成是强大的生成模型,
而卷积 UNet 架构 [39] 一直是基於扩散的图像合成的主要架构。
然而,随着基础 DMs 的发展 [40、37、38],底层架构不断演进:
从增加自注意力和改进的上采样层 [5],到用於文本到图像合成的交叉注意力 [38],
再到纯 transformer-based 架构 [33]。
表1: SDXL和旧版稳定扩散模型的比较。
https://i.imgur.com/bvRfMSs.png
我们遵循这一趋势,并根据 Hoogeboom 等人的方法 [16],
将transformer计算的大部分转移到 UNet 中的低级特徵。
特别是,与原始的 Stable Diffusion 架构相比,
我们在 UNet 中使用异构的transformer块分布:
出於效率考虑,我们省略了在最高特徵层的transformer块,
而在低级特徵层中使用 2 个和 10 个transformer块,
并完全移除了 UNet 中的最低层(8× 下采样)
——有关 Stable Diffusion 1.x 和 2.x 以及 SDXL 架构的比较,请参阅表1。
我们选择了一个更强大的预训练文本编码器,用於文本条件编码。
具体而言,我们结合了 OpenCLIP ViT-bigG [19] 和 CLIP ViT-L [34],
其中我们沿通道轴连接倒数第二个文本编码器输出 [1]。
除了使用交叉注意力层将模型与文本输入进行条件编码外,我们遵循 [30] 的方法,
额外地使用 OpenCLIP 模型的汇总文本嵌入来条件编码模型。
这些改变使得 UNet 中的模型大小为 2.6B 参数,请参阅表1。
文本编码器的总大小为 817M 参数。
2.2. 微条件编码
图像大小条件编码 潜在扩散模型 (LDM) 范式 [38] 的一个显着缺点是,
由於其两阶段架构,训练模型需要一个最小的图像大小。
解决这个问题的两种主要方法是:要麽丢弃所有分辨率低於某个最小值的训练图像
(例如,Stable Diffusion 1.4/1.5 丢弃了所有小於 512 像素的图像),
或者将太小的图像进行放大。
然而,根据所需的图像解析度,前一种方法可能导致丢弃训练数据的相当大部分,
这很可能会导致性能下降并影响泛化能力。
我们在图 2 中展示了在 SDXL 预训练的数据集上的这种影响。
对於这个特定的数据选择,丢弃所有小於我们的预训练分辨率 256^2 像素的样本
将导致 39% 的数据被丢弃。另一方面,第二种方法通常会引入放大的瑕疵,
这些瑕疵可能会影响最终模型的输出,例如导致模糊的样本。
https://i.imgur.com/mXDTf4K.png
图 2:我们预训练数据集的高度与宽度分布。
如果没有提出的尺寸条件编码,由於边长小於 256 像素,39% 的数据将被丢弃,
如虚线所示。每个可视化单元格中的颜色强度与样本数量成比例。
相反的,我们提出将 UNet 模型条件编码为原始图像解析度,
这在训练期间可以轻松获得。
具体来说,我们提供图像的原始高度和宽度(即在任何调整大小之前)
作为模型的附加条件 c_size = (h_original,w_original)。
每个组件都使用傅立叶特徵编码进行独立嵌入,然後这些编码被串联成一个单一向量,
并通过添加到时间步长嵌入 [5] 一起喂入模型。
“一个机器人作为涂鸦画在一面砖墙上。
砖墙前有一条人行道,而草从混凝土缝隙中长出来”
“熊猫疯狂科学家混合闪亮的化学药品,Artstation”
https://i.imgur.com/jwRDQwc.png
图 3:不同大小条件编码的效果:
我们从SDXL中使用相同的随机种子绘制了4个样本,并对每列进行不同大小的条件编码,
如上图所示。当条件编码基於更大的图像尺寸时,图像质量明显提高。
这些样本来自512^2模型,请参见第2.5节。
注意:对於这个可视化,我们使用512 × 512像素的基本模型(详见第2.5节),
因为在1024 × 1024微调之前,条件编码的效果更加明显。最好放大查看。
在推断时,用户可以通过这种大小条件编码设置所需的图像显示解析度。
显然地(见图3),模型已经学会将条件编码 c_size 与解析度相关的图像特徵关联起来,
这可以用来修改与给定提示相对应的输出的外观。
请注意,对於图3中显示的可视化,我们显示了由512 × 512模型生成的样本
(详见第2.5节),因为在後续多方面(比例)微调之後,
条件编码的效果不太明显,而我们用於最终的SDXL模型。
表2:对训练示例的原始空间大小进行条件编码
可以提高512^2解析度上类别条件的ImageNet [4] 的性能。
model FID-5k↓ IS-5k↑
CIN-512-only 43.84 110.64
CIN-nocond 39.76 211.50
CIN-size-cond 36.53 215.34
我们通过在空间尺寸为512^2的类别条件ImageNet [4] 上训练和评估三个LDMs,
定量评估了这种简单但有效的条件编码技术:
对於第一个模型(CIN-512-only),我们丢弃所有边缘至少小於512像素的训练样本,
从而导致仅有70,000张图像的训练数据集。
对於CIN-nocond,我们使用所有的训练样本,但不使用尺寸条件编码。
这种额外的条件编码仅於CIN-size-cond。训练後,我们对每个模型生成5,000个样本,
使用50个DDIM步骤[46]和(不带分类器的)引导尺度为5 [13],
并计算IS [42]和FID [12](与完整的验证集进行比较)。
对於CIN-size-cond,我们始终在条件 c_size = (512, 512) 下生成样本。
表2 总结了结果并证实CIN-size-cond在两个指标上优於基线模型。
我们认为CIN-512-only性能下降是由於过度拟合小的训练数据集导致的泛化不佳,
而CIN-nocond样本分布中模糊样本的影响导致FID得分降低。
请注意,尽管我们发现这些经典的定量评分并不适合用於评估基础
(文本到图像)DMs [40, 37, 38]的性能(见附录F),
但在ImageNet上它们仍然是合理的指标,
因为FID和IS的神经骨干已经在ImageNet上训练过。
对裁剪参数进行模型条件编码
图4的前两行展示了先前SD模型的典型失败模式:合成的物体可能会被裁剪,
例如在SD 1-5和SD 2-1的左侧示例中,猫的头部被截断。
对於这种行为的一个直观解释是模型训练过程中使用了随机裁剪:
由於在DL框架(如PyTorch [32])中整理批次时需要张量具有相同的大小,
典型的处理流程是(i)调整图像大小,使最短边与目标大小相匹配,
然後(ii)沿着较长的轴随机裁剪图像。
虽然随机裁剪是一种自然的数据增强形式,但它可能会影响生成的样本,
导致上述恶意效果。
’一张描绘猫咪打扮成法国皇帝拿破仑,手握一块奶酪的宣传海报。’
’一个火焰喷吐的龙的近景,电影场景拍摄。’
https://i.imgur.com/OQJsBfp.png
图4:SDXL输出与之前版本的Stable Diffusion的比较。
对於每个提示,我们展示了相应模型的3个随机样本,
使用50个DDIM采样器[46]和cfg-scale 8.0 [13]进行采样。更多样本见图14。
为了解决这个问题,我们提出了另一种简单而有效的条件编码方法:
在数据加载期间,我们均匀地采样裁剪坐标 c_top 和 c_left
(整数,分别指定从左上角沿着高度和宽度轴裁剪的像素数量),
并通过傅立叶特徵编码将它们作为条件参数喂入模型,类似於上面描述的尺寸条件编码。
然後,将串联的嵌入 c_crop 作为附加的条件参数。
我们强调,这种技术不仅限於LDMs,也可以用於任何DM。
请注意,裁剪条件和尺寸条件可以很容易地结合。
在这种情况下,我们在UNet中将特徵嵌入串联在通道维度上,
然後添加到时间步长嵌入中。算法1显示了如果应用了这样的组合,
我们在训练过程中如何采样c_crop和c_size。
考虑到在我们的经验中,大规模数据集通常是以物体为中心的,
我们在推断时设置(c_top,c_left)=(0,0),
从而从训练过的模型获得以物体为中心的样本。
参见图5进行说明:
通过调整(c_top, c_left),我们可以在推断过程中成功模拟裁剪的程度。
这是一种条件增强方法,它已经在各种形式的自回归模型 [20]
和最近的扩散模型 [21] 中使用。
虽然其他方法,如数据分区 [31],成功应对了相同的任务,
但我们仍然受益於由裁剪引起的数据增强,同时确保它不会影响生成过程——实际上,
我们利用这一点来更好地控制图像合成过程。
此外,这种方法容易实现,可以在训练过程中以在线方式应用,
而无需额外的数据预处理。
2.3. 多方面训练
现实世界的数据集包含尺寸和长宽比各不相同的图像(见图2)。
尽管文本到图像模型的常见输出解析度是512×512像素或1024×1024像素的正方形图像,
但我们认为这是一个相当不自然的选择,考虑到广泛分布和
使用的横向(例如,16:9)或纵向格式的屏幕。
算法1 尺寸和裁剪条件编码的条件编码流程
https://i.imgur.com/gJEQ3iU.png
’ 一个宇航员骑着一只猪,高度逼真的数位单眼相机照片,有电影感的构图’
’一只用乐高搭建的卡比巴拉坐在真实的自然场地中。’
https://i.imgur.com/WrQTeBw.png
图5:根据第2.2节讨论的裁剪条件进行变化。请参见SD 1.5和SD 2.1的样本,
它们不提供对该参数的明确控制,因此引入了裁剪艺术效果。
样本来自512^2模型,参见第2.5节。
受此启发,我们微调我们的模型以同时处理多种长宽比:
我们遵循常见的做法[31],将数据分成不同长宽比的桶,
其中像素数尽量接近1024^2像素,相应地高度和宽度以64的倍数变化。
训练时使用的所有长宽比的完整列表在附录I中提供。
在优化过程中,一个训练批次由同一个桶中的图像组成,
并且我们在每个训练步骤中在不同的桶大小之间交替。
此外,模型接收桶大小(或目标大小)作为条件编码,
表示为一组整数car = (h_tgt,w_tgt),
它们与上述尺寸和裁剪条件一样被嵌入到傅立叶空间中。
在实践中,我们在固定的长宽比和解析度上预训练模型後,
将多方面训练应用为微调阶段,并通过沿通道轴进行串联
将其与第2.2节中介绍的条件编码技术相结合。
附录J中的图16提供了这个操作的Python代码。
请注意,裁剪条件和多方面训练是互补的操作,
然後裁剪条件只能在桶的边界内(通常是64像素)工作。
然而,为了实现的简便性,我们选择在多方面模型中保留这个控制参数。
2.4. 改进的自动编码器
Stable Diffusion 是一种LDM,在预训练的、学习得到(并固定的)潜在空间中操作。
尽管 LDM [38] 负责主要的语义合成,
我们可以通过改进自动编码器来提高生成图像的局部高频细节。
为此,我们使用相同的自动编码器架构,将其训练在较大的批次大小(256 vs 9),
并使用指数移动平均来跟踪权重。
结果的自动编码器在所有评估的重建指标上都优於原始模型,见表3。
我们在所有实验中都使用这个自动编码器。
表3:COCCO2017 [26] 验证集上的自动编码器重建性能,图像大小为256 ×256像素。
注意:Stable Diffusion 2.x 使用 Stable Diffusion 1.x 自动编码器的改进版本,
其中解码器在感知损失 [55] 上进行了微调,并使用了更多的计算。
注意,我们的新自动编码器是从头开始训练的。
模型 PSNR↑ SSIM↑ LPIPS↓ rFID↓
SDXL-VAE 24.7 0.73 0.88 4.4
SD-VAE 1.x 23.4 0.69 0.96 5.0
SD-VAE 2.x 24.5 0.71 0.92 4.7
2.5. 综合所有内容
我们以多阶段的程序来训练最终模型 SDXL。
SDXL 使用第 2.4 节中的自动编码器和离散时间扩散进度表[14, 45],共有 1000 步。
首先,在内部数据集上对基础模型(见表1)进行预训练,该数据集的高度和宽度
分布在图2中进行了可视化,使用大小和裁剪条件,分辨率为256 ×256像素,
批次大小为2048,在 60 万个优化步骤进行训练。
接着,我们在 512 ×512 像素的图像上继续训练另外 20 万个优化步骤,
最後使用多方面训练(第 2.3 节)结合偏移噪声[11, 25]的水平为 0.05,
在不同的长宽比(第 2.3 节,附录 I)的约 1024 ×1024 像素区域上进行模型训练。
精化阶段
根据实验,我们发现生成的模型有时会生成局部质量较低的样本,见图 6。
为了提高样本质量,我们在相同的潜在空间中训练了一个专门针对高质量、
高解析度数据的分离式扩散模型,并在基础模型生成的样本上使用 SDEdit [28]
引入的加噪-去噪过程。我们遵循 [1] 的方法,将这个精化模型设置
在前 200 个(离散)噪声尺度上。在推断时,我们从基础 SDXL 中生成潜在表示,
并直接在潜在空间中使用精化模型进行扩散和去噪(见图 1),并使用相同的文本输入。
值得注意的是,这一步是可选的,但对於细节背景和人脸的样本质量有所提高,
见图 6 和图 13。
为了评估我们的模型(包括有和没有精化阶段的版本),我们进行了用户研究,
让用户从以下四个模型中选择他们最喜欢的生成结果:
SDXL、带精化器的SDXL、Stable Diffusion 1.5和Stable Diffusion 2.1。
结果显示,带有精化阶段的SDXL是得分最高的选择,
并且在win rates(胜率)方面明显优於Stable Diffusion 1.5和2.1
(win rates:SDXL w/ refinement: 48.44%,SDXL base: 36.93%,
Stable Diffusion 1.5: 7.91%,Stable Diffusion 2.1: 6.71%)。
见图 1,该图还提供了整个流程的概述。然而,当使用FID和CLIP等传统性能指标时,
SDXL相对於以前的方法的改进并不明显,如图12所示,并在附录F中进行了讨论。
这与Kirstain等人的研究结果相一致,并进一步支持了这一发现。
https://i.imgur.com/x98mdzd.png
图 6:来自SDXL的1024^2样本(包括放大区域),
左侧为没有精化模型的版本,右侧为有精化模型的版本。提示:
“史诗般的远距离城市景观照片,纽约市被海洋淹没,并有丛林遗迹中的建筑物,
日落时分,电影般的拍摄效果,高度细致,8K,金色光线。”更多样本见图 13。
_______________
3. 未来工作
本报告呈现了对基础模型Stable Diffusion进行文本到图像合成的改进的初步分析。
尽管我们在合成图像质量、提示遵从性和组成方面取得了显着的改进,
但以下我们讨论了几个可以进一步改进模型的方面:
‧ 单阶段生成:
目前,我们使用两阶段方法以及额外的精化模型生成SDXL的最佳样本。
这导致需要将两个大型模型加载到内存中,限制了访问性能和取样速度。
未来的工作应该探索提供单阶段生成,而质量相等或更好的方法。
‧ 文本合成:
尽管规模和更大的文本编码器(OpenCLIP ViT-bigG [19])
有助於改进文本渲染能力,但引入字节级标记化器 [52, 27]
或者简单地将模型扩展到更大尺寸 [53, 40] 可能进一步改善文本合成。
‧ 架构:
在进行这项工作的探索阶段,我们简要尝试了一些基於Transformer的架构,
如UViT [16]和DiT [33],但并未立即获得好处。然而,我们仍然乐观地认为,
一个仔细的超参数研究最终将使得更大型的Transformer主导架构成为可能。
‧ 蒸馏:
尽管我们对原始的Stable Diffusion模型进行了显着改进,
但这是以增加推断成本(无论是在VRAM和取样速度上)为代价的。
未来的工作将集中於减少推断所需的计算量,并提高取样速度,
例如通过引导 [29]、知识 [6, 22, 24] 和渐进蒸馏 [41, 2, 29]。
‧ 我们的模型是在 [14] 的离散时间公式下进行训练的,
并且需要偏移噪声 [11, 25] 才能获得美观的结果。
Karras等人的EDM框架 [21] 是未来模型训练的有希望的候选者,
因为它在连续时间中的公式允许更大的取样灵活性,并且不需要噪声进度的修正。
_______________
附录
A. 致谢
我们感谢StabilityAI的所有工作人员,他们在比较、程式码等方面做出了贡献,
特别感谢:Alex Goodwin、Benjamin Aubin、Bill Cusick、
Dennis Nitrosocke Niedworok、Dominik Lorenz、Harry Saini、Ian Johnson、
Ju Huo、Katie May、Mohamad Diab、Peter Baylies、Rahim Entezari、Yam Levi、
Yannik Marek、Yizhou Zheng。同时,我们还感谢ChatGPT提供的写作协助。
B. 限制
’一只手掌上长满叶子的特写。’
’一个空的壁炉,上面悬挂着一台电视。电视上显示着一只狮子拥抱着一只长颈鹿。’
’一架带有白色凳子的大钢琴。’
’俯瞰一辆生锈的红色老式皮卡车,带有白色车门和破碎的挡风玻璃。’
https://i.imgur.com/gX3Umco.png
图7:尽管与之前的Stable Diffusion版本相比有很大的改进,
SDXL在处理非常复杂的提示时有时仍会遇到问题,
特别是涉及详细的空间排列和描述(例如左上角的例子)。
此外,有时手部的生成仍不正确(例如左上角的例子),
而且模型有时会出现两个概念混在一起的情况(例如右下角的例子)。所有这些示例
都是使用50步的DDIM取样器 [46] 和cfg-scale 8.0 [13] 随机生成的样本。
虽然我们的模型在生成逼真的图像和合成复杂场景方面展现了令人印象深刻的能力,
但认识到其固有的限制是进一步改进和确保技术的负责使用的重要因素。
首先,该模型在合成复杂的结构,如人手(见图7,左上角),可能会遇到挑战。
尽管它已经在多样化的数据上进行了训练,但人体解剖的复杂性使得在
达到准确的表现时存在困难。这个限制表明需要进一步扩展和训练技术,
专门针对合成细致细节。
可能的原因之一是,手和类似的物体在照片中呈现非常高的变异性,
模型很难从中提取真实3D形状和物理限制的知识。
其次,尽管该模型在生成的图像中实现了显着的逼真度,
但重要的是要注意它并未达到完美的照片级逼真。
某些细微的细节,如细微的光线效果或细微的纹理变化,
仍可能缺失或在生成的图像中呈现得不够忠实。
这个限制意味着在依赖模型生成的视觉效果用於需要高度视觉保真度的应用时应谨慎。
此外,该模型的训练过程严重依赖大规模数据集,这可能无意间引入社会和种族偏见。
因此,当生成图像或推断视觉特徵时,该模型可能会无意中加剧这些偏见。
在某些情况下,样本中包含多个物体或主题,该模型可能会出现“概念混合”的现象。
这个问题表现为不同视觉元素的意外合并或重叠。
例如,在图14中可以看到一个橙色的太阳眼镜,这表明概念混合来自橙色的毛衣。
另一个例子可以在图8中看到,企鹅应该有“蓝色帽子”和“红色手套”,
但生成的是蓝色手套和红色帽子。认识并解决这样的情况
对於改进模型在复杂场景中准确分离和表示个别物体的能力至关重要。
这可能的根本原因在於所使用的预训练文本编码器:
首先,它们被训练以将所有信息压缩成一个令牌,
因此可能在只绑定正确的属性和物体时失败,Feng等人 [8]
通过将单词关系明确编码到编码中来缓解此问题。
其次,对比损失也可能对此有所贡献,因为同一批次中需要具有不同绑定的负面示例。
此外,尽管我们的模型在之前的SD版本上取得了显着进展,
但在渲染长篇、可读的文本时仍存在困难。
偶尔生成的文本可能包含随机字符或呈现不一致性,如图8所示。
克服这个限制需要进一步研究和开发技术,增强模型的文本生成能力,
特别是对於扩展的文本内容——例如,Liu等人的工作 [27]
提出通过字符级文本分词器增强文本渲染能力。
另外,模型的扩展也可以进一步改进文本合成 [53, 40]。
总之,我们的模型在图像合成方面表现出显着的优势,但仍然存在某些限制。
合成复杂结构、达到完美的照片级逼真度、进一步解决偏见、
缓解概念混合问题以及改进文本渲染都是未来研究和优化的方向。
C. 扩散模型
在本节中,我们简要介绍扩散模型(DMs)。我们考虑连续时间的扩散模型框架[47],
并遵循Karras等人[21]的介绍。
令p_data(x_0)表示数据分布,并令p(x;σ)表示通过
将独立同分布的σ^2变异的高斯噪声添加到数据後得到的分布。
对於足够大的σ_max,p(x;σ_max^2)与变异数为σ_max^2的高斯噪声几乎无法区分。
利用这一观察,扩散模型从高变异的高斯噪声xM ~N(0,σ_max^2)中进行采样,
并依次对xM进行去噪,得到xi ~ p(xi;σ_i),其中i ∈{0,...,M},且σ_i < σ_i+1,
并且σ_M = σ_max。对於训练良好的扩散模型和σ_0 = 0,
得到的x_0的分布符合数据分布。
采样
在实践中,
上述解释的迭代去噪过程可以通过数值模拟概率流动常微分方程(ODE)[47]来实现,
https://i.imgur.com/f5BW61e.png
其中▽_x log p(x;σ)是分数函数[18]。计划σ(t):[0,1] →R_+由用户指定,
σ'(t)表示σ(t)的时间导数。
或者,我们还可以数值模拟随机微分方程(SDE)[47, 21]:
d_x = [概率流动ODE; 参见式(1)] - [Langevin扩散成分]
https://i.imgur.com/AlO5vgW.png
其中d_ω_t是标准维纳过程。
原则上,模拟上述概率流动ODE或SDE得到的样本来自同一分布。
训练
扩散模型(DM)的训练目标是学习一个模型 s_θ(x;σ)
来逼近分数函数 ▽_x log p(x;σ)。例如,可以将模型参数化为
▽_x log p(x;σ) 近似 s_θ(x;σ) = (D_θ(x;σ) - x)/σ^2 [21],
其中 D_θ 是可学习的去噪器,给定带有噪声的数据点 x_0 + n,
其中x_0 ~ p_data(x_0),n ~ N(0,σ^2 I_d),
并且在噪声水平σ的条件下,试图预测乾净的 x_0。
去噪器 D_θ(或等价的分数模型)可以通过去噪分数匹配(DSM)来训练
https://i.imgur.com/xfA6279.png
其中 p(σ,n) = p(σ;0,σ^2),p(σ) 是噪声水平σ的分布,
λ_σ:R_+ → R_+ 是一个加权函数,c是任意的条件信号,
例如类别标签、文本提示或两者的组合。在本工作中,
我们选择 p(σ) 为1000个噪声水平的离散分布,
并设置 λ_σ = σ-2,与之前的研究[14, 38, 45]类似。
无分类器引导
无分类器引导[13]是一种技术,用於将DM的迭代采样过程引导到条件信号 c,
通过混合条件模型和无条件模型的预测,
https://i.imgur.com/fpsKNXP.png
其中 w >= 0 是引导强度。
在实践中,无条件模型可以与有条件模型共同训练在一个单一的网络中,
通过在等式(3)中随机用空嵌入替换条件信号 c,例如10% 的时间 [13]。
无分类器引导被广泛用於提高文本到图像DM的采样质量,同时交换多样性 [30, 38]。
D. 与最先进技术的比较
https://i.imgur.com/jcsPmQn.png
图 8: SDXL与DeepFloyd IF、DALLE-2、Bing Image Creator和
Midjourney v5.2的定性比较。为了减少挑选样本引起的任何偏见,
我们随机选择了部分(P2)提示。种子3在所有可以指定该参数的模型中都是一致的。
对於没有种子设置功能的模型,我们包含了第一个生成的图像。
E. 与Midjourney v5.1的比较
E.1. 整体投票结果
为了评估SDXL的生成质量,我们进行了一项与最先进的文本生成图像平台
Midjourney的用户研究。作为图像标题的来源,我们使用了PartiPrompts(P2)
基准测试[53],该测试旨在比较各种具有挑战性的提示下的大型文本生成图像模型。
对於我们的研究,我们从每个类别中随机选择了五个提示,
并为每个提示生成了四个1024 ×1024像素的图像,
分别使用Midjourney(v5.1,种子设置为2)和SDXL。然後,
这些图像被提交给AWS GroundTruth专案组,
他们根据与提示的一致性进行了投票。这些投票的结果如图9所示。
总体上,SDXL在遵从提示方面略微优於Midjourney。
原始版本 频率 →
https://i.imgur.com/pl9QIJg.png
图9:在SDXL v0.9和Midjourney v5.1之间进行的17,153个用户喜好比较的结果,
该版本是当时可用的最新版本。比较涵盖了PartiPrompts(P2)基准测试中的
所有“类别”和“挑战”。值得注意的是,SDXL在54.9%的时间内
优於Midjourney V5.1。初步测试表明,最近发布的Midjourney V5.2在理解提示方面
比其前身差,但生成多个提示的繁琐过程阻碍了进行更广泛测试的速度。
E.2. PartiPrompts(P2)中的类别与挑战比较
P2基准测试中的每个提示都被分为一个类别和一个挑战,
每个类别和挑战都专注於生成过程中的不同困难方面。
我们以下展示了P2中每个类别(图10)和挑战(图11)的比较结果。
在六个类别中,SDXL有四个优於Midjourney的情况,而在十个挑战中,
有七个挑战中两者之间没有显着差异,或者SDXL优於Midjourney。
https://i.imgur.com/2WbAy5M.png
图10:SDXL(不含改进模型)与Midjourney V5.1之间在特定文本类别中的用户
喜好比较。SDXL在除两个类别外的所有类别中表现优於Midjourney V5.1。
https://i.imgur.com/xIqScqw.png
图11:SDXL(含改进模型)与Midjourney V5.1之间对於复杂提示的用户喜好比较。
在十个挑战中,SDXL有七个挑战优於或在统计上与Midjourney V5.1相等。
F. 对於生成式文本-图像基础模型的FID评估
https://i.imgur.com/AwPFkh7.png
图12:显示不同cfg scale下的FID与CLIP score的情况。
与不对齐的以前版本相比,SDXL在CLIP-score的测量中仅显示出稍微改善的文本对齐,
但这与人类评估者的判断不一致。
而且与[23]中所示的情况类似,FID评估结果较SD-1.5和SD-2.1差,
然而人类评估者明确地偏好SD-XL的生成结果。
在过去的几年中,生成式文本-图像模型通常在复杂的小规模文本-图像数据集
(例如COCO [26])上进行FID(Fisher Information Distance)[12]和
CLIP(Contrastive Language-Image Pre-training)得分[34, 36]的零样本评估。
然而,随着基础文本-图像模型[40, 37, 38, 1]的出现,这些模型不仅专注於
视觉合成能力,还涉及其他困难任务,例如深度文本理解、细粒度区分不同艺术风格,
尤其是对视觉美感的强调,这种特定形式的模型评估变得越来越值得质疑。
Kirstain等人[23]证明了COCO零样本FID与视觉美感呈负相关,
因此评估此类模型的生成性能应更多地依赖於人工评估者。我们对SDXL进行了相关研究,
并在图12中可视化了来自COCO [26]的1万个文本-图像对的FID-vs-CLIP曲线。
尽管SDXL在量化测量上显着提高了性能(参见图1),并在质量方面有显着改善
(参见图4和图14),但SDXL的FID得分仍然不如以前的SD版本。
相反,与其他两个对比模型相比,SDXL的FID最差,而CLIP得分仅稍有改善
(使用OpenClip ViT g-14进行测量)。
因此,我们的结果支持Kirstain等人[23]的结论,
并进一步强调需要更多针对文本-图像基础模型的定量性能评估指标。
所有评分都基於1万个生成的例子进行评估。
G. 单阶段和双阶段SDXL流程的额外比较
https://i.imgur.com/7uHuLuT.png
https://i.imgur.com/EqSAwfA.png
图13:带有(右)和不带有(左)前面所讨论的改进模型的SDXL样本(附有放大)。
提示:
(上)“特写头像,未来主义年轻女性,野性的头发,狡猾的微笑,
巨大的不明飞行物前面,数位单反相机,清晰对焦,动态构图”
(下)“新年前夕,三人在桌旁共进晚餐,电影般的镜头,8K”。放大以获取更多细节。
H. SD 1.5与SD 2.1与SDXL之间的比较
「充满活力的萨尔瓦多·达利肖像画,一半脸部是机器人。」
「用方块像素组成的卡比巴拉坐在一片田野上。」
https://i.imgur.com/TdIzPMH.png
「可爱迷人的小山羊,虚拟引擎,舒适的室内灯光,艺术工作站,细致的数位绘画,电影
感,Octane渲染。」
「一张袋鼠穿着橙色连帽卫衣和蓝色太阳眼镜的肖像照,站在悉尼歌剧院前的草地上,胸
前戴着写着『SDXL』的标志!」
https://i.imgur.com/1DXXTMG.png
图14:SDXL与先前版本的Stable Diffusion输出的额外比较结果。对於每个提示,
我们展示了50步DDIM采样器 [46] 和cfg-scale 8.0 [13] 下的各自模型的3个随机样本。
「怪物巴巴亚加式森林小屋,黑暗恐怖风格,黑白。」
「年轻的獾在优雅地闻着一朵黄玫瑰,丰富纹理的油画。」
https://i.imgur.com/DKmkZLF.png
图15:SDXL与先前版本的Stable Diffusion输出的额外比较结果。对於每个提示,
我们展示了50步DDIM采样器 [46] 和cfg-scale 8.0 [13] 下的各自模型的3个随机样本。
I. 多方位训练超参数
我们使用以下图像解析度进行混合长宽比微调,如Sec. 2.3所述。
高度 宽度 长宽比
512 2048 0.25
512 1984 0.26
512 1920 0.27
512 1856 0.28
576 1792 0.32
576 1728 0.33
576 1664 0.35
640 1600 0.4
640 1536 0.42
704 1472 0.48
704 1408 0.5
704 1344 0.52
768 1344 0.57
768 1280 0.6
832 1216 0.68
832 1152 0.72
896 1152 0.78
896 1088 0.82
960 1088 0.88
960 1024 0.94
高度 宽度 长宽比
1024 1024 1.0
1024 960 1.07
1088 960 1.13
1088 896 1.21
1152 896 1.29
1152 832 1.38
1216 832 1.46
1280 768 1.67
1344 768 1.75
1408 704 2.0
1472 704 2.09
1536 640 2.4
1600 640 2.5
1664 576 2.89
1728 576 3.0
1792 576 3.11
1856 512 3.62
1920 512 3.75
1984 512 3.88
2048 512 4.0
J. 沿着通道轴连接条件的伪代码
https://i.imgur.com/xgdhFzv.png
图 16: Python 伪代码,用於沿着通道轴连接 Sec. 2.1 至 2.3 中引入的额外条件。
References: [1]~[55] 请参阅SDXL paper [2307.01952] PDF
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.71.20.228 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AI_Art/M.1691070441.A.F1F.html
※ 编辑: avans (111.71.20.228 台湾), 08/03/2023 22:04:08
※ 编辑: avans (111.71.20.228 台湾), 08/03/2023 23:02:19