神经网络,尤其是循环神经网络(RNN),现在是语言理解任务(如语言建模、机器 翻译和问答)的主要方法的 核心。在“ Attention Is All You Need ”中,我们介绍了 Transformer,这是一种基于自注意力机制的新型神经网络架构,我们认为它特别适合语言理解。

在我们的论文中,我们展示了 Transformer 在学术英语到德语和英语到法语的翻译基准上都优于循环模型和卷积模型。除了更高的翻译质量之外,Transformer 需要更少的计算来训练,并且更适合现代机器学习硬件,将训练速度提高一个数量级。

标准 WMT newstest2014 英德翻译基准上单个模型的 BLEU 分数(越高越好)。


标准 WMT newstest2014 英法翻译基准上单个模型的 BLEU 分数(越高越好)。

语言理解的准确性和效率

神经网络通常通过生成固定或可变长度的向量空间表示来处理语言。在从单个单词甚至单词的表示开始之后,他们从周围的单词中聚合信息,以确定给定语言在上下文中的含义。例如,决定句子“I arrived at the bank after crossing the…”中“bank”一词的最可能含义和适当表示需要知道句子是否以“……road”结尾。或“……river。”

近年来,RNN 已成为翻译的典型网络架构,以从左到右或从右到左的方式顺序处理语言。一次读取一个单词,这迫使 RNN 执行多个步骤来做出依赖于彼此远离的单词的决策。处理上面的例子,RNN只能在逐步读取“bank”和“river”之间的每个单词后,才能确定“bank”很可能是指河流的岸边。先前的研究表明,粗略地说,决策所需的此类步骤越多,循环网络就越难学习如何做出这些决策。

RNN 的顺序性也使得充分利用现代快速计算设备(如TPU )和 GPU变得更加困难,它们擅长并行处理而不是顺序处理。卷积神经网络 (CNN) 的顺序性远低于 RNN,但在ByteNet或ConvS2S等 CNN 架构中,组合来自输入的远处部分的信息所需的步数仍会随着距离的增加而增加。

The Transformer

相比之下,Transformer 只执行少量恒定的步骤(根据经验选择)。在每一步中,它都应用了一种自我注意机制,该机制直接对句子中所有单词之间的关系进行建模,而不管它们各自的位置如何。在前面的例子“I arrived at the bank after crossing the river”中,为了确定“bank”这个词是指河岸而不是金融机构,Transformer可以学会立即关注“river”这个词并在一个步骤中做出此决定。事实上,在我们的英法翻译模型中,我们准确地观察到了这种行为。

更具体地说,要计算给定单词的下一个表示 - 例如“bank” - Transformer 将其与句子中的每个其他单词进行比较。这些比较的结果是句子中每个其他单词的注意力得分。这些注意力分数决定了每个其他单词应该对“bank”的下一个表示做出多少贡献。在该示例中,在计算“bank”的新表示时,消除歧义的“river”可能会获得较高的关注分数。然后将注意力分数用作所有单词表示的加权平均值的权重,将其输入全连接网络以生成“bank”的新表示,反映该句子正在谈论河岸。

下面的动画说明了我们如何将 Transformer 应用于机器翻译。用于机器翻译的神经网络通常包含一个编码器,它读取输入句子并生成它的表示。然后,解码器在查询编码器生成的表示的同时逐字生成输出句子。Transformer 首先为每个单词生成初始表示或嵌入。这些由未填充的圆圈表示。然后,使用自我注意,它聚合来自所有其他单词的信息,为每个单词生成一个新的表示,该表示由整个上下文通知,由填充的球表示。然后对所有单词并行重复此步骤多次,连续生成新的表示。

解码器的操作类似,但一次生成一个单词,从左到右。它不仅关注其他先前生成的单词,还关注编码器生成的最终表示。

信息流

除了计算性能和更高的准确性之外,Transformer 的另一个有趣方面是我们可以可视化网络在处理或翻译给定单词时关注的句子的其他部分,从而深入了解信息如何通过网络传播。

为了说明这一点,我们选择了一个示例,该示例涉及一个众所周知的对机器翻译系统具有挑战性的现象:共指解析。考虑以下句子及其法语翻译:

很明显,第一句对中的“it”指的是animal,而第二句中的“it”指的是street。在将这些句子翻译成法语或德语时,“it”的翻译取决于它所指名词的性别——在法语中,“animal”和“street”有不同的性别。与当前的 Google Translate 模型相比,Transformer 可以正确地将这两个句子翻译成法语。可视化编码器在计算“it”这个词的最终表示时所关注的词,有助于了解网络是如何做出决定的。在其中一个步骤中,Transformer 清楚地确定了“它”可以指代的两个名词,并且各自的注意力量反映了它在不同上下文中的选择。

受过英法翻译训练的 Transformer 的第 5 层到第 6 层的单词“it”的编码器自注意力分布(八个注意力头之一)。

鉴于这种洞察力,Transformer 在句法选区解析的经典语言分析任务上也表现出色,这可能并不令人惊讶,这是自然语言处理社区几十年来一直在使用高度专业化的系统攻击的任务。
事实上,在几乎没有经过调整的情况下,我们用于英语到德语翻译的相同网络的性能优于之前提出的选区解析方法之一。

