補助関数法による Gaussian-Bernoulli RBM の学習アルゴリズム ∗☆高宗 典玄（東大院・情報理工）亀岡 弘和（東大院・情報理工，NTT CS 研）

1

はじめに

近年，深層学習 (Deep learning) の有効性は音声認識をはじめ様々な分野で示されている．深層学習において，大量データの下で学習をいかに効
率 的 に 行 え る か は 重 要 課 題 の 一 つ で あ る ．Deep
Neural Network(DNN) の一種である Deep Belief
Network(DBN)[1, 2] は制約付き Boltzmann マシン(Restricted Boltzmann Machine; RBM)[3] を多層に積み上げたものと見なせ，各層の RBM の教師なし
学習を順次行っていくことにより初期学習を行う方式が DBN の学習において効果的であることが知られている．RBM の学習アルゴリズムとして，Contrastive Divergence(CD) 法 [1, 4] が非常に有名であるが，RBM の学習をいかに効率的に行えるかが DBNの全体の学習にかかる計算時間に直結する．
我々の研究室では，これまで様々な音響信号処理問題における最適化問題に対し，補助関数法と呼ぶ原理に基づく最適化アルゴリズムを導出し，その効果を示してきた（例えば [5]）．そこで，RBM の学習においても補助関数法に基づく学習則を導出することができれば，DBN の初期学習方式として高い効果を発揮する可能性があると考え，Bernoulli-Bernoulli
型の RBM の補助関数法に基づく学習則を導出してきた [6]．
Bernoulli-Bernoulli 型の RBM はバイナリデータしか取り扱えないが，実際の音声や画像といったデータに用いるためには実数を取り扱う必要がある．そこで，本発表では実数のデータに適用するために GaussianBernoulli 型の RBM の学習問題に焦点を当て，補助
関数法に基づく新しい学習則を提案する．

2

Gaussian-Bernoulli
Boltzmann マシン

型 制 約 付 きGaussian-Bernoulli RBM 学習における目的関数
RBM は，Fig. 1 で示されるように完全 2 部グラフの無向グラフの構造を持ち，観測データに該当する状
態を可視層，背後にある特徴量に該当する状態を隠れ層と呼ぶ．可視層同士や隠れ層同士には結合が無いた
め “制約付き” と呼ばれる．このとき，可視層の状態
数を I ，可視層の状態を v = (vi ) ∈ (−∞, ∞)I ，隠れ層の状態数を J ，隠れ層の状態を h = (hj ) ∈ {0, 1}Jとすると可視層の状態と隠れ層の状態を確率変数とした同時確率分布は()
exp −E(v, h|Θ)p(v, h|Θ) =(1)
Z(Θ)
で定義される．ここで，∑ v2∑ bV vi ∑ii
E(v, h|Θ) =
−
bH
j hj
2
2 −
2σ
σ
i
i
i
i
j
(2)
∑ Wij vi hj
,
−
σi
i,j
2.1

Fig. 1Gaussian-Bernoulli RBM のグラフ表現∫ ∞Z(Θ) =
−∞

···

∫ ∞∑
−∞

(
)
exp −E(v, h|Θ) dv1 · · · dvI

h

(3)
H
であり，Θ = (bVi , bj , Wij ) や (σi ) は分布パラメータである．ここで，問題の簡単化のために (σi ) は定数として取り扱う．
RBM の学習問題とは，観測される N 個の可視層のデータ v (1) , · · · , v (N ) からこの分布パラメータ Θを推定することである．
このとき RBM の学習問題に対してよく用いられる目的関数として，次の周辺分布の対数尤度関数が挙げられる．
1 ∑J(Θ) =
log p(v (n) |Θ)
N n
∑
1 ∑
p(v (n) , h|Θ).
(4)
=
log
N n
h
∑
ここで， h は h のとりうるすべての状態に関する和である．
2.2 Contrastive Divergence 法 [1, 4]
最急降下法により，式 (4) で表される周辺分布の対数尤度関数 J(Θ) の最大化を考える．J(Θ) を Θ に関して微分すると，
∂J
(Θ) =
∂Θ
1 ∑∑
∂E (n)−
p(h|v (n) , Θ)(v , h|Θ)
N n
∂Θ
h
∫ ∞
∫ ∞∑
(5)
+
···
p(v, h|Θ)
−∞
−∞
h
∂E
×
(v, h|Θ)dv1 · · · dvI∂Θとなる．このため，最急降下法によるパラメータの更新はΘ ← Θold + ϵ∆cd Θ(6)となる．ただし，ϵ は学習率，∆cd Θ = ∂J/∂Θ である．
ここで，h についての和に関しては厳密に計算しようとすると O(2J ) の計算量となるため，現実的ではない．しかし，RBM の特徴として可視層同士，隠れ層同士の依存関係が無いため，∏
p(v|h, Θ) =p(vi |h, Θ),(7)ip(h|v, Θ) =∏p(hj |v, Θ)j∗“Training Gaussian-Bernoulli Restricted Boltzmann Machine Using Auxiliary Function Approach” byTakamune Norihiro (Univ. of Tokyo), Kameoka Hirokazu (Univ. of Tokyo, NTT CS Lab.).

