これら2つの注意は、seq2seqモジュールで使用されます。 this tensorflowドキュメンテーションでは、2つの異なる注意が乗法的注意と加算的注意として導入されています。違いはなんですか?
pytorch seq2seqチュートリアル で非常によく説明されています
主な違いは、現在のデコーダー入力とエンコーダー出力の間の類似性のスコアリング方法です。
私はこれを経験しました 注意ベースの神経機械翻訳への効果的なアプローチ 。セクション.1では、2つの注意の違いについて次のように述べています。
長時間の注意は、エンコーダーとデコーダーの両方で最上位の隠れ層の状態を使用していました。 ただしBahdanauアテンションは、前方および後方のソースの非表示状態(トップ隠しレイヤー)の連結を取得します。
Longong attentionで、彼らは時間にデコーダーの隠れた状態を取得しますt。次に、アテンションスコアを計算し、そこからデコーダの非表示状態と連結されるコンテキストベクトルを取得し、予測します。
しかし、Bahdanauでtデコーダーのt-1隠された状態について検討します。次に、アライメント、コンテキストベクトルを上記のように計算します。しかし、その後、このコンテキストをt-1のデコーダーの非表示状態と連結します。そのため、ソフトマックスの前に、この連結されたベクトルはGRU内に入ります。
Luongにはさまざまなタイプのアライメントがあります。 Bahdanauには、連結スコア調整モデルのみがあります。