TECHNOLOGY NLP AI

【日本語訳】Attention Is All You Need【Transformer】【グーグル】

悩んでいる人

Attention Is All You Needの日本語訳を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOS(Linuxカーネル)の授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校(UNC)コンピュータサイエンス学部で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
  • プログラミング歴15年以上,習得している言語: C/C++PythonSolidity/Vyper,Java,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開
  • 2020年1月~現在はアメリカのノースカロライナ州チャペルヒルにあるGuarantee Happiness LLCのCTOとしてECサイト開発やWeb/SNSマーケティングの業務.2022年6月~現在はアメリカのノースカロライナ州チャペルヒルにあるJapanese Tar Heel, Inc.のCEO兼CTO.
  • 最近は自然言語処理AIイーサリアムに関する有益な情報発信に従事.
    • (AI全般を含む)自然言語処理AIの論文の日本語訳や,AIチャットボット(ChatGPT,Auto-GPT,Gemini(旧Bard)など)の記事を50本以上執筆.アメリカのサンフランシスコ(広義のシリコンバレー)の会社でプロンプトエンジニア・マネージャー・Quality Assurance(QA)の業務委託の経験あり.
    • (スマートコントラクトのプログラミングを含む)イーサリアムや仮想通貨全般の記事を200本以上執筆.イギリスのロンドンの会社で仮想通貨の英語の記事を日本語に翻訳する業務委託の経験あり.

こういった私から学べます.

AIのプログラミング言語「C++/Python言語」を学べるおすすめのWebサイトを知りたいあなたはこちらからどうぞ.

独学が難しいあなたは,AIを学べるオンラインプログラミングスクール3社で自分に合うスクールを見つけましょう.後悔はさせません!

国内・海外のAIエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

国内・海外のプロンプトエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

Attention Is All You Needの日本語訳を紹介します.

グーグルが提案したTransformerの論文ですので,是非読みましょう!

引用数106,000以上のスター論文です!

ChatGPTで利用されているTransformerがわかります.

※図表を含む論文の著作権はAttention Is All You Needの著者に帰属します.

Attention Is All You Needの目次は以下になります.

  • Abstract
  • 1章:Introduction
  • 2章:Background
  • 3章:Model Architecture
  • 4章:Why Self-Attention
  • 5章:Training
  • 6章:Results
  • 7章:Conclusion
  • Acknowledgements
  • References
  • 付録:Attention Visualizations

Attention Is All You Needを解説しつつ,私の考えも語ります.

Attention Is All You Needの概要と私の日本語訳は以下になります.

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.
また,最も性能の良いモデルは,エンコーダとデコーダをAttention機構で接続している.

We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely.
我々は,リカレントや畳み込みを完全に排除し,Attention機構のみに基づく新しいシンプルなネットワークアーキテクチャ「Transformer」を提案する.

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.
2つの機械翻訳タスクで実験した結果,これらのモデルは,並列化可能で訓練に要する時間が大幅に短縮される一方で,品質が優れていることが示された.

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.
我々のモデルは,WMT 2014 English-to-Germanの翻訳タスクで28.4 BLEUを達成し,アンサンブルを含む既存の最良結果を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.
WMT 2014 English-to-French翻訳タスクにおいて,我々のモデルは,8つのGPUで3.5日間学習した後,新しい単一モデルの最先端BLEUスコア41.8を確立し,文献から得た最高のモデルの訓練コストのごく一部であった.

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.
また,Transformerは他のタスクにも適用可能であることを,大規模な訓練データと限られた訓練データの両方で,英語の句構造解析に適用して成功したことを示す.

https://arxiv.org/abs/1706.03762

私の日本語訳の注意点は以下になります.

  • 概要は英語と日本語を両方掲載しましたが,本文は私の日本語訳のみを掲載していること(英語で読みたいあなたは原文を読みましょう!)
  • 基本的には原文の直訳ですが,わかりにくい箇所は意訳や説明を追加している箇所があること
  • 原文の「Acknowledgements」(謝辞)は省略していること
  • 本文中に登場する表記「[13]」などは参考文献ですので,興味がある方は本記事の参考文献を参照されたいこと

それでは,Attention Is All You Needの本文を読みすすめましょう!

1章:Introduction(はじめに)

リカレントニューラルネットワーク(RNNs:Recurrent Neural Networks),特に長短記憶型[13] とゲート型リカレント[7]ニューラルネットワークは,言語モデリングや機械翻訳などのシーケンスモデリングと変換問題における最先端のアプローチとして確固たる地位を築いてきた[35, 2, 5].

その後,リカレント言語モデルやエンコーダ・デコーダ・アーキテクチャの限界を押し広げるために,数多くの努力が続けられてきた[38, 24, 15].

リカレントモデルは,通常,入出力シーケンスのシンボル位置に沿って計算を行う.

