1-4-2
補助関数法による制約付きボルツマンマシンの学習アルゴリズムの検討 ∗☆高宗典玄，石原達馬（東大院・情報理工研），亀岡弘和（東大院・情報理工，NTT CS 研）

1

はじめに

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

2

制約付きボルツマンマシン

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

Z (Θ) =j∑∑v

exp (−E (v, h|Θ))

(2)
(3)

h

RBM のグラフ表現

2.2 Contrastive Divergence 法 [1, 4]
最急降下法により，式 (4) で表される周辺分布の対数尤度関数 J (Θ) の最大化を考える．J (Θ) を Θ に関して微分すると，
∂J
(Θ) =
∂Θ
) ∂E ()
1 ∑∑ (−
p h|v (n) , Θv (n) , h|Θ
N n
∂Θ
(5)
h
∑∑
∂E
+
p (v, h|Θ)(v, h|Θ)∂Θv hとなる．このため，最急降下法によるパラメータの更新はΘ ← Θold + ϵ∆cd Θ(6)となる．ただし，ϵ は学習率，∆cd Θ = ∂J/∂Θ である．
ここで，v や h についての和に関しては厳密に計算しようとすると O(2I ) や O(2J ) の計算量となるため，現実的ではない．しかし，RBM の特徴として可視層同士，隠れ層同士の依存関係が無いため，∏
p (v|h, Θ) =p (vi |h, Θ) ,(7)ip (h|v, Θ) =∏p (hj |v, Θ)(8)jという関係がある．ただし，

p (vi = 1|h, Θ) =(1

1 + exp −bV
i −

∑

),
j Wij hj

(9)1(
) (10)∑p (hj = 1|v, Θ) =1 + exp −bHj −i Wij vii,jHであり，Θ = {bV
i , bj , Wij } は分布パラメータである．
RBM の学習問題とは観測される N 個の可視層のデータ v (1) , · · · , v (N ) からこのパラメータ Θ を推定することである．
このとき RBM の学習問題に対するよく用いられる目的関数として，次の周辺分布の対数尤度関数が挙げられる．
()
1 ∑log p v (n) |ΘJ (Θ) =
N n
)
∑ (
1 ∑
log
p v (n) , h|Θ . (4)
=
N n
h
∗

Fig. 1

である．そこで，式∑(5) の第∑ 1 項に関しては周辺化を行うことにより， h を j にすることが出来る．
しかし，式 (5) の第 2 項に関してはどうしても計算が困難である．そこで，式 (5) の第 2 項は同時確率による期待値計算であることに注目すると，次式のようなギプスサンプリングによる同時確率の近似を用いることで計算量を削減することが考えられる．
) (
)
1 ∑ (
δ v − v (m) p h|v (m) , Θp (v, h|Θ) ≈M m(11)
ここで，式 (7)，(8) からギプスサンプリングは()
hd−1∼ p hj |v d−1 , Θ ,
(12)
j
(
)
vid ∼ p vi |hd−1 , Θ(13)“Training Restricted Boltzmann Machine with Auxiliary Function Approach” by Takamune Norihiro,
Ishihara Tatsuma (Univ. of Tokyo), Kameoka Hirokazu (Univ. of Tokyo, NTT CS Lab.).

日本音響学会講演論文集-5-

2014年3月

αk (v, h) ←ak (v, h) θkold∑− βk (v, h)al (v, h) θloldと容易に行うことが可能である．
式 (6) による更新を式 (11) のギプスサンプリングによる近似で行う手法を CD 法という．

(22)

l

3

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

3.1 補助関数法 1
補助関数法による目的関数 F (x) の最大化問題の最適化アルゴリズムは，補助変数 y を導入して，任意の x，y で F (x) ≥ F + (x, y) となり，F (x) =miny F + (x, y) となるような下限関数 F + (x, y) を設計して，F + (x, y) を x についての最小化と y についての最小化を交互に行うことである．ここで重要なのは，F + (x, y) を x についての最小化が容易に行えるように F + (x, y) を設計できるかであるので，本研究では x の各変数の相互依存をなくすような F + (x, y) を設計することを目指す．そこで，式 (4)による目的関数を考えたとき，Jensen の不等式から
)
∑ (
1 ∑
log
p v (n) , h|ΘJ (Θ) =
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) , Θold(15)