(8)

という関係がある．ただし，
p(vi |h, Θ)
)2 )
∑
( (
(9)
vi − b V1i − σij Wij hj
=√
exp −
,
2
2σi
2πσi
1
(
) (10)∑p(hj = 1|v, Θ) =1 + exp −bHj −i Wij vi
である．そこで，式∑(5) の第∑ 1 項に関しては周辺化を行うことにより， h を j にすることが出来る．
しかし，式 (5) の第 2 項に関してはどうしても計算が困難である．そこで，式 (5) の第 2 項は同時確率による期待値計算であることに注目すると，次式のよ
うな Gibbs サンプリングによる同時確率の近似を用いることで計算量を削減することが考えられる．
1 ∑δ(v − v (m) )p(h|v (m) , Θ) (11)p(v, h|Θ) ≈M m
ここで，v (m) は Gibbs サンプリングによりサンプリ
ングされた値であり，M はその個数である．本稿では，M = N とし，各 v (m) は対応する v (n) を初期値としてサンプリングされたものを用いる．ここで，式(7)，(8) から Gibbs サンプリングは

hd−1∼ p(hj |v d−1 , Θ),j(12)

vid ∼ p(vi |hd−1 , Θ)

(13)と容易に行うことが可能である．
式 (6) による更新を式 (11) の Gibbs サンプリングによる近似で行う手法を CD 法という．

3

補助関数法による RBM の学習アルゴリ
ズム

補助関数法による目的関数 F (x) の最大化問題の最適化アルゴリズムとは，補助変数 y を導入して，任意の x について F (x) = maxy F + (x, y) を満たすような下限関数 F + (x, y) を設計して，F + (x, y) を x についての最大化と y についての最大化を交互に行うことである．ここで重要なのは，F + (x, y) を x についての最小化が容易に行え，かつ F + (x, y) が F (x) によくフィットするように設計できるかであるので，本研究では x の各変数の相互依存をなくすような F + (x, y)を設計することを目指す．

3.1 最尤学習
そこでまず，式 (4) を目的関数として考えたとき，
Jensen の不等式から∑
1 ∑J(Θ) =logp(v (n) , h|Θ)
N n
h
1 ∑∑
≥
λn,h log p(v (n) , h|Θ)
N n
h
∑
−
λn,h log λn,h(14)hとなる．ここで，等号の成立は
λn,h = p(h|v (n) , Θ)(15)である．式 (14) を整理すると，
1 ∑∑J(Θ) ≥ −λn,h E(v (n) , h|Θ)N nh∑− log Z(Θ) −λn,h log λn,hh(16)となる．ここで，式 (16) の第 2 項について考えると，負の対数関数は凸関数であるので，接線の方程式を用いて下から抑えることが出来る．
Z(Θ)− log ζ + 1.
(17)
− log Z(Θ) ≥ −ζ
ここで，等号の成立は接点となるので，
ζ = Z(Θ)(18)となる．
さて，式 (2) から E(v, h|Θ) はパラメータ Θ の各要素に対し線形であるので，
 vi(k = i) σi2h(k= I + j),ak (v, h) =j vi hj
(k
=
I
+
J
+
J
×
(i
−
1)
+
j)
σi
(19)

(k
=
i)
 bV
i
(k = I + j)
bH
θk =
(20)
 j
Wij (k = I + J + J × (i − 1) + j)とおくと，式 (2) は∑ v2∑i
E(v, h|Θ) =−ak (v, h)θk
2
2σi
i

(21)

k

と表すことができる．そこで，− exp(·) は凹関数であるので，複素 NMF[5] で用いられている Jensen の不等式を用いた補助関数の設計法を用いると，)(∑
ak (v, h) θk
− exp

≥−

∑
k

k

(

ak (v, h)θk − αk (v, h)βk (v, h) exp
βk (v, h)となり，等号の成立は

αk (v, h) =ak (v, h)θk − βk (v, h)∑) (22)al (v, h)θl ,

(23)

l

ただし，βk (v, h) は

βk (v, h) ∈ [0, 1],∑βk (v, h) = 1

(24)

k

を満たす任意定数である．そこで，計算の簡単のため
βk (v, h) を v ，h に依存しない定数 βk とする．更に，新たに補助変数として一反復前の値を表す θkold を導入し，補助変数の更新式 (23) を式 (22) に代入し，式(17) を式 (3), (21) 用いて整理し，式 (1)，(18) を用いて書き換えると，− logZ(Θ)
∫ ∞∑
∑ ∫ ∞
···
p(v, h|Θold )
≥−
βk
−∞
−∞
k
h
(25)
(
)
ak (v, h)(θk − θkold )× exp
dv1 · · · dvI
βk− log ζ + 1と な る ．式 (15)，(16)，(18)，(25) よ り，Θ̄ =(Θold , βk ) とおいたとき，J(Θ) の下限関数 J + (Θ, Θ̄)はJ + (Θ, Θ̄)∑1 ∑∑=p(h|v (n) , Θold )ak (v (n) , h)θk
N n
k
h
∫ ∞∑
∑ ∫ ∞
−
βk
···
p(v, h|Θold )
(26)
−∞
−∞
k
h

(
)
ak (v, h)(θk − θkold )× exp
dv1 · · · dvI
βk+ C(Θ̄)と定義できる．ただし C(Θ̄) は Θ に対して定数の項である．
ここで，式 (26) の右辺の第 2 項は p(v, h|Θold ) による期待値の計算になっており，2.2 節で言及したよ
うに厳密に計算することは困難である．そこで，CD法と同様に Gibbs サンプリングによる v の周辺確率の近似を行い，同時確率を式 (11) で近似をした後，θk
について微分すると，∂J +(Θ, Θ̄)∂θk
1 ∑∑p(h|v (n) , Θold )ak (v (n) , h)
=
N n
h
(27)
1 ∑∑
−
p(h|v (m) , Θold )ak (v (m) , h)
M m
h
(
)
ak (v (m) , h)(θk − θkold )× exp
βkとなる．しかし，ak (v, h) ∈ {0, 1} になる場合を除いて ∂J + /∂θk = 0 は解析的に解くことは困難である．
Bernoulli-Bernoulli 型の RBM では常に ak (v, h) ∈{0, 1} となっている [6] が，Gaussian-Bernoulli 型のRBM では θk が bH
j のときのみ ak (v, h) ∈ {0, 1} とな
2 +る．ところが，∂ J /∂θk2 は常に負となるため，Newton 法により安定して最大点を求めることが期待できる．また，[6] と同型の補助関数を用いているので，収束を速くするために同様に以下の近似を考える．
βk′ ← βkγ .
(28)′
ただし，βk は式 (24) を満たさないため，補助関数法における収束性は保証されないことには注意されたい．
以上より補助関数法による最尤学習アルゴリズム
は，次の 1)∼3) を反復することである．1) 補助変数
Θ̄ を求める．2)Gibbs サンプリングで p(v, h|Θold ) の近似値を求める．3)∂J + /∂θk = 0 となるようにパラメータを更新 (一部 Newton 法を用いる)．
3.2 最大再構築確率学習
次に，補助関数法を用いた学習アルゴリズムとして，今度は目的関数が他と異なるものを導出する．ここで用いる目的関数は可視層に観測データが来たときに，Gibbs サンプリングを 1 回行ったときに元の観測データが再構築される確率の対数で，∑1 ∑
Jr (Θ) =log
p(v (n) |h, Θ)p(h|v (n) , Θ)
N n
h
(29)
と表される．式 (29) を直接最大化するのは困難であるので，この式に対して，
h(n) ∼ p(h|v (n) , Θ)(30)
でサンプリングした値を元にJr (Θ)1 ∑(31)
log p(v (n) |h(n) , Θ)p(h(n) |v (n) , Θ)≈N nと近似することを考える．この右辺を J˜r (Θ) とおくと，式 (7)∼(10) より，
{
(n)
V 2
∑
1 ∑ ∑ (vi − fni)J˜r (Θ) = −+log σi
2
N n
2σi
i
i
∑( (n) 1 )I+ log(2π) −
hj −
fH
(32)
2
2 nj
j

+

∑

}

