添付Essentialsの注意メカニズムの要約:実装の英語の機械翻訳!

1.機構の注目は何ですか

「コーダ - デコーダ(seq2seq)」⼀部⾥、デコーダ様々な時間依存背景で同じステップは、配列情報を得るために入力変数を開始します。エンコーダは、リカレントニューラルネットワークを開き、自動的に最終時間ステップ背景隠れ変数である場合。

今、私たちは再びセクションのサブメニューで述べた⼀の翻訳例があること考えてみましょう:「彼らは」「」「見ているSTART英語シーケンスを失う 「」、」 フランスの出力シーケンスとして「ILS」「regardent」「」 .. 考えることが難しい、デコーダのみ⼀情報部分を利益を得ることができる場合、出力シーケンス⽣⼀各ワードに、ユニバーサル入力シーケンス。例えば、1の時間ステップの出力シーケンスにおいて、デコーダは、「彼らは」「regardent「に⽣符号化された情報を」見て」、自動にタイムステップ二つの主な使用で、」ILS「に⽣する情報」で主に依存してもよいです「最後の時間ステップ3ダイレクトマッピング期間。」。 " これは、入力開始⼀シーケンス符号化された情報の種類のように見える、または異なる初期張力ノート⼀各デコーダ時間ステップを割り当てるの異なる時間ステップを特徴付けます。これは介護の原点はメカニズムを撮影されていることに注意してください。

それでもリカレントニューラルオープンネットワークは、例えば、そのケアに注意して加重平均背景変数を取得するためにすべての時間を行うには、エンコーダステップの隠されたメカニズムによって撮影されています。各々、すなわち、これらの重み⼀時間を調整デコーダステップケアを注記する量を有し、バックグラウンドで異なる時間ステップにおける各入力開始コードする配列、および対応する可変時間ステップの異なる部分に焦点を当てることが可能です。

そのケアは、メカニズムに毎回デコーダ⼀ステップがする変数を使用背景変数をとられている注意してください。呼ばCT背景の「復号時間ステップt」の変数は、デコーダの時間ステップの隠れ状態は、以下のように書き換えることができます。

\ [S_ {T ^ { '}} = G(Y_ {T ^ {'} - 1}、C_ {T ^ { '}}、S_ {T ^ {'} - 1})\]

キーからの個々の例は、CT「とどのように隠された状態STを更新するためにそれを使用しての利益のために」背景変数を計算する方法です。ディスプレイは、2つの重要なポイントで分けて説明します。

2.背景変数を計算

私たちは、最初の最初のフレームのキーポイント、背景変数のすなわち計算を説明します。次の図は、時間ステップで背景変数を算出ケアノートデコーダ2が取られたかのメカニズムを示します。

  1. 時間ステップ1において隠れ状態と計算エンコーダの機能は、各時間ステップ基づくデコーダの入力操作ソフトマックス隠れ状態を開始します。
  2. 各時間ステップおよびエンコーダのソフトマックス隠れ操作出力確率分布背景変数を取得するために加重平均を行います。

隠されたオーダーの時間ステップtのHTのためのエンコーダ、及び時間ステップの総数はTです。デコーダ時間ステップt「は、すべてのバックグラウンド変数エンコーダ隠れ状態の加重平均です。

\ [C_ {T ^ { '}} = \ sum_ {T = 1} ^ {T} \ alpha_ {T ^ {'} T} h_t \]

ベクトル演算背景変数

我々はまた、そのケアはメカニズムがより高い効率⽮定量計算を使用するために採用取られている注意してくださいすることができます。我々は、第1のエンコーダであり、例えば画面上のサブメニューで、クエリ用語はデコーダ隠れキー項目と値項目を隠されている、定義します。

ワイドセンス、ケア機構のメモを取ってきた項目の値を加重平均⼀グループエントリを必要とされる、クエリ用語に対応するキー入力開始キーと値のエントリを含み、⼀⼀。加重平均では、アイテムの重量を自動的に再計算し、キー検索タームエントリは、項目の値に対応します。

私たちは⼀、すなわちエンコーダおよびデコーダにおける隠れユニットの数を正規⻅の簡単な場合を考えると、両方ともHであり、関数\((S、H)= S Thの^ \) 我々は、デコーダは、単一の隠れst'-1エンコーダによれば、すべてのHT、T = 1、..隠れたいと 。、T 算出背景ベクトルCT」。我々は、クエリーアイテム行列Qを設定することができる\を(S_ {T ^ {「} - 1} ^ T \) およびキーの入力を行い、そして同じ項目行列の行列K及びVの値が⾏Tであるため、\(h_t ^ T \ )この時点で、我々は唯一の⽮、量子計算が必要になります。

\ [ソフトマックス(QK ^ T)V \]

背景ベクトルの転置を計算することができる\({C_ {T ^「}} ^ T \) クエリ用語⾏行列Qの数がnである場合、得られた出力行列式は、nしばらく行います。同⼀⼀⾏上の行列に対応するクエリ用語出力行列。

3.アップデート隠し

私たちは今、セカンドショットキー・ポイント、すなわち隠された更新について説明します。制御する⻔循環装置は、例えば、デコーダの設計では、我々は、次のより高いステップT'-1の出力yt'-1までの時間を変換する⻔制御装置内を循環制御⻔循環ユニット(GRU)にいくつかの変更を行うことができ隠されたst'-1と現在の時間ステップt「のケアは、機構CTを含む背景変数のノートを取ってきました」。デコーダの時間ステップ:数学:t「は隠れ状態です。

\ [S_ {T ^ { '}} = Z_ {T ^ {'}}⊙s_{T ^ { '} - 1} +(1-Z_ {T ^ {'}})⊙\チルダ{S} _ {T ^ { '}} \]

前記⻔リセット、および候補⻔隠された状態を更新することは、次のとおりです。

\ [R_ {T ^ { '}} = \シグマ(W_ {年} Y_ {T ^ {'} - 1} + W_ {SR} S_ {T ^ { '} - 1} + W_ {CR} C_ { T ^ { '}} + B_R)\]

\ [Z_ {T ^ { '}} = \シグマ(W_ {YZ} Y_ {T ^ {'} - 1} + W _ {S} S_ {T ^ {「} - 1} + W _ {男} C_ { T ^ {「}} + b_z)\]

\ [\チルダ{S} _ {T ^ { '}} = TANH(W_ {YS} Y_ {T ^ {'} - 1} + W_ {SS}(S_ {T ^ { '} - 1}⊙r_ {T ^ { '}})+ W_ {CS} C_ {T ^ {'}} + B_S)\]

前記Wを含むターゲットと、bは重量⻔循環単位重量制御パラメータであり、パラメータをオフセット。

4.開発

本質的には、注目のケアは、より多くのコンピューティングリソースをより価値のある部分の特徴付けのために割り当てることができる仕組みをとってきました。この面白いアイデアは、自己の急速な発展の後に前方に置かれている、特に霊感ケアはの入力START出力配列の配列エンコードおよびデコードするための注意メカニズムに依存しているコンバータ(変圧器)モデルのデザインを。Converterは、畳み込みニューラルネットワークのオープンとリカレントニューラルオープン・ネットワーク・アーキテクチャを放棄しました。デコーダモデル一般に、より明白な利点-これは、エンコーダ上の計算効率の環状⽐ニューラルオープンネットワークに基づいています。そのケアが後におけるコンバータメカニズムの符号化構造で撮影されていますBERT事前研修モデルは、できるだけ多く11などの自然着色あなたの言語と処理タスクの中で最も先進的な作られた微調整のモデル:ズームイン花開いそれを適用し、後者を作ることです結果。その直後、同じコンバータの設計が基づいているGPT-2モデルに新た7に集め事前訓練コーパスデータセットは、あなたの言語とモデルデータセットの訓練に参加しなかった後で最も先進的な成果を達成しています。自然着色言語と処理、およびメカニズムに加えて、さらに注意が、自動的に、ワイドパン用画像の分類に唇を画像記述を取ら音声認識録音を解釈されていることに留意されたいです。

コードの実装

英語の機械翻訳の注目モデルを実現

  1. データの前処理

    まず、カタログデータとコードをダウンロードし、実行するdatautil.py、世代、英語辞書。

  2. 実行train.ipynb、トレーニング時間が長くなります。

  3. テストモデルは、実行test.pyファイルを。

[ マシンは、一連の記事を理解するのは簡単学習します ]

3.png

6.参照

深ハンズオン科学学習


著者:@mantchs

GitHubの:https://github.com/NLP-LOVE/ML-NLP

議論に参加へようこそ!共同プロジェクトを向上させます!グループ番号:[541954936]NLPインタビュー学習グループ

おすすめ

転載: www.cnblogs.com/mantch/p/11440058.html