先介绍了一下diffusion, 正向路径从真实数据趋于随机噪声, 训练的目的是反转这个正向路径. 结合神经网络的近似和泛化特性, 可以生成训练数据中没有的数据, 但是符合训练数据的分布. 这种方法很高效, 是生成高质量图片视频的主流方法,
但是因为迭代的天性, 推理阶段超长的采样时间, 我们需要更快生成的方法.
前向采样的路径选择很重要, 这个过程如果没有完全移除噪声, 可能造成训练分布和测试分布的差异, 出现伪影; 同时这个过程会影响反向采样过程的效率. 当弯曲的路径造成很多步的采样, 一条直线路径是最快的, 累积误差最小.
Rectified Flow, 在一条直线上连接真实数据和噪声. 尽管这种方法在理论上更好, 还没有在实践中证明(只有一些中小规模的实验), 该论文和diffusion比较, 声称效果更好.
他么觉得在text-image合成中, 一个固定的text表示直接注入模型(例如通过cross attention)并不好, 他们同时为图像和文本注入可以学习的流, 这种方法和Rectified Flow相结合, 评估发现下评估更好.
总结
前面没写清楚, 但是大致意思明白了. 就diffusion他的采样路径是弯曲的嘛, 他们觉得这样在推理阶段反向采样就需要更多的步骤, 于是他们引入Rectified Flow, data和noise之间连一条直线, 这样反向采样就简单多了, 这是第一个点;
第二个点, 他们观察到在diffusion方法中, text和image表示在刚开始就通过cross attention等方法融合了, 他们为text和image分别设计了可学习的流, 觉得这样有更好的模态理解, 更好的拓展性.
我们考虑生成模型,这些模型通过常微分方程(ODE)定义从噪声分布p1中的样本x1到数据分布p0中的样本x0之间的映射,
dyt=vΘ(yt,t)dt,(1)
其中速度v由神经网络的权重Θ参数化。Chen等(2018)的先前工作建议通过可微分ODE求解器直接求解方程(1)。然而,这一过程计算成本高昂,特别是对于参数化vΘ(yt,t)的大规模网络架构而言。一种更高效的替代方案是直接回归一个向量场ut,该向量场生成p0和p1之间的概率路径。为了构建这样的ut,我们定义了一个前向过程,对应于p0和p1=N(0,1)之间的概率路径pt,如下所示:
zt=atx0+btϵ where ϵ∼N(0,I).(2)
对于a0=1,b0=0,a1=0和b1=1,边缘分布,
pt(zt)=Eϵ∼N(0,I)pt(zt∣ϵ),(3)
与数据和噪声分布一致。
为了表达zt,x0和ϵ之间的关系,我们引入ψt和ut如下:
ψt(⋅∣ϵ):x0↦atx0+btϵ(4)
ut(z∣ϵ):=ψt′(ψt−1(z∣ϵ)∣ϵ)(5)
由于zt可以写成常微分方程zt′=ut(zt∣ϵ)的解,初始值z0=x0,ut(⋅∣ϵ)生成pt(⋅∣ϵ)。值得注意的是,可以构建一个边缘向量场ut,它生成边缘概率路径pt(Lipman等,2023)(见B.1),使用条件向量场ut(⋅∣ϵ):
ut(z)=Eϵ∼N(0,I)ut(z∣ϵ)pt(z)pt(z∣ϵ)(6)
在使用流匹配目标回归ut时
LFM=Et,pt(z)vΘ(z,t)−ut(z)22.(7)
由于公式6中的边缘化,直接处理是不可行的,条件流匹配,
LCFM=Et,pt(z∣ϵ),p(ϵ)vΘ(z,t)−ut(z∣ϵ)22,(8)
使用条件向量场ut(z∣ϵ)提供了一个等价且可处理的目标。
为了将损失转换为显式形式,我们将ψt′(x0∣ϵ)=at′x0+bt′ϵ和ψt−1(z∣ϵ)=atz−btϵ代入(5)
zt′=ut(zt∣ϵ)=atat′zt−ϵbt(atat′−btbt′).(9)
现在,考虑信噪比λt:=logbt2at2。利用λt′=2(atat′−btbt′),我们可以将公式(9)重写为
ut(zt∣ϵ)=atat′zt−2btλt′ϵ(10)
接下来,我们使用公式(10)将公式(8)重新参数化为噪声预测目标:
LCFM=Et,pt(z∣ϵ),p(ϵ)vΘ(z,t)−atat′z+2btλt′ϵ22(11)
=Et,pt(z∣ϵ),p(ϵ)(−2btλt′)2ϵΘ(z,t)−ϵ22(12)
其中我们定义了ϵΘ:=λt′bt−2(vΘ−atat′z)。
注意,当引入时间相关权重时,上述目标的最优值不会改变。因此,可以推导出各种加权损失函数,它们提供了通向期望解的信号,但可能会影响优化轨迹。为了统一分析不同方法,包括经典扩散公式,我们可以将目标写成以下形式(遵循Kingma & Gao(2023)):
Lw(x0)=−21Et∼U(t),ϵ∼N(0,I)[wtλt′ϵΘ(zt,t)−ϵ2],
其中wt=−21λt′bt2对应于LCFM。
在这项工作中,我们考虑了上述形式体系的不同变体,并在下文中简要描述。
矫正流 矫正流(RFs)(Liu等,2022;Albergo & Vanden-Eijnden,2022;Lipman等,2023)将前向过程定义为数据分布与标准正态分布之间的直线路径,即
zt=(1−t)x0+tϵ,(13)
并使用LCFM,然后对应于wtRF=1−tt。网络输出直接参数化速度vΘ。
EDM EDM(Karras等,2022)使用的前向过程形式为
zt=x0+btϵ(14)
其中(Kingma & Gao,2023)bt=expFN−1(t∣Pm,Ps2),FN−1是均值为Pm、方差为Ps2的正态分布的分位数函数。注意,此选择导致
λt∼N(−2Pm,(2Ps)2) for t∼U(0,1)(15)
网络通过F预测(Kingma & Gao,2023;Karras等,2022)进行参数化,损失可以表示为LwtEDM,其中
wtEDM=N(λt∣−2Pm,(2Ps)2)(e−λt+0.52)(16)
Cosine(Nichol & Dhariwal,2021)提出了一种形式的前向过程
zt=cos(2πt)x0+sin(2πt)ϵ.(17)
结合ϵ参数化和损失,这对应于权重wt=sech(λt/2)。当与v预测损失(Kingma & Gao,2023)结合时,权重由wt=e−λt/2给出。
(LDM-)Linear LDM(Rombach等,2022)使用了DDPM调度(Ho等,2020)的修改版本。两者均为方差保持调度,即bt=1−at2,并根据扩散系数βt定义at为离散时间步t=0,…,T−1的at=(s=0∏t(1−βs))21。对于给定的边界值β0和βT−1,DDPM使用βt=β0+T−1t(βT−1−β0),而LDM使用βt=(β0+T−1t(βT−1−β0))2。
RF损失在[0,1]中的所有时间步上均匀地训练速度vΘ。然而,直观地说,生成的速度预测目标ϵ−x0在[0,1]中间的时间步t上更困难,因为对于t=0,最优预测是p1的均值,而对于t=1,最优预测是p0的均值。通常,将t上的分布从常用的均匀分布U(t)更改为密度为π(t)的分布,等价于加权损失Lwtπ,其中
wtπ=1−ttπ(t)(18)
因此,我们旨在通过对中间时间步进行更频繁的采样来赋予它们更多权重。接下来,我们将描述用于训练模型的时间步密度π(t)。
Logit-Normal采样 一种对中间步骤赋予更多权重的分布选项是logit-normal分布(Atchison & Shen,1980)。其密度为
πln(t;m,s)=s2π1t(1−t)1exp(−2s2(logit(t)−m)2),(19)
其中logit(t)=log1−tt,有一个位置参数m和一个尺度参数s。位置参数使我们能够将训练时间步偏向数据p0(负m)或噪声p1(正m)。如图11所示,尺度参数控制分布的宽度。
在实践中,我们从正态分布u∼N(u;m,s)中采样随机变量u,并通过标准逻辑函数对其进行映射。
重尾模式采样 对数正态密度总是在端点0和1处消失。为了研究这是否对性能有不利影响,我们还使用了在[0,1]上具有严格正密度的时间步长采样分布。对于尺度参数s,我们定义
fmode (u;s)=1−u−s⋅(cos2(2πu)−1+u).(20)
对于−1≤s≤π−22,此函数是单调的,我们可以用它从隐含密度πmode (t;s)= dtdfmode −1(t)中采样。如图11所示,尺度参数控制采样过程中是更倾向于中点(正s)还是端点(负s)。此公式还包括一个均匀加权πmode (t;s=0)=U(t)用于s=0,这在之前关于修正流(Rectified Flows)的研究中已被广泛使用(Liu等,2022;Ma等,2024)。
CosMap 最后,我们还在RF设置中考虑了第3节中的余弦调度(Nichol&Dhariwal,2021)。具体来说,我们在寻找一个映射f:u↦f(u)= t,u∈[0,1],使得log-snr与余弦调度相匹配:2logsin(2πu)cos(2πu)=2logf(u)1−f(u)。求解f,我们得到u∼U(u)
t=f(u)=1−tan(2πu)+11,(21)
由此我们得到密度
πCosMap (t)=dtdf−1(t)=π−2πt+2πt22.(22)
对于文本条件下的图像采样,我们的模型必须同时考虑文本和图像两种模态。我们使用预训练模型来获得合适的表示,然后描述扩散主干的架构。图2展示了其概览。
我们的总体设置遵循LDM(Rombach等,2022),在预训练自动编码器的潜在空间中训练文本到图像模型。与将图像编码为潜在表示类似,我们也遵循先前的方法(Saharia等,2022b;Balaji等,2022),并使用预训练、冻结的文本模型对文本条件c进行编码。详细信息见附录B.2。
多模态扩散主干 我们的架构基于DiT(Peebles&Xie,2023)架构。DiT仅考虑类条件图像生成,并使用调制机制使网络同时以扩散过程的时间步和类标签为条件。类似地,我们使用时间步t和cvec 的嵌入作为调制机制的输入。然而,由于池化后的文本表示仅保留了关于文本输入的粗粒度信息(Podell等,2023),网络还需要来自序列表示cctxt 的信息。
我们构建了一个由文本和图像输入嵌入组成的序列。具体来说,我们添加位置编码并将2×2个x∈Rh×w×c潜在像素表示的补丁展平为长度为21⋅h⋅21⋅w的补丁编码序列。在将此补丁编码和文本编码cctxt 嵌入到共同维度后,我们将两个序列连接起来。然后我们遵循DiT并应用一系列调制注意力和多层感知机(MLP)。

图2. 我们的模型架构。连接用⊙表示,逐元素乘法用∗表示。Q和K的RMS归一化可以添加以稳定训练过程。建议放大查看。
由于文本和图像嵌入在概念上差异很大,我们为这两种模态使用了两组独立的权重。如图2b所示,这相当于为每种模态拥有两个独立的Transformer,但在注意力操作中将两种模态的序列结合在一起,使得两种表示可以在各自的空间中工作,同时考虑另一种表示。
在我们的扩展实验中,我们通过设置隐藏层大小为64⋅d(在MLP块中扩展为4⋅64⋅d通道),以及注意头数量等于d,以模型深度d(即注意块的数量)来参数化模型的大小。
感受
遇到困难我就摆烂, 这篇文章绝对有研究的价值, 但是现在不想静下心来读, 先占个位置.