Attention
Attention mechanism
注意機構
注意機構の説明が助かる
2014年からあるが、現代のものは抽象化されて従来のものとは代わっている
$ \mathrm{Attention}(query, Keys, Values) = \mathrm{Normalize}(F(query, Keys)) \cdot Values
これは2018年現在の一般化されたかたち
https://gyazo.com/211618e709ff284a379c5c2f502934da
非常にわかりやすいmiyamonz.icon
数学的には大したこと無い
queryとKeysを引数にしてn次元ベクトルを返すFunc
ただし、Funcはnを引数に取らない。ブロードキャストぽくn次元にしているだけ
なのでFuncはあくまでqueryとkeyをとって実数を返す関数
その出力結果をnormalize(softmaxとか)
これを重みとしてValuesと内積を取る
バリエーションがある
Funcがどういうものかで、
加法注意
内積注意
「これがなぜ「注意」のようなものになるのか」という質問は難しい
CNNとかは入力側の層では「輪郭などを捉える」ものになるわけだが、
輪郭などを捉えるように設計したわけではなく、そのように重みが収束しただけ
今回もこれと同様なのではないか?
注意として扱えるっぽい構造を作って、
学習を回してうまくいくと、
「注意」みたいな概念として機能してくれる