25-7-1 论文学习(1)- Fractal Generative Models 何恺明大佬的论文
分形生成模型
Tianhong Li1 Qinyi Sun1 Lijie Fan2 Kaiming He1
摘要
模块化是计算机科学的基石,它将复杂函数抽象为原子构建块。在本文中,我们通过将生成模型抽象为原子生成模块,引入了新的模块化层次。类似于数学中的分形,我们的方法通过递归调用原子生成模块来构建一种新型生成模型,形成了自相似的分形架构,我们称之为分形生成模型。作为实例,我们使用自回归模型作为原子生成模块来实例化分形框架,并在逐像素图像生成这一具有挑战性的任务上进行了检验,结果表明其在似然估计和生成质量方面均表现出色。我们希望这项工作能够开启生成建模的新范式,并为未来的研究提供沃土。代码可在https://github.com/LTH14/fractalgen获取。
引言
计算机科学的核心在于模块化概念。例如,深度神经网络由作为模块化单元的原子 “层” 构建而成(Szegedy 等人,2015)。同样,现代生成模型,如扩散模型(Song 等人,2020)和自回归模型(Radford 等人,2018),由原子 “生成步骤” 构建,每个步骤由深度神经网络实现。通过将复杂函数抽象为这些原子构建块,模块化使我们能够通过组合这些模块来创建更复杂的系统。
基于这一概念,我们提出将生成模型本身抽象为一个模块,以开发更高级的生成模型。具体而言,我们引入了一种通过在自身内部递归调用同类生成模型来构建的生成模型。这种递归策略产生了一个生成框架,该框架展现出复杂的架构,在不同层次的模块间具有自相似性,如图 1 所示。
图 1:分形生成模型。本图展示了四个层次,放大后观看效果更佳。在此实例中,我们将自回归模型用于分形生成器。通过在自回归模型中递归调用自回归模型,我们构建了一个在不同层次间具有自相似性的类分形框架。
我们的提议类似于数学中分形的概念(Mandelbrot,1983)。分形是使用称为生成器的递归规则构建的自相似模式。同样,我们的框架也是通过在生成模型中递归调用生成模型的过程构建的,在不同层次间表现出自相似性。因此,我们将我们的框架命名为 “分形生成模型”。
分形或类分形是生物神经网络中常见的模式。多项研究为大脑及其功能网络中分形或尺度不变的小世界网络组织提供了证据(Bassett 等人,2006;Sporns,2006;Bullmore & Sporns,2009)。这些发现表明,大脑的发育在很大程度上采用了模块化的概念,从较小的神经网络递归构建较大的神经网络。
除了生物神经网络,自然数据通常也表现出分形或类分形模式。常见的分形模式从宏观结构如云层、树枝和雪花,到微观结构如晶体(Cannon 等人,2000)、染色质(Mirny,2011)和蛋白质(Enright & Leitner,2005)不等。更一般地说,自然图像也可以类比为分形。例如,一幅图像由本身也是图像的子图像组成(尽管它们可能遵循不同的分布)。因此,图像生成模型可以由本身也是图像生成模型的模块组成。
所提出的分形生成模型的灵感来自于在生物神经网络和自然数据中观察到的分形特性。与自然分形结构类似,我们设计的关键组件是定义递归生成规则的生成器。例如,这样的生成器可以是自回归模型,如图 1 所示。在此实例中,每个自回归模型由本身也是自回归模型的模块组成。具体而言,每个父自回归块生成多个子自回归块,每个子块进一步生成更多的自回归块。由此产生的架构在不同层次间表现出类分形的自相似模式。
图 2:我们的分形框架可以逐像素生成高质量图像。我们展示了通过在自回归模型中递归调用自回归模型来生成 256×256 图像的过程。我们还在 GitHub 存储库中提供了示例视频来展示生成过程。
我们在一个具有挑战性的测试平台上检验了这个分形实例:逐像素图像生成。直接对像素序列进行建模的现有方法在似然估计和生成质量方面都没有取得令人满意的结果(Hawthorne 等人,2022;Yu 等人,2023),因为图像不体现清晰的顺序。尽管困难,但逐像素生成代表了一类更广泛的重要生成问题:对具有内在结构的非顺序数据进行建模,这对于图像之外的许多数据类型尤其重要,如分子结构、蛋白质和生物神经网络。
我们提出的分形框架在这个具有挑战性但重要的任务上表现出强大的性能。它可以逐像素生成原始图像(图 2),同时实现准确的似然估计和高质量的生成。我们希望我们的有希望的结果将鼓励对分形生成模型的设计和应用的进一步研究,最终在生成建模中建立新的范式。
相关工作
2.1 分形
分形是一种几何结构,其特征是在不同尺度上的自相似性,通常由称为生成器的递归生成规则构建(Mandelbrot,1983)。分形在自然界中广泛存在,经典例子从宏观结构如云层、树枝和雪花,到微观结构如晶体(Cannon 等人,2000)、染色质(Mirny,2011)和蛋白质(Enright & Leitner,2005)不等。
除了这些更容易识别的分形,许多自然数据也表现出类分形特征。尽管它们不具有严格的自相似性,但它们仍然体现出类似的多尺度表示或模式,如图像(Freeman 等人,1991;Lowe,1999)和生物神经网络(Bassett 等人,2006;Sporns,2006;Bullmore & Sporns,2009)。从概念上讲,我们的分形生成模型自然适用于所有这些具有内在结构和不同尺度自相似性的非顺序数据;在本文中,我们通过基于图像的实例来展示其能力。
由于其递归生成规则,分形本质上表现出层次结构,这在概念上与计算机视觉中的层次设计原则相关。然而,计算机视觉中的大多数层次方法并不包含分形构建的基本递归或分治范式,也不在其设计中显示自相似性。层次结构、自相似性和递归的独特组合使我们的分形框架有别于接下来讨论的层次方法。
2.2 层次表示
从视觉数据中提取层次金字塔表示长期以来一直是计算机视觉中的重要主题。许多早期的手工设计特征,如可控滤波器、拉普拉斯金字塔和 SIFT,采用尺度空间分析来构建特征金字塔(Burt & Adelson,1987;Freeman 等人,1991;Lowe,1999;2004;Dalal & Triggs,2005)。在神经网络的背景下,层次设计对于捕获多尺度信息仍然很重要。例如,SPPNet(He 等人,2015)和 FPN(Lin 等人,2017)使用金字塔特征图构建多尺度特征层次结构。我们的分形框架也与 Swin Transformer(Liu 等人,2021)相关,它通过关注不同尺度的局部窗口来构建层次特征图。这些层次表示已被证明在各种图像理解任务中有效,包括图像分类、目标检测和语义分割。
2.3 层次生成模型
层次设计在生成建模中也被广泛使用。许多最近的方法采用两阶段范式,其中预训练的标记器将图像映射到紧凑的潜在空间,然后是对这些潜在代码的生成模型(van den Oord 等人,2017;Razavi 等人,2019;Esser 等人,2021;Ramesh 等人,2021)。另一个例子,MegaByte(Yu 等人,2023),实现了一个两尺度模型,具有全局和局部模块,用于更高效地对长像素序列进行自回归建模,尽管其性能仍然有限。
另一类研究侧重于尺度空间图像生成。级联扩散模型(Ramesh 等人,2022;Saharia 等人,2022;Pernias 等人,2023)训练多个扩散模型,从低分辨率到高分辨率逐步生成图像。最近,尺度空间自回归方法(Tian 等人,2024;Tang 等人,2024;Han 等人,2024)使用自回归 Transformer 一次生成一个尺度的标记。然而,对于这些自回归方法,在没有标记器的情况下生成图像通常成本过高,因为每个尺度的大量标记或像素导致每个尺度内注意力的二次计算成本。
2.4 模块化神经架构设计
模块化是计算机科学和深度学习中的基本概念,它将以前复杂的函数分解为简单的模块化单元。最早的模块化神经架构之一是 GoogleNet(Szegedy 等人,2015),它引入了 “inception 模块” 作为新的组织层次。后来的研究扩展了这一原则,设计了广泛使用的单元,如残差块(He 等人,2016)和 Transformer 块(Vaswani,2017)。最近,在生成建模领域,MAR(Li 等人,2024)将扩散模型模块化作为原子构建块,以对每个连续标记的分布进行建模,从而实现对连续数据的自回归建模。通过提供更高层次的抽象,模块化使我们能够使用现有方法作为构建块来构建更复杂和高级的神经架构。
在神经架构设计中递归应用模块化单元并整合分形概念的先驱方法是 FractalNet(Larsson 等人,2016),它通过递归调用简单的扩展规则来构建非常深的神经网络。虽然 FractalNet 与我们递归调用模块化单元以形成分形结构的核心思想相同,但它在两个关键方面与我们的方法不同。首先,FractalNet 使用一小段卷积层作为其模块化单元,而我们使用整个生成模型,代表不同的模块化层次。其次,FractalNet 主要设计用于分类任务,因此仅输出低维对数。相比之下,我们的方法利用分形模式的指数缩放行为来生成大量输出(例如,数百万图像像素),展示了分形启发设计在分类之外更复杂任务中的潜力。
分形生成模型
分形生成模型的核心思想是从现有的原子生成模块递归构建更高级的生成模型。在本节中,我们首先介绍分形生成模型的高层次动机和直觉。然后,我们使用自回归模型作为说明性原子模块,演示如何实例化分形生成模型并将其用于对非常高维的数据分布进行建模。
3.1 动机和直觉
分形是从简单递归规则中产生的复杂模式。在分形几何中,这些规则通常称为 “生成器”(Mandelbrot,1983)。使用不同的生成器,分形方法可以构建许多自然模式,如云层、山脉、雪花和树枝,甚至与更复杂的系统相关,如生物神经网络的结构(Bassett 等人,2006;Sporns,2006;Bullmore & Sporns,2009)、非线性动力学(Aguirre 等人,2009)和混沌系统(Mandelbrot 等人,2004)。
形式上,分形生成器 g 1 g_1 g1指定了如何基于前一级生成器的一个输出 x i x_i xi为下一级生成器生成一组新数据 x i + 1 {x_{i+1}} xi+1: x i + 1 = g i ( x i ) {x_{i+1}}=g_i(x_i) xi+1=gi(xi)。例如,如图 1 所示,生成器可以通过在每个灰色框内递归调用类似的生成器来构建分形。
由于每个生成器级别可以从单个输入产生多个输出,分形框架可以实现生成输出的指数增长,而只需要线性数量的递归级别。这一特性使其特别适合使用相对较少的生成器级别对高维数据进行建模。
具体而言,我们引入了一种分形生成模型,它使用原子生成模块作为参数化的分形生成器。通过这种方式,神经网络直接从数据中 “学习” 递归规则。通过将分形输出的指数增长与神经生成模块相结合,我们的分形框架实现了对高维非顺序数据的建模。接下来,我们演示如何使用自回归模型作为分形生成器来实例化这个想法。
3.2 作为分形生成器的自回归模型
在本节中,我们说明如何使用自回归模型作为分形生成器来构建分形生成模型。我们的目标是对一大组随机变量 x 1 , ⋯ , x N x_1,\cdots,x_N x1,⋯,xN的联合分布进行建模,但使用单个自回归模型直接建模在计算上是不可行的。为了解决这个问题,我们采用分治策略。关键的模块化是将自回归模型抽象为对概率分布 p ( x ∣ c ) p(x|c) p(x∣c)进行建模的模块化单元。通过这种模块化,我们可以在多个下一级自回归模型的基础上构建更强大的自回归模型。
假设每个自回归模型中的序列长度是一个可管理的常数 k,并且随机变量的总数 N = k n N=k^n N=kn,其中 n = l o g k ( N ) n=log_k(N) n=logk(N)表示我们分形框架中的递归级别数。然后,分形框架的第一个自回归级别将联合分布划分为 k 个子集,每个子集包含 k n − 1 k^{n-1} kn−1个变量。形式上,我们将 p ( x 1 , ⋯ , x k n ) p(x_1,\cdots,x_{k^n}) p(x1,⋯,xkn)分解为:
∏ i = 1 k p ( x ( i − 1 ) ⋅ k n − 1 + 1 , ⋯ , x i ⋅ k n − 1 ∣ x 1 , ⋯ , x ( i − 1 ) ⋅ k n − 1 ) \prod_{i=1}^{k} p(x_{(i-1)·k^{n-1}+1},\cdots,x_{i·k^{n-1}} | x_1,\cdots,x_{(i-1)·k^{n-1}}) ∏i=1kp(x(i−1)⋅kn−1+1,⋯,xi⋅kn−1∣x1,⋯,x(i−1)⋅kn−1)
然后,每个具有 k n − 1 k^{n-1} kn−1个变量的条件分布 p ( ⋯ ∣ ⋯ ) p(\cdots | \cdots) p(⋯∣⋯)由第二个递归级别的自回归模型建模,依此类推。通过递归调用这种分治过程,我们的分形框架可以使用 n 级自回归模型有效地处理 k n k^n kn个变量的联合分布,每个级别处理可管理的序列长度k。
这个递归过程代表了一种标准的分治策略。通过递归分解联合分布,我们的分形自回归架构不仅与单个大型自回归模型相比显著降低了计算成本,而且捕获了数据内部的内在层次结构。
从概念上讲,只要数据表现出可以以分治方式组织的结构,就可以在我们的分形框架中自然建模。为了提供更具体的示例,在下一节中,我们实现这种方法来解决逐像素图像生成这一具有挑战性的任务。
图像生成实例
现在,我们介绍分形生成模型的一个具体实现,在逐像素图像生成这一具有挑战性的任务上进行实例化。尽管我们在本文中使用图像生成作为测试平台,但相同的分治架构可能潜在地适用于其他数据领域。接下来,我们首先讨论逐像素图像生成的挑战和重要性。
4.1 逐像素图像生成
逐像素图像生成在生成建模中仍然是一个重大挑战,因为原始图像数据的高维度和复杂性。此任务要求模型能够高效处理大量像素,同时有效地学习它们之间丰富的结构模式和相互依赖关系。因此,逐像素图像生成已成为一个具有挑战性的基准,大多数现有方法在似然估计方面仍然有限,无法生成令人满意的图像(Child 等人,2019;Hawthorne 等人,2022;Yu 等人,2023)。
尽管具有挑战性,但逐像素生成代表了一类更广泛的重要高维生成问题。这些问题旨在逐个元素生成数据,但与长序列建模的不同之处在于它们通常涉及非顺序数据。例如,许多结构,如分子构型、蛋白质和生物神经网络,不表现出顺序架构,但体现非常高维和结构化的数据分布。通过选择逐像素图像生成作为我们分形框架的实例,我们的目标不仅是解决计算机视觉中的一个关键挑战,而且是展示我们分形方法在解决更广泛的对具有内在结构的高维非顺序数据进行建模的问题中的潜力。
4.2 架构
如图 3 所示,每个自回归模型将前一级生成器的输出作为输入,并为下一级生成器产生多个输出。它还接收一幅图像(可以是原始图像的一个补丁),将其分割成补丁,并对它们进行嵌入以形成 Transformer 模型的输入序列。这些补丁也被馈送到相应的下一级生成器。然后,Transformer 将前一个生成器的输出作为单独的标记,放在图像标记之前。基于这个组合序列,Transformer 为下一级生成器产生多个输出。
遵循视觉 Transformer 和图像生成模型的常见实践(Dosovitskiy 等人,2020;Peebles & Xie,2023),我们将第一个生成器 g 0 g_0 g0的序列长度设置为 256,将原始图像分割成 16×16 个补丁。然后,第二级生成器对每个补丁进行建模,并进一步将它们细分为更小的补丁,递归地继续这个过程。为了管理计算成本,我们逐步减少较小补丁的宽度和 Transformer 块的数量,因为对较小补丁进行建模通常比较大补丁更容易。在最后一级,我们使用非常轻量级的 Transformer 来以自回归方式对每个像素的 RGB 通道进行建模,并对预测应用 256 路交叉熵损失。不同递归级别和分辨率下每个 Transformer 的具体配置和计算成本在表 1 中详细说明。值得注意的是,通过我们的分形设计,对 256×256 图像进行建模的计算成本仅为对 64×64 图像进行建模的两倍。
表 1:我们的大型模型在不同自回归级别的模型配置、参数和计算成本。计算成本通过批量大小为 1 的训练中每次前向传递的 GFLOPs 来衡量。值得注意的是,由于分形设计,对 256×256 图像进行建模的总计算成本仅为对 64×64 图像进行建模的两倍。
图像分辨率 | 64×64×3 | 256×256×3 |
---|---|---|
g1 序列长度 | 256 | 256 |
g2 序列长度 | 16 | 16 |
g3 序列长度 | - | 3 |
g4 序列长度 | - | 3 |
g1 层数 | 32 | 32 |
g2 层数 | 8 | 8 |
g3 层数 | 3 | 4 |
g4 层数 | 1 | - |
g1 隐藏维度 | 1024 | 1024 |
g2 隐藏维度 | 512 | 512 |
g3 隐藏维度 | 128 | 256 |
g4 隐藏维度 | 64 | - |
g1 参数(M) | 403 | 403 |
g2 参数(M) | 25 | 25 |
g3 参数(M) | 0.6 | 3 |
g4 参数(M) | 0.1 | - |
g1 计算量(GFLOPs) | 215 | 215 |
g2 计算量(GFLOPs) | 208 | 208 |
g3 计算量(GFLOPs) | 15 | 419 |
g4 计算量(GFLOPs) | 22 | - |
遵循 Li 等人(2024)的研究,我们的方法支持不同的自回归设计。在这项工作中,我们主要考虑两种变体:光栅顺序、类似 GPT 的因果 Transformer(AR)和随机顺序、类似 BERT 的双向 Transformer(MAR)(图 6)。这两种设计都遵循下一标记预测的自回归原则,各有优缺点,我们将在附录 B 中详细讨论。我们将使用 AR 变体的分形框架命名为 FractalAR,使用 MAR 变体的命名为 FractalMAR。
图 3:我们的分形方法在逐像素图像生成上的实例化。在每个分形层级中,自回归模型接收前一个生成器的输出,将其与相应的图像补丁连接,并使用多个 Transformer 块为下一个生成器生成一组输出。
4.3 与尺度空间自回归模型的关系
最近,已经引入了几种模型,用于自回归图像生成中的下一尺度预测(Tian 等人,2024;Tang 等人,2024;Han 等人,2024)。这些尺度空间自回归模型与我们提出的方法之间的一个主要区别是,它们使用单个自回归模型按尺度预测标记。相比之下,我们的分形框架采用分治策略,使用生成子模块递归地对原始像素进行建模。另一个关键区别在于计算复杂度:尺度空间自回归模型在生成下一尺度标记时需要对整个下一尺度标记序列进行全注意力,这导致计算复杂度显著更高。
例如,当生成分辨率为 256×256 的图像时,在最后一个尺度,尺度空间自回归模型的每个注意力块中的注意力矩阵大小为 (256×256)²=4,294,967,296。相比之下,我们的方法在对像素的相互依赖关系进行建模时,对非常小的补丁(4×4)进行注意力,每个补丁的注意力矩阵仅为 (4×4)²=256,从而导致总注意力矩阵大小为 (64×64)×(4×4)²=1,048,576 次操作。这种减少使我们的方法在最高分辨率下的计算效率提高了 4000 倍,从而首次实现了对高分辨率图像的逐像素建模。
4.4 与长序列建模的关系
大多数以前关于逐像素生成的工作将问题表述为长序列建模,并利用语言建模的方法来解决它(Child 等人,2019;Roy 等人,2021;Ren 等人,2021;Hawthorne 等人,2022;Yu 等人,2023)。然而,许多数据类型的内在结构,包括但不限于图像,超出了一维序列。与这些方法不同,我们将此类数据视为由多个元素组成的集合(而不是序列),并采用分治策略,用元素更少的较小子集进行递归建模。这种方法的动机是观察到许多此类数据表现出类分形结构:图像由子图像组成,分子由子分子组成,生物神经网络由子网络组成。因此,设计用于处理此类数据的生成模型应该由本身也是生成模型的子模块组成。
4.5 实现
我们简要描述分形图像生成框架的训练和生成过程。更多细节和超参数可以在附录 A 中找到。
训练:我们通过以广度优先的方式遍历分形架构,对原始图像像素进行端到端的分形模型训练。在训练期间,每个自回归模型接收来自前一个自回归模型的输入,并为下一级自回归模型生成一组输出作为输入。这个过程一直持续到最后一级,在那里图像被表示为像素序列。最后一个自回归模型使用每个像素的输出来以自回归方式预测 RGB 通道。我们对预测的对数几率计算交叉熵损失(将 RGB 值视为 0 到 255 之间的离散整数),并将此损失反向传播通过所有级别的自回归模型,从而对整个分形框架进行端到端的训练。
生成:我们的分形模型以逐像素的方式生成图像,遵循深度优先的顺序遍历分形架构,如图 2 所示。这里我们以 MAR(Li 等人,2024)的随机顺序生成方案为例。第一级自回归模型捕获 16×16 图像补丁之间的相互依赖关系,在每个步骤中,它基于已知的补丁为下一级生成输出。然后,第二级模型利用这些输出来对每个 16×16 补丁内的 4×4 补丁之间的相互依赖关系进行建模。同样,第三级自回归模型对每个 4×4 补丁内的单个像素之间的相互依赖关系进行建模。最后,最后一级自回归模型从自回归预测的 RGB 对数几率中采样实际的 RGB 值。
表 2:更多的分形层级以更低的计算成本实现更好的似然估计性能,在无条件 ImageNet 64×64 测试集上测量。NLL 以比特 / 维度报告。g1、g2 和 g3 的网络配置见表 1。
模型 | g1 序列长度 | g2 序列长度 | g3 序列长度 | 计算量(GFLOPs) | NLL(越低越好) |
---|---|---|---|---|---|
AR,全长 | 12288 | - | - | 29845 | 未提供 |
MAR,全长 | 12288 | - | - | 29845 | 未提供 |
AR,2 层级 | 4096 | 3 | - | 5516 | 3.34 |
MAR,2 层级 | 4096 | 3 | - | 5516 | 3.36 |
FractalAR(3 层级) | 256 | 16 | 3 | 438 | 3.14 |
FractalMAR(3 层级) | 256 | 16 | 3 | 438 | 3.15 |
表 3:与其他基于似然的模型在无条件 ImageNet 64×64 测试集上的比较。NLL 以比特 / 维度报告。FractalAR 和 FractalMAR 均取得了有竞争力的性能。†我们将流匹配视为扩散模型的广义形式。
模型 | 类型 | NLL(越低越好) |
---|---|---|
iDDPM(Nichol & Dhariwal,2021) | 扩散模型 | 3.53 |
VDM(Kingma 等人,2021) | 扩散模型 | 3.40 |
FM(Lipman 等人,2022) | 扩散模型† | 3.31 |
NFDM(Bartosh 等人,2024) | 扩散模型 | 3.20 |
PixelRNN(van den Oord 等人,2016b) | 自回归模型 | 3.63 |
PixelCNN(van den Oord 等人,2016a) | 自回归模型 | 3.57 |
稀疏 Transformer(Child 等人,2019) | 自回归模型 | 3.44 |
路由 Transformer(Roy 等人,2021) | 自回归模型 | 3.43 |
Combiner AR(Ren 等人,2021) | 自回归模型 | 3.42 |
Perceiver AR(Hawthorne 等人,2022) | 自回归模型 | 3.40 |
MegaByte(Yu 等人,2023) | 自回归模型 | 3.40 |
FractalAR | 分形模型 | 3.14 |
FractalMAR | 分形模型 | 3.15 |
实验
我们在 ImageNet 数据集(Deng 等人,2009)上进行了广泛的实验,分辨率为 64×64 和 256×256。我们的评估包括无条件和类条件图像生成,涵盖了模型的各个方面,如似然估计、保真度、多样性和生成质量。因此,我们报告了负对数似然(NLL)、弗雷歇初始距离(FID)(Heusel 等人,2017)、初始分数(IS)(Salimans 等人,2016)、精度和召回率(Dhariwal & Nichol,2021)以及可视化结果,以全面评估我们的分形框架。
5.1 似然估计
我们首先在无条件 ImageNet 64×64 生成上评估我们的方法,以评估其似然估计能力。为了检验我们分形框架的有效性,我们比较了不同分形层级的似然估计性能,如表 2 所示。使用单个自回归模型对整个 64×64×3=12,288 像素序列进行建模会导致计算成本过高,使训练不可行。此外,先对整个像素序列进行建模,然后对 RGB 通道进行建模的两层分形框架,其计算量是我们三层分形模型的十倍以上。采用更多的分形层级不仅计算效率更高,而且提高了似然估计性能,这可能是因为它更好地捕获了图像的内在层次结构。这些结果证明了我们分形框架的效率和有效性。
我们在表 5 中进一步将我们的方法与其他基于似然的模型进行了比较。我们的分形生成模型,使用因果和掩码自回归分形生成器进行实例化,均取得了强大的似然性能。特别是,它实现了 3.14 比特 / 维度的负对数似然,显著优于之前最好的自回归模型(3.40 比特 / 维度),并与先进的基于扩散的方法保持竞争力。这些发现证明了我们分形框架在逐像素图像生成这一具有挑战性的任务上的有效性,突出了其在建模高维非顺序数据分布方面的有希望的潜力。
5.2 生成质量
我们还在分辨率为 256×256 的类条件图像生成这一具有挑战性的任务上评估了 FractalMAR,使用四个分形层级。我们按照标准实践报告了包括 FID、初始分数、精度和召回率在内的标准指标,以评估其生成质量,如表 4 所示。具体而言,FractalMAR-H 实现了 6.15 的 FID 和 348.9 的初始分数,平均吞吐量为每图像 1.29 秒(在单个 Nvidia H100 PCIe GPU 上以批量大小 1,024 评估)。值得注意的是,我们的方法取得了强大的初始分数和精度,表明其能够生成具有高保真度和细粒度细节的图像,如图 4 所示。然而,其 FID 和召回率相对较弱,表明生成的样本与其他方法相比多样性较低。我们假设这是由于以逐像素方式对近 200,000 个像素进行建模的重大挑战。尽管如此,这些结果突出了我们的方法不仅在准确的似然估计方面,而且在生成高质量图像方面的有效性。
我们进一步观察到一个有希望的缩放趋势:将模型大小从 186M 参数增加到 848M 参数,FID 从 11.80 显著提高到 6.15,召回率从 0.29 提高到 0.46。我们预计参数的进一步缩放可以进一步缩小 FID 和召回率的差距。与依赖标记器的模型不同,我们的方法没有标记化引入的重建误差,这表明随着模型容量的增加,性能可能会无限制地提高。
表 4:ImageNet 256×256 生成的样本质量评估。FractalMAR 是此表中唯一的逐像素框架。我们还提供了其他像素级生成方法的性能作为参考。
模型类型 | 参数数量 | FID(越低越好) | IS(越高越好) | 精度(越高越好) | 召回率(越高越好) | |
---|---|---|---|---|---|---|
BigGAN-deep | GAN | 160M | 6.95 | 198.2 | 0.87 | 0.28 |
GigaGAN | GAN | 569M | 3.45 | 225.5 | 0.84 | 0.61 |
StyleGAN-XL | GAN | 166M | 2.30 | 265.1 | 0.78 | 0.53 |
ADM | 扩散模型 | 554M | 3.54 | 205.3 | 0.82 | 0.52 |
VDM++ | 扩散模型 | 2B | 4.59 | 186.7 | 0.82 | 0.52 |
Simple 扩散模型 | 扩散模型 | 2B | 2.12 | 267.7 | 0.52 | |
SiD2 | 扩散模型 | - | 1.38 | - | - | |
JetFormer | AR + 流模型 | 2.8B | 6.64 | 0.69 | 0.56 | |
FractalMAR-B | 分形模型 | 186M | 11.80 | 274.3 | 0.78 | 0.29 |
FractalMAR-L | 分形模型 | 438M | 7.30 | 334.9 | 0.79 | 0.44 |
FractalMAR-H | 分形模型 | 848M | 6.15 | 348.9 | 0.81 | 0.46 |
5.3 条件逐像素预测
我们进一步使用图像编辑中的常规任务来检验我们方法的条件逐像素预测性能。图 5 提供了几个示例,包括图像修复、图像外画、去裁剪和类条件编辑。如图所示,我们的方法可以基于未掩码区域准确预测掩码像素。此外,它可以有效地从类标签中捕获高级语义,并将其反映在预测像素中。类条件编辑示例说明了这一点,其中模型通过以狗的类标签为条件,将猫的脸替换为狗的脸。这些结果证明了我们的方法在给定已知条件下预测未知数据的有效性。
更广泛地说,通过逐个元素生成数据,我们的方法提供了一种比扩散模型或在潜在空间中操作的生成模型更易于人类解释的生成过程。这种可解释的生成过程不仅使我们能够更好地理解数据是如何生成的,而且还提供了一种控制和与生成交互的方式。这些能力在视觉内容创建、建筑设计和药物发现等应用中尤为重要。我们的有希望的结果突出了我们的方法在可控和交互式生成方面的潜力,为这一方向的未来探索铺平了道路。
讨论和结论
我们提出的分形生成模型在逐像素生成这一具有挑战性的任务上的有效性,为生成模型的设计提供了新的机会。它强调了将复杂数据分布分解为可管理的子问题,并通过将现有生成模型抽象为模块化单元来解决这些子问题的潜力。我们相信,分形生成模型特别适合对超出一维顺序的具有内在结构的数据进行建模。我们希望我们方法的简单性和有效性将激励研究社区探索分形生成模型的新颖设计和应用。
更广泛的影响。我们的主要目标是推进生成模型的基础研究。与所有生成模型类似,如果我们的方法被滥用以产生虚假信息或放大偏见,可能会有潜在的负面社会后果。然而,这些考虑超出了本文的范围,因此没有详细讨论。
A. 实现细节
在这里,我们提供分形生成模型的训练和生成过程的更多实现细节。
训练。当使用多个级别的自回归模型对高分辨率图像进行建模时,我们发现在自回归序列中包含一个 “引导像素” 略有帮助。具体而言,模型首先使用前一个生成器的输出来预测当前输入图像的平均像素值。然后,这个平均像素值作为 Transformer 的额外条件。通过这种方式,每个生成器在预测细粒度细节之前以全局上下文开始。我们仅在 ImageNet 256×256 的实验中应用此 “引导像素”。
由于我们的自回归模型将图像分割成补丁,在生成过程中可能导致补丁边界不一致。为了解决这个问题,我们不仅将当前补丁的输出提供给下一级生成器,还将周围四个补丁的输出提供给它。尽管合并这些额外输入会略微增加序列长度,但它显著减少了补丁边界伪影。
默认情况下,模型使用 AdamW 优化器(Loshchilov & Hutter,2019)训练 800 个 epoch(FractalMAR-H 模型训练 600 个 epoch)。AdamW 的权重衰减和动量分别为 0.05 和 (0.9, 0.95)。我们对 ImageNet 64×64 使用批量大小 2048,对 ImageNet 256×256 使用批量大小 1024,基础学习率 (lr) 为 5e-5(按批量大小除以 256 进行缩放)。模型采用 40 个 epoch 的线性 lr 预热 (Goyal 等人,2017),随后是余弦 lr 调度。
生成。遵循文献中的常见做法 (Chang 等人,2022; 2023; Li 等人,2023),我们为类条件生成实现了无分类器引导 (CFG) 和温度缩放。为了便于 CFG (Ho & Salimans,2022),在训练期间,10% 的样本中类条件被替换为虚拟类标记。在推理时,模型同时使用给定的类标记和虚拟标记运行,为每个像素通道生成两组对数几率 l c l_c lc和 l u l_u lu。然后根据以下公式调整预测的对数几率: l = l u + ω ⋅ ( l c − l u ) l = l_u + \omega \cdot (l_c - l_u) l=lu+ω⋅(lc−lu),其中 ω \omega ω是引导尺度。我们在推理期间对第一级自回归模型采用线性 CFG 调度,如 (Chang 等人,2023) 中所述。我们对引导尺度和温度的不同组合进行扫描,以确定每个条件生成模型的最佳设置。
我们还观察到,当像素值的预测概率非常小时,CFG 可能会遭受数值不稳定性。为了缓解这个问题,我们在应用 CFG 之前对条件对数几率应用阈值为 0.0001 的顶部 - P 采样。
B. 附加结果
B.1 类条件 ImageNet 64×64
我们在 ImageNet 64×64 上评估类条件图像生成,按照标准实践报告 FID。与 PixelCNN (van den Oord 等人,2016a) 一致,我们发现类条件对 NLL 的影响可以忽略不计,但显著提高了视觉质量和 FID。结果表明,我们的分形生成模型可以实现与经典生成模型相当的性能。
B.2 AR 和 MAR 变体比较
我们还比较了 AR 和 MAR 变体的性能,其结构如图 6 所示。AR 变体利用键值缓存来加速生成,而 MAR 变体采用双向注意力,更自然地与图像建模保持一致,并支持多个补丁的并行预测,从而提高计算效率。如表所示,我们的两个模型都取得了良好的性能,总体而言 FractalMAR 优于 FractalAR,如 (Li 等人,2024) 中所示。因此,我们选择在 ImageNet 256×256 的条件图像合成中使用 MAR 变体。
表 5:与经典生成模型在条件 ImageNet 64×64 上的比较
模型 | 类型 | FID(越低越好) |
---|---|---|
iDDPM(Nichol & Dhariwal,2021) | 扩散模型 | 2.92 |
StyleGAN-XL (Sauer 等人,2022) | GAN | 1.51 |
一致性模型 (Song 等人,2023) | 一致性模型 | 4.70 |
MAR (Li 等人,2024) | AR + 扩散模型 | 2.93 |
FractalAR | 分形模型 | 5.30 |
FractalMAR | 分形模型 | 2.72 |
B.3 像素建模
我们还研究了不同的像素建模顺序如何影响性能。我们实验了三种自回归顺序:RGB、GRB 和 BGR,以及将 RGB 通道转换为 YCbCr 颜色空间。结果总结在表 6 中。我们发现,虽然所有顺序都取得了相似的负对数似然值,但 FID 在自回归顺序之间略有不同(请注意,YCbCr 空间中的 NLL 与 RGB 空间中的不可比)。这种变化可能是因为,类似于人类视觉,用于计算 FID 的 Inception 模型比蓝色通道更重视红色和绿色通道 (Mustafi 等人,2009)。尽管如此,自回归顺序的选择不会导致显著的性能差异,证明了我们方法的鲁棒性。
表 6:每个像素内通道建模的不同顺序会略微影响生成性能。所有模型在 ImageNet 64×64 上训练 400 个 epoch。
顺序 | NLL(越低越好) | FID(越低越好) |
---|---|---|
Y→Cb→Cr | 未提供 | 3.55 |
B→R→G | 3.17 | 3.32 |
G→R→B | 3.17 | 3.14 |
R→G→B | 3.17 | 3.15 |
B.4 附加定性结果
我们在图 7 中进一步提供了 ImageNet 256×256 上的附加条件生成结果,在图 8 中提供了附加的条件逐像素预测结果。
图 7:FractalMAR-H 在 ImageNet 256×256 上的附加逐像素生成结果
图 8:附加的条件逐像素预测结果,包括图像修复、图像外画和去裁剪。