Transformer哪家强?Google爸爸辨优良!

文:Zilong

2017年Attention is all you need横空出世,Transformer横扫机器翻译,隔年诞生的BERT建立在层层堆叠的Transformer之上,凭借这个平平无奇的Attention点乘模型一举刷新了各种沉积许久的榜单,一夜间仿佛不懂Transformer,都不敢说自己是NLPer了,曾经最心爱的RNN也瞬间黯然失色。

Transformer有着简易的的结构、SOTA的能力,搭配CUDA矩阵并行运算,不仅效果上比RNN胜出一筹,在运算效率上也遥遥领先。于是,无数论文纷至沓来,留给RNN的时间已经不多了。

然而,Transformer大厦上空依旧有着一朵乌云,让NLPer耿耿于怀,Transformer的核心结构——self attention归根到底依旧是二维矩阵运算,纵使抛弃了RNN中时序运算,得到了极大的运算效率的提升,但是计算机系本科生都知道,矩阵运算的复杂度是丑陋的

当Transformer遇到文档分类或者篇章理解之类的任务,随着文档长度增长,计算效率愈发难以忍受。为了解决运算复杂度的问题,NLPer提出了各种改进的版本,xformer家族日渐壮大,一个个都声称自己解决了Transformer的核心问题,试图挑战transformer老大哥的地位。其中不乏佼佼者如:

  • Reformer (https://arxiv.org/abs/2001.04451):通过Locality Sensitive Hashing类似于桶排序,将相似向量归为一类,计算同类向量之间的点积,复杂度为

  • Linformer (https://arxiv.org/abs/2006.04768):认为注意力机制是低秩,信息集中在前k大的奇异值中,通过线性映射将复杂度降为,当足够小,模型接近线性时间。

  • Sinkhorn Transformers (https://arxiv.org/abs/2002.11296.pdf):将输入分块,并基于Sinkhorn对输入键值对进行重新排序,并应用基于块的局部注意力机制来学习稀疏模式。

  • Performers (https://arxiv.org/abs/2009.14794):通过正交随机特征算法加速注意力计算,改用Positive Orthogonal Random Features对常规softmax注意力进行鲁棒且无偏的估计。

  • Synthesizers (https://arxiv.org/abs/2005.00743):没有保持“token对token”形式的注意力形式,抛弃了原有注意力的动态特点,利用线性变换得到注意力矩阵。

  • Linear Transformers (https://arxiv.org/abs/2006.16236):通过使用核函数并且替换掉SoftMax,来简化Attention的计算过程,使复杂度降至

  • BigBird (https://proceedings.neurips.cc//paper/2020/hash/c8512d142a2d849725f31a9a7a361ab9-Abstract.html):在Longformer的滑动窗口和膨胀窗口的基础上增加了Random attention,当前长序列建模的SOTA,刷新了QA和摘要的SOTA,同时也被证明是图灵完备的。

但是这些文章都是自说自话,用着各式各样的benchmarks、metrics,并没有一个统一的标准比一比Transformer哪家强。于是Google出面提出了Long Range Arena,试图从核心问题场景长文本分析入手,提出评价模型的6个标准、6大任务,逐一比较各个新兴xformer和原始Transformer的表现。

论文题目

Long Range Arena: A Benchmark for Efficient Transformers

论文链接

https://arxiv.org/abs/2011.04006

Arxiv访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【1211】下载论文PDF~

6个标准

贴心如Google,纵使坐拥海量资源,依旧心系贫下中农,时时刻刻担心抱着CPU炼丹的码农跑不了他的代码,于是LRA严于律己,树立了6个标准,确保LRA标准适用范围足够广泛。

  1. 通用性:所有Transformer都能使

  2. 简易性:无需数据增强、预训练等繁琐的准备步骤

  3. 挑战性:任务足够难,人人都90%+就没意思了(能卷起来)

  4. 长输入:Long Range Arena,输入自然要长一点,测试场景就是长输入下的表现

  5. 多方面:方方面面都需要考察到,如长距离依赖、泛化能力等等

  6. 轻计算:“妈妈再也不用担心我没有工业级显卡了”

6个任务

Google上先抛出了严格的6个标准,然后将准备好的任务娓娓道来。

  • Long ListOps这个任务看起来神似前缀表达式,考虑maxminmediansum_mod四种运算外带括号形成的hierarchical structure,考察xformer对长序列层次结构的理解能力。

  • Byte-level Text ClassificationByte-level Document Retrieval这两个任务主要关注对长文本的概括能力,测试xformer能否提取到长文本的足够信息量用于分类和匹配,值得注意的是,Google选取了Byte-level的输入,即字符级别的输入,轻松构造出长达4k的输入。

  • Image Classification on Sequences of PixelsGoogle还企图将Transformer用于CV的任务中,这个任务将的图片拉成的像素序列,当作文本去做分类任务。因为输入直接抹去了二维信息,这个任务不仅考察了xformer对序列特征的捕捉能力,同时考察了对层次结构的感知力。

    PathFinder (Long-Range Spatial Dependency)PathFinder-X (Long-Range Spatial Dependencies with Extreme Lengthts)

    最后两个任务依然是建立在图片之上,给定图片上两个圆点和若干条曲线,需要模型判断,这两个圆点是否被某一条曲线连接,xformer的输入依然是将2维图片拉长成一条1维的像素序列。而第二个任务PathFinder-X,意思是“格外的长”,图片大小变为,于是序列长度达到16384,文章说就是想看看同一个问题,序列变长,会不会变难,xformer会不会处理不了,从结果来看,确实都处理不了,结果勉强达到随机分类的50%。

结果!

结果终于揭晓了,究竟Google LRA眼中Transformer哪家强呢?Google不仅报告了各个xformer的表现,同时还分析了时间和空间的消耗。6个任务中,ListOps差距最为明显,Linear Transformer和Performer难以捕捉层次结构信息,比原始Transformer下降了20%左右。其他各个任务中,各有优劣,差距并没有ListOps任务明显。另外,对于PathFinder-X任务,所有xformer都无法得到满意的结果,说明序列长度过长的情况下,Transformer无法很好的理解序列信息。

速度上,利用核函数的方法整体速度提升明显,表现最优的是Performer,不少模型提出时声称达到线性复杂度,但是在LRA上速度却没有明显提高,甚至有所下降,如Reformer,在4组不同长度输入的实验中,速度始终慢于原始Transformer。

考虑各个xformer的表现、速度、占用内存,排名情况如图所示:

可见xformer百花齐放,各有千秋,总之一句话"No one-size-fits-all":

  • 有的模型在个别任务上表现惊艳,却无法兼顾所有,例如Performers和Linear Transformers,虽然个别任务上相比原始Transformer有所下降,但是速度上提升极大

  • 有的模型在各个任务上平均成绩出色,却一个第一也拿不到,例如BigBird,虽然号称线性复杂度,但是在实际测试环境中速度和原始Transformer差不多,性能却得到了一定的加强。

  • 有的模型利用了复杂的技巧,但是速度却没有优势,性能可能有明显的下降,例如reformer、synthesizer。

权衡之下,似乎基于核函数的模型,如Performer、Linformer、linear transformer是兼顾各个方面的较优解。可能并不存在十全十美的模型,某个模型一统江湖的注定是乏味无趣的,根据自己任务合理选择模型,设计结构,最终得到针对当前问题的SOTA才是程序员朴实无华的快乐吧~

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【论文

 获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCKS 2019 | 百度 CTO 王海峰详解知识图谱与语义理解

本文转载自公众号:机器之心。; 8 月 24 日至 27 日在杭州召开的 2019 年全国知识图谱与语义计算大会(CCKS 2019)上,百度 CTO 王海峰发表了题为《知识图谱与语义理解》的演讲。CCKS 2019 由中国中文信息学会语言与知识计…

LeetCode 145. 二叉树的后序遍历(后序遍历总结)

文章目录1. 题目信息2. 解法2.1 递归2.2 循环,必须掌握a. 单栈b. 双栈解法3. 前中后序总结1. 题目信息 给定一个二叉树,返回它的 后序 遍历。 示例:输入: [1,null,2,3] 1\2/3 输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗…

云原生之容器安全实践

概述 云原生(Cloud Native)是一套技术体系和方法论,它由2个词组成,云(Cloud)和原生(Native)。云(Cloud)表示应用程序位于云中,而不是传统的数据中…

领域应用 | HiTA知识图谱 “药品-适应证”图谱数据发布!

本文转载自公众号:OMAHA联盟。2019年8月,OMAHA对HiTA知识图谱服务平台(kg.omaha.org.cn)进行了更新,同步发布了医学知识图谱表达模型(schema)。2019年9月17日,首次发布了由OMAHA研发…

主题模型综述:短文本、细粒度、加入先验知识、作者写作偏好、主题内涵随时间的变迁、融入词嵌入特性、语言模型加持

原文链接:https://www.zhihu.com/question/34801598/answer/765580727 主题模型当然有用咯,谁用谁知道!这次我来展示下它的7个“变种”(短文本、细粒度、加入先验知识、作者写作偏好、主题内涵随时间的变迁、融入词嵌入特性、语言模型加持)&a…

完全解析:使用Faiss进行海量特征的相似度匹配

文 | Gemfield源 | 知乎Faiss为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库。本文从最基本的特征比对开始讲解,中间详细讲解Faiss的环境配置以及使用步骤,最后落脚到为什么我们需要…

LeetCode 173. 二叉搜索树迭代器(中序遍历)

文章目录1. 题目信息2. 二叉树中序遍历1. 题目信息 实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。 调用 next() 将返回二叉搜索树中的下一个最小的数。 示例: BSTIterator iterator new BSTIterator(root); iterator.next(); // 返…

论文浅尝 | 面向时序知识图谱推理的循环事件网络

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答。来源:arXiv (short version accepted at ICLR 2019Workshop on Representation Learning on Graphs and Manifolds)链接:https://arxiv.org/abs/1904.05530…

Android实现炫酷的星空变幻效果

二话不说,先上效果图: 这个图是什么意思呢,有没有看到一直在变颜色啊,有没有很像星云变幻呢,有没有很炫,快来看看怎么实现的吧! 这是我们要被处理的原图,实现方式就是通过不断的改变…

美团配送数据治理实践

大数据时代的到来,让越来越多的企业看到了数据资产的价值。将数据视为企业的重要资产,已经成为业界的一种共识,企业也在快速探索应用场景和商业模式,并开始建设技术平台。 但这里要特别强调一下,如果在大数据“拼图”中…

这可能是你近 2 年发论文最好机会!

几年前如果熟练使用TensorFlow,同时掌握基本的AI算法就可以很容易找到一份高薪的工作,但现在不一样了,AI岗位的要求越来越高,对知识的深度也提出了更高的要求。如果现在一个面试官让你从零推导SVM的Dual、从零实现CRF、推导LDA、设…

LeetCode 671. 二叉树中第二小的节点

文章目录1. 题目信息2. 解题2.1 递归查找2.2 改循环1. 题目信息 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值。 给出这样的一…

论文浅尝 | 多标签分类中的元学习

论文笔记整理:叶群,浙江大学计算机学院,知识图谱、NLP方向。会议:EMNLP 2019链接:https://arxiv.org/abs/1909.04176Abstract这篇论文首次在多标签分类问题中提出了 meta-learning 的方法,学习weight polic…

从源码角度分析Android系统的异常捕获机制是如何运行的

我们在开发的时候经常会遇到各种异常,当程序遇到异常,便会将异常信息抛到LogCat中,那这个过程是怎么实现的呢? 我们以一个例子开始: import android.app.Activity; import android.os.Bundle;public class MainActivit…

法律规则鬼畜图解||全面易懂的旅游投诉赔偿标准

法律规则鬼畜图解||全面易懂的旅游投诉赔偿标准https://zhuanlan.zhihu.com/p/82878902 执笔人:张宗保律师(联系方式:知乎私信)执业地域:深圳市执业方向:民商事诉讼一、赔偿标准的适用前提只有在旅游者和旅…

美团技术十年:让我们感动的那些人那些事

时光荏苒,美团十岁了,美团技术团队也走过了十个春秋。 2010年3月4日美团网上线的时候,整个公司总共十来人,在一套三居室的民房里起步。其中技术团队只有5个人,现在有4位还在美团。 今天,美团是中国市值第三…

LeetCode 113. 路径总和 II(回溯)

文章目录1. 题目信息2. 解题1. 题目信息 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum 22,5/ \4 8/ / \11 1…

开放开源 | DeepKE:基于深度学习的开源中文关系抽取工具

本文转载自公众号:浙大 KG。作者:余海阳机构:浙江大学代码地址: https://github.com/zjunlp/deepkeOpenKG 发布地址: http://openkg.cn/tool/deepke一、系统简介关系抽取是知识图谱构建的基本子任务之一,它主要面向非结构化的文本…

微前端在美团外卖的实践

背景 微前端是一种利用微件拆分来达到工程拆分治理的方案,可以解决工程膨胀、开发维护困难等问题。随着前端业务场景越来越复杂,微前端这个概念最近被提起得越来越多,业界也有很多团队开始探索实践并在业务中进行了落地。可以看到&#xff0c…

论文浅尝 | Meta Relational Learning: 基于元关系学习的少样本知识图谱推理

本文转载自公众号:浙大KG。 笔记整理:陈名杨,浙江大学在读博士发表会议:EMNLP-2019论文链接:https://arxiv.org/abs/1909.01515开源代码&…