来源:机器之心

来自商汤、上海人工智能实验室等机构的研究者用线性 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 的平均分数。这验证了所提出的重重加权有效地结合了自然语言任务的局部归纳偏差。

重磅!DLer-CVPR2022论文分享交流群已成立!

大家好,这是CVPR2022论文分享群里,群里会第一时间发布CVPR2022的论文解读和交流分享会,主要设计方向有:图像分类、Transformer、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

【ICLR 2022】在注意力中重新思考Softmax,多个任务达到SOTA相关推荐

  1. ICLR 2022 | 在注意力中重新思考Softmax,商汤提出cosFormer实现多项SOTA

    ©作者 | 李文 单位 | 中南大学 研究方向 | 自然语言处理 最近读了一篇 ICLR 2022 的论文,对于 attention-softmax 的计算复杂度有了一定的了解,下面是对论文的翻译和笔 ...

  2. ICLR 2022 | 商汤提出cosFormer:在注意力中重新思考Softmax

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:机器之心  |  编辑:杜伟.陈萍 来自商汤.上海人工智能实验室等机构的研究者用线性 COSFORM ...

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

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨机器之心 编辑丨极市平台 导读 来自商汤.上海人工智能实验室等 ...

  4. 【深度好文】ICLR 2022 | cosFormer:重新思考注意力机制中的Softmax

    关注公众号,发现CV技术之美 导读:Transformer在自然语言处理.计算机视觉和音频处理方面取得了巨大成功.作为其核心组成部分之一,Softmax Attention模块能够捕捉长距离的依赖关系 ...

  5. 博客文章也能中顶会:ICLR 2022开设博客投稿通道,还有机会跟经典论文原作者直接battle...

    兴坤 发自 凹非寺 量子位 报道 | 公众号 QbitAI 盆友们,ICLR今年有新的打开方式了--博客文章征集. 非正式讨论的自由平台,往往更容易发现问题.激发新的思考.因此新一届ICLR计划增加论 ...

  6. 特斯拉AI高管都推荐的张量工具,开源了三年后终于中顶会了! | ICLR 2022 Oral

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 那个在GitHub标星4.3k的张量操作工具Einops,在开源三年后终于中了顶会! 这是一个统一的.通用的操作张量结构的方法,基于爱因斯坦求和约 ...

  7. ICLR 2022 | 基于对抗自注意力机制的预训练语言模型

    ©作者 | 曾伟豪 单位 | 北京邮电大学 研究方向 | 对话摘要生成 论文名称: Adversarial Self-Attention For Language Understanding 论文来源 ...

  8. 【时间序列】从 ICLR 2022 投稿中了解图神经网络和时间序列相结合的研究趋势...

    这篇文章从 ICLR 2022 的论文投稿中学习下 「时间序列」 和 「图神经网络」 相结合的研究趋势,主要包含较为个人关注的两个研究领域融合:然后总结下研究趋势. 首先介绍下 ICLR 会议: ❝ ...

  9. ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 秦浩桐 量子位 转载 | 公众号 QbitAI 近年来,预训练 ...

最新文章

  1. leetcode算法题--子集
  2. STM32的RTC简单操作
  3. (转)Unity3d UnityEditor编辑器定制和开发插件
  4. linux hadoop 本地,Linux系统下运行基于本地的Hadoop
  5. 关于npm和yarn 安装vue脚手架
  6. 微服务网关路由过滤作用介绍
  7. 使用OpenCV画折线图
  8. php 求两个数组的差集应该注意的事情
  9. Oracle数据库常用undo查询思路
  10. 一步一步写算法(之克鲁斯卡尔算法 下)
  11. C语言基础篇(零)gcc编译和预处理
  12. java契约_基于契约式设计的Java编译器实现
  13. java Springboot 生成 二维码 +logo
  14. java 定时任务表达式(网络总结)
  15. ubuntu下使用pip卸载包时出现Cannot uninstall scipy
  16. Photoshop之快速蒙版Q
  17. 如何查html病毒svchost.exe,网站快照劫持又一例:svchost.exe病毒快照劫持的解决办法...
  18. qt 访问共享文件夹_怎样用IP访问局域网共享文件
  19. A23_郭自强_网页前端1
  20. mysql容灾备份和恢复_关于容灾备份和恢复

热门文章

  1. 如何使用HTML5 Canvas元素来裁剪图像
  2. Atitit qzone qq空间博客自动点赞与评论工具的设计与实现
  3. android 实现全屏代码
  4. MASM32_SDKv10以及一些帮大家打包的东西
  5. 【STM32 .Net MF开发板学习-17】Wifi遥控智能小车
  6. 【转】ASP.NET中“字母和数字混合的验证码”详解
  7. Dreamweaver xerces panic error 错误提示。
  8. 用python解“逆序三位数”问题
  9. cmake编译安装完成后 执行cmake --version报错 bash: /usr/bin/cmake: 没有那个文件或目录
  10. java输出流flush操作