DIFFUSION LOSS · CONTINUOUS AR · 中文全文译稿

Autoregressive Image Generation
without Vector Quantization

Tianhong Li · Yonglong Tian · He Li · Mingyang Deng · Kaiming HeMIT CSAIL · Google DeepMind · Tsinghua University
Across tokensautoregressive dependency
Per tokendiffusion distribution
Representationcontinuous VAE latent

离散 token 不是自回归生成的前提:序列依赖仍由 Transformer 建模,而每个连续 token 的条件分布交给小型 diffusion network。

PDF
16 页
Figures
8
Tables
6
Equations
3
References
56

摘要

通常认为,用于图像生成的 autoregressive model 必须配合 vector-quantized token。我们观察到,离散空间虽然便于表示 categorical distribution,却不是自回归建模的必要条件。本文用 diffusion 过程建模每个 token 的概率分布,从而把 autoregressive model 应用于连续值空间。我们不使用 categorical cross-entropy,而是定义 Diffusion Loss 来建模逐 token 概率,因此不再需要离散 tokenizer。我们在标准 autoregressive model 与 generalized masked autoregressive(MAR)变体等多种设置中验证其有效性。去除 vector quantization 后,图像生成器在获得强结果的同时保留了序列建模的速度优势。我们希望这项工作推动自回归生成走向其他连续值领域与应用。代码见 https://github.com/LTH14/mar。

引言

自回归模型目前是事实上的自然语言处理中生成模型的解决方案[38, 39, 3]。 这些模型根据之前的单词作为输入来预测序列中的下一个单词或标记。鉴于语言的离散性质,这些模型的输入和输出处于类别, 离散值空间。这种主流方法导致了一种广泛的认识,即自回归模型与离散表示固有地联系在一起。

因此,将自回归模型推广到连续值域——最显著的是图像生成——一直强烈关注于将数据离散化[6, 13, 40]。一种常用的策略是在图像上训练一个离散值的分词器,这涉及通过向量量化(VQ)[51, 41]获得的有限词汇表。然后,自回归模型在离散值的词元空间上运行,类似于其语言对应模型。

在这项工作中,我们旨在解决以下问题:自回归模型是否必须与向量量化表示耦合?我们注意到,自回归的本质,……,“基于之前的词元预测下一个词元”,与值是离散的还是连续的无关。所需要的是对每个词元的概率分布进行建模,这可以通过损失函数来衡量,并用于从中采样。离散值的表示可以方便地通过类别分布来建模,但概念上并非必需。如果提出了针对每个词元概率分布的替代模型,自回归模型可以在没有向量量化的情况下实现。

基于这一观察,我们提出通过作用于连续值域的扩散过程来建模每个词元的概率分布。我们的方法利用了扩散模型的原理[45, 24, 33, 10]来表示任意的概率分布。具体来说,我们的方法自回归地预测每个词元的一个向量zz,该向量作为去噪网络(例如,一个小型MLP)的条件。去噪扩散过程使我们能够表示一个潜在的分布p(xz)p(x|z)用于输出的xx(图1)。这个小的去噪网络 与自回归模型联合训练,以连续值 标记作为输入和目标。从概念上讲,这个小的预测 头,应用于每个标记,其行为类似于衡量zz质量的损失函数。我们将此 损失函数称为扩散损失.

Figure 1原论文图面与译注

 

扩散损失。给定一个连续值 标记xx进行预测,自回归模型产生一个向量zz,它作为去噪扩散网络(一个小型MLP)的条件。这提供了一种建模概率分布p(xz)p(x|z)的方法,该分布对应于这个令牌. 该网络与自回归模型通过反向传播联合训练。在推理时,根据预测的zz,运行反向扩散过程可以按照分布采样一个令牌:xp(xz)x \sim p(x|z)。这种方法消除了对离散值分词器的需求。

我们的方法消除了对离散值分词器的需求。向量量化分词器难以训练,并且对梯度近似策略敏感[51, 41, 40, 27]。它们的重建质量通常不如连续值对应物[42]。我们的方法使自回归模型能够受益于更高质量、非量化的分词器。

为了拓宽范围,我们进一步将标准自回归(AR)模型[13]和掩码生成模型[4, 29]统一到一个广义自回归框架中(图3)。从概念上讲, 掩码生成模型预测多个输出标记 同时以随机顺序进行,同时仍然保持 “基于已知标记预测下一个标记”的自回归性质。这导致了一种掩码自回归(MAR)模型,可与扩散损失无缝结合使用。

我们通过实验证明了扩散损失在包括AR和MAR模型在内的各种情况下的有效性。它消除了对向量量化分词器的需求,并持续提高生成质量。我们的损失函数可以灵活地应用于不同类型的分词器。此外,我们的方法享有序列模型快速速度的优势。我们的带有扩散损失的MAR模型可以以每秒生成<<每张图像0.3秒,同时实现了<<在ImageNet 256上强大的FID为2.0×\times256. 我们最好的模型可以达到1.55 FID。

我们方法的有效性揭示了图像生成的一个很大程度上未被探索的领域:通过自回归建模相互依赖的标记,同时结合每个标记通过扩散进行分布。这与典型的潜在扩散模型形成对比,[42, 37]在典型的潜在扩散模型中,扩散过程对所有token的联合分布进行建模。鉴于我们方法的有效性、速度和灵活性,我们希望扩散损失能够推进自回归图像生成,并在未来的研究中推广到其他领域。

图像生成的序列模型。开创性的自回归图像模型工作[17, 50, 49, 36, 7, 6]对像素序列进行操作。 自回归可以通过RNN[50]、CNN[49, 7]以及最近最流行的Transformer[36, 6]来执行。受语言模型的启发,另一系列工作[51, 41, 13, 40]将图像建模为离散值标记。自回归[13, 40]和掩码生成模型[4, 29]可以在离散值标记空间上操作。但离散分词器难以训练,这最近引起了特别关注[27, 54, 32].

与我们的工作相关,最近关于GIVT[48]的工作也关注序列模型中的连续值标记。GIVT和我们的工作都揭示了这一方向的重要性和潜力。在GIVT中,标记分布由高斯混合模型表示。它使用预定义的混合数量,这可能限制其能表示的分布类型。相比之下,我们的方法利用扩散过程在建模任意分布方面的有效性。

用于表示学习的扩散. 去噪扩散过程已被探索作为视觉自监督学习的标准。例如,DiffMAE[53]将原始MAE中的L2损失[21]替换为去噪扩散解码器;DARL[30]使用去噪扩散补丁解码器训练自回归模型。这些努力集中在表示学习上,而非图像生成。在他们的场景中,生成多样化的图像不是目标;这些方法尚未展示从零开始生成新图像的能力。

用于策略学习的扩散. 我们的工作与机器人学中的扩散策略[8]在概念上相关。在这些场景中,采取行动的分布被表述为对机器人观测(可以是像素或潜在变量)的去噪过程[8, 34]。在图像生成中,我们可以将生成一个令牌视为采取一个“动作”。尽管存在这种概念上的联系,但在机器人技术中,生成样本的多样性不如图像生成那样是核心考虑因素。

方法

简而言之,我们的图像生成方法是一个在令牌化潜在空间上操作的序列模型[6, 13, 40]。但与以往基于向量量化令牌化器(例如,VQ-VAE的变体[51, 13])的方法不同,我们旨在使用连续值令牌化器(例如.., [42])。我们提出了扩散损失,使序列模型与连续值令牌兼容。

重新思考离散值标记

首先,我们重新审视离散值标记在自回归生成模型中的作用。记xx为下一个位置要预测的真实标记。使用离散分词器时,xx可以表示为一个整数:0x<K0 \leq x < K,词汇表大小为KK。自回归模型 产生一个连续值的DD-维 向量zRDz \in \mathbb{R}^D,然后通过一个KK-路 分类器矩阵WRK×DW \in \mathbb{R}^{K{\times}D}进行投影。概念上,这种表述建模了一个类别概率分布p(xz)=softmax(Wz)p(x | z) = \text{softmax}({W}{z}).

在生成建模的背景下,该概率分布必须表现出两个基本属性。(i) 一个损失函数,用于衡量估计分布与真实分布之间的差异。对于类别分布,这可以通过交叉熵损失简单地实现。(ii) 一个采样器能够在推理时从分布中抽取样本xp(xz)x \sim p(x | z)。 对于分类分布,这通常实现为从p(xz)=softmax(Wz/τ)p(x | z) = \text{softmax}(Wz / \tau)中抽取样本,其中τ\tau是控制样本多样性的温度。从分类分布中采样可以通过 Gumbel-max 方法[18]或逆变换采样。

这一分析表明,离散值标记并非自回归模型所必需的。相反,对分布进行建模的需求才是本质。离散值标记空间意味着分类分布,其损失函数和采样器易于定义。我们真正需要的是用于分布建模的损失函数及其对应的采样器。

扩散损失

去噪扩散模型[24]为建模任意分布提供了有效框架。但与通常使用扩散模型来表示所有像素或所有标记的联合分布不同,在我们的案例中,扩散模型用于表示每个标记的分布.

考虑一个连续值向量xRdx \in \mathbb{R}^d,它表示下一个位置要预测的真实标记。自回归模型产生一个向量zRDz \in \mathbb{R}^D在此 位置。我们的目标是建模一个概率分布,该分布为xx,以zz为条件,即p(xz)p(x|z)。损失函数和采样器可以 按照扩散模型[24, 33, 10]来定义, 接下来将进行描述。

损失函数。遵循[24, 33, 10], 一个潜在概率分布p(xz)p(x|z)的损失函数可以表述为去噪 准则:这里,εRd\varepsilon\in \mathbb{R}^d是从N(0,I)\mathcal{N}( \mathbf{0}, \mathbf{I})中采样的噪声向量。 被噪声破坏的向量xtx_txt=αˉtx+1αˉtεx_t = \sqrt{\bar{\alpha}_t} x + \sqrt{1-\bar{\alpha}_t} \varepsilon,其中αˉt\bar{\alpha}_t定义了噪声调度[24, 33]. tt是噪声调度的时间步。噪声估计器εθ\varepsilon_\theta,由θ\theta参数化,是一个小型MLP网络(见 第4节)。符号εθ(xtt,z)\varepsilon_\theta(x_t | t, z)表示 该网络接受xtx_t作为 输入,并且是条件同时依赖于ttzz。根据[46, 47],公式(1)在概念上类似于 一种分数匹配:它与关于p(xz)p(x|z)的分数函数 的损失函数相关,即logxp(xz)\nabla \log_{x} p(x|z)。 Diffusion Loss 是一种参数化的损失函数,与 adversarial loss[15] 或 perceptual loss[56] 属于同一类思路。

公式(1)。

L(z,x)=Eε,t[εεθ(xtt,z)2].\begin{aligned} \mathcal{L}(z, x) = \mathbb{E}_{\varepsilon, t} \left[ \left\| \varepsilon- \varepsilon_\theta(x_t | t, z) \right\|^2 \right]. \end{aligned}

值得注意的是,条件向量 zz 由 autoregressive network 产生,即 z=f()z=f(\cdot),下文会进一步说明。z=f()z=f(\cdot) 的梯度来自式(1)的损失函数;从概念上说,式(1)定义了训练网络 f()f(\cdot) 的损失。

我们注意到,式(1)中的期望 Eε,t[]\mathbb{E}_{\varepsilon,t}[\cdot] 对任意给定的 zz 都关于 tt 取期望。由于去噪网络很小,对同一个 zz 可以多次采样 tt,从而无须重新计算 zz 就能提高损失函数的利用率。训练时,我们对每张图像采样 4 次 tt

采样器。在推理时,需要从分布p(xz)p(x|z)中抽取样本。采样通过反向扩散过程[24]: xt1=1αt(xt1αt1αˉtεθ(xtt,z))+σtδ.x_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}}\varepsilon_\theta(x_t | t, z) \right) + \sigma_t \delta.完成。这里δ\delta是从高斯分布N(0,I)\mathcal{N}( \mathbf{0}, \mathbf{I})中采样得到的,而σt\sigma_t是时间步tt处的噪声水平。从xTN(0,I)x_{T} \sim \mathcal{N}( \mathbf{0}, \mathbf{I})开始,该过程生成一个样本x0x_{0}使得x0p(xz)x_{0} \sim p(x|z) [24].

当使用分类分布时(第3.1), 自回归模型可以享受拥有温度 τ\tau来控制样本多样性的好处。事实上,现有文献,无论是在语言还是图像领域,都表明温度在自回归生成中起着关键作用。扩散采样器需要提供一个温度对应物。我们采用了[10]中提出的温度采样。概念上,使用温度τ\tau,人们可能希望从p(xz)1τp(x|z)^{\frac{1}{\tau}}的(重新归一化的)概率中采样,其得分函数为1τlogxp(xz){\frac{1}{\tau}}\nabla \log_{x} p(x|z)。在实践中,[10]建议要么将εθ\varepsilon_\thetaτ\tau,或将噪声缩放τ{\tau}。我们采用后一种方案:我们在采样器中 将σtδ\sigma_t\delta缩放τ\tau。直观上,τ\tau通过 调整噪声方差来控制样本多样性。

用于自回归模型的 扩散损失

接下来,我们描述带有扩散损失的自回归模型用于 图像生成。给定一个令牌序列{x1,x2,...,xn}\{x^1, x^2, ..., x^n\},其中上标1in1 \leq i \leq n指定顺序,自回归模型[17, 50, 49, 36, 7, 6]将生成问题表述为“下一个词元预测”:使用一个网络来表示条件概率p(xi  x1,...,xi1)p(x^i~ |~ x^1, ..., x^{i-1})。在我们的情况下,xix^i可以是连续值。我们可以将这个表述重写为两部分。首先,我们通过一个网络生成一个条件向量ziz^i例如.., Transformer[52]) 对先前令牌进行操作:zi=f(x1,...,xi1)z^i = f(x^1, ..., x^{i-1})。然后,我们通过p(xizi)p(x^i | z^i)对下一个令牌的概率进行建模。公式(1)中的 Diffusion Loss 可用于p(xizi)p(x^i | z^i). 梯度被 反向传播到ziz^i以更新 的参数f()f(\cdot).

公式(2)。

p(x1,...,xn)=i=1np(xi  x1,...,xi1).\begin{aligned} p(x^1, ..., x^{n}) = \prod^n_{i=1} p(x^i~ |~ x^1, ..., x^{i-1}). \end{aligned}

统一 自回归与掩码生成模型

我们表明,掩码生成模型, 例如.., MaskGIT[4]和 MAGE[29],可以在 自回归这一宽泛概念下进行概括,.., 下一个词元预测。

双向注意力可以执行自回归。 自回归的概念与网络架构正交: 自回归可以通过RNN[50]、CNN[49, 7]以及 Transformer[38, 36, 6]来实现。 当使用Transformer时,尽管自回归模型通常通过因果注意力实现,我们表明它们也可以通过双向注意力。参见图2。请注意,自回归的目标是根据前面的词元预测下一个词元;它并不限制前面的词元如何与下一个词元通信。

我们可以采用掩码自编码器(MAE)中实现的双向注意力方法[21]。参见图2(b)。具体来说,我们首先应用一个MAE风格的编码器1在已知标记上(带有位置嵌入[52])。 然后我们将编码序列与掩码标记(再次添加位置嵌入)连接起来,并用MAE风格的解码器映射此序列。掩码标记上的位置嵌入可以让解码器知道要预测哪些位置。与因果注意力不同,这里的损失仅计算在未知标记上[21].

利用MAE风格的技巧,我们允许所有已知标记相互查看,也允许所有未知标记查看所有已知标记。这种全注意力比因果注意力在标记间引入了更好的通信。在推理时,我们可以使用这种双向公式生成标记(每步一个或多个),这是一种自回归形式。作为折衷,我们不能使用因果注意力的键值(kv)缓存[44]来加速推理。但因为我们能一起生成多个标记,我们可以减少生成步骤以加速推理。标记间的全注意力可以显著提高质量,并提供更好的速度/精度权衡。

随机顺序的自回归模型。为了连接到掩码生成模型[4, 29],我们考虑一种 自回归变体,采用随机顺序。模型接收一个随机 排列的序列。每个样本的随机排列都不同。 参见图3(b)。在这种情况下,模型需要能够访问 下一个要预测的标记的位置。我们采用 类似于MAE[21]的策略:我们在解码器层添加位置嵌入(对应 未打乱的位置),这可以告知要预测的位置。 该策略适用于因果和双向版本。

如图3(b)(c)所示,随机顺序自回归 表现为掩码生成的一种特殊形式,其中每次生成一个 标记。我们详细说明如下。

Figure 2原论文图面与译注
双向 attention 也可以实现 autoregression。与传统认知不同,“autoregression”(下一 token 预测)这一广义概念既可由 causal attention 实现,也可由 bidirectional attention 实现。(a)Causal attention 限制每个 token 只能关注当前或之前的 token。输入右移一个起始 token [s] 后,训练时可以对所有 token 计算损失。(b)Bidirectional attention 允许每个 token 看到序列中的所有 token。遵循 MAE [21],mask token [m] 在中间层加入,并叠加位置嵌入。该设置只在未知 token 上计算损失,但保留全序列 attention 能力,使 token 之间能更好地交互。它可以在推理时逐个生成 token,这也是一种 autoregression;同时也可以并行预测多个 token。
Figure 3原论文图面与译注

广义自回归模型。(a)标准的栅格顺序自回归模型根据之前的标记预测下一个标记。(b)随机顺序自回归模型根据随机顺序预测下一个标记。它类似于随机掩蔽标记然后预测一个。(c)掩蔽自回归(MAR)模型根据随机顺序同时预测多个标记,这在概念上类似于掩蔽生成模型[4, 29]。在所有情况下,一步的预测可以通过因果或双向注意力来完成(图2)。

掩蔽自回归模型。在掩蔽生成建模[4, 29]中,模型基于已知/预测的标记预测随机子集的标记。这可以表述为通过随机顺序排列标记序列,然后基于之前的标记预测多个标记。参见图3(c)。从概念上讲,这是一个自回归过程,可以写成估计条件分布:p({xi,xi+1...,xj}  x1,...,xi1),p( \{x^i, x^{i+1}...,x^j\} ~ |~ x^1, ..., x^{i-1}),其中多个标记{xi,xi+1...,xj}\{x^i, x^{i+1}...,x^j\}需要被预测(iji \leq j)。我们可以将这种自回归模型写为:这里,Xk={xi,xi+1...,xj}X^k = \{x^i, x^{i+1}...,x^j\}一组标记,在第kk步需要被预测,其中kXk={x1,...,xn}\cup_k{X^k}=\{x^1, ..., x^{n}\}。从这个意义上说,这本质上就是“下一组标记预测”,因此也是自回归的一种一般形式。我们将这种变体称为掩码自回归(MAR)模型。MAR是一种随机顺序的自回归模型,可以同时预测多个标记。

公式(3)。

p(x1,...,xn)=p(X1,...,XK)=kKp(Xk  X1,...,Xk1).\begin{aligned} p(x^1, ..., x^{n}) = p(X^1, ..., X^{K}) = \prod^{K}_{k} p( X^k ~ |~ X^1, ..., X^{k-1}). \end{aligned}

MAR在概念上与MAGE相关[29]。然而,MAR通过对τ\tau每个词元的概率分布应用温度来采样词元(这是生成式语言模型如GPT的标准做法)。相比之下,MAGE(遵循MaskGIT[4])对要预测的位置的采样应用温度:这不是完全随机的顺序,这造成了训练时与推理时行为之间的差距。

实现

本节描述我们的实现。我们注意到,本文引入的概念是通用的,并不限于特定实现。更详细的细节见附录B.

扩散损失

扩散过程. 我们的扩散过程遵循[33]. 我们的噪声 调度采用余弦形状,训练时使用1000步;在 推理时,以更少的步数重新采样(默认100步)[33]. 我们的去噪 网络预测噪声向量ε\varepsilon [24]. 损失可以可选地包含 变分下界项Lvlb\mathcal{L}_\text{vlb} [33]. 扩散损失 自然支持无分类器引导(CFG)[23](详见附录B).

去噪MLP. 我们使用一个由 几个残差块组成的小型MLP[20]用于去噪。每个块依次 应用层归一化(LN)[1]、一个线性层、SiLU[12],以及 另一个线性层,并与残差连接合并。默认情况下,我们 使用3个块,宽度为1024个通道。去噪MLP 以向量zz为条件,该向量由 AR/MAR模型生成(见图1)。 向量zz被添加到噪声调度时间步长tt的时间嵌入中,该时间步长通过AdaLN作为LN层中MLP的条件。[37].

自回归 与掩码自回归图像生成

分词器。我们使用LDM提供的公开可用的分词器[42]. 我们的实验将涉及它们的 VQ-16 和 KL-16 版本[42]. VQ-16 是一种 VQ-GAN[13], .., VQ-VAE[51]带有 GAN 损失[15]和感知损失[56];KL-16 是其通过 Kullback–Leibler(KL)散度正则化的对应版本,没有向量量化。16 表示分词器的步长。

Transformer. 我们的架构遵循 Transformer[52]在ViT[11]中的实现。给定来自分词器的令牌序列,我们添加位置嵌入[52]并附加类别令牌[cls];然后通过Transformer处理该序列。默认情况下,我们的Transformer有32个块,宽度为1024,我们称之为大型或-L(\scriptstyle\sim400M参数)。

自回归基线。因果注意力 按照GPT[38]的常见实践实现(图2(a))。 输入序列移动一个令牌(此处为 [cls])。 三角掩码[52]应用于注意力矩阵。 在推理时,应用温度(τ\tau)采样。我们使用 kv-cache[44]以进行 高效推理。

掩码自回归模型。使用双向 注意力(图2(b)),我们可以根据任意数量的已知标记预测任意数量的 未知标记。在训练时,我们 随机采样掩码比例[21, 4, 29]在 [0.7, 1.0] 范围内:例如,0.7 表示 70% 的标记是未知的。因为 采样序列可能非常短,我们总是填充 64[cls]编码器序列开头的标记,这提高了我们编码的稳定性和容量。如图2,在解码器中引入了掩码标记[m],并添加了位置嵌入。为简单起见,与[21]不同,我们让编码器和解码器具有相同的大小:每个都有所有块的一半(例如,MAR-L中为16)。

在推理时,MAR执行“下一组标记预测”。它使用余弦调度[4, 29]将掩码比率从1.0逐渐降低到0。默认情况下,我们在此调度中使用64步。应用温度(τ\tau)采样。与[4, 29]不同,MAR始终使用完全随机的顺序。

实验

Table 1语义 HTML 转录
Diffusion Loss对比.. 交叉熵 损失. 分词器为VQ-16(离散)和KL-16 (连续),均来自LDM代码库[42]以确保公平比较。扩散 损失,使用连续值令牌,优于其使用离散值令牌的交叉熵对应物, 在AR和MAR的所有变体中一致观察到。所有条目均由我们在相同设置下实现:AR/MAR-L(\sim400M参数),400个epoch, ImageNet 256×\times256.
无CFG 有CFG
变体 顺序 方向 #预测 损失 FID\downarrow IS\uparrow FID\downarrow IS\uparrow
栅格 因果 1 交叉熵 19.58 60.8 4.92 227.3
Diffusion Loss 19.23 62.3 4.69 244.6
MAR 随机 因果 1 交叉熵 16.22 81.3 4.36 222.7
Diffusion Loss 13.07 91.4 4.07 232.4
MAR rand 双向 1 交叉熵 8.75 149.6 3.50 280.9
Diffusion Loss 3.43 203.1 1.84 292.7
MAR (default)_\text{ (default)} rand 双向 >>1 交叉熵 8.79 146.1 3.69 278.4
Diffusion Loss 3.50 201.4 1.98 290.3
Table 2语义 HTML 转录
扩散损失的灵活性. 扩散损失 可以支持不同类型的分词器。(i)VQ 分词器:我们将VQ之前的连续值潜在表示视为 tokens。(ii)具有不匹配步长(此处为8)的分词器:我们将2×\times2 个tokens分组为一个新token用于序列建模。(iii)一致性解码器[35],一种不同解码器架构的非VQ分词器。此处,rFID表示分词器在ImageNet训练集上的重建FID。此表中所有条目的设置:MAR-L,400个epoch,ImageNet 256×\times256. {}^\dagger:此分词器由我们在ImageNet上使用[42]的代码训练;来自[42]的原始分词器是在OpenImages上训练的。
分词器 # tokens 无CFG 有CFG
损失 架构 原始 序列 rFID\downarrow FID\downarrow IS\uparrow FID\downarrow IS\uparrow
[42] VQ-16 162{}^\text{2} 162{}^\text{2} 5.87 7.82 151.7 3.64 258.5
[42] KL-16 162{}^\text{2} 162{}^\text{2} 1.43 3.50 201.4 1.98 290.3
[42] KL-8 322{}^\text{2} 162{}^\text{2} 1.20 4.33 180.0 2.05 283.9
[35] 一致性 322{}^\text{2} 162{}^\text{2} 1.30 5.76 170.6 3.23 271.0
[42]{}^\dagger KL-16 162{}^\text{2} 162{}^\text{2} 1.22 2.85 214.0 1.97 291.2

我们在ImageNet上进行实验[9]分辨率为256×\times256。我们评估FID[22]和IS[43],并按照常见做法提供精确率和召回率作为参考[10]。我们遵循 由[10].

扩散损失的性质

扩散损失对比..交叉熵损失. 我们 首先将连续值令牌与扩散损失进行比较,并将标准 离散值令牌与交叉熵损失进行比较(表1)。为了公平比较, 分词器(“VQ-16”和“KL-16”)均从LDM 代码库下载[42]。 这些是常用的分词器(例如.., [13, 42, 37]).

比较在AR/MAR的四种变体中进行。如表1,扩散损失 在所有情况下都持续优于交叉熵对应方法。 具体来说,在MAR(例如..,默认设置)中,使用扩散损失 可以将FID相对降低\scriptstyle\sim50%-60%。这是因为 连续值的KL-16比VQ-16具有更小的压缩损失 (在表2中接下来讨论), 而且因为扩散过程比分类过程更有效地建模分布。

在以下消融实验中,除非另有说明,我们遵循表 1 中的“默认” MAR 设置。

Table 3语义 HTML 转录
扩散损失中的去噪MLP。去噪MLP小而高效。这里,推理时间涉及整个生成模型,Transformer的大小为407M。设置:MAR-L,400个epoch,ImageNet 256×\times256,3个MLP块。
MLP 无CFG 有CFG
宽度 参数 FID\downarrow IS\uparrow FID\downarrow IS\uparrow 推理时间
2M 3.47 195.3 2.45 274.0 0.286 秒/张
512 6M 3.24 199.1 2.11 281.0 0.288 秒/张
1024 21M 2.85 214.0 1.97 291.2 0.288 秒/张
1536 45M 2.93 207.6 1.91 289.3 0.291 秒/张
Figure 4原论文图面与译注
扩散损失的采样步数。我们展示了FID(左)和IS(右)随扩散采样步数的变化。使用100步足以达到强大的生成质量。
Figure 5原论文图面与译注
Diffusion Loss 的 temperature。Temperature τ\tau 对 FID(左)和 IS(右)都有明显影响。就像 discrete-valued autoregression 中的 temperature,这里的 temperature 在 continuous-valued autoregression 中同样至关重要。

扩散损失的灵活性。扩散损失的一个显著 优势是其对各种分词器的灵活性。 我们在表2.

即使使用 VQ tokenizer,Diffusion Loss 也很容易应用。我们只需把 VQ 层之前的连续值 latent 视为 token。这一变体在不使用 CFG 时取得 7.82 FID;相较于使用同一 VQ tokenizer、采用 cross-entropy loss 时的 8.79 FID(表 1),该结果更好。这表明 diffusion 在建模分布方面具有更强能力。

这一变体还让我们能在相同损失下比较 VQ-16 与 KL-16 tokenizer。如表 2 所示,VQ-16 的 reconstruction FID(rFID)远差于 KL-16,因而 generation FID 也明显更差(例如表 2 中的 7.82 对 3.50)。

有趣的是,Diffusion Loss 还使我们能使用 stride 不匹配的 tokenizer。在表 2 中,我们研究一个 stride 为 8、输出序列长度为 32×3232\times32 的 KL-8 tokenizer。在不增加生成器序列长度的情况下,我们将 2×22\times2 个 token 分组为一个新 token。尽管存在不匹配,仍能取得不错的结果,例如 KL-8 的 FID 为 2.05,而 KL-16 为 1.98。此外,这一性质使我们能够研究其他 tokenizer,例如 Consistency Decoder [35];它是一种面向不同目标、具有不同架构和 stride 的非 VQ tokenizer。

为了全面性,我们还在ImageNet上使用代码训练了一个KL-16分词器。[42],注意到原始的KL-16在[42]在OpenImages上进行了训练[28]. 比较结果位于表2。我们在以下探索中使用这个分词器。

扩散损失中的去噪MLP。我们研究了表3中的去噪MLP。即使是一个非常小的MLP(例如.., 2M)可以获得有竞争力的结果。如预期的那样,增加MLP 宽度有助于提高生成质量;我们探索了增加 深度,并观察到类似的结果。请注意,我们默认的MLP大小 (1024宽度,21M)仅增加了\scriptstyle\sim5%的额外参数到 MAR-L模型。在推理过程中,扩散采样器的成本适中, 占\scriptstyle\sim10%的总 运行时间。在我们的实现中,增加MLP宽度带来的额外成本可以忽略不计(表3),部分原因是主要开销 不是计算而是内存通信。

扩散损失的采样步数。我们的扩散 过程遵循DDPM的常见做法[24, 10]:我们使用 1000步噪声调度进行训练,但在推理时使用更少的步数。图4显示,在推理时使用 100个扩散步数足以实现强大的 生成质量。

扩散损失的温度。在 交叉熵损失的情况下,温度至关重要。扩散 损失也提供了温度对应物,用于控制多样性 和保真度。图5显示了温度 的影响τ\tau在扩散采样器中(参见 第3.2节)在推理时。温度τ\tau在我们的模型中起着重要作用,类似于对基于交叉熵的对应模型的观察(注意表1是在其最佳 温度下进行的)。

Figure 6原论文图面与译注

速度/精度权衡生成 过程。对于MAR,通过不同的自回归步数 (8到128)获得曲线。对于DiT,通过不同的扩散步数 (50、75、150、250)使用其官方代码获得曲线。我们比较我们 实现的AR和MAR。AR使用kv-cache进行快速推理。 AR/MAR模型大小为L,DiT模型大小为DiT-XL。星号标记 表示我们在其他消融中使用的默认MAR设置。我们在ImageNet 256×\times256上使用一块A100 GPU,批大小为 256,对FID和速度进行基准测试。
Table 4语义 HTML 转录
ImageNet 256×256 条件生成的系统级比较。Diffusion Loss 使 Masked Autoregression 相比既有系统取得领先结果。†:LDM 在连续值 token 上运行,但此处结果使用量化 tokenizer。
类别模型参数量不使用 CFG使用 CFG
FID↓IS↑Pre.↑Rec.↑FID↓IS↑Pre.↑Rec.↑
pixel-based ADM[10] 554M 10.94 101.0 0.69 0.63 4.59 186.7 0.82 0.52
VDM++++ [26] 2B 2.40 225.3 - - 2.12 267.7 - -
vector-quantized tokens 自回归 w/ VQGAN[13] 1.4B 15.78 78.3 - - - - - -
MaskGIT[4] 227M 6.18 182.1 0.80 0.51 - - - -
MAGE[29] 230M 6.93 195.8 - - - - - -
MAGVIT-v2[55] 307M 3.65 200.5 - - 1.78 319.4 - -
continuous-valued tokens LDM-4{}^\dagger [42] 400M 10.56 103.5 0.71 0.62 3.60 247.7 0.87 0.48
U-ViT-H/2-G[2] 501M - - - - 2.29 263.9 0.82 0.57
DiT-XL/2[37] 675M 9.62 121.5 0.67 0.67 2.27 278.2 0.83 0.57
DiffiT[19] - - - - - 1.73 276.5 0.80 0.62
MDTv2-XL/2[14] 676M 5.06 155.6 0.72 0.66 1.58 314.7 0.79 0.65
GIVT[48] 304M 5.67 - 0.75 0.59 3.35 - 0.84 0.53
MAR-B, Diffusion Loss 208M 3.48 192.4 0.78 0.58 2.31 281.7 0.82 0.57
MAR-L, Diffusion Loss 479M 2.60 221.4 0.79 0.60 1.78 296.0 0.81 0.60
MAR-H,Diffusion Loss 943M 2.35 227.8 0.79 0.62 1.55 303.7 0.81 0.62

广义自回归模型的性质

从AR到MAR. 表1也是对AR/MAR变体的比较,我们接下来讨论。首先,将AR中的光栅顺序替换为随机顺序有显著增益,例如..,将FID从19.23降至13.07(无CFG)。接下来, 将因果注意力替换为双向对应部分带来了另一个巨大的提升,例如..,将FID 从13.07降至3.43(无CFG)。

随机顺序、双向自回归本质上是一种MAR形式, 一次预测一个token。一次预测多个token ('>>1')可以有效减少自回归步骤的数量。在表1中,我们展示了 具有64步的MAR变体略微牺牲了生成质量。更全面的 权衡比较将在接下来讨论。

速度/精度权衡. 继MaskGIT[4]之后,我们的MAR享有一次预测多个标记的灵活性。这由推理时的自回归步数控制。图6绘制了速度/精度权衡。MAR比其AR对应方法具有更好的权衡,注意到AR使用了高效的kv缓存。

使用扩散损失,MAR在与最近流行的扩散Transformer(DiT)比较时也显示出有利的权衡。[37]. 作为潜在扩散模型,DiT通过扩散过程建模所有token之间的相互依赖关系。DiT的速度/精度权衡主要由其扩散步数控制。与我们在小型MLP上的扩散过程不同,DiT的扩散过程涉及整个Transformer架构。我们的方法更精确且更快。值得注意的是,我们的方法可以以<<每张图像0.3秒,FID值优秀<< 2.0.

与先前系统的基准比较

我们在表4中与领先系统进行了比较。我们探索了各种模型大小(见附录B),并训练了800个周期。类似于自回归语言模型[3],我们观察到了令人鼓舞的扩展行为。进一步研究扩展可能很有前景。关于指标,我们报告了2.35的FIDCFG,大大优于其他基于令牌的方法。我们的最佳条目FID为1.55,与领先系统相比具有竞争力。图7展示了定性结果。

讨论与结论

扩散损失在各种自回归模型上的有效性 暗示了新的机遇:通过自回归建模token间的相互依赖,同时通过扩散建模每个token的分布。这与通常使用扩散 建模所有token的联合分布不同。我们在 图像生成上的强劲结果表明,自回归模型或其扩展 是超越语言建模的强大工具。这些模型不需要 受限于向量量化表示。我们希望我们的工作 能激励研究社区在其他领域探索具有 连续值表示的序列模型。

Figure 7原论文图面与译注








定性结果。我们展示了在ImageNet 256×\times256上使用MAR-H和扩散 损失的类别条件生成的一些示例。

致谢。Tianhong Li在 该项目期间获得了Mathworks奖学金的支持。我们感谢Congyue Deng和 Xinlei Chen的有益讨论。我们感谢Google TPU研究云 (TRC)为我们提供TPU访问权限,以及Google云平台 支持GPU资源。

Figure 8原论文图面与译注


我们的


DiT


我们的


DiT


我们的


DiT

失败案例. 与现有方法类似, 我们的系统可能会产生带有明显伪影的结果。对于每一对, 我们展示了MAR-H和DiT-XL在同一类别上的结果。DiT最左边的 示例取自他们的论文[37];其他结果来自他们的 官方代码。

局限性与更广泛的影响

局限性。除了展示我们的方法在图像生成方面的潜力外,本文也承认其局限性。

首先,我们的图像生成系统可能会产生带有明显伪影的图像(图8)。这一局限性在现有方法中普遍存在,尤其是在受控的学术数据(例如,ImageNet)上训练时。与在大量数据上训练的商业模型相比,在ImageNet上训练的研究驱动模型在视觉质量上仍有明显差距。

其次,我们的图像生成系统依赖于现有的预训练分词器。我们系统的质量可能受到这些分词器质量的限制。预训练更好的分词器超出了本文的范围。尽管如此,我们希望我们的工作能使未来开发的连续值分词器更容易使用。

最后,我们注意到,由于计算资源有限,我们主要在ImageNet基准上测试了我们的方法。需要进一步验证以评估我们的方法在更多样化和现实场景中的可扩展性和稳健性。

更广泛的影响。我们的主要目标是推进生成模型的基础研究,我们相信这将对该领域有益。我们方法的一个直接应用是将其扩展到大型视觉生成模型,例如.., 文本到图像或文本到视频生成。我们的方法有 潜力显著降低这些大型模型的训练和推理成本。 同时,我们的方法可能表明 在许多应用中用扩散损失替代传统损失函数的机会。 在负面方面,我们的方法从训练数据集中学习统计信息, 因此可能反映数据中的偏差; 图像生成系统可能被滥用以生成虚假信息, 这值得进一步考虑。

参考文献

参考文献按原论文顺序与书目信息保留。

  1. Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv:1607.06450, 2016.
  2. Fan Bao, Chongxuan Li, Yue Cao, and Jun Zhu. All are worth words: a vit backbone for score-based diffusion models. In NeurIPS 2022 Workshop on Score-Based Methods, 2022.
  3. Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel Ziegler, Jeffrey Wu, Clemens Winter, Chris Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, and Dario Amodei. Language models are few-shot learners. In NeurIPS, 2020.
  4. Huiwen Chang, Han Zhang, Lu Jiang, Ce Liu, and William T Freeman. : Masked generative image Transformer. In CVPR, 2022.
  5. Huiwen Chang, Han Zhang, Jarred Barber, AJ Maschinot, Jose Lezama, Lu Jiang, Ming-Hsuan Yang, Kevin Murphy, William T Freeman, Michael Rubinstein, Yuanzhen Li, and Dilip Krishnan. Muse: Text-to-image generation via masked generative Transformers. In ICML, 2023.
  6. Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, and Ilya Sutskever. Generative pretraining from pixels. In ICML, 2020.
  7. Xi Chen, Nikhil Mishra, Mostafa Rohaninejad, and Pieter Abbeel. : An improved autoregressive generative model. In ICML, 2018.
  8. Cheng Chi, Siyuan Feng, Yilun Du, Zhenjia Xu, Eric Cousineau, Benjamin Burchfiel, and Shuran Song. Diffusion policy: Visuomotor policy learning via action diffusion. In RSS, 2023.
  9. Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. : A large-scale hierarchical image database. In CVPR, 2009.
  10. Prafulla Dhariwal and Alexander Nichol. Diffusion models beat GANs on image synthesis. In NeurIPS, 2021.
  11. Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. An image is worth 16x16 words: Transformers for image recognition at scale. In ICLR, 2021.
  12. Stefan Elfwing, Eiji Uchibe, and Kenji Doya. Sigmoid-weighted linear units for neural network function approximation in reinforcement learning. Neural networks, 2018.
  13. Patrick Esser, Robin Rombach, and Bjorn Ommer. Taming Transformers for high-resolution image synthesis. In CVPR, 2021.
  14. Shanghua Gao, Pan Zhou, Ming-Ming Cheng, and Shuicheng Yan. Masked diffusion Transformer is a strong image synthesizer. In ICCV, 2023.
  15. Ian J Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In NeurIPS, 2014.
  16. Priya Goyal, Piotr Dollár, Ross Girshick, Pieter Noordhuis, Lukasz Wesolowski, Aapo Kyrola, Andrew Tulloch, Yangqing Jia, and Kaiming He. Accurate, large minibatch SGD: Training ImageNet in 1 hour. arXiv:1706.02677, 2017.
  17. Karol Gregor, Ivo Danihelka, Andriy Mnih, Charles Blundell, and Daan Wierstra. Deep autoregressive networks. In ICML, 2014.
  18. Emil Julius Gumbel. Statistical theory of extreme valuse and some practical applications. Nat. Bur. Standards Appl. Math. Ser. 33, 1954.
  19. Ali Hatamizadeh, Jiaming Song, Guilin Liu, Jan Kautz, and Arash Vahdat. DiffiT: Diffusion vision Transformers for image generation. arXiv:2312.02139, 2023.
  20. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In CVPR, 2016.
  21. Kaiming He, Xinlei Chen, Saining Xie, Yanghao Li, Piotr Dollár, and Ross Girshick. Masked autoencoders are scalable vision learners. In CVPR, 2022.
  22. Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. trained by a two time-scale update rule converge to a local nash equilibrium. In NIP, 2017.
  23. Jonathan Ho and Tim Salimans. Classifier-free diffusion guidance. arXiv:2207.12598, 2022.
  24. Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. In NeurIPS, 2020.
  25. Tero Karras, Miika Aittala, Jaakko Lehtinen, Janne Hellsten, Timo Aila, and Samuli Laine. Analyzing and improving the training dynamics of diffusion models. arXiv:2312.02696, 2023.
  26. Diederik Kingma and Ruiqi Gao. Understanding diffusion objectives as the ELBO with simple data augmentation. In NeurIPS, 2023.
  27. Alexander Kolesnikov, André Susano Pinto, Lucas Beyer, Xiaohua Zhai, Jeremiah Harmsen, and Neil Houlsby. : A unified modeling approach for vision with learned guiding codes. NeurIPS, 2022.
  28. Ivan Krasin, Tom Duerig, Neil Alldrin, Vittorio Ferrari, Sami Abu-El-Haija, Alina Kuznetsova, Hassan Rom, Jasper Uijlings, Stefan Popov, Andreas Veit, Serge Belongie, Victor Gomes, Abhinav Gupta, Chen Sun, Gal Chechik, David Cai, Zheyun Feng, Dhyanesh Narayanan, and Kevin Murphy. Openimages: A public dataset for large-scale multi-label and multi-class image classification. .
  29. Tianhong Li, Huiwen Chang, Shlok Mishra, Han Zhang, Dina Katabi, and Dilip Krishnan. : Masked generative encoder to unify representation learning and image synthesis. In CVPR, 2023.
  30. Yazhe Li, Jorg Bornschein, and Ting Chen. Denoising autoregressive representation learning. arXiv preprint arXiv:2403.05196, 2024.
  31. Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. In ICLR, 2019.
  32. Fabian Mentzer, David Minnen, Eirikur Agustsson, and Michael Tschannen. Finite scalar quantization: VQ-VAE made simple. In ICLR, 2024.
  33. Alexander Quinn Nichol and Prafulla Dhariwal. Improved denoising diffusion probabilistic models. In ICML, 2021.
  34. Octo Model Team, Dibya Ghosh, Homer Walke, Karl Pertsch, Kevin Black, Oier Mees, Sudeep Dasari, Joey Hejna, Charles Xu, Jianlan Luo, Tobias Kreiman, You Liang Tan, Pannag Sanketi, Quan Vuong, Ted Xiao, Dorsa Sadigh, Chelsea Finn, and Sergey Levine. Octo: An open-source generalist robot policy. In RSS, 2024.
  35. OpenAI. , 2024. URL https://github.com/openai/consistencydecoder.
  36. Niki Parmar, Ashish Vaswani, Jakob Uszkoreit, Lukasz Kaiser, Noam Shazeer, Alexander Ku, and Dustin Tran. Image Transformer. In ICML, 2018.
  37. William Peebles and Saining Xie. Scalable diffusion models with Transformers. In ICCV, 2023.
  38. Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. .
  39. Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. Language models are unsupervised multitask learners. .
  40. Aditya Ramesh, Mikhail Pavlov, Gabriel Goh, Scott Gray, Chelsea Voss, Alec Radford, Mark Chen, and Ilya Sutskever. Zero-shot text-to-image generation. In ICML, 2021.
  41. Ali Razavi, Aaron Van den Oord, and Oriol Vinyals. Generating diverse high-fidelity images with VQ-VAE-2. In NeurIPS, 2019.
  42. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models. In CVPR, 2022.
  43. Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen. Improved techniques for training GANs. In NeurIPS, 2016.
  44. Noam Shazeer. Fast Transformer decoding: One write-head is all you need. arXiv:1911.02150, 2019.
  45. Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In ICML, 2015.
  46. Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. In NeurIPS, 2019.
  47. Yang Song, Jascha Sohl-Dickstein, Diederik P Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-based generative modeling through stochastic differential equations. In ICLR, 2021.
  48. Michael Tschannen, Cian Eastwood, and Fabian Mentzer. : Generative infinite-vocabulary Transformers. arXiv:2312.02116, 2023.
  49. Aaron van den Oord, Nal Kalchbrenner, Lasse Espeholt, Oriol Vinyals, Alex Graves, and Koray Kavukcuoglu. Conditional image generation with PixelCNN decoders. In NeurIPS, 2016a.
  50. Aaron van den Oord, Nal Kalchbrenner, and Koray Kavukcuoglu. Pixel recurrent neural networks. In ICML, 2016b.
  51. Aaron van den Oord, Oriol Vinyals, and Koray Kavukcuoglu. Neural discrete representation learning. In NeurIPS, 2017.
  52. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In NeurIPS, 2017.
  53. Chen Wei, Karttikeya Mangalam, Po-Yao Huang, Yanghao Li, Haoqi Fan, Hu Xu, Huiyu Wang, Cihang Xie, Alan Yuille, and Christoph Feichtenhofer. Diffusion models as masked autoencoders. In ICCV, 2023.
  54. Lijun Yu, Yong Cheng, Kihyuk Sohn, José Lezama, Han Zhang, Huiwen Chang, Alexander G Hauptmann, Ming-Hsuan Yang, Yuan Hao, Irfan Essa, and Lu Jiang. : Masked generative video Transformer. In CVPR, 2023.
  55. Lijun Yu, José Lezama, Nitesh B Gundavarapu, Luca Versari, Kihyuk Sohn, David Minnen, Yong Cheng, Agrim Gupta, Xiuye Gu, Alexander G Hauptmann, Boqing Gong, Ming-Hsuan Yang, David A. Ross Irfan Essa, and Lu Jiang. Language model beats diffusion–tokenizer is key to visual generation. In ICLR, 2024.
  56. Richard Zhang, Phillip Isola, Alexei A Efros, Eli Shechtman, and Oliver Wang. The unreasonable effectiveness of deep features as a perceptual metric. In CVPR, 2018.

附加实现细节

无分类器引导(CFG)。为了支持CFG[23],在训练 时,类别条件被替换为虚拟类别标记,占 10%\%的样本[23]。在推理 时,模型使用给定的类别标记和虚拟标记运行, 提供两个输出zcz_czuz_u。预测的噪声ε\varepsilon随后被修改为[23]如:ε=εθ(xtt,zu)+ω(εθ(xtt,zc)εθ(xtt,zu))\varepsilon= \varepsilon_\theta(x_t | t, z_u) + \omega\cdot(\varepsilon_\theta(x_t | t, z_c) - \varepsilon_\theta(x_t | t, z_u)),其中ω\omega是 指导尺度。在推理时,我们遵循[5]使用CFG调度。我们为每个模型搜索 最优指导尺度和温度组合。

训练。默认情况下,模型使用 AdamW优化器[31]训练400个周期。AdamW的权重衰减 和动量分别为0.02和(0.9, 0.95)。我们使用批量大小为 2048,学习率(lr)为8e-4。我们的扩散损失模型 使用100个周期的线性学习率预热[16]进行训练,随后是常数 [37]学习率调度。 交叉熵对应模型使用余弦学习率调度进行训练, 这对它们效果更好。遵循[37, 25],我们 以0.9999的动量维持模型参数的指数移动平均(EMA)。

4的实现细节。为了 探索我们方法的扩展行为,我们研究了三种模型大小, 描述如下。除了MAR-L,我们还探索了一个较小的模型 (MAR-B)和一个较大的模型(MAR-H)。MAR-B、-L和-H分别有 24、32、40个Transformer块,宽度分别为768、1024和1280。在 表4中,具体来说,去噪MLP 分别有6、8、12个块,宽度分别为1024、1280和1536。 训练长度增加到800个epoch。在推理时,我们 运行256个自回归步骤以获得最佳结果。

扩散损失的伪代码。参见算法1.

计算资源。我们的训练主要在16台 服务器上进行,每台配备8个V100 GPU。训练一个400个epoch的MAR-L模型需要\sim在这些GPU上需要2.6天。作为比较,在这个集群上训练DiT-XL/2和LDM-4模型相同数量的epoch分别需要4.6天和9.5天。

class DiffusionLoss(nn.Module)
    def __init__(depth, width):
        # SimpleMLP takes in x_t, timestep, and condition, and outputs predicted noise.
        self.net = SimpleMLP(depth, width)

        # GaussianDiffusion offers forward and backward functions q_sample and p_sample.
        self.diffusion = GaussianDiffusion()

    # Given condition z and ground truth token x, compute loss
    def loss(self, z, x):
        # sample random noise and timestep
        noise = torch.randn(x.shape)
        timestep = torch.randint(0, self.diffusion.num_timesteps, x.size(0))

        # sample x_t from x
        x_t = self.diffusion.q_sample(x, timestep, noise)

        # predict noise from x_t
        noise_pred = self.net(x_t, timestep, z)

        # L2 loss
        loss = ((noise_pred - noise) ** 2).mean()
        
        # optional: loss += loss_vlb
        
        return loss

    # Given condition and noise, sample x using reverse diffusion process
    def sample(self, z, noise):
        x = noise
        for t in list(range(self.diffusion.num_timesteps))[::-1]:
            x = self.diffusion.p_sample(self.net, x, t, z)
        return x

MAR与MAGE的比较

MAR(无论使用何种损失)在概念上与MAGE相关[29]。除了实现差异(例如,架构细节、超参数)之外,MAR和MAGE之间的一个主要概念差异在于推理时的扫描顺序。在MAGE中,遵循MaskGIT[4],下一个要预测的token的位置由每个位置的样本置信度动态确定,..,每一步更有可能选择置信度更高的位置[4, 29]。相比之下,MAR采用完全随机的顺序,其温度采样应用于每个token。表5在受控设置下比较了这一差异。第一行是我们的MAR实现,但使用了MAGE的即时排序策略,其结果与更简单的随机顺序对应物相似。完全随机的排序可以使训练和推理过程在顺序分布上保持一致;它还允许我们采用类似于自回归语言模型(例如,GPT[38, 39, 3]).

Table 5语义 HTML 转录
为了与MAGE进行概念比较,我们使用MAGE的策略运行MAR的推理,该策略通过跨空间域的置信度采样即时确定顺序。这些条目均基于LDM代码库提供的分词器[42].
顺序 损失 FID\downarrow IS\uparrow
MAR,我们的实现 即时 交叉熵 8.72 145.6
MAR,我们的实现 随机 交叉熵 8.79 146.1
MAR,我们的实现 随机 扩散损失 3.50 201.4

额外比较

自回归 像素空间中的图像生成

我们的MAR+DiffLoss方法也可以直接应用于建模 RGB像素空间,无需图像分词器。为了证明 这一点,我们在ImageNet 64上进行了实验×\times64,将每4×\times4个像素分组为一个单独的令牌,供 扩散损失建模。一个训练了400 个周期的MAR-L+DiffLoss模型在FID上达到了2.93,展示了 在自回归图像生成中消除分词器的潜力。然而,正如扩散模型 文献中普遍观察到的,直接建模像素空间比使用分词器在计算上 昂贵得多。对于MAR+DiffLoss, 在更高分辨率下直接建模像素可能需要 自回归变压器更长的序列长度,或者扩散损失需要更大的网络来处理更大的 补丁。我们将这一探索留待未来工作。

ImageNet 512×\times512

遵循先前的工作,我们还报告了在ImageNet上分辨率为512×\times512的结果, 与领先系统进行比较(表6)。为简单起见,我们使用KL-16分词器,其序列长度为32×\times32,对应512×\times512图像。其他设置遵循表4中描述的MAR-L配置。我们的方法在无CFG时FID为2.74,有CFG时为1.73。我们的结果与先前系统相比具有竞争力。由于资源有限,我们未在ImageNet 512×\times512上训练更大的MAR-H,预计其会有更好的结果。

Table 6语义 HTML 转录
ImageNet 512×512 条件生成的系统级比较。MAR 的 CFG scale 设为 4.0;其他设置沿用表 4 中的 MAR-L 配置。
类别模型参数量不使用 CFG使用 CFG
FID↓IS↑FID↓IS↑
pixel-based ADM[10] 554M 23.24 58.1 7.72 172.7
VDM++++ [26] 2B 2.99 232.2 2.65 278.1
vector-quantized tokens MaskGIT[4] 227M 7.32 156.0 - -
MAGVIT-v2[55] 307M 3.07 213.1 1.91 324.3
continuous-valued tokens U-ViT-H/2-G[2] 501M - - 4.05 263.8
DiT-XL/2[37] 675M 12.03 105.3 3.04 240.8
DiffiT[19] - - - 2.67 252.1
GIVT[48] 304M 8.35 - - -
EDM2-XXL[25] 1.5B 1.91 - 1.81 -
MAR-L, Diffusion Loss 481M 2.74 205.2 1.73 279.9

L2损失与扩散损失

对于连续值标记,一个朴素的基线是直接计算预测与目标标记之间的均方误差(MSE,,L2)损失。在光栅顺序的自回归模型中,使用L2损失不会引入随机性,因此无法生成多样化的样本。在带有L2损失的MAR模型中,唯一的随机性是序列顺序;对于任何给定的顺序,某个位置的预测是确定性的。在我们的实验中,我们训练了一个带有L2损失的MAR模型,正如预期的那样,这导致了灾难性的FID分数(>>100).

  1. 这里的编码器/解码器术语是在一般自编码器的意义上使用的,遵循MAE[21]。这与Transformer中的计算是因果的还是双向的无关[52].↩︎

LLM WIKI · CONTEXT READER

AI 论文解读

DeepSeek V4 Flash

Enter 发送 · Shift + Enter 换行 · Esc 关闭