この位置を計算時間のステップに合わせると,前の隠れ状態\(h_{t-1}\)と位置tの入力の関数として,一連の隠れ状態\(h_t\)を生成する.

この本質的にシーケンスな性質は,学習例内での並列化を妨げるが,メモリ制約により例間でのバッチ処理が制限されるため,シーケンス長が長くなるにつれて重要になる.

最近の研究では,因数分解の技法[21]や条件付き計算[32]によって計算効率を大幅に改善し,後者の場合にはモデルの性能も向上させている.

しかし,シーケンス計算の基本的な制約が残っている.

Attention機構は,様々なタスクにおける説得力のあるシーケンスモデリングや変換モデルに不可欠な要素となっており,入力シーケンスや出力シーケンスにおける距離に関係なく依存関係をモデリングすることができる[2, 19].

しかし,一部の事例[27]を除いて,このようなAttention機構はリカレントネットワークと組み合わせて使用されている.

本研究では,再帰性を排除し,代わりに入力と出力の間のグローバルな依存関係を描くAttention機構に完全に依存するモデルアーキテクチャであるTransformerを提案する.

Transformerは並列化を大幅に向上させ,8台のP100 GPUsで12時間という短い時間で学習した後,翻訳品質の新しい最先端に到達することができる.

2章:Background(背景)

シーケンス計算を減らすという目標は,Extended Neural GPU[16],ByteNet[18],ConvS2S[9]の基盤にもなっている.

これらのモデルはいずれも基本構成ブロックとして畳み込みニューラルネットワークを用い,すべての入出力位置に対して並行して隠れ表現を計算している.

これらのモデルでは,任意の2つの入出力位置からの信号を関連付けるために必要な演算数は,位置間の距離に応じて,ConvS2Sでは線形に,ByteNetでは対数的に増加する.

このため,離れた位置間の依存関係を学習することが難しくなる[12].

Transformerでは,Attentionで重み付けされた位置の平均化による有効解像度の低下という代償はあるものの,これは3.2節で説明するように,Multi-Head Attentionで打ち消す効果であり,一定の演算回数に削減される.

Self-Attention(時にIntra-Attentionと呼ばれる)は,1つのシーケンスの異なる位置を関連付け,シーケンスの表現を計算するためのAttention機構である.

Self-Attentionは,読解,抽象的要約,テキストの含意,タスクに依存しない文章表現の学習など,様々なタスクでうまく利用されている[4, 27, 28, 22].

End-to-Endメモリネットワークは,シーケンスアラインメントRNNsではなく,リカレントAttention機構に基づいており,単純な言語の質問応答や言語モデリングタスクで優れた性能を示す[34].

しかし,我々の知る限り,Transformerは,シーケンスアラインメントRNNsや畳み込みを使用せずに,入力と出力の表現を計算するためにSelf-Attentionに完全に依存する最初の変換モデルである.

以下のセクションでは,Transformerについて説明し,Self-Attentionの動機付け,[17, 18]や[9]のようなモデルに対する優位性について議論する.

3章:Model Architecture(モデルアーキテクチャ)

ほとんどの競合するニューラルシーケンス変換モデルは,エンコーダ・デコーダ構造を持っている[5, 2, 35].

ここで,エンコーダは,記号表現の入力シーケンス\((x_1, …, x_n)\)を連続表現のシーケンス\(z = (z_1, … ,z_n)\)にマッピングする.

zが与えられると,デコーダはシンボルの出力シーケンス\((y_1, …, y_m)\)を一度に1要素ずつ生成する.

各ステップにおいて,モデルは自動回帰的であり[10],次のシンボルを生成する際に,以前に生成したシンボルを追加入力として消費する.

Transformer Figure1
図1:Transformerモデルアーキテクチャ

Transformerは,図1の左半分と右半分にそれぞれ示すように,エンコーダとデコーダの両方に,スタックSelf-Attentionとポイント毎の完全接続層を使用するこの全体的なアーキテクチャに従う.

3.1節:Encoder and Decoder Stacks(エンコーダとデコーダのスタック)

エンコーダ:

エンコーダは,N = 6個の同一のレイヤを積み重ねたものである.

各レイヤは2つのサブレイヤを持つ.

1つ目はMulti-Head Self-Attention機構で,2つ目は単純な位置的に完全に接続されたフィードフォワードネットワークである.

2つのサブレイヤのそれぞれの周囲に残差接続[11]を採用し,その後,レイヤ正規化[1]を行う.

つまり,各サブレイヤの出力はLayerNorm(x + Sublayer(x))となり,Sublayer(x)はそのサブレイヤ自身が実装する関数である.

このような残差接続を容易にするために,埋め込み層だけでなく,モデルのすべてのサブレイヤは,\(d_{model} = 512\)の次元の出力を生成する.

デコーダ:

また,デコーダはN = 6の同一レイヤのスタックで構成されている.

