Attention Mechanism のバックアップソース(No.8)

CENTER:|>|BGCOLOR(#ACFA58):CENTER:Attention Mechanism|
|BGCOLOR(#E0F2F7):CENTER:カテゴリ|[[Category/Info]]|

#CONTENTS

// ''[[概要>#Overview]]''
// **隣接地域 [#ContiguousRegion]
// ''[[安全情報>#SafetyInformation]]''
// ''[[行政区画>#AdministrativeDivision]]''
// ''[[地域名>#Regions]]''
// **ランドマーク・施設・集落・小地名等 [#Landmark]
// ''[[事項>#Events]]''
// **資料 [#Sources]
// ''[[リンク>#ExternalLink]]''
// ''[[その他>#Others]]''


**概要 [#Overview]
 Attention Mechanism (注意機構)は、データのどこに注目するかを利用したモデル。[[RNN>Recurrent Neural Network]]の離れた位置の情報が反映されにくいという弱点を解決するために、[[RNN>Recurrent Neural Network]]に付け加えられる形で登場した。~
 注意点を示すという性質から、自然言語処理だけでなく画像処理などにも使われる。また、[[RNN>Recurrent Neural Network]]を利用せず、Attention Mechanism を主とした機械学習モデル (Transformer) が発明され、高性能な自然言語処理([[BEAT>Bidirectional Encoder Representations from Transformers]]等)の基礎となった。


**モデル [#bcc831c3]
***大まかな機構 [#id0e0c44]

:文脈|&mathjax{\displaystyle \mathbf{c}= \sum_t \alpha_t \mathbf{v}_t };
:正規化|&mathjax{\displaystyle \mathbf{\alpha} = f_{norm}(\mathbf{e})};
:類似度|&mathjax{\displaystyle \mathbf{e} = f_{sim}(Q,K)};
 

このとき、
:&mathjax{t};|入出力の縦ベクトル数。自然言語では単語数にあたることがある。
:&mathjax{Q};|分析の対象(query)。
:&mathjax{V};|value。これに重み付き係数を掛けると取得すべき文脈&mathjax{c};となる。
自然言語処理においては、入力文の個々の単語(とRNN等)から作られた縦ベクトル&mathjax{\mathbf{v}_t};を並べたもの。
:&mathjax{K};|key。これを使って分析の対象&mathjax{Q};との関係を算出する。翻訳器ならば、&mathjax{K};が原文から作った縦ベクトルを並べたもの、&mathjax{Q};が今訳すべき部分の状態である。
&mathjax{V=K};の場合が多い。
また、&mathjax{V=K=Q};の場合はSelf-Attentionと呼ばれる。
:&mathjax{\mathbf{c}};|文脈。これが次のモジュールに渡される。
 

以上より、Attention のモデルは以下3つの観点から分類できる。~
-&mathjax{Q,V,K};などの分析対象・状態・関係
-正規化&mathjax{f_{norm}};の方法
-類似度&mathjax{f_{sim}};の方法

***Q,V,Kなどの対象の状態・関係からの分類 [#kb9f5032]
:Self-Attention|&mathjax{Q=V=K};の場合。
自然言語処理ならば、各単語間の関係の強さを取得したいときに使う。

:Multi-Head Attention|複数のAttentionを用意する。同じ単語でも位置によって関係性が異なる場合などに使う。
***正規化の方法の分類 [#lcf99c64]
&mathjax{\displaystyle \mathbf{\alpha} = f_{norm}(\mathbf{e})};

***類似度の方法の分類 [#rfcf1f23]
&mathjax{\displaystyle \mathbf{e} = f_{sim}(Q,K)};

**リンク [#ExternalLink]

-[[Neural Machine Translation by Jointly Learning to Align and Translate&BR;Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio&BR;Submitted on 1 Sep 2014 (v1), last revised 19 May 2016 (this version, v7):https://arxiv.org/abs/1409.0473]]
-[[Attention Is All You Need&BR; (Vaswani et al, 2017):https://arxiv.org/abs/1706.03762]]
-[[論文解説 Attention Is All You Need (Transformer)&BR;ディープラーニングブログ| 2017-12-21:http://deeplearning.hatenablog.com/entry/transformer]]
-[[自然言語処理における、Attentionの耐えられない短さ&BR;Qiita:https://qiita.com/icoxfog417/items/f170666d81f773e4b1a7]]
-[[深層学習界の大前提Transformerの論文解説!&BR;Qiita:https://qiita.com/omiita/items/07e69aef6c156d23c538]]
-[[ざっくり理解する分散表現, Attention, Self Attention, Transformer&BR;Qiita:https://qiita.com/norihitoishida/items/2fead107792b504eaccf]]
-[[作って理解する Transformer / Attention&BR;Qiita|@halhorn|2018年12月05日に更新:https://qiita.com/halhorn/items/c91497522be27bde17ce]]
-[[Attentionで拡張されたRecurrent Neural Networks&BR;DeepAge:https://deepage.net/deep_learning/2017/03/03/attention-augmented-recurrent-neural-networks.html]]