SlideShare a Scribd company logo
1 of 66
Download to read offline
深層学習
第5回 ボルツマンマシン
s1220135 杉井雄汰
今後の見通し
4月13日
第1章 はじめに

第2章 順伝播型ネットワーク


4月20日

第3章 確率勾配降下法

第4章 誤差逆伝播法
4月27日
第5章 自己符号化器
5月18日
第6章 畳込みニューラルネット
第7章 再帰型ニューラルネット
5月25日(今回)
第8章 ボルツマンマシン
2
目次
1. 統計的機械学習の考え方(データ生成モデルの再現)
2. マルコフ確率場とボルツマンマシン
I. マルコフ確率場
II. ボルツマンマシン
III. ボルツマンマシンの学習
3. 可視変数のみのボルツマンマシン学習
I. KL法からの学習方程式の導出(資料のみ)
II. ボルツマンマシン学習の実装と組み合わせ爆発の問題
4. 隠れ変数ありのボルツマンマシン学習
I. 隠れ変数ありの場合の学習について
II. 隠れ変数を導入する意味
5. ボルツマンマシン上での近似手法(ギブスサンプリング)
6. 制約ボルツマンマシン
I. 条件付き独立に基づく制約ボルツマンマシンの性質
II. 制約ボルツマンマシンの学習
7. カルバックライブラーダイバージェンス(CD法)
統計的機械学習の考え方
(データ生成モデルの再現)
データの生成モデル
【初期設定】
・{0,1}の2値のn個の要素からなる観測データ点
・その観測データ点を             と表す
・観測データ点は確定的に出現するものではなく、
 n個の確率変数の同時分布   から確率的に生成されたもの
  つまり確率分布   に従ってサンプルされた1つの実現値が
  観測データ点  という解釈
x = {xi ∈ 0, 1|i = 1, 2, ..., n}
Pg(x)
Pg(x)
x
   を生成モデル(generative model)と呼ばれるPg(x)
統計的機械学習とは
statistical machine learning
① 未知の生成モデル   の確率分布に従って観測データ点が生成される。
② 生成モデルは未知なので、パラメータθをもった適当な学習モデル
  を仮定する。
③ 受け取った観測データ点の集合         を利用し、パラメータθ
  の値を調整して仮定した学習モデルを再現
Pg(x)
P(X|θ)
{x(1)
, x(2)
, ..., x(N)
}
統計的機械学習の利点
生成モデルを学習モデルで近似することで得られる恩恵の例を紹介する。
・生成モデル   から生成された画像や音声などの原情報  が存在
・その情報  が条件付き分布    を通して確率的な変形を受けて
劣化情報  に変形されるとする。
劣化情報  のみを観測したとして、  のみから元々の  を推定したい
    をノイズ過程とすれば
この枠組は信号の雑音除去の枠組みに相当する。
このとき生成モデルを事前分布(prior distribution)
条件付き分布のことを尤度(likelihood)
     を事後分布(posterior)と呼ぶ。
pg(X) x
x p(Y|X)
y
y y x
p(Y|X)
p(Y|X)
原信号  を推定するために事後分布(posterior distribution)        
を計算する。
 ベイズの定理         より推定情報   の事後分布は
