以下の記事を読みます。
その他の参考文献 これは、コンテクスト(とよんでしまいましょう) が更新されていく式ですね。前回のコンテクスト と新たなコンテクスト候補 を、それぞれ重み と で混合しています。 この式の展開は以下のようになるのではないかと思うのですが(ただし、開始インデックスの方が終了インデックスより大きい は vector of ones とします)、参照している記事は違うような気がしますね? まあ置いておきましょう。コンテクストの初期値 の項もかいてみましたがゼロベクトルから始めるのであれば要りませんね。 つづいたらつづく
- Transformer の原論文:
- 他の観点からの Transformer の解説:
- The Illustrated Transformer – Jay Alammar – Visualizing machine learning one concept at a time.
- The Annotated Transformer
- Attention Is All You Need
- Attention の解説:
※ キャラクターは架空のものです。私の誤りは私に帰属します。お気付きの点がありましたらコメントでご指摘ください。
入力として系列データを受け取って何らかの出力をするタスクでは、本質的に「異なるステップの情報を束ねる」ことが必要だからでしょ。とても長い系列データを束ねるとなると、すべてを全結合するなんてできないから、素朴には「逐次的に束ねていく(再帰)」か「現在のステップに近い範囲を束ねる(畳込み)」かくらいしかないよね。
そういわれると再帰か畳込みをせざるを得ないような気がしてきました。しかし、では Transformer はいったい何をすると…? というのを解説するのが参照している記事ですが。最初に以下の式が出てきますね。
その更新式はそのまま GRU だね。ただ、GRU の更新ゲートの表式は前回のコンテクストに をかけて新たなコンテクスト候補に をかける流儀が多いように思うけど。 GRU だったら新たなコンテクスト候補は になるね( はリセットゲート)。
ええ、参照している記事ではリセットゲートのない GRU を想定しています。そして、上式のような更新式は shortcut connection(residual connection)と解釈できると。… と がなければ、 は前回のコンテクストから今回のあるべきコンテクストまでの残差というのはわかりますが。この観点を掘り下げるためか、上の式を時間方向に展開していっていますね。
ある時刻のコンテクスト候補 ★ が伝わっていく様子を図で描くとこうかな。