Mais conteúdo relacionado
Semelhante a RBMを応用した事前学習とDNN学習 (20)
Mais de Masayuki Tanaka (20)
RBMを応用した事前学習とDNN学習
- 10. 単層ニューラルネットワーク(NN)の入出力
9
入力層
𝑣1 𝑣2 𝑣3
ℎ
出力層
𝑤1 𝑤2 𝑤3
ℎ = 𝜎
𝑖
𝑤𝑖 𝑣𝑖 + 𝑏
𝜎 𝑥 =
1
1 + 𝑒−𝑥
シグモイド関数
0.0
0.2
0.4
0.6
0.8
1.0
-6.0
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
1.0
2.0
3.0
4.0
5.0
6.0
単数ノード出力
複数ノード出力(単層NN)
𝒉出力層
入力層 𝒗
ℎ𝑗 = 𝜎
𝑖
𝑤𝑖𝑗 𝑣𝑖 + 𝑏𝑗
𝒉 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
単層NNのベクトル表現
RBMの
推論モデルと等価
- 11. 重み和と活性化関数
10
入力層
𝑣1 𝑣2 𝑣3
ℎ 出力層
𝑤1 𝑤2 𝑤3
𝑛
𝑓
ℎ = 𝑓 𝑛
𝑛 =
𝑖
𝑤𝑖 𝑣𝑖 + 𝑏
入力層
𝑣1 𝑣2 𝑣3
ℎ
出力層
𝑤1 𝑤2 𝑤3
ℎ = 𝑓
𝑖
𝑤𝑖 𝑣𝑖 + 𝑏
𝑓 𝑥 = 𝜎 𝑥 =
1
1 + 𝑒−𝑥シグモイド関数
0.0
0.2
0.4
0.6
0.8
1.0
-6.0
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
1.0
2.0
3.0
4.0
5.0
6.0
活性化関数の例
0.0
1.0
2.0
3.0
4.0
5.0
6.0
-6.0
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
1.0
2.0
3.0
4.0
5.0
6.0
リクティファイドリニア関数
𝑓 𝑥 = ReLU 𝑥 =
0 (𝑥 < 0)
𝑥 (𝑥 ≥ 0)
- 21. 誤差逆伝搬法:シグモイド関数の微分
20
𝜎 𝑥 =
1
1 + 𝑒−𝑥
シグモイド関数 シグモイド関数の微分
𝜕𝜎
𝜕𝑥
= 1 − 𝜎 𝑥 𝜎(𝑥)
シグモイド関数の微分の導出
𝜕𝜎
𝜕𝑥
=
𝜕
𝜕𝑥
1
1 + 𝑒−𝑥
= −
1
1 + 𝑒−𝑥 2
× −𝑒−𝑥 =
𝑒−𝑥
1 + 𝑒−𝑥 2
=
𝑒−𝑥
1 + 𝑒−𝑥
×
1
1 + 𝑒−𝑥
= 1 −
1
1 + 𝑒−𝑥
1
1 + 𝑒−𝑥
= (1 − 𝜎 𝑥 )𝜎 𝑥
- 23. 2層ネットワーク
22
ℎ 𝑘
(2)
= 𝜎(𝑛 𝑘
2
)
𝑛 𝑘
2
=
𝑗
𝑤𝑗𝑘
(2)
ℎ𝑗
(1)
ℎ𝑗
(1)
= 𝜎(𝑛𝑗
1
)
𝑛𝑗
1
=
𝑖
𝑤𝑖𝑗
(1)
𝑣𝑖
𝑣1 𝑣2 𝑣𝑖
𝑛1
(1)
𝜎 𝜎 𝜎
𝑤𝑖𝑗
(1)
𝑛2
(1)
𝑛𝑗
(1)
ℎ1
(1)
ℎ2
(1)
ℎ𝑗
(1)
𝑛1
(2)
𝜎 𝜎 𝜎
𝑛2
(2)
𝑛 𝑘
(2)
ℎ1
(2)
ℎ2
(2)
ℎ 𝑘
(2)
第
1
層
第
2
層
𝑤𝑗𝑘
(2)
𝑡1 𝑡2 𝑡 𝑘
教
師
入力層
𝑣1 𝑣2 𝑣3
ℎ
出力層
𝑤1 𝑤2 𝑤3 ℎ = 𝜎
𝑖
𝑤𝑖 𝑣𝑖
入力層
𝑣1 𝑣2 𝑣3
ℎ 出力層
𝑤1 𝑤2 𝑤3
𝑛
𝜎
ℎ = 𝜎 𝑛
𝑛 =
𝑖
𝑤𝑖 𝑣𝑖
活性化関数と重みを分離して考える
- 24. 2層ネットワークの誤差逆伝搬法
23
ℎ 𝑘
(2)
= 𝜎(𝑛 𝑘
2
)
𝑛 𝑘
2
=
𝑗
𝑤𝑗𝑘
(2)
ℎ𝑗
(1)
ℎ𝑗
(1)
= 𝜎(𝑛𝑗
1
)
𝑛𝑗
1
=
𝑖
𝑤𝑖𝑗
(1)
𝑣𝑖
𝑣1 𝑣2 𝑣𝑖
𝑛1
(1)
𝜎 𝜎 𝜎
𝑤𝑖𝑗
(1)
𝑛2
(1)
𝑛𝑗
(1)
ℎ1
(1)
ℎ2
(1)
ℎ𝑗
(1)
𝑛1
(2)
𝜎 𝜎 𝜎
𝑛2
(2)
𝑛 𝑘
(2)
ℎ1
(2)
ℎ2
(2)
ℎ 𝑘
(2)
第
1
層
第
2
層
𝑤𝑗𝑘
(2)
𝑡1 𝑡2 𝑡 𝑘
教
師 𝐼 =
1
2
𝑘
ℎ 𝑘
(2)
− 𝑡 𝑘
2
評価関数:
𝜕𝐼
𝜕𝑤𝑗𝑘
(2)
=
𝜕𝐼
𝜕𝑛 𝑘
(2)
𝜕𝑛 𝑘
(2)
𝜕𝑤𝑗𝑘
(2)
= 𝛿 𝑘
(2)
ℎ𝑗
(1)
𝛿 𝑘
(2)
=
𝜕𝐼
𝜕𝑛 𝑘
(2)
=
𝜕𝐼
𝜕ℎ 𝑘
(2)
𝜕ℎ 𝑘
(2)
𝜕𝑛 𝑘
(2)
= (ℎ 𝑘
(2)
− 𝑡 𝑘) ℎ 𝑘
2
(1 − ℎ 𝑘
2
)
𝜕𝐼
𝜕𝑤𝑖𝑗
(1)
=
𝜕𝐼
𝜕𝑛𝑗
(1)
𝜕𝑛𝑗
(1)
𝜕𝑤𝑖𝑗
(1)
= 𝛿𝑗
(1)
𝑣𝑖
𝛿𝑗
(1)
=
𝜕𝐼
𝜕𝑛𝑗
(1)
=
𝑘
𝜕𝐼
𝜕𝑛 𝑘
(2)
𝜕𝑛 𝑘
(2)
𝜕ℎ𝑗
(1)
𝜕ℎ𝑗
(1)
𝜕𝑛𝑗
(1)
= 𝑘 𝛿 𝑘
(2)
𝑤𝑗𝑘
(2)
ℎ𝑗
1
(1 − ℎ𝑗
1
)
ここが誤差逆伝搬
- 25. 誤差逆伝搬法
24
𝒉(ℓ−1)
𝑾(ℓ)
𝒏(ℓ) 𝒏(ℓ)
= 𝑾 ℓ T
𝒉(ℓ−1)
𝒇(ℓ)
𝒉(ℓ) = 𝒇(ℓ) 𝒏(ℓ)𝒉(ℓ)
𝑾(ℓ+1)
𝜹(ℓ) = 𝑾(ℓ+1) 𝜹(ℓ+1) ⊗
𝜕𝑓(ℓ)
𝜕𝒏(ℓ)
𝜕𝐼
𝜕𝑾(ℓ) = 𝜹(ℓ)
𝒉 ℓ−1 T
⊗:項別積
𝜹(ℓ+1) = 𝑾(ℓ+2) 𝜹(ℓ+2) ⊗
𝜕𝑓(ℓ+1)
𝜕𝒏(ℓ+1)
𝜕𝐼
𝜕𝑾(ℓ+1) = 𝜹(ℓ+1) 𝒉 ℓ1 T
𝜹(ℓ−1) = 𝑾(ℓ) 𝜹(ℓ) ⊗
𝜕𝑓(ℓ−1)
𝜕𝒏(ℓ−1)
𝜕𝐼
𝜕𝑾(ℓ−1) = 𝜹(ℓ−1) 𝒉 ℓ−2 T
シグモイド関数と
誤差逆伝搬法は
直接関係はない
- 26. 勾配計算のデバッグTIP
25
𝐼(𝜽) =
1
2
𝑘
ℎ 𝑘
𝐿
(𝒗; 𝜽) − 𝑡 𝑘
2
𝜕𝐼
𝜕𝜃𝑖
評価関数
誤差逆伝搬法により
計算された勾配
𝜕𝐼
𝜕𝜃𝑖
= lim
𝜀→0
𝐼 𝜽 + 𝜀𝟏𝑖 − 𝐼 𝜽
𝜀
𝟏𝑖:i番目の要素が1,他は0
∆𝑖 𝐼 =
𝐼 𝜽 + 𝜀𝟏𝑖 − 𝐼 𝜽
𝜀
計算効率高い
実装難しい
計算効率低い
実装容易
勾配の定義式
差分による近似勾配
十分𝜀が小さければ,∆𝑖 𝐼 ≑
𝜕𝐼
𝜕𝜃𝑖
- 27. 確率的勾配降下法(ミニバッチ学習)
26
{ 𝒗, 𝒕 1, 𝒗, 𝒕 2, ⋯ , 𝒗, 𝒕 𝑛 ⋯ , 𝒗, 𝒕 𝑁 }
N個の学習データを用いて,ディープNNのパラメータ𝜽を学習する
𝒗, 𝒕 𝑛に対応する評価関数:𝐼 𝑛(𝜽)
N個の学習データに対応する評価関数:𝐼 𝜽 = 𝑛 𝐼 𝑛(𝜽)
𝒗, 𝒕 7
𝒗, 𝒕 10
𝒗, 𝒕 1
𝒗, 𝒕 2
𝒗, 𝒕 3
𝒗, 𝒕 4
𝒗, 𝒕 11𝒗, 𝒕 5
𝒗, 𝒕 6
𝜽 ← 𝜽 − 𝜂
𝜕𝐼
𝜕𝜽𝒗, 𝒕 7
𝒗, 𝒕 9𝒗, 𝒕 2
𝒗, 𝒕 11
サンプリング
𝒗, 𝒕 6
𝒗, 𝒕 10𝒗, 𝒕 3
𝒗, 𝒕 12
𝒗, 𝒕 9
𝜽 ← 𝜽 − 𝜂
𝜕𝐼
𝜕𝜽
サンプリング𝒗, 𝒕 12
𝒗, 𝒕 8
過学習をさけるため,
ミニバッチ毎にパラメータを更新
全学習データ
- 28. 実際のパラメータ更新則
27
G. Hinton,
A Practical Guide to Training
Restricted Boltzmann Machines 2010.
ミニバッチのサイズ:10~100
学習率𝜂:経験的に決める
重み減衰係数𝜆:0.01 ~ 0.00001
モーメンタム係数𝜈:0.9 (最初0.5)
𝜃(𝑡+1) = 𝜃(𝑡) + ∆𝜃(𝑡)
∆𝜃(𝑡)
= −𝜂
𝜕𝐼
𝜕𝜃
− 𝜆𝜃(𝑡)
+ 𝜈∆𝜃(𝑡−1)
パラメータ更新則
勾配 重み減衰 モーメンタム
重み減衰:
(特に活性化関数がシグモイドの場合,)
不必要に重み係数が発散することを防ぐ
モーメンタム:
不必要な更新量の振動を防ぐ.
共役勾配と似たような効果が期待される.
- 30. Restricted Boltzmann Machines
29
ボルツマンマシン(Boltzmann Machines)
無向グラフ(ノードとエッジ)によって表現される状態の確率モデル.
ここでは,ノードの状態として,{0,1}のバイナリ状態を考える.
(制約無)ボルツマンマシンと制約付ボルツマンマシン(RBM)
v:visible layer
h:hidden layer
v:visible layer
h:hidden layer
• (制約無)ボルツマンマシン • 制約付ボルツマンマシン(RBM)
全てのノードが接続 同一レイヤー内の接続無し
これにより,解析が容易になる!
- 31. RBMの確率モデルとエネルギーモデル
30
v:visible layer {0,1}
h:hidden layer {0,1}
RBMの確率モデル 𝑃 𝒗, 𝒉; 𝜽 =
1
𝑍 𝜽
exp −𝐸 𝒗, 𝒉; 𝜽
RBMのパラメータθ
重みW
バイアス b,c
RBMのエネルギーモデル 𝐸 𝒗, 𝒉; 𝜽 = −
𝑖,𝑗
𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 −
𝑗
𝑏𝑗ℎ𝑗 −
𝑖
𝑐𝑖 𝑣𝑖
= −𝒗 𝑇 𝑾𝒉 − 𝒃 𝑇 𝒉 − 𝒄 𝑇 𝒗
分配関数
(Partition function)
𝑍 𝜽 =
𝒗,𝒉∈{0,1}
exp(−𝐸(𝒗, 𝒉; 𝜽))
- 32. =
𝑖 exp(𝑐𝑖 𝑣𝑖) 𝑗 exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
𝑖 exp(𝑐𝑖 𝑣𝑖) 𝑗 ℎ 𝑗∈{0,1} exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
RBMの条件付確率モデル(推論モデル)
31
v:visible layer {0,1}
h:hidden layer {0,1}
𝑃 𝒉 𝒗; 𝜽 =
𝑃 𝒗, 𝒉; 𝜽
𝒉∈{0,1} 𝑃 𝒗, 𝒉; 𝜽
=
exp( 𝑖,𝑗 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑗 𝑏𝑗ℎ𝑗 + 𝑖 𝑐𝑖 𝑣𝑖)
𝒉∈{0,1} exp( 𝑖,𝑗 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑗 𝑏𝑗ℎ𝑗 + 𝑖 𝑐𝑖 𝑣𝑖)
条件付確率はノード毎に独立である
𝑃 ℎ𝑗 𝒗; 𝜽 =
exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
ℎ 𝑗∈{0,1} exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
=
𝑗
exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
ℎ 𝑗∈{0,1} exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
=
𝑗
𝑃(ℎ𝑗|𝒗; 𝜽)
𝑃 𝒗, 𝒉; 𝜽 =
1
𝑍 𝜽
exp −𝐸 𝒗, 𝒉; 𝜽
𝐸 𝒗, 𝒉; 𝜽 = −
𝑖,𝑗
𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 −
𝑗
𝑏𝑗ℎ𝑗 −
𝑖
𝑐𝑖 𝑣𝑖
= −𝒗 𝑇
𝑾𝒉 − 𝒃 𝑇
𝒉 − 𝒄 𝑇
𝒗
- 33. RBMの条件付確率モデル(推論モデル)
32
v:visible layer {0,1}
h:hidden layer {0,1}
𝑃 ℎ𝑗 𝒗; 𝜽 =
exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
ℎ 𝑗∈{0,1} exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 + 𝑏𝑗ℎ𝑗)
𝑃 ℎ𝑗 = 1 𝒗; 𝜽 =
exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗 × 1 + 𝑏𝑗 × 1)
exp 𝑖 𝑣𝑖 𝑤𝑖𝑗 × 0 + 𝑏𝑗 × 0 + exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗 × 1 + 𝑏𝑗 × 1)
𝜎 𝑥 =
1
1 + 𝑒−𝑥
=
exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗 + 𝑏𝑗)
exp 0 + exp( 𝑖 𝑣𝑖 𝑤𝑖𝑗 + 𝑏𝑗)
=
1
1 + exp(− 𝑖 𝑣𝑖 𝑤𝑖𝑗 + 𝑏𝑗)
= 𝜎
𝑖
𝑣𝑖 𝑤𝑖𝑗 + 𝑏𝑗
𝑃 𝒉 = 𝟏 𝒗; 𝜽 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
𝑃 𝒗 = 𝟏 𝒉; 𝜽 = 𝜎 𝑾𝒉 + 𝒄 𝒉 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
単層NNのベクトル表現
- 34. ガウシアン分布のためのRBM
33
v:visible layer {0,1}
h:hidden layer {0,1}
ベルヌーイ・ベルヌーイRBM ガウシアン・ベルヌーイRBM
v:visible layer
ガウス分布𝑁(𝑣; 𝜇, 𝑠2
)
h:hidden layer {0,1}
𝑃 𝒗, 𝒉 =
1
𝑍(𝜽)
exp −𝐸 𝒗, 𝒉
ガウシアン・ベルヌーイRBM
𝐸 𝒗, 𝒉 =
1
2𝑠2
𝑖
𝑣𝑖 − 𝑐𝑖
2 −
1
𝑠
𝑖,𝑗
𝑣𝑖 𝑤𝑖𝑗ℎ𝑖 −
𝑗
𝑏𝑗ℎ𝑗
確率モデル:
推論モデル:
(条件付確率)
𝑃 𝒉 = 𝟏 𝒗 = 𝜎
1
𝑠
𝑾 𝑇 𝒗 + 𝒃
𝑃 𝒗 𝒉 = 𝑵 𝒗; 𝜎𝑾𝒉 + 𝒄, 𝑠2
𝑰
- 36. RBMのCD学習
35
𝒗(0)
𝒉(0)
𝒗(1)
𝒉(1)
𝒉(0) = 𝜎 𝑾 𝑇 𝒗(𝟎) + 𝒃
𝒗(1) = 𝜎 𝑾𝒉(𝟎) + 𝒄
𝒉(1) = 𝜎 𝑾 𝑇 𝒗(𝟏) + 𝒃
𝑾 ← 𝑾 − 𝜀 Δ𝑾
Δ𝑾 =
𝟏
𝑁
𝑛
𝒗 𝑛(0)
𝑇
𝒉 𝑛(0) − 𝒗 𝑛(1)
𝑇
𝒉 𝑛(1)
各ミニバッチに対して以下の計算を繰り返す
与えられたデータに対するRBMのパラメータを
最尤推定に基づく推定する
モーメンタム
重み減衰
も利用する
- 37. RBMに基づく事前学習概要
36
v:visible layer {0,1}
h:hidden layer {0,1}
RBMのパラメータθ:重みW,バイアス b,c
𝑃 𝒗, 𝒉; 𝜽 =
1
𝑍 𝜽
exp −𝐸 𝒗, 𝒉; 𝜽
𝐸 𝒗, 𝒉; 𝜽 = −
𝑖,𝑗
𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 −
𝑗
𝑏𝑗ℎ𝑗 −
𝑖
𝑐𝑖 𝑣𝑖
= −𝒗 𝑇 𝑾𝒉 − 𝒃 𝑇 𝒉 − 𝒄 𝑇 𝒗
• 学習データ{vn}に対する尤度最大化(最尤法)によりパラメータ推定
• Hidden dataが得られないので,(近似)EMアルゴリズムを活用
• 分配関数の評価にギブスサンプリングを活用
• 一回のサンプリングで近似
CD学習(Contrastive Divergence Learning)概要
- 38. 最尤法に基づくRBMの事前学習
37
v:visible layer {0,1}
h:hidden layer {0,1} 𝑃 𝒗, 𝒉; 𝜽 =
1
𝑍 𝜽
exp −𝐸 𝒗, 𝒉; 𝜽
𝐸 𝒗, 𝒉; 𝜽 = −
𝑖,𝑗
𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 −
𝑗
𝑏𝑗ℎ𝑗 −
𝑖
𝑐𝑖 𝑣𝑖
= −𝒗 𝑇 𝑾𝒉 − 𝒃 𝑇 𝒉 − 𝒄 𝑇 𝒗
RBMは確率モデル
確率モデルのパラメータは
データが与えられたときの
最尤法で求める.
Visible dataは得られるが,
Hidden dataは得られない.
得られないデータは積分.
学習データ{vn}に対する対数尤度
𝐿 𝜽 =
𝑛
𝐿 𝑛 𝜽 =
𝑛
log 𝑃 𝒗 𝑛; 𝜽
=
𝑛
log 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽) 𝑃(𝒗 𝑛, 𝒉; 𝜽)
EMアルゴリズムを利用して,パラメータθを推定
𝐿 𝑛 𝜽 = log 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽) 𝑃(𝒗 𝑛, 𝒉; 𝜽)
- 39. EMアルゴリズム
38 参考文献:これなら分かる最適化数学,金谷健一
𝐿 𝑛 𝜽 = log 𝑃 𝒗 𝑛; 𝜽 = log 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽) 𝑃(𝒗 𝑛, 𝒉; 𝜽)
学習データvnに対する対数尤度
EMアルゴリズムにより対数尤度は単調に増大する
EMアルゴリズム
1. パラメータ𝜽を初期化𝜽0 する.𝜏 = 0とする.
2. 次の関数を計算する(Eステップ)
3. 𝑄 𝜏 𝜽 を最大にする𝜽 𝜏とする(Mステップ)
4. 𝜏←𝜏 + 1としてステップ2に戻り、これを収束するまで反復する。
𝑄 𝜏 𝜽 = 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) log 𝑃(𝒗 𝑛, 𝒉; 𝜽)
※CD学習では、ステップ3の最大化は完全には行われない.
- 40. 評価関数とその微分
39
𝑃 𝒗, 𝒉; 𝜽 =
1
𝑍 𝜽
exp −𝐸 𝒗, 𝒉; 𝜽
𝑍 𝜽 =
𝒗,𝒉∈{0,1}
exp(−𝐸(𝒗, 𝒉; 𝜽))
𝑄 𝜏 𝜽 = 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) log 𝑃(𝒗 𝑛, 𝒉; 𝜽)
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) log
exp −𝐸 𝒗 𝑛, 𝒉; 𝜽
𝑍(𝜽)
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) −𝐸 𝒗 𝑛, 𝒉; 𝜽 − log 𝑍(𝜽)
𝑄 𝜏 𝜽 = 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) log 𝑃(𝒗 𝑛, 𝒉; 𝜽)
評価関数
v:visible layer {0,1}
h:hidden layer {0,1}
𝜕𝑄 𝜏 𝜽
𝜕𝜽
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) −
𝜕
𝜕𝜽
𝐸 𝒗 𝑛, 𝒉; 𝜽 −
𝜕
𝜕𝜽
log 𝑍(𝜽)
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) −
𝜕
𝜕𝜽
𝐸 𝒗 𝑛, 𝒉; 𝜽 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽) −
𝜕
𝜕𝜽
𝐸 𝒗, 𝒉; 𝜽
データ項 モデル項
- 41. 分配関数の微分(モデル項の導出)
40
𝜕 log 𝑍(𝜽)
𝜕𝜽
=
1
𝑍(𝜽)
𝜕𝑍
𝜕𝜽
(𝜽) =
1
𝑍(𝜽)
𝜕
𝜕𝜽
𝑓 𝒙; 𝜽 𝑑𝒙
=
1
𝑍(𝜽)
𝜕𝑓 𝒙; 𝜽
𝜕𝜽
𝑑𝒙
=
1
𝑍(𝜽)
𝑓 𝒙; 𝜽
𝜕 log 𝑓 𝒙; 𝜽
𝜕𝜽
𝑑𝒙
𝑃 𝒙; 𝜽 =
1
𝑍 𝜽
𝑓(𝒙; 𝜽) 𝑍 𝜽 = 𝑓 𝒙; 𝜽 𝑑𝒙
確率分布関数 分配関数
任意関数:𝑓(𝒙; 𝜽)
= 𝑃 𝒙; 𝜽
𝜕 log 𝑓 𝒙; 𝜽
𝜕𝜽
𝑑𝒙
= 𝐸 𝒙∼𝑃 𝒙;𝜽
𝜕 log 𝑓 𝒙; 𝜽
𝜕𝜽
この方向で
確かめられる
対数関数の微分
微分は積分の中へ
期待値の定義
- 42. 評価関数とその微分
41
𝜕𝑄 𝜏 𝜽
𝜕𝜽
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) −
𝜕
𝜕𝜽
𝐸 𝒗 𝑛, 𝒉; 𝜽 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽) −
𝜕
𝜕𝜽
𝐸 𝒗, 𝒉; 𝜽
𝑃 𝒗, 𝒉; 𝜽 =
1
𝑍 𝜽
exp −𝐸 𝒗, 𝒉; 𝜽
𝑄 𝜏 𝜽 = 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) log 𝑃(𝒗 𝑛, 𝒉; 𝜽)
評価関数
v:visible layer {0,1}
h:hidden layer {0,1}
𝐸 𝒗, 𝒉; 𝜽 = −
𝑖,𝑗
𝑣𝑖 𝑤𝑖𝑗ℎ𝑗 −
𝑗
𝑏𝑗ℎ𝑗 −
𝑖
𝑐𝑖 𝑣𝑖
= −𝒗 𝑇
𝑾𝒉 − 𝒃 𝑇
𝒉 − 𝒄 𝑇
𝒗
𝜕
𝜕𝑾
𝐸 𝒗, 𝒉; 𝜽 = −𝒗 𝑻
𝒉
𝜕𝑄 𝜏 𝜽 𝜏
𝜕𝑾
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉
𝜕𝑄 𝜏 𝜽 𝜏
𝜕𝜽
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) −
𝜕
𝜕𝜽
𝐸 𝒗 𝑛, 𝒉; 𝜽 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) −
𝜕
𝜕𝜽
𝐸 𝒗, 𝒉; 𝜽
データ項(計算容易) モデル項(計算困難)
ギブスサンプリングで近似
- 43. 評価関数の微分の計算(データ項)
42
𝜕𝑄 𝜏 𝜽 𝜏
𝜕𝑾
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉
データ項(計算容易) モデル項(計算困難)
ギブスサンプリングで近似
𝒗(0)
𝒉(0)
𝑃 𝒉 = 𝟏 𝒗; 𝜽 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
RBMにおける推論
データ項
𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 = 𝒗 𝑛
𝑇 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒉
= 𝒗 𝑛
𝑇 𝟎 ∙ 𝑃 𝒉 = 𝟎 𝒗; 𝜽 + 𝟏 ∙ 𝑃 𝒉 = 𝟏 𝒗; 𝜽
= 𝒗 𝑛
𝑇
𝜎 𝑾 𝑇 𝒗 𝑛 + 𝒃
- 44. モンテカルロ法による近似期待値計算(モデル項)
43
𝜕𝑄 𝜏 𝜽 𝜏
𝜕𝑾
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉
データ項(計算容易) モデル項(計算困難)
ギブスサンプリングで近似
𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉 ≑
1
𝑁
𝑖
𝒗(𝑖)
𝑇
𝒉(𝑖) 𝒗(𝑖)
𝑇
, 𝒉(𝑖) ∼ 𝑃(𝒗, 𝒉; 𝜽 𝜏)
確率分布からの独立なサンプリング
モンテカルロ法による近似期待値計算
どうやって,サンプリング? ギブスサンプリング
- 45. ギブスサンプリング
44
𝒗(0)
𝒉(0)
𝑃 𝒉 = 𝟏 𝒗; 𝜽 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
RBMにおける推論
𝑃 𝒗 = 𝟏 𝒉; 𝜽 = 𝜎 𝑾𝒉 + 𝒄
𝒗(1)
𝒉(1)
𝒗(∞)
𝒉(∞)
ギブスサンプリング
1. 𝒗に初期値を設定
2. 𝑃(𝒉|𝒗)で𝒉をサンプリング
3. 𝑃(𝒗|𝒉)で𝒗 をサンプリング
4. 2と3を繰り返す
𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉 ≑
1
𝑁
𝑖
𝒗(𝑖)
𝑇
𝒉(𝑖)
𝜕𝑄 𝜏 𝜽 𝜏
𝜕𝑾
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉
データ項(計算容易) モデル項(計算困難)
ギブスサンプリングで近似
- 46. RBMのCD学習における微分計算(モデル項)
45
𝒗(0)
𝒉(0)
𝒗(1)
𝒉(1)
なんと,一回でやめちゃう!
𝒉(0) = 𝜎 𝑾 𝑇
𝒗(𝟎) + 𝒃
𝑃 𝒉 = 𝟏 𝒗; 𝜽 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
RBMにおける推論
𝑃 𝒗 = 𝟏 𝒉; 𝜽 = 𝜎 𝑾𝒉 + 𝒄
𝒗(1) = 𝜎 𝑾𝒉(𝟎) + 𝒄
𝒉(1) = 𝜎 𝑾 𝑇
𝒗(𝟏) + 𝒃
𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 =𝒗(0)
𝑇
𝒉(0)
𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉 =𝒗(1)
𝑇
𝒉(1)
𝜕𝑄 𝜏 𝜽 𝜏
𝜕𝑾
= 𝐸 𝒉∼𝑃(𝒉|𝒗 𝑛;𝜽 𝜏) 𝒗 𝑛
𝑇 𝒉 − 𝐸 𝒗,𝒉∼𝑃(𝒗,𝒉;𝜽 𝜏) 𝒗 𝑻 𝒉
データ項(計算容易) モデル項(計算困難)
ギブスサンプリングで近似
- 47. 確率?それとも状態?
46
𝒗(0)
𝒉(0)
𝒗(1)
𝒉(1)
𝒉(0) = 𝜎 𝑾 𝑇 𝒗(𝟎) + 𝒃
𝒗(1) = 𝜎 𝑾𝒉(𝟎) + 𝒄
𝒉(1) = 𝜎 𝑾 𝑇 𝒗(𝟏) + 𝒃
𝑃 𝒉 = 𝟏 𝒗; 𝜽 = 𝜎 𝑾 𝑇 𝒗 + 𝒃
RBMにおける推論
𝑃 𝒗 = 𝟏 𝒉; 𝜽 = 𝜎 𝑾𝒉 + 𝒄
G. Hinton,
A Practical Guide to Training
Restricted Boltzmann Machines 2010.
RBMにおける推論はあくまで,確率である.
ギブスサンプリングでは,確率に基づき,状態をサンプリングすることになっている.
では,CD学習では,バイナリ状態で計算すべきか?
Hintonいわく: 確率として,計算せよ!
- 48. RBMのCD学習
47
𝒗(0)
𝒉(0)
𝒗(1)
𝒉(1)
𝒉(0) = 𝜎 𝑾 𝑇 𝒗(𝟎) + 𝒃
𝒗(1) = 𝜎 𝑾𝒉(𝟎) + 𝒄
𝒉(1) = 𝜎 𝑾 𝑇 𝒗(𝟏) + 𝒃
𝑾 ← 𝑾 − 𝜀 Δ𝑾
Δ𝑾 =
𝟏
𝑁
𝑛
𝒗 𝑛(0)
𝑇
𝒉 𝑛(0) − 𝒗 𝑛(1)
𝑇
𝒉 𝑛(1)
各ミニバッチに対して以下の計算を繰り返す
与えられたデータに対するRBMのパラメータを
最尤推定に基づく推定する
モーメンタム
重み減衰
も利用する
- 53. 分布を考慮したFast drop-out
52 S.I. Wang and C.D. Manning, Fast dropout training, ICML 2013.
入力層
𝑣1 𝑣2 𝑣3
ℎ 出力層
𝑤1 𝑤2 𝑤3
𝑛
𝜎
ℎ = 𝜎 𝑛
𝑛 =
𝑖
𝑤𝑖 𝑣𝑖 + 𝑏
𝑣1 𝑣2 𝑣3
ℎ
𝑤1 𝑤2 𝑤3
𝑛
𝜎
𝜉1 𝜉2 𝜉3
入力層
出力層
ℎ = 𝐸 𝜎 𝜒
𝜒 =
𝑖
𝜉𝑖 𝑤𝑖 𝑣𝑖 + 𝑏
𝜉𝑖 ∈ 0,1 ,
𝑃 𝜉𝑖 = 0 = 0.5
𝑃 𝜉𝑖 = 1 = 0.5
𝜒, 𝜉𝑖:確率変数
通常のNN推論 Drop-outのNN推論
𝜒
𝑃(𝜒)
- 54. 分布を考慮したFast drop-out
53 S.I. Wang and C.D. Manning, Fast dropout training, ICML 2013.
𝑣1 𝑣2 𝑣3
ℎ
𝑤1 𝑤2 𝑤3
𝑛
𝜎
𝜉1 𝜉2 𝜉3
入力層
出力層
ℎ = 𝐸 𝜎 𝜒
𝜒 =
𝑖
𝜉𝑖 𝑤𝑖 𝑣𝑖 + 𝑏
𝜉𝑖 ∈ 0,1 ,
𝑃 𝜉𝑖 = 0 = 0.5
𝑃 𝜉𝑖 = 1 = 0.5
𝜒, 𝜉𝑖:確率変数
Drop-outのNN推論
𝜒
𝑃(𝜒)
𝜒
𝑃(𝜒) 正規分布で近似
𝑁(𝜒; 𝜇, 𝑠2
)
平均𝜇,分散𝑠2
計算
ℎ = 𝐸 𝜎 𝜒
≑
−∞
∞
𝑁(𝜒; 𝜇, 𝑠2
) 𝜎 𝜒 𝑑𝜒
≑ 𝜎
𝜇
1 + 𝜋𝑠2/8
高速な近似計算
サンプリングが必要なく,
高速計算が可能
誤差逆伝搬法
CD学習
にも対応
- 55. RBMモデルを考慮したNN推論
54
M. Tanaka and M. Okutomi, A Novel Inference of a Restricted
Boltzmann Machine, ICPR2014.
入力層
𝑣1 𝑣2 𝑣3
ℎ 出力層
𝑤1 𝑤2 𝑤3
𝑛
𝜎
ℎ = 𝜎 𝑛
𝑛 =
𝑖
𝑤𝑖 𝑣𝑖 + 𝑏
通常のNN推論
ℎ1 ℎ2 ℎ3
𝐻 出力層
𝑤1 𝑤2 𝑤3
𝑛
𝜎 𝐻 = 𝐸 𝜎 𝜒
𝜒 =
𝑖
𝑤𝑖ℎ𝑖 + 𝑏
RBMモデルを考慮したNN推論
𝑃 𝒉 = 𝟏 𝒗; 𝜽 = 𝜎 𝑾 𝑇
𝒗 + 𝒃
𝜒, ℎ𝑖:確率変数
𝜒
𝑃(𝜒)
𝜒
𝑃(𝜒) 正規分布で近似
𝑁(𝜒; 𝜇, 𝑠2)
平均𝜇,分散𝑠2
計算
ℎ = 𝐸 𝜎 𝜒
≑
−∞
∞
𝑁(𝜒; 𝜇, 𝑠2
)𝜎 𝜒 𝑑𝜒
≑ 𝜎
𝜇
1 + 𝜋𝑠2/8
- 58. 概要
1. ディープラーニング
2. RBMからディープニューラルネットワーク
3. ディープニューラルネットワーク
– 誤差逆伝搬法(教師有学習)
4. RBM( Restricted Boltzmann Machine )
– RBMの基礎,確率モデル,推論モデル
– CD法による事前学習(教師無学習)
5. 分布を考慮したNN推論
57
実行はできるけど中身はわからない.
理論的バックグランドがわかった!
http://bit.ly/dnnicpr2014