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


Attention Mechanism
カテゴリCategory/Info

概要

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

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

モデル

大まかな機構

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

このとき、

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

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

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

Q,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) \)