注意メカニズムは解決する - アテンションを再印刷します

オリジナル住所:詳細なモデルhttps://terrifyzhao.github.io/2019/01/04/Attentionの.html

 

モデルは、重要な情報への注意を取得し、技術を学んで吸収し、完全に集中する方法ですが、それは完全なモデルではない、それは任意の配列モデルのために働く技術でなければなりません。

 

伝統Seq2Seq

あなたが注意を説明するために開始する前に、我々は最初に簡単にSeq2Seqモデルをリコール、伝統的な機械翻訳を行うための基本的なモデルSeq2Seqに基づいており、モデルは、層のエンコーダとデコーダ層に分け、および変異体であるか、次のようにRNN RNNが構成されています図:

 

 

 

エンコード段階で、入力ノードの後のワードの第1の入力ノードは、ノードの前に次の単語との隠れ状態は、最終的なエンコーダは、デコーダを介してコンテキスト、コンテキスト及び入力デコーダとして、各ノードを出力します単語は、翻訳後の出力、及び隠された状態の入力の次の層としてデコーダです。短いテキスト翻訳のための変更モデルは非常に良いですが、いくつかの欠点がありますが、テキストは少し長い場合、テキストに関するいくつかの情報を失うのは簡単です、この問題を解決するために、注意が登場しました。

 

注目のメカニズム

その名の通り注意、注意、モデルデコードステージは、入力として現在のノードのコンテキストの最良の選択します。注目の伝統的なモデルSeq2Seqに異なる以下の2点があります。

 

- >エンコーダ、デコーダのすべてのノードに隠れた状態に、より多くのデータを提供し、エンコーダは、デコーダ、エンコーダ、および隠れ状態のだけでなく、最後のノードを提供するであろう。

 

- 次のように>デコーダを直接入力として全ての隠れ状態のエンコーダを提供していないが、選択機構を採用し、選出された隠された状態の現在の位置に沿って、最も具体的な手順は次のとおりです。

  • 現在のノードに最も密接に関連しているかを決定するために隠された状態
  • 各隠れ状態のスコア値を計算する(私たちは、以下の説明、具体的方法)
  • ソフトマックスは低い相関値が低い隠れ状態の高い相関スコア隠れ状態値より大きいフラクションを可能各ポイント値の計算を行います

 

ここでは詳細な具体例を見て、その中に計算するステップを:

以下に示すように、現在のノードを乗算することにより、各エンコーダおよびデコーダノード値の隠れ状態のノードの隠れ状態、第1のノードと現在のノードの隠れた状態である場合に、それぞれ(乗じH1、H2、H3ノードデコーダ、ランダム初期隠れ状態を必要とする)は、最終的に3つの値が得られ、スコアの三の隠れ状態値は、上述され、この値は、エンコーダの各ノードについて同じであるではないことに注意してください計算後の端数値ソフトマックス計算された値に現在のノードの重量の右側に各エンコーダノードの隠れ状態で、元の隠れ状態の重量は、結果が現在のノードの隠れた状態であると得られ、乗算と加算され。見つけることができ、実際には、キーAtttentionはスコアを計算しています。

 

 

後の各ノードが非表示状態を取得する方法であることを理解、次のステップは、デコーダ層の動作原理であり、以下のように、具体的なプロセスです。

最初のベクター中のデコーダを初期化するノード、および新しいノードRNN隠れ状態と出力値の後に得られた、第1の入力としてノードの現在の隠れ状態、およびノー​​ドの隠れ状態を算出し、注意、およびSeq2Seqが有します大きな違いは、Seq2Seqは、現在のノードの出力値としてそのまま出力されるが、値注意隠れ状態との接続を行い、コンテキストとして接続さ値、及び最終的に前にフィードフォワードニューラルネットワークに供給されます電流出力の内容は、デコーダ出力のすべてのノードがコンテンツになるまで上記の手順を繰り返し、ネットワークノードによって決定されます。

 

 注目モデルはやみくも最初の単語と入出力の最初のワードを整列しません。実際には、それが(この例ではフランス語と英語)の言語の単語を整列させる方法を学習のトレーニング段階です。

 

おすすめ

転載: www.cnblogs.com/ruili07/p/11497033.html