事後分布を求める
p(X = xinf |Y = y) =
p(Y=y|X=xinf )pg(X=xinf )
x p(Y=y|X=x)pg(X=x)
P(B|A) =
P(A|B)P(B)
P(A)
(2.1)
x
xinf
x は確率変数Xの可能な実現地のすべての組み合わせに関する総和(後述)
x∗
= arg max
xinf
p(X = xinf |Y = y)
最大事後確率推定(maximum a posteriori estimation; MAP推定)より
事後確率を最大とする   を推定値とすると、推定される  は事後分布よりxinf
(2.2)
x∗
※最大事後確率推定:
元情報を推定する
x∗
= arg max
xinf
p(Y = y|X = xinf )pg(X = xinf )
式(2.1)と式(2.2)より
(2.3)
ただ、式(2.3)より  を得るためには生成モデル   が必要!x∗ pg(X)
x∗
≈ arg max
xinf
p(Y = y|X = xinf )p(X = xinf |θ) (2.4)
生成モデル   をよく近似する学習モデル    が統計的機械学習の手法
によって手に入っていたとしたら式(2.3)の近似として
pg(X) p(X|θ)
マルコフ確率場とボルツマンマシン
マルコフ確率場
Markov random field; MRF
マルコフ確率場とは、
・統計的機械学習における重要な学習モデルの1つ
・BMはMRFの最も単純なケース
MRF定義のため、無向グラフ(undirected graph)を定義
n個のノードΩ={1,2,…,n}からなる無向グラフ    があるとする。
・ はグラフ中の無向リンクの集合
・ノードiとjの間のリンクを{i, j}で表す
・無向リンクなので{i, j}={i, j}
G(Ω, ε)
ε
MRFとは無効グラフ    上に定義される確率モデル。
i番目のノードに確率変数      を対応させ、i∈Ωについて  
の実現値  を集めたベクトルを         とする。
定義した無向グラフの構造にしたがって次のようなエネルギー関数
(energy function)を定義する。
マルコフ確率場
Markov random field; MRF
G(Ω, ε)
Xi ∈ {0, 1}
xi x = {x1, x2, ..., xn}
(2.5)Φ(x) = −
i∈Ω
φi(xi) −
i,j∈ϵ
ψij(xi, xj)
マルコフ確率場のエネルギー関数
バイアス項 結合項
(2.5)
それぞれのノードに
割り当てられたエネルギー
それぞれの結合に
割り当てられたエネルギー=
=
エネルギーをより低くするxがより良いxであると考える。
従って関数  や  は目的としている課題に対して
より望ましいxがエネルギー関数の値をより低くするように設計される。
φi ψij
詳細は後述
Φ(x) = −
i∈Ω
φi(xi) −
i,j∈ϵ
ψij(xi, xj)
MRFは式(2.5)のエネルギー関数を下としたボルツマン分布
(Boltzmann distribution)として定義される。
p(X = x) = 1
Z exp (−Φ(x)) (2.6)
バイアス項 結合項
(2.5)
それぞれのノードに
割り当てられたエネルギー
それぞれの結合に
割り当てられたエネルギー=
=
マルコフ確率場のエネルギー関数
Φ(x) = −
i∈Ω
φi(xi) −
i,j∈ϵ
ψij(xi, xj)
ボルツマン分布

エネルギーが低い
ほど確率は上がる
規格化定数(normalization constant)
Z =
x1
...
xn
exp(−Φ(x)) =
i∈Ω xi={0,1}
exp(−Φ(x)) =
x
exp(−Φ(x))
ボルツマンマシン
Boltzmann machine; BM
通常のBMはノードのエネルギーを       と設定し、
結合のエネルギーを          と設定すると得られる。
φi(xi) = bixi
ψij(xi, xj) = wijxixj
Φ(x; θ) = −
i∈Ω
bixi −
{i,j}∈ε
wijxixj (2.8)
バイアス項 結合項
式(2.8)がBMのエネルギー関数。θ={b, W}がBMのパラメータ

       は各ノードiに割り当てられたバイアスパラメータ
          は各結合{i, j}に割り当てられた結合パラメータ
結合には方向性がないので     であり、    である。
b = {bi|i ∈ Ω}
W = {wij|{i, j} ∈ ε}
wij = wji wii = 0
ボルツマンマシン
Boltzmann machine; BM
式(2.8)のエネルギー関数を用いるとBMは次のように定義される。
p(X = x|θ) =
1
Z(θ)
exp(−Φ(x; θ))
(2.9)=
1
Z(θ)
exp
⎛
⎝
i∈Ω
bixi +
{i,j}∈ε
wijxixj
⎞
⎠
Z(θ)ただし  は分配関数
ボルツマンマシンのエネルギー関数の意味
Φ(x; θ) = −
i∈Ω
bixi −
{i,j}∈ε
wijxixj
p(X = x|θ) =
1
Z(θ)
exp(−Φ(x; θ))
(2.9)=
1
Z(θ)
exp
⎛
⎝
i∈Ω
bixi +
{i,j}∈ε
wijxixj
⎞
⎠
bi < 0
bi > 0   であったら、   のほうがエネルギーが低い(確率は高い)
   ならば   のほうがエネルギーが低い。
 の正負によって対応する の値の出現確率に偏りが生じる=バイアスパラメータ
   ならば と は同時に1を取ったほうがエネルギーは低く
   ならば と は同時に0を取ったほうがエネルギーが低い
