マルチヘッドニューラルN-gramによる自己注意機構の代替

Vaswaniら[1]がTransformerを提案して以来，Transformerとその亜種のアーキテクチャは，機械翻訳，自動要約，画像認識，音声認識などの様々なタスクに適用されてきた[1,2,3,4]．Transformerの主要なモジュールは自己注意（Self-attention）である．自己注意は，系列の各位置の入力を処理する際，全ての位置間の依存関係に基づいて出力を計算する．具体的には，入力系列の特徴表現𝑥1,...,𝑥𝐿が与えられたとき，位置𝑡における出力は𝑥𝑡と𝑥1,...,𝑥𝐿間の注意重みによる重み付き和により計算される．例えば，入力文wefocusonneighbortokensに対し，onの第1層の出力を計算するとき，図1(a)のように他の全ての位置の入力を用いる．しかし，各位置において全ての入力との依存関係を考慮する必要があるのだろうか？実際，自己注意は処理しているトークンの周辺のトークンのみに∗現在の所属はLINE株式会社である．第１層第1層入力層入力層wefocusonneighbortokens(a)Self-attention(a)自己注意第１層第1層入力層wefocusonneighbortokens入力層(b)Localattention(N=3)(b)局所注意（N=3）力の特徴表現を用いて次の層の特徴表現を計算するが，局所注意は周辺𝑁個（この図では𝑁=3）の特徴表現のみを用いる．第1層第2層第3層第4層第5層第6層Self-attentionの重み自己注意の重み相対位置の自己注意の重み分布を処理している位置からの相対位置でプロットしたもの．WMTデータセットで学習した6層のTransformerのエンコーダ側を使用した．大きな注意重みを割り当てる傾向があることが経験的に知られている．例として，図2に機械翻訳タスクで用いられる系列変換モデルのエンコーダ側の各層の自己注意の注意重み分布を示した．この図から，着目している位置の周辺の数トークンに大きな重みが割り当てられていることが分かる．また，近年の研究では，自己注意で行われる入力間の依存関係の計算において，処理している位置の周囲の𝑁個のトークンのみに制限した局所注意の成功が報告さ.(a)Multi-headNNinencoder(b)Multi-headNNindecoderLinearLinearConcatConcat$LinearLinearLinearLinearLinearLinear$!!"#$%⋯!!!!"#$%⋯!!⋯!!$#"%!&'()*'𝑥!"#$%"（a）エンコーダ側のmultiNN（b）デコーダ側のmultiNNニューラルN-gramのアーキテクチャれている[5,6]．図1(b)に，𝑁=3の場合の局所注意の例を示した．ある位置の周辺の入力に着目する手法として，N-gramベースのモデルがよく用いられている．Sunら[7]は，残差結合[8]などの最新の手法を導入することにより，ニューラルN-gram言語モデル[9]の性能を著しく向上させた．Sunらの手法は，従来のニューラルN-gramモデルより優れているが，Transformerを上回ることはできなかった．それでは，N-gramベースのアプローチで自己注意よりも優れた性能を示すモデルを作ることは本当に不可能なのであろうか？本研究では，Transformer[1]の自己注意で用いられているマルチヘッド機構を導入することにより，ニューラルN-gramモデル[7]を改良する手法を提案する．この改良手法をマルチヘッドニューラルN-gram(multiNN:Multi-headNeuralN-gram)と呼ぶ．この改良手法の性能を調べるため，Transformerの自己注意を提案手法のmultiNNに置き換え，既存のTransformerとの性能比較を行う．機械翻訳（4節），自動要約（付録A），音声認識（付録B）を含む様々な系列変換タスクにおいて実験を行ったところ，提案手法のmultiNNは自己注意と同等かそれ以上の性能を達成することが示された．また，multiNNに関する分析を通して，既存のTransformerの代替となるアーキテクチャを模索するために有用な知見が得られた（5節）．