Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

杜伟、陈萍机器之心报道

在注意力中重新思考Softmax:分解非线性,这个线性transformer变体实现多项SOTA

来自商汤、上海人工智能实验室等机构的研究者用线性 COSFORMER 来取代 transformer 中的 softmax 注意力机制,在多项任务上达到最优。

Transformer 在自然语言处理、计算机视觉和音频处理方面取得了巨大的成功。作为其核心组件之一,softmax 注意力有助于捕获长程依赖关系,但由于序列长度的二次空间和时间复杂度而禁止其扩展。研究者通常采用核(Kernel)方法通过逼近 softmax 算子来降低复杂度。然而,由于近似误差,它们的性能在不同的任务 / 语料库中有所不同,与普通的 softmax 注意力相比,其性能会下降。

研究者认为 softmax 算子是主要障碍,而对 softmax 高效而准确的逼近很难实现,因此很自然地提出一个问题:我们能否用线性函数代替 softmax 算子,同时保持其关键属性?

通过对 softmax 注意力的深入研究,研究发现了影响其经验性能的两个关键性质:

(i) 注意力矩阵的非负性;
(ii) 一种非线性重重加权方案,可以聚集注意力矩阵分布。

这些发现揭示了当前方法的一些新见解。例如,线性 transformer 使用指数线性单元激活函数来实现属性 (i)。然而,由于缺乏重重加权(re-weighting )方案,表现不佳。

图片


本文中,来自商汤、上海人工智能实验室等机构的研究者提出了一种称为 COSFORMER 的线性 transformer,它能同时满足上述两个特性。具体来说,在计算相似度分数之前,该研究将特征传递给 ReLU 激活函数来强制执行非负属性。通过这种方式使得模型避免聚合负相关的上下文信息。此外,该研究还基于余弦距离重加权机制来稳定注意力权值。这有助于模型放大局部相关性,而局部相关性通常包含更多自然语言任务的相关信息。

在语言建模和文本理解任务的大量实验证明 COSFORMER 方法的有效性,并且在长序列 Long-Range Arena 基准上实现了 SOTA 性能,这一结果很好地证明了 COSFORMER 在建模长序列输入方面的强大能力。

图片


论文地址:https://arxiv.org/pdf/2202.08791.pdf


方法

研究者表示,COSFORMER 的关键思路在于将不可分解非线性 softmax 操作替换为具有可分解非线性重加权机制的线性操作。该模型适用于随机注意力和交叉注意力,并且输入序列长度具有线性时间和空间复杂度,从而在建模长程依赖中显示出强大的能力。

一般而言,我们可以选择任意相似度函数来计算注意力矩阵,如下公式(2)所示

图片


下图 2 为原始自注意力(左)与线性注意力(右)的计算示意图。

图片


大多数现有线性 transformers 想要找到针对 softmax 注意力的无偏估计。然而,研究者实证发现,这些方法对采样率的选择非常敏感,一旦采样率过高,则会变得不稳定。并且,考虑到近期偏差,门机制可以用来更好地探索较新的上下文。另一类工作则试图直接用线性操作替换 softmax。

研究者提出了 softmax 的一种新替换,不仅可以在一系列任务中实现与 softmax 相当甚至更好的性能,而且具有线性空间和时间复杂度

研究者经过实证确认了 softmax 操作的两种可能在性能表现中发挥重要作用的关键特性,其一是确保注意力矩阵 A 中的所有值是非负的,其二是提供一种非线性重加权机制来聚集注意力连接的分布并稳定训练。为了验证这些假设,研究者设计了如下表 1 中的初步研究。

图片



通过将图片的结果与 softmax 相比较,研究者发现,具有 softmax 重加权的模型收敛速度更快,到下游任务的泛化表现更好。

 COSFORMER 

基于以上发现,研究者提出了模型 COSFORMER,它完全丢弃了 softmax 归一化,同时具有非负性和重加权机制。COSFORMER 包含两个主要的组件,分别为线性投影核图片和 cos-Based 重加权机制。

首先来看线性投影核图片。基于上文公式 2 中注意力的通用格式,研究者将线性相似度定义如下公式(6)所示。

图片



具体地,为了确保全正(full positive)的注意力矩阵 A 并避免聚合负相关的信息,研究者将 ReLU(·) 用作转换函数,从而可以有效地消除负值,如下公式(7)所示。

图片


研究者还重新调整了点积(dot-product)的顺序,并得到了线性复杂度中所提注意力的公式(9)。

