Attention Mechanism のバックアップ(No.9)


Attention Mechanism
カテゴリCategory/Info
状態執筆中

概要

 Attention Mechanism (注意機構)は、データのどこに注目するかを利用した機械学習のモデル。RNNには、離れた位置の情報が反映されにくいという弱点があり、これを解決するためにRNNに付け加えられる形で登場した。

 注意点を示すという性質から、自然言語処理だけでなく画像処理などにも使われる。また、RNNを利用せず、Attention Mechanism を主とした機械学習モデル (Transformer) が発明され、高性能な自然言語処理(BEAT等)の基礎となった。

モデル

大まかな機構

文脈
\( \displaystyle \mathbf{c}= \sum_t \alpha_t \mathbf{v}_t = \mathbf{\alpha}^\top V \)
正規化
\( \displaystyle \mathbf{\alpha} = f_{norm}(\mathbf{e}) \)
つまり \( \displaystyle \alpha_t = f_{norm}(e_t) \)
類似度
\( \displaystyle \mathbf{e} = f_{sim}(Q,K) \)
 つまり \( \displaystyle e_t = f_{norm}(\mathbf{q},K) \)

このとき、

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

以上より、Attention のモデルは以下3つの観点から分類できる。

  • \( Q,V,K \)などの分析対象・状態・関係
  • 正規化\( f_{norm} \)の方法
  • 類似度\( f_{sim} \)の方法

Q,V,Kなどの対象の状態・関係からの分類

Source-Target Attention
\( Q \neq V=K \)の場合。
Self-Attention
\( Q=V=K \)の場合。
自然言語処理ならば、各単語間の関係の強さを取得したいときに使う。
Multi-Head Attention
複数のAttentionを用意する。同じ単語でも位置によって関係性が異なる場合などに使う。

正規化の方法の分類

\( \displaystyle \mathbf{\alpha} = f_{norm}(\mathbf{e}) \)

類似度の方法の分類

\( \displaystyle \mathbf{e} = f_{sim}(Q,K) \)

巻末

履歴

2020 5/27:半分くらい書いた

コメント

コメントはありません。 Comments/Attention Mechanism

お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White