Wは結合されている変数同士の値の相互作用を生み出す=相互作用パラメータ
xi
xi = 1
xi = 0
bi
xj
wij > 0
wij < 0 xi
xi xj
可視変数のみのボルツマンマシン学習
ボルツマシンの学習
n個の要素をもつ観測データ点がそれぞれ独立同分布からN個生成されたとする
μ番目の観測データ点を            と表す。v(µ)
= {v
(µ)
i ∈ {0, 1}|i ∈ Ω}
…
…
v(µ)
例:白黒画像を観測データ点とするならば、各画像1つが各観測データ点
この観測データの集合を用いてこれから式(2.9)のBMを学習する
ボルツマシンの学習
p(V = vµ
|θ) =
1
Z(θ)
exp
⎛
⎝
i∈Ω
bivi +
{i,j}∈ε
wijvivj
⎞
⎠
BMの学習では最尤推定(maximum likelihood estimation; MLE)が
通常は用いられる。まず得られた観測データ点の集合に対して
尤度関数(likelihood function)
lD(θ) =
N
µ=1
p(V = v(µ)
|θ) (2.12)
と定義する。
ボルツマシンの学習
lD(θ) =
N
µ=1
p(V = v(µ)
|θ) (2.12)
・上式上の       はBMが観測データ点  を実際に生成する確率を表す
・各観測データ点は独立に発生しているので、それらの積
 つまり式(2.12)は観測データ点の集合DをBMが実際に生成する確率と解釈できる
