Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

丢掉注意力的扩散模型:Mamba带火的SSM被苹果、康奈尔盯上了

替代注意力机制,SSM 真的大有可为?

为了用更少的算力让扩散模型生成高分辨率图像,注意力机制可以不要,这是康奈尔大学和苹果的一项最新研究所给出的结论。

图片

众所周知,注意力机制是 Transformer 架构的核心组件,对于高质量的文本、图像生成都至关重要。但它的缺陷也很明显,即计算复杂度会随着序列长度的增加呈现二次方增长。这在长文本、高分辨率的图像处理中都是一个令人头疼的问题。

为了解决这个问题,这项新研究用一个可扩展性更强的状态空间模型(SSM)主干替代了传统架构中的注意力机制,开发出了一个名为 Diffusion State Space Model(DIFFUSSM)的新架构。这种新架构可以使用更少的算力,媲美或超越具有注意力模块的现有扩散模型的图像生成效果,出色地生成高分辨率图像。

图片

得益于上周「Mamba」的发布,状态空间模型 SSM 正受到越来越多的关注。Mamba 的核心在于引入了一种新的架构 ——「选择性状态空间模型( selective state space model)」,这使得 Mamba 在语言建模方面可以媲美甚至击败 Transformer。当时,论文作者 Albert Gu 表示,Mamba 的成功让他对 SSM 的未来充满了信心。如今,康奈尔大学和苹果的这篇论文似乎又给 SSM 的应用前景增加了新的例证。

图片

微软首席研究工程师 Shital Shah 提醒说,注意力机制可能要从坐了很久的王座上被拉下来了。

图片

论文概览

图像生成领域的迅速进展得益于去噪扩散概率模型(DDPMs)。这类模型将生成过程建模为迭代去噪潜变量,当执行足够的去噪步骤时,它们能够产生高保真度的样本。DDPMs 捕捉复杂视觉分布的能力使其在推动高分辨率、照片级合成方面具有潜在的优势。

在将 DDPMs 扩展到更高分辨率方面仍然存在重要的计算挑战。主要瓶颈是在实现高保真生成时依赖自注意力。在 U-Nets 架构中,这个瓶颈来自将 ResNet 与注意力层相结合。DDPMs 超越了生成对抗网络 (GANs),但需要多头注意力层。在 Transformer 架构中,注意力是中心组件,因此对于实现最新的图像合成结果至关重要。在这两种架构中,注意力的复杂性,与序列长度成二次方关系,所以当处理高分辨率图像时将变得不可行。

计算成本促使以往的研究者们使用表示压缩方法。高分辨率架构通常采用分块化(patchifying)或多尺度分辨率。通过分块化可以创建粗粒度表示,降低计算成本,但代价是牺牲关键的高频空间信息和结构完整性。多尺度分辨率虽然可以减少注意层的计算,但也会通过降采样减少空间细节并在应用上采样时引入伪影。

扩散状态空间模型(DIFFUSSM)是一种不使用注意力机制的扩散架构,它旨在解决在高分辨率图像合成中应用注意力机制时出现的问题。DIFFUSSM 在扩散过程中采用了门控状态空间模型 (SSM)。之前的研究表明,基于 SSM 的序列模型是一种有效而且高效的通用神经序列模型。通过使用这种架构,可以使 SSM 核心处理更细粒度的图像表示,消除全局分块化或多尺度层。为进一步提高效率,DIFFUSSM 在网络的密集组件中采用沙漏 (hourglass) 架构。

作者在不同分辨率下验证了 DIFFUSSM 的性能。在 ImageNet 上的实验证明,在各种分辨率下,DIFFUSSM 在 FID、sFID 和 Inception Score 上都取得了一致的改进,并且总 Gflops 更少。

图片

论文链接:https://arxiv.org/pdf/2311.18257.pdf

DIFFUSSM 框架

作者的目标是设计一种扩散架构,能够在高分辨率下学习长程相互作用,而无需像分块化那样进行「长度缩减」。与 DiT 类似,该方法通过展平图像并将其视为序列建模问题来实现。然而,与 Transformer 不同,这种方法在这个序列的长度上使用次二次(sub-quadratic)计算。

DIFFUSSM 的核心组件是优化处理长序列的门控双向 SSM。为了提高效率,作者在 MLP 层中引入沙漏架构。这种设计在双向 SSM 周围交替扩展和收缩序列长度,同时在 MLP 中特定地减少序列长度。完整的模型架构如图 2 所示。

图片

具体来说,每个沙漏层接收经过缩短并展平的输入序列 I ∈ R^(J×D),其中 M = L/J 是缩小和放大的比例。同时,整个块,包括双向 SSM,在原始长度上进行计算,充分利用全局上下文。文中使用 σ 表示激活函数。对于 l ∈ {1 . . . L},其中 j = ⌊l/M⌋,m = l mod M,D_m = 2D/M,计算方程如下所示:

