人工机器:NDC-谷歌机器翻译破世界纪录,仅用Attention模型,无需CNN和RNN
终于找到ML日报的微信链接,抄之......................................
请拜访原文链接:【谷歌机器翻译破世界纪录】仅用Attention模型,无需CNN和RNN。
评价:
NTM的成熟体DNC竟然达到了这种能力,不知道进化成完全体会是什么样子。竟然在机器翻译的准确率上超过了已经公布的所有模型,不愧是最接近现阶段最接近图灵机的有限图灵机。
在数码宝贝中,我最喜欢的是阿和的加布兽进化的究极体数码宝贝——钢铁加鲁鲁,其使用的武器绝对冷冻气——就洋溢着极其欠揍的高冷味道。
参考文章:基于神经网络的混合计算-Hybrid
computing using a neural network with dynamic external memory。
其中,关于NTM的译文:人工机器-NTM-Neutral Turing Machine。
文章简介:
大多数性能较好的神经序列转导模型都使用了编码器-解码器的结构。Transformer 也借鉴了这一点,并且在编码器-解码器上使用了全连接层。
编码器:由 6 个完全相同的层堆叠而成,每个层有 2 个子层。在每个子层后面会跟一个残差连接和层正则化(layer normalization)。第一部分由一个多头(multi-head)自注意力机制,第二部分则是一个位置敏感的全连接前馈网络。
解码器:解码器也由 6 个完全相同的层堆叠而成,不同的是这里每层有 3 个子层,第 3 个子层负责处理编码器输出的多头注意力机制。解码器的子层后面也跟了残差连接和层正则化。解码器的自注意力子层也做了相应修改。
2017-06-14 新智元
新智元报道
来源:arXiv
编译:胡祥杰 文强
【新智元导读】 谷歌在机器翻译上的一项最新研究:仅使用注意力机制构建模型,不需要CNN和RNN。作者称,在机器翻译上这一模型效果超越了当下所有公开发表的机器翻译模型,在BLUE上取得创纪录的成绩。训练速度和效率上: 8 颗 P100 GPU 上3.5 天完成训练。该研究可以看成是对Facebook此前机器翻译突破的回应:不久前,Facebook发布了基于卷积神经网络的方法,取得了当时最高准确度,并且速度是谷歌基于循环神经网络(RNN)系统的9倍。
正文
谷歌大脑、谷歌研究院和多伦多大学学者合作的一项新研究称,使用一种完全基于注意力机制(Attention)的简单网络架构 Transformer 用于机器翻译,效果超越了当下所有公开发表的机器翻译模型,包括集成模型。值得一提的是,该研究没有使用任何循环或卷积神经网络,全部依赖注意力机制。正如文章的标题所说:“注意力机制是你需要的全部(Attention Is All You Need)。
谷歌“新成员” Ian Goodfellow 在个人 twitter 上卖力转发这一论文。
回应 Facebook?巨头在机器翻译技术上的暗中较劲
上个月,Facebook AI 研究 (FAIR)团队发布了一项使用创新性的、基于卷积神经网络的方法来进行语言翻译的最新成果。Facebook 称,该研究取得了截止目前最高准确度,并且速度是基于循环神经网络(RNN)系统的9倍(谷歌的机器翻译系统使用的就是这一技术)。
现在,谷歌的这一篇论文说的是,我们不仅不用CNN,我们连RNN也不用了,就一个Attention 就能搞定机器翻译,而且效果最好,性价比最高。
巧合的是,与Facebook发布研究成果时一样,谷歌在本次研究成果的发布上,不仅强调BLUE测评分数上拿到最好,实现业界最佳,并且还特别提到了训练时间和GPU消耗:“模型训练是在 8 颗 P100 GPU 上3.5 天完成。”
注意力机制是你需要的全部
一直以来,在序列建模和序列转导问题中,比如涉及语言建模和机器翻译的任务,循环神经网络(RNN),尤其是长短时记忆(LSTM)及门循环网络,都被视为最先进的方法。研究人员也想方设法拓展循环语言建模和编码器-解码器架构。
其中,注意力机制自提出以来便成为序列建模和转导模型不可或缺的一部分,因为注意力机制能够在不关注输入输出序列之间距离的情况下,对依存(dependence)建模。只有在极少数的案例中,作者将注意力机制与一个循环网络作为整个网络中相等的结构,并行放置。
在谷歌大脑最新公开的一项研究中,研究人员提出了一个全新的架构 Transformer,完全依赖注意力机制从输入和输出中提取全局依赖,不使用任何循环网络。
谷歌大脑的研究人员表示,Transformer 能够显著提高并行效率,仅在 8 颗 P100 GPU 上训练 12 小时就能达到当前最高性能。
论文作者以 Extended Neural GPU、ByteNet 和 ConvS2S 为例,这些结构都使用卷积神经网络(CNN)作为基本的模块,并行计算所有输入和输出位置的隐藏表征,从而减少序列计算的计算量。在这些模型中,将来自两个任意输入或输出位置的信号相关联的运算次数会根据位置之间的距离增加而增加,对于 ConvS2S 这种增加是线性的,而对于 ByteNet 则是呈对数增长的。
这让学习距离较远的位置之间的依赖难度增大。在 Transformer 当中,学习位置之间的依赖被减少了,所需的运算次数数量是固定的。
这需要使用自注意力(Self-attention),或内部注意力(intra-attention),这是一种与单个序列中不同位置有关的注意力机制,可以计算出序列的表征。
以往研究表明,自注意力已被成功用于阅读理解、抽象概括等多种任务。
不过,谷歌大脑的研究人员表示,据他们所知,Transformer 是第一个完全依赖自注意力的转导模型,不使用 RNN 或 CNN 计算输入和输出的表征。
摘要
当前主流的序列转导(transduction)模型都是基于编码器-解码器配置中复杂的循环或卷积神经网络。性能最好的模型还通过注意力机制将编码器和解码器连接起来。我们提出了一种简单的网络架构——Transformer,完全基于注意力机制,没有使用任何循环或卷积神经网络。两项机器翻译任务实验表明,这些模型质量更好、可并行化程度更高,并且能大大减少训练时间。
我们的模型在 WMT 2014 英德翻译任务上实现了 28.4 的 BLEU 得分,在现有最佳成绩上取得了提高,其中使用集成方法,超过了现有最佳成绩 2 个 BLEU 得分。在 WMT 2014 英法翻译任务中,我们的模型在单一模型 BLEU 得分上创下了当前最高分 41.0,而训练时间是在 8 颗 GPU 上训练 3.5 天,相比现有文献中的最佳模型,只是其训练成本的很小一部分。我们还显示了 Transformer 泛化性能很好,能够成功应用于其他任务,比如在拥有大规模和有限训练数据的情况下,解析英语成分句法解析(English
constituency parsing)。
模型架构
大多数性能较好的神经序列转导模型都使用了编码器-解码器的结构。Transformer 也借鉴了这一点,并且在编码器-解码器上使用了全连接层。
编码器:由 6 个完全相同的层堆叠而成,每个层有 2 个子层。在每个子层后面会跟一个残差连接和层正则化(layer normalization)。第一部分由一个多头(multi-head)自注意力机制,第二部分则是一个位置敏感的全连接前馈网络。
解码器:解码器也由 6 个完全相同的层堆叠而成,不同的是这里每层有 3 个子层,第 3 个子层负责处理编码器输出的多头注意力机制。解码器的子层后面也跟了残差连接和层正则化。解码器的自注意力子层也做了相应修改。
(图1)Transformer 的架构示意图
(图2)具体采用的注意力机制。左边是 Scaled Dot-Roduct Attention,右边是多头注意力(Multi-Head Attention),由几个并行的层组成。
在编码器-解码器层当中,query 来自上一个解码层,编码器输出值(value)及 memory key。这样,解码器中所有位置都能照顾到输入序列中的所有位置。
编码器含有自注意力层。在自注意力层中,所有的 key、value 和 query 都来自同一个地方,那就是编码器的上一层输出。编码器中的每一个位置都能照顾到编码器上一层中所有的位置。
同样,解码器中的自注意力层让解码器中所有位置都能被注意到,包括那个位置本身。
创造了BLEU的最高分28.4
在WMT2014 英语到德语的翻译任务中,我们的大型transformer在性能上优于此前在有记录的所有模型(包括集成的模型),并且创造了BLEU的最高分28.4。
模型的配置详情见表3下的清单。训练过程为3.5天,在8颗P100 GPU上运行。即便是我们最基础的模型,也超越了此前所有发布的和集成的模型,但是训练的成本却只是此前最好的一批模型中的一小部分。
表2:Transformer 在英语到德语和英语到法语新闻测试2014数据集上,比此前最好的模型获得的BLEU分数都要高。
表2 总结了我们的结果,并与其他模型在翻译质量和训练成本上进行对比。我们评估了被用于训练模型的浮点操作数量,用来乘以训练时间,使用的GPU的数量,并评估了每一颗GPU中,可持续的单精度浮点承载量。
表4 Transformer 在英语成分句法解析任务上也取得了较好的效果。(基于WSJ Section 23 数据库)
为了测试Transformer能否用于完成其他任务,我们做了一个在英语成分句法解析上的实验。这一任务的难度在于:输出受到结构限制的强烈支配,并且比输入要长得多得多。另外,RNN序列到序列的模型还没能在小数据领域获得最好的结果。
会尽快开源论文代码,供人训练和评估模型
谷歌大脑研究人员提出了首个完全基于注意力的序列转导模型 Transformers,用自注意力取代了编码器-解码器架构中最常用的循环层。
对于翻译任务,Transformer 的训练时间比基于循环或卷积层的架构明显更快。在 WMT 2014 英德翻译和 WMT 2014 英法翻译任务中,Transformer 实现了当前最好的结果。
论文作者还通过实验证明了 Transformer 具有良好的泛化性能,能够用于其他任务。
作者在论文的结论中写道,他们十分关注基于注意力模型的架构,并计划将其应用于其他任务,比如文本之外的输入和输出模式问题,以及探索如何将本地及受限制注意机制用于有效处理图像、音频和视频等拥有大量输入和输出的问题。
最后,作者表示将尽快开源论文代码,供人训练和评估模型。
人工机器:NDC-谷歌机器翻译破世界纪录,仅用Attention模型,无需CNN和RNN的更多相关文章
- 东方超环(EAST)世界纪录
2017年7月3日夜晚,国家大科学装置——世界上第一个全超导托卡马克(EAST)东方超环再传捷报:实现了稳定的101.2秒稳态长脉冲高约束等离子体运行,创造了新的世界纪录.这标志着EAST成为了世界上 ...
- 谷歌(google)世界各国网址大全
谷歌(google)世界各国网址大全世界各国google网址 国家 网址 国家主要语言 亚洲:中国 google.cn 汉语蒙古 google.mn蒙古语韩国 google.c ...
- Word Flow:创造吉尼斯世界纪录的触屏文本输入的全新体验——微软Windows Phone 8.1系统倾情巨献
Flow:创造吉尼斯世界纪录的触屏文本输入的全新体验--微软Windows Phone 8.1系统倾情巨献" title="Word Flow:创造吉尼斯世界纪录的触屏文本输入的全 ...
- 重磅!刷新两项世界纪录的腾讯优图人脸检测算法DSFD开源了!
近日,知名开源社区Github上有个名为DSFD(Dual Shot Face Detector)的算法引起了业内关注,它正是来自于腾讯优图.目前,该算法已经被计算机视觉顶级会议CVPR 2019接收 ...
- TPCx-BB官宣最新世界纪录,阿里巴巴计算力持续突破
2019年9月17日,TPC官宣Alibaba Cloud MaxCompute认证结果.同月26日,杭州云栖大会阿里巴巴宣布了这一成绩,飞天大数据平台计算引擎MaxCompute成为全球首个TPCx ...
- 我与Git的那些破事(下)--分支模型
在上篇文章中,我提到了Git的基本概念和一些本人实际项目中的总结.然而,最近读了Vincent Driessen写的一篇文章,觉得他总结的太好了,站在他肩膀上忍不住将自己的理解分享出来.Vincent ...
- 从Image Caption Generation理解深度学习
0. 前面的话 建丁让我写一篇深度学习相关小文章,目标读者是国内的开发者.刚接到这个任务时我是颇为忐忑的,写文章要讲究厚积薄发,如果“水之积也不厚”,“则其负大舟也无力”.因为我自知水平很有限,又不是 ...
- PaddlePaddle︱开发文档中学习情感分类(CNN、LSTM、双向LSTM)、语义角色标注
PaddlePaddle出教程啦,教程一部分写的很详细,值得学习. 一期涉及新手入门.识别数字.图像分类.词向量.情感分析.语义角色标注.机器翻译.个性化推荐. 二期会有更多的图像内容. 随便,帮国产 ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 1】第一课:深度学习总体介绍
最近一直在研究机器学习,看过两本机器学习的书,然后又看到深度学习,对深度学习产生了浓厚的兴趣,希望短时间内可以做到深度学习的入门和实践,因此写一个深度学习系列吧,通过实践来掌握<深度学习> ...
随机推荐
- fastclick:处理移动端click事件300毫秒延迟
fastclick:处理移动端click事件300毫秒延迟 1.兼容性 iOS 3及更高版本的移动Safari iOS 5及更高版本的Chrome Android上的Chrome(ICS) Opera ...
- Codeforces Round #413(Div. 1 + Div. 2, combined)——ABCD
题目在这里 A.Carrot Cakes 乱七八糟算出两个时间比较一下就行了 又臭又长仅供参考 #include <bits/stdc++.h> #define rep(i, j, k) ...
- nyoj_8_一种排序_201311251238
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编 ...
- java GC垃圾回收机制G1、CMS
CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合.在启动JVM参数加上-XX:+UseConcMa ...
- array_change_key_case()
定义和用法 array_change_key_case() 函数将指定数组的所有的键进行大小写转换. 如果数组的键(索引)为数字则不发生变化.如果未提供第二个参数,则默认转换为小写. 语法 array ...
- HDU 4504
直接DP求组合数即可. #include <iostream> #include <cstdio> #include <algorithm> #include &l ...
- 【Anroid界面实现】WindowManager类使用具体解释——用户首次打开APP的使用教学蒙板效果实现
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在上一篇的文章中,我们介绍了怎样实现桌面悬浮窗体,在这个效果的实现过程中.最重要的一个类就是WindowMa ...
- Python内置的字符串处理函数
生成字符串变量 str='python String function' 字符串长度获取:len(str) 例:print '%s length=%d' % (str,len(str)) 连接字符 ...
- NS3网络仿真(2):first.py
1 安装基本模块 11 安装Python 12 安装PTVS 13 加入对python-279的支持 2 在vs2013下编译NS3 3 编译NetAnim 4 在vs2 ...
- 使用同步适配器(sync adapter)数据传输
在android设备与webserver之间实现数据同步能显著提高你的应用的有用性.让你的应用更受用户的欢迎. 比方说.你的数据上传给webserver,这就有了一个有用的备份.当用户的设备离线工作时 ...