各エンコーダ層の2つのサブレイヤに加え,デコーダは第3のサブレイヤを挿入し,エンコーダスタックの出力に対してMulti-Head Attentionを実行する.

エンコーダと同様に,各サブレイヤの周囲に残留接続を採用し,その後レイヤの正規化を行う.

また,デコーダスタックのSelf-Attentionサブレイヤを変更し,位置が後続の位置にAttentionしないようにする.

このマスキングは,出力埋め込みが1位置分オフセットされていることと相まって,位置iの予測はiより小さい位置の既知の出力にのみ依存できることを保証する.

3.2節:Attention

Attention関数は,クエリとキーとバリューのペアのセットを出力にマッピングするものとして記述することができ,クエリ,キー,バリュー,および出力はすべてベクトルである.

出力はバリューの重み付き和として計算され,各バリューに割り当てられた重みは,対応するキーとクエリの互換性関数によって計算される.

3.2.1項:Scaled Dot-Product Attention

我々はこの特殊なAttentionを「Scaled Dot-Product Attention」と呼んでいる(図2).

入力は,\(d_k\)次元のクエリとキー,\(d_v\)次元のバリューからなる.

クエリとすべてのキーのドット積を計算し,それぞれを\(\sqrt{d_k}\)で割り,softmax関数を適用してバリューに対する重みを求める.

実際には,行列Qにまとめられた一連のクエリに対して同時にAttention関数を計算する.

キーとバリューも一緒に行列KとVにまとめられる.

出力の行列は次のように計算する.

$$Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$

最もよく使われるAttention関数は,Additive Attention[2]とDot-Product(乗法)Attentionの2つである.

Dot-Product Attentionは,\(\frac{1}{\sqrt{d_k}}\)のスケーリングファクタを除いて,我々のアルゴリズムと同じである.

Additive Attentionは,1つの隠れ層を持つフィードフォワードネットワークを用いて互換性関数を計算する.

この2つは理論的な複雑さでは似ているが,高度に最適化された行列乗算コードを用いて実装できるため,実際にはDot-Product Attentionの方がはるかに高速でスペース効率に優れている.

\(d_k\)のバリューが小さいうちは2つの機構は同じように機能するが,\(d_k\)のバリューが大きくなると,Additive AttentionはスケーリングなしでDot-Product Attentionを上回る[3].

我々は,\(d_k\)のバリューが大きい場合,ドット積が大きくなり,softmax関数が極端に小さい勾配を持つ領域に押しやられてしまうのではないかと考えている.

※ドット積が大きくなる理由を説明するために,qとkの成分が平均0,分散1の独立した確率変数であると仮定する.このとき,そのドット積である\(q \cdot k = \sum_{i=1}^{d_k} q_i k_i\)は,平均0,分散\(d_k\)である.

この効果を打ち消すために,ドット積を\(\frac{1}{\sqrt{d_k}}\)でスケーリングする.

3.2.2項:Multi-Head Attention

Transformer Figure2
図2:(左)Scaled Dot-Product Attention.(右)Multi-Head Attentionは,複数のAttention層が並行して動作することで構成される.

\(d_{model}\)次元のキー,バリュー,クエリで1つのAttention関数を実行する代わりに,クエリ,キー,バリューをそれぞれ\(d_k\),\(d_k\),\(d_v\)次元に異なる学習済み線形投影でh回線形投影するのが有益であることがわかった.

これらの投影されたクエリ,キー,バリューのそれぞれに対して,Attention関数を並行して実行し,\(d_v\)次元の出力値を得る.

これらを連結し,もう一度投影すると,図2に示すような最終的な値が得られる.

Multi-Head Attentionは,モデルが異なる位置の異なる表現部分空間からの情報に共同してAttentionすることを可能にする.

Single Attention Headでは,平均化によってこれが阻害される.

\begin{align}
MultiHead(Q, K, V) &= Concat(head_1, ..., head_h) W^O \\
{\rm where\ } head_i &= Attention(QW_i^Q, KW_i^K, VW_i^V)
\end{align}

ここで,投影は以下のパラメータ行列になる.

  • \(W_i^Q \in \mathbb{R}^{d_{model} \times d_k}\)
  • \(W_i^K \in \mathbb{R}^{d_{model} \times d_k}\)
  • \(W_i^V \in \mathbb{R}^{d_{model} \times d_v}\)
  • \(W^O \in \mathbb{R}^{hd_v \times d_{model}}\)

本研究では,h = 8の並列Attention層(ヘッド)を採用している.

これらのそれぞれについて,\(d_k = d_v = d_{model}/h = 64\)を使用する.

各ヘッドの次元が小さくなっているため,総計算コストは,完全な次元を持つSingle-Head Attentionのものと同様である.

3.2.3項:Applications of Attention in our Model(我々のモデルにおけるAttentionの応用)

