Source-linked AI summary
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
TL;DR
系列変換モデルは、系列的なrecurrentまたはconvolutional計算に依存するため、学習時の並列化が制限される。本論文ではattentionのみを用いるTransformerを導入し、WMT 2014の両タスクで最先端の翻訳品質を達成しながら、大幅に高速な学習を実現する。
問題
recurrentな系列モデルにおける系列的計算は、学習例内の並列化を制限し、特に長い系列でその影響が大きい。
手法
Transformerはrecurrent layerをmulti-headed self-attentionに置き換え、系列表現を計算するとともに大域的な依存関係を捉える。
結果
WMT 2014 English-to-Germanで28.4 BLEUを達成して新たなstate of the artを確立し、English-to-Frenchでもstate-of-the-artの結果を達成した。
要点と限界
翻訳において、Transformerはstate-of-the-artの品質を達成しながら、recurrentまたはconvolutional architectureより大幅に高速に学習できる。
Abstract
from arXiv · showhide
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.
1 はじめに
Transformerは、系列モデリングをrecurrent computationからattentionのみへ置き換え、recurrent computationの限定的な並列化という課題に対処しつつ、入力と出力の大域的な依存関係を捉える。8基のP100 GPU上で最短12時間の学習により、より高い並列化と翻訳品質の新たな最高水準を達成する。
- 1 はじめに: Recurrentおよびgated architectureは、language modelingやmachine translationを含む系列モデリングとtransductionにおける最高水準の手法として確立されていた [7] [2] [5].その後の研究でも、recurrent language modelとencoder-decoder architectureの性能向上が続いた [38] [24] [15].
- 1 はじめに: Recurrent modelは系列位置ごとに計算を分解するため、各hidden stateが直前のstateに依存し、training example内での並列化を妨げる。この制約は、memoryの制約によってexample間のbatchingが制限されるため、系列が長いほど重要になる。
- 1 はじめに: Transformerはrecurrent computationを用いず、入力と出力の間の大域的な依存関係を捉えるためにattentionのみに全面的に依存する。Attention mechanismは、入力系列または出力系列における距離にかかわらず依存関係をモデル化する [2, 19].
- 1 はじめに: Transformerは大幅に高い並列化を可能にし、8基のP100 GPU上で最短12時間の学習後に、翻訳品質の新たな最高水準に到達する。その設計は、attentionをrecurrent networkと組み合わせるのではなく、recurrent componentを置き換える。
2 背景
従来手法は、畳み込みまたは再帰型のattention機構によって逐次計算を削減していた。一方、self-attentionはすでに複数の言語タスクで成功を収めていた。Transformerは、系列に沿った再帰や畳み込みを用いず、self-attentionのみを用いる初のtransduction modelとして提示される。
- 畳み込みモデル: Extended Neural GPU 、ByteNet [18]、ConvS2S [9]は、逐次計算を削減しつつ、入力と出力のすべてのhidden representationを並列に計算するために畳み込みを用いる。任意の位置間の関係付けには、ConvS2Sでは距離に対して線形に、ByteNetでは対数的に増加する演算が必要となる。
- Self-attention: Self-attentionは、1つの系列内の位置同士を関連付けてそのrepresentationを計算するものであり、読解、要約、textual entailment、文表現学習で成功を収めていた [4] [28] [22]。
- 関連するattentionモデル: End-to-end memory networksは、系列に沿った再帰の代わりにrecurrent attentionを用い、平易な言語による質問応答とlanguage modelingで良好な性能を示す 。
- 新規性: Transformerは、系列に沿ったRNNsや畳み込みを用いず、self-attentionのみに全面的に依存する初のtransduction modelとして説明される。本論文では、self-attentionと、[17] [18]や[9]などのモデルに対するその利点を動機付ける。
3 モデルアーキテクチャ · 3.1 Encoder and Decoder Stacks · 3.2 Attention
Transformerは、encoderおよびdecoder stackにおいて、recurrentまたはconvolutionalな系列変換を、積層self-attentionとpoint-wise fully connected layerで置き換える。そのattention機構は、scaled dot product、複数の並列head、maskingを用いてautoregressive decodingを可能にする。
- 3 モデルアーキテクチャ: Transformerは、encoder-decoder architecture [5] [2]に従い、encoderとdecoderの双方で積層self-attentionとpoint-wise fully connected layerを用いる。encoderは入力symbolを連続表現へ写像し、autoregressive decoderは出力symbolを逐次的に生成する [10]。
- 3.1 Encoder and Decoder Stacks: encoderはN = 6個の同一layerからなり、各layerはmulti-head self-attentionとposition-wise feed-forward network、residual connection、layer normalizationを組み合わせる [11] [1]。各sub-layerはLayerNorm(x + Sublayer(x))を用いる。
- 3.1 Encoder and Decoder Stacks: decoderは、encoder-decoder attention、residual connection、layer normalization、および後続positionへのアクセスを防ぐmasked self-attentionを備えたN = 6個のlayerからなる。maskingは、不正なfuture-position connectionを遮断することでautoregressive生成を維持する。
- 3.2 Attention: Scaled Dot-Product Attentionは、query-keyのdot productを計算し、√dkで割り、softmax weightを適用して、valueのweighted sumを形成する。dkが大きい場合に大きなdot productによってsoftmaxが極めて小さいgradientの領域へ押し込まれるのを、scalingによって抑制する。
- 3.2.2 Multi-Head Attention: Multi-head attentionは、query、key、valueを複数の学習可能な低次元subspaceへprojectし、それらを並列処理してoutputをconcatenateした後、再びprojectする。これにより、modelは異なるrepresentation subspaceとpositionへ同時にattentionでき、single headによる平均化の制約を回避できる。
- 3.2.2 Multi-Head Attention: modelはh = 8個のattention headを用い、dk = dv = dmodel/h = 64とすることで、full-dimensional single-head attentionと同程度の総計算コストを維持する。各headの次元削減によって、headを並列実行するコストを相殺する。
- 3.2.3 Applications of Attention in our Model: Attentionは、全input positionにわたるencoder-decoder attention、直前layerにわたるencoder self-attention、current positionまでのpositionにわたるdecoder self-attentionとして適用される。decoder self-attentionは、不正なconnectionのsoftmax inputを−∞に設定してmaskし、左から右への情報flowを維持する。
3.3 位置ごとのフィードフォワードネットワーク
各エンコーダ層およびデコーダ層は、attentionと並行して位置ごとのフィードフォワードネットワークを追加する。これはReLUを間に挟んだ2つの線形変換を適用し、位置間ではパラメータを共有する一方、層間では異なるパラメータを用いる。
- 3.3 位置ごとのフィードフォワードネットワーク: 各エンコーダ層およびデコーダ層は、各位置で個別かつ同一に適用される位置ごとのフィードフォワードネットワークを含む。このネットワークは、2つの線形変換と、その間に置かれたReLU活性化から構成される。
- 3.3 位置ごとのフィードフォワードネットワーク: フィードフォワードネットワークは、位置間では同じ線形変換パラメータを用いるが、層ごとには異なるパラメータを用いる。これは、kernel size 1の2つの畳み込みとしても記述できる。
- 3.3 位置ごとのフィードフォワードネットワーク: モデルは、入力および出力表現にd_model = 512を用い、フィードフォワードネットワークの内部層にd_ff = 2048を用いる。
3.4 埋め込みとSoftmax
Transformerは学習可能なtoken embeddingと、softmaxを用いる学習可能な線形変換によって、次のtokenの確率を生成する。二つのembedding層とpre-softmax変換の間で一つの重み行列を共有し、embeddingの重みを√dmodel倍にスケーリングする。
- 3.4 埋め込みとSoftmax: 学習されたembeddingは入力tokenと出力tokenをdmodel次元のベクトルに写像し、学習された線形変換とSoftmaxが予測された次のtokenの確率を生成する。これらの構成要素は、標準的なsequence transductionの構成に従う。
- 3.4 埋め込みとSoftmax: モデルは、2つのembedding層とpre-softmax線形変換で1つの重み行列を共有しており、[30]に従っている。
- 3.4 埋め込みとSoftmax: embedding層の重みは、使用前に√dmodel倍される。
3.5 位置エンコーディング
Transformerは再帰と畳み込みを持たないため、トークン順序を表現するために、encoderおよびdecoderの入力embeddingへ位置エンコーディングを付加する。本論文ではsinusoidal encodingを用いる。その相対位置構造は、attentionと学習時の長さを超えた外挿を支える可能性がある。
- 3.5 位置エンコーディング: Sinusoidal positional encodingはencoderおよびdecoderの入力embeddingに順序情報を付加する。embeddingと同じ次元を用いるため、両者を加算できる。モデルには再帰も畳み込みも含まれないため、これらのエンコーディングが必要となる。
- 3.5 位置エンコーディング: 各エンコーディング次元はsinusoidであり、波長は2πから10000 · 2πまで幾何級数的に増加する。固定したkに対してPEpos+kをPEposから線形に表現できるため、この設計は相対位置によるattentionの学習を助けると仮定された。
- 3.5 位置エンコーディング: 学習型の位置embedding [9]とsinusoidal encodingはほぼ同一の結果を示したが、長さの外挿が可能になる可能性を考慮し、sinusoidal版が選択された。比較結果はTable 3のrow (E)に報告されている。
4 Self-Attentionの理由
この節では、長距離依存性に関して、recurrent layerおよびconvolutional layerと計算量、並列化、経路長を比較することでself-attentionの意義を示す。Self-attentionは系列方向の深さが一定で、一般的な文長に対して有利な計算量を持ち、解釈可能なattention patternを示す可能性がある。
- この比較では、層ごとの計算量、並列化可能な計算、長距離依存性の学習に必要な経路長を評価する 。経路が短いほど、長距離依存性を学習しやすい。
- Self-attentionは、一定数の系列方向演算によってすべての入力・出力位置を接続する。一方、recurrent layerではO(n)の系列方向演算が必要である。
- Self-attentionは、系列長nが表現次元dより小さい場合、recurrent layerより高速である。これは、word-pieceおよびbyte-pairによる文表現で一般的に生じる。非常に長い系列では、attentionをサイズrの近傍に限定すると計算性能を改善できるが、最大経路長は増加する。
- Convolutional layerでは、全位置を接続するために、O(n/k)個の連続的なkカーネル層、またはO(logk(n))個のdilated convolution層が必要であり、一般にrecurrent layerより係数k倍だけ高コストである。Separable convolutionにより、convolutionの計算量を低減できる。
- Attention distributionは、個々のheadが異なるタスクを学習し、構文的または意味的な挙動を示すことが多いため、解釈可能性を高める可能性がある。このようなpatternはappendixで図示され、議論されている。
5 学習
Transformerは、Adam、warmup後に減衰するlearning-rate schedule、および正則化を用いてWMT 2014の翻訳データセットで学習された。学習には8基のNVIDIA P100 GPUを使用し、構成に応じて12時間から3.5日を要した一方、従来のstate-of-the-artモデルを下回る学習コストで、より高いBLEUスコアを達成した。
- 学習には、共有された37,000-tokenのbyte-pair語彙を持つ約4.5 millionの英独文ペアと、32,000-tokenのword-piece語彙を持つ36 millionの英仏文を用いた。文ペアは、おおよその系列長ごとにbatch化した。
- 8基のNVIDIA P100 GPUを搭載した1台のマシン上で、baseモデルは100,000 stepsを12時間で学習し、bigモデルは300,000 stepsを3.5 daysで学習した。Baseモデルのstepsに要した時間は約0.4秒、bigモデルでは1.0秒であった。
- 最適化には、β1 = 0.9、β2 = 0.98、ϵ = 10^-9のAdamを用い、4,000 warmup stepsの間learning rateを増加させた後、inverse-square-root decayを適用した。
- Transformerは、WMT 2014の英独および英仏テストにおいて、従来のstate-of-the-artモデルより高いBLEUスコアを、学習コストの一部で達成する。
- 正則化には、baseモデルにおけるPdrop = 0.1のresidual dropoutおよびembedding-position dropoutに加え、ϵls = 0.1のlabel smoothingを用いた。これによりperplexityは悪化したものの、accuracyとBLEUは改善した。
6 結果
Transformerは、学習コストを大幅に抑えながら、翻訳でstate-of-the-artの結果を達成する。また、構成要素の検証により、重要なアーキテクチャ上の選択と正則化の選択が明らかになる。さらに、English constituency parsingにもよく汎化し、Recurrent Neural Network Grammarを除く従来システムを上回る。
- 翻訳結果: WMT 2014 English-to-Germanで28.4 BLEUを達成し、アンサンブルを含む従来の最高性能モデルを2.0 BLEU超上回る。学習には8基のP100 GPUで3.5日を要した。
- 翻訳結果: WMT 2014 English-to-Frenchで41.0 BLEUを達成し、従来発表されたすべてのsingle modelを、従来のstate-of-the-artのtraining costの四分の一未満で上回る。English-to-Frenchのbig modelではdropout rate Pdrop = 0.1を用いた。
- Ablation studies: English-to-Germanの開発データでは、attention headが少なすぎても多すぎても品質が低下し、key dimensionを小さくすると性能が悪化する一方、modelの大型化とdropoutにより性能が向上する。Single-head attentionは最良設定より0.9 BLEU悪く、learned positional embeddingsはsinusoidal encodings [9]とほぼ同等の性能を示す。
- English constituency parsing: English constituency parsingでは、TransformerはRecurrent Neural Network Grammar [8]を除く、これまでに報告されたすべてのモデルを上回る。40K文のWSJ training setだけで学習した場合でも、Berkeley-Parser を上回る。
7 結論
Transformerは、multi-headed self-attentionのみに基づくsequence transduction modelであり、recurrent encoder-decoder layerを置き換える。recurrentまたはconvolutional architectureより高速に学習でき、WMT 2014の両翻訳タスクでstate-of-the-artの結果を達成する。
- このmodelは、attentionのみに基づく初のsequence transduction architectureであり、recurrent layerをmulti-headed self-attentionに置き換える。
- TransformerはWMT 2014 English-to-GermanおよびEnglish-to-Frenchでstate-of-the-artの結果を達成し、English-to-Germanでは従来報告されたすべてのensembleを上回る。recurrentまたはconvolutional layerに基づくarchitectureよりも大幅に高速に学習できる。
- 今後は、attention-based modelをtext以外にも拡張し、大規模なinputとoutputに対するrestricted attentionを開発するとともに、generationをよりless sequentialにする。提案するmodalityにはimage、audio、videoが含まれる。
Attentionの可視化
Attentionの可視化から、encoder self-attention headsが長距離依存、照応解決、文構造に関わる異なる挙動を学習していることが分かる。
- Attentionの可視化: layer 5のEncoder self-attention headsは長距離依存を追跡し、多くのheadが‘making’と‘more difficult’を結ぶ依存関係に注目している。可視化では‘making’という語へのattentionを示し、色の違いは異なるheadを表す。
- Attentionの可視化: layer 5の2つのattention headは照応解決に関与しているとみられ、‘its’という語に対して特に鋭いattentionを生じさせる。図にはhead 5の全attentionと、head 5および6について‘its’からのattentionを分離して示す。
- Attentionの可視化: 多くのattention headは文構造に関わる挙動を示し、異なるheadが異なるタスクを明確に学習している。例は、6層中layer 5にある2つのEncoder self-attention headから取られている。