H
log(cosh(fnj/2)) + J log 2

j
V
= bV
となる．ただし，fni
i + σi∑(n)H
bj + i Wij vi /σi である．
ここで，log(cosh(x))

∑

(n)
H
j Wij hj ，fnj =(33)tanh(κ) 2 κ tanh(κ)
x −+ log(cosh(κ))
2κ2という不等式を考える．( 右辺 ) − ( 左辺 ) が連続関数
で，その極小値が x = ±κ で 0 になり，かつ x → ±∞で正に発散することからこの不等式が成立することが分かる．また，等号の成立は
κ = ±x(34)
である．また，係数が負の 2 次関数は凹関数である
ので，複素 NMF[5] で用いられている Jensen の不等式を用いた補助関数の設計法を用いることができる
ため，紙面の都合上，詳細は割愛するが，式 (33) とJensen の不等式から下限関数 J˜r+ (Θ, Θ̄) は{∑ ∑ (bV − αV )2
1
i
ni0
+
J˜r (Θ, Θ̄) = −
V σ2
N n
2β
ni0 i
i
(
)2
(n)
V
∑ ∑ σi Wij hj − αnij
+
V σ2
2βnij
i
i
j
≤

+

∑ tanh(κnj )
j

+

H
2
(bH
j − αn0j )∑ ∑ tanh(κnj ) (j−H8κnj βn0jiH8κnj βnij∑ v (n) (
i

i

σi2

bV
i + σi(n)H
Wij vi /σi − αnij∑(n)

)2 (35))

Wij hjj)∑( (n) 1 )(
∑
(n)
−
hj −
bH
+
W
v
/σ
ij i
i
j
2
j
i

}