Transformerは,3つの方法でMulti-Head Attentionを使用する.

  • 「Encode-Decoder Attention」層では,クエリは前のデコーダ層から,メモリキーとバリューはエンコーダの出力から来る.これにより,デコーダのすべての位置が,入力シーケンスのすべての位置にAttentionできる.これは,[38, 2, 9]のようなsequence-to-sequenceモデルにおける典型的なエンコーダとデコーダのAttention機構を模倣したものである.
  • エンコーダにはSelf-Attention層がある.Self-Attention層では,すべてのキー,バリュー,クエリは同じ場所,この場合,エンコーダの前の層の出力から来る.エンコーダの各位置は,エンコーダの前のレイヤのすべての位置にAttentionできる.
  • 同様に,デコーダのSelf-Attention層は,デコーダの各位置が,その位置までのデコーダのすべての位置にAttentionできる.自動回帰特性を維持するために,デコーダ内の左向きの情報フローを防止する必要がある.softmaxの入力のうち,不正な接続に対応するすべてのバリューをマスクする(\(-\infty\)に設定する)ことにより,Scaled Dot-Product Attentionの内部にこれを実装する.図2を参照.

3.3節:Position-wise Feed-Forward Networks(位置毎のフィードフォワードネットワーク)

Attentionのサブレイヤに加えて,我々のエンコーダとデコーダの各レイヤには,完全接続のフィードフォワードネットワークが含まれており,各位置に別々に,同じように適用される.

これは,2つの線形変換とその間のReLU活性化関数で構成されている.

$$FFN(x) = max(0, xW_1 + b_1)W_2 + b_2$$

線形変換は異なる位置で同じであるが,層ごとに異なるパラメータを使用する.

別の表現では,カーネルサイズ1の2つの畳み込みとしている.

入力と出力の次元は\(d_{model} = 512\)で,内層の次元は\(d_{ff} = 2048\)である.

3.4節:Embeddings and Softmax(埋め込みとSoftmax)

他のシーケンス変換モデルと同様に,入力トークンと出力トークンを\(d_{model}\)次元のベクトルに変換するために,学習済み埋め込みを使用する.

また,デコーダ出力を予測された次のトークンの確率に変換するために,通常の学習済み線形変換とsoftmax関数を使用する.

我々のモデルでは,[30]と同様に,2つの埋め込み層とpre-softmax線形変換の間で同じ重み行列を共有する.

埋め込み層では,これらの重みを\(\sqrt{d_{model}}\)で乗算する.

3.5節:Positional Encoding(位置エンコーディング)

我々のモデルには再帰も畳み込みもないので,モデルがシーケンスの順序を利用するためには,シーケンス内のトークンの相対位置または絶対位置に関する情報を注入する必要がある.

そのために,エンコーダとデコーダのスタックの底にある入力埋め込みに,「位置エンコーディング」を追加する.

位置エンコーディングは,埋め込みと同じ次元\(d_{model}\)を持ち,両者を合計することができる.

位置エンコーディングには,学習型と固定型の多くの選択肢がある[9].

本研究では,周波数の異なる正弦関数と余弦関数を使用している.

\begin{align}
PE_{(pos,2i)} &= sin(pos/10000^{2i/d_{model}}) \\
PE_{(pos,2i+1)} &= cos(pos/10000^{2i/d_{model}})
\end{align}

ここで,posは位置,iは次元である.

つまり,位置エンコードの各次元は,正弦波に対応する.

波長は,\(2 \pi\)から\(10000 \cdot 2 \pi\)までの幾何学的な進行を形成する.

この関数を選んだのは,オフセットkが固定されている場合,\(PE_{pos+k}\)は\(PE_{pos}\)の一次関数として表現できるため,モデルが相対位置によるAttentionを容易に学習できると仮定したからである.

また,代わりに学習済みの位置埋め込み[9]を使用する実験も行い,2つのバージョンでほぼ同じ結果が得られることがわかった(表3の行(E)参照).

正弦波バージョンを選択した理由は,訓練中に遭遇したシーケンスよりも長いシーケンス長にモデルを外挿できる可能性があるからである.

4章:Why Self-Attention(なぜSelf-Attentionなのか)

この章では,\(x_i, z_i \in \mathbb{R}^d\)にあるとき,ある可変長の記号表現列\((x_1, …, x_n)\)を同じ長さの別の列\((z_1, …, z_n)\)にマッピングするためによく使われるリカレント層や畳み込み層とSelf-Attention層の様々な側面を比較する.

これは,典型的なシーケンス変換エンコーダやデコーダの隠れ層のようなものである.

Self-Attentionを使用する動機として,我々は3つの要望を考えている.

1つ目は,1層あたりの総計算量である.

2つ目は,必要なシーケンス処理の最小数によって測定される,並列化できる計算の量である.

3つ目は,ネットワーク内の長距離依存関係間の経路の長さである.

