Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

解决Transformer固有缺陷:复旦大学等提出线性复杂度SOFT

来自复旦大学、萨里大学和华为诺亚方舟实验室的研究者首次提出一种无 softmax Transformer。

视觉 Transformer (ViT) 借助 patch-wise 图像标记化和自注意力机制已经在各种视觉识别任务上实现了 SOTA。然而,自注意力模块的使用使得 Transformer 类模型的空间和时间复杂度都是 O(n^2)。自然语言处理领域的研究者们已经进行了各种让 self-attention 计算逼近线性复杂度的尝试。

近日,来自复旦大学、萨里大学和华为诺亚方舟实验室的研究者在一项研究中经过深入分析表明,这些尝试要么在理论上存在缺陷,要么在实验中对视觉识别无效,并进一步发现这些方法的局限性在于在近似过程中仍然保持 softmax 自注意力。具体来说,传统的自注意力是通过对标记特征向量之间的缩放点积(scaled dot-product)进行归一化来计算的。保持这种 softmax 操作阻碍了线性化 Transformer 的复杂度。基于此,该研究首次提出了一种无 softmax Transformer(softmax-free transformer,SOFT)。

为了去除 self-attention 中的 softmax,使用高斯核函数(Gaussian kernel function)代替点积相似度,无需进一步归一化。这使得可以通过低秩矩阵分解来近似一个完整的自注意力矩阵。通过使用 Newton-Raphson 方法计算其 Moore-Penrose 逆来实现近似的稳健性。ImageNet 上的大量实验表明,SOFT 显着提高了现有 ViT 变体的计算效率。至关重要的是,对于线性复杂性,SOFT 中允许更长的 token 序列,从而在准确性和复杂性之间实现卓越的权衡。

  • 论文地址:https://arxiv.org/abs/2110.11945

  • 项目地址:https://github.com/fudan-zvg/SOFT

Transformer 模型存在一个瓶颈,即计算和内存使用的二次复杂度。这是自注意力机制的内在特征:给定一系列 token(例如,单词或图像块)作为输入,自注意力模块通过将一个 token 与所有其他 token 相关联来迭代地学习特征表示。这导致计算(时间)和内存(空间)中 token 序列长度为 n 的二次复杂度 O(n 2 ),因为在推理过程中需要计算和保存 n × n 大小的注意力矩阵。这个问题在视觉中尤为严重:即使空间分辨率适中,在 tokenization 的 2D 图像也会产生比 NLP 中的序列长得多的序列。因此,这种二次复杂性阻止了 ViT 模型以高空间分辨率对图像进行建模,这对于视觉识别任务通常是至关重要的。

一种自然的解决方案是通过近似来降低自注意力计算的复杂性。事实上,在 NLP 中已经有很多尝试 [33, 5, 18, 38]。例如,[33] 采取了一种天真的方法,通过可学习的预测来缩短 Key 和 Value 的长度。这种粗略的近似将不可避免地导致性能下降。相比之下,[5, 17] 都利用内核机制来近似 softmax 归一化,以线性化自注意力中的计算。[18] 取而代之的是采用散列策略来选择性地计算最相似的对。最近,[38] 使用 Nyström 矩阵分解通过多项式迭代重建完整的注意力矩阵,以逼近地标矩阵的伪逆。

尽管如此,softmax 归一化在矩阵分解过程中只是简单地重复,这在理论上是不可靠的。该研究通过实验发现,当应用于视觉时,这些方法都不是有效的(参见第 4.2 节)。该研究发现现有高效 Transformer 的局限性是由使用 softmax self-attention 引起的,并首次提出了一种无 softmax 的 Transformer。更具体地说,在所有现有的 Transformer(有或没有线性化)中,在 token 特征向量之间的缩放点积之上需要一个 softmax 归一化。保持这种 softmax 操作挑战任何后续的线性化工作。

为了克服这个障碍,该研究提出了一种新的无 softmax 的自注意力机制,命名为 SOFT,在空间和时间上具有线性复杂度 O(n)。具体来说,SOFT 使用 Gaussian kernel 来定义相似度(self-attention)函数,不需要后续的 softmax 归一化。有了这个 softmax-free 注意力矩阵,该研究进一步引入了一种新的低秩矩阵分解算法来逼近。通过采用 Newton-Raphson 方法可靠地计算矩阵的 Moore-Penrose 逆,理论上可以保证近似的稳健性。

该研究的主要贡献包括:

  • 提出了一种具有线性空间和时间复杂度的新型 softmax-free Transformer;

  • 该研究的注意力矩阵近似是通过一种具有理论保证的新型矩阵分解算法来实现的;

  • 为了评估该方法在视觉识别任务上的性能,该研究使用 SOFT 作为核心自注意力组件设计了一系列具有不同能力的通用骨干架构。大量实验表明,具有线性复杂性(图 1b),SOFT 模型可以将更长的图像 token 序列作为输入。因此,在模型大小相同的情况下,SOFT 在准确度 / 复杂度权衡方面优于 ImageNet [9] 分类上最先进的 CNN 和 ViT 变体(图 1a)。


下图 2 给出了该模型的示意图。