である．式 (14) を整理すると，()
1 ∑∑
J (Θ) ≥ −λn,h E v (n) , h|Θ
N n
h
(16)
∑
− log Z (Θ) −λn,h log λn,hhとなる．ここで，この式の第 2 項について考えると，負の対数関数は凸関数であるので，接線の方程式を用いて下から抑えることが出来る．
Z (Θ)− log Z (Θ) ≥ −− log ζ + 1.
(17)ζ
ここで，等号の成立は接点となるので，()
ζ ← Z Θold
(18)となる．ここで，式 (2) から E (v, h|Θ) はパラメー
タ Θ に対し線形であるので∑E (v, h|Θ) = −ak (v, h) θk(19)k

とおく．ここで注意すべきことは
ak ∈ {0, 1} であ∑る．このとき，− exp ( k ak (v, h) θk ) に対して，複素 NMF[5] で用いられている Jensen の不等式を用いた補助関数の設計法を用いると，
(
)
∑
− exp
ak (v, h) θk

≥−

∑

k

βk (v, h)k(ak (v, h) θk − αk (v, h)βk (v, h)となり，等号の成立は∀βk (v, h) ∈ [0, 1],∑βk (v, h) = 1,(20))

となる．ここで，βk (v, h) は任意に設計できるので，
v ，h に依存しない定数 βk とし，式 (20) に補助変数の更新式 (22) を代入し，式 (17) を式 (3), (19) 用いて整理すると，− logZ (Θ)(∑)
old∑ ∑ exp
l al (v, h) θl
≥−
ζ
v h
(
) ) (23)(∑ak (v, h) θk − θkold
βk exp×βkk− log ζ + 1となる．ここで，式 (1)，(18) から式 (23) は− logZ (Θ)∑ ∑∑ ()≥−
βkp v, h|Θold
v h
k
(
))
(
ak (v, h) θk − θkold
× exp
βk

(24)

− log ζ + 1と な る ．式(15)，(16)，(18)，(24)よ り，
Θ̄ = ( {Θold), βk } とおいたとき，J (Θ) の下限関
数 J + Θ, Θ̄ は()
J + Θ, Θ̄)
1 ∑∑ (
p h|v (n) , Θold
=
N n
h
)
∑ (
×
ak v (n) , h θk
∑

k

∑∑ (
(25)
)
βk
−
p v, h|Θold
v h
k
(
(
))
ak (v, h) θk − θkold
× exp
βk
( )
+ C Θ̄
( )と定義できる．ただし C Θ̄ は Θ に対して定数の項である．
ここで，式 (25) を θk について微分すると，)∂J + (
Θ, Θ̄
∂θk
) (
)
1 ∑∑ (=
p h|v (n) , Θold ak v (n) , h
N n
h
∑∑ (
)
(26)
−
p v, h|Θold ak (v, h)
v h
(
(
))
ak (v, h) θk − θkold× exp
βkとなる．ここで，ak (v, h) ∈ {0, 1} である事実を用

× exp

(21)

k

日本音響学会講演論文集-6-

2014年3月いると，式 (26) の第二項は∑∑ ()
p v, h|Θold ak (v, h)
v h
(
(
))
ak (v, h) θk − θkold
× exp
βk
(27)
(
)
θk − θkold
= exp
βk
∑∑ (
)
×
p v, h|Θold ak (v, h)v hとなる．よって，∂J + /∂θk = 0 を解析的に求めることができ，∆af θk を
∆af θk) ()
1 ∑∑ (= log
p h|v (n) , Θold ak v (n) , h
N n
(28)
h
∑∑ (
)
− log
p v, h|Θold ak (v, h)v hと定義すると，θk の更新式は，
θk ← θkold + βk ∆af θk(29)となる．ここで，式 (28) の右辺の第 2 項は 2.2 節で言及したように厳密に計算することは困難である．そこで，CD 法と同様にギプスサンプリングによる v の周辺確率の近似を行うことで，式 (29) の計算が可能となる．
さて，式 (6)，(29) を比較すると，式 (29) の更新式
はあたかも学習率が βk であるかのような形となっている．ところが，式 (21) よりパラメータ数が多くな
ると βk の平均的な値は小さくなるため，収束が遅くなることが予想される．そこで，収束を速くするために以下の近似を考える．
βk′ ← βkγ .
(30)
このとき，γ ∈ [0, 1] ならば，βk ∈ [0, 1] を満たすので βk′ は βk よりも大きくなる．そのため，式 (29) による更新が速くなることが期待できる．ただし，βk′は式 (21) を満たさないため，補助関数法における収束性は保証されないことには注意されたい．
以上より補助関数法による 1 つ目の学習アルゴリズ
ムは，次の 1)〜3) を反復することである．(1) 補助変数)
Θ̄ を求める．2) ギプスサンプリングで p v, h|Θoldの近似値を求める．3) 式 (29) の更新式でパラメータを更新．