長距離依存関係の学習は,多くのシーケンス変換タスクにおける重要な課題である.

このような依存関係を学習する能力に影響を与える重要な要因の1つは,前方および後方の信号がネットワーク内で通過しなければならない経路の長さである.

入力シーケンスと出力シーケンスの任意の位置の組み合わせの間の経路が短ければ短いほど,長距離依存関係を学習するのが容易になる[12].

そこで,異なる層のタイプで構成されるネットワークにおいて,任意の2つの入出力位置間の最大経路長も比較する.

Transformer Table1
表1:異なるレイヤタイプにおける最大経路長,レイヤ毎の複雑さ,最小シーケンス処理数.nはシーケンス長,dは表現次元,kは畳み込みのカーネルサイズ,rは制限されたSelf-Attentionにおける近傍のサイズである.

表1にあるように,Self-Attention層は一定数のシーケンス処理で全ての位置を接続するのに対し,リカレント層は\(\mathcal{O}(n)\)のシーケンス処理を必要とする.

計算量の点では,シーケンス長nが表現次元dより小さい場合,Self-Attention層はリカレント層より高速である.

これは機械翻訳の最先端モデルで使用される文表現,例えばword-piece[38]やbyte-pair[31]表現で最もよく見られるケースである.

非常に長いシーケンスを含むタスクの計算性能を向上させるために,Self-Attentionを,それぞれの出力位置を中心とした入力シーケンスのサイズrの近傍のみを考慮するように制限できる.

これにより,最大パス長は\(\mathcal{O}(n/r)\)に増加する.

このアプローチについては,今後の研究課題としてさらに検討する予定である.

カーネル幅k < nの単一の畳み込み層では,入力と出力の位置のすべての組を接続することはできない.

そのため,連続カーネルの場合は\(\mathcal{O}(n/k)\),拡張コンボリューションの場合は\(\mathcal{O}(log_k(n))\)の畳み込み層が必要となり,ネットワーク内の任意の2つの位置間の最長経路の長さが増加する[18].

畳み込み層は一般に,リカレント層よりもk倍高価である.

しかし,Separable Convolutions[6]は,複雑さを大幅に減少させ,\(\mathcal{O}(k \cdot n \cdot d + n \cdot d^2)\)とした.

しかし,k = nであっても,分離可能な畳み込みの複雑さは,本モデルで採用しているSelf-Attention層とポイント毎のフィードフォワード層の組み合わせと同じである.

副次的な効果として,Self-Attentionはより解釈しやすいモデルをもたらす可能性がある.

我々は,我々のモデルからAttentionの分布を検査し,付録で例を提示して議論する.

個々のAttention Headは明らかに異なるタスクを実行するように学習するだけでなく,多くは文の構文と意味構造に関連する行動を示すようである.

5章:Training(訓練)

この章では,我々のモデルのための訓練体制について説明する.

5.1節:Training Data and Batching(訓練データとバッチ処理)

約450万文のペアからなる標準的なWMT 2014 English-German datasetで学習した.

文はbyte-pair encoding[3]を用いてエンコードし,約37000個のトークンでソースとターゲットの語彙を共有した.

English-Frenchについては,36Mの文からなる著しく大規模なWMT 2014 English-French datasetを使用し,トークンを32000word-pieceの語彙に分割した[38].

文のペアは,おおよそのシーケンスの長さによってバッチ化された.

各訓練バッチには,約25000のソーストークンと25000のターゲットトークンを含む文のペアのセットが含まれていた.

5.2節:Hardware and Schedule(ハードウェアとスケジュール)

8台のNVIDIA P100 GPUsを搭載した1台のマシンで我々のモデルの訓練を行った.

本論文で説明したハイパーパラメータを使用したbase modelの場合,各訓練ステップに約0.4秒を要した.

base modelの訓練は,合計100,000ステップ,12時間行った.

big model(表3の下段に記載)の場合,ステップ時間は1.0秒であった.

big modelは30万ステップ(3.5日)で訓練させた.

5.3節:Optimizer(オプティマイザ)

Adam optimizer[20]を使用し,\(\beta_1 = 0.9\),\(\beta_2 = 0.98\),\(\epsilon = 10^{-9}\)とした.

学習の過程で,式に従って学習率を変化させた.

$$lrate = d_{model}^{-0.5} \cdot min(step\_num^{-0.5}, step\_num \cdot warmup\_steps^{-1.5})$$

これは,最初のwarmup_stepsの訓練ステップでは学習率を直線的に増加させ,それ以降はステップ数の逆平方根に比例して減少させることに相当する.

ここでは,warmup_steps = 4000を使用した.

5.4節:Regularization(正則化)

学習時に3種類の正則化を採用している.

残留ドロップアウト:

各サブレイヤの出力は,サブレイヤ入力に追加され正規化される前に,ドロップアウト[33]を適用する.

