选自arXiv

作者:Yi Tay 等

机器之心编译

编辑:魔王

自 2017 年诞生以来,Transformer 模型在自然语言处理、计算机视觉等多个领域得到广泛应用,并出现了大量变体。近期涌现的大量 Transformer 变体朝着更高效的方向演化,谷歌研究者对这类高效 Transformer 架构进行了综述。

Transformer 是现代深度学习领域一股令人敬畏的力量,它广泛应用于语言理解、图像处理等多个领域,并产生了极大的影响。过去几年,大量研究基于 Transformer 模型做出基础性改进。人们对此的巨大兴趣也激发了对更高效 Transformer 变体的研究。

近期涌现了大量 Transformer 模型变体,研究者和从业者可能难以跟上创新的节奏。在该论文写作时(2020 年 8 月),之前的半年出现了十多个新的高效 Transformer 模型。因此,对已有文献进行综述对于社区而言是有益和及时的。

自注意力机制是 Transformer 模型的核心典型特征。该机制可被看作是一种类似图的归纳偏置,将序列中的所有 token 与基于相关性的池化操作连接起来。对于自注意力的一个担忧是其时空复杂度都是平方级的,这妨碍模型在多种环境下的可扩展性。最近出现了大量试图解决该问题的 Transformer 模型变体,本文将这类模型称作「高效 Transformer」(efficient Transformer)。

基于此,模型的效率有了不同的诠释。效率可能指模型的内存占用,当模型运行的加速器内存有限时这尤为重要;效率也可能指训练和推断过程中的计算成本,如 FLOPs 数。尤其对于设备端应用而言,模型应在有限的计算预算下运行。该综述论文从内存和计算两个角度来考虑 Transformer 的效率。

高效自注意力模型对于建模长序列的应用很关键,如通常包括较多像素或 token 的文档、图像和视频。因此,广泛采用 Transformer 优先考虑的是处理长序列的效率。

该论文旨在对这类模型的近期发展进行综述,主要聚焦于通过解决自注意力机制的平方级复杂度来提升 Transformer 效率的建模发展和架构创新,同时该论文还简要探讨了通用改进和其他效率改进。

该论文提出了一种针对高效 Transformer 模型的分类法,按照技术创新和主要用途进行分类。具体而言,该论文综述了在语言和视觉领域均有应用的 Transformer 模型,并为其中的部分模型提供了详细的解读。

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

关于 Transformer

Transformer 是将 Transformer 块一个个堆叠而成的多层架构,标准 Transformer 的架构如下图所示:

Transformer 块的特征是多头自注意力机制、position-wise 前馈网络、层归一化模块和残差连接。Transformer 模型的输入通常是形状为 R^B × R^N 的张量,B 表示批大小,N 表示序列长度。

输入首先经过嵌入层,嵌入层将每个 one-hot token 表示转换为 d 维嵌入,即 R^B × R^N × R^D 。然后将这个新的张量与位置编码(positional encoding)相加,并输入到多头自注意力模块中。位置编码可以采用正弦输入的形式,或者可训练嵌入。

多头自注意力模块的输入和输出由残差连接和层归一化层来连接。将多头自注意力模块的输出传送至两层前馈网络,其输入 / 输出通过残差和层归一化来连接。子层残差连接与层归一化可表示为:

其中 F_S 是子层模块,它要么是多头自注意力,要么是 position-wise 前馈层。

高效 Transformer 模型综述

这部分对高效 Transformer 模型进行了综述。首先我们来看不同模型的特点,表 1 列出了目前发布的高效 Transformer 模型,图 2 展示了多种重要高效 Transformer 模型的图示。

图 2:高效 Transformer 模型的分类,分类标准是模型的核心技术和主要应用场景。

表 1:按发布时间顺序整理的高效 Transformer 模型。

此外,这部分还详细介绍了多个重要的高效 Transformer 模型,并分析了它们的优缺点和独特之处。这些模型包括:Memory Compressed Transformer、Image Transformer、Set Transformers、Sparse Transformers、Axial Transformers、Longformer、ETC、BigBird、Routing Transformers、Reformer、Sinkhorn Transformers、Linformer、Synthesizers、Performer、Linear Transformers、Transformer-XL 和 Compressive Transformers。

具体细节此处不再赘述,详情参见原论文第三章。