・最尤推定とは、この尤度関数を最大とするパラメータの値(最尤推定量   
(maximum likelihood estimator))を求めること。
最尤推定により求まるBMは観測データ点の集合Dを最も高い確率で生成するBM
p(V = v(µ)
|θ) v(µ)
ボルツマシンの学習
対数関数は単調増加関数なので、
最尤推定量は尤度関数の対数を最大化するθと一致するので、
尤度関数の代わりに尤度関数の対数を最大化しても問題ない
式(2.12)の尤度関数の自然対数を取った対数尤度関数(log-likelihood function)
lD(θ) =
N
µ=1
p(V = v(µ)
|θ) (2.12)
LD(θ) = ln lD(θ) =
N
µ=1
ln p(v(µ)
|θ) (2.13)
対数尤度関数では積が和になり、計算上でのオーバーフロー・アンダーフローを
おこしづらくなるなど、計算的な扱い上便利な場合が多い。
ボルツマシンの学習
対数尤度関数のパラメータθすなわちバイアス および重み  に関する勾配はbi
wij
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
となる。ここで     はBMに関する期待値を表しており、Ep(V|θ)[...]
Ep(V|θ)[f(V)] =
V
(f(v))p(v|θ) (2.16)
ボルツマシンの学習
式(2.14)(2.15)の勾配を0とする条件
1
N
N
µ=1
v
(µ)
i = Ep(V|θ)[Vi]
すなわち      と      から対数尤度関数の最大点では
1
N
N
µ=1
v
(µ)
i v
(µ)
j = Ep(V|θ)[ViVj]
∂LD(θ)
∂bi
= 0
∂LD(θ)
∂wij
= 0
(2.17)
(2.18)
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
1
N
N
µ=1
v
(µ)
i = Ep(V|θ)[Vi]
1
N
N
µ=1
v
(µ)
i v
(µ)
j = Ep(V|θ)[ViVj]
(2.17)
(2.18)
ボルツマシンの学習
これをボルツマンマシンの学習方程式
(learning equation of Boltzmann machine)と呼ぶ
観測データ点の
標本平均
BMの期待値
また、標本平均と期待値を一致させる解と解釈できることから
この学習方程式はモーメント・マッチング(moment matching)とも呼ばれる
ボルツマンマシン学習の実装と組み合わせ爆発の問題
1
N
N
µ=1
v
(µ)
i = Ep(V|θ)[Vi]
1
N
N
µ=1
v
(µ)
i v
(µ)
j = Ep(V|θ)[ViVj] (2.18)
(2.17)
BMの学習は式(2.17)(2.18)の学習方程式を解くことで達成する
しかし学習方程式を解析的に解くことは一般には難しいので実際には
式(2.14)(2.15)の勾配を利用した勾配上昇法(gradient ascent method)
で反復的に解くことになる。
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
ボルツマンマシン学習の実装と組み合わせ爆発の問題
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
を利用した勾配上昇法によるBMの学習
εは学習率(learning rate)と呼ばれる小さな正数
式(2.13)の対数尤度関数はパラメータθに関する凹関数なので
勾配上昇法を用いることで最大とするパラメータ(最尤推定量)を得られる。
ボルツマンマシン学習の実装と組み合わせ爆発の問題
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
を利用した勾配上昇法によるBMの学習
εは学習率(learning rate)と呼ばれる小さな正数
式(2.13)の対数尤度関数はパラメータθに関する凹関数なので
勾配上昇法を用いることで最大とするパラメータ(最尤推定量)を得られる。
対数尤度関数の勾配を計算する必要がある
ボルツマンマシン学習の実装と組み合わせ爆発の問題
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
を利用した勾配上昇法によるBMの学習
εは学習率(learning rate)と呼ばれる小さな正数
式(2.13)の対数尤度関数はパラメータθに関する凹関数なので
勾配上昇法を用いることで最大とするパラメータ(最尤推定量)を得られる。
対数尤度関数の勾配を計算する必要がある
=BMの期待値計算が必要
ボルツマンマシン学習の実装と組み合わせ爆発の問題
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V|θ)[Vi]
∂LD(θ)
∂wij
=
N
µ=1
v
(µ)
i v
(µ)
j − NEp(V|θ)[ViVj]
(2.14)
(2.15)
を利用した勾配上昇法によるBMの学習
εは学習率(learning rate)と呼ばれる小さな正数
式(2.13)の対数尤度関数はパラメータθに関する凹関数なので
勾配上昇法を用いることで最大とするパラメータ(最尤推定量)を得られる。
対数尤度関数の勾配を計算する必要がある
=BMの期待値計算が必要
Ep(V|θ)[f(V)] =
V
(f(v))p(v|θ) (2.16)
オーダーが  個の
項の和を計算する
2n
ボルツマンマシン学習の実装と組み合わせ爆発の問題
Ep(V|θ)[f(V)] =
V
(f(v))p(v|θ) (2.16)
仮に1秒間に1億個の項の和が可能な計算機があったとした場合(表2.1)
このようにnの増加に伴い計算時間が爆発的に増加する問題を
組み合わせ爆発(combinatiorial explosion)などと呼ぶ
カルバック-ライブラー・ダイバージェンス
Kullback-Leibler divergence; KLダイバージェンス
KLダイバージェンスとは、確率変数Xに対する二つの異なる確率分布
  と  の間のある種の非類似度を与える量と定義される。p0(X) p1(X)
DKL(p0||p1) =
X
p0(x) ln
p0(x)
p1(x) (2.19)
KLダイバージェンスは        であり、       のときのみ
        となる性質を持つ。
DKL(p0||p1) ≥ 0 p0(X) = p1(X)
DKL(p0||p1) = 0
隠れ変数を持つボルツマンマシンの学習
隠れ変数ありのボルツマンマシン学習
ここまでグラフのユニットの全状態がデータxの全成分と対応してきた
ここからグラフが直接にはデータと関係しないユニットを持つ場合を考える
ユニットの状態を2種類の変数vとhを用いて表す
・vはデータxを直接表す(v=x)
・hはデータxとは直接には関係を持たない
vのことを可視変数(visible variable)
hを隠れ変数(hidden variable) と呼ぶ
グラフの挙動はあくまでv(n個)とh(m個)の両方によって表されるが、hの値
は外部からは観ることができず、vだけが観測できる(生成データxに相当する)
観測データ点に対応するノード番号の集合を      とし、
対応しないノード番号の集合を          とする。
ノード全体の集合はΩであるので、     である。
隠れ変数を持つボルツマシン
形式的な表現について
V = {1, ..., n}
H = {n + 1, ..., n + m}
Ω = V ∪ H
上記の例だと                      X = {X1, X2, X3, X4, X5} = {V1, V2, V3, H4, H5, }
V = {1, 2, 3}
H = {4, 5}
Xi =
Vi i ∈ V
Hi i ∈ H
xi =
vi i ∈ V
hi i ∈ H
V = {Vi|i ∈ V} H = {Hi|i ∈ H}
X = {Xi|i ∈ Ω}
隠れ変数を持つボルツマシン
以下では式(2.9)の確率変数        に対するBMを可視変数
       と隠れ変数        の同時分布として表現する
(2.9)p(X = x|θ) =
1
Z(θ)
exp(−Φ(x; θ))
p(X = x|θ) = p(V = v, H = h|θ) =
1
Z(θ)
exp(−Φ(v, h; θ))
vとhはそれぞれ確率変数VとHに対する実現値
p(v, h|θ) =
1
Z(θ)
exp((b1v1 + b2v2 + b3v3 + b4v4 + b5v5)
+(w12v1v2 + w23v2v3 + w34v3v4 + w45v4v5)) (2.23)
隠れ変数を持つボルツマシンの学習
隠れ変数がある場合の学習も最尤推定法によって行われる。
しかし観測データ点に対応していない隠れ変数が含まれているため少し式は異なる
隠れ変数がある場合は、隠れ変数に関して周辺化した可視変数Vのみの分布を用いる
(2.24)
この周辺分布は(左辺より)可視変数のみの分布であるから、
すべての変数に観測データ点が対応している。
p(x|θ) = p(v|θ) =
h
p(v, h|θ)
隠れ変数を持つボルツマシンの学習
隠れ変数を持つBMの対数尤度関数は、
持たない場合の対数尤度関数と経験分布より(式(2.13), 式(2.20))
LD(θ) = ln lD(θ) =
N
µ=1
ln p(v(µ)
|θ) (2.13)
qD(V = v) =
1
N
N
µ=1
δ(v, v(µ)
), δ(d, e) =
1 d = e
0 d ̸= e
(2.20)
LD(θ) =
N
µ=1
ln p(v(µ)
|θ) = N
V
qD(v) ln p(v|θ)
より
(2.25)
この最尤推定法をKLダイバージェンス最小化の観点でみると
次のKLダイバージェンスを最小化することと等価となる(先ほどと同様に簡単化した)
DKL(qD||p) =
V
qD(v) ln
qD(v)
p(v|θ) (2.26)
隠れ変数を持つボルツマシンの学習
LD(θ) =
N
µ=1
ln p(v(µ)
|θ) = N
V
qD(v) ln p(v|θ) (2.25)
式(2.25)の対数尤度関数  と  それぞれに対する勾配はbi wij
∂LD(θ)
∂bi
= N
v,h
xip(h|v, θ)qD(v) − NEp(V,H|θ)[Xi]
∂LD(θ)
∂wij
= N
v,h
xixjp(h|v, θ)qD(v) − NEp(V,H|θ)[XiXj]
(2.27)
(2.28)
それぞれの勾配を0とする条件より隠れ変数がある場合のBMの学習方程式は
v,h
xixjp(h|v, θ)qD(v) = Ep(V,H|θ)[XiXj]
v,h
xip(h|v, θ)qD(v) = Ep(V,H|θ)[Xi] (2.29)
(2.30)
隠れ変数を持つボルツマシンの学習
式(2.27)-(2.30)中の    は可視変数の値が与えられた下での
隠れ変数の条件付き分布であり、確率の乗法定理を用いて下記のように与えられる。
p(h|v, θ) =
p(v, h|θ)
p(v|θ)
p(h|v, θ)
隠れ変数がある場合のBMの学習は式(2.29)(2.30)の学習方程式を解くことで

達成される。
実装においては、隠れ変数がない場合と同様に通常は勾配上昇法で解く。



具体的にはアルゴリズム2.1における と  に関する勾配を

それぞれ式(2.27)(2.28)に置き換えた勾配上昇法でOK
bi wij
隠れ変数を持つボルツマシンの学習の意味について
v,h
xixjp(h|v, θ)qD(v) = Ep(V,H|θ)[XiXj]
v,h
xip(h|v, θ)qD(v) = Ep(V,H|θ)[Xi] (2.29)
(2.30)
1
N
N
µ=1
v
(µ)
i = Ep(V|θ)[Vi]
1
N
N
µ=1
v
(µ)
i v
(µ)
j = Ep(V|θ)[ViVj]
(2.17)
(2.18)
観測データ点の
標本平均
BMの期待値
ややこしい!!! BMの期待値
隠れ変数を持つボルツマシンの学習の意味について
v,h
f(v, h)p(h|v, θ)qD(v)式(2.29)(2.30)の左辺
この式は式(2.21)           より下記のように書き換えられる。
V
f(v)qD(v) =
1
N
N
µ=1
f(v(µ)
)
1
N
N
µ=1 h
f(v(µ)
, h)p(h|v(µ)
, θ) (2.31)
可視変数の値をμ番目の観測データ点  で
固定したときの隠れ変数の条件付き分布
v(µ)
例:左図のとき
p(h|v(µ)
, θ) ∝ exp(b
(µ)
4 h4 + b
(µ)
4 h4 + w45h4h5) (2.32)
b
(µ)
4 = b4 + w14v
(µ)
1 + w24v
(µ)
2
b
(µ)
5 = b5 + w35v
(µ)
3
ただし、
Ep(V|θ)[f(V)] =
V
(f(v))p(v|θ)
式(2.16)で定義した期待値
式(2.32)はバイアスパラメータが観測データ点に依存する。
隠れ変数を持つボルツマシンの学習の意味について
1
N
N
µ=1 h
f(v(µ)
, h)p(h|v(µ)
, θ) (2.31)
各観測データ点  ごとに隠れ層のみで
構成された新しいBMとみなす
その新たにつくったBMの期待値を計算する
v(µ)
すべての観測点についてここまでの実行
全体で平均を取る
(2.30’)
1
N
N
µ=1
Ep(h|v(µ)θ)[f(v(µ)
, h)] = Ep(V,H|θ)[XiXj]
両辺共に組み合わせ爆発の問題が生じる!!!
ボルツマンマシン上での近似手法
(ギブスサンプリング)
ギブスサンプリング
Gibbs sampling
【問題提起】
組み合わせ爆発の問題を回避するために何らかの近似的手段を講じて
多変数の同時分布であるBMの期待値を近似的に計算する必要がある。
ギブスサンプリング(Gibbs sampling)とは

マルコフ連鎖モンテカルロ法(Markov chain Monte Carlo method; MCMC
method)の中で特に頻繁に利用されるサンプリング法のこと。
MCMC法とは、式(2.9)              の同時分布に従ってXに
対応するサンプル点を多数発生させて、
その多数のサンプル点の標本平均でもってBMの期待値を近似する方法。
p(V = vµ
|θ) =
1
Z(θ)
exp
⎛
⎝
i∈Ω
bivi +
{i,j}∈ε
wijvivj
⎞
⎠
ギブスサンプリング
Gibbs sampling
ユニットi以外の全ユニットの変数を並べたベクトルを  と書き、
条件付き分布     ,すなわち  の値を指定したときの変数  の分布
を考える。条件付き分布の定義により
x−i
p(xi|x−i, θ) x−i xi
p(xi|x−i, θ) =
p(x, θ)
xi=0,1 p(x, θ)
(2.34)
(2.33)
ただし  は、ユニットiと結合を持つユニットの集合Ni
p(xi|x−i, θ) =
exp{(bi + j∈Ni
wijxj)xi}
1 + exp bi + j∈Ni
wijxj
ギブスサンプリング
Gibbs sampling
式(2.34)                    はxの条件付き分布がp(xi|x−i, θ) =
exp{(bi + j∈Ni
wijxj)xi}
1 + exp bi + j∈Ni
wijxj
効率よく計算できる。下記がその手順。
① 式(2.34)に従って与えられた  を元に確率      を計算する。
② 区間[0,1]の一様乱数を生成し、その値がこの確率を下回れば      

そうでなければ    と決定する

得られた は式(2.34)の条件付き分布に従う。
p(xi|x−i, θ)
xi = 1
xi = 0
x−i
xi
ギブスサンプリング
Gibbs sampling
【全体の手順】
① 各変数を適当に(ランダムに0,1を決めて)初期化し  とする。
② 各成分  について      の順に前述のサンプリングを行う。
③ 1巡したらまた   から同じことを行い、繰り返す。
t巡目(t=1,2,…)の  は
からサンプルすることとする。
つまり  をサンプルするとき、それ以外の変数は最新の値をセットする。
tを十分大きくとると、こうして得られる  はモデル分布   に従う。
x(0)
xi i = 1, ..., M
i = 1
p(xi|x
(t)
1 , ..., x
(t)
i−1, x
(t−1)
i+1 , ..., x
(t−1)
M )
x(t)
xi
x
(t)
i
p(x|θ)
制約ボルツマンマシン
制約ボルツマンマシン
restricted Boltzmann machine; RBM
RBMは完全2部グラフ(complete bipartite graph)上に定義された
隠れ変数ありのボルツマンマシンのこと。
RBMの変数は2層構造をもつ
可視変数のみで構成された層(可視層(visible layer))
隠れ変数のみで構成された(隠れ層(hidden layer))
同層内の結合はなく、異層間の結合のみが存在する。
可視変数はn個、隠れ変数をm個とする。
(=n個の要素をもつ観測データ点の集合を用いて学習する)
制約ボルツマンマシン
restricted Boltzmann machine; RBM
制約ボルツマンマシンは以下の確率分布を表現するモデルである。
RBMのエネルギー関数は、
※可視変数のバイアスをb、隠れ変数のバイアスをcと区別している。
式(2.9)に従うと、RBMは次のような確率モデルとして表現できる。
Φ(v, h; θ) = −
i∈V
bivi −
j∈H
cjhj −
i∈V j∈H
wijvihj (2.39)
p(V = v, H = h|θ) =
1
Z(θ)
exp
⎛
⎝
i∈V
bivi −
j∈H
cjhj −
i∈V j∈H
wijvihj
⎞
⎠ (2.40)
可視変数を指定したときの隠れ変数の条件付き分布     は定義と式(2.11)により、
条件付き独立性に基づく制約ボルツマンマシンの性質
p(h|v, θ)
p(h|v, θ) =
p(v, h|θ)
h p(v, h|θ)
=
p(v, h|θ)
p(v|θ)
=
j∈H
psb(hj|λj) (2.42)
同様に、隠れ変数を指定したときの可視層の条件付き分布     は、
p(v|h, θ) =
i∈V
psb(hi|λi)
p(v|h, θ)
(2.43)
λi = bi +
j∈H
wijhj, λj = cj +
i∈V
wijviちなみに                   とおき、
シグモイド信念(sigmoid belief)           を導入する。psb(xi|λi) =
exp(λixi)
1 + exp(λi)
条件付き独立性に基づく制約ボルツマンマシンの性質
p(h|v, θ) =
j∈H
psb(hj|v, θ) (2.42)
(2.42b)
上式よりRBMでは隠れユニット1つの状態  はそれ以外の隠れユニットと独立している。
さらに可視変数をすべて指定すると、隠れ変数の確率分布がそれぞれ個別に定まる。
反対に隠れ変数をすべて指定したときは、可視変数の分布が定まる。
hj
p(hj|v, θ) =
exp{(cj + i wijvi)hj}
1 + exp(cj + i wijvi)
制約ボルツマンマシンの学習
式(2.24)          に従って隠れ変数Hについて周辺化し、
RBMの可視変数Vのみの分布を求める。
p(x|θ) = p(v|θ) =
h
p(v, h|θ)
p(v|θ) =
h
p(v, h|θ) =
1
Z(θ)
exp
⎛
⎝
i∈V
bivi +
j∈H
ln(1 + exp(λj))
⎞
⎠ (2.44)
↑RBMでは可視変数のみの周辺分布が
簡単な形で書き表すことができる。
LD(θ) =
N
µ=1
ln p(v(µ)
|θ) = N
V
qD(v) ln p(v|θ)
LD(θ)
∂LD(θ)
∂bi
=
N
µ=1
v
(µ)
i − NEp(V,H|θ)[Vi]
制約ボルツマンマシンの学習
よって、式(2.25) より
RBMの対数尤度関数   のパラメータθに関する勾配はそれぞれ
(2.45)
(2.46)
∂LD(θ)
∂wij
=
N
µ=1
vµ
i sig(λ
(µ)
j ) − NEp(V,H|θ)[ViHj]
∂LD(θ)
∂cj
=
N
µ=1
sig(λ
(µ)
j ) − NEp(V,H|θ)[Hi]
(2.47)
λ
(µ)
j = cj + i∈V wijv
(µ)
i は、μ番目の観測データ点に対する  である。λj
制約ボルツマンマシンの学習
式(2.45)-(2.47)の勾配を0とする条件からRBMの学習方程式は
1
N
N
µ=1
v
(µ)
i = Ep(V,H|θ)[Vi]
1
N
N
µ=1
sig(λ
(µ)
j ) = Ep(V,H|θ)[Hj]
1
N
N
µ=1
v
(µ)
i sig(λ
(µ)
j ) = Ep(V,H|θ)[ViHj]
(2.48)
(2.49)
(2.50)
右辺のRBMの期待値計算は組み合わせ爆発の問題が生じるので、
CD法など、近似を取り入れた学習法が必要
コントラスティブダイバージェンス
コントラスティブダイバージェンス法
contrastive divergence; CD
パラメータの更新量をギブスサンプリングによって計算すると
反復回数Tを時大きくする必要があり、かなりの計算コストを要する。
コントラスティブダイバージェンスは、ギブスサンプリングの手順をわずかに
修正するだけで、小さいTでもパラメータのよい更新量を計算できる。
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
左図のようなRBMを考える
コントラスティブダイバージェンス法
contrastive divergence; CD
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
コントラスティブダイバージェンス法
contrastive divergence; CD
最初に可視ユニットにセットする
  を(ランダムに初期化するので
はなく)訓練サンプル
とする
v(0)
v0
= v(n)
01 0 1
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
コントラスティブダイバージェンス法
contrastive divergence; CD
ここからはギブスサンプリングと同じく
可視層の値から隠れ層の確率
を計算する
p(h(0)
= 1|v(0)
) = sigm(cj + i∈v(0) wijvi)
0.8 0.5 0.6
1 0 0 1
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
コントラスティブダイバージェンス法
contrastive divergence; CD
計算した確率と生成した区間[0,1]の一様
乱数を見比べ、その値がこの確率を上回れ
ば   、そうでなければ    と決定
0 1 0
1 0 0 1
hi = 0hi = 1
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
コントラスティブダイバージェンス法
contrastive divergence; CD
同様に隠れ層の実現値  から可視層
の確率
を計算する。
0.3 0.7 0.4 0.2
p(v(1)
= 1|h(0)
) = sigm(bi +
j∈H
wijhj)
0 1 0
h(0)
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
コントラスティブダイバージェンス法
contrastive divergence; CD
1 1 0 1
0 1 0
計算した確率と生成した区間[0,1]の一様
乱数を見比べ、その値がこの確率を上回れ
ば   、そうでなければ    と決定vi = 1 vi = 0
…
…
v0 v1 v2 vDv−1
hDh−1h1h0
コントラスティブダイバージェンス法
contrastive divergence; CD
1 1 0 1
0 1 0
このようにギブスサンプリングと同じ
隠れ変数と可視変数のサンプリングを
T回繰り返す。
Tは通常小さくT=1としても構わない
サンプリングT回行うCDを   と記すCDT
さいごに
このプレゼン資料は
機械学習プロフェッショナルシリーズ
『深層学習』
に基づいて作成しました。
66

More Related Content

What's hot

制限ボルツマンマシン入門
制限ボルツマンマシン入門制限ボルツマンマシン入門
制限ボルツマンマシン入門佑馬 斎藤
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数Deep Learning JP
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半Ohsawa Goodfellow
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用Yasunori Ozaki
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANsDeep Learning JP
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
ディープボルツマンマシン入門
ディープボルツマンマシン入門ディープボルツマンマシン入門
ディープボルツマンマシン入門Saya Katafuchi
 
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)Takuma Yagi
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
変分推論と Normalizing Flow
変分推論と Normalizing Flow変分推論と Normalizing Flow
変分推論と Normalizing FlowAkihiro Nitta
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門Shuyo Nakatani
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 

What's hot (20)

制限ボルツマンマシン入門
制限ボルツマンマシン入門制限ボルツマンマシン入門
制限ボルツマンマシン入門
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
ディープボルツマンマシン入門
ディープボルツマンマシン入門ディープボルツマンマシン入門
ディープボルツマンマシン入門
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
変分推論と Normalizing Flow
変分推論と Normalizing Flow変分推論と Normalizing Flow
変分推論と Normalizing Flow
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 

深層学習 勉強会第5回 ボルツマンマシン