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

Posted AI架构师易筋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻译: Transformer一种用于语言理解的新型神经网络架构 Google AI相关的知识,希望对你有一定的参考价值。

神经网络,尤其是循环神经网络(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的主要内容,如果未能解决你的问题,请参考以下文章

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

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

利用 Universal Transformer,翻译将无往不利!

Transformer的基本原理

Transformer的基本原理

Transformer的基本原理