3.2 補助関数法 2
次に，補助関数法を用いた学習アルゴリズムとして，今度は目的関数が他と異なるものを導出する．ここで用いる目的関数は可視層に観測データが来たときに，ギプスサンプリングを 1 回行ったときに元の観測データが再現される確率の対数を尤度としたも
ので，
) (
)
∑ (
1 ∑
log
p v (n) |h, Θ p h|v (n) , ΘJr (Θ) =N nh(31)と表される．この式を直接最大化するのは困難であるので，この式に対して，()
h(n) ∼ p h|v (n) , Θ(32)
でサンプリングした値を元にJr (Θ)
(
) (
)
1 ∑
(33)
log p v (n) |h(n) , Θ p h(n) |v (n) , Θ≈N nと近似することを考える．この右辺を J˜r とおくと，
式 (7)，(8) より，{
1 ∑ ∑ (n)Vvi log qni
J˜r =
N n
i
)
∑(
(
)
(n)
V
+
1 − vilog 1 − qni
i

+

∑

(n)

hj

j

+

∑(

(34)

H
log qnj(n)

1 − hj)()
Hlog 1 − qnj

}

j

(
)
(n)
H
V
=
= p vi = 1|h(n) , Θ ，qnjとなる．ただし，qni()(n)
p hj = 1|v (n) , Θ である．よって，式 (9)，(10) より式 (34) を整理すると，{(( V ))
1 ∑ ∑ (n)˜Jr = −
vi log 1 + exp −fni
N n
i
)
∑(
(
)
(n)
V
+
1 − vilog 1 + exp fni
i

+

∑

(n)

hj

(
( H ))
log 1 + exp −fnj

j

+

∑(

(n)
1 − hj)log(

H
1 + exp fnj

(35)
}
)

j

∑
(n)
H
H
V
= bV
となる．ただし，fnii +j Wij hj ，fnj = bj +∑(n)である．ここで，式 (35) のそれぞれの項
i Wij viは負の対数関数であり，その引数の項をみると，式(17)〜(24) と同様の論理で下限関数が設計できることが分かる．
()
よって，下限関数 J˜r+ Θ, Θ̄ は()
J˜r+ Θ, Θ̄{) V
1 ∑ (n) (V=−ξni
1 − q̂ni
vi
N
i
)
∑(
(n)
V V
1 − vi
q̂ni
ηni
+
(36)
i
∑ (n) ()
HH+
ξnj
hj 1 − q̂nj
j

+

∑(

(n)
1 − hj

)

}
H H
q̂nj
ηnj

( )
+ C Θ̄

j

(
)
(n)
V
となる．ただし，q̂ni= p vi = 1|h(n) , Θold ，
(
)
(n)
H
V
V −b̂Vq̂nj= p hj = 1|v (n) , Θold ，ξni
= βi0
e i +
∑ V −Ŵ V
∑
V
V
V b̂i
V Ŵnij
nij ，η V
= βi0
e
+
，
ni
j βij ej βij e∑ H −Ŵ H
H
H −b̂H
H
H b̂H
j
nij
j
ξnj = β0j e+ i βij e，ηnj = β0j e +V,oldV∑ H Ŵ H
bH −bH,oldb−bnij ，b̂V= i β Vi，b̂H
= j β Hj，iji βij ei00jWij −Wij
Wij −Wij
(n)
V
H
Ŵnij
=
hj ，Ŵnij
=
V
H
βij
βij
V
V
H
H
り，βi0 ，βij ，β0j ，βij は
V
V
H
H
βi0
, βij
, β0j
, βij
∈ [0, 1],
old

V
βi0
+

old

∑

V
βij
= 1,

∀i,

H
βij
= 1,

∀j,

j

H
β0j
+

∑

(n)
vi ，であ(37)i

日本音響学会講演論文集-7-

2014年3月

を 満 た す 任 意 定 数 で あ る ．ま(た)，Θ̄
=
V
V
H
H
{Θold , βi0
, βij
, β0j
, βij
} で あ り，C Θ̄ は Θ に対して定数の項である．
ここで，∂ J˜r+ /∂Θ = 0 を解くことについて考えるHと，bVi ，bj については解析的に解くことが出来るが，Wij については解析的に解くことが出来ない．これは，∂ 2 J˜r+ /∂Wij2 < 0 であるので，Newton 法を用いて効率的に求めることが出来る．
V
H
H
V
が 1 つ目の補助関数法を
，βij
，β0j
，βij
また，βi0用いた学習アルゴリズムと同様に学習率を担っていると考えられるため，これらについても γ 乗にする近似を考える．
以上より補助関数法による 3 つ目の学習アルゴリ
ズムは，次の 1)〜3) を反復することとなる．1) サン(n)
プリングにより hj を求める．2) 補助変数 Θ̄ を求める．3)∂ J˜r+ /∂Θ = 0 から求まる更新式でパラメータを更新．