+ C(Θ̄)となる．ただし，
V
V
H
H
V
V
H
H
Θ̄ = (κnj , αni0
, αnij, αn0j, αnij, βni0, βnij, βn0j, βnij)(36)
であり，C(Θ̄) は Θ に対して定数の項である．また，等号の成立は，
H
fnj
(37)
,
κnj =
2
V
V
V
αni0
=bV
i − βni0 fni ,
(38)
(n)
V
V
V
αnij
=σi Wij hj − βnij
fni
,
H
H
H
αn0i
=bH
j − βni0 fnj ,
(n)

H
αnij
=

Wij viσi

HH− βnij
fnj

(39)

V
V
H
H
であり，βni0
，βnij
，βn0j
，βnij
は
V
V
H
H
βni0
, βnij, βn0j, βnij∈ [0, 1],
∑
∑
V
V
H
H
βni0 +
βnij = 1, βn0j
+
βnij
=1
j

(40)

i

を満たす任意定数である．
H˜+
よって，bVi ，bj ，Wij の更新式は ∂ Jr /∂Θ = 0 にVVHより求めることができる．このとき，βi0
，βij
，β0j
，
H
βij もまた，補助関数法による最尤学習アルゴリズムと同様に学習率を担っていると考えられるため，これらについても γ 乗にする近似を考える．
以上より補助関数法による最大再構築確率学習ア
ルゴリズムは，次の 1)∼3) を反復することとなる．1)(n)サンプリングにより hj を求める．2) 補助変数 Θ̄ を求める．3)∂ J˜r+ /∂Θ = 0 から得られる更新式でパラメータを更新．

4

動作確認実験

