ImageReward: Learning and Evaluating Human Preferences for Text-to-Image Generation
Paper: https://arxiv.org/abs/2304.05977Code: https://github.com/THUDM/ImageReward1. Introduction由于预训练的分布嘈杂且与实际用户提示的分布存在差异，现有的文生图模型的生成结果还难以做到和人类偏好的对齐。这种固有的不一致性导致了多个问题，包括但不限于：图文一致性：未能准确呈现文本提示中描述的所有数字、属性、特征和对象之间的关系。肢体问题：呈现畸形、不完整、重复或异常的身体部位（如四肢）。人类审美：偏离平均或主流人类审美风格有害性和偏见：包含有害、暴力、性别、歧视、非法或引起心理不适的内容。下图展示了部分问题示例图：这些普遍存在的问题仅仅通过改进模型架构和预训练数据难以有效解决。在 NLP 领域，研究人员已采用来自人类反馈的强化学习（Reinforcement Learning from Human Feedback，RLHF）来指导 LLM 趋向于人类的偏好和价值观。该方法依赖于学习一个奖励模型（Reward Model，RM），通过大量专家标注的模型输出对比来捕捉人类偏好。尽管该方法有效，但标注过程可能既昂贵又具有挑战性，因为它需要数月的努力来建立标注标准、招募和培训专家、验证响应，并最终生成奖励模型。为了解决这些问题，论文期望通过人类偏好反馈来学习和改进文本生成图像模型。首先，作者们构建了ImageReward——第一个通用的文本生成图像人类偏好奖励模型——以有效地编码人类偏好。ImageReward 基于作者们系统的标注流程进行训练，至今已收集了 137k 个包括评分和排名的专家比较结果。在人类评估中，ImageReward 优于现有的评分模型和度量标准，使其成为评估文本生成图像合成的一个有前景的自动化度量。基于 ImageReward 模型，作者们提出了奖励反馈学习（Reward Feedback Learning，ReFL），一种用于优化扩散模型的评分器直接调优算法。自动化和人工评估都证明 ReFL 相对于其他方法的具备一定的优势。2. ImageReward: Learning to Score and Evaluate Human PreferencesImageReward 是通过一个系统化的流程构建而成的，该流程涉及数据收集和专家的人工标注。基于该流程，作者们实现了奖励模型（RM）训练并衍生出了 ImageReward。2.1 Annotation Pipeline Design2.1.1 Prompt Selection and Image CollectionImageReward 的数据集使用了来自 DiffusionDB（一个开源数据集）中的多样化的真实用户的 Prompt。为了确保所选 Prompt 的多样性，作者们采用了一种基于图的算法，其基于语言模型的提示相似度对 Prompt 进行筛选。经过筛选，最终得到了 10000 个候选 Prompt，每个 Prompt 附带 4 到 9 张来自 DiffusionDB 的采样图像，共计 177304 对候选图文对供标注使用。训练人类偏好奖励模型（RM）需要一个多样化的 Prompt 分布，以覆盖和代表用户的真实使用情况。DiffusionDB 包含 180 万个 Prompts，远超本文计划标注的数量。为了确保所选提示在主题分布上的多样性和代表性，本文采用了 该论文 中介绍的类似方法进行候选 Prompts 的筛选。在基于图的选择过程中，每个 Prompt 通过 Sentence-BERT 计算得到一个向量表示。然后，构建一个图，将表示的样本作为顶点，每个顶点与 k 个最近邻连接，其中 k 是算法中的超参数，经过实验发现 k = 150 表现良好。两个顶点之间的距离是它们表示的余弦相似度。构建图后，作者们为每个顶点计算一个得分，得分与尚未选择的邻居数目相关。顶点的选择基于计算得分，得分会在每次选择后重复计算，直到达到所需的数量。需要注意的是，算法的复杂度是样本数量的平方级别。为了计算的可行性和效率，本文将所有提示分成 100 组，每组约包含 2 万个提示。作者们使用该方法从每组中选择 100 个提示，最终获得 10k 个提示用于标注。2.1.2 Human Annotation DesignImageReward 的标注流程包括两个阶段：Prompt 标注阶段，其中包括对 Prompt 的分类和问题 Prompt 的识别Text-Image 评分阶段，在该阶段中，标注员根据图文一致性、保真度和无害性三个方面对图像进行评分和排序。为了处理排名中的潜在矛盾，作者们在标注文档中提供了权衡（完整文档附在附录 B 中），更多的标注细节可以参考附录中的 A.2、A.3 和 B。2.1.3 Human Annotation Analysis经过两个月的标注工作，作者们为 8878 个 Prompts 收集到了有效的标注结果，供产生了 136892 个对比对。2.2 RM Training和 Language Model 中的 RM Training 类似，作者们将偏好标注形式化为排名。对于同一个提示 $T$，作者们对 $k\in \left[4,9\right]$ 张图像进行排名（从最好到最差依次表示为 $x_1, x_2, \ldots, x_k$），在没有两张图像打平的情况下，最多可以获得 $C_k^2$ 个对比对用于训练。对于每一个对比对，如果 $x_i$ 优于 $x_j$，那么可以根据以下公式构建损失函数：$$ \begin{equation}\tag{1} \operatorname{loss}(\theta)=-\mathbb{E}_{\left(T, x_i, x_j\right) \sim \mathcal{D}}\left[\log \left(\sigma\left(f_\theta\left(T, x_i\right)-f_\theta\left(T, x_j\right)\right)\right)\right] \end{equation} $$其中 $f_\theta(T, x)$ 是针对 Prompt $T$ 和生成图像 $x$ 的偏好模型输出的标量值。2.2.1 Training Techniques作者们使用 BLIP 作为 ImageReward 的骨干网络，因为在作者们的初步实验中，它优于传统的 CLIP。作者们使用 BLIP 提取图像和文本特征，通过跨注意力机制将它们结合起来，并使用一个多层感知机（MLP）生成用于偏好比较的标量值。训练 ImageReward并不容易。作者们观察到它快速收敛并出现了过拟合现象。为了解决这个问题，作者们冻结了部分骨干网络 Transformer 层的参数，适当数量的参数的冻结可以改善 ImageReward 的性能。ImageReward 还对训练超参数（如学习率和批量大小）表现出敏感性。作者们在验证集上进行精心的网格搜索，以确定最佳值。2.3 As Metric: Re-Evaluating Human Preferences on Text-to-Image Models作者们提出，相较于 FID，ImageReward 是一个更为合适的用于比较文生图模型以及用于单个样本选择的 ZeroShot 自动评估指标。2.3.1 Better Human Alignment Across Models作者们邀请研究员对 6 个热门的高分辨率（512x512）的文生图模型进行评估，用于评估各个指标和人类偏好的一致性，这 6 个模型分别为：CogView 2Versatile Diffusion (VD)Stable Diffusion (SD) 1.4 和 2.1-baseDALL-E 2 (via OpenAI API)Openjourney1。作者们选择了 100 个真实的用户测试 Prompt 用于进行 Alignment 测试，每个模型会生成 10 个候选输出，作者们会再从这 10 个输出中挑选出最佳的图像，用于进行模型间的对比。根据前文提及的排名规则，对于各个 Prompt，Annotators 对来自不同模型生成的图像进行排名。作者们汇总所有 Annotators 的标注，并计算每个模型相较于其他所有模型最终胜利的次数。对于 ImageReward 和 CLIP Scores，作者们报告了各个模型在 1000 对图文对上平均值。除此之外，作者们还报告了所有模型在 MS-COCO2014 validation 数据集上的 ZeroShot FID 分数和 ImageReward 分数。遵循以往的做法，所有的图像均 Resize 到 256x256 分辨率，并通过网格搜索（$[1.5,2.0,3.0,4.0,5.0]$）来确定最优的 Classifier-Free Guidance 值。下表展示了相关结果：相较于 ZeroShot FID 和 CLIP Score，ImageReward 和人类偏爱一致性更好。2.3.2 Better Distinguishability Across Models and Samples另一个亮点是，与 CLIP Score 相比，ImageReward 在区分单个样本质量方面表现更佳。下图展示了 ImageReward 和 CLIP 在每个模型上 1000 次生成的评分分布箱线图：这些分布已经根据最大和最小值归一化到 $[0,1]$ 的范围内，并去除了离群值。如上图所示，各个模型中，ImageReward 的评分具有比 CLIP Score 更大的四分位距，这意味着 ImageReward 可以更好地区分图像的质量。此外，在对不同模型的比较中，作者们也发现 ImageReward 评分的中位数也大致与人类排名相符。相比之下，CLIP Score 的中位数未能表现出这种特征。3. ReFL: Reward Feedback Learning Improves Text-to-Image Diffusion尽管 ImageReward 能够从多个生成的图像中挑选出高度符合人类偏好的图像，但 " 先生成再过滤 " 的范式在实际应用中可能既昂贵又低效。因此，作者们寻求直接改进文本生成图像模型，特别是流行的潜在扩散模型，以便在单次或极少次数的尝试中实现高质量的生成。3.1 Challenge在自然语言处理（NLP）领域中，已经有相关研究使用强化学习算法（如 PPO）来引导语言模型与人类偏好对齐，这种方法依赖于生成过程的 likelihood 来更新模型。与语言模型不同，潜在扩散模型（LDMs）的多步去噪生成无法为其生成提供 likelihood 的估计，因此无法采用相同的 RLHF 方法。一种潜在的类似方法是在 LDM 推理过程中使用 Classifier-Guidance 技术。然而，这仅适用于推理，并且必须使用一个在噪声中间潜变量上训练的分类器，这与奖励模型（RM）的标注要求存在天然冲突，因为图像需要完全去噪，才能让人类标注正确的偏好。一些并行的研究工作提出了一些替代的间接解决方案，例如使用奖励模型（RM）来过滤数据集以进行微调，或根据样本质量重新加权训练样本的损失。然而，这些以数据为导向的方法实际上是间接的。它们可能严重依赖于合适的微调数据分布，并最终只能轻微改善 LDMs 的性能。3.1.1 ReFL: Insight and Solution作者们致力于开发一种直接优化方法，通过奖励模型（如 ImageReward）来改进潜在扩散模型（LDMs）。通过查看去噪步骤中（作者设置为 40 步）的 ImageReward 评分，作者们得出了一个有趣的见解，直接在步骤 $t$ 预测 $x_t \rightarrow x_0^{\prime}$ 时（而不是通过迭代的方式 $x_t \rightarrow x_{t+1} \rightarrow \ldots \rightarrow x_0$ 预测真实的 $x_0$）：当 $t \leq 15$ 时：所有生成的 ImageReward 评分都较低。当 $15 \leq t \leq 30$ 时：高质量的生成开始突出，但总体上仍然无法仅根据当前的 ImageReward 评分清楚地判断所有生成图像的最终质量。当 $t \geq 30$ 时：不同 ImageReward 评分的生成图像通常是可以区分的。可以参考下图中的示例：根据上述观察，作者们得出结论，在去噪 30 步之后的生成图像 $x_0'$ 的 ImageReward 评分（不一定是最后一步）可以作为改进 LDMs 的可靠反馈。基于此，作者们提出了一种算法，通过将奖励模型（RM）的评分视为人类偏好损失来直接微调 LDMs，进而反向传播梯度（参见算法 1），将梯度传递到去噪过程中的一个随机选择的后期步骤 $t$（在作者们的设置中，$t \in [30, 40]$）:选择随机步骤 $t$ 而非使用最后一步的原因是，如果仅保留最后去噪步骤的梯度，训练会变得非常不稳定，结果也很差。为了避免快速过拟合并稳定微调，作者们重新加权 ReFL 损失，并用预训练损失进行正则化。最终的损失形式写作：$$ \begin{equation}\tag{2} \mathcal{L}_{\text {reward }}=\lambda \mathbb{E}_{y_i \sim \mathcal{Y}}\left(\phi\left(r\left(y_i, g_\theta\left(y_i\right)\right)\right)\right) \end{equation} $$$$ \begin{equation}\tag{3} \mathcal{L}_{\text {pre }}=\mathbb{E}_{\left(y_i, x_i\right) \sim \mathcal{D}}\left(\mathbb{E}_{\mathcal{E}\left(x_i\right), y_i, \epsilon \sim \mathcal{N}(0,1), t}\left[\left\|\epsilon-\epsilon_\theta\left(z_t, t, \tau_\theta\left(y_i\right)\right)\right\|_2^2\right]\right) \end{equation} $$其中，$\theta$ 表示 LDM 的参数，$g_\theta(y_i)$ 表示 LDM 在参数 $\theta$ 下生成的图像，对应于 Prompt $y_i$。其他符号的含义详见算法 1，$L_{\text{pre}}$ 的损失函数取自 LDM。4. Experiment4.1 ImageReward: On Human Preference Prediction对标注图像的排名被收集用于训练 ImageReward，数据集包含 8,878 个提示和 136,892 对图像比较。作者们根据不同标注员标注的提示将数据集进行划分，并从与研究人员达成更高一致性的标注员中选择 466 个提示，组成、测试集。除了用于测试的提示外，其他超过 8k 个提示的标注数据被收集用于训练。作者们加载了 BLIP 的预训练模型（图像编码器使用 ViT-L，文本编码器使用 12 层 Transformer）作为 ImageReward 的骨干，并根据 $\mathcal{N}\left(0,1 /\left(d_{\text {model }}+1\right)\right)$ 初始化 MLP 头，采用余弦调度衰减学习率。通过实验，作者们发现，固定 70% 的 Transformer 层，使用 1e-5 的学习率和 64 的批量大小，可以达到最佳的人类偏好准确率。ImageReward 在 4 个 40GB 的 NVIDIA A100 GPU 上进行训练，每个 GPU 的批量大小为 16。作者们使用 CLIP 评分、Aesthetic 评分和 BLIP 评分作为基准，与 ImageReward 进行比较。CLIP 评分和 BLIP 评分通过文本和图像嵌入之间的余弦相似度直接计算，而 Aesthetic 评分则由 LAION 提出的美学预测器给出。下表展示了 Preference Agreement 以及 Ablation Study 的结果：下表则展示了 Preference accuracy 的结果：下表则展示了 Human Evaluation 的结果：4.2 ReFL: On Improving Diffusion Models with Human Preference作者们使用 Stable Diffusion v1.4 作为基准生成模型，并对其进行微调以进行实验。对于数据集，预训练数据集来自 LAION-5B 的 625k 子集，该子集根据美学评分进行选择，而 ReFL 的 Prompts 则从 DiffusionDB 中采样。该模型在 8 个 40GB 的 NVIDIA A100 GPU 上以半精度进行微调，学习率为 1e-5，批量大小总共为 128（其中预训练使用 64，ReFL 使用 64）。对于 ReFL 算法，作者们设置 $\phi = \text{ReLU}$，$\lambda = 1e^{-3}$，$T = 40$，以及 $[T_1, T_2] = [1, 10]$。实验结果如下表所示：部分可视化结果如下：5. Summary (From Kimi)这篇论文提出了一个全面的解决方案，旨在学习和改进基于人类偏好反馈的文本到图像生成模型。以下是论文的主要内容总结：问题陈述现有文本到图像生成模型在与人类偏好对齐方面存在挑战，导致生成的图像存在多种问题，如文本 - 图像对齐不准确、人物或动物的身体问题、人类审美偏差以及有害和偏见内容。现有的评估指标（如 FID）无法全面评估模型性能，特别是在人类偏好方面。对于流行的潜在扩散模型（LDMs），缺乏直接优化方法来根据人类偏好评分改进模型。ImageReward 模型数据收集与标注：作者建立了一个系统化的标注流程，收集了 137k 个专家比较对，基于真实用户提示和相应的模型输出，来训练 ImageReward 模型。模型架构：ImageReward 使用 BLIP 作为其背后的模型，通过提取图像和文本特征，结合交叉注意力机制，并使用一个 MLP（多层感知机）网络来生成偏好比较的标量值。训练技术：为了防止过快的收敛和随之而来的过拟合，作者采取了一些训练技术，例如冻结部分变换器层的参数，并进行仔细的网格搜索以确定最佳的训练超参数。性能表现：ImageReward 在预测人类偏好方面优于现有的评分方法，如 CLIP、Aesthetic 和 BLIP。ReFL（Reward Feedback Learning）算法直接优化：ReFL 是一个直接调优算法，它利用 ImageReward 的反馈来优化扩散模型。这个算法的独特见解是 ImageReward 在去噪步骤的后期能够识别出图像质量，从而允许在去噪过程的随机选中步骤直接进行反馈学习。算法实现：ReFL 在去噪过程的一个随机后期步骤中，将 RM 的评分视为人类偏好损失，并将梯度反向传播回去。为了避免过快过拟合和稳定微调，ReFL 损失被重新加权，并与预训练损失一起正则化。性能表现：通过自动和人类评估，ReFL 显示出比其他方法（如数据增强和损失重新加权）更好的性能。实验验证人类偏好预测：通过与基线模型的比较实验，验证了 ImageReward 在预测人类偏好方面的优越性。扩散模型的改进：通过自动和人类评估支持 ReFL 方法相对于其他方法的优势，证明了 ReFL 在改进扩散模型方面的有效性。贡献提出了第一个通用的文本到图像人类偏好奖励模型 ImageReward。提出了 ReFL，这是一种直接优化算法，用于根据人类偏好评分改进扩散模型。通过系统化的标注流程和模型训练，为文本到图像生成领域提供了新的视角和工具。未来工作论文还讨论了一些潜在的未来研究方向，包括扩大和多样化标注数据集、改进奖励模型训练技术、优化 ReFL 算法、多模态学习和评估、伦理和社会影响、应用扩展以及模型解释性和透明度。总的来说，这篇论文通过提出新的模型和算法，为提高文本到图像生成模型的人类偏好对齐和评估提供了有价值的贡献。
Flash Diffusion: Accelerating Any Conditional Diffusion Model for Few Steps Image Generation
Project Page: https://gojasper.github.io/flash-diffusion-projectPaper: https://arxiv.org/abs/2406.02347Code: https://github.com/gojasper/flash-diffusion1. Introduction本文提出了一个高效、快速且通用的蒸馏方案用于加速预训练Diffusion Models的生成过程：Flash Diffusion。Flash Diffusion能够在大幅减少采样步骤数量的同时，仍然保持极高的图像生成质量。Flash Diffusion旨在训练一个学生模型，使其能够在一步内预测出教师模型在多个步骤下对受扰输入样本的去噪结果。此外，Flash Diffusion通过对抗性目标将学生模型的分布引导至真实输入样本的流形上，同时通过分布匹配机制，确保学生模型不会过度偏离已学习的教师分布。下图展示了Flash Diffusion生成结果：Flash Diffusion不仅适用于特定的任务（如文本到图像），其在多种任务（如文本到图像、图像修复、超分辨率、面部交换等）和不同扩散模型架构（如基于UNet的去噪器或DiT（Pixart-α）以及适配器）的情况下都具有适用性：2. Method2.1 Background on Diffusion Models令$x_0 \in \mathcal{X}$是一个数据集合，满足$x_0 \sim p\left(x_0\right)$，其中$p\left(x_0\right)$是一个未知分布。扩散模型（Diffusion Models，DM）的主要思想是估计添加到输入样本$x_0$中噪声$\varepsilon$的量，该噪声是通过前向过程人为加入的，公式为：$x_t=\alpha(t) \cdot x_0+\sigma(t) \cdot \varepsilon$ ，其中$\varepsilon \sim \mathcal{N}(0, \mathbf{I})$。噪声的添加过程由两个可微函数函数$\alpha(t)$和$\sigma(t)$控制，其适用于任意$t\in \left[0,T\right]$，并且满足信噪比对数$\log \left[\alpha(t)^2 / \sigma(t)^2\right]$随时间递减。在实际训练过程中，DM会学习一个参数化函数$\varepsilon_\theta$，该函数以时间步$t$为条件、以带噪样本$x_t$为输入，输出噪声估计值。参数$\theta$通过Denoising Score Matching学习。$$ \begin{equation}\tag{1} \mathcal{L}=\mathbb{E}_{x_0 \sim p, t \sim \pi, \varepsilon \sim \mathcal{N}(0, \mathbf{I})}\left[\lambda(t)\left\|\varepsilon_\theta\left(x_t, t\right)-\varepsilon\right\|^2\right] \end{equation} $$其中$\lambda(t)$是一个放缩系数，$t\in \left[0,1\right]$是timestep，而$\pi(t)$是timestep的分布。2.2 Distilling a Pretrained Diffusion Model在下文中，本文主要考虑基于Latent Diffusion Models的图像生成模型，将Teacher Model记为$\varepsilon_\phi^{\text {teacher}}$，Student Model记为$\varepsilon_\phi^{\text {student}}$，训练图像为$x_0$，其分布记为$p(x_0)$。本文将通过编码器$\mathcal{E}$得到的潜变量表示为$z_0=\mathcal{E}\left(x_0\right)$。此外，$\pi$是时间步$t\in\left[0,1\right]$的概率密度函数。Flash Diffusion的主要目标是：希望最终获得一种快速、文件且可靠的算法，并且能轻松迁移到不同的应用场景中。给定一个带噪的潜在样本$z_t$，其中$t\in\pi\left(t\right)$，本文提出训练一个函数$f_\theta$来预测原始样本$z_0$的去噪版本$\tilde{z}_0$。与传统扩散模型的主要区别在于，Flash Diffusion不直接使用$z_0$作为目标，而是利用Teacher Model的知识，采用Teacher Model学习到的数据分布$p_\phi^{\text {teacher }}\left(z_0\right)$的样本。换言之，Flash Diffusion使用Teacher Model和一个常微分方程（ODE）求解器$\Psi$，对$z_t$多次迭代运行，以生成一个去噪的潜在样本$\tilde{z}_0^{\text {teacher }}\left(z_t\right)$，该样本被用作Student Model的监督目标。主要的蒸馏损失函数表示如下：$$ \begin{equation}\tag{2}\label{eq2} \mathcal{L}_{\text {distil }}=\mathbb{E}_{z_0, t, \varepsilon}\left[\left\|f_\theta\left(z_t, t\right)-\tilde{z}_0^{\text {teacher }}\left(z_t\right)\right\|^2\right] \end{equation} $$类似的思想也曾在LADD中被采样，但LADD生成的是完全合成的样本，即样本$z_t$是纯噪声，满足$z_t \sim \mathcal{N}(0, \mathbf{I})$。相比之下，Flash Diffusion的方法则认为：允许$z_t$保留部分来自真实编码样本$z_0$的信息，这有助于提升蒸馏效果。与LCM类似，在蒸馏Conditioning DM时，Flash Diffusion也在教师模型上应用了CFG，以更好地让模型遵循条件信息。实际上如后文消融实验所示，该方案显著提升了学生模型生成样本的质量。此外，其还消除了推理时Student Model使用CFG的需求，进一步降低了计算开销，每一步的函数评估次数（Neural Function Evaluations, NFEs）减少一半。在实际操作中，引导系数$\omega$从区间$\left[\omega_{\min }, \omega_{\max }\right]$中均匀采样，其中$0 \leq \omega_{\min } \leq \omega_{\max }$。2.3 Timesteps SamplingFlash Diffusion方法的核心在于Timestep概率函数密度$\pi(t)$的选择。DM被训练用于在任意连续时间$t$上从潜在样本$z_t$中去除噪声，然而由于Flash Diffusion在推理时的目标是实现少步数的数据生成（通常是1到4步），因此，所学习的函数$\varepsilon_\theta$只会在一组离散的时间步$\left\{t_i\right\}_{i=1}^K$上进行评估。为了解决这个问题，并使蒸馏过程聚焦于最关键的时间步，本文提出在区间$[0,1]$上均匀选取$K$个时间步（通常是16或32个），然后根据某个概率质量函数$\pi(t)$为每一个时间步分配一个概率。本文将$\pi(t)$设计为一个高斯混合分布（Mixture of Gaussians），其形状由一组权重$\left\{\beta_i\right\}_{i=1}^K$控制：$$ \begin{equation}\tag{3} \pi(t)=\frac{1}{\sqrt{2 \pi \sigma^2}} \sum_{i=1}^K \beta_i \exp \left(-\frac{\left(t-\mu_i\right)^2}{2 \sigma^2}\right) \end{equation} $$其中，每个高斯分布的均值由$\left\{\mu_i=\right.$ $i / K\}_{i=1}^K$控制，方差固定为$\sigma=\sqrt{0.5 / K^2}$。这种方法的优势在于，在蒸馏Teacher Model时，只需从$K$个离散时间步中采样，而无需从连续区间$[0,1]$中采样。此外，分布$\pi$被设计成让推理时用于1、2和4步生成的那4个时间步被过采样（通常情况下，本文设定当$i \in[K / 4, K / 2,3 K / 4, K]$时， $\beta_i>0$，其他情况下$\beta_i=0$）。与之前的一些方案不同，本文不仅聚焦于那4个时间步，因为本文发现这样会导致生成样本的多样性下降，这一现象在消融实验中有强调。在实践中，本文发现引入一个Warm-up阶段对训练过程是有益的。因此，在训练初期，Flash Diffusion会人为地提高低噪声时间步的概率，具体的做法是设定$\beta_{K / 4}=\beta_{K / 2}=0.5$并且$\beta_i=0$。随后，本文会逐渐将概率质量向高噪声区域偏移，以促进单步生成的学习，同时，始终对那4个关键时间步进行过采样，即设定当$i \equiv 0(\bmod K / 4)$时$\beta_i>0$，其余$\beta_i=0$。下图给出了$K=32$时，$\pi$分布的示例图：如上图所示，区间$[0,1]$被划分为32个时间步。在Warm-up阶段，概率质量主要分布在时间段$[0.25,0.5]$，以便简化蒸馏过程。随着训练的进行，概率质量函数会逐步向全早上区域转移，从而支持单步生成的学习，同时始终保持对关键4个时间步$[0.25,0.5,0.75,1]$的高采样概率。关于时间步分布的影响将在消融实验中进一步讨论。2.4 Adversarial Objective为了进一步提升生成样本的质量，本文还引入了对抗目标（Adversarial Objective）。核心思想是训练Student Model，使其生成的样本与真实样本分布$p(x_0)$难以区分。为此，本文提出了一个判别器$D_\nu$，用于区分生成样本$\tilde{x}_0$与真实样本$x_0 \sim p\left(x_0\right)$。和SDXL-lightning类似，Flash Diffusion也在潜空间中直接使用判别器。这样可以避免通过VAE解码样本的过程，这一过程不仅代价高昂，还限制了该方案在高分辨率图像上的可扩展性。受SDXL-lightning启发，本文提出一种新的方案：将Student Model的一步预测结果$\widetilde{z}_0$和输入的潜变量样本$z_0$都按照Teacher Model的噪声调度重新加噪声，这个过程使用从集合$[0.01,0.25,0.5,0.75]$中均匀采样得到的时间步$t^{\prime}$，从而使得判别器能够同时根据高频和低频信息进行判断。这些加过噪声的样本会首先通过冻结的Teacher Model，然后再输入到可训练的判别器中，最终输出“真实”或“伪造”的预测结果。当教师模型使用UNet架构时，本文仅使用UNet的编码器部分，从而生成更紧凑的潜在表示，并进一步减少判别器的参数量。最终对抗损失$\mathcal{L}_{\mathrm{adv}}$和判别器损失$\mathcal{L}_{\mathrm{dis}}$形式如下：$$ \begin{equation}\tag{4}\label{eq4} \begin{aligned} & \mathcal{L}_{\mathrm{adv}}=\frac{1}{2} \mathbb{E}_{z_0, t^{\prime}, \varepsilon}\left[\left\|D_\nu\left(f_\theta\left(z_{t^{\prime}}, t^{\prime}\right)\right)-1\right\|^2\right], \\ & \mathcal{L}_{\text {dis. }}=\frac{1}{2} \mathbb{E}_{z_0, t^{\prime}, \varepsilon}\left[\left\|D_\nu\left(z_0\right)-1\right\|^2+\left\|D_\nu\left(f_\theta\left(z_{t^{\prime}}, t^{\prime}\right)\right)\right\|^2\right] \end{aligned} \end{equation} $$其中$\nu$表示判别器的参数。本文选择这些特定的损失函数，是因为在实验中观察到它们在训练过程中具有良好的稳定性和可靠性。在实现上，判别器的结构被设计为一个简单的卷积神经网络（CNN），其特点包括：步长为2（stride=2）卷积核大小为4（kernel size=4）激活函数使用SiLU归一化方式采用Group Normalization2.5 Distribution Matching受启发于DMD，本文也提出引入Distribution Matching Distillation（DMD）损失，以确保生成样本能够更贴近教师模型所学习到的数据分布。具体而言，这一过程的目标是最小化学生分布$p_\theta^{\text {student}}$和教师分布$p_\theta^{\text {teacher}}$之间的KL散度：$$ \begin{equation}\tag{5}\label{eq5} \mathcal{L}_{\mathrm{DMD}}=D_{K L}\left(p_\theta^{\text {student }} \| p_\phi^{\text {teacher }}\right) \end{equation} $$对Student Model参数$\theta$求KL散度的梯度，可以得到以下更新参数的公式：$$ \begin{equation}\tag{} \left.\left.\nabla_\theta \mathcal{L}_{\mathrm{DMD}}=\mathbb{E}\left[\left(s^{\text {student}}(y)-s^{\text {teacher}}(y)\right)\right)\right) \nabla f_\theta\left(z_t, t\right)\right] \end{equation} $$其中，$s^{\text{student}}$和$s^{\text{teacher}}$分别表示学生分布和教师分布的Score Function，而$y=f_\theta\left(z_t, t\right)$是学生模型预测的结果。受到DMD的进一步启发，Student Model的一步预测结果$\widetilde{z}_0$会使用从区间$\left[0,1\right]$中均匀采样的时间步$t^{\prime \prime} \sim \mathcal{U}([0,1])$和Teacher Model的噪声调度器重新加噪声。新加噪的样本会被输入到冻结的Teacher Model中，以获得教师分布的Score Function：$$ \begin{equation}\tag{} s^{\text {teacher }}\left(f_\theta\left(z_{t^{\prime \prime}}, t^{\prime \prime}\right)\right)=-\left(\frac{\varepsilon_\phi^{\text {teacher }}\left(x_{t^{\prime \prime}}, t^{\prime \prime}\right)}{\sigma\left(t^{\prime \prime}\right)}\right) \end{equation} $$在Flash Diffusion中，学生分布的 score function 由学生模型自身提供，而不是使用一个额外的扩散模型。这一设计显著减少了可训练参数的数量和计算成本。2.6 Model Training在追求鲁棒性与通用性的同时，本文也希望设计出一个可训练参数最少的模型，因为该方法涉及加载计算密集型的Teacher Model和Student Model。为此，Flash Diffusion提出借助一种参数高效的方法——LoRA（Low-Rank Adaptation），并将其应用于Student Model中。这种方式能够显著减少模型的参数数量，同时加快训练过程。简而言之，Student Model通过训练去最小化蒸馏损失$\eqref{eq2}$、对抗损失$\eqref{eq4}$和分布匹配损失$\eqref{eq5}$的加权组合损失：$$ \begin{equation}\tag{6} \mathcal{L}=\mathcal{L}_{\text {distil }}+\lambda_{\mathrm{adv}} \mathcal{L}_{\mathrm{adv}}+\lambda_{\mathrm{DMD}} \mathcal{L}_{\mathrm{DMD}} \end{equation} $$下图展示了本文的训练过程：3. Experiments3.1 Text-to-Image Quantitative Evaluation本文首先将提出的蒸馏方法应用于公开可用的SD1.5模型，并在COCO2014和COCO2017数据集上报告FID和CLIP分数。Flash Diffusio在LAION数据集上进行训练，具体使用的是审美评分高于6的图像子集。对于COCO2017，本文从验证集中选取了5K条文本提示来生成合成图像；而在COCO2014上，本文从验证集中选取了3K条文本提示，并计算这些生成图像与真实图像在验证集上的FID值。结果如下图中的表（a）和表（b）所示：Flash Diffusio仅使用2次函数评估（NFEs）的情况下，分别在COCO2017和COCO2014上达到了22.6和12.27的FID分数，达到了当前最优的少步图像生成效果。此外，Flash Diffusion在COCO2017上的CLIP分数为30.6（2 NFE）和 31.1（4 NFE）。值得注意的是，Flash Diffusio方法只需训练26.4M个参数（相比教师模型的900M参数），训练时间仅为26小时（使用 H100 GPU），这与许多依赖完整学生UNet架构训练的竞品形成鲜明对比。3.2 Ablation Study对于所有的消融实验，本文使用SD1.5模型作为教师，对模型进行20K次迭代训练。所有结果均在COCO2017数据集上使用2次NFE进行报告。3.2.1 Influence of the loss terms下表展示了在训练中使用不同损失组合的结果：$\mathcal{L}_{\mathrm{adv}}$和$\mathcal{L}_{\mathrm{DMD}}$对最终性能都有显著影响，$\mathcal{L}_{\mathrm{adv}}$有助于提升图像质量（FID更低），而$\mathcal{L}_{\mathrm{DMD}}$则提升了图文一致性（CLIP分数更高）。在仅使用$\mathcal{L}_{\mathrm{adv}}$和$\mathcal{L}_{\mathrm{DMD}}$的时延中，结果出现了明显的不稳定性甚至收敛失败，这进一步凸显了$\mathcal{L}_{\mathrm{distill}}$对于稳定性和可靠性的重要性。在下表中，展示了使用不同的蒸馏损失$\mathcal{L}_{\mathrm{distill}}$（LPIPS和MSE）以及不同的对抗损失$\mathcal{L}_{\mathrm{adv}}$（Hinge、WGAN和LSGAN）的结果：在蒸馏损失方面，MSE在FID和CLIP得分上都优于LPIPS；在对抗损失方面，LSGAN显示出最优性能表现，而且本文还观察到它还带来了更稳定的训练过程。3.2.2 Influence of the timestep sampling在本节中，本文强调了$\pi(t)$（时间步分布）的影响。这里将所提出的时间步分布与以下几种分布进行了比较：在$K=32$个时间步上均匀分布的$\pi^{\text{uniform}}$以$t=0.5$为中心的正态分布$\pi^{\text{gaussian}}$以及本文提出的分布的一个“尖锐”版本$\pi^{\text{sharp}}$（该版本仅允许采样 4 个不同的时间步）结果如下表所示：本文提出的时间步分布在性能上显著优于$\pi^{\text{uniform}}$和$\pi^{\text{uniform}}$。此外，允许采样超过 4 个不同的时间步对最终性能是有益的，因为观察到FID分数有明显下降。这种性能提升可以解释为：通过采样更广泛的时间步范围，学生模型能够从教师模型中蒸馏到更多有用的信息，而不是仅仅过拟合那4个被选中的时间步。3.2.3 Influence of the guidance scale during training在本次消融实验中，与前几节不同，这里使用固定的Guidance Scale $\omega$从教师模型生成样本，$\omega$的值设置为 1、3、5、7、10、13 或 15。下表中报告了FID和CLIP分数的变化：与Teacher Model的行为一致，Guidance Scale的选择对最终性能有很大影响。虽然CLIP分数（衡量图文一致性）通常随着Guidance Scale的增加而提高，但这与FID分数存在权衡，FID分数最终随着引导尺度的增大而增加，导致图像质量可能下降。这里用红点表示本文提出的方案，该方案是在给定范围内均匀采样Guidance Scale。3.3 On the Method’s Versatilit为了强调所提出方法的灵活性，我们对使用不同conditionings、backbones或adapters训练的不同扩散模型应用了相同的方法。3.3.1 Backbones’ Study这里考虑了三种backbones：UNet-based SDXL、DiT-based Pixart-$\alpha$以及MMDiT-based SD3：部分可视化示例如下图所示：3.3.2 Conditionings’ Study下面几张图依次展示三种模型的生成结果：基于掩码图像、掩码和prompt条件的Inpainting Diffusion Model4倍超分模型基于源图像条件的人脸交换模型3.3.3 Adapters这里展示了Flash Diffusion和T2I Adapters的兼容性：4. Summary这篇论文提出了一种名为 Flash Diffusion 的新方法，旨在加速预训练的扩散模型，以实现更快速的图像生成。下面是对论文主要内容的总结：问题背景扩散模型的局限性：扩散模型（DM）是一类高效的生成模型，尤其擅长图像合成等任务。但其迭代的采样机制限制了它们在实时应用中的可用性。实时应用的挑战：在推理时，扩散模型需要多次评估潜在的高计算成本的神经函数，这使得它们在速度上不如生成对抗网络（GANs）和变分自编码器（VAEs）等更快的模型。Flash Diffusion 方法学生模型训练：Flash Diffusion 训练一个学生模型（student model），目标是在单步中预测多步教师模型（teacher model）的去噪结果。这意味着学生模型学习从部分噪声数据中快速恢复出高质量的图像。教师模型的知识利用：学生模型使用教师模型的输出作为目标，而不是直接使用原始数据。这是通过教师模型和ODE（常微分方程）求解器生成的，确保了学生模型学习的目标是高质量的数据分布。对抗性目标：为了提高生成样本的质量，Flash Diffusion 引入了对抗性训练。学生模型生成的样本需要能够欺骗鉴别器（discriminator），使其无法区分真实数据和生成数据。分布匹配：通过最小化学生模型和教师模型输出之间的Kullback-Leibler散度，Flash Diffusion 确保学生模型的输出分布与教师模型学习的分布保持一致。LoRA 兼容性：为了减少训练参数并加速训练过程，Flash Diffusion 采用了LoRA（Low-Rank Adaptation）方法，这是一种参数高效的技术。时间步采样：论文提出了一种特定的时间步采样策略，通过选择特定的时间步并为它们分配概率，使得训练过程更加集中在对生成高质量样本最重要的时间步上。分类器自由引导（Classifier-Free Guidance, CFG）：在训练过程中，使用CFG技术来进一步提高生成样本的质量，这在推理时可以减少所需的网络功能评估（NFEs）。实验验证文本到图像生成的定量评估：使用公开可用的SD1.5模型作为教师模型，作者在COCO2014和COCO2017数据集上进行了实验。他们报告了使用FID（Fréchet Inception Distance）和CLIP分数来评估生成图像的质量。实验结果显示，Flash Diffusion在只有2次网络功能评估（NFEs）的情况下，达到了最先进的结果。消融研究：为了评估所提出方法中不同组件的重要性和影响，作者进行了消融研究。这包括对损失项的选择、对抗性损失的选择、时间步采样策略以及训练中使用的引导尺度的评估。不同教师模型的适应性：作者展示了Flash Diffusion方法能够适应不同的教师模型，包括SDXL和Pixart-α。这些实验在COCO2014数据集上进行，并且与现有的文献中的蒸馏方法进行了比较。不同任务的适应性：Flash Diffusion不仅适用于文本到图像的生成，还适用于其他任务，如图像修复、超分辨率和面部交换。作者在这些任务上进行了实验，展示了学生模型在只有少数NFEs的情况下生成高质量样本的能力。与适配器的兼容性：作者还展示了Flash Diffusion方法与适配器的兼容性，这是通过在边缘和深度图适配器上进行实验来完成的。不同架构的适应性：除了UNet架构，作者还展示了Flash Diffusion能够适应DiT（Diffusion Transformer）架构，这在Pixart-α模型上得到了证明。生成样本的质量评估：作者提供了额外的生成样本，以丰富主要论文中的定性比较，并与文献中的其他方法进行了比较。主要贡献提出了一种高效的蒸馏方法，减少了生成高质量样本所需的采样步骤。通过广泛的实验验证了该方法在多种任务和架构上的性能和适用性。展示了该方法在减少训练时间和参数数量方面的优势。提供了开源实现，以展示方法的可复现性和稳定性。总的来说，Flash Diffusion为扩散模型的快速图像生成提供了一种有效的解决方案，具有效率高、应用广泛和训练成本低等特点。
Emu: Enhancing Image Generation Models Using Photogenic Needles in a Haystack
Paper: https://arxiv.org/abs/2309.158071. Introduction本文提出了quality-tuning，以有效地引导预训练模型仅生成视觉上高度吸引人的图像，同时保持对视觉概念的一般性。本文的关键发现在于：在一个规模非常小但高度吸引人的图像数据集上进行SFT，可以显著提供图像的生成质量。具体而言，本文在110亿图文对上首先预训练了一个latent diffusion model，然后在仅几千张精心挑选的高质量图像数据集上进行微调后，得到了Emu。Emu和仅预训练的latent diffusion model对比，胜率达到82.9%，而与目前最为先进的SDXLv1.0相比，Emu在标准的PartiPrompts和本文的Open User Input benchmark上各自取得了68.4%和71.3%的胜率。Quality-tuning是一个通用的策略，其对于pixel diffusion和masked generative transformer models等其他架构也一样适用。Quality-tuning很类似与LLM中的Instruction-tuning：Quality-tuning和Instruction-tuning一样，可以显著提升生成模型的能力。Quality-tuning和Instruction-tuning一样，相较于Pretraining阶段，只需要非常少量的高质量数据即可。Quality-tuning和Instruction-tuning一样，不会导致其在Pretraining阶段习得的知识被遗忘。Quality-tuning阶段的数据筛选标准是主观的，会受到各自文化的影响。本文则是遵循了摄影中的一些基本原则，包括但不限于构图、光照、色彩、有效分辨率、对焦、故事叙述的指引性等。Emu的部分生成结果如下：2. Method本文将生成模型的训练分为两个阶段：Knowledge Learning Stage（Pretraining Stage）Quality-Tuning Stage（Finetuning Stage）正如Introduction中所提，本文的关键洞察在于以下三点：微调数据集可以非常小，仅需几千张图像数据集的质量需要非常高，这使得数据集的完全自动化几乎不可能，需要通过人工进行标注即使使用很小的微调数据集，Quality-Tuning不仅显著提高了生成图像的美感，而且没有牺牲其图文一致性2.1 Latent Diffusion Architecture本文设计了一个Latent Diffusion Model，可以生成1024x1024分辨率的图像，和标准的Latent Diffusion Architecture设计一致，Emu也包括一个AutoEncoder（用于将Image编码为Latent Embeddings）以及一个UNet（学习去噪过程）。本文发现常用的4-channel AutoEncoder（AE-4）由于压缩率过高，会导致重建图像缺乏细节，而将通道数提升至16可以显著提升重建质量。为了进一步提升重建表现，本文采用对抗损失，并对RGB图像应用一个无需学习的预处理步骤（使用傅里叶变换将输入通道维度从3提升到更大），以更好地捕捉细微结构。除了VAE以外，本文使用了一个训练参数量为2.8B的大型UNet，具体而言，本文提升了每个Stage中堆叠的残差模块的通道数和模块数，以获取更大的模型容量。至于Text Encoder，本文使用了CLIP ViT-L和T5-XXL。2.2 Pretraining本文精心挑选了一个庞大的内部预训练数据集，包含1.1billion张图像用于进行Diffusion模型的预训练。和SDXL类似，本文也采用了渐进式地训练策略，分辨率会逐步提升。这种渐进式训练策略使得模型可以在较低分辨率下高效学习高级语义信息，并在高分辨率下改善细节。在预训练的最后阶段，本文还应用了0.02的噪声偏移。2.3 High-Quality Alignment Data2.3.1 Automatic Filtering从数十亿图像的初始集合开始，本文首先使用一些自动过滤器将其缩减至数千万张。这些自动过滤器包括但不限于：攻击性内容筛选美学评分筛选OCR字数筛选CLIP得分筛选图像大小筛选长宽比筛选然后为了平衡来自不同领域和类别的图像，本文使用一个分类器（Billion-scale semi-supervised learning for image classification），对数据进行分类（例如肖像、失误、动物、风景、汽车等）。最后，再通过一些特殊的信号，例如点赞数等，对数据进行进一步过滤，最终将数据精简到200K条。2.3.2 Human Filtering接下来，本文使用了two-stage的人类筛选过程去仅保留高美学度的数据。Stage One：在该阶段主要是培训一般标注员，以从图像库中筛选出20K张图像。该阶段的主要目标是优化召回率，确保排除可能通过自动过滤过程的中等或者低级质量的图像。Stage Two：在该阶段，本文请来了具有良好摄影原则理解的专家标注员。他们的任务是筛选和选择最高审美质量的图像。这一阶段，专注于优化精度，即仅选择最佳图像。接下来简单阐述一下关于高质量图像的注释指南。本文的假设是：遵循高质量摄影的基本原则就能产生在各种风格上更具美学价值的图像。该假设也得到了人类评估得到验证。以下是五个主要原则：构图。图像应遵循专业摄影构图的某些原则，包括“三分法则”，“深度与层次”等。负面示例可能包括视觉重量不平衡（例如当所有焦点主体集中在画面的某一侧时），或捕捉主体的角度不够吸引人，或主要主体被遮挡，或周围不重要的物体干扰主体的表现等。光照。本文期望寻求具有动感的光照效果，要求曝光平衡、能够提升图像整体的质感。例如，可以在背景和主体的特定区域形成高光的来自一定角度的光线。尽量避免使用人工感强或者平淡无趣的光照，也尽量避免过暗或过曝的光线效果。色彩与对比。本文偏爱色彩鲜艳且对比度强的图像，而避免使用单色图像或者整个画面被单一色彩占据的图像。主体与背景。图像应在前景与背景元素之间展现出一定的层次感。背景应简洁有序，但不应过于单调或乏味。聚焦的主体必须经过有意地构图安排，确保所有关键细节清晰可见、不被遮挡。例如在人像摄影中，图像的主要主体不应超出画面边界或被遮挡。此外，前景主体的细节呈现也极为重要。额外的主观评价。此外，本文还要求标注人员提供主观评价，以确保仅保留具有卓越美学质量的图像。具体方式是回答以下几个问题，例如：这张图像是否传达了引人入胜的故事？这张图像是否还有明显的提升空间？就这一特定内容而言，这是否是你见过的最优秀的照片之一？基于以上过滤过程，本文最终保留了2K张质量非常高的图像。随后，本文为每一张图像撰写了真实的Caption。需要注意的是，这些手工挑选的图像有一些低于1024x1024的目标分辨率，本文会训练一个基于Imagen中提出的结构而设计的Pixel Diffusion Upsampler，在必要时，对一些图像进行上采样。2.4 Quality-Tuning这些视觉上令人惊叹的图像（例如本文收集的2K张图像）是一个具备相同统计数据的所有图像的一个子集。本文的假设是：一个经过充分预训练的模型已经具备生成高度美学图像的能力，但在生成过程中没有得到适当的引导，以始终生成符合这些统计特性的图像。Quality-Tuning可以有效地将模型输出限制在一个高质量的子集中。本文使用64的小batchsize进行微调，并使用0.1的noise-offset。需要注意的是，这里的early stopping是非常重要的，因为在小型数据集上进行长时间的微调会导致显著的过拟合以及一般性的视觉概念的退化。本文最多进行15K轮次的迭代，即使损失依然在下降，这个总的迭代次数是通过经验确定的。3. Experiments本文主要对比Emu和SDXLv1.0的生成效果。3.1 Evaluation SettingPrompts本文在两个大型提示集上进行了评估：1600个 PartiPrompts（这是文本生成图像任务中常用的基准测试集），以及本文自建的2100个Open User Input（OUI）提示集。OUI提示集基于真实世界中的用户输入，涵盖了在文本生成图像模型中广受欢迎的提示，反映了与现实用例相关的视觉概念。下图展示了OUI数据集中不同概念的分布：这些提示经过大语言模型（LLM）改写，使其更贴近普通用户的表达方式（而不是经过精心设计的工程化提示）。Metrics本文使用两种独立的评估指标：视觉吸引力和文本一致性。视觉吸引力指的是生成图像的整体美学质量。它综合了颜色、形状、纹理和构图等多种视觉元素，以呈现令人愉悦且吸引人的外观。视觉吸引力本质上是主观的，不同人对美感的判断可能不同。因此，本文请五位标注人员对每个样本进行评分。具体来说，本文向标注人员并排展示由不同模型在相同描述下生成的两张图像 A 和 B，不显示文字描述，让标注人员根据个人感受选择更具视觉吸引力的图像，选项为“A”、“B”或“持平”。文本一致性指的是生成图像与文字描述之间的相似程度。在此任务中，本文再次并排展示由不同模型生成的图像 A 和 B，但这次同时展示图像对应的文字描述。本文要求标注人员忽略图像的视觉吸引力，仅根据哪张图像更好地体现了文字描述来进行选择，选项为“A”、“B”、“两者皆是”或“两者皆否”，其中“两者皆是”与“两者皆否”统一视为“持平”。该任务中，每个样本对由三位标注人员进行评估。本文不报告诸如 FID 分数等“标准”指标。正如多篇近期论文所指出的，FID 分数与人类对生成模型表现的主观评估之间并无良好相关性。3.2 ResultsEffectiveness of Quality-Tuning首先，本文将经过质量调优的模型 Emu 与预训练模型进行了比较。下图展示了在质量调优前后的随机（非精挑细选）生成结果示例：请注意其中存在一些高度美观的非写实风格图像，这也验证了本文的假设：在构建质量调优数据集时遵循一定的摄影原则，能够提升多种风格图像的美学效果。下图则是展示了定量的对比结果：在经过Quality-Tuning后，Emu在视觉吸引力和文本一致性上都显著优于预训练模型，而在视觉吸引力上提升得更为明显，文本一致性提升的原因可能在于微调训练集中的Caption都是来自于人工编写，预训练数据集中的Captions可能包含大量噪声。测试集中包含了各种领域各种类型的Prompts，本文没有发现Emu出现了视觉概念泛化性的下降。本文还分析了一些非写实风格的Prompts的结果，在多种风格上，Quality-Tuning都能带来提升。Visual Appeal in the Context of SoTA在下表中，本文对比了Emu和SDXLv1.0的视觉吸引力：Quality-Tuning Other Architectures接下来，本文展示Quality-Tuning还可以应用于其他流行架构，如Pixel Diffusion Models和Masked Generative Transformer Models。具体而言，本文重新实现和重新从头训练了一个和Imagen类似的Pixel Diffusion Model和一个和Muse类似的Masked Generative Transformer Model，然后在2K图像上对其进行Quality-Tuning。下图展示了这两个模型在随机抽取1/3的PartiPrompts上的视觉吸引力和文本一致性：3.3 Ablation Studies下表重点研究了微调数据集大小对结果的影响：只要有100个微调图像，Emu就已经可以被引导生成视觉上吸引人的图像，与SDXL相比，胜率也从24.8%跃升至60%。4. Summary这篇论文的主要内容可以总结如下：问题定义论文旨在解决文本到图像模型在生成高美学质量图像方面的挑战。尽管预训练的模型能够从文本生成各种视觉概念的图像，但这些模型在生成高度美学的图像方面经常面临挑战。方法提出提出了一种名为Quality-Tuning的方法，通过使用少量高质量的图像对预训练模型进行微调，以提高生成图像的视觉效果。模型架构使用了一个潜在扩散模型（Latent Diffusion Model, LDM）作为基础架构，并对其进行了优化以提高图像质量。数据筛选通过自动和人工筛选过程，从大量图像中精选出少量高质量的图像用于微调。实验验证通过与预训练模型和现有最先进模型SDXLv1.0的比较，验证了Quality-Tuning模型在视觉吸引力和文本一致性方面的有效性。展示了Quality-Tuning方法在不同模型架构（包括Pixel Diffusion Models和Masked Generative Transformer Models）上的通用性。主要贡献构建了一个显著优于现有模型的高质量图像合成模型Emu。强调微调配方对于提高文本到图像模型美学对齐的重要性。证明质量调整方法可以提升不同架构的模型性能。未来方向论文指出了一些可以进一步探索的方向，包括更大规模的数据集、多样性与公平性、自动化图像筛选等。
InstructPix2Pix: Learning to Follow Image Editing Instructions
Project Page: https://www.timothybrooks.com/instruct-pix2pixPaper: https://arxiv.org/abs/2211.09800Code: https://github.com/timothybrooks/instruct-pix2pix1. Introduction本文提出了一个根据人类指令编辑图像的条件生成模型InstructPix2Pix：给定一张输入的图像以及一个编辑指令（用于告诉模型需要进行的编辑操作），模型会遵循这些指令对图像进行编辑。本文使用了两个大型预训练模型来获取编辑问题的训练数据：一个语言模型：GPT-3一个文生图模型：Stable Diffusion尽管InstructPix2Pix只在生成数据上训练，但其具备良好的zeroshot泛化性，可以基于人类提供的指令对真实图像进行编辑。下图展示了部分示例：从上述示例可以看出，首先模型的确已经具备了一定的编辑指令遵循能力，但是同时也可以观察到一些非目标区域的变化，这可能是训练集中就缺乏完全对齐数据的导致的。2. Method本文将Instruction-based Image Editing任务看做是一个监督学习问题：本文首先生成一个成对的训练集，其包含文本的编辑指令和编辑前后的图像。基于上述生成的数据集，本文训练一个Image Editing Diffusion Model。下图是InstructPix2Pix方案的概览图：2.1 Generating a Multi-modal Training Dataset本文将两种不同模态的大型预训练模型的能力结合起来（一个是大语言模型GPT-3，一个是大型文本到图像模型Stable Diffusion），以生成一个包含文本编辑指令及其编辑前后对应图像的多模态训练数据集。在2.1.1小节中，将阐述微调GPT-3用于生成一系列文本的过程：给定一个图像的文本描述，生成一个进行图像编辑的文本指令，以及一个编辑后图像的文本描述。在2.1.2小节中，将阐述使用Stable Diffusion将两个文本描述（编辑前后图像的文本描述）转化为对应的一对图像的过程。2.1.1 Generating Instructions and Paired Captions首先聚焦于Text Domain，本文使用一个LLM基于图像文本描述，生成图像编辑的文本指令以及编辑后的图像的文本描述。下图展示了一个示例：本文对GPT-3进行了微调，以更好地适配该任务。具体而言，本文首先收集了少量的人类编写的编辑文本对：输入文本描述编辑指令输出文本描述输入的文本描述是从LAION-Aesthetic V2 6.5+中sample了700个文本描述，编辑指令和输出文本描述则是人工编写完成。基于以上700条数据，对GPT-3进行了1 epoch的微调，由于GPT-3本身具备丰富的知识和较强的泛化性，微调的模型可以生成具有创造力同时合理的编辑指令和文本描述。下图展示了微调GPT-3的训练数据样例以及GPT-3生成的训练数据样例：最终基于LAION数据集，本文生成了454445个训练样本。2.1.2 Generating Paired Images from Paired Captions接下来，本身使用一个预训练的文生图模型，将一对文本描述（图像编辑前后的文本描述）转化为一对图像。这里使用的方案是Prompt-to-Prompt，其可以实现相似的Prompt可以生成相似图像的效果：Prompt-to-Prompt中有个参数$\tau$可以用来控制生成两个图像的相似度，但对于不同编辑指令，可能需要的相似度是不同的。为了对不同编辑指令估计一个相对较优的参数$\tau$的设置，本文对每一个文本对生成100的样例，每个样例随机采样一个$p \sim \mathcal{U}(0.1,0.9)$，然后使用directional CLIP similarity对结果进行筛选，以得到图文一致性较高的数据，具体细节可以参考论文中补充材料中的内容：关于Prompt-to-Prompt的细节可以参考我另一篇博客：https://zhuanlan.zhihu.com/p/1893766407524697409。2.2 InstructPix2Pix参考《Pretraining is all you need for image-to-image translation》这篇论文中的结论，对于Image Translation任务，微调一个大型Image Diffusion模型的效果优于从头开始训练的模型，特别是当配对训练数据有限的情况下。为此，本文使用Stable Diffusion模型参数对InstructPix2Pix进行初始化，为了支持Image Conditioning，对Diffusion模型的第一个卷积层的输入通道进行扩充，并将$z_t$和$\mathcal{E}\left(c_I\right)$拼接后作为输入，这里的$z_t$是加噪后的latent，而$\mathcal{E}$表示VAE的Encoder，$c_I$则是Image Conditioning。新增的卷积通道参数初始化为0。2.2.1 Classifier-free Guidance for Two Conditionings对于cfg的支持，在训练阶段，对Image Conditioning、Text Conditioning以及两者同时的情况下，都设置了5%的Drop概率，在推理阶段，则是分别对Image Conditioning和Text Conditioning设置了两个Guidance Scales。3. Results3.1 Baseline comparisons本文重点和SDEdit和Text2Live进行了对比。可视化对比如下：SDEdit虽然可以大致保持剩余内容的大致不变以及风格的不变，但其很难做到identity的保持以及当较大变化时对各个物体的隔离，并且它需要对于编辑后图像的完整描述，而不是一个编辑指令。Text2Live其通过生成一个color+opacity的增强Layers对图像进行编辑，其使用场景较为有限。本文还和SDEdit进行了指标量化对比：下图展示了CLIP Image Embeddings的Cosine相似度（编辑后的图像和编辑前的图像的相似度）以及directional CLIP similarity（文本描述变化和图像变化的一致性）。3.2 Ablations本文发现减少数据集大小，通常会导致模型对显著变化的编辑能力下降，而只能进行细微或者风格上的调整（从而保持较高的图像相似度得分，但directional得分较低）。而如果在数据生成的过程中，去除CLIP过滤操作的话，整体上，输入和输出图像的一致性会有下降。提升文本的Guidance Scale可以增强编辑的强度，而提升图像的Guidance Scale有助于保持输入图像的空间结构。4. Summary这篇论文提出了一种名为 InstructPix2Pix 的方法，旨在使生成模型能够根据人类的文本指令来编辑图像。以下是论文的主要内容总结：问题定义论文解决了如何让模型理解并遵循自然语言指令来执行图像编辑任务的问题，这在大规模获取训练数据方面存在挑战。方法概述结合预训练模型：结合了两个大型预训练模型——GPT-3（语言模型）和Stable Diffusion（文本到图像模型）来生成图像编辑的训练数据。InstructPix2Pix模型：提出了InstructPix2Pix，这是一个条件扩散模型，它在前向传播中直接执行图像编辑，无需额外的微调或反转过程。数据生成生成编辑指令和描述：使用GPT-3生成编辑指令和编辑后的图像描述。生成图像对：利用Stable Diffusion和Prompt-to-Prompt生成与描述相对应的图像对。数据过滤：通过CLIP模型进行数据过滤，确保图像与描述一致。模型训练训练数据集：在生成的数据集上训练InstructPix2Pix模型。分类器自由引导：引入分类器自由引导（classifier-free guidance）来平衡图像质量和多样性，以及与输入图像和文本指令的一致性。实验结果多样化编辑：在多样化的真实图像和自然语言指令上展示了模型的编辑能力，包括风格转换、对象替换等。性能比较：与现有的图像编辑方法（如SDEdit和Text2Live）进行了比较，展示了InstructPix2Pix在图像一致性和编辑质量方面的优势。局限性与未来工作视觉质量限制：模型的性能受限于生成数据集的视觉质量和GPT-3生成指令的能力。空间推理能力：当前模型在处理涉及空间关系（如对象位置、大小和数量）的指令时存在局限性。未来研究方向：提出了未来研究方向，包括提高视觉质量、增强空间推理能力、减少偏见、实时编辑、用户反馈循环、跨领域应用、模型解释性以及安全性和隐私保护。总的来说，InstructPix2Pix是一个创新的方法，它通过结合大型预训练模型来生成训练数据，并训练一个能够快速、直观地根据文本指令编辑图像的模型。这项工作展示了在图像编辑领域的新可能性，并为未来的研究提供了方向。
Prompt-to-prompt image editing with cross attention control
Project Page: https://prompt-to-prompt.github.ioPaper: https://arxiv.org/abs/2208.01626Code: https://github.com/google/prompt-to-prompt1. Introduction基于文本的图像生成方案特别吸引人类，因为人类习惯于口头表达他们的意图。因此，将基于文本的图像生成扩展到基于文本的图像编辑是顺理成章的。然而，编辑对于生成模型来说是一个挑战。因为编辑技术的固有需求是保留原始图像的大部分内容，而文本提示的微调改动往往就会导致基于文本的生成模型产生完全不同的结果。目前的SOTA方案通过要求用户额外提供一个Mask用于定位编辑区域来避免该问题，然而，该方案忽略了在Mask区域的原始结构和内容。本文期望使用一种直观的Prompt-to-Prompt的方式来完成编辑任务，即仅通过文本来控制编辑。为此，本文深入分析了基于文本的图像生成模型，并观察到Cross-Attention是控制图像空间布局与文本提示中各个单词之间关系的关键。基于以上观察，本文提出在扩散过程中注入交叉注意力图的方式来编辑图像，从而控制哪些像素在哪些扩散步骤中关注提示文本的哪些标记。具体而言，本文提出了几种仅通过编辑文本提示来控制图像生成的方案：替换单词进行局部编辑：替换一个单一的token的值（例如将“dog”替换为“cat”），同时固定Cross-Attention Maps，从而保持场景的整体结构。添加限定进行全局编辑：在Prompt中加入新的限定描述，冻结其他tokens的Attention Maps，运行新的tokens的Attention计算。精细控制单词在图像中反映程度：放大或者减弱生成图像中单词的语义效果。部分示例图如下所示：2. Method从上图不难看出，简单固定随机种子，使用新的Prompt进行生成，难以维持相关结构的不变，而如果加上对于Attention Maps的固定的话，则可以在一定程度上维持相关结构的不变性。2.1 Cross-attention in text-conditioned Diffusion Models本文使用Imagen作为backbone。Imagen本是是一个多阶段模型，其首先在64x64分辨率上训练一个base text-to-image diffusion model，然后再结合超分模型，将分辨率逐步进行提升：64x64 -> 256x256 -> 1024x1024。由于图像的组成和几何结构主要是在64x64分辨率下确定，因此，这里只需要调整base text-to-image diffusion model即可，超分模型可以直接复用Imagen原超分模型。下图上半部展示了Text to Image Cross-Attention的过程：2.2 Controlling the Cross-attention下图展示了像素和文本之间的交互过程：从上图可以看出，像素对描述它们的词语更具有“吸引力”，例如bear的像素和词语bear相关联。由于注意力图反映了整体组成，因此，可以将从原始提示$P$生成的注意力图$M$注入到使用修改后提示$P^*$的第二次生成中。这不仅可以让合成的新图像$I^*$可以根据编辑的提示进行修改，还能保持输入图像$I$的结构。下图展示了Prompt-to-Prompt图像编辑算法流程：其中，$D M\left(z_t^*, \mathcal{P}^*, t, s_t\right)\left\{M \leftarrow \widehat{M}_t\right\}$表示一个Diffusion Step，其中，使用$\widehat{M}_t$改写$M$的同时，保持来自提供Prompt的$V$不变。接下来，具体解释一下不同编辑操作下$Edit \left(M_t, M_t^*, t\right)$的含义。Word Swap在该编辑任务中，用户将原来的Prompt中的tokens替换为其他的tokens，例如$P=\text{"a big red bicyle"}$到$P^*=\text{"a big red car"}$。该任务的主要难点在于如何在保持原始结构的同时还需要处理新提示的内容，本文解决该问题的方案是，将原图像的注意力图注入到修改后的提示的图像生成过程中。然而，注入的注意力图可能会对生成图像的结构约束过高，特别是当需要进行一个大的结构改动时，例如“car”改为”bicycle”。为了缓解该问题，本文使用了一个softer attention constrain：$$ \begin{equation}\tag{1} \operatorname{Edit}\left(M_t, M_t^*, t\right):= \begin{cases}M_t^* & \text { if } t<\tau \\ M_t & \text { otherwise }\end{cases} \end{equation} $$其中，$\tau$是一个timestep参数，其决定注入操作的截止时间。需要注意的是，生成图像的结构主要是在扩散过程的早期时间步中确定。因此，通过限制注入操作时间步的数量，本文可以引导新生成的图像的结构，同时允许必要的几何自由度，以适应新的提示。还有一些其他的策略来缓解该问题，例如对于不同的tokens设置不同的注入timestep。当更改前后两个单词对应的tokens数不一致时，对应的maps需要进行复制/平均操作。Adding a New Phrase在该编辑任务中，用户会在原来Prompt的基础上增加新的tokens，例如$P=\text{"a castle next to a river"}$到$P^*=\text{"children drawing of a castle next to a river"}$。为了保持基本的细节不变，本文仅在两个prompts的基本tokens中进行Attention的注入。具体来说，本文会引入一个Alignment Function $A$，其输入为目标Prompt $P^*$的token index，如果其与Prompt $P$ 中某个token匹配的话，则输出该匹配的token的index，否则就输出None。基于Alignment Function $A$，该任务的Edit Function定义如下：$$ \begin{equation}\tag{2} \left(Edit\left(M_t, M_t^*, t\right)\right)_{i, j}:= \begin{cases}\left(M_t^*\right)_{i, j} & \text { if } A(j)=\text { None } \\ \left(M_t\right)_{i, A(j)} & \text { otherwise. }\end{cases} \end{equation} $$这里的index $i$表示pixel value的索引，而$j$是Text token的索引。和Word Swap任务类似，这里也可以设置一个timestep参数$\tau$来控制注入的timestep。该编辑任务可以实现风格化、修改物体的属性或者是一个全局的改动。Attention Re-weighting用户可能期望增强或削弱某些tokens对于最终图像的影响程度，例如，$P=\text{"a fluffy red ball"}$，假设我们期望使得这个ball更加或者更少fluffy。为了实现这种编辑，本文对对应token $j^*$的Attention Map进行放缩，放缩参数为$c \in[-2,2]$，从而得到更强或者更弱的效果，剩余的Attention Maps保持不变：$$ \begin{equation}\tag{3} \left(Edit\left(M_t, M_t^*, t\right)\right)_{i, j}:= \begin{cases}c \cdot\left(M_t\right)_{i, j} & \text { if } j=j^* \\ \left(M_t\right)_{i, j} & \text { otherwise } .\end{cases} \end{equation} $$Real Image Editing编辑真实的图像需要找到一个初始的噪声向量，它在被输入到扩散过程中后可以生成给定的输入图像，该过程被称为inversion。一个简单的inversion方式就是在原图上加入高斯噪声，然后执行预定义数目的扩散过程。该方式会导致显著的变形，因此，本文使用了一个优化后的inversion方式，其基于一个确定性的DDIM模型，而不是DDPM模型。本文反向执行扩散过程，即$x_0 \longrightarrow x_T$，而不是$x_T \longrightarrow x_0$，其中$x_0$设置为给定的真实图像。在大部分情况下，这种inversion方式可以取得不错的效果：但在部分场景下，其可能也会失败：其部分原因在于编辑可塑性和失真之间的Trade-off，本文发现降低cfg参数（即减少Prompt的作用）可以改善重构的表现，但这同时也限制了对于较大编辑改动的实现。为了缓解上述问题，本文提出使用一个Mask来还原未编辑的区域，该Mask直接从Attention Maps中提取：3. Summary这篇论文介绍了一种名为 Prompt-to-Prompt Image Editing with Cross Attention Control 的新方法，它允许用户仅通过修改文本提示来编辑图像。主要内容包括：问题背景：大型文本驱动的合成模型（如 Imagen、DALL·E 2 和 Parti）能够根据文本提示生成多样化的图像，但这些模型在进行图像编辑时面临挑战，因为即使是文本提示的微小变化也可能导致完全不同的输出图像。现有的方法通常需要用户提供空间掩码来定位编辑区域，这不仅操作繁琐，而且忽略了掩码区域内的原始结构和内容。方法提出：作者提出了一种直观的 Prompt-to-Prompt 编辑框架，通过控制文本提示来实现图像编辑。这种方法利用了文本条件模型中的 交叉注意力层，这些层是控制图像空间布局与文本提示中每个单词之间关系的关键。通过在扩散过程中注入交叉注意力图，可以控制哪些像素在哪些扩散步骤中关注文本提示中的哪些标记，从而实现对图像的编辑。编辑应用：单词替换（Word Swap）：在保持场景构图的同时，通过替换文本提示中的单词来实现局部编辑。全局编辑（Global Editing）：通过添加新单词到文本提示并冻结对先前标记的注意力，同时允许新的注意力流向新标记，来实现全局风格或属性的编辑。语义效果的放大或减弱（Attention Re-weighting）：通过调整特定单词在生成图像中的语义影响程度来精细控制图像。实验结果：通过在多样化的图像和提示上进行实验，论文证明了所提出方法的高质量合成能力和对编辑提示的忠实度。实验包括了在真实图像上的应用，展示了使用现有反转过程进行编辑的可能性。局限性与未来工作：尽管展示了通过文本提示进行图像编辑的能力，但当前方法在反转过程中可能导致失真，且无法在图像中移动对象。未来的工作将探索提高反转准确性、引入高分辨率交叉注意力层以及提供更细粒度的编辑控制等方向。总的来说，这篇论文为文本驱动的图像编辑提供了一种新的视角，通过深入理解和利用交叉注意力层，实现了一种直观且强大的图像编辑方法。
本文期望收集和整理一些优秀的博客。1. Traditional Machine Learning1.1 贝叶斯网络贝叶斯网络贝叶斯网络，看完这篇我终于理解了(附代码)！朴素贝叶斯分类算法带你理解朴素贝叶斯分类算法：举得例子很形象，也解释了为什么朴素贝叶斯分类算法中需要假设各个特征独立的原因，但似乎计算有点问题，可以参考评论区无痕和励志橙的评论。这里评论区还提到分母的计算问题，实际上也是利用相互独立的假设，不需要用上拉普拉斯平滑。朴素贝叶斯 拉普拉斯平滑（Laplace Smoothing）：主要是为了解决某个特征在样本中从未出现的问题。方法就是为各个特征的频数加一来避免频数为0的情况。1.2 马尔科夫随机场概率图之马尔可夫随机场（Markov Random Field，MRF）：贝叶斯网络和马尔科夫随机场都是概率图模型，主要差别在于贝叶斯网络是一个有向无环图，更强调相互关系，而马尔科夫随机场是一个无向图，更强调的连接以及所谓的”团“的概念。关于概率图模型的马尔科夫性质，可以参考：贝叶斯网络，看完这篇我终于理解了(附代码)！中的一些说明和推导。马尔科夫随机场中一些比较重要的概念：极大团、势函数。马尔科夫随机场(MRF)在深度学习图像处理中的应用-图像分割、纹理迁移A friendly introduction to Bayes Theorem and Hidden Markov Models：一个YouTube视频。1.3 标准化流模型Normalizing Flows Tutorial：暂时还看不太懂，但对标准化流有了一定的概念，还需学习。Normalization Flow (标准化流) 总结：到自回归流又看不懂了。2. Traditional Deep Learning3. AIGC3.1 Diffusion Theories3.1.1 General DiffusionWhat are Diffusion Models?The Annotated Diffusion Model3.1.2 Score-based modelGenerative Modeling by Estimating Gradients of the Data Distributionscore matching （个人理解）4. LLM5. Math5.1 Langevin Dynamics朗之万动力学
Text-to-Image【2021-12-20】High-Resolution Image Synthesis with Latent Diffusion Models | 已读【2022-12-19】Scalable Diffusion Models with Transformers | 已读【2023-07-04】SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis | 已读【2023-09-30】PixArt-$\alpha$: Fast Training of Diffusion Transformer for Photorealistic Text-to-Image Synthesis | 已读【2023-10-20】Improving Image Generation with Better Captions | 未读【2024-02-27】Playground v2.5: Three Insights towards Enhancing Aesthetic Quality in Text-to-Image Generation | 未读【2024-03-05】Scaling Rectified Flow Transformers for High-Resolution Image Synthesis | 已读【2024-03-07】PixArt-Σ: Weak-to-Strong Training of Diffusion Transformer for 4K Text-to-Image Generation | 已读【2024-05-14】Hunyuan-DiT: A Powerful Multi-Resolution Diffusion Transformer with Fine-Grained Chinese Understanding | 已读【2024-10-14】Deep compression autoencoder for efficient high-resolution diffusion models | 未读Acceleration【2023-11-30】One-step diffusion with distribution matching distillation | 未读VAE【2025-02-20】Improving the Diffusability of Autoencoders | 已读