Restricted Boltzmann Machine(RBM):
アーキテクチャ
BMで恐ろしく時間がかかる理由
→結合数が多すぎること
隠れ層と可視層とを階層構造と
考え,層内結合を撤廃
→ RBM
何ということでしょう.
素子が条件付き独立に!
8
h
v
H(h, v) =
X
i,j
hjWi jvi p(h | v) =
Y
j
p(hj | v) =
Y
j
exp(hj
P
i Wi jvi)
2 cosh(
P
i Wijvi)
p(v | h) =
Y
i
p(vi | h) =
Y
i
exp(vi
P
j Wi jhj)
2 cosh(
P
j Wi jhj)
p(v | h1
)=
Y
i
p(vi | h1
)
Sigmoid
Belief net
Deep Belief Net(DBN):
アーキテクチャ
14
RBM は単層モデル (結構成功はしている)
隠れ層の表現をさらに RBM で
学習する機械を考えてみよう!
学習後の下層はパターン生成器として
働く(Sigmoid Belief net)
h1
v
h2
RBM
Sigmoid
Belief net
p(v, h1
, h2
) = p(v | h1
)p(h1
, h2
)
RBM
p(h1
, h2
) =
1
Z(W2)
exp(
X
j,k
h2
kW2
jkh1
j)
15.
Deep Belief Net(DBN):
学習モデル
15
DBNの学習は,階層ごとのRBM学習
(Greedy Layer-wise Learning)
第1層: 勾配法による対数尤度最大化
h1
v
RBM
@ ln p(v)
@W1
ij
=
D
vihj
E
cramp
D
vihj
E
free
ln p(v(p)
) =
X
i,j
h1
jW1
i jv(p)
i ln Z(W1
)
16.
Deep Belief Net(DBN):
学習モデル
16
DBNの学習は,階層ごとのRBM学習
(Greedy Layer-wise Learning)
第1層学習後,p(h1 | v) に基づき
サンプル {h1(p)} を収集
第2層: 勾配法による対数尤度最大化
h1
v
h2
RBM
Sigmoid
Belief net
@ ln p(h1
)
@W2
jk
=
D
h1
jh2
k
E
cramp
D
h1
jh2
k
E
free
ln p(h1(p)
) =
X
j,k
h2
kW2
jkh1
j
(p)
ln Z(W2
)
17.
Deep Belief Net(DBN):
サンプリング
17
DBNによるサンプリング
最上位層 ( p(h1
, h2
) )の Gibbs サンプリング,h1
のサンプルを生成
得られた表現 h1
を 下層の Sigmoid Belief Net へ投入,p(v | h1
)
により v のサンプルを生成
h1
v
h2
RBM
Sigmoid
Belief net
h2 h2 h2
h1 h1 h1
v
18.
Deep Belief Net(DBN):
MNISTを使った場合
18
MNIST を用いたDBNの
学習
高位層では,より大まかな
特徴抽出器として振る舞う
h1
v
h2
RBM
Sigmoid
Belief net
Learned Features
(Salakhudinov13, 14 より)
19.
Convolution Net +Deep Belief Net(CDBN):
自然画像への適用
19
Convolution net + DBN の自然画像への応用(Lee+09)
Learning Part based Representation
Convolutional DBN
Faces
Trained on face images.
Object Parts
Groups of parts.
Lee et.al., ICML 2009
20.
Convolution Net +Deep Belief Net(CDBN):
自然画像への適用
20
Convolution net + DBN の自然画像への応用(Lee+09)
Learning Part based Representation
Faces Cars Elephants Chairs
Lee et.al., ICML 2009
Deep Neural Net(DNN):
アーキテクチャ
23
DBNの構造 MLP の構造
識別モデルとして使ったら?
h1
v
h2
p(h1
j | v) =
exp(h1
j
P
i W1
i jvi)
2 cosh(
P
i W1
i jvi)
y
p(h2
k | h1
) =
exp(h2
k
P
j W2
jkh1
j)
2 cosh(
P
j W2
jkh1
j)
p(yl = 1 | h2
) =
exp(
P
k W3
klh2
k)
P
m exp(
P
k W3
kmh2
k)
SoftMax
24.
Deep Neural Net(DNN):
学習
24
BackProp の問題点: 局所解の存在
DBN を初期状態として使う
(Pre-Training)
ネットワークの結合 (Unroll)
結合したネットワークを MLP として
BP 学習(Fine Tuning)h1
v
h2
y
h2
h1
RBM
RBM
SoftMax
25.
Deep Neural Net(DNN):
MNISTへの応用
25
DBNs$for$Classifica:on$
• $Aber$layerSbySlayer$unsupervised*pretraining,$discrimina:ve$fineStuning$$
by$backpropaga:on$achieves$an$error$rate$of$1.2%$on$MNIST.$SVM’s$get$
1.4%$and$randomly$ini:alized$backprop$gets$1.6%.$$
W +W
W
W
W +
W +
W +
W
W
W
W
1 11
500 500
500
2000
500
500
2000
500
2
500
RBM
500
2000
3
Pretraining Unrolling Fine tuning
4 4
2 2
3 3
1
2
3
4
RBM
10
Softmax Output
10
RBM
T
T
T
T
T
T
T
T
誤識別率
→ DNN: 1.2 %, SVM 1.4 %, MLP: 1.6 %
疎表現によるデータ記述
43
= x1 +x2+x3 +...
y d1 d2 d3
なるべく0に
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
画像をなるべく
忠実に表現
なるべく多くの
係数を 0 に (LASSO)
画像パッチ {yp} から {di} と {xi
p} を取得可能か?
Sparse Representation for
MNIST
60Ktrain, 10K test
Dict.size 512
Linear SVM
classification
45
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
Eval. Param.
Slide credit: KaiYu
Input Feature Classifier
Sparse Coding
Sparse Auto Encoder
PredictiveSparse Decomposition(Ranzato+07)
49
xp
= f(Wyp
)yp
= Dxp
Sparse Representation {xp}
Input Patchs {yp}
L1-Constraint
min
D,W,x
X
p
kyp
Dxp
k2
+ kxp
f(Wyp
)k2
+
X
i
kxp
i k
Encoder
Decoder
Deep learning事例:
画像特徴の教師なし学習
12層 DNN
パラメータ数∼1010
教師なし学習による自動特徴抽出
入力: YouTube の画像 108 枚
16 core PC x 103 台 x 3日間
「おばあさん細胞」生成か?
54
Le et al. ICML 2012
Preferred Stimuli in Higher level cellExamples of Training images
55.
本日のまとめ
Boltzmann Machine ベースのDeep Learning
RBM の階層化 → Deep Belief Net (DBN)
DBN + BackProp. → Deep Neural Net (DNN)
その他 Deep Boltzmann Machine (DBM) や,
Convolutional Deep Belief Net (CDBN) など
Greedy な Layer-wise の学習方式,疎性などの概念
RBMの学習 (MCMC, Contrastive Divergence…)
Sparse-AutoEncoder
55