7. Autoencoder
• 層に相当するモジュール"
y = f (x), z = g(y), ||x z||2
• となるように学習" min
– すなわち、入力と出力の誤差が最小になるようパラメタを調整する"
– すると、入力 x を適切な表現 y に写像する autoencoder が得られる"
input encode decode output
representation
層
x f y g z
error
9. Denoising Autoencoder
• 下記の式で表されるエンコーダ、デコーダ、誤差を使う"
• s はシグモイド関数"
• 重み W, W’ とバイアス b, b’ を学習する"
• Tied Weights: W^T = W’ とすることもある"
encoder y = s(Wx + b), z = s(W x + b )
y = s(Wx + b), z = s(W x + b )
s(Wx + b), d = s(W x + b )
decoder z
d
H (x, z) =error LH (x, z) =zk + [xk logxk ) log(1xk ) zk )]
[xk log (1 zk + (1 log(1 zk )]
k log zk + (1k=1 k ) log(1 k=1 k )]
x z
input encode decode output
representation
x f y g z
21. 可視ノード集合 v( vi 0, 1) と隠れノード集合 h( hi 0, 1) からなる系
がその状態をとる確率 p(v, h) はエネルギー関数 E(v, h) と分散関数を用いて
以下のように定義される(c.f. カノニカル分布)。
E(v,h)
e
p(v, h) = (1)
Z
エネルギー関数 : E(x) = bT v cT h vT Wh (2)
分配関数 : Z = e E(v,h)
(3)
v h
v, h, W は可視層のバイアス、隠れ層のバイアス、重み行列と呼ばれるパラ
メタである。この系の尤度は、以下のように定義される。
尤度 J log p(v, h) q = log eE(v,h) q log Z (4)
h h
ただし f (v) q = v f (v)q(v), すなわち q は観測データの確率分布 q(v)
の期待値である。
尤度 J を任意のパラメタ について最大化するため、導関数を求める。
J 1 E 1 E
22. ただし f (v) q = v f (v)q(v), すなわち q は観測データの確率分布 q(v)
の期待値である。
尤度 J を任意のパラメタ について最大化するため、導関数を求める。
J 1 E 1 E
= E
e E
q + e E
(5)
he h
Z v h
ここで、条件付き確率の定義 p(h|v) = より、
E(v,h)
Pe E(v,h)
h e
J E E
= p(h|v)q(v) + p(v, h) (6)
v h v h
E E
= p(h|v)q(v) + p(h,v) (7)
また、条件付き確率を計算して下記を得る(ここで厳密解を求められること
が「制限付き」の特徴)。
p(h|v) = s(Wv + b ) (8)
p(v|h) = s(Wh + b) (9)
ただし、s(x) はシグモイド関数である。
以上より、RBM は
26. References
• Yoshua Bengio, Aaron Courville, and Pascal Vincent. Representation
Learning: A Review and New Perspectives."
• Yoshua Bengio. Learning Deep Architectures for AI. "
• Pascal Vincent, Hugo Larochelle, Isabelle Lajoie, Yoshua Bengio, Pierre-
Antoine Manzagol. Stacked Denoising Autoencoders: Learning Useful
Representations in a Deep Network with a Local Denoising Criterion"
• Deeplearning.net http://deeplearning.net/"
• Pythonと Deep Learningで 手書き文字認識
http://www.slideshare.net/mokemokechicken/pythondeep-learning"
• 名古屋工業大学岩田彰研究室 ニューラルネット入門
http://www-ailab.elcom.nitech.ac.jp/lecture/neuro/bp4.html"
• Deep Learning -株式会社ウサギィ 五木田 和也
http://www.slideshare.net/kazoo04/deep-learning-15097274"
• Restricted Boltzmann Machineの学習手法についての簡単なまとめ
http://mglab.blogspot.jp/2012/08/restricted-boltzmann-machine.html