展望

我们对 Transformer 的未来潜力感到非常兴奋,并且已经开始将其应用于其他问题,不仅涉及自然语言,还涉及非常不同的输入和输出,例如图像和视频。我们最近开源的Tensor2Tensor 库极大地加速了我们正在进行的实验。事实上,下载库后,您只需调用几个命令即可训练自己的 Transformer 网络进行翻译和解析。我们希望您试一试,并期待看到社区可以使用 Transformer 做些什么。

致谢

这项研究由 Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan N. Gomez、Łukasz Kaiser 和 Illia Polosukhin 进行。还要感谢 David Chenell 制作了上面的动画。

参考

https://ai.googleblog.com/2017/08/transformer-novel-neural-network.htmls

翻译: Transformer一种用于语言理解的新型神经网络架构 Google AI相关推荐

  1. Paper:《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双向Tr

    Paper:<BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双 ...

  2. BERT论文翻译:用于语言理解的深度双向Transformer的预训练

    Jacob Devlin Ming-Wei Chang Kenton Lee kristina Toutanova Google AI Language {jacobdevlin, mingweich ...

  3. 何恺明大神新作:一种用于目标检测的主流ViT架构,效果SOTA

    链接:https://arxiv.org/abs/2203.16527 作者单位:Facebook AI Research 1导读 3月30日,何恺明大神团队在ArXiv上发布了最新研究工作,该工作主 ...

  4. #每天一篇论文 329/365 EyrISV2:一种用于移动设备上深度神经网络的柔性加速器(一)

    Eyeriss v2: A Flexible Accelerator for Emerging Deep Neural Networks on Mobile Devices 每天一篇论文汇总list ...

  5. CVPR2019| ADCrowdNet: 用于人群理解的可变形卷积网络

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 提出了一种用于人群理解的注意力可变形卷积网络ADCrowdNet,它可以解决高拥塞噪声场景的精度下降问题.ADCro ...

  6. 微软翻译突破百种语言和方言大关

    编者按:" ياخشىمۇ سىز.ᠲᠠ ᠰᠠᠢᠨ.سالەمەتسىڭبە .ཁམས་བཟང་།",你知道这句话里有几种语言,它们又是什么意思么?其实这只是我国少数民族语言的一部 ...

  7. FAIR重磅发布大规模语料库XNLI:解决跨15种语言理解难题

    作者 | Facebook AI 研究院和纽约大学研究团队 译者 | 盖磊 编辑 | Vincent AI 前线导读:自然语言处理系统依赖于使用基于标注数据的有监督学习提高模型的处理能力.目前,许多模 ...

  8. StructBERT:将语言结构纳入深度语言理解的预训练中——中文翻译

    STRUCTBERT:将语言结构纳入深度语言理解的预训练中 Wei Wang, Bin Bi, Ming Yan, Chen Wu, Zuyi Bao, Jiangnan Xia, Liwei Pen ...

  9. html是一种用于创建网页的标准标记语言,html

    HTML.XML.XHTML 有什么区别? HTML是一种用于创建网页的国际通用的标准标记语言,用来展示数据:XML是一种标记语言,由相关人士自由决定的标记语言,即语言的可拓展性,设计用来传输及携带数 ...

最新文章

  1. 不懂复盘,十年经验等于零
  2. 2021年信息系统项目管理师案例分析第二题讲解
  3. 计算机科学概论1,《计算机科学导论1》.docx
  4. 一步一步学习OC2007(三)--定制菜单命令
  5. CF1192B Dynamic Diameter(LCT)
  6. spring mvc学习(41):restful的crud的项目原型介绍
  7. 一页纸项目管理模板_项目管理职场必备读物!这一次全部送给你!
  8. 浏览器开发重要的参考博客
  9. AM335x关于LCD屏幕的时钟PLL配置
  10. 【转】企业网站建设方法论
  11. centos7登陆mysql_Centos7安装Myql8.0并授权登录
  12. SIGCOMM 2010 论文 paper list
  13. 11月女性时尚行业动态:浏览热度走势曲折 起伏大
  14. 倒置链表(递归方式)
  15. 水经注叠加cad_相见恨晚的50个CAD技巧
  16. 单片机4*4矩阵键盘的原理
  17. setBackgroundResource()与setImageBitmap()以及setBackground()的使用
  18. 马哥教育——第十四周作业
  19. 微信公众平台测试账号申请
  20. vue.js3D立方体旋转播放特效

热门文章

  1. 元宇宙概念火热,哪些“元技能”人才炙手可热?
  2. 深度学习技巧应用7-K折交叉验证的实践操作
  3. 品牌定位个性六种形态及结论的重大意义
  4. esp32第一篇:试用
  5. 随机过程笔记(9) 瑞利分布和窄带高斯
  6. 白杨SEO:评论推广引流,学会这招,既可锻炼执行力又可拓展思路!
  7. 【2023/05/13】NP完备
  8. 接线端子名PH,XH,ZH的区别
  9. 马斯克加价62.5亿美元收购推特,联想去年研发投入增至130亿,苹果明确所有App支持删号,今日更多大新闻在此...
  10. 国民技术N32L40X之IAP升级IAP程序