4

Fig. 2 各学習アルゴリズムにおける反復毎の対数尤
度．黒い実線は CD 法を表し，青，赤の実線と破線はそれぞれ提案手法の γ による学習率の近似をしなかったものとしたものを表す．

動作確認実験

2，3 章で説明した各学習アルゴリズムがどのような挙動を示すかについて，可視層の状態数 I = 10，
隠れ層の状態数 J = 8 という非常に小さな系で実験を行った．このとき，可視層に入力するデータは乱数で 20 個生成し，生成したそれぞれに対し，80 ％のノイズをかけたものを 100 個づつ用意した．つまり，入力するデータ数は N = 2000 となる．また，学習の反復回数 T は 500 回とし，各パラメータの初期値
は [−1, 1] の一様乱数から生成し，すべてのアルゴリ
ズムで共通の初期値とした．
V
V
H
H
次に，βk ，βi0
，βij
，β0j
，βij
は一様，つまり，
1
βk =
,
(38)
I + J + IJ
1
V
V
βi0
= βij
=
,
(39)
1+J
1
H
H
(40)
β0j
= βij
=
1+I
とし，CD 法の学習率 ϵ や式 (30) に示す γ のスケジュー
リングを t 回目の反復のとき() t−1
ϵend T −1
ϵ (t) = ϵinit
,
(41)
ϵinit
(
) t−1
γend T −1
γ (t) = γinit
(42)
γinit
とした．このとき，ϵinit = 1，ϵend = 0.1，γinit = 0.1，
γinit = 1 とした．また，ギプスサンプリングの回数
を 1 回，Newton 法を用いる場合はその反復数を 1 回とした．
MATLAB による実装により計算時間を計ったとこ
ろ，CD 法と比べ，補助関数法 1 による学習時間はおおよそ同じくらいであり，補助関数法 2 による学習
時間はおおよそ 3/4 倍となった．また，各学習アル
ゴリズムにより式 (4) に示す対数尤度がどのように遷移したかを Fig. 2 に示す．予想したように γ による学習率の近似をしなかったアルゴリズムは収束が遅く，それに対し，γ による学習率の近似をしたアルゴ
リズムは非常に速く収束するという挙動が観測された．また，γ の加速を行うことにより，CD 法よりも速くなる可能性を示す結果が得られた．
本来，補助関数法は設計パラメータが少ないという利点があるが，このときは γ という設計パラメー
タが生じてしまう．しかし，補助関数法の原理より，
ギプスサンプリングの近似が十分ならば γ = 1 のときは安定して収束するので，γ = 1 に近づくようなス

日本音響学会講演論文集

Fig. 3Fig. 2 の一部拡大

ケジューリングをすれば良いことから，CD 法の学習率のスケジューリングより設計の指針がはっきりしていると考えられる．
さらに，興味深いことは，本来，目的関数が式 (4)とは異なるものから出発した学習アルゴリズムである 2 つ目のアルゴリズムが対数尤度に対して増加傾
向にあることである．また，このアルゴリズムは γ による学習の加速を行うと，始めの数反復において他のアルゴリズムより対数尤度の上昇が見られた．

5

まとめ

本稿では，RBM の学習アルゴリズムとして，補助関数法を用いて新たに 2 つの学習アルゴリズムを導出した．そして，小規模の動作確認実験を通して，既存手法と同等以上の性能を見込めることが確認できた．今後の課題として，可視層と隠れ層の状態数が多くなったときや多層に重ねて Deep learning を行った
ときにどのような挙動を示すかの観察が挙げられる．

参考文献[1] Hinton, G. E., et al. “A fast learning algorithm
for deep belief nets,” Neural Computation, 2006,
18.7, 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: 1771-1800.
[5] H. Kameoka, et al. “Complex NMF: A newsparse representation for acoustic signals,” In
Proc of ICASSP, 2009, p. 3437-3440.

-8-

2014年3月