近日,Meta 和 Waymo 发布了最新论文《Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model》,该论文将流行的 Transformer 模型与 Diffusion 模型相结合,用于多模态训练和预测。
与 Meta 之前的工作一样,Transfusion 模型基于 Llama 架构和早期融合,该架构同时采用文本标记序列和图像标记序列,并使用单个 Transformer 模型生成预测。但与之前的技术不同,Transfusion 模型对图像标记的处理方式不同:
带有预训练任务
的 Transfusion
模型架构。
文本预训练是下
一个单词预测任务。
图像预训练是去噪扩散任务。图片来源:
https://www.arxiv.org/pdf/2408.11039
如今,大型语言模型 (LLM) 主要基于 Transformer 架构,该架构于 2017 年在《Attention is All You Need》论文中提出。Transformer 架构包含两部分:编码器和解码器。
像 BERT 这样的掩码语言模型使用经过随机双向掩码标记预测任务(以及下一个句子预测)预训练的编码器部分。对于像最新的 LLM 这样的自回归模型,解码器部分通常在下一个标记预测任务上进行训练,其中 LM 损失最小化:
在上面的等式中,theta 是模型参数集,y_i 是长度为 n 的序列中索引 i 处的标记。y
Diffusion 模型是计算机视觉(尤其是医学图像分析)中常用于图像生成/去噪等目的的一系列深度学习模型。最著名的 Diffusion 模型之一是 DDPM,它来自 2020 年发表的 Denoising 扩散概率模型论文。该模型是一个参数化的马尔可夫链,包含后向和前向转换,如下所示。
什么是马尔可夫链?这是一个统计过程,其中当前步骤仅依赖于前一步,而反向则相反。通过假设马尔可夫过程,模型可以从干净的图像开始,在前向过程中迭代添加高斯噪声(上图中的右 -> 左),并在反向过程中使用基于 Unet 的架构迭代“学习”噪声(上图中的左 -> 右)。这就是为什么我们有时可以将扩散模型视为生成模型(从左到右使用时),有时将其视为去噪模型(从右到左使用时)。DDPM 损失如下所示,其中 theta 是模型参数集,epsilon 是已知噪声,epsilon_theta 是深度学习模型(通常是 UNet)估计的噪声:
在 CVPR’22 论文中,扩散(diffusion)的概念被进一步扩展到潜在空间,其中首先使用预训练的变分自动编码器 (VAE) 的编码器部分将图像“压缩”到潜在空间。然后,在潜在空间上执行扩散和逆过程,并使用 VAE 的解码器部分将其映射回像素空间。这可以大大提高学习速度和效率,因为大多数计算都是在低维空间中执行的。
Transfusion 模型的核心部分是将输入图像的扩散和变换器进行融合。首先,将图像分成 8*8 的块序列;每个块被传入预先训练的 VAE 编码器以“压缩”为 8 元素的潜在向量表示。然后,将噪声添加到潜在表示中,并通过线性层/U-Net 编码器进一步处理以生成“嘈杂的”x_t。第三,Transformer 模型处理嘈杂的潜在表示序列。最后,输出由另一个线性/U-Net 解码器进行反向处理,然后使用 VAE 解码器生成“真实的”x_0 图像。
在实际实现中,图像的开头(BOI)标记和图像的结尾(EOI)标记在连接文本标记之前被填充到图像表示序列的两侧。图像训练的自注意力是双向注意力,而文本标记的自注意力是因果的。在训练阶段,图像序列的损失是 DDPM 损失,而其余文本标记使用 LM 损失。
那么为什么要费心呢?为什么我们需要如此复杂的程序来处理图像补丁标记?本文解释说,文本和图像的标记空间是不同的。虽然文本标记是离散的,但图像标记/补丁自然是连续的。在以前的技术中,图像标记需要先“离散化”才能融合到 Transformer 模型中,而直接集成 Diffusion 模型可以解决这个问题。