论文最后讨论了这些模型的评估情况和设计趋势,并简要概述了可以提高 Transformer 效率的其他方法,如权重共享、量化 / 混合精度、知识蒸馏、神经架构搜索(NAS)和 Task Adapter。

© THE END

转载请联系 机器之心 公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

高效Transformer层出不穷,谷歌团队综述文章一网打尽相关推荐

  1. 谷歌、DeepMind提出高效Transformer评估基准

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  2. 谷歌研究院出品:高效 Transformer 模型最新综述

    2021-01-02 15:23:28 编译 | Mr Bear 编辑 | 陈彩娴 近年来,基于自注意力机制的 Transformer 模型在自然语言处理.计算机视觉.强化学习等领域的学术研究中取得了 ...

  3. 六项任务、多种数据类型,谷歌、DeepMind提出高效Transformer评估基准

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 自诞生以来,Transformer 在不同领域得到了广泛应用,研究人员 ...

  4. 太赞了!谷歌、DeepMind提出高效Transformer评估基准

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  5. 这篇论文,透露谷歌团队构想的“未来搜索”

    作者 | 青苹果 来源 | 数据实战派 头图 | 付费下载于 IC Photo 传统的信息检索(IR, Information Retrieval)系统,并不直接回应信息需求,而仅提供对内容的参考.排 ...

  6. 【论文推荐】张笑钦团队 | 综述:基于深度学习的视觉跟踪方法进展

    导读 IJAC特约稿件 人眼可以比较轻松地在一段时间内持续定位特定目标,而在计算机视觉领域,这一任务便是高级计算机任务之一--"目标跟踪".但对计算机而言,在不同场景下实现目标跟踪 ...

  7. 华南农业大学在Annual Review of Microbiology发表三篇综述文章

    华南农业大学群体微生物研究中心科研人员应国际权威微生物综述期刊Annual Review of Microbiology的邀请,分别于2019年6月21日和7月5日在线发表了三篇综述文章,分别总结了细 ...

  8. 谷歌团队在平安金融中心_Google银行业务可以教给我们关于金融和科技的未来

    谷歌团队在平安金融中心 It's time to rethink the relationship of the large tech companies to financial services. ...

  9. 超越PVT、Swin,南大开源高效Transformer:ResT​

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨happy 来源丨AIWalker 编辑丨极市平台 导读 本文 ...

最新文章

  1. TypeError: iter() returned non-iterator of type
  2. Android system server之PackageManagerService详细分析
  3. 开源视频直播软件介绍
  4. c++实现多态的方法 虚表
  5. linux禁用页面拷贝粘贴,【Linux基础】VI命令模式下删除拷贝与粘贴
  6. 查看运行时间_怎样查看自己电脑系统的版本信息?
  7. python作品_专业解读 | 制作游戏、开发APP、 爬虫采集数据等背后,Python全栈专业背后还有更大的世界...
  8. linux系统入门命令大全,Linux常用命令5 - Linux 入门常用命令_Linux教程_Linux公社-Linux系统门户网站...
  9. js中的empty()和remove()的区别
  10. java 正则表达式 例子_Java正则表达式例子汇总
  11. SAP PP制造生产教程
  12. ectouch 常用功能
  13. EXT2/EXT3文件系统
  14. ANC降噪耳机量产测试方案
  15. 华为P7开启USB调试方法
  16. 智能循迹避障小车C语言程序编写思路,基于单片机的智能小车避障循迹系统设计...
  17. 摩根大通从AWS和Azure挖人,云计算人才大战开始
  18. 1000000转万 js_javascript将数字转换整数金额大写的方法
  19. GWO灰狼优化算法综述(Grey Wolf Optimization)
  20. 1.Transformer-Attention is all your need论文详读-PartⅠ(摘要、引言、背景)

热门文章

  1. 赢在中国(08-02-27)
  2. 从定制软件到通用软件的转变
  3. 青少年编程竞赛交流群周报(第042周)
  4. 【组队学习】【31期】 吃瓜教程——西瓜书+南瓜书
  5. 胡锐锋:组队学习分享(队长)
  6. 利用Use Case为系统行为建模(2)
  7. Strategy_Requirement1
  8. 【ACM】LightOJ - 1008 Fibsieve`s Fantabulous Birthday (找规律,找...)
  9. 斯坦福团队是如何构建更好用的聊天 AI 呢?
  10. Python 写了一个网页版的「P图软件」,惊呆了!