2，3 章で説明した各学習アルゴリズムがどのような挙動を示すかについて，人工データによる比較実験を行った．可視層の状態数 I = 1024，隠れ層の状態数
J = 512 であり，可視層に入力するデータは平均 0，
標準偏差 100 の正規分布し従う乱数で 50 個生成し，生成したそれぞれに対し，平均 0，標準偏差 0.1 の正規分布に従うノイズを足し合わせたものを 100 個づつ用意した．つまり，入力するデータ数は N = 5000となる．また，σi は一様に 1 とし，学習の反復回数
T は 20000 回とし，各パラメータの初期値は [−1, 1]の一様乱数から生成し，すべてのアルゴリズムで共通の初期値とした．
V
V
H
H
次に，βk ，βi0
，βij
，β0j
，βij
は一様とし，CD 法の学習率 ϵ や式 (28) に示す γ のスケジューリングを
t 回目の反復のとき( ϵ ) Tt−1−1end
ϵ(t) = ϵinit
,
(41)
ϵinit
( γ ) Tt−1−1endγ(t) = γinit
(42)
γinit
とした．このとき，ϵinit = 0.001，ϵend = 0.0001 とし，補助関数法の最尤学習アルゴリズムに関しては
γinit = 0.03，γend = 0.05 とし，補助関数法の最大再構築確率学習に関しては γinit = 0.9，γend = 1 とした．また，Gibbs サンプリングの回数を 1 回，Newton法を用いる場合はその反復数を 1 回とした．
MATLAB による実装により計算時間を計ったとこ
ろ，CD 法と比べ，補助関数法の最尤学習アルゴリズ
ムによる計算時間も補助関数法の最大再構築確率学
習アルゴリズムによる計算時間もおおよそ同じくらいとなった．また，各学習アルゴリズムにより式 (4)に示す対数尤度については厳密に計算することが困難であるので，代わりに以下のように定義した再構
築誤差 erecosnt が各学習アルゴリズムによりどのように遷移したのかを Fig. 2 に示す．
(n)

h̄
v̄

(n)

ereconst= arg max p(h|v (n) , Θ),h(n)= arg max p(v|h̄ , Θ),v
1 ∑ ∑ (n)(n)=(v − v̄i )2 .
NI n i i

(43)
(44)
(45)

γ による学習率の近似をしなかったアルゴリズムは，
特に最尤学習の場合は収束が遅く，それに対し，γ にFig. 2 各学習アルゴリズムにおける反復毎の再構築
誤差．黒い実線は CD 法を表し，青，赤の実線と破線はそれぞれ提案手法の γ による学習率の近似をしなかったものとしたものを表す．
よる学習率の近似をしたアルゴリズムは最尤学習，最大再構築確率学習ともに速く収束するという挙動が観測された．特に最大再構築確率学習は γ の近似を行わなくても CD 法よりも速く誤差は小さくなるという結果が得られた．
本来，補助関数法は設計パラメータが少ないという利点があるが，このときは γ という設計パラメー
タが生じてしまう．しかし，補助関数法の原理より，
Gibbs サンプリングの近似が十分ならば γ = 1 のときは安定して収束するので，γ = 1 に近づくようなス
ケジューリングをすれば良いことから，CD 法の学習率のスケジューリングより設計の指針がはっきりしていると考えられる．

5

まとめ

本稿では，Gaussian-Bernoulli 型の RBM の学習ア
ルゴリズムとして，補助関数法を用いて新たに 2 つの学習アルゴリズムを導出した．そして，人工データによる動作確認実験を通して，既存手法と同等以上の性能を見込めることが確認できた．今後の課題として，多層に重ねて深層学習を行ったときにどのような挙動を示すかの観察や実データへの適用が挙げられる．
謝辞 本研究は JSPS 科研費 26730100 の助成を受けたものです．

参考文献[1] Hinton, G. E., et al. “A fast learning algorithm
for deep belief nets,” Neural Computation, 2006,
18.7, pp. 1527–1554.
[2] Bengio, Y., et al. “Greedy layer-wise training ofdeep networks,” NIPS, 2007, 19: 153.
[3] Smolensky, P. “Information processing in dynamical systems: Foundations of harmony theory,” MIT Press, 1986, pp. 194–281.
[4] Hinton, G. E. “Training Products of Experts
by Minimizing Contrastive Divergence,” NeuralComputation, 2002, 14.8, pp. 1771-1800.
[5] Kameoka, H., et al. “Complex NMF: A newsparse representation for acoustic signals,” In
Proc. of ICASSP, 2009, p. 3437-3440.
[6] 高宗 典玄，他．“補助関数法による制約付きボル
ツマンマシンの学習アルゴリズムの検討，” 音講論 (春)，2014，No. 1-5-4．