第 6 章 リカレント ニューラル ネットワーク

シリーズ記事ディレクトリ

第 1 章 はじめに
第 2 章 機械学習の概要
第 3 章 線形モデル
第 4 章 フィードフォワード ニューラル ネットワーク
第 5 章 畳み込みニューラル ネットワーク 第 6 章
リカレント ニューラル ネットワーク
第 7 章 ネットワークの最適化と正則化
第 8 章 注意メカニズムと外部メモリ
第 9 章 教師なし学習
第 10 章 モデルに依存しない学習
Chapter 11 確率的グラフィカルモデル
Chapter 12 Deep Belief Networks
Chapter 13 Deep Generative Models
Chapter 14 Deep Reinforcement Learning
Chapter 15 Sequence Generative Models



序文

この記事では、再帰型ニューラル ネットワークについて紹介します。


6.1 ニューラル ネットワークへのメモリの追加

6.1.1 遅延ニューラル ネットワーク

時間遅延ニューラル ネットワーク (TDNN)、つまり、追加の遅延ユニットを確立して、ネットワークの履歴情報 (入力、出力、隠れ状態などを含む) を保存します。
ht ( l ) = f ( ht ( l − 1 ) , ht − 1 ( l − 1 ) , … ht − K ( l − 1 ) ) h_t^{(l)}=f(h_t^{(l-1) )},h_{t-1}^{(l-1)},…h_{tK}^{(l-1)})時間t( l )=f ( ht( l 1 )時間t 1( l 1 )時間t K( l 1 ))
ここに画像の説明を挿入

6.1.2 自己回帰モデル

時系列モデルの一種である自己回帰モデル (AR) は、変数の履歴情報を使用してそれ自体を予測します。
yt = w 0 + ∑ k = 1 K wkyt − k + ϵ t y_t=w_0+\sum _{k=1}^K w_ky_{tk}+\epsilon_tyt=w0+k = 1Kwkyt k+ϵt

ϵ t \epsilon_tϵtは t 番目の瞬間のノイズです

6.1.3 非線形自己回帰モデル

外生入力モデル (NARX) を使用した非線形自己回帰
yt = f ( xt , xt − 1 , … , xt − K x , yt − 1 , yt − 2 , … , yt − K x ) y_t=f(x_t,x_ {t-1},…,x_{t-K_x},y_{t-1},y_{t-2},…,y_{t-K_x})yt=f ( xtバツt 1×t K×yt 1yt 2yt K×)
ここで、f(⋅) は非線形関数を表し、フィードフォワード ネットワーク、K x K_xK×KとK_yKyハイパーパラメータとして

ここに画像の説明を挿入

6.2 リカレントニューラルネットワーク

6.2.1 ネットワーク構造

ここに画像の説明を挿入
ht = f ( ht − 1 , xt ) h_t=f(h_{t-1},x_t)時間t=f ( ht 1バツt)

  • リカレント ニューラル ネットワークは、自己フィードバックを持つニューロンを使用することで、任意の長さの時系列データを処理できます。

  • 再帰型ニューラル ネットワークは、フィードフォワード ニューラル ネットワークよりも生物学的ニューラル ネットワークの構造と一致しています。

  • リカレント ニューラル ネットワークは、音声認識、言語モデル、自然言語生成などのタスクで広く使用されています。

6.2.2 ネットワークの時間的拡張

ここに画像の説明を挿入

6.2.3 単純なリカレント ネットワーク

状態更新関数:
ht = f ( U ht − 1 + W xt + b ) h_t=f(Uh_{t-1}+Wx_{t}+b)時間t=f うーん_t 1+×t+b )
一般近似定理:

ここに画像の説明を挿入

6.2.4 チューリング完了

チューリング完全性とは、チューリング マシンのすべての機能を実現し、計算可能なすべての問題を解決できるコンピューター プログラミング言語などのデータ操作規則を指します。
ここに画像の説明を挿入
完全に接続された再帰型ニューラル ネットワークは、計算可能なすべての問題を近似的に解くことができます。

6.2.5 アプリケーション

  • 入出力マッピングとしての機械学習モデル (このセクションではこのケースに焦点を当てます)。
  • メモリ内の連想メモリ モデルとして。

6.3 機械学習における再帰型ニューラル ネットワークの応用

6.3.1 カテゴリへのシーケンス

モデル アーキテクチャ:
ここに画像の説明を挿入
実用的なアプリケーション:
感情分類タスク

ここに画像の説明を挿入

6.3.2 同期シーケンス間モード

モデル構造:
ここに画像の説明を挿入
実用化:

  1. 中国語の分詞

ここに画像の説明を挿入
2.情報抽出 (IE)

非構造化テキストから構造化情報を抽出して知識を形成します。
ここに画像の説明を挿入
3.音声認識

ここに画像の説明を挿入

6.3.3 非同期シーケンス間モード

モデル構造:
ここに画像の説明を挿入
アプリケーション:
機械翻訳

ここに画像の説明を挿入
ϵ t \epsilon_tϵtは t 番目の瞬間のノイズです

6.4 勾配

6.4.1 定義

与えられたトレーニング サンプル (x,y)、ここで x = ( x 1 x_{1}バツ1,… , x T x_{T}バツT) は長さが T の入力シーケンス、y = ( y 1 y_{1}y1,… , y T y_{T}yT) は、長さ T のタグ シーケンスです。時間 t での瞬間損失関数は次のとおりです。
L t = L ( yt , g ( ht ) ) L_{t}=L(y_t,g(h_t))Lt=L ( ytg ( ht) )
全損失関数は:
L = ∑ t = 1 TL t L=\sum_{t=1}^{T}L_{t}L=t = 1TLt

6.4.2 計算

時間アルゴリズムによる逆伝播:
ここに画像の説明を挿入

ここに画像の説明を挿入

グラデーションの消失と爆発:

ここに画像の説明を挿入
計算プロセスによりλ \lambdaλ部分は何度も求積する必要があるため、得られた値が1より大きい場合は勾配爆発の問題が発生し、1未満の場合は勾配消失の問題が発生します。

6.4.3 長期依存問題

発生の理由:
巡回ニューラル ネットワークは時間次元が非常に深いため、勾配の消失または爆発の問題が発生するため、実際には短期間の依存関係しか学習できません。これがいわゆる長期依存問題です。

改善原理:
勾配爆発問題の場合、重み減衰または勾配打ち切り法を使用できます;勾配消失問題の場合、モデルを改善できます。
改善する方法

  1. ループ エッジは線形従属性に変更されます:
    ht = ht − 1 + g ( xt ; θ ) h_t = h_{t-1}+g(x_t;\theta)時間t=時間t 1+g ( xt;
  2. 非線形性を追加:
    ht = ht − 1 + g ( xt ; ht − 1 ; θ ) h_t = h_{t-1}+g(x_t;h_{t-1};\theta)時間t=時間t 1+g ( xt;時間t 1;
  3. ドア コントローラーを使用します。
    新しい情報を選択的に追加したり、以前に蓄積された情報を選択的に削除したりするなど、情報の蓄積速度を制御します。
    ht = ht − 1 + g ( xt ; ht − 1 ; θ ) h_t = h_{t-1}+g(x_t;h_{t-1};\theta)時間t=時間t 1+g ( xt;時間t 1;

6.5 GRU と LSTM

6.5.1 GRU(Gated Recurrent Unit)

  1. 構造図
    ここに画像の説明を挿入
  2. 计算公式
    rt = σ ( W rxt + U rht − 1 + br ) zt = σ ( W rxt + U zht − 1 + bz ) h ~ t = tanh ( W cxt + U ( rt ⊙ ht − 1 ) ) ht = zt ⊙ ht − 1 + ( 1 − zt ) ⊙ h ~ t r_t = \sigma(W_rx_t+U_rh_{t-1}+b_r) \\ z_t = \sigma(W_rx_t+U_zh_{t-1}+b_z)\ \ \tilde h_t = tanh(W_cx_t+U(r_{t}\odot h_{t-1}))\\ h_t = z_t\odot h_{t-1}+(1-z_t)\odot \tilde h_trt=s ( Wrバツt+r時間t 1+br)t=s ( Wrバツt+時間t 1+b)時間t=t a n h ( Wcバツt+U ( rt時間t 1) )時間t=t時間t 1+( 1t)時間t

6.5.2 LSTM(長期短期記憶)

  1. 構造図
    ここに画像の説明を挿入

  2. 计算公式
    ft = σ ( W fxt + U fht − 1 + bf ) it = σ ( Wi ixt + U iht − 1 + bi ) c ~ t = tanh ( W cxt + U cht − 1 + bc ) ot = σ ( W oxt + U oht − 1 + bo ) ct = ft ⊙ ct − 1 + it ⊙ c ~ tht = ot ⊙ tanh ( ct ) f_t = \sigma(W_fx_t+U_fh_{t-1}+b_f) \\ i_t = \sigma(W_ix_t+U_ih_{t-1}+b_i)\\ \tilde c_t = tanh(W_cx_t+U_ch_{t-1}+b_c)\\ o_t = \sigma(W_ox_t+U_oh_{t-1}+b_o ) \\ c_t = f_t\odot c_{t-1}+i_t\odot \tilde c_t\\ h_t = o_t\odot tanh(c_t)t=s ( Wfバツt+f時間t 1+bf)t=s ( Wバツt+時間t 1+b)ct=t a n h ( Wcバツt+c時間t 1+bc)ot=s ( Woバツt+o時間t 1+bo)ct=tct 1+tct時間t=ott a n h ( ct)

  3. LSTM のバリエーション
    ここに画像の説明を挿入

6.6 深いモデル

スタック型リカレント ニューラル ネットワーク:
ここに画像の説明を挿入
双方向リカレント ニューラル ネットワーク:
ここに画像の説明を挿入

6.7 グラフネットワーク

6.7.1 再帰型ニューラル ネットワーク

再帰型ニューラル ネットワークは、有向グラフの非巡回グラフで構成関数を実際に共有します。

ここに画像の説明を挿入
再帰型ニューラル ネットワークに退化します。

ここに画像の説明を挿入
自然言語処理:
ここに画像の説明を挿入

6.7.2 グラフ ネットワーク

計算プロセス:
ここに画像の説明を挿入
関数計算:
ここに画像の説明を挿入

6.7 リカレントネットワークの応用

文章の合理性判断、作詞、作詩、機械翻訳、絵を見ながら話す、作文、対話システム。


要約する

おすすめ

転載: blog.csdn.net/qq_40940944/article/details/127994822