图片


在 softmax 注意力中引入非线性重加权机制可以聚集注意力权重的分布,因而稳定训练过程。研究者还通过实证发现,这种做法可以惩罚远距离连接,并在某些情况下加强局部性。实际上,这类局部性偏差,也即是一大部分上下文依赖来自邻近 token,通常可以在下游 NLP 任务上发现,如下图(3)所示。

图片


基于上述假设,要满足 softmax 的第二种特性需要一种可分解的重加权机制,该机制可以将近期偏差引入到注意力矩阵。研究者提出了一种能够完美满足目标的 cos-based 重加权机制。通过上图 3(2)和(3)中比较注意力矩阵,可以看到,COSFORMER 能够比不具有重加权机制的 COSFORMER 执行更多的局部性。

具有余弦重加权机制的模型可以定义如下公式(10)所示。

图片


同时,COSFORMER 还可以看作一种将相对位置偏差引入到高效 transformer 中的新方法。


实验

实验验证了 COSFORMER 在多种设置中的有效性。

首先,该研究使用 WikiText-103,通过自回归和双向语言模型(bidirectional)设置验证了 COSFORMER 在语言建模中的能力。通过这种方式,该研究验证了所提出的线性注意力模块在因果和非因果情况下的有效性。

自回归建模语言:该研究采用 (Baevski & Auli, 2018) 作为基线模型,并用所提出的线性注意力模块替换自注意力模块,在 8 个 Nvidia Tesla A100 GPU 上进行训练,表 2 中报告了结果。

图片

由结果可得,尽管基线模型是一个性能强大的标准 transformer,但它需要二次计算复杂度,但 COSFORMER 在线性计算复杂度方面明显优于基线模型。此外,该研究在验证集上实现了与其他方法相当的困惑度(perplexity),并且在测试集上明显优于其他方法,这进一步证明了 COSFORMER 的有效性。

双向语言模型:对于双向语言建模,该研究采用 RoBERTa (Liu et al., 2019) 作为基线模型。同样的将 RoBERTa 中的自注意力模块替换为线性注意力模块,并保持其他结构不变,该研究在 2 个 Nvidia Tesla A100 GPU 上训练双向任务。如图 4 所示,COSFORMER 在训练集和验证集上的收敛速度都比 vanilla Transformer 快,具有可比或更小的损失值。此外,与没有重重加权的模型相比,具有重重加权机制的 COSFORMER 变体具有明显更好的收敛速度和最终结果,这进一步验证了基于余弦的距离矩阵的有效性。

图片

其次,该研究通过与其他现有的 Transformer 变体进行比较,研究了 COSFORMER 在下游任务上的泛化能力。

从表 3 中,我们可以看到 COSFORMER 在多个数据集上优于基线(Liu et al., 2019),此外与其他高效的 transformer 相比,COSFORMER 在所有五个下游数据集上均达到最佳或次要位置。值得注意的是,尽管 Longformer (Beltagy et al., 2020) 在 MNLI 上取得了比 COSFORMER 更好的结果,但它需要 O(Nw) 的计算复杂度。如图 1 所示,Longformer 比 COSFORMER 更慢并且需要更多的内存开销。

图片

该研究进一步在 long-range-arena 基准上将 COSFORMER 与其他 transformer 变体进行比较,以了解其建模远程依赖关系的能力并展示对模型效率的比较分析 。

如表 4 所示,总体上来说 COSFORMER 在所有任务中都取得了具有竞争力的结果,同时在 ListOps 和文档检索方面取得了最佳性能。值得一提的是,COSFORMER 在 Long-range-arena 基准测试中取得了最好的整体分数,是仅有的两个超越 vanilla transformer 架构的模型之一。

图片

如表 5 和图 1 所示,大多数基于模式、vanilla transformer 的方法都比 COSFORMER 更慢并且需要更大的内存。COSFORMER 在保持卓越建模和泛化能力的同时,总体上比其他线性变体实现了更好的效率。

图片

最后,该研究进行消融实验,以了解 COFORMER 中具有和不具有重重加权机制的影响,如表 6 所示,COSFORMER 在没有重重加权的情况下取得了更好的整体结果,显着提高了双向微调和 long-range-arena 的平均分数。这验证了所提出的重重加权有效地结合了自然语言任务的局部归纳偏差。

图片

理论线性 transformersoftmax 算子
相关数据
自注意力技术

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

时间复杂度技术

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

自然语言处理技术

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

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

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