今天,大多数生成图像模型基本上可以分为两大类:扩散模型(如Stable Diffusion)或自回归模型(如OpenAI的GPT-4o)。但苹果刚刚发布了两篇论文,展示了如何有一种第三种、被遗忘的技术可能实现:归一化流(Normalizing Flows)。而且,在上面加上Transformer,它们的能力可能会超过之前所想。
第一部分:什么是归一化流?
归一化流(NFs)是一种AI模型,它通过学习如何将现实世界的数据(例如图像)数学上转化为结构化的噪声,并且反过来将这种过程逆转,生成新的样本。
最大的优点是它们可以计算出每个生成图像的精确概率,而扩散模型无法做到这一点。这对于那些需要理解结果概率的任务来说非常吸引人。
但是,这就是为什么最近很少有人听说它们的原因:早期基于流的方法生成的图像看起来模糊或缺乏与基于扩散和基于变换的系统相比在细节和多样性上的优势。
研究1:TarFlow
在论文“Normalizing Flows are Capable Generative Models”中,苹果引入了一个新的模型,称为TarFlow(简写为Transformer AutoRegressive Flow)。
TarFlow的核心在于它取代了之前用于流模型的手工构建层,而是使用了基于Transformer的块。基本上,它将图像分成小块,并按顺序生成每一小块,每一块都是基于之前所有块的信息。这就是自回归的概念,这也是目前OpenAI用于图像生成的方法。
关键的区别在于,虽然OpenAI生成离散的令牌,将图像视为像文本符号一样的一串字符,而苹果的TarFlow直接生成像素值,没有对图像进行分词处理。这是一个小但重要的区别,因为它允许苹果避免将图像压缩成固定词汇表中的符号所带来的质量和刚性问题。
尽管如此,在生成大规模、高分辨率的图像时仍然存在限制。这就是研究2的内容。
研究2:STARFlow
在论文“STARFlow: Scaling Latent Normalizing Flows for High-resolution Image Synthesis”中,苹果基于TarFlow开发了STARFlow(Scalable Transformer AutoRegressive Flow),并对其进行了关键升级。
最大的变化是:STARFlow不再直接在像素空间生成图像。相反,它基本上工作在图像的压缩版本上,并将这些内容传递给一个解码器,在最终步骤将其放大回全分辨率。
这种转向称为潜在空间意味着STARFlow不需要直接预测数百万个像素。它可以在更广泛地处理图像结构后,将细节纹理留给解码器。
此外,苹果还重新设计了模型处理文本提示的方式。与之前构建专门的文本编码器不同,STARFlow可以嵌入现有的语言模型(例如Google的小型语言模型Gemma,理论上可以在设备上运行)来处理文本理解,当用户指示模型生成图像时。这使得模型在生成视觉细节方面专注于图像生成。
STARFlow与OpenAI的4o图像生成器的比较
虽然苹果正在重新思考流,但OpenAI最近也突破了扩散方法,推出了GPT-4o模型。但是他们的方法从根本上是不同的。
GPT-4o将图像视为离散的令牌序列,类似于句子中的单词。当你要求ChatGPT生成一张图片时,模型会一次一个地预测图像的令牌,一步一步地构建图片。这给了OpenAI极大的灵活性:同一个模型可以在同一通令牌流中生成文本、图片和音频。
但是代价是按令牌生成的逐个生成可能很慢,特别是对于大型或高分辨率的图片。而且计算成本非常高。但由于GPT-4o完全在云端运行,OpenAI在这方面受到的限制较少。
简而言之:苹果和OpenAI都在超越扩散方法,但而OpenAI正在为数据中心构建模型,而苹果显然正在为我们的口袋构建模型。