©作者 | 机器之心编辑部

来源 | 机器之心

来自复旦大学、萨里大学和华为诺亚方舟实验室的研究者首次提出一种无 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] 中的对象分类数据集上进行了训练,但它似乎能够学习同一类别中的实例之间共享的语义概念和实例特定的特征。

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

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

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

  1. AMOLED屏幕的一些固有缺陷

    AMOLED屏幕的一些固有缺陷 在显示效果.对比度,阳光下的表现.黑色的表现.可视角度等诸多方面,AMOLED屏幕都是时下最优秀的屏幕.抛开Pentile次像素排列的问题不说,AMOLED仍有一些硬伤 ...

  2. 神经网络可解释性的另一种方法:积分梯度,解决梯度饱和缺陷

    作者|hahakity,https://zhuanlan.zhihu.com/p/148105536 本文已获作者授权,不得二次转载 今天介绍一种特定的神经网络可解释性方法 -- 积分梯度法 (Int ...

  3. 最强Transformer发布!谷歌大脑提出ViT-G:缩放视觉Transformer,高达90.45%准确率!

    Scaling Vision Transformers 论文:https://arxiv.org/abs/2106.04560 1简介 视觉Transformer(ViT)等基于注意力的神经网络最近在 ...

  4. MoCoV3:何恺明团队新作!解决Transformer自监督训练不稳定问题!

    文 | happy 源 | 极市平台 论文链接: https://arxiv.org/abs/2104.02057 本文是FAIR的恺明团队针对自监督学习+Transformer的一篇实证研究.针对T ...

  5. 一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌UCLA提出统一的基础模型...

    关注公众号,发现CV技术之美 本文分享论文『Towards a Unified Foundation Model: Jointly Pre-Training Transformers on Unpair ...

  6. Swin Transformer V2!MSRA原班人马提出了30亿参数版本的Swin Transformer!

    关注公众号,发现CV技术之美 [写在前面] 在本文中,作者提出了将Swin Transformer缩放到30亿个参数的技术 ,并使其能够使用高达1536×1536分辨率的图像进行训练.通过扩大容量和分 ...

  7. 当CNN遇见Transformer!华为诺亚提出CMT:新视觉Backbone

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:AIWalker 标题&作者团队 CMT: Convolutional Neural Net ...

  8. 《ELF》即插即用!解决长尾问题!GTUIUC联合提出基于Early-Exiting的网络框架,涨点并加速!...

    关注公众号,发现CV技术之美 ▊ 写在前面 自然世界中的数据通常遵循长尾分布,大多数样本中只占据少数几个类.这种长尾分布导致分类器倾向于过拟合多数类(majority class).为了解决这一问题, ...

  9. bert 中文 代码 谷歌_ACL 2020 | 用BERT解决表格问答任务,谷歌提出弱监督表格解析器TaPas...

    BERT 在自然语言上已经取得了非凡的成就.近日,谷歌一篇 ACL 2020 论文又将 BERT 模型应用到了基于表格的问答场景中,为弱监督式的表格解析性能带来了显著提升.此外,谷歌开源了相关代码和预 ...

最新文章

  1. .Net定时弹出窗口(c#)
  2. Android studio 使用NDK工具实现JNI编程
  3. bzoj29894170: 数列
  4. C++中的内存管理(new、delete、内存泄漏)
  5. 阿里云消息队列 RocketMQ、Kafka 荣获金融级产品稳定性测评 “先进级” 认证
  6. Linux安装Java JDK:方式yum
  7. 实战分享:activemq 在灾备双活建设中的研究
  8. Ubuntu 12.04下NFS安装配置图解
  9. Servlet学习的两个案例之网站访问次数的统计
  10. ios与android设备即时语音互通的录音格式预研说明
  11. 米家扩展程序初始化超时_一套完整的PLC程序是什么样子
  12. linux内核调用串口,linux驱动之串口驱动框架
  13. 【滤波器】基于matlab时变维纳滤波器设计【含Matlab源码 1870期】
  14. eNSP模拟无线AC和AP
  15. matlab 添加文本框textbox
  16. 5个问题教你如何更好解决问题
  17. 微信公众平台开发实战Java版之如何网页授权获取用户基本信息
  18. 用Flutter实现小Q聊天机器人(二)
  19. 国防科技大学计算机考纲,国防科技大学2022年硕士研究生考试大纲-F1007雷达原理...
  20. 商用密码产品及对应规范介绍

热门文章

  1. a标签download属性无效_HTML从零开始——链接标签
  2. 由点及面,专有云ABC Stack如何护航云平台安全?
  3. Black Hat 2021上的七大网络威胁趋势
  4. java下载zip_从Servlet Java下载zip
  5. java final 意思_在java中一个类被声明为final类型,表示的意思是()。
  6. mysql 主从 编码_Mysql 主从复制
  7. Hive的相关面试问题
  8. 4月25日 python学习总结 互斥锁 IPC通信 和 生产者消费者模型
  9. 使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[开发篇]
  10. [C#] Socket 通讯,一个简单的聊天窗口小程序