作为一种新的商品表现形态,内容几乎存在于手淘用户动线全流程,例如信息流种草内容、搜索消费决策内容、详情页种草内容等。过去一年,我们通过在视频生成、图文联合生成等核心技术上的持续攻关,AIGC内容生成在手淘多个场景取得了规模化落地价值。本专题《淘宝的AIGC内容生成技术总结》是我们摸索出的一部分实践经验,我们将开启一段时间的内容AI专题连载,欢迎大家一起交流进步。

随着生成式人工智能的快速发展,扩散模型逐渐成为领域内的焦点技术之一。从稳定扩散(Stable Diffusion)到 MidJourney,再到近期的 Flux 和 DALLE3等,各种扩散模型在生成图像的表现上日趋完善。扩散模型不仅在生成艺术画作和创意设计中展示了强大的能力,也在内容创作、电商营销等场景发挥重要价值。
扩散模型的理论框架主要包括 DDPM、score matching 和 flow matching 等。flow matching 作为一种更灵活简洁的训练范式,被当前最前沿的开源文生图、文生视频模型所采用,如 SD3 和 Flux等。它不仅显著提升了训练的收敛效率,同时也更易于从理论层面进行理解。
在本文中,我们将以 Flow Matching 为切入点,深入探讨扩散模型的基础原理。网络上关于扩散模型原理的解读文章中,通常有着大量复杂的公式推导,而扩散模型训练算法本身却非常简洁。本文将尽量避开冗长的公式推导,力求以清晰直观的方式揭示这些简洁的算法形式背后的核心原理。
生成模型简介
对于一些简单的分布,例如均匀分布和高斯分布,我们可以通过简单的算法轻松实现采样。

然而,对于自然图像这样的高维复杂分布,由于缺乏解析解,采样变得异常困难。尽管我们可以收集大量自然图像的样本,但要从中生成新的样本却并非易事。生成模型的目标是基于训练集中的已有样本,学习并从其背后的分布中进行采样。
对于自然图像这样的复杂分布,我们可以通过某种方法构建其与简单分布(通常是高斯分布)之间的映射关系。通过这种映射关系,可以先从简单分布中采样,再映射到复杂分布,从而实现对复杂分布的采样目标。而如何构建这一映射过程,正是各类生成算法的核心。

Flow Matching
▐ Continuous Normalizing Flow
Continuous Normalizing Flow是一种能够将简单分布映射为任意复杂分布的方式,我们先通过一个简单的例子来理解一下。

记数据点为表示d-维样本数据空间中的一个点。(对应例子中湖面空间)

3.样本随时间演化


这一方程表明,样本点(小黄鸭)的位置随时间变化,完全受当前所处位置的向量场(湖面水流方向和速度)决定。
4.样本概率分布的随时间变化
对于定义在数据空间中的某个初始概率分布,如果所有样本都按照上面的常微分方程运动,可以证明对应的概率分布
随时间的变化规律满足以下公式:

描述了变换过程中空间伸缩的程度。可以将其理解为变换前后某点邻域的空间体积比值(例如下图中蓝色小正方形和红色小正方形的面积比)。所以上面的公式实际上是变换前后某个点邻域概率守恒的表现。
不过,在后续推导中我们并不直接使用这一公式,关键在于当时,初始分布
映射为目标
,并且这个过程是可逆的。由此,我们得到了一个理论上将任意两个分布相互映射的方法。




▐ Flow Matching求解





a.简单高斯分布的映射
首先考虑一个非常简单的情形:和
为标准差σ 相同,均值点分别为
和
的多维高斯分布,这种情况下一个可能的解为类似匀速直线运动的
的常数向量场的解,如下面的视频所示。
标准差相同的高斯分布之间的映射
标准差相同的高斯分布之间的映射
这表明两个标准差相同的高斯分布可以通过简单的“匀速直线运动向量场”进行映射。如果考虑的极限,上面的情形退化为两个delta分布之间映射。delta 分布可以简单理解为所有概率分布集中于一点的分布。




b.复杂分布的映射
前面我们介绍了简单高斯分布和delta分布的映射方法。对于任意分布和
,它们表达为delta分布的线性叠加:

根据上一节的推导,上面线性叠加中的两个delta分布之间的映射的条件概率随时间演化可以表达为

对应的条件向量场为 将上面的条件概率演化路径
进行线性叠加得到的边缘概率随时间演化表达为


是简单的delta函数映射条件概率
的线性叠加,而
对应的条件向量场flow为简单的“匀速直线运动向量场”
,那么
对应的flow
是否就是这些“匀速直线运动向量场”的线性叠加呢?答案是肯定的,具体由下式得到。

上式表明,如上图所示,为了计算,随机采样
和
,在
条件下计算
的期望值。



c.对
神经网络参数化
上一节的讨论实际上提供了一个计算
理论可行的算法,具体如下:
实际上,我们不可能对所有可能的和
去通过上面这种非常低效的方式去计算统计平均。因此,我们引入神经网络对
进行神经网络参数化,定义为
,并通过优化网络参数使其收敛到:
那么接下来的问题是:如何构造网络的损失函数,通过训练使网络输出能够接近上述的期望形式?一个巧妙的解决方案是,可以证明,对于下面的L2 形式的损失函数,其最优解正是上述期望值形式:

背后的原因在于对于L2的loss,最优解就是对应的期望均值形式。
对此可以利用一个更简单的例子进行理解。如果向量是
的一个函数,对于L2 的 loss,
很容易证明这个loss的最优解为(回忆一下最小二乘法)
这两个case的区别仅仅在于,下面这个case只是一个向量的优化。而上面的case中,我们做的是定义在和
的整个数据空间和时间上的向量场的优化。
顺便提一句,通常我们再讨论扩散模型的优化目标时,会提到“预测原图”、“预测噪音”,“预测噪音和原图的差值”等等,这些说法有一定的误导性。因为实际上我们并不是希望网络能够预测“原图”或者“噪音”,而是以它们为目标构造L2的loss,最终期望网络收敛到对应的以为条件的“原图”或者“噪音”的统计期望值。所以扩散模型的训练即使在完全收敛的情况下,它的loss也不为0,而是以
为条件的“原图”或者“噪音”的统计方差。
d.Flow matching的训练和采样算法
对应于上面的loss形式,将设为高斯分布,
设为图像训练集对应的分布,我们得到Flow Matching的训练算法如下:
-
Return 优化后的网络

e.Flow Matching 的其他形式








在生成模型的研究中,构建简单分布与复杂分布之间的映射是核心挑战,而 Flow Matching 提供了一种高效解决方案。从 Continuous Normalizing Flow 的理论基础,到基于神经网络的高效实现,再到具体的训练和采样流程,Flow Matching 展现了极大的灵活性和实用性。此外,相较于传统的扩散模型,如 DDPM,Flow Matching 在框架简洁性和实际性能上均表现出优势。
本文以 Flow Matching 为核心,从理论和算法的角度系统地探讨了扩散模型的基本原理,并通过多个直观的示例和公式推导展示了其内在逻辑。

-
Flow Matching for Generative Modeling https://arxiv.org/abs/2210.02747
-
Improving and Generalizing Flow-Based Generative Models with Minibatch Optimal Transport
-
Scaling Rectified Flow Transformers for High-Resolution Image Synthesis