2分で理解するAttention

  • 2018.08.07
  • AI
2分で理解するAttention

1.2分で理解するAttentionまとめ

・Attentionは文章のような前後の並びが重要なデータを上手く扱う事ができる
・並列処理の実現や遠く離れた単語間の関連性を捉える事も可能
・Transformerは画像、オーディオ、ビデオなどにも応用していく予定

2.タイトルがカッコいい論文「Attention Is All You Need」

以下、hub.packtpub.comの「Paper in Two minutes: Attention Is All You Need」の意訳です。

最近、翻訳関係の分野でよく目にするTransformerはAttentionの仕組みに基づくシンプルなニューラルネットワークです。

NIPS 2017で発表された論文「Attention Is All Is You Need」でTransformerは発表されました。Transformerは入力と出力の間のグローバルな依存関係を捉えるためにAttentionを使っています。

この論文は、 Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin.を含むGoogleの研究チームによって作成されています。

この論文で解決しようとした問題は何か?

RNN(Recurrent Neural Networks)やLSTM(Long Short-Term Memory networks)やgated RNNsは機械翻訳や自然言語のモデリングなど、シーケンスな処理、つまり前後の繋がりに意味があるため順番で連続して処理する必要がある処理に良く使われます。

RNNやCNNは、単語単位で文頭から順番に処理をしていきます。この順番に処理をする事が原因で、処理を並列化する事が難しくなります。さらに、文章が非常に長い場合、ニューラルネットワークは、以前の内容を忘れてしまったり、または他の位置の単語の内容と混合してしまう傾向があります。

最近の研究では、因数分解や条件演算を使って計算効率を向上し、モデル性能の大幅な改善も達成されています。しかし、これらはシーケンスな処理の基本的な制約、つまり平行処理が難しい事を解決するには十分ではありません。

Attentionメカニズムは、ニューラルネットワークが忘却をしてしまう問題を克服する解決策の1つです。Attentionメカニズムは入力シーケンスや出力シーケンス内の距離に関わらず文脈の依存関係をモデリング可能なのです。この特徴により、Attentionはシーケンシャル処理や伝達モデルに不可欠になっています。しかし、ほとんどの場合、RNNと連携してAttentionメカニズムは使用されます。

論文の概要

この論文で提案されているTransformerは、入力と出力の間のグローバルな依存関係を描くためにAttentionメカニズムを使用しているモデルです。Transformerは、大幅に並列処理が可能で、8個のP100 GPUを用いたわずか12時間の学習で翻訳の品質を大幅に向上しました。

ニューラル シーケンシャル トランスザクションモデルは、一般に、エンコーダ-デコーダ構造をしています。エンコーダは入力シーケンスを一連の連続表現にマッピングします。次に、デコーダは、連続したシンボルを一つずつ出力として生成します。

著者は、以下の3つの基準に注目してself-attentionを使用しました。

・1つは、1レイヤーあたりの合計計算量です。
・もう1つは、シーケンシャル処理を最小限にする並列化可能な計算量です。
・3番目は、ネットワーク内の長距離依存関係の長さです。

Transformerでは、2種類のAttentionを使用しています。

Scaled Dot-Product Attention:
クエリーのセットに対するAttentionを同時に計算し、マトリクスにまとめます。

Multi-head attention:
異なる位置の異なる部分表現空間からの情報にモデルが接続することを可能にします。

self-attentionレイヤーは、すべての位置に一定のシーケンシャルオペレーションで接続しますが、リカレント層ではO(n)のシーケンシャルオペレーションが必要です。計算の複雑さの面では、シーケンス長が表現の次元数よりも小さい場合、セルフアテンションレイヤは反復レイヤよりも速くなります。これは機械翻訳でよく発生します。

主要な取り組み

・この研究では、attention メカニズムに完全に基づく新しいシーケンシャル トランスザクションモデルTransformerを紹介しています。

・これは、エンコーダ/デコーダアーキテクチャで最も一般的に使用されるレカレントレイヤを、マルチヘッドのセルフアテンションで置き換えます。

・Transformerは、翻訳作業のためのRNNまたはCNNレイヤーに基づくアーキテクチャーよりも大幅に速く訓練することができます。

・WMT2014英語-ドイツ語とWMT2014英語-フランス語の翻訳作業の両方で、モデルは最先端のスコアを達成しました。WMT2014英語-ドイツ語では、Transformerは以前の全てのモデルを平均した結果(アンサンブル)よりも優れていました。

将来の目標

トランスフォーマーは、現時点ではトランスダクションモデルタスクにしか適用されていません。近い将来、テキスト以外の入出力モダリティを含む他の問題にも使用する予定です。彼らは、画像、オーディオ、ビデオなどの大規模な入出力を効率的に処理するためのAttentionメカニズムを適用する予定です。

この論文のTransformerアーキテクチャは、翻訳品質やその他のNLPタスクを大幅に改善したため、リリース後に大きな反響を得ています。最近、ハーバード大学のNLP研究グループは、行ごとの実装の形で注釈付きバージョンの論文を発表しました。ノートブック形式のPyTorchで書かれた400行のライブラリコードが付属しており、githubやGoogle Colab(無料のGPU付き)でアクセスできます。

3.2分で理解するAttention感想

上手に翻訳出来ている気がしないのは確かなのですが、2分では難しいのではないかと。

4.2分で理解するAttention関連リンク

1)hub.packtpub.com
Paper in Two minutes: Attention Is All You Need