图 2:所提出的无 softmax 自注意力 (SOFT) 方法的示意图。P.E.:位置嵌入。虚线:线性投影。dh:每个注意力头的隐藏暗淡。◦ 表示矩阵点积。

作者采用了两个实验设置。在第一个设置下,对于所有方法,该研究使用相同的 Tiny(表 2)架构进行公平比较。也就是说,用每个基线自己的注意力块替换 SOFT 中的核心自注意力块,而架构的其余部分保持不变。请注意,[35] 的空间缩减模块是 Linformer [34] 的特例。研究者将减速比设置为与该方法相同。使用相同的统一采样思想,该研究将 Nyströmformer(用于 NLP 任务)的 1D 窗口平均替换为 2D 平均池化(用于图像)。下采样率与该研究的方法的保持一致。还值得一提的是,Reformer [19] 没有官方代码发布,本地敏感哈希(LSH)模块对输入 token 的长度有严格的要求,因此该研究的比较中不包括这种方法。

从下表 1 可以观察到:

  • 与 Tiny 架构上的 Transformer 相比,Linear Transformer 方法大大减少了内存和 FLOP,同时保持了相似的参数大小;

  • SOFT 方法在所有线性化方法中实现了最好的分类精度;

  • 该方法的推理速度与其他线性 Transformer 相当,训练速度比 Nystromformer 稍慢,并且都比 Performer 和 Linformer 慢。

研究者指出:该模型的训练速度缓慢主要是由于 Newton-Raphson 迭代,它只能按顺序应用以确保 Moore-Penrose 逆的准确性。总之,由于同等的推理速度,研究者认为训练成本的增加是值得为卓越的准确性付出的代价。

该研究与最先进的替代方案进行比较,并报告 ImageNet-1K 验证集上的 top-1 准确率。FLOP 的计算批大小为 1024。从图 1a 和表 3 中得出以下观察结果:(i) 总体而言,ViT 及其变体比 CNN 产生更好的分类准确度。(ii) 该研究在最近基于纯视觉 Transformer 的方法中取得了最佳性能,包括 ViT [11] 和 DeiT [31],以及最先进的 CNN RegNet [26]。(iii)SOFT 在所有变体中都优于最相似的(在架构配置中)Transformer 对应物 PVT [35]。由于注意力模块是主要区别,这直接验证了该模型的有效性。(iv) 该方法还击败了旨在解决 ViT 效率限制的最新 ViT 变体 Twins,并且所需的参数和浮点计算都更少。

为了深入了解如何使用 SOFT 及替代方法学习注意力,图 3 显示了各种比较模型的注意力掩码。对于每个模型,论文中给出了前两个注意力头的输出。很明显,SOFT 在捕捉像素之间的局部和长距离关系方面表现出鲁棒性和多功能性。有趣的是,尽管 SOFT 在 ImageNet [9] 中的对象分类数据集上进行了训练,但它似乎能够学习同一类别中的实例之间共享的语义概念和实例特定的特征。

感兴趣的读者可以阅读论文原文,了解更多研究细节。

理论复旦大学Transformer
相关数据
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商。

https://www.huawei.com/cn/
复旦大学机构

复旦大学(Fudan University),简称“复旦”,位于中国上海,由中华人民共和国教育部直属,中央直管副部级建制,国家双一流(A类)、985工程、211工程建设高校,入选珠峰计划、111计划、2011计划、卓越医生教育培养计划、卓越法律人才教育培养计划、国家建设高水平大学公派研究生项目,九校联盟(C9)、中国大学校长联谊会、东亚研究型大学协会、环太平洋大学协会的重要成员,是一所世界知名、国内顶尖的全国重点大学。

相关技术
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

自注意力技术

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

核函数技术

核函数包括线性核函数、多项式核函数、高斯核函数等,其中高斯核函数最常用,可以将数据映射到无穷维,也叫做径向基函数(Radial Basis Function 简称 RBF),是某种沿径向对称的标量函数。最常应用于SVM支持向量机中

参数技术

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

时间复杂度技术

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。

分类数据技术

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。通过将 house style 表示成分类数据,相应模型可以学习 Tudor、ranch 和 colonial 分别对房价的影响。 有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只允许一个样本有一个值 (Toyota)。在其他情况下,则可以应用多个值。一辆车可能会被喷涂多种不同的颜色,因此,car color 分类特征可能会允许单个样本具有多个值(例如 red 和 white)。

注意力机制技术

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

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

法大大机构

深圳法大大网络科技有限公司(www.fadada.com)是国内领先的第三方电子合同平台,主要为金融、房地产、汽车、人力资源服务、教育、保险、第三方支付、旅游、医疗、物流、供应链、B2B、B2C线上交易平台等行业以及政府机构提供电子合同、电子文件签署及存证服务,同时整合提供司法鉴定和律师服务等增值服务。

https://www.fadada.com
矩阵分解技术

矩阵分解是一种将矩阵简化为其组成部分的方法。这种方法可以简化更复杂的矩阵运算,这些运算可以在分解的矩阵上执行,而不是在原始矩阵本身上执行。它的衍生Non-negative matrix factorization也被用于降维等操作上。

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