图片

作者在每个层中使用跳跃连接集成门控 SSM 块。作者在每个位置集成了类标签 y ∈ R^(L×1) 和时间步 t ∈ R^(L×1) 的组合,如图 2 所示。

参数:DIFFUSSM 块中参数的数量主要由线性变换 W 决定,其中包含 9D^2 + 2MD^2 个参数。当 M = 2 时,这产生了 13D^2 个参数。DiT 变换块在其核心变换层中有 12D^2 个参数;然而,DiT 架构在其他层组件(自适应层归一化)中具有更多的参数。研究者在实验中通过使用额外的 DIFFUSSM 层来匹配参数

FLOPs:图 3 比较了 DiT 和 DIFFUSSM 之间的 Gflops。DIFFUSSM 一层的总 Flops 为图片,其中 α 代表 FFT 实现的常数。当 M = 2 且线性层主导计算时,这大约产生 7.5LD^2 Gflops。相比之下,如果在这个沙漏架构中使用全长的自注意力而不是 SSM,会有额外的 2DL^2 Flops。

图片

考虑两种实验场景:1) D ≈ L = 1024,这将带来额外的 2LD^2 Flops,2) 4D ≈ L = 4096,这将产生 8LD^2 Flops 并显著增加成本。由于双向 SSM 的核心成本相对于使用注意力的成本较小,因此使用沙漏架构对基于注意力的模型不起作用。正如前面讨论的,DiT 通过使用分块化来避免这些问题,以代价是压缩表示。

实验结果

类别条件图像生成

表 1 是 DIFFUSSM 与目前所有的最先进的类别条件生成模型的比较结果。

图片

当没有使用无分类器指导时,DIFFUSSM 在 FID 和 sFID 两方面均优于其他扩散模型,将之前非无分类器指导潜在扩散模型的最佳分数从 9.62 降至 9.07,同时使用的训练步骤减少到原来的 1/3 左右。在训练的总 Gflops 方面,未压缩模型相较于 DiT 减少了 20% 的总 Gflops。当引入无分类器指导时,模型在所有基于 DDPM 的模型中获得了最佳的 sFID 分数,超过了其他最先进的策略,表明 DIFFUSSM 生成的图像对于空间失真更具鲁棒性。

DIFFUSSM 在使用无分类器指导时的 FID 分数超越了所有模型,并在与 DiT 相比时保持了相当小的差距(0.01)。需要注意的是,在没有应用无分类器指导的情况下,以减少 30% 的总 Gflops 训练的 DIFFUSSM 已经超过了 DiT。U-ViT 是另一种基于 Transformer 的架构,但采用了基于 UNet 的架构,块之间有长跳连接。U-ViT 在 256×256 分辨率下使用较少的 FLOPs,并在性能上表现更好,但在 512×512 数据集中情况并非如此。作者主要与 DiT 进行比较,为了公平,没有采用这种长跳连接,作者认为采用 U-Vit 的思想可能对 DiT 和 DIFFUSSM 都有益处。

作者进一步在更高分辨率的基准上使用无分类器指导进行比较。DIFFUSSM 的结果相对强劲,并接近最先进的高分辨率模型,仅在 sFID 上不及 DiT,并获得了可比较的 FID 分数。DIFFUSSM 在 302M 张图像上进行了训练,观察了 40% 的图像,使用的 Gflops 比 DiT 少了 25%。

无条件图像生成

作者将模型的无条件图像生成能力与现有基线进行比较。结果显示在表 2 中。作者的研究发现,DIFFUSSM 在与 LDM 相当的训练预算下取得了可比较的 FID 分数(差距为 - 0.08 和 0.07)。这个结果突显了 DIFFUSSM 在不同基准和不同任务中的适用性。与 LDM 类似,由于只使用 ADM 总训练预算的 25%,因此在 LSUN-Bedrooms 任务中,该方法并未超过 ADM。对于这个任务,最佳 GAN 模型在模型类别上胜过扩散模型。

图片

更多内容请参考原论文。

工程DIFFUSSM
相关数据
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

降采样技术

降采样是数位信号处理领域中的一种多速频数字信号处理(multi-rate digital signal processing)系统中采样率转换(sample rate conversion)技术的一种,或指代用来降低信号采样率的过程,与插值相反——插值用来增加取样频率——降采样通常用于降低数据传输速率或者数据大小。因为降采样会有混叠的情形发生,系统中具有降采样功能的部分称为降频器(decimator)。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

分块技术

将标注好词性的句子按句法结构把某些词聚合在一起形成比如主语、谓语、宾语等等。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

推荐文章
暂无评论
暂无评论~