XYZNOT

论文 · arXiv 1706.03762

Attention Is All You Need

发表于 cs.CLcs.LG arXivPDF

用 XYZNOT 阅读(全文翻译与 AI 讲解)

三句话总结

  1. 🎯 循环模型沿标记位置按顺序执行计算,阻碍了训练序列内部的并行化,且难以处理长距离依赖路径。
  2. 🔧 提出了 Transformer,一种完全基于缩放点积多头自注意力机制和逐位置前馈网络的编码器-解码器架构。
  3. 📈 在翻译任务上达到业内最优水准,在 WMT 2014 英德和英法任务上分别取得 28.4 BLEU 和 41.8 BLEU,仅需 8 块 GPU 训练 3.5 天。

摘要

主流的序列转换模型大多基于复杂的循环或卷积神经网络,采用编码器-解码器架构。性能最优的模型还会通过注意力机制将编码器和解码器连接起来。我们提出了一种全新的简单网络架构——Transformer,它完全基于注意力机制,彻底摒弃了循环和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上更为优越,同时具有更强的并行能力,并且训练时间显著缩短。在 WMT 2014 英德翻译任务中,我们的模型达到了 28.4 BLEU,相比现有最佳结果(包括集成模型)提升了 2 个 BLEU 以上。在 WMT 2014 英法翻译任务中,我们的单模型在 8 块 GPU 上训练 3.5 天后,创下了 41.8 BLEU 的全新业内最佳性能纪录,而训练成本仅为文献中最佳模型的一小部分。通过成功将 Transformer 应用于具有大规模和受限训练数据的英语成分句法分析任务,我们证明了该模型具有优异的泛化能力。

英文原文摘要

The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.

论文解读

问题与动机

主流的序列转换架构过去主要依赖于以编码器-解码器结构排列的循环神经网络(例如 LSTM 或 GRU)或卷积神经网络。循环网络本质上是按顺序计算隐藏表征的( 取决于 和输入 ),这阻碍了训练样本内部各时间步之间的并行化。此外,在循环网络中关联远距离位置需要 步串行操作,而像 ConvS2S 和 ByteNet 这样的卷积模型连接任意两个位置也需要 或 步操作。作者旨在构建一种完全摒弃循环和卷积的架构,以实现沿序列长度维度的完全并行化,同时将任意两个标记之间的最大路径长度减少到 。

核心思想

  • 纯注意力架构(Pure Attention Architecture):彻底取代循环连接,改用注意力机制直接在序列的所有位置之间建立依赖关系映射。
  • 缩放点积注意力(Scaled Dot-Product Attention):将乘法点积结果缩放 ,以防止点积值在高维度下变得过大,从而避免将 softmax 函数推入梯度极小的区域。
  • 多头注意力(Multi-Head Attention):将查询(queries)、键(keys)和值(values)并行线性投影到多个较低维度的表征子空间中,使网络能够同时关注来自不同位置和不同表征子空间的信息。
  • 位置编码(Positional Encoding):由于注意力操作具有置换不变性,因此在输入和输出嵌入中添加了不同频率的固定正弦曲线函数,以此编码标记的顺序信息。

方法

Transformer 采用编码器-解码器框架,两者各包含 个相同的堆叠层。

编码器与解码器

每个编码器层包含两个子层:多头自注意力机制和逐位置的全连接前馈网络(FFN)。每个子层都应用了残差连接和层归一化(Layer Normalization):,其操作维度为 。

每个解码器层包含三个子层:掩码多头自注意力(遮盖未来位置以保持自回归解码属性)、针对编码器堆栈输出的多头交叉注意力,以及逐位置 FFN。

数学公式表达

对于打包好的矩阵 ,缩放点积注意力的计算公式为:

多头注意力结合了 个并行投影: 在基础模型中,参数设置为 以及 。

逐位置前馈子层在每个位置上独立且相同地应用: 其中内部隐藏层维度为 。

位置编码由正弦和余弦函数定义:

结果

  • WMT 2014 英德翻译:Transformer(big)达到了 28.4 BLEU 的业内最佳性能,超越以往模型和集成模型 2.0 个 BLEU 以上。基础模型仅使用 FLOPs 就达到了 27.3 BLEU,计算成本仅为先前架构的一小部分。
  • WMT 2014 英法翻译:big 模型达到了 41.8 BLEU(单模型),在 8 块 NVIDIA P100 GPU 上训练 3.5 天( FLOPs)后刷新了最高纪录。
  • 英语成分句法分析(English Constituency Parsing):在 WSJ Section 23 上无需针对任务进行微调的评估中,4 层 Transformer 在判别式设置下达到了 91.3 ,在半监督设置下达到了 92.7 ,均优于 RNN 基准。

局限性与开放问题

  • 标准自注意力的单层计算复杂度为 ,在面对极长序列 时计算开销变得十分巨大。
  • 解码器中的生成依然是自回归的(依次逐个生成标记),这限制了推理阶段的延迟。
  • 论文提到需要进一步研究局部或受限注意力邻域(),以高效处理超大输入和输出上下文(例如图像、音频和视频)。

关键术语

Transformer
一种完全基于自注意力机制的序列转换模型架构,不包含任何循环或卷积操作。
Scaled Dot-Product Attention (缩放点积注意力)
一种注意力函数,在计算关于值的 softmax 之前,将查询和键的点积除以键维度的平方根 。
Multi-Head Attention (多头注意力)
一种将查询、键和值并行投影到多个表征子空间,然后再拼接并投影输出的注意力机制。
Self-Attention (自注意力)
一种序列内部的注意力机制,通过关联单条序列的不同位置来计算该序列的表征。
Positional Encoding (位置编码)
添加到标记嵌入中的固定或可学习向量表征,用于将标记序列的顺序信息注入到置换不变的注意力层中。
Residual Dropout (残差丢弃)
在将每个子层的输出添加到子层输入并应用层归一化之前,以及在标记嵌入上应用的 Dropout 正则化技术。
Label Smoothing (标签平滑)
训练期间使用的一种正则化技术(取值 ),用于惩罚过于自信的预测,尽管损害了困惑度(perplexity),但改善了 BLEU 分数。
Constituency Parsing (成分句法分析)
一种需要输出具有结构约束且较长目标序列的自然语言处理句法任务,用于展示 Transformer 架构的泛化能力。

常见问题

为什么缩放点积注意力要除以 $\sqrt{d_k}$?

当 较大时,点积的数量级会显著增大(在零均值和单位方差假设下,点积的方差为 ),这会导致 softmax 函数落入梯度极小的饱和区域。缩放 可以抵消这一效应。

Transformer 在没有循环机制的情况下如何保留标记顺序?

它在编码器和解码器堆栈的底部直接将正弦曲线位置编码加到输入和输出嵌入中,为每个标记位置赋予基于不同频率的独特模式。

在训练期间,是什么机制阻止解码器位置关注未来的标记?

解码器的自注意力子层使用了掩码机制,将 softmax 输入中对应非法未来连接的值设置为 。

训练所需的硬件和算力配置是什么?

基础模型在一台配有 8 块 NVIDIA P100 GPU 的单机上训练了 100,000 步(耗时 12 小时,每步 0.4 秒)。big 模型训练了 300,000 步(耗时 3.5 天,每步 1.0 秒)。

本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。

用 XYZNOT 阅读(全文翻译与 AI 讲解)