さらに,エンコーダとデコーダの両方のスタックにおける埋め込みと位置エンコーディングの合計にドロップアウトを適用する.

base modelでは,\(P_{drop} = 0.1\) のレートを使用する.

ラベルスムージング:

学習時には,\(\epsilon_{ls} = 0.1\)[36]というバリューのラベルスムージングを採用した.

これは,モデルがより不確実であることを学習するため,複雑さを悪化させるが,精度とBLEUスコアを向上させる.

6章:Results(結果)

6.1節:Machine Translation(機械翻訳)

Transformer Table2
表2:Transformerは,英語からドイツ語,英語からフランス語のnewstest2014テストにおいて,これまでの最新モデルよりも優れたBLEUスコアを,わずかな訓練コストで達成した.

WMT 2014 English-to-Germanの翻訳タスクにおいて,Big Transformerモデル(表2のTransformer(big))は,これまでに報告された最良のモデル(アンサンブルを含む)を2.0 BLEU以上上回り,28.4という新しい最先端のBLEUスコアを確立した.

このモデルの構成は,表3の最下行に記載されている.

訓練には8台のP100 GPUsで3.5日かかった.

我々のbase modelでさえ,競合モデルの何分の一かの訓練コストで,これまでに発表されたすべてのモデルやアンサンブルを凌駕している.

WMT 2014 English-to-Frenchの翻訳タスクにおいて,我々のbig modelはBLEUスコア41.8を達成した.

※訳注:原文はBLEUスコア41.0と記載していますが,41.8の間違いです.

また,これまでに発表されたすべての単一モデルを凌駕し,従来の最先端モデルの1/4以下の訓練コストで達成した.

English-to-Frenchの翻訳で学習したbig modelは,ドロップアウト率\(P_{drop} = 0.1\)を使用している(0.3の代わり).

base modelには,10分間隔で書き込まれた直近の5つのチェックポイントを平均して得られた1つのモデルを使用した.

big modelについては,直近の20個のチェックポイントを平均化した.

beam size = 4,長さペナルティ\(\alpha = 0.6\)[38]のbeam searchを使用した.

これらのハイパーパラメータは,開発セットで実験した後に選択した.

推論中の最大出力長を「入力長+50」に設定したが,可能な限り早期に終了させた[38].

表2に結果をまとめ,翻訳品質と訓練コストを文献にある他のモデルアーキテクチャと比較する.

モデルの訓練に使用される浮動小数点演算の数は,訓練時間,使用するGPUの数,各GPUの持続的な単精度浮動小数点演算能力の推定値を乗じることで推定している.

※K80,K40,M40,P100については,それぞれ2.8,3.7,6.0,9.5TFLOPSという値を使用した.

6.2節:Model Variations(モデルバリエーション)

Transformer Table3
表3:Transformerのアーキテクチャのバリエーション.記載されていない値はbase modelの値と同じである.すべてのメトリクスは,English-to-Germanへの翻訳開発セット,newstest2013のものである.記載されているパープレキシティは,byte-pair encodingによる単語単位のパープレキシティであり,単語単位のパープレキシティと比較するべきではない.

Transformerのさまざまなコンポーネントの重要性を評価するために,我々のbase modelをさまざまに変化させ,開発セットであるnewstest2013のEnglish-to-Germanへの翻訳性能の変化を測定した.

前節で説明したようにbeam searchを使用したが,チェックポイントの平均化は行わなかった.

これらの結果を表3に示す.

表3の行(A)では,3.2.2項で説明したように,計算量を一定に保ちながら,Attetion Headの数,Attentionキーとバリューの次元を変えている.

Single-Head Attentionは最良の設定よりも0.9 BLEU悪いものの,ヘッド数が多すぎると品質も低下する.

表3の(B)の行では,Attentionキーサイズ\(d_k\)を小さくするとモデルの品質が低下することが確認された.

このことは,互換性の判断が容易でないこと,Dot-Productよりも洗練された互換性関数が有益な可能性があることを示唆している.

さらに,(C)と(D)の行では,予想通り,大きなモデルの方が優れており,ドロップアウトはオーバーフィッティングを避けるのに非常に有効であることがわかる.

(E)の行では,正弦波位置エンコーディングを学習済み位置埋め込み[9]に置き換えているが,base modelとほぼ同じ結果が得られている.

6.3節:English Constituency Parsing(英語の句構造解析)

Transformerが他のタスクに汎化できるかどうかを評価するために,英語の句構造解析の実験を行った.

このタスクは,出力が強い構造的な制約を受け,入力よりもかなり長いという特殊な課題を持つ.

さらに,RNNのsequence-to-sequenceモデルは,小さなデータ領域で最先端の結果を達成できなかった[37].

Penn Treebank[25]のWall Street Journal(WSJ)部分,約40Kの訓練文に対して,\(d_{model} = 1024\)で4層Transformerを訓練した.

また,約17Mの文からなる大規模な高信頼度コーパスとBerkleyParserコーパス[37]を用いて,半教師付き設定での訓練も行った.

WSJのみの設定では16Kの語彙を,半教師付き設定では32Kの語彙を使用した.

Section 22の開発セットで,ドロップアウト,Attentionと残差(5.4節)の両方,学習率,beam sizeを選択する実験を少数だけ行い,他の全てのパラメータはEnglish-to-Germanベース翻訳モデルと変更しない.

推論中,最大出力長を「入力長+300」に増やした.

WSJのみと半教師付き設定の両方で,beam size = 21,\(\alpha = 0.3\)を使用した.

Transformer Table4
表4:Transformerは英語の句構造解析によく汎化する(結果はWSJの23章).

表4の結果から,タスクに特化したチューニングがないにもかかわらず,本モデルは驚くほど優れた性能を発揮し,Recurrent Neural Network Grammar[8]を除くすべての従来モデルより優れた結果を得たことがわかる.

RNN sequence-to-sequenceモデル[37]とは対照的に,Transformerは,40K文のWSJ訓練セットのみで訓練する場合でも,Berkeley-Parser[29]を上回る性能を発揮する.

7章:Conclusion(結論)

本研究では,エンコーダ・デコーダ・アーキテクチャで最もよく使われるリカレント層をMulti-Head Self-Attentionに置き換えた,完全にAttentionに基づく最初のシーケンス変換モデルであるTransformerを提案した.

翻訳タスクにおいて,Transformerはリカレント層や畳み込み層に基づくアーキテクチャよりも大幅に速く学習させることができる.

WMT 2014 English-to-German翻訳タスクとWMT 2014 English-to-French翻訳タスクの両方において,我々は新たな最先端の性能を達成した.

前者のタスクでは,我々の最良のモデルは,従来のすべてのアンサンブルを凌駕している.

我々はAttentionに基づくモデルの将来性に期待しており,他のタスクにも適用する予定である.

テキスト以外の入出力モダリティを含む問題にTransformerを拡張し,画像,音声,動画などの大規模な入出力を効率的に処理するための局所的で制限されたAttention機構を調査する予定である.

また,生成のシーケンスを少なくすることも我々の研究目標である.

モデルの訓練と評価に使用したコードは,https://github.com/tensorflow/tensor2tensorで公開されている.

References(参考文献)

  1. Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv preprint arXiv:1607.06450, 2016.
  2. Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. CoRR, abs/1409.0473, 2014.
  3. Denny Britz, Anna Goldie, Minh-Thang Luong, and Quoc V. Le. Massive exploration of neural machine translation architectures. CoRR, abs/1703.03906, 2017.
  4. Jianpeng Cheng, Li Dong, and Mirella Lapata. Long short-term memory-networks for machine reading. arXiv preprint arXiv:1601.06733, 2016.
  5. Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. CoRR, abs/1406.1078, 2014.
  6. Francois Chollet. Xception: Deep learning with depthwise separable convolutions. arXiv preprint arXiv:1610.02357, 2016.
  7. Junyoung Chung, Çaglar Gülçehre, Kyunghyun Cho, and Yoshua Bengio. Empirical evaluation of gated recurrent neural networks on sequence modeling. CoRR, abs/1412.3555, 2014.
  8. Chris Dyer, Adhiguna Kuncoro, Miguel Ballesteros, and Noah A. Smith. Recurrent neural network grammars. In Proc. of NAACL, 2016.
  9. Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N. Dauphin. Convolutional sequence to sequence learning. arXiv preprint arXiv:1705.03122v2, 2017.
  10. Alex Graves. Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850, 2013.
  11. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778, 2016.
  12. Sepp Hochreiter, Yoshua Bengio, Paolo Frasconi, and Jürgen Schmidhuber. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies, 2001.
  13. Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
  14. Zhongqiang Huang and Mary Harper. Self-training PCFG grammars with latent annotations across languages. In Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing, pages 832–841. ACL, August 2009.
  15. Rafal Jozefowicz, Oriol Vinyals, Mike Schuster, Noam Shazeer, and Yonghui Wu. Exploring the limits of language modeling. arXiv preprint arXiv:1602.02410, 2016.
  16. Łukasz Kaiser and Samy Bengio. Can active memory replace attention? In Advances in Neural Information Processing Systems, (NIPS), 2016.
  17. Łukasz Kaiser and Ilya Sutskever. Neural GPUs learn algorithms. In International Conference on Learning Representations (ICLR), 2016.
  18. Nal Kalchbrenner, Lasse Espeholt, Karen Simonyan, Aaron van den Oord, Alex Graves, and Koray Kavukcuoglu. Neural machine translation in linear time. arXiv preprint arXiv:1610.10099v2, 2017.
  19. Yoon Kim, Carl Denton, Luong Hoang, and Alexander M. Rush. Structured attention networks. In International Conference on Learning Representations, 2017.
  20. Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015.
  21. Oleksii Kuchaiev and Boris Ginsburg. Factorization tricks for LSTM networks. arXiv preprint arXiv:1703.10722, 2017.
  22. Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, and Yoshua Bengio. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130, 2017.
  23. Minh-Thang Luong, Quoc V. Le, Ilya Sutskever, Oriol Vinyals, and Lukasz Kaiser. Multi-task sequence to sequence learning. arXiv preprint arXiv:1511.06114, 2015.
  24. Minh-Thang Luong, Hieu Pham, and Christopher D Manning. Effective approaches to attention-based neural machine translation. arXiv preprint arXiv:1508.04025, 2015.
  25. Mitchell P Marcus, Mary Ann Marcinkiewicz, and Beatrice Santorini. Building a large annotated corpus of english: The penn treebank. Computational linguistics, 19(2):313–330, 1993.
  26. David McClosky, Eugene Charniak, and Mark Johnson. Effective self-training for parsing. In Proceedings of the Human Language Technology Conference of the NAACL, Main Conference, pages 152–159. ACL, June 2006.
  27. Ankur Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. A decomposable attention model. In Empirical Methods in Natural Language Processing, 2016.
  28. Romain Paulus, Caiming Xiong, and Richard Socher. A deep reinforced model for abstractive summarization. arXiv preprint arXiv:1705.04304, 2017.
  29. Slav Petrov, Leon Barrett, Romain Thibaux, and Dan Klein. Learning accurate, compact, and interpretable tree annotation. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the ACL, pages 433–440. ACL, July 2006.
  30. Ofir Press and Lior Wolf. Using the output embedding to improve language models. arXiv preprint arXiv:1608.05859, 2016.
  31. Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. arXiv preprint arXiv:1508.07909, 2015.
  32. Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton, and Jeff Dean. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv preprint arXiv:1701.06538, 2017.
  33. Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(1):1929–1958, 2014.
  34. Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, and Rob Fergus. End-to-end memory networks. In C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, and R. Garnett, editors, Advances in Neural Information Processing Systems 28, pages 2440–2448. Curran Associates, Inc., 2015.
  35. Ilya Sutskever, Oriol Vinyals, and Quoc VV Le. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems, pages 3104–3112, 2014.
  36. Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, and Zbigniew Wojna. Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567, 2015.
  37. Vinyals & Kaiser, Koo, Petrov, Sutskever, and Hinton. Grammar as a foreign language. In Advances in Neural Information Processing Systems, 2015.
  38. Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144, 2016.
  39. Jie Zhou, Ying Cao, Xuguang Wang, Peng Li, and Wei Xu. Deep recurrent models with fast-forward connections for neural machine translation. CoRR, abs/1606.04199, 2016.
  40. Muhua Zhu, Yue Zhang, Wenliang Chen, Min Zhang, and Jingbo Zhu. Fast and accurate shift-reduce constituent parsing. In Proceedings of the 51st Annual Meeting of the ACL (Volume 1: Long Papers), pages 434–443. ACL, August 2013.

付録:Attention Visualizations(Attentionの可視化)

Transformer Figure3
図3:6層中5層のエンコーダSelf-Attentionにおける遠距離依存関係を追うAttention機構の一例.多くのAttention Headsが「making」という動詞の遠距離依存性にAttentionし,「making…more difficult」というフレーズを完成させる.ここでは,「making」という単語に対するAttentionのみを示している.異なる色は異なる頭部を表している.カラーで見るのがベストである.

Transformer Figure4
図4:6層中5層にもある,アナフォラ解決に関与すると思われる2つのAttention Heads.
上:Head 5のFull Attentions.
下: Attention Heads 5と6の「its」という単語だけのIsolated Attentions.なお,この言葉に対するAttentionsは非常に高い.

Transformer Figure5
図5:Attention Headsの多くは,文の構造に関係すると思われる挙動を示す.このような例を,6層中5層目のエンコーダSelf-Attentionの2つの異なるヘッドから,上に2つあげる.このヘッドは明らかに異なるタスクを実行するように学習した.

参考:Attention Is All You Needの解説スライド・動画

Attention Is All You Needの解説スライドです.

Attention Is All You Needの解説動画です.

まとめ

Attention Is All You Needの日本語訳を紹介しました.

ChatGPTで利用されているTransformerがわかりました.

AIのプログラミング言語「C++/Python言語」を学べるおすすめのWebサイトを知りたいあなたはこちらからどうぞ.

独学が難しいあなたは,AIを学べるオンラインプログラミングスクール3社で自分に合うスクールを見つけましょう.後悔はさせません!

国内・海外のAIエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

国内・海外のプロンプトエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

-TECHNOLOGY, NLP AI
-, , ,