Attention Mechanism のバックアップ(No.10)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Attention Mechanism へ行く。
- 1 (2020-05-21 (木) 02:09:18)
- 2 (2020-05-22 (金) 22:13:10)
- 3 (2020-05-22 (金) 23:56:43)
- 4 (2020-05-25 (月) 02:50:17)
- 5 (2020-05-25 (月) 15:42:21)
- 6 (2020-05-25 (月) 17:07:05)
- 7 (2020-05-25 (月) 19:56:32)
- 8 (2020-05-25 (月) 20:56:46)
- 9 (2020-05-25 (月) 23:17:22)
- 10 (2020-05-26 (火) 00:21:59)
- 11 (2020-05-26 (火) 01:24:01)
- 12 (2020-05-26 (火) 02:27:50)
- 13 (2020-05-26 (火) 16:31:30)
- 14 (2020-05-27 (水) 00:21:37)
- 15 (2020-05-27 (水) 03:06:06)
- 16 (2020-05-27 (水) 04:16:08)
- 17 (2020-05-27 (水) 05:52:17)
- 18 (2020-05-27 (水) 12:56:46)
- 19 (2020-05-27 (水) 14:16:54)
- 20 (2020-05-28 (木) 04:05:08)
- 21 (2020-05-28 (木) 13:46:26)
- 22 (2020-05-28 (木) 14:59:22)
- 23 (2020-05-29 (金) 15:01:07)
- 24 (2020-05-29 (金) 17:51:35)
- 25 (2020-05-29 (金) 19:39:06)
- 26 (2020-06-22 (月) 22:54:25)
- 27 (2020-06-24 (水) 18:18:32)
Attention Mechanism | |
カテゴリ | Category/Info |
状態 | 執筆中 |
CONTENTS
概要
Attention Mechanism (注意機構)は、データのどこに注目するかを利用した機械学習のモデル。RNNには、離れた位置の情報が反映されにくいという弱点があり、これを解決するためにRNNに付け加えられる形で登場した。
注意点を示すという性質から、自然言語処理だけでなく画像処理などにも使われる。また、RNNを利用せず、Attention Mechanism を主とした機械学習モデル (Transformer) が発明され、高性能な自然言語処理(BEAT等)の基礎となった。
モデル
大まかな機構
- 文脈
- \( \displaystyle \mathbf{c}_\tau= \sum_t a_{\tau t} \mathbf{v}_t = \mathbf{a}_\tau^\top V \)
つまり \( \displaystyle C= A^\top V \) - 正規化
- \( \displaystyle \mathbf{a}_\tau^\top = f_{norm}(\mathbf{e}_\tau^\top) \)
つまり\( \displaystyle A^\top = f_{norm}(\mathscr{E}^\top) \)
または \( \displaystyle a_{\tau t}^\top = f_{norm}(e_{\tau t}^\top) \) - 類似度
- \( \displaystyle \mathbf{e}_\tau^\top = f_{norm}(\mathbf{q_\tau},K) \)
つまり \( \displaystyle \mathscr{E}^\top = f_{sim}(Q,K) \)
このとき、
- \( t \)
- \( V,K \)の縦ベクトルの番号。自然言語では単語数にあたることがある。
- \( \tau \)
- \( Q \)の縦ベクトルの番号。
- \( Q \)
- 分析の対象(query)。縦ベクトル\( \mathbf{q}_\tau \) を並べたものと考えてもいい。
- \( V \)
- value。これに重み付き係数を掛けると取得すべき文脈\( c \)となる。
自然言語処理においては、入力文の個々の単語(とRNN等)から作られた縦ベクトル\( \mathbf{v}_t \)を並べたもの。
出力(output)と呼ばれることもあるが、これをそのまま出力するわけではない。 - \( K \)
- key。これを使って分析の対象\( Q \)との関係を算出する。翻訳器ならば、\( K \)が原文から作った縦ベクトルを並べたもの、\( Q \)が今訳すべき部分の状態である。
\( V=K \)の場合が多い。
また、\( V=K=Q \)の場合はSelf-Attentionと呼ばれる。 - \( \mathbf{c}_\tau \)
- \( \mathbf{q}_\tau \)に対する文脈。これが次のモジュールに渡される。
- \( \mathbf{a}_\tau \)
- 重みベクトル。要素\( {a}_{\tau 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) \)
リンク
- Neural Machine Translation by Jointly Learning to Align and Translate
Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio
Submitted on 1 Sep 2014 (v1), last revised 19 May 2016 (this version, v7) - Attention Is All You Need
(Vaswani et al, 2017) - 論文解説 Attention Is All You Need (Transformer)
ディープラーニングブログ| 2017-12-21 - 自然言語処理における、Attentionの耐えられない短さ
Qiita - 深層学習界の大前提Transformerの論文解説!
Qiita - ざっくり理解する分散表現, Attention, Self Attention, Transformer
Qiita - 作って理解する Transformer / Attention
Qiita|@halhorn|2018年12月05日に更新 - Attentionで拡張されたRecurrent Neural Networks
DeepAge - 自然言語処理の巨獣「Transformer」のSelf-Attention Layer紹介
Neil Wu|Oct 7, 2019 · 10 min read
巻末
履歴
2020 5/27:半分くらい書いた
pcomment
コメントはありません。 Comments/Attention Mechanism