10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
4.
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
23.
RNNの計算:3つのブロックとその変換⼿手続きに分解
Chap 10.5 [1] : Deep Recurrent Networks
1. ⼊入⼒力力 から 隠れ状態 へ
2. 以前の隠れ状態 から 次の隠れ状態 へ
3. 隠れ状態 から 出⼒力力 へ
【疑問】この⼿手続きを深くすることに意味あるの?
【実験検証】:意味アリ.[Graves et al, 2013.] / [Pascanu et al, 2014a.]
実験検証により、⼗十分な深さがあれば、モデルは望む写像を学習する.
• Schmidhuber (1992)
• EL Hihi and Bengio(1992)
• Jeager(2007a)
ー 参考 : 深いRNNに関する初期研究
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
31.
Chap 10.7 [1] : The Challenge of Long-‐‑‒Term Dependencies
【Recurrent Neural Networkの課題】
⻑⾧長距離離にある項(データ)間の依存関係を学習させたい.
< 根本的な問題 >
勾配の伝搬が繰り返される間に、勾配が発散・消失してしまう.
Recurrent Neural Network の動作:
時系列列データに対して、各時間ステップで同じ関数の繰り返し適⽤用が
なされる.(活性化関数の合成積)
活性化関数の繰り返し適⽤用は、異異常な⾮非線形挙動を引き起こしやすい.
32.
Chap 10.7 [2] : The Challenge of Long-‐‑‒Term Dependencies
【Fig.10.15】⾮非線形関数の適応回数とその挙動
33.
h(t)
= QT
Λt
Qh(0)
関数の合成操作
Chap 10.7 [3] : The Challenge of Long-‐‑‒Term Dependencies
⾏行行列列の乗算演算と はいくつかの点で似ている.
リカレントニューラルネットによる
【Thinking】: ⾮非線形の活性化関数と⼊入⼒力力xの無い超簡単なRNNを想定.
h(t)
= WT
h(t−1)
h(t)
= Wt
( )
T
h(0)
W = QΛQT
今、⾏行行列列W が固有値分解出来ると仮定すると、直⾏行行⾏行行列列Q を⽤用いて
再帰関係が、固有値のべき乗 により与えられる
34.
Chap 10.7 [4] : The Challenge of Long-‐‑‒Term Dependencies
h(t)
= QT
Λt
Qh(0)
再帰関係 が、固有値のべき乗 により与えられる
固有値 が、
・1 未満 → 0 へ収束
・1 より⼤大きい → ∞ へ発散
[例例] W が スカラー値 の場合で考えてみたい.
→ 乗算値Wt は、Wの⼤大きさに応じて 発散 or 収束 .
各時間ステップtで異異なる重みW(t) を⽤用いた⾮非再帰型ニューラルネットを
考えてみる.
W(0) W(1) W(2)
W(3) W(t-‐‑‒1)
W(t)
t
35.
Chap 10.7 [5] : The Challenge of Long-‐‑‒Term Dependencies
各時間ステップtで異異なる重みW(t) を⽤用いた⾮非再帰型ニューラルネットを
考えてみる.
W(0) W(1) W(2)
W(3) W(t-‐‑‒1)
W(t)
t
各W(t) が、平均0・分散v のランダム⾏行行列列として与えられる場合:
積算値( ) の分散 ∝ O(v(n))h(t)
= W(t)
h(0)
t
∏ ココが発散・収束
の振る舞いを与えている.
望ましい分散v* を定めたい場合:
個々の重みの分散を と定めるのが良良い.v = v*n
⾮非常に深いFFNNだとしても、適切切にスケールサイズを選択することで、
勾配消失・発散問題を回避可能.(Sussilio, 2014)
36.
Chap 10.7 [6] : The Challenge of Long-‐‑‒Term Dependencies
【RNNの勾配消失・発散 問題】:個々の研究者により独⽴立立して提起
当初:
パラメータを勾配が発散・消失しない領領域に留留めておくと簡単に回避する
ことが可能であると思われていた.
⼩小さな変化に対してもRNNが安定的に記憶できるようにするためには、
パラメータを勾配が消失するような空間に取らざるを得ない.
(Bengio, 1993)
Q. なぜ「勾配の消失・発散問題」を考える必要があるのか?
Ans. 現実世界のデータには⻑⾧長期系列列のものが多くあり、⻑⾧長期系列列
特有の性質を、分析内容に応じて扱う必要があるため.
(⻑⾧長期系列列のデータをうまく扱えるようになりたいから.)
系列列データ内の⻑⾧長距離離間の関係に対する学習の難しさを考えている.
モデルが⻑⾧長距離離の依存関係を表現することができる場合は、どのような場合
であっても、
< at
(a <1,t>=1)短距離離の関係に関する勾配
⻑⾧長距離離の関係に関する勾配
⻑⾧長距離離の関係に関する勾配は、短距離離の関係に関する勾配よりも指数的に
⼩小さなスケールとなる.
Chap 10.7 [7] : The Challenge of Long-‐‑‒Term Dependencies
【実験】(Bengio, 1994)
• 捉えるべき依存関係の間隔が⼤大きくなるにつれて、勾配に基づく最適化法
は困難.
• ⻑⾧長さが⾼高々10~∼20程度度の系列列に対しても、SGDを⽤用いた伝統的なRNNの
訓練の成功する確率率率は急速に0へと向かった.
• ⻑⾧長距離離にある⼤大きな刺刺激も、伝搬距離離が⼤大きくなるにつれて減衰し⼩小さくなる
ために、短距離離にある⼩小さな刺刺激に隠されてしまう.
• ⻑⾧長距離離の依存関係を学習するには、⾮非常に時間がかかる.
40.
RNNをDynamical systems(動的システム)とみなして深く取り扱う話
[Pascanu er al. 2013] のレビュー
Chap 10.7 [8] : The Challenge of Long-‐‑‒Term Dependencies
• Doya 1993
• Bengio et al. 1994
• Siegelmann and Sontag 1995
ー この章の残りの節では・・・
⻑⾧長期の依存性を学習することの難しさを低減させるために提案されている
様々な⼿手法について議論論を⾏行行う.
⻑⾧長期の依存性の学習問題:未だ深層学習における主要な挑戦的課題の⼀一つ
41.
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
42.
【 Reservoir Computing 】:
Echo State Network (ESN)
Liquid State Machines
• 隠れ層のパラメータが固定
• 出⼒力力層のパラメータのみを学習
• 活性化関数は連続関数
• 隠れ層のパラメータが固定
• 出⼒力力層のパラメータのみを学習
• 活性化関数は離離散関数(バイナリー)
Input Layer
Output Layer
X
Y
Reservoir Layer
Chap 10.8 [1] : Echo State Networks
RNNで最も困難な学習パラメータ:再帰部(隠れ層)・⼊入⼒力力部(⼊入⼒力力層)
この難しさを回避したい : 出⼒力力部の重みのみを学習すればよくね?
固定
Chap 10.8 [10] : Echo State Networks
エコーステートネットワークの戦略略:
最近では : 訓練済みリカレントネットワークの重みを初期値に⽤用いる
• ⻑⾧長期依存性を学習することを助ける.
• 1.2の初期スペクトル半径と8.2章のスパース性のある初期化枠組み
を合わせることで良良い性能となる.
55.
10.3 Bidirectional RNNs
10.4 Encoder-‐‑‒Decoder Sequence-‐‑‒to-‐‑‒Sequence
Architectures
10.5 Deep Recurrent Networks
10.6 Recursive Neural Networks
10.7 The Challenge of Long-‐‑‒Term Dependencies
10.8 Echo State Networks
10.9 Leaky Units and Other Strategies
for Multiple Time Scales
Chap.10
> 10.3 -‐‑‒ 10.9
56.
Chap 10.9 [1] :
Leaky Units and Other Strategies
for Multiple Time Scales
⻑⾧長期の依存性(関係性)を扱う⽅方法
[アイデア] Mutiple Time Scale
[仕組み] Leaky Units
h(t) h(t+1) h(t+2) W(T-‐‑‒1)
W(T)
t
・・・
ー 複数の時間スケールで演算を実⾏行行するモデル を作ってみる.
適当に良良い(良良い粒粒度度)の接続:細かな情報・詳細の演算
⻑⾧長い距離離の接続 :遠い過去から現在までの情報を効率率率的に伝搬
細かな時間スケール と 粗い時間スケール の両⽅方を⽤用いる可変的な戦略略
※ 時間スキップするような接続⽅方法 を加えることも含む
• 異異なる時間の信号を統合
• 細かな時間スケールのモデリングに使われるコネクションのいくつか
を取り除く
57.
⻑⾧長距離離の時間スケールでの学習を実現するために
遠い過去の変数 から 現在の変数 までを直接繋ぐ
Chap 10.9 [2] :
Leaky Units and Other Strategies
for Multiple Time Scales
【元ネタ】1996年年:Linらの研究
【由来】 1988年年:LangとHintonの研究
ー FFNNに遅延機構を組み込むアイデア
【スキップコネクション】
【問題】タイムステップが進むに応じて、勾配は指数的に消失(収束)もしく
は発散 (Chap:8.2.5)
【1996年年 Linらの研究】dの時間遅れ機構 による再帰的接続を導⼊入
• 勾配は指数的に減少するが、それはτより⼩小さなτ/dの関数で表現.
• 遅延と単純な時刻間の接続の両⽅方があるとはいえ、勾配は未だτで
指数的に発散する可能性がある.
全ての⻑⾧長期依存性をこのような⽅方法でうまく表現出来るとは限らないが、
このような⽅方法で⻑⾧長期依存性を獲得できる学習アルゴリズムを得ることができる
58.
Chap 10.9 [3] :
Leaky Units and Other Strategies
for Multiple Time Scales
微分の積が1に近づいて⾏行行くようなパスを得る⽅方法:
ー 線形の⾃自⼰己結合とこのような結合に1に近い重みを備えたユニット
というものがある.
• aが1に近づく場合:移動平均は⻑⾧長期間の過去の情報を記憶.
• aが0に近づく場合:過去に関する情報は急速に忘却.
• 線形の⾃自⼰己結合を備えた隠れユニットは、移動平均に似た振る舞いをする.
【Leaky Unit】
何らかの値v(t) による 移動平均μ(t) について考えてみる.
更更新:μ(t) = a*μ(t-‐‑‒1) + (1-‐‑‒a)*v(t)
パラメータa:μ(t-‐‑‒1) から μ(t) への 線形の⾃自⼰己結合の例例
ht
= f (Wht−1
+Uxt
) ht
= 1−
1
τ
"
#
$
%
&
'⋅ht−1
+
1
τ
⋅ f (Wht−1
+Uxt
)
普通のRNNユニット Leaky Unitを備えたRNNユニット
59.
【Skip Connection】
d時間ステップ毎に
スキップコネクトを⾏行行う
ユニットがd時間ステップからの値
による影響をより早く受けつつ、
学習することが可能
Chap 10.9 [4] :
Leaky Units and Other Strategies
for Multiple Time Scales
ht
= f (Wht−1
+Uxt
) ht
= 1−
1
τ
"
#
$
%
&
'⋅ht−1
+
1
τ
⋅ f (Wht−1
+Uxt
)
普通のRNNユニット Leaky Unitを備えたRNNユニット
τが1に近い:現在の隠れ層の特徴量量よりも過去から伝搬される特徴量量を優遇
τが0に近い:過去から伝搬される特徴量量よりも現在の隠れ層の特徴量量を優遇
τが1に近いと、より遠くの過去の情報を考慮できそう.
【Leaky Units】
「重みが1に近い線形の⾃自⼰己結合を⽤用いること」は、(Skip Connection同
様に)過去からの値を⽤用いることができる確実な⽅方法のひとつ.
60.
Chap 10.9 [5] :
Leaky Units and Other Strategies
for Multiple Time Scales
Skip Connection と Leaky Units
Skip Connectionのint型の(整数の)スキップ⻑⾧長を調節することよりも
線形の⾃自⼰己結合によるアプローチにより実数のαを調節することの⽅方が
スムーズで柔軟性のあるものとなる.
アイデアの初出
他のNNへの適⽤用 : エコーステートネットワーク
• 1992年年の Mozer
• 1996年年の El Eihi / Benjio
Leakyユニットは、エコーステートネットワークの⽂文脈においても
有⽤用であることが知られている (2007年年 Jaegerらの研究).
1. 予め⼿手動決め、定数とみなす:初回に⼀一度度、適当な分布からサンプリング.
2. 時間に対して⾃自由な変数として、それらを学習:⻑⾧長期依存性の考慮を⽀支援.
(1992年年 Mozer, 2013年年 Pascanu)
【Leaky Unitによる時間定数の設定】 : 2つの基本的な戦略略
61.
Chap 10.9 [6] :
Leaky Units and Other Strategies
for Multiple Time Scales
10.9.3 Removing Connections
• RNNの状態を複数の時間スケールで構築.
• 遅延スケールの⽅方で⻑⾧長距離離間をより簡単に情報を伝搬することができる.
【Skip Connection】
伝搬リンク(⽮矢印)を新たに追加する形式のモデリング
【Removing Connection】
ある⻑⾧長さのリンクを取り除き、より距離離の離離れたリンク
を新しく追加する形式のモデリング
62.
Chap 10.9 [7] :
Leaky Units and Other Strategies
for Multiple Time Scales
【⻑⾧長期の依存性を取り扱う⽅方法まとめ】
再帰ユニットをリーキーユニットに変更更
それぞれ異異なる固定された時間スケールに対応する異異なる
ユニットのグループを作る
予め設定として異異なる時間伝搬を⾏行行うリンクをユニット間に接続した
モデルを作っておく、ということを述べている気がする.
それぞれのユニットグループに対して、異異なる頻度度と違う時間で明⽰示的
かつ離離散的にアップデートを実⾏行行すること
[El HihiとBengio, 1996]、[Koutnik,2014] らのアプローチ