StyleDrop: Text-to-Image Generation in Any Style
公和众和号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)
目录
0. 摘要
3. StyleDrop:文本到图像合成的风格调整
3.1 基础:Muse [4],用于文本到图像合成的掩蔽 Transformer
3.2 文本到图像生成式视觉 Transformer 的参数高效微调
3.2.1 构建文本提示
3.3 带有反馈的迭代训练
3.4 从两个 θ 进行抽样
4. 实验
5. 结论
S. 总结
S.1 主要贡献
S.2 方法
预训练的大型文本到图像模型通过适当使用文本提示合成令人印象深刻的图像。然而,自然语言中固有的歧义和分布外效应使得难以利用特定设计模式、纹理或材料的图像样式进行合成。在本文中,我们引入了 StyleDrop,一种通过文本到图像模型实现忠实于特定风格的图像合成的方法。所提出的方法非常灵活,捕捉用户提供的风格的细微差别和细节,如配色方案、明暗效果、设计模式以及局部和全局效果。它通过微调极少量的可训练参数(总模型参数的不到1%)并通过迭代训练与人工或自动反馈改善质量,高效地学习新的风格。更好的是,即使用户只提供了所需风格的单个图像,StyleDrop 也能够呈现令人印象深刻的结果。广泛的研究表明,在风格调整文本到图像模型的任务上,基于 Muse [4] 实现的 StyleDrop 比基于 Imagen [31] 或 Stable Diffusion [29] 实现的 DreamBooth [30] 和 textual inversion [8] 表现更为出色。更多结果可以在我们的项目网站上找到:https://styledrop.github.io
StyleDrop 受 eyedropper(又称颜色选择器)的启发,使用户能够从各种来源快速选择颜色。同样,StyleDrop 允许用户快速、轻松地从单个(或很少)参考图像中 ‘挑选’ 风格,构建一个用于以该风格生成图像的文本到图像模型。
Muse [4] 是一种基于掩蔽生成式图像 Transformer 或 MaskGIT [5] 的最新文本到图像合成模型。它包含两个合成模块,用于基础图像生成(256×256)和超分辨率(512×512或1024×1024)。每个模块由文本编码器 T、生成器 G、采样器 S、图像编码器 E 和解码器 D 组成。文本编码器 T 将文本提示 t 映射到连续的文本嵌入空间。生成器 G 处理文本嵌入 e 以生成 logits。采样器 S 通过迭代解码 [5, 4] 从 logits 中绘制视觉标记序列 v,该过程以文本嵌入 e 和从前几步解码的视觉标记为条件进行几步 Transformer 推断。最后,解码器 D 将离散标记序列映射到像素空间。总之,给定文本提示 t,图像 I 的合成过程如下:
其中,n 是一个负面提示,λ 是一个引导尺度,k 是合成步骤。_k是 logits,从中采样出下一组视觉标记v_(k+1)。有关迭代解码过程的详细信息,请参阅 [5, 4]。编码器 T 使用T5-XXL [26],而 E 和 D 使用 VQGAN [7, 37]。G 在大量的(图像,文本)对 (x,t) 上使用掩蔽视觉标记建模损失 [5] 进行训练:
其中,M 是一个掩蔽操作符,将掩蔽应用于 v_i 处的视觉标记。CE_m 是通过仅对未掩蔽的标记求和计算的加权交叉熵。
现在我们提出了一个用于生成式视觉 Transformer 参数高效微调的统一框架。所提出的框架不限于特定的模型和应用,可以轻松应用于文本到图像(例如,Muse [4]、Paella [27]、Parti [38]、RQ-Transformer [18])和文本到视频(例如,Phenaki [33]、CogVideo [11])Transformer 的微调,使用各种 PEFT 方法,如提示微调 [20]、LoRA [13] 或适配器微调 [12],如 [32] 中所述。尽管如此,我们专注于Muse [4],一种非自回归(NAR)文本到图像 Transformer,使用适配器微调 [12]。
与 [32] 一样,我们的兴趣在于适配 Transformer 生成器 G,而其余部分(E、D、T)保持不变。令
是 Transformer 生成器 G 的修改版本(视觉标记空间 x 文本嵌入空间 x θ 参数空间),它将可学习参数 θ ∈ Θ 作为额外输入。这里,θ 代表了提示微调的可学习软提示或适配器微调的权重的参数。图 2 直观描述了带适配器微调的 ^G。
对 Transformer ^G 的微调涉及学习新引入的参数 θ,而 G 的现有参数(例如,自注意力和交叉注意力层的参数)保持不变,学习目标如下:
其中,D_tr 包含一些用于微调的(图像,文本)对。与 DreamBooth [30] 不同,其使用相同的文本提示表示一组训练图像,我们对每个输入图像使用不同的文本提示,以更好地解耦内容和风格之间的联系。一旦训练完成,类似于方程(2)中的过程,我们从 ^G(·, ·, θ) 的生成分布中合成图像。具体而言,在每个解码步骤 k,我们生成 logits _k 如下:
其中,λ_A 通过对比两个生成分布来控制对目标分布的适应水平,一个是经过微调的 ^G(v_k, T(t), θ),另一个是未经微调的 G(v_k, T(t));而 λ_B 通过对比正面(t)和负面(n)文本提示来控制文本对齐。
为了训练 θ,我们需要用于风格参考的(图像,文本)对组成训练数据集
在许多情景中,我们可能只会得到图像作为风格参考。在这种情况下,我们需要手动添加文本提示。
我们提出了一种简单的模板方法来构建文本提示,包括对内容(例如,对象、场景)的描述,后跟描述风格的短语。例如,我们使用 “猫” 来描述表格 1 中的对象,并附加 “水彩画” 作为风格描述符。在文本提示中同时包含内容和风格的描述至关重要,因为这有助于解耦内容和风格,并让学习的参数 θ 建模风格,这是我们的主要目标。虽然我们发现使用罕见的标记标识符 [30] 代替风格描述符(例如,“水彩画”)同样有效,但具有这样描述性的风格描述符提供了额外的风格属性编辑灵活性,这将在第 4.4.2 节和图 7 中展示。
虽然我们的框架是通用的,即使在小训练集上也能很好地工作,但从单个图像生成的经过风格调整的模型的生成质量有时可能不理想。第 3.2.1 节中的文本构建方法有助于提高质量,但我们仍然发现对内容的过拟合是一个问题。如图 3 的红色框中所示,同一座房子在背景中被渲染,很难完全避免内容泄漏。然而,我们看到许多渲染的图像成功地将风格与内容解耦,如图 3 的蓝色框所示。
对于这种情况,我们利用了这一在成功时具有高准确度的发现,并引入了 StyleDrop 的迭代训练(iterative training,IT),使用在较早阶段训练的 StyleDrop 合成的图像来改善 recall(更好的解耦)。我们选择了一个简单的解决方案:构建一个新的训练集,其中包含几十个成功的(图像,文本)对(例如,图 3 中的蓝色框中的图像),同时使用方程(3)中的相同目标。迭代训练导致了立即的改善,减少了内容泄漏,如图 3 中的绿色框所示。关键问题是如何评估合成图像的质量。
CLIP 分数 [25] 测量图像与文本的对齐程度。因此,可以通过测量 CLIP 分数(即视觉和文本 CLIP 嵌入的余弦相似性)来评估生成图像的质量。我们选择具有最高 CLIP 分数的图像,并将此方法称为带有 CLIP 反馈(CLIP feedback,CF)的迭代训练。在我们的实验中,我们发现使用 CLIP 分数来评估合成图像的质量是一种提高 recall(即文本保真度)的有效方式,而不会失去太多风格保真度。另一方面,CLIP 分数可能与人类意图 [19, 35] 不完全一致,也无法捕捉微妙的风格属性。
人类反馈(Human Feedback,HF)是将用户意图直接注入到合成图像质量评估中的更直接的方式。HF 在 LLM 微调与强化学习中被证明是强大而有效的 [24]。在我们的情况下,HF 可以用来补偿 CLIP 分数无法捕捉微妙风格属性的问题。经验上,选择少于十张图像就足够进行迭代训练,每种风格大约只需要 3 分钟。如第 4.4.4 节和图 9 所示,对于一些应用,如插图设计,HF 对于正确反映设计者意图而捕捉微妙差异至关重要。然而,由于人类选择偏见,风格可能会漂移或减少。
对于个性化合成多个个人资产(personal assets)的文本到图像扩散模型已经进行了广泛的研究[17, 22, 10]。在本节中,我们展示了如何以简单的方式将 DreamBooth 和 StyleDrop 结合起来,从而使风格和内容都能够个性化。这通过从两个修改后的生成分布中进行抽样来实现,其中一个受到风格 θ_s 的引导,另一个受到内容 θ_c 的引导,它们分别是在风格和内容的参考图像上独立训练的适配器参数。与现有的作品 [17, 10] 不同,我们的方法不需要在多个概念上联合训练可学习参数,从而通过预训练适配器获得更大的组合能力,这些适配器分别在个体主题和风格资产上进行了单独训练。
我们的整体抽样过程遵循方程(1)的迭代解码,不同之处在于我们在每个解码步骤中如何采样logits。设 t 为文本提示,c 为没有风格描述符的文本提示。我们计算第 k 步的 logits 如下:
其中,γ 平衡了 StyleDrop 和 DreamBooth——如果 γ 为 0,我们得到 StyleDrop,如果为 1,则为DreamBooth。通过适当设置 γ(例如,0.5∼0.7),我们可以得到 ‘以我的风格呈现的我的内容’ 的图像(见图 5)。
对比模型: 基于 Muse 的 StyleDrop,基于 Imagen 的 DreamBooth,基于 Stable Diffusion 的文本反演(textual inversion)和 DreamBooth 的 LoRA 实现。
评估指标:人类反馈 (human feedback,HF), CLIP 反馈 (CLIP feedback,CF), 第一轮模型 (first round model,R1)
在人类评估和定量评估中,StyleDrop(SDRP)表现突出。
从图 4 可以清楚地看出,StyleDrop 在 Muse 上明显优于其他方法。
从图 5(a) 我们可以看出,仅凭文本提示无法生成我们期望风格的图像。从图 5(b) 来看,虽然StyleDrop 能够得到正确的风格,但它生成的对象与参考主题不一致。从两个分布中采样的方法成功地捕捉了对象和风格,如图 5(c) 所示。
我们提出了 StyleDrop,一种通过使用少量用户提供的该风格的图像和文本描述来实现任何风格合成的新方法。基于 Muse [4],使用适配器调整 [12] 构建,StyleDrop 在文本到图像合成中实现了显著的风格一致性。训练 StyleDrop 在可学习参数数量(例如 <1%)和所需的样式样本数量(例如1)方面都很高效。
限制。视觉风格当然比我们在论文中探讨的更为多样化。对视觉风格进行更多研究,包括但不限于形式属性(例如使用颜色、构图、明暗)、媒体(例如线描、蚀刻、油画)、历史和时代(例如文艺复兴绘画、中世纪马赛克、装饰艺术)以及艺术风格(例如立体派、极简主义、波普艺术)等方面,将拓宽研究范围。尽管我们在某种程度上展示了生成视觉转换器在少样本迁移学习方面优于扩散模型,但这并不是最终结论。我们将深入研究文本到图像生成模型留作未来工作。
社会影响。如图 4 所示,StyleDrop 可用于提高艺术总监和平面设计师在以自己的风格生成各种视觉资产时的生产力和创造力。StyleDrop 使得从仅有一张种子图像开始,轻松复制许多个性化视觉资产成为可能。我们意识到潜在的问题,比如在没有艺术家同意的情况下复制个别艺术家的风格的能力,并敦促对我们技术的负责任使用。
本文介绍 StyleDrop,通过微调极少量的可训练参数并通过迭代训练与人工或自动反馈改善质量,高效地学习新的风格。更好的是,即使用户只提供了所需风格的单个图像,StyleDrop 也能够呈现令人印象深刻的结果。通过将 DreamBooth 和 StyleDrop 结合起来,使风格和内容都能够个性化。
StyleDrop 的核心在于适配 Transformer 生成器 G。
它修改 Transformer 的生成器 G,将可学习参数 θ 作为额外输入,而 G 的现有参数(例如,自注意力和交叉注意力层的参数)保持不变,学习目标如下:
其中,D_tr 包含一些用于微调的(图像,文本)对,CE 是交叉熵,^G 是用于生成视觉标记的微调的生成器,M 是对视觉标记进行掩蔽的掩蔽操作符,E 是把图像编码为视觉标记的图像编码器,T 是把文本映射为文本嵌入的文本编码器。
构建文本提示。
基于反馈迭代训练。
分布组合。