Instance:Image Generators

RPChe_

通过先前的章节,我们已经基本清楚的介绍了流模型和扩散模型的理论框架。本文将侧重于生成模型在图像生成方面的应用,简要的介绍如何实现带有要求的指向(条件)生成,具体神经网络架构的设计,并分析几个现代的大型生成模型的实例。

指向生成

  • 我们往往会想要为模型生成的结果添加要求:例如我们有了一个图像生成模型,我们希望其生成服从”身着蓝色礼服头戴礼帽的白色头发的女孩在吃西式甜点“要求的图片,这便是指向生成(Guided Generation。该命名主要是为了与先前对于 的条件概率区分,在某些语境中也称条件生成,Conditional Generation)。回忆我们之前介绍的模型,其均为无指向的生成。所幸,添加指向的情形是简单的,我们将简要介绍此时的情形。

流模型的指向生成

  • 假设指向以随机变量 表示,则给定指向 时,数据空间中每个点服从指向 的似然由概率密度 给出。那么生成服从指向 的物体就等价于对 取样。记深度学习模型预测的对于该分布的速度场为 ,则我们知道其损失函数为:1 我们希望训练单个深度学习模型,使其可以预测全体指向 的速度场,因此对上式按照 的分布加权,记 的联合分布为 ,最终的损失函数即为: 这是一个很好的形式。如果数据集对于所有数据点都标注其指向(或者说分类),假定数据点独立且服从联合分布 ,那么只需同时取数据点与其标注进行训练即可。

速度场的无分类器指向推理

  • 下面我们将要介绍推理时的 Classifier-Free Guidance 技巧,以 Gaussian Probability Path 为例2。记对于指向 的目标速度场为 3 ,熟知: 其中: 我们希望建立 的关系,注意到: 实践发现按照以上速度场模拟 ODE 的模型不能较好的遵从指向 ,因此我们希望在一定程度上强化指向 的影响。为此,选择常数 ,使得: 特别的,该式就不具备严格的数学意义了,而仅仅是经验上的结果。4在较早的研究中,此处选择训练一个额外的分类模型以获取项 5,再使用 Flow Matching 训练 以得到完整的结果,这种技巧被称作 Classifier Guidance 。但现在我们不希望停在这里,再运用式 ,得到: 这是一个很好的形式,现在我们不再需要辅助分类器了。一个合理的思路是分别训练带指向和不带指向的速度场预测器,在推理时按照上式对它们的结果做线性组合,但我们还是不希望分别训练两个模型。为此,我们将 视作 ,这样便只需训练 。一个问题是从数据集中采样 时不会得到 的情况,因此我们选择以一定的概率 丢弃 ,这种训练方式称作 Context-Free Guidance ,最终得到的损失函数形如: 这样便兼顾了所有的情况。特别的,式 不仅适用于 Gaussian Probability Path ,也对一般的情况成立。6综上,我们只需按照 训练模型,并在推理时按照速度场 模拟即可。

扩散模型的指向生成

  • 回忆我们先前对于扩散模型的建模:对于一般的扩散模型,我们需要分别训练 两个模型来分别估计速度场和噪声,其中 的形式与流模型完全一致。而对于指向生成的情况,我们仍将其视作关于指向 的条件生成,那么得分 的损失函数为:

得分函数的无分类器指向推理

  • 现在我们希望把类似的 Classifier-Free Guidance 技巧推广到指向得分 上。对于常数 ,应用式 得到: 相比速度场的情况,得分函数的推导是简单的。类似得到最终的 Context-Free Guidance 损失函数: 最终的框架便是按照 训练模型,并在推理时按照得分 模拟。

神经网络的架构

  • 先前的讨论中我们总是将深度学习模型看作某种通用的函数拟合器,而专注于生成模型本身的设计。现在我们将介绍几种有代表性的针对图像和视频生成的神经网络设计,主要是 U-Net 和 Diffusion Transformer(DiT)。

U-Net

  • 没啥好讲的。

Diffusion Transformer

  • 有时间再说。

Working in Latent Space

  • 为了节约算力,可以考虑拿个 Auto-Encoder 编码图像,然后到特征空间里面做生成,最后再解码。大体是这么个意思,后面具体介绍。

现代的大型生成模型

  • 主要谈到 Stable Diffusion 3 和 Meta's Movie Gen Video ,有时间再介绍。现在可能先考虑写点 Assignment 。

  1. 注意本文中条件场 (更广泛的,条件下的情况)总是与指向 无关的,本质上我们只是更换了边缘分布。↩︎

  2. 选择 Gaussian Probability Path 的目的是提供直观,但原文也没讲一般的情况是怎么推的。↩︎

  3. 与条件速度场以示区分。↩︎

  4. 似乎有研究指出这样做可以看作是强迫模型在取样时关注似然更高的数据点。↩︎

  5. 在分类模型中做反向传播即可。↩︎

  6. 选择 Gaussian Probability Path 的目的是提供直观,但原文也没讲一般的情况是怎么推的。↩︎

  • 标题: Instance:Image Generators
  • 作者: RPChe_
  • 创建于 : 2025-08-29 00:00:00
  • 更新于 : 2025-08-31 01:52:35
  • 链接: https://rpche-6626.github.io/2025/08/29/DF/imgen/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论