Deep Learning:第20章

September 30, 2017 | Author: matsuolab | Category: N/A
Share Embed Donate


Short Description

Deep Learning日本語翻訳版...

Description

623

第 20 章

深層生成モデル 本章では,16章から19章 で紹介されたテクニックを用いて構築や訓練ができる具体的な生 成モデルをいくつか紹介する.これらのモデルは,どれも何らかの形で多変数における確率 分布を表している.確率分布関数を明示的に評価できるモデルがある一方で,確率分布関数 を評価できないが,分布からサンプルを抽出するなどの,その分布についての知識が暗黙的に 必要とされる操作を助けるモデルもある.また,いくつかのモデルが16章で示したグラフィ カルモデルの用語を用いて,グラフや因子に関して記述される構造化確率モデルである一方 で,因子に関して簡単に記述できないが,それでも確率分布を表現するモデルもある.

20.1 ボルツマンマシン ボルツマンマシンは,元々二値ベクトルにおける任意の確率分布を学習するための一般的 な「コネクショニズム」的アプローチとして導入された (Fahlman et al., 1983; Ackley et al.,

1985; Hinton et al., 1984; Hinton and Sejnowski, 1986).異なる種類の変数を持つボルツマ ンマシンの変種は,かなり前に最初のボルツマンマシンの人気を上回った.本節では,二値変 数のボルツマンマシンを簡単に紹介し,このモデルで訓練や推論を試みる際に問題となる点 について議論する. ボルツマンマシンを,d 次元の二値確率変数ベクトル x ∈ {0, 1}d において定義する.ボル

ツマンマシンはエネルギーベースモデル(16.2.4節)である.したがって,以下のエネルギー 関数を用いて同時確率分布を定義する.

P (x) =

exp (−E(x)) . Z

(20.1)

第 20. 深層生成モデル

ただし,E(x) はエネルギー関数であり,Z は ツマンマシンのエネルギー関数は

!

x

P (x) = 1 を満たす分配関数である.ボル

E(x) = −x⊤ U x − b⊤ x,

(20.2)

で与えられる.ただし,U はモデルパラメータの「重み」行列で,b はバイアスを表すパラ メータのベクトルである. ボルツマンマシンの一般的な設定では,n 次元の訓練事例の集合が与えられる.式20.1は, 観測変数における同時確率分布を記述している.この筋書きは確かに実行可能であるが,観測 変数の間の相互作用の種類を,重み行列で表されるものに制限している.具体的に言うと,こ れは,1 つのユニットが活性する確率が,他のユニットの値による線形モデル(ロジスティッ ク回帰)によって与えられることを意味する.ボルツマンマシンは,すべての変数が観測され ているわけではない場合に,より力を発揮する.この場合,潜在変数は多層パーセプトロン モデル(MLP)内の隠れユニットと同様に振る舞い,可視ユニット間の高次の相互作用をモ デリングできる.ロジスティック回帰を MLP に変換するための隠れユニットの追加によっ て MLP が普遍的な関数の近似装置になるのと同じように,隠れユニットを持つボルツマン マシンはもはや変数間の線形な関係をモデリングする用途に限られていない.むしろ,ボル ツマンマシンは離散的な変数に関する確率質量関数の普遍的な近似装置になる (Le Roux and

Bengio, 2008). 形式的に,ユニット x を 2 つの部分集合,即ち可視ユニット v と潜在(または隠れ)ユニッ ト h に分解する.このエネルギー関数は以下のように表される.

E(v, h) = −v ⊤ Rv − v ⊤ W h − h⊤ Sh − b⊤ v − c⊤ h. ■ボルツマン機械学習

(20.3)

ボルツマンマシンの学習アルゴリズムは,通常,最尤法が基本とな

る.すべてのボルツマンマシンは計算困難な分配関数を持っているため,最尤勾配は18章で 述べたテクニックを用いて近似する必要がある. 最尤法に基づく学習則によって訓練したボルツマンマシンの興味深い性質の 1 つは,2 つの ユニットを結合する特定の重みの更新が,異なる確率分布 Pmodel (v) と Pˆdata (v)Pmodel (h | v) から得られる 2 つのユニットの統計量のみに依存することである.ネットワークの残りの部

分はその統計量の形成に貢献するが,重みの更新は,ネットワークの残りの部分やそれらの統 計量の生成方法を知らなくても可能である.つまり,この学習則は「局所的」であるというこ とであり,これによってボルツマンマシン機械学習は,ある程度生物学的に妥当性のあるもの になる.もし,各ニューロンがボルツマンマシンにおける確率変数であるとすれば,2 つの確 624

第 20. 深層生成モデル

率変数を結合する軸索や樹状突起が,実際に物理的に接しているセルの発火パターンを観測 することによってのみ学習できると考えられる.特に,正段階においては一緒に発火する頻 度が高い 2 つのユニット同士は結びつきが強くなる.これはヘブ学習則 (Hebb, 1949) の一例 であり,「同時に発火すれば,相互に結合する(fire together, wire together)」という覚えや すい形で要約される.ヘブ学習則は生物システムにおける学習を説明した最古の仮説であり, 今日でも健在である (Giudice et al., 2009). 局所的な統計量よりも多くの情報を用いる他の学習アルゴリズムは,さらなるメカニズムの 存在を仮定しなければならない.たとえば,脳が多層パーセプトロンにおける誤差逆伝播を実 装するためには,勾配情報をネットワークの逆向きに伝えるための第 2 の通信ネットワーク を持つ必要があるだろう.誤差逆伝播法の生物学的に妥当性のある実装(および近似)が提案 されている (Hinton, 2007a; Bengio, 2015) ものの,未だ検証されていない.Bengio (2015) では,勾配の誤差逆伝播を,ボルツマンマシンに似たエネルギーベースモデルにおける推論に 結びつけている(ただし,そのモデルの潜在変数は連続である). ボルツマンマシン機械学習における負段階を,生物学的観点から説明するのは幾分困難で ある.18.2節で議論したように,夢を見る睡眠が負段階のサンプリングの一形態であるかもし れない.もっとも,このアイディアは推測の域を出ない.

20.2 制限付きボルツマンマシン ハーモニウム(harmonium) (Smolensky, 1986) という名前で発明された制限付きボル ツマンマシンは,深層確率モデルにおける最も一般的な構成要素の一つである.16.7.1節では

RBM について簡単に説明した.ここでは,これまでの情報を復習して,さらに詳しく説明す る.RBM は,可視変数の層と単一の潜在変数の層を含む無向確率グラフィカルモデルであ る.RBM は,より深いモデルを形成するために(他の RBM の上に)積み重ねることもで きる.いくつかの例を図20.1に示す.特に,図20.1a では RBM 自体のグラフ構造を示してい る.これは,可視層内の変数間の結合も,隠れ層内のユニット間の結合も許されない 2 部グ ラフである.

625

第 20. 深層生成モデル

(2)

h1

h2

v1

h3

v2

(1)

h4

v3

h3

h2

(1)

(1)

h1

(2)

(2)

h1

v1

v2

(a)

(1)

h3

h2

h4

v3

(b) (2)

(1)

(1)

(1)

h3

h2

v1

h3

h2

(1)

h1

(2)

(2)

h1

v2

h4

v3

(c) 図 20.1:

制限付きボルツマンマシン(RBM)によって構築されるモデルの例.(a) 制限付きボルツマ

ンマシン自体は,グラフの一部が可視ユニットで,その他の部分が隠れユニットになっている 2 部グラ

フに基づく無向グラフィカルモデルである.可視ユニット間や隠れユニット間の結合はない.一般に, すべての可視ユニットはすべての隠れユニットと結合しているが,畳み込み RBM のような,スパー

スに結合している RBM を構築することも可能である.(b) 深層信念ネットワーク(DBN)は,有向,

無向どちらの結合も含むハイブリッドなグラフィカルモデルである.RBM と同じく層内結合はない. しかし,DBN には複数の隠れ層があり,異なる層の隠れユニット間結合は存在する.深層信念ネット ワークに必要なすべての局所的な条件付き確率分布は,それを構成する RBM の局所的な条件付き確率

分布から直接コピーされる.別の方法として,完全な無向グラフによって DBN を表現することもでき るが,上位層同士の依存関係を捉えるための層内結合が必要になるだろう.(c) 深層ボルツマンマシン

(DBM)は潜在変数の層が複数ある無向グラフィカルモデルである.RBM や DBN のように,DBM には層内結合がない.RBM との結びつきは,DBM の方が DBN よりも弱い.RBM の積み重ねによ り DBM を初期化する場合には,RBM のパラメータをわずかに修正することが必要である.いくつか の種類の DBM は,RBM の集合をあらかじめ訓練しなくても,訓練させることができる.

二値の制限付きボルツマンマシンについての説明から始めるが,あとで見るように他の種 626

第 20. 深層生成モデル

類の可視ユニットや隠れユニットへの拡張も存在する. より形式的に,観測層が nv 個の二値確率変数の集合からなるとし,それらをまとめてベク トル v として表現しよう.潜在層,あるいは隠れ層にある nh 個の二値確率変数をまとめて h と表す. 制限付きボルツマンマシンは,一般的なボルツマンマシンのように,以下のエネルギー関数 で定められた同時確率分布によるエネルギーベースモデルである.

P (v = v, h = h) =

1 exp (−E(v, h)) . Z

(20.4)

RBM のエネルギー関数は E(v, h) = −b⊤ v − c⊤ h − v ⊤ W h,

(20.5)

として与えられる.Z は分配関数として知られる正規化定数で,以下のように表される.

Z=

!! v

h

exp {−E(v, h)} .

(20.6)

分配関数 Z の定義から明らかなように,巧妙に設計されたアルゴリズムが確率分布の規則性 を利用して Z をより速く計算できない限り,Z を計算する(すべての状態において完全に総 和をとる)単純な方法は計算的に困難である.Long and Servedio (2010) は,制限付きボルツ マンマシンの場合に分配関数 Z が計算困難であることを形式的に証明した.分配関数 Z が計 算困難であることは,正規化された同時確率 P (v) の評価も計算困難であることを意味する.

20.2.1 条件付き分布 P (v) は計算困難であるが,RBM の 2 部グラフ構造には,条件付き分布 P (h | v) と

P (v | h) が因数分解できて,比較的簡単に計算やサンプリングができるという特別な性質が ある.

同時分布から条件付き分布を導くのは簡単である.すなわち,

P (h, v) P (v) " # 1 1 = exp b⊤ v + c⊤ h + v ⊤ W h P (v) Z " # 1 = ′ exp c⊤ h + v ⊤ W h Z ⎧ ⎫ nh nh ⎨! ⎬ ! 1 = ′ exp c j hj + v ⊤ W:,j hj ⎩ ⎭ Z

P (h | v) =

j=1

627

j=1

(20.7) (20.8) (20.9) (20.10)

第 20. 深層生成モデル

=

nh " # 1 ! exp cj hj + v ⊤ W:,j hj . ′ Z j=1

(20.11)

可視ユニット v で条件づけているため,これらを分布 P (h | v) に関して定数として扱える. 条件付き分布 P (h | v) を因数分解できるという性質は,ベクトル h の同時確率が個々の要素

hj における(非正規化)分布の積として記述できることからただちに導かれる.個々の二値 hj における分布を正規化するのは簡単である. P˜ (hj = 1 | v) P˜ (hj = 0 | v) + P˜ (hj = 1 | v) " # exp cj + v ⊤ W:,j = exp {0} + exp {cj + v ⊤ W:,j } $ % = σ cj + v ⊤ W:,j .

P (hj = 1 | v) =

(20.12) (20.13) (20.14)

ここで,隠れ層についての完全な条件付き分布は以下の階乗分布で表現できる. nh ! $ % P (h | v) = σ (2h − 1) ⊙ (c + W ⊤ v) j .

(20.15)

j=1

同様の導出によって,関心のある他の条件付き分布である P (v | h) も次の階乗分布である

ことが示される.

P (v | h) =

nv !

i=1

σ ((2v − 1) ⊙ (b + W h))i .

(20.16)

20.2.2 制限付きボルツマンマシンの訓練 RBM では,P˜ (v) の効率的な評価と微分が可能であり,ブロックギブスサンプリングの形 による効率的な MCMC サンプリングも可能である.したがって,18章で紹介された,計算 困難な分配関数を持つ訓練モデルに対する任意の技法を用いて容易に訓練することができる. これには,CD,SML(PCD),レシオマッチングなどが含まれている.深層学習で用いられ る他の無向モデルと比較すると,P (h | v) を閉形式で正確に計算できるため,RBM は比較的 簡単に訓練できる.深層ボルツマンマシンなどの,その他の深層モデルには,計算困難な分配 関数と計算困難な推論という 2 つの困難性がある.

20.3 深層信念ネットワーク 深層信念ネットワーク(deep belief network,DBN)は,深層アーキテクチャの訓練 628

第 20. 深層生成モデル

を成功裡に許した最初の畳み込みでないモデルの 1 つである (Hinton et al., 2006; Hinton,

2007b).2006 年における深層信念ネットワークの登場は,昨今の深層学習復興の先駆けと なった.深層信念ネットワークの導入以前には,深層モデルは最適化するには難しすぎると 考えられていた.そのため,凸目的関数を持つカーネルマシンが研究の情勢を支配していた. 深層信念ネットワークは,MNIST データ集合においてカーネル法を用いたサポートベクトル マシンより優れた性能を発揮し,深層構造がうまくいくことを示した (Hinton et al., 2006). 今日,他の教師なし学習アルゴリズムや生成的学習アルゴリズムとの比較においてさえ,深層 信念ネットワークに対する興味は薄れ,めったに使われることもなくなったが,深層学習の歴 史において重要な役割をはたしたことは,今でも十分に認識されている. 深層信念ネットワークは潜在変数の層を複数持つ生成モデルである.通常,潜在変数は二 値変数で,可視ユニットは二値または実数値をとりうる.層内結合はない.通常,各層のすべ てのユニットは隣接する層のすべてのユニットとつながっているが,よりスパースに結合さ れた DBN を構築することも可能である.最上位の 2 層間の結合は無向である.その他のす べての層間の結合は有向で,データに最も近い層に向かって矢印が向いている.図20.1b に例 を示す.

l 層の隠れ層を持つ DBN は,l 個の重み行列 W (1) , . . . , W (l) を持つ.この DBN はまた, b(0) を可視層のバイアスとして,b(0) , . . . , b(l) という l + 1 個のバイアスベクトルも持つ.こ の DBN で表現される確率分布は,

! ⊤ " P (h(l) , h(l−1) ) ∝ exp b(l) h(l) + b(l−1)⊤ h(l−1) + h(l−1)⊤ W (l) h(l) ,

(k) P (hi

=1|h

(k+1)

)=σ

!

(k) bi

+

(k+1)⊤ (k+1) W:,i h

"

∀i, ∀k ∈ 1, . . . , l − 2,

(20.17) (20.18)

! " (0) (1)⊤ P (vi = 1 | h(1) ) = σ bi + W:,i h(1) ∀i

(20.19)

! " v ∼ N v; b(0) + W (1)⊤ h(1) , β −1

(20.20)

と表される.実数値可視ユニットの場合は,

で置き換える.ただし扱いやすさのため,β を対角行列とする.他の指数分布族の可視ユニッ トへの一般化は,少なくとも理論的には簡単である.隠れ層が 1 つのみの DBN は RBM で ある.

DBN からサンプルを生成するときは,まず隠れ層のうちの上 2 層に対してギブスサンプリ ングを数回実行する.この段階は,隠れ層のうちの上 2 層で定義された RBM からサンプリ ングするのと本質的に等価である.次に,モデルのその他の部分を通る伝承サンプリングを 1 回使うことで,可視ユニットからサンプルを抽出することができる. 629

第 20. 深層生成モデル

深層信念ネットワークは,有向モデルと無向モデルの両方に関して多くの問題をはらんで いる. 深層信念ネットワークによる推論は,各有向層内での弁明効果と,無向結合のある 2 つの 隠れ層間の相互作用により計算困難である.対数尤度の標準的なエビデンス下界を評価した り最大化したりすることも計算困難であるが,これは変分下界でネットワークの幅に等しい 大きさのクリークの期待値を取るためである.. 対数尤度の評価や最大化は,潜在変数の周辺化という計算困難な推論問題に取り組むだけで なく,上 2 層の無向モデルにおける計算困難な分配関数の問題に取り組むことも必要とする. 深層信念ネットワークを訓練するためには,コントラスティブ・ダイバージェンスまたは確 率的最尤法を用いて RBM を訓練し,Ev∼pdata log p(v) を最大化することから始める.そし て,その RBM のパラメータを用いて DBN の 1 層目のパラメータを定義する.次に,2 つ目 の RBM を訓練して

Ev∼pdata Eh(1) ∼p(1) (h(1) |v) log p(2) (h(1) )

(20.21)

を近似的に最大化する.ここで,p(1) は 1 層目の RBM が表す確率分布であり,p(2) は 2 つ 目の RBM が表す確率分布である.言い換えると,1 つ目の RBM がデータによって動くと き,2 つ目の RBM は,1 つ目の RBM の隠れユニットをサンプリングすることによって定義 される分布をモデリングするように訓練される.この手続きは何度でも繰り返すことができ, 新たな RBM を足すたびに 1 つ前の RBM からサンプリングするようにモデリングすること で,DBN の層を好きなだけ増やすことができる.それぞれの RBM が DBN の別々の層を定 義している.この手続きは,DBN の下でデータの対数尤度の変分下界を増加させるものとし て正当化される (Hinton et al., 2006). ほとんどの応用においては,層別の貪欲手続きが完了したあとで DBN を同時に訓練するよ うな手間はかけられていない.しかし,wake-sleep アルゴリズムを用いて生成的な再学習を 行うことは可能である. 訓練された DBN はそのまま生成モデルとして使うこともできるが,DBN の最も興味深 い点は分類モデルを向上させる能力にある.DBN から重みを取り出し,その重みを用いて

MLP を定義することができる. ! " h(1) = σ b(1) + v ⊤ W (1) .

! " (l) h(l) = σ bi + h(l−1)⊤ W (l) ∀l ∈ 2, . . . , m,

(20.22) (20.23)

DBN の生成的な訓練によって学習された重みとバイアスを用いて MLP を初期化したあと 630

第 20. 深層生成モデル

で,分類タスクを実行するように MLP を訓練することができる.このような MLP への追加 訓練は識別的な再学習の一例として知られている.

MLP におけるこの特定の選択は,19章で紹介した,第一原理から導かれる多くの推論方程 式に比べると,いくぶん恣意的である.MLP は実際にうまくいくと思われているヒューリス ティックな選択であり,他の文献でも一貫して使われている.多くの近似的な推論技法に求 められているのは,いくつかの制約の下での対数尤度について,最も強い変分下界を見つけ る能力である.DBN における MLP で定義された隠れユニットの期待値を用いて対数尤度の 変分下界を構築することはできるが,これは隠れユニットにおける任意の確率分布に当ては まるのであって,この MLP が特に強い下界を与えると信じる理由はない.特に,MLP は,

DBN のグラフィカルモデルにおける多くの重要な相互作用を無視している.MLP は,可視 ユニットから最も深い隠れユニットまで情報を伝播させるが,反対方向や横方向には情報を 伝播させない.DBN のグラフィカルモデルは,同じ層内のすべての隠れユニット間の相互作 用や,層間のトップダウンの相互作用を弁明している.

DBN の対数尤度が計算困難である一方で,それは AIS によって近似できる (Salakhutdinov and Murray, 2008).これは,生成モデルとしての質を評価することを可能にする. 「深層信念ネットワーク」という用語は,あらゆる種類の深層ニューラルネットワークを指 すものとして一般に誤用されており,潜在変数が意味を持たないネットワークにさえも使わ れている.この用語は,最も深い層での無向結合と,それ以外のすべての連続する 2 つの層 の間での有向結合を持つモデルについて特に指すべきである. 深層信念ネットワークには無向層も含まれている一方で「信念ネットワーク」という用語が 純粋な有向モデルを指して使われることがあるために,この用語は混乱を引き起こすこともあ る.深層信念ネットワークの頭字語である DBN はまた動的ベイジアンネットワーク (Dean

and Kanazawa, 1989) の頭字語と同じであり,そちらはマルコフ連鎖を表すためのベイジア ンネットワークである.

20.4 深層ボルツマンマシン 深層ボルツマンマシン(deep Boltzmann machine,DBM)(Salakhutdinov and Hin-

ton, 2009a) は,もう 1 つの種類の深層生成モデルである.深層信念ネットワーク(DBN)と は異なり,DBM は完全な無向モデルである.RBM とは異なり,DBM は潜在変数の層を複 数(RBM はたった 1 つ)持つ.しかし,RBM と同様に,各層内の各変数は相互に独立して おり,隣接する層の変数によって条件づけされる.グラフ構造は図20.2を確認せよ.深層ボ 631

第 20. 深層生成モデル

(2)

(1)

h3

h2

(1)

(1)

h1

(2)

(2)

h1

v1

(1)

h3

h2

v2

h4

v3

図 20.2: 1 層の可視層(下)と 2 つの隠れ層からなる深層ボルツマンマシンのグラフィカルモデル.結 合は,隣接する層のユニット間だけである.層内結合はない.

ルツマンマシンは,文書モデリング (Srivastava et al., 2013) など多くのタスクに応用されて きた.

RBM や DBN のように,DBM は(モデルの表現を簡単にするための仮定として)一般に 二値ユニットしか持たないが,実数値可視ユニットを含ませることは簡単である.

DBM はエネルギーベースモデルであり,モデル変数についての同時確率分布がエネルギー 関数 E によってパラメータ化される.1 つの可視層 v と,3 つの隠れ層 h(1) ,h(2) ,h(3) か らなる深層ボルツマンマシンの場合,同時確率は

! " P v, h(1) , h(2) , h(3) =

! " 1 exp −E(v, h(1) , h(2) , h(3) ; θ) Z(θ)

(20.24)

となる.表現を簡単化するため,これよりバイアス項は省くことにする.このとき,DBM の エネルギー関数は次のように定義される.

E(v, h(1) , h(2) , h(3) ; θ) = −v ⊤ W (1) h(1) − h(1)⊤ W (2) h(2) − h(2)⊤ W (3) h(3) .

(20.25)

RBM のエネルギー関数(式20.5)と比較すると,DBM のエネルギー関数には重み行列 (W (2) と W (3) ) の形で隠れユニット(隠れ変数)間の結合が含まれている.これから見てい くように,これらの結合はモデルの振る舞いやどのように推論を実行するかに重大な影響を 与える. 完全に結合したボルツマンマシン(すべてのユニットが他のすべてのユニットと結合して いる)と比較すると,DBM には RBM と同様な強みがある.具体的に言えば,図20.3に示す ように,DBM の層は,奇数番目の層を一方の側に,偶数番目の層を反対の側に持つ 2 部グラ フに編成することができる.このことから,偶数番目の層にある変数で条件づけすると,奇数 632

第 20. 深層生成モデル

(2)

h1

(2)

h2

h1 (3) h1

h2 (2)

(3)

(2)

(2)

h1

(3)

(3) h2

h3

h2

(2)

h3

(1)

h1 (1)

(1)

(1)

h1

h3

h2

v1

v2

v1

h2

v2

h3

(1)

(1)

図 20.3: 2 部グラフ構造を明らかにするために再配置した深層ボルツマンマシン.

番目の層にある変数が条件付き独立になることが,すぐに分かる.もちろん,奇数番目の層に ある変数で条件づけすると,偶数番目の層にある変数が条件付き独立になる.

DBM が 2 部構造であることから,以前 RBM の条件付き分布に用いたのと同じ方程式を, DBM の条件付き分布を決定するために適用できる.ある層内のユニットは,隣接する層の値 の下で互いに条件付き独立である.そのため,二値変数に関する分布は,各ユニットが活性で ある確率を与えるベルヌーイパラメータによって完全に表される.2 つの隠れ層を持つ先程の 例での活性化確率は

(1)

P (hi

となる.

! " (1) P (vi = 1 | h(1) ) = σ Wi,: h(1) ,

(20.26)

! " (1) (2) = 1 | v, h(2) ) = σ v ⊤ W:,i + Wi,: h(2) ,

(20.27)

! " (2) (2) P (hk = 1 | h(1) ) = σ h(1)⊤ W:,k .

(20.28)

2 部構造は深層ボルツマンマシンにおけるギブスサンプリングを効率化する.ギブスサン プリングに対する簡単なアプローチは,1 回の更新につき 1 つの変数しか更新しないことであ る.RBM では,すべての可視ユニットを 1 つ目のブロックで更新されし,すべての隠れユ ニットを 2 つ目のブロックで更新することが可能である.単純に考えると,繰り返しごとに 1 633

第 20. 深層生成モデル

つの層のユニットからなるブロックを更新するため,l 層の DBM では l + 1 回の更新が必要 であると思うかもしれない.しかしながら,すべてのユニットをたった 2 回の操作で更新す ることが可能である.ギブスサンプリングは,(可視層を含む)すべての偶数番目の層を含む ブロックと,すべての奇数番目の層を含む別のブロックの 2 つの更新ブロックに分けること ができる.2 部構造の DBM の結合パターンにより,偶数番目の層の下での奇数番目の層の分 布は階乗となり,1 つのブロックとして同時に独立してサンプリングできる.同様に,奇数番 目の層の下での偶数番目の層は,1 つのブロックとして同時に独立してサンプリングできる. 効率的なサンプリングは,確率的最尤アルゴリズムを用いる訓練において特に重要である.

20.4.1 興味深い性質 深層ボルツマンマシンは,いくつもの興味深い性質を持つ.

DBM は DBN のあとに発展した.DBN と比較して,DBM では事後分布 P (h | v) がより

単純である.いささか直感に反するが, この事後分布の単純さによって,事後分布のより豊

かな近似を可能にする.DBN の場合,ヒューリスティックな動機づけによる近似推論手続き を用いて分類が行われる.そこでは,シグモイド活性化関数と元の DBN と同じ重みとを用い る MLP のネットワークを通過することで,隠れユニットの平均場の期待値として妥当な値が 与えられるのではないかと筆者らは考えている.任意の分布 Q(h) を用いて,対数尤度の変分 下界を求めることができる.そのため,このヒューリスティックな手続きによって,そのよう な下界が求められる.しかし,その下界はどのような方法でも明示的に最適化されることは ないので,タイトからは程遠いのかもしれない.特に,ヒューリスティックな Q の推定では, 同じ層内の隠れユニット同士の相互作用も,入力により近い隠れユニットに対する深い層の 隠れユニットからのトップダウンのフィードバックによる影響も無視している.DBN におけ る MLP に基づくヒューリスティックな推論手続きでは,これらの相互作用が考慮に入らない ため,結果的に Q が最適値から遠くなってしまうだろう.DBM では,ある層内のすべての 隠れユニットは,他の層の下で条件付き独立である.層内相互作用がないことで,不動点方程 式を用いて変分下界を最適化したり,真の最適な平均場の期待値を(ある数値許容範囲内で) 見つけたりすることができる. 適切な平均場を利用すれば,DBM の近似推論手続きはトップダウンなフィードバック相互 作用の影響を取り込むことができる.このことは,DBM は神経科学の立場からも興味深いも のとなっている.なぜなら,人間の脳が多くのトップダウン式のフィードバック結合を用い ていることが知られているからである.この性質により,DBM は実際の神経科学的な現象の 計算モデルとして使われてきた (Series et al., 2010; Reichert et al., 2011). 634

第 20. 深層生成モデル

1 つ残念な性質は,DBM からサンプリングするのが比較的難しいということだ.DBN は 最上部の 2 層でのみ MCMC サンプリングを使う必要がある.他の層は,サンプリング過程 の最後に,効率的な伝承サンプリングを1回実行する中で使われるだけである.DBM からサ ンプルを生成するためには,すべての層にわたって MCMC を使い,モデルのすべての層をす べてのマルコフ連鎖の遷移に参加させる必要がある.

20.4.2 DBM 平均場推論 DBM のある層における,隣接する層の下での条件付き確率分布は階乗になる.2 つの隠れ 層を持つ DBM の例の場合,これらの分布は P (v | h(1) ),P (h(1) | v, h(2) ),P (h(2) | h(1) ) と書ける.すべての隠れ層に関する分布は,層間相互作用のため一般的には因数分解できな

い.2 つの隠れ層の例では,互いに依存する変数 h(1) と h(2) の間の相互作用重み W (2) のた め,P (h(1) , h(2) | v) は因数分解できない

DBN の場合と同様に,ここでも DBM の事後分布を近似する方法を探すほかない.しかし,

DBN とは異なり,DBM の隠れユニットにおける事後分布は,複雑ではあるものの(19.4節 で議論されたように)変分近似,特に平均場近似によって簡単に近似することができる.平 均場近似は,近似分布を完全な階乗分布に制限した変分推論の簡単な形である.DBM に関し ては,平均場方程式は層間の両方向の相互作用を捉える.本節では,元々Salakhutdinov and

Hinton (2009a) で導入された反復近似推論手続きを導く. 推論のための変分近似では,ある適度に単純な分布族によって特定の目標分布(この場合は 可視ユニットの下での隠れユニットの事後分布)を近似するタスクに取り組む.平均場近似 の場合,近似に使われる族は,隠れユニットが条件付き独立となるような分布の集合である. そ れ で は ,2 つ の 隠 れ 層 の 場 合 に つ い て ,平 均 場 近 似 の ア プ ロ ー チ を 開 発 し よ う .

Q(h(1) , h(2) | v) が P (h(1) , h(2) | v) の近似であるとする.平均場仮定は,以下を含意する. Q(h(1) , h(2) | v) =

!

(1)

Q(hj

j

| v)

! k

(2)

Q(hk | v).

(20.29)

平均場近似は,真の事後分布 P (h(1) , h(2) | v) に最もよく当てはまるような分布族を見つ

けようとする.重要なことは,新たな v の値を使うたびに,別の分布 Q を見つけるための推 論過程を繰り返す必要があるということである.

Q(h | v) が P (h | v) にどれだけよく当てはまっているかの尺度はいく通りも思いつくこと

635

第 20. 深層生成モデル

ができる.平均場近似をするということは,以下を最小化することである.

KL(Q∥P ) =

!

Q(h

(1)

,h

(2)

h

| v) log

"

Q(h(1) , h(2) | v) P (h(1) , h(2) | v)

#

(20.30)

.

一般に,独立性の仮定を強要すること以上にパラメトリックな近似分布の形を与える必要は ない.変分近似の手続きは,一般に近似分布の関数形を復元することができる.しかし,(こ こでの説明における)二値の隠れユニットについての平均場近似の仮定の下では,前もってモ デルのパラメータを定めても一般性が失われることはない.

Q をベルヌーイ分布の積としてパラメータ化する.すなわち,h(1) の各要素の確率をパラ ˆ (1) ∈ [0, 1] とすると,各 j について h ˆ (1) = Q(h(1) = メータと結びつける.具体的に言えば,h j

j

j

ˆ (2) ∈ [0, 1] とすると,各 k について h ˆ (2) = Q(h(2) = 1 | v) が成り立つ. 1 | v) が成り立ち,h k k k 結果として,事後分布について以下の近似が得られる.

Q(h(1) , h(2) | v) = =

$

(1)

Q(hj

j

$ j

| v)

(1)

$ k

(2)

(20.31)

Q(hk | v) (1)

ˆ (1) )hj (1 − h ˆ (1) )(1−hj (h j j

)

×

$ k

(2)

(2)

ˆ (2) )hk (1 − h ˆ (2) )(1−hk ) . (h k k (20.32)

もちろん,より多くの層を持つ DBM の場合,近似事後分布のパラメータ化は次のような明 確な方法で拡張することができる.2 部グラフ構造を利用して,まず偶数番目の層すべてを同 時に更新し,次に奇数番目の層すべてを同時に更新するといった方法である.これは,ギブス サンプリングと同じ工程に従っている. . 近似分布 Q の族を指定したので,残すは P に最もよくあてはまる族を選ぶ手続きを指定す れば良い.これを行う最も直接的な方法は,式19.56で示される平均場方程式を用いることで ある.平均場方程式は,変分下界の微分がゼロの場合について解くことで導かれる.この方 程式は,単純に Q についての期待値をとることで,任意のモデルの変分下界を最適化する方 法を抽象的に表している. こういった一般的な方程式を適用することで,以下の更新ルールが得られる(繰り返しにな るが,バイアス項は無視している).

ˆ (1) h j



% !

(1) vi Wi,j

+

k′

i

ˆ (2) h k

!

(2) ˆ (2) Wj,k′ h k′

⎛ ⎞ ! (2) (1) ˆ ′ ⎠ , ∀k. = σ⎝ Wj ′ ,k h j j′

636

&

, ∀j

(20.33) (20.34)

第 20. 深層生成モデル

この連立方程式の不動点では,変分下界 L(Q) の極大値が得られる.ゆえに,これらの不動点

ˆ 更新方程式は,(式20.33を用いる)h j

(1)

ˆ の更新と(式20.34を用いる)h k

(2)

の更新を交互に行

う反復アルゴリズムを定義する.MNIST のような小さな問題では,10 回程度の少ない反復 でも学習用の正段階の勾配を近似的に見つけるには十分であり,通常は 50 回程度あれば,1 つの特定の事例について高精度な分類に使用できる高品質の表現が十分に得られる.より深 い DBM に対して近似変分推論を拡張するのは容易である.

20.4.3 DBM パラメータ学習 DBM における学習では,計算困難な分配関数に対しては18章の技法を用い,計算困難な事 後分布に対しては19章の技法を用いることで,2 つの困難に立ち向かわなくてはならない.

20.4.2節で述べたように,変分推論によって,計算困難な P (h | v) を近似する分布 Q(h | v)

を構築できる.そして,学習は,計算困難な対数尤度 log P (v; θ) の変分下界である L(v, Q, θ) の最大化により進められる.

2 つの隠れ層を持つ深層ボルツマンマシンにおける L は,次の式で与えられる. !! ! ! (1) (2) (2) (1) ˆ (1) ˆ ′ W ′ ′h ˆ L(Q, θ) = vi Wi,j ′ h + h ′ j j j ,k k′ − log Z(θ) + H(Q). i

j′

j′

(20.35)

k′

この式は,まだ対数分配関数 log Z(θ) を含んでいる.深層ボルツマンマシンは構成要素とし て制限付きボルツマンマシンを持つため,制限付きボルツマンマシンにあてはまる分配関数を 計算したりサンプリングしたりする困難性は,深層ボルツマンマシンにもあてはまる.これ は,ボルツマンマシンの確率質量関数を評価するのに,焼きなまし重点サンプリングのような 近似的な方法が必要になることを意味している.同様に,モデルを訓練するには対数分配関 数の勾配を近似する方法が必要であることを意味している.これらの方法の一般的な記述に 関しては18章を参照してほしい.DBM は,通常,確率的最尤法によって訓練される.18章で 取り上げた他の技法の多くは適用できない.擬似尤度のような技法には非正規化確率を評価 できる必要があり,単にその変分下界が得られてもだめである.コントラスティブ・ダイバー ジェンスは,可視ユニットの下での隠れユニットに対する効率的なサンプリングができないた め深層ボルツマンマシンでは遅い.それどころか,コントラスティブ・ダイバージェンスは, 負段階のサンプルが新たに必要になるたびにマルコフ連鎖のバーンインを要求するだろう. 非変分型の確率的最尤アルゴリズムは18.2節で取り上げた.DBM に適用される変分確率的 最尤法をアルゴリズム20.1に示す.バイアスパラメータのない,単純化された DBM の変種 について説明してきたことを思い出してほしい.バイアスパラメータを含ませることは自明 である. 637

第 20. 深層生成モデル

Algorithm 20.1 2 つの隠れ層を持つ DBM を訓練する変分確率的最尤法アルゴリズム. ステップの大きさ ϵ を,小さい正の数に定める ギブスステップの回数 k を,p(v, h(1) , h(2) ; θ + ϵ∆θ ) のマルコフ連鎖が p(v, h(1) , h(2) ; θ) からのサンプルから始めてバーンインできる十分な大きさに定める

˜ (1) ,H ˜ (2) をランダムな値に初期化する(たと それぞれが m 行からなる 3 つの行列 V˜ ,H えばベルヌーイ分布から,可能なら周辺がモデルの周辺に合っている分布から).

while 収束していない(学習ループ) do m 個の事例のミニバッチを訓練データからサンプリングし,設計行列 V の行に並べる. ˆ (1) と H ˆ (2) を,可能ならモデルの周辺に合わせて,初期化する. 行列 H while 収束していない (平均場推論ループ) do ! " (1) (1) ˆ ˆ (2) W (2)⊤ . H ←σ VW +H ! " ˆ (2) ← σ H ˆ (1) W (2) . H end while ∆W (1) ← ∆W (2) ←

1 ⊤ ˆ (1) mV H 1 ˆ (1) ⊤ ˆ (2) H mH

for l = 1 to k (ギブスサンプリング) do ギブスブロック 1:

# ! "⊤ $ (1) (1) ˜ ˜ ∀i, j, P (Vi,j = 1) = σ Wj,: Hi,: からサンプリングされた V˜i,j . ! " ˜ (1) W (2) からサンプリングされた H ˜ (2) = 1) = σ H ˜ (2) . ∀i, j, P (H i,j i,: :,j i,j ギブスブロック 2:

! " ˜ (2) W (2)⊤ からサンプリングされたH ˜ (1) = 1) = σ V˜i,: W (1) + H ˜ (1) . ∀i, j, P (H i,j :,j i,: j,: i,j

end for

∆W (1) ← ∆W (1) − ∆W (2) ← ∆W (2) −

1 ⊤ ˜ (1) mV H 1 ˜ (1)⊤ ˜ (2) H mH

W (1) ← W (1) + ϵ∆W (1) (これは簡略化して書かれており,実際には学習率の減衰を用 いるモメンタムなどのより効果的なアルゴリズムを用いる)

W (2) ← W (2) + ϵ∆W (2)

end while

638

第 20. 深層生成モデル

20.4.4 層別の事前学習 残念ながら,ランダムな初期化による(上述の)確率的最尤法を用いた DBM の訓練はしば しば失敗に終わる.ある場合には,分布の適切な表現を学習するのに失敗する.別の場合で は,DBM は分布をうまく表現できていても,得られる尤度が単なる RBM と比べて高くなら ない.第 1 層以外のすべての層がとても小さな重みしか持たない DBM は,RBM と同じ分 布を近似的に表現する. 同時訓練を許すさまざまな技法が発展しており,20.4.5節で取り上げる.しかし,DBM の 同時訓練問題を乗り越えるための,元々の最も有名な手法は層別の貪欲事前学習である.こ の方法では,DBM の各層は RBM として独立に訓練される.第 1 層は入力データをモデリ ングするように訓練される.あとに続く RBM は,それぞれ 1 つ前の RBM の事後分布から のサンプルをモデリングするように訓練される.すべての RBM がこのような方法で訓練さ れたあとに, これらの RBM をまとめて DBM を構成する.次に,DBM は PCD で訓練さ れる.一般的に,PCD による訓練は,モデルのパラメータや,データに与えられる対数尤度, あるいは入力を分類する能力によって測られるその性能に小さな変更しか施さない.訓練手 続きの図を図20.4に示す. この層別の貪欲訓練の手続きは,ただの座標上昇アルゴリズムではない.層別の貪欲訓練 の手続きは,各ステップでパラメータの部分集合の 1 つを最適化するという意味では,座標 上昇法と多少類似している.2 つの方法の異なる点は,層別の貪欲訓練手続きが,各ステップ で異なる目的関数を用いることである.

DBM の層別の貪欲事前学習は,DBN の層別の貪欲事前学習とは異なっている.DBN の 場合,各 RBM のパラメータは対応する DBN に直接コピーされる.DBM の場合,RBM の パラメータは DBM に挿入される前に修正されなければならない.積み重ねられる RBM の 中間の層はボトムアップの入力のみによって訓練されるが,DBM を形成するために積み重 ねられたあとは,その層はボトムアップとトップダウンの両方の入力をもつ.この効果を考 慮に入れるために,Salakhutdinov and Hinton (2009a) は,最上部と最下部を除くすべての

RBM の重みを,DBM に挿入する前に半分にすることを提唱した.加えて,最下部の RBM は,各可視ユニットの 2 つの「コピー」と,その 2 つのコピーの間を結ぶ同じ大きさの重みと によって訓練されなければならない.これは,上向きの通過において重みが実効的に 2 倍に なることを意味している.同様に,最上部の RBM は,最上層の 2 つのコピーによって訓練 されなければならない.

639

第 20. 深層生成モデル

a)

c)

b)

d)

図 20.4: MNIST データ集合を分類するために使われる深層ボルツマンマシンの訓練手続き (Salakhut-

dinov and Hinton, 2009a; Srivastava et al., 2014).(a)CD 法を用いて RBM を訓練し,log P (v) を 近似的に最大化する.(b)CD-k 法を用いて,h(1) と標的クラス y をモデリングする 2 つ目の RBM を 訓練し,log P (h(1) , y) を近似的に最大化する.ここで,h(1) は,データで条件づけられた 1 つ目の RBM の事後分布から抽出される.学習の過程で,k を 1 から 20 まで増加させる.(c)2 つの RBM を まとめて DBM にする.k = 5 の確率的最尤法を用いて DBM を訓練し,log P (v, y) を近似的に最大化 する.(d)y をモデルから消去する.y のないモデルで平均場推論を実行し,得られる新たな特徴量の組 み h(1) と h(2) を定義する.これらの特徴量を MLP への入力として用いる.MLP の構造は,y を推定 するための追加の出力層を持ち,平均場の通路を加えたものと同じである.MLP の重みを初期化して, DBM の重みと同じにする.確率的勾配降下法とドロップアウトを用いて MLP を訓練し,log P (y | v) を近似的に最大化する.図はGoodfellow et al. (2013b) から引用した.

640

第 20. 深層生成モデル

深層ボルツマンマシンの最先端の結果を得るには,標準 SML アルゴリズムを修正して,同 時 PCD 訓練ステップの負段階の間に小さな量の平均場を用いる必要がある (Salakhutdinov

and Hinton, 2009a).特にエネルギー勾配の期待値は,すべてのユニットが互いに独立であ るような平均場分布に従って計算されなければならない.この平均場分布のパラメータは,平 均場不動点方程式をほんの 1 ステップ実行するだけで得られるべきである.負段階の部分平 均場を用いる場合と用いない場合の中心化 DBM の性能の比較は,Goodfellow et al. (2013b) を参照されたい.

20.4.5 深層ボルツマンマシンの同時訓練 古典的な DBM は教師なし貪欲事前学習を必要とし,分類をうまく行うためには抽出する 隠れ特徴量の上に MLP に基づく別の分類器が必要である.この方法は,いくつかの望ましく ない特性を持つ.1 つ目の RBM を訓練している間は DBM 全体の特性を評価することがで きないため,訓練中に性能を追跡することが難しい.そのため,訓練過程のかなりあとになら ないと,ハイパーパラメータがどのくらい上手く働いているかどうかが分かりにくい.DBM を実装するソフトウェアには,個別の RBM を CD 法で訓練したり,DBM 全体を PCD で訓 練したり,MLP を通して誤差逆伝播に基づく訓練をしたりする多くの異なる構成要素が必要 である.最後に,ボルツマンマシンの上に置かれる MLP は,ボルツマンマシンの確率モデ ルの優位性,たとえば入力に欠損値がある場合でも推論が可能であるなどの多くの優位性を 失ってしまう. 深層ボルツマンマシンの同時訓練問題を解決する手段には,おもに 2 つの方法がある.1 つ 目は,中心化深層ボルツマンマシン(centered deep Boltzmann machine)(Montavon

and Muller, 2012) で,学習過程の初期において,コスト関数のヘッセ行列をよりよく条件 づけするためにモデルを再パラメータ化したものである.これは,層別の貪欲事前学習段階 なしでも訓練できるモデルを提供する.結果的に,このモデルは,テスト集合においてすば らしい対数尤度を獲得し,高品質なサンプルを生み出す.残念ながら,分類器としては,適 切に正則化された MLP と競うことができないままでいる.深層ボルツマンマシンの同時訓 練を可能にする 2 つ目の方法は,多予測深層ボルツマンマシン(multi-prediction deep

Boltzmann machine) (Goodfellow et al., 2013b) の利用である.このモデルは,MCMC による勾配推定問題を避けるために誤差逆伝播アルゴリズムを使うことができる代替的な訓 練基準を用いている.残念ながら,この新たな基準は,結果として良好な尤度やサンプルにつ ながらなかったが,MCMC の手法との比較では優れた分類性能をしめし,欠損値のある入力 をより良く推論した. 641

第 20. 深層生成モデル

ボルツマンマシンの中心化技法を最も簡単に説明するには,ボルツマンマシンの一般的な 概念に立ち返って,重み行列 U とバイアス b を持つユニット x の集合によって構成されるも のとしてみてみればよい.式20.2を思い出してほしい.エネルギー関数は以下のように与え られる.

E(x) = −x⊤ U x − b⊤ x.

(20.36)

重み行列 U のスパース性に異なるパターンを用いることで,RBM や層数の異なる DBM な どのような,ボルツマンマシンの構造を実装することができる.これは,x を可視ユニットと 隠れユニットとに分け,相互作用しないユニットについて U の要素をゼロにすることで成し 遂げられる.中心化ボルツマンマシンでは,次の式のように,ベクトル µ を導入してすべて の状態から差し引く.

E ′ (x; U , b) = −(x − µ)⊤ U (x − µ) − (x − µ)⊤ b.

(20.37)

一般に,µ は訓練の最初に定められたハイパーパラメータである.通常は,モデルが初期化 されるときに,x − µ ≈ 0 となるように選ばれる.この再パラメータ化によってモデルが表 現できる確率分布の集合が変わることはないが,尤度に適用される確率的勾配降下法の振る 舞いは変わる.具体的に言えば,多くの場合では,再パラメータ化によってヘッセ行列がよ りよく条件づけされる結果となる.Melchior et al. (2013) は,ヘッセ行列の条件づけが改善 することを実験的に確認するとともに,中心化技法がもう 1 つのボルツマン機械学習技法で ある増強された勾配(enhanced gradient)(Cho et al., 2011) と等価であることを観測し た.ヘッセ行列の改善された条件づけは,多層の深層ボルツマンマシンを訓練するような難 しい場合であっても学習を成功させることができる. 深層ボルツマンマシンを同時に訓練する別の方法は,多予測深層ボルツマンマシン(MP-

DBM)である.これは,平均場方程式が回帰結合型ネットワークの族を定義しているとみ なすことによって,すべての可能な推論問題を近似的に解くものである (Goodfellow et al.,

2013b).尤度を最大化するためにモデルを訓練するのではなく,それぞれの回帰結合型ネッ トワークが,対応する推論問題についての正確な答えを得るようにモデルを訓練する.訓練 過程を図20.5に示す.これは,訓練事例をランダムにサンプリングし,推論ネットワークに対 する入力の部分集合をランダムにサンプリングし,それから推論ネットワークを訓練して,そ れ以外のユニットの値を予測することから構成される. 近似推論のために計算グラフを誤差逆伝播するこの一般的な原理は,他のモデルにも適用 されてきた (Stoyanov et al., 2011; Brakel et al., 2013).これらのモデルや MP-DBM では, 最終的な損失は尤度の下界ではない.代わりに,最終的な損失は通常,近似推論ネットワー クが欠損値に課している近似的な条件付き分布に基づくものになる.これは,これらのモデ 642

第 20. 深層生成モデル

図 20.5: 深層ボルツマンマシンのための多予測訓練過程の図.各行は,それぞれ同じ訓練ステップにお けるミニバッチ内の異なる例を示している.各列は,それぞれ平均場推論過程内の時間ステップを表現

する.それぞれの例において,データ変数の部分集合をサンプリングして推論過程に入力する.これら の変数は黒く塗られていて,条件づけを示している.次に,平均場推論過程を実行する.この過程の中 で,どの変数が別のどの変数に影響するかを矢印で示している.実際の応用では,数ステップにわたっ て平均場を解く.この図では 2 ステップだけを描いた.破線の矢印は,この過程がより多くのステップ で解かれることを示している.推論過程の入力として使われなかったデータ変数は目標となり,灰色に

塗られている.それぞれの例における推論過程は,回帰結合型ネットワークとしてみることができる. 勾配降下法と誤差逆伝播法を用いて,与えられた入力の下での正しい目標が生成されるようにこれらの 回帰結合型ネットワークを訓練する.これは,MP-DBM が正確な推定を生み出すように平均場過程を 訓練する.図はGoodfellow et al. (2013b) から引用した.

643

第 20. 深層生成モデル

ルの訓練が,いくぶんヒューリスティックに動機づけられていることを意味する.MP-DBM で学習させたボルツマンマシンによって表現された p(v) を調べると,ギブスサンプリングが 不良なサンプルを生み出すという意味において,いくぶん乏しい結果を示す傾向になる. 推論グラフを通じた誤差逆伝播には,おもに 2 つの優位性がある.1 つ目は,実際に使われ るのと同じように近似推論を使ってモデルが訓練されることである.これは,たとえば,欠損 値のある入力を補填したり,入力に欠損値があるにも関わらず分類を行ったりするための近 似推論が,元の DBM よりも MP-DBM の方がより正確であることを意味する.元の DBM は,それ自体が正確な分類器にはならない.元の DBM によって最良の分類結果が得られる のは,クラスラベルの分布を計算するために DBM の推論を利用したからではなく,DBM に よって抽出された特徴量を利用するために別の分類器を訓練したからである.MP-DBM の 平均場推論は,特別な修正を加えていない分類器と同等の性能を持つ.近似推論を通じた誤差 逆伝播の別の優位性は,誤差逆伝播が損失の正しい勾配を計算することである.これは,バイ アスとバリアンスの両方に脅かされる SML による訓練で得られる近似勾配よりも最適化に適 している.これはおそらく,DBM が層別の貪欲事前訓練を必要とする一方で,MP-DBM が 同時に訓練できる理由を説明している.近似推論グラフを通る誤差逆伝播の不利な点は,対 数尤度を最適化する方法を提供せず,むしろ一般化擬似尤度のヒューリスティックな近似を 与えることである.

MP-DBM は,NADE の枠組みを拡張した NADE-k (Raiko et al., 2014) に影響を与えた. これについては20.10.10節で述べる.

MP-DBM は,ドロップアウトといくらか関連がある.ドロップアウトは,多くの異なる計 算グラフの間で同じパラメータを共有している.それぞれのグラフの違いは,それぞれのユ ニットを含むか含まないかの違いである.MP-DBM もまた,多くの計算グラフにわたってパ ラメータを共有する.MP-DBM の場合,グラフ間の違いは,各入力ユニットが観測されてい るか否かである.もしユニットが観測されていない場合,MP-DBM は,ドロップアウトの場 合と同様にはそれを完全には消去しない.その代わりに,MP-DBM は,それを推論されるべ き潜在変数として取り扱う.いくつかのユニットを潜在化する代わり取り除いてしまうこと で,MP-DBM へのドロップアウトの適用を考えることもできる.

20.5 実数値データに対するボルツマンマシン ボルツマンマシンは元々二値データで利用するために開発されたものではあるが,画像や 音声のモデリングのような多くの応用では実数値における確率分布を表現する能力が必要と 644

第 20. 深層生成モデル

なるだろう.場合によっては,[0,1] 間の実数値データが,二値変数の期待値を表現している とみなすことができる.たとえば,Hinton (2000) は,訓練集合の中のグレースケール画像 が,[0,1] 間の確率値を定義しているとみなした.各ピクセルは二値の値が 1 である確率を定 義し,二値のピクセルはすべて互いに独立にサンプリングされる.これは,グレースケールの 画像データ集合に対する二値モデルを評価する一般的な手続きである.しかし,これは特段 理論的に満足できるアプローチというわけではなく,この方法で独立にサンプリングされた 二値画像はノイズの多い結果となる.本節では,実数値データにおける確率密度を定義する ボルツマンマシンを紹介する.

20.5.1 ガウス-ベルヌーイ型 RBM 制限付きボルツマンマシンは,多くの指数型分布族の条件付き分布に対して構築すること ができる (Welling et al., 2005).もちろん,最も一般的なものは,二値の隠れユニットと実 数値の可視ユニットからなる RBM で,可視ユニットの条件付き分布がガウス分布であり,そ の分布の平均は隠れユニットの関数となっているものである. ガウス-ベルヌーイ型 RBM をパラメータ化する方法はたくさんある.1 つの選択肢は,ガ ウス分布に共分散行列を用いるか精度行列を用いるかである.ここでは精度行列を用いた定 式化を説明する.共分散行列による定式化を得るための修正は簡単である.今,必要な条件 付き分布は次の式のようなものである.

p(v | h) = N (v; W h, β −1 ).

(20.38)

非正規化対数条件付き分布を展開することで,エネルギー関数に加える必要のある項を見つ けることができる.すなわち,

1 ⊤ log N (v; W h, β −1 ) = − (v − W h) β (v − W h) + f (β) 2

(20.39)

となる.ここで,f は,モデル中の確率変数を持たずパラメータのみを持つすべての項を 1 つ にまとめた関数である.f の唯一の役割は分布を正則化することなので,f の項を無視する ことができる.また,なんであれ選んだエネルギー関数の分配関数がその役割を担うことに なる. もし,式20.39中の v を持つすべての項を(符号を反転させて)エネルギー関数に含め,そ れ以外に v を持つ項を加えたりしなければ,エネルギー関数は所望の条件付き分布 p(v | h) を表すことになる.

もう1つの条件付き分布 p(h | v) に関しては,いくらかの自由度がある.式20.39が以下の 645

第 20. 深層生成モデル

項を持つことに注意してほしい.

1 ⊤ ⊤ h W βW h. 2

(20.40)

この項は hi hj の項を含むため,そっくりそのまま含めることはできない.これらは隠れユ ニットを結ぶ辺に対応する.もし,これらの項を含むと,制限付きボルツマンマシンではな く線形因子モデルとなる.ボルツマンマシンを設計するときは,単純に,これらの hi hj の 交差項を省略する.これらを省略することで条件付き分布 p(v | h) が変わることはなく, 式20.39はなお保たれる.しかし,ある単独の hi だけを持つ項を含ませるか否かの選択肢が

残る.もし対角精度行列を仮定すると,各隠れユニット hi についての以下の項が含まれてい ることが分かる.

1 ! 2 hi βj Wj,i . 2 j

(20.41)

ここで,hi ∈ {0, 1} であるため,h2i = hi となることを用いた.もし,この項を(符号を反転 させて)エネルギー関数に含めると,そのユニットの重みが大きくて可視ユニットと高精度で 結合している場合,この項は hi を遮断する方向に自然にバイアスをかける.このバイアス項 を含ませるか否かの選択は,(隠れユニットのバイアスパラメータが含まれていると仮定した 場合に)モデルが表現できる分布族に影響を与えることはないが,モデルの学習ダイナミクス に影響を与える.その項を含めることで,重みの値が急激に増加しても,隠れユニットの活性 化は適切なままとなる. したがって,ガウス-ベルヌーイ型 RBM のエネルギー関数を定義する 1 つの方法は

E(v, h) =

1 ⊤ v (β ⊙ v) − (v ⊙ β)⊤ W h − b⊤ h 2

(20.42)

とすることである.しかし,余分な項を付加したり,精度ではなく分散についてエネルギーを パラメータ化する方を選んだりしてもよい. この導出では可視ユニットにバイアス項を含めなかったが,これは簡単に加えることがで きる.ガウス-ベルヌーイ型 RBM のパラメータ化における変動性の最後の要因の 1 つは,ど のように精度行列を取り扱うかである.それは定数(おそらくデータについての一定の精度 での推論を元にではあるが)として固定されるか,学習されるかのどちらかである.また,精 度行列は単位行列にスカラーを掛けたものでもよいし,対角行列でもよい.これに関して,一 般に精度行列を非対角行列にすることはないが,それはガウス分布に対するいくつかの操作 において逆行列を作ることが必要であり,対角行列は逆行列を持つことは自明だからである. 次節以降,他の形のボルツマンマシンが,精度行列の逆行列を回避するさまざまな技法を用い て共分散構造のモデリングを可能にしていることを確認する. 646

第 20. 深層生成モデル

20.5.2 条件付き共分散の無向モデル ガウス型 RBM が実数値データに対しての正準エネルギーモデルであるにもかかわらず,

Ranzato et al. (2010a) は,ガウス型 RBM の帰納バイアスがいくつかの実数値データの型, 特に自然画像において現れる統計的変化性にあまりなじまないと主張している.問題は,自然 画像において現れる情報量の多くが,生のピクセル値ではなくピクセル間の共分散に結びつ いていることである.言い換えると,画像について有用な情報のほとんどは,ピクセルの絶対 値ではなくピクセル間の関係性にあるということである.ガウス型 RBM は,隠れユニット の下での入力の条件付き平均しかモデリングしないため,条件付き共分散の情報を捉えるこ とができない.これらの批判を受けて,実数値データの共分散をよりうまく説明しようとす る代替的なモデルが提案されてきた.これらのモデルには,平均-共分散型 RBM(the mean

and covariance RBM,mcRBM*1 ),平均-スチューデントの t 分布の積(mean-product of t-distribution,mPoT)モデル,スパイク-スラブ型 RBM(spike and slab RBM,ssRBM) が含まれる. ■平均-共分散型 RBM mcRBM は,観測されるすべてのユニットの条件付き平均と共分散 を独立に符号化するためにその隠れユニットを用いる.mcRBM の隠れ層は,平均ユニッ トと共分散ユニットの 2 つのユニットのグループに分けられる.条件付き平均をモデリン グするグループは,単なるガウス型 RBM である.もう 1 つのグループは,共分散型 RBM (covariance RBM,cRBM) (Ranzato et al., 2010a) と呼ばれるもので,以下に説明するよ うに条件付き共分散構造をモデリングする構成要素を持っている. 特に,二値の平均ユニット h(m) と二値の共分散ユニット h(c) を持つ mcRBM モデルは, 次のように 2 つのエネルギー関数の組み合わせで定義される.

Emc (x, h(m) , h(c) ) = Em (x, h(m) ) + Ec (x, h(c) ),

(20.43)

である.ただし,Em は標準ガウス-ベルヌーイ型 RBM エネルギー関数であり,*2

Em (x, h(m) ) =

! ! (m) (m) 1 ⊤ (m) x x− x⊤ W:,j hj − bj hj , 2 j j

(20.44)

「mcRBM」という用語は,文字をそのままエム-シー-アール-ビー-エムと読む.「マクドナルド」のように 「mc」を「マク」とは読まない. *2 この種類のガウス-ベルヌーイ型 RBM エネルギー関数は,画像データのピクセルあたりの平均がゼロである ことを仮定する.非ゼロのピクセル平均を持つモデルに対しては,ピクセルのオフセットを容易に追加できる. *1

647

第 20. 深層生成モデル

となる.また,Ec は,条件付き共分散の情報をモデリングする cRBM エネルギー関数であり

Ec (x, h(c) ) = となる.パラメータ r (j) は hj

(c)

1 ! (c) " ⊤ (j) #2 ! (c) (c) h x r − bj hj , 2 j j j

(20.45)

に関連づけられた共分散重みベクトルであり, b(c) は共分散

オフセットのベクトルである.結合エネルギー関数は,同時確率分布は

pmc (x, h(m) , h(c) ) =

$ % 1 exp −Emc (x, h(m) , h(c) ) , Z

(20.46)

と定義され,h(m) と h(c) の下での観測変数における条件付き確率は



⎛ ⎞ ⎞ ! (m) mc ⎝ mc ⎠ pmc (x | h(m) , h(c) ) = N ⎝x; Cx|h W:,j hj ⎠ , Cx|h .

(20.47)

j

mc と多変量ガウス分布として定義される.共分散行列 Cx|h =

"*

j

(c)

hj r (j) r (j)⊤ + I

#−1



非対角行列であり,W が条件付き平均をモデリングするガウス型 RBM と関連する重み行 列であることに注意されたい.条件付き共分散構造が非対角行列であるために,コントラス ティブ・ダイバージェンスや継続的コントラスティブ・ダイバージェンスを用いて mcRBM を訓練するのは困難である.CD と PCD は x,h(m) ,h(c) の同時分布からのサンプリング を必要とし,これは標準的な RBM では条件付き分布におけるギブスサンプリングによっ てなされる.しかし,mcRBM では,pmc (x | h(m) , h(c) ) からのサンプリングは,学習にお けるイテレーションのたびに (C mc )−1 を計算する必要がある.これは,より大きな観測に

とって実行不可能な計算的負荷になりうる.Ranzato and Hinton (2010) は,条件付き確率

pmc (x | h(m) , h(c) ) からの直接のサンプリングを避けて周辺分布 p(x) から直接サンプリン グするために,mcRBM の自由エネルギーにハミルトニアン (ハイブリッド) モンテカルロ 法 (Neal, 1993) を用いている. ■平均-スチューデントの t 分布の積

平均-スチューデントの t 分布の積(mean-product of

Student’s t-distribution,mPoT)モデル (Ranzato et al., 2010b) は,PoT モデル (Welling et al., 2003a) を拡張したものであり,その方法は,mcRBM が cRBM を拡張した方法と似 ている.これは,ガウス型 RBM に似た隠れユニットを追加することで,非ゼロのガウス平均 を含ませることで成し遂げられる.mcRBM と同じように,PoT の観測変数における条件付 き分布は(非対角共分散を持つ)多変量ガウス分布である.しかし,mcRBM とは異なり,隠 れ変数における相補的な条件付き分布は条件付き独立なガンマ分布によって与えられる.ガ ンマ分布 G(k, θ) は正の実数における確率分布であり,平均 kθ を持つ.mPoT モデルについ ての基本的な着想を理解するのに,ガンマ分布のより詳細な理解は必要ない. 648

第 20. 深層生成モデル

mPoT エネルギー関数は EmPoT (x, h(m) , h(c) )

(20.48) % % # $ ! " (c) " 1 (j)⊤ 2 (c) = Em (x, h(m) ) + hj 1+ r x + (1 − γj ) log hj (20.49) 2 j

で 与 え ら れ る .た だ し ,r (j) は ユ ニ ッ ト hj

(c)

と関連する共分散重みベクトルであり,

Em (x, h(m) ) は式20.44で定義されている. mcRBM と同じように,mPoT モデルのエネルギー関数は,非対角共分散を持つ x の条件 付き分布によって多変量ガウス分布を記述する.mPoT モデルにおける学習は,これもまた

mcRBM と同じように,非対角条件付きガウス分布 pmPoT (x | h(m) , h(c) ) からサンプリング

できないため困難である.そこで,Ranzato et al. (2010b) は,ハミルトニアン(ハイブリッ ド)モンテカルロによる p(x) からの直接サンプリングも提案している. ■スパイク-スラブ型制限付きボルツマンマシン

スパイク-スラブ型制限付きボルツマンマシ

ン(spike and slab restricted Boltzmann machines,ssRBM)(Courville et al., 2011) は,実 数値データの共分散構造をモデリングする別の方法を提供する.mcRBM と比べて,ssRBM は行列逆変換もハミルトニアンモンテカルロ法も必要としない点で優位である.mcRBM や

mPoT モデルと同様に,ssRBM の二値隠れユニットは,実数値変数を補助的に使って,ピク セルにまたがる条件付き共分散を符号化する. スパイク-スラブ型 RBM は,2 つの隠れユニット集合を持つ.二値のスパイク(spike)ユ ニット h と実数値のスラブ(slab)ユニット s である.隠れユニットによって条件づけされ た可視ユニットの平均は,(h ⊙ s)W ⊤ によって与えられる.言い換えると,各列 W:,i は,

hi = 1 であるときの入力に現れうる構成要素を定義する.対応するスパイク変数 hi は,構成 要素がそもそも存在するのかどうかを決める.対応するスラブ変数 si は,構成要素が存在す るときにその強度を定める.スパイク変数がアクティブなとき,対応するスラブ変数は,W:,i によって定義される軸にそって入力に分散を加える.これにより,入力の共分散がモデリン グできる.幸運にも,ギブスサンプリングを用いるコントラスティブ・ダイバージェンスと継 続的コントラスティブ・ダイバージェンスは,なおも適用可能である.逆行列を計算する必要 はない. 形式的には,ssRBM モデルは,次のエネルギー関数で定義される.

Ess (x, s, h) = −

! i

1 x⊤ W:,i si hi + x⊤ 2 649

&

Λ+

! i

Φ i hi

'

x

(20.50)

第 20. 深層生成モデル

+

! ! ! 1! αi s2i − α i µ i s i hi − b i hi + αi µ2i hi . 2 i i i i

(20.51)

ただし,bi はスパイク hi のオフセットであり,Λ は観測 x に対する対角精度行列である.パ ラメータ αi > 0 は実数値スラブ変数 si のスカラー精度パラメータである.パラメータ Φi は

x に課される h で変調された 2 次のペナルティを定義する非負の対角行列である.各 µi はス ラブ変数 si のための平均パラメータである. このエネルギー関数で定義される同時分布を使って,ssRBM の条件付き分布を導くのは比 較的簡単である.たとえば,スラブ変数 s を周辺化することで,二値スパイク変数 h が与え られた下での観測変数における条件付き分布は

1 1 pss (x | h) = P (h) Z # =N

"

exp {−E(x, s, h)} ds $ ! ss ss x; Cx|h W:,i µi hi , Cx|h

(20.52) (20.53)

i

! # " " ss ⊤ −1 となる.ただし,Cx|h = Λ + i Φi hi − i αi−1 hi W:,i W:,i である.最後の等式は,共分 ss 散行列 Cx|h が正定値のときのみ成り立つ.

スパイク変数によってゲートするということは,h ⊙ s に対する真の周辺分布がスパースで

あることを意味する.これは,モデルからのサンプルが符号の中にゼロを含むことが(測度論

的に)「ほとんどない」スパースコーディングとは異なっており,MAP 推定にはスパース性 を課す必要がある.

ssRBM を mcRBM や mPoT モデルと比較すると,ssRBM は観測変数に対する条件付き 共分散をかなり異なる方法でパラメータ化する.mcRBM と mPoT は,ともに,観測変数の 共分散構造を

%&

(c)

(j) (j)⊤ r +I j hj r

'−1

としてモデリングする際に,隠れユニット hj > 0

の活性を用いて,r (j) の方向の条件付き共分散を制約する.対照的に,ssRBM は,観測変数 の条件付き共分散を特定する際に,隠れ変数のスパイクの活性 hi = 1 を用いて,対応する 重みベクトルによって決められる方向に沿って精度行列を挟む.ssRBM の条件付き共分散 は,異なるモデル,確率的主成分分析の積(product of probabilistic principal components

analysis, PoPPCA) (Williams and Agakov, 2002) によって与えられるものと似ている.過 完備な設定の場合,ssRBM のパラメータ化によるスパースな活性は,スパースに活性化され た hi で決められた方向にのみ(Λ−1 で与えられる規定の分散を超える)大きな分散を可能と する.mcRBM や mPoT のモデルにおける過完備な表現が意味するものは,観測空間におけ る特定の方向の変化を捉えるために,その方向における正射影のすべての制約を潜在的に取 り除く必要があるということである.これは,これらのモデルが,過完備な設定にはあまり向 いていないことを示唆している. 650

第 20. 深層生成モデル

スパイク-スラブ型制限付きボルツマンマシンのおもな欠点は,パラメータのいくつかの設 定が,正定値でない共分散行列に対応することである.そのような共分散行列は,平均から遠 く離れた値のより非正規な確率を与え,起こりうるすべての出力に対する積分を発散させる. 一般に,この問題は簡単なヒューリスティックな技法で避けることができる.しかし,いまだ に理論的に満足のいく解は得られていない.確率が定義されていない領域を明示的に避ける ために制約付き最適化を使うのは,過剰に保守的な態度をとりパラメータ空間の高性能な領 域をモデルが利用することを妨げることなしには難しい. 定性的には,ssRBM の畳み込み型の変種は自然画像のすばらしいサンプルを生み出す.い くつかの例を図16.1に示す.

ssRBM はいくつかの拡張が可能である.高次の相互作用を含ませたり,スラブ変数の平均 プーリングを行ったり (Courville et al., 2014) することで,ラベル付きデータが少ない場合 でも,モデルは分類器としてとてもよい特徴量を学習できる.エネルギー関数に,分配関数 が未定義にならないようにする項を付け加えることで,結果としてスパースコーディングモ デル,S3C としても知られるスパイク-スラブ型スパースコーディング (Goodfellow et al.,

2013d) が得られる.

20.6 畳み込みボルツマンマシン 9章で見たように,画像のような非常に高次元な入力は,機械学習モデルの計算,メモリ,統 計における要件に大きな負担を強いる.行列の乗算を小さなカーネルによる離散畳み込みで 置き換えることは,平行移動不変な空間的構造や時間的構造を持つ入力に対するこれらの問 題を解く標準的な方法である. Desjardins and Bengio (2008) は,この方法を RBM に応用 してうまくいくことを示した. 深層畳み込みネットワークは,通常,連続する各層の空間的大きさが減少するようにプーリ ング操作を必要とする.順伝播型畳み込みネットワークでは,プーリングされる要素の最大 値などのプーリング関数を用いることが多い.これをどのようにエネルギーベースモデルの 設定に一般化するかは,自明ではない.二値プーリングユニット p を n 個の二値検出ユニッ ト d 上に導入し,制約が破られたときにエネルギー関数が必ず ∞ になるように設定すること によって p = maxi di を課すことができる.しかし,これには正規化定数を計算するために

2n 個の異なるエネルギー状態の評価が必要になる,これはあまりスケールしない.3 × 3 の 小さなプーリング領域でも,プーリングユニットごとに 29 = 512 回のエネルギー関数の評価 が必要なのである! 651

第 20. 深層生成モデル

Lee et al. (2009) は,この問題に対して確率的最大プーリング(probabilistic max pooling)と呼ばれる解法を開発した(畳み込み順伝播型ネットワークのアンサンブルを暗に 構築するテクニックである「確率的プーリング」と混同してはいけない).確率的最大プーリ ングの背後にある戦略は,検出ユニットに制約を課すことで,1 回につき最大で 1 つのユニッ トだけが活性化できるというものである.これは,合計で n + 1 個の状態しかない(n 個の検 出ユニットのどれか 1 つが発火するのに対応するそれぞれの状態と,すべての検出ユニット が発火しない状態 1 つ)という意味である.プーリングユニットは,1 つの検出ユニットが発 火している場合にのみ発火する.すべてのユニットが発火していない状態は,エネルギーが ゼロであるとする.これは,n + 1 個の状態をとる 1 つの変数だけを持つモデルを記述してい ると考えることができる.あるいは,n + 1 個の変数を持つモデルがエネルギー ∞ をほぼす べての n + 1 個の変数に同時に割り当てるのと同等であると考えてもよい.

効率的でありながら,確率的最大プーリングは検出ユニットが相互に排他的であることを 強いている,これは,ある状況では便利な正則化の制約になりうるが,他の状況ではモデルの 容量に対して有害な限界を与えうる.プーリング領域の重複も許されない.プーリング領域 の重複は,通常,順伝播型畳み込みネットワークで最高の性能を得るために必要となるので, この制約はおそらく畳み込みボルツマンマシンの性能を大幅に損ねる.

Lee et al. (2009) は,確率的最大プーリングを用いて畳み込み深層ボルツマンマシンを組み 立ててみせた.*3 このモデルは,その入力の欠損部分を埋めるような操作を実行できる.この モデルは知的に魅力的であるものの,実用的に機能させるのは難しく,通常は教師あり学習で 訓練された伝統的な畳み込みネットワークの分類器ほどの性能も示さない. 多くの畳み込みモデルは,多くの異なる空間的大きさの入力に対して同じようによく働く. ボルツマンマシンでは,さまざまな理由から入力の大きさを変えるのが難しい.入力の大き さが変わると分配関数も変わる.さらに,多くの畳み込みネットワークでは入力の大きさに 比例してプーリング領域を大きくすることで大きさに対する不変性を実現しているが,ボル ツマンマシンのプーリング領域の大きさを変えるのは困難である.伝統的な畳み込みニュー ラルネットワークでは,決められた数のプーリングユニットを利用し,プーリング領域の大き さを動的に増加させることで,可変な大きさの入力に対して固定された大きさの表現を手に 入れることができる.ボルツマンマシンでは,大きなプーリング領域は素直なやり方ではコ ストが高くなりすぎる.同じプーリング領域にある検出ユニットのそれぞれを相互排他的に するLee et al. (2009) のアプローチでは,計算上の問題は解決しているが,それでもなおプー *3

この文献では,このモデルを「深層信念ネットワーク」と表現している.しかしながら,このモデルは扱いや すい層別の平均場近似不動点更新を用いる純粋な無向モデルで記述されているので,深層ボルツマンマシンの 定義に最もよく合致している.

652

第 20. 深層生成モデル

リング領域を可変にはできない.たとえば,エッジ検出器を学習する検出ユニットについて,

2 × 2 の確率的最大プーリングを持つモデルを学習させるとする.これは,2 × 2 の領域のそ

れぞれに,これらのエッジのうちただ 1 つだけが現れてもよいという制約を課す.次に,入力 画像の大きさを各方向に 50% 増加させるとすれば,エッジの数もそれに応じて増加すること が期待されるだろう.そうではなくて,プーリング領域の大きさを各方向に 50% 増加させて

3 × 3 にすると,相互排他的な制約は,今度はこれらのエッジのそれぞれが 3 × 3 の領域の 1 つにたった 1 度しか現れないことを明示する.このようにしてモデルの入力画像を大きくし ていくと,モデルが生成するエッジはより低密度になる.当然,これらの問題が発生するの は,固定された大きさの出力ベクトルを出力するために,可変量のプーリングをモデルが利用 しなければならないときである.確率的最大プーリングを使うモデルでは,モデルの出力が, 入力画像に比例して大きさを変えられる特徴マップである限り,大きさが可変の入力画像を 受けつける. 画像の境界にあるピクセルにもまた多少の困難性があり,これはボルツマンマシンの結合 が対称であるという事実によって悪化する.もし,入力を暗黙的にゼロパディングしなけれ ば,可視ユニットよりも隠れユニットの方が少なくなり,画像の境界にある可視ユニットはよ り少ない隠れ層の受容野に置かれることになるため,うまくモデリングされなくなる.しか し,もし入力を暗黙的にゼロパディングすれば,境界にある隠れユニットは,より少ない入力 ピクセルで駆動されることになり,必要なときに活性化に失敗するかもしれない.

20.7 構造化出力や系列出力のためのボルツマンマシン 構造化出力の状況では,ある入力 x をある出力 y に写像するモデルを訓練するとき,y の 項目がそれぞれ相互に関係していて,何らかの制約に従わなくてはならない.たとえば,音声 合成のタスクの場合,y は波形であり,波形全体で発声としての整合がとれていなければなら ない.

y の項目間の関係を表現する自然なやり方は,確率分布 p(y | x) を用いることである.条

件付き分布をモデリングするように拡張されたボルツマンマシンは,この確率モデルを扱う ことができる.

ボルツマンマシンを用いた条件付きモデリングという同じツールは,構造化出力のタスク だけでなく,系列モデリングにも使える.後者の場合,モデルは,入力 x を出力 y に写像す るのではなく,変数系列の確率分布 p(x(1) , . . . , x(τ ) ) を推定しなければならない.条件付き ボルツマンマシンは,このタスクを遂行するために,p(x(t) | x(1) , . . . , x(t−1) ) の形で因数を 653

第 20. 深層生成モデル

表現できる. ビデオゲームや映画産業にとって重要な系列モデリングタスクは,3D キャラクターを描く ために使われる骨格の関節角度の系列のモデリングである.これらの系列は,モーションキャ プチャシステムを用いて俳優の動きを記録して収集されることが多い.キャラクター動作の 確率モデルは,新しく,見たことがない,現実感のあるアニメーション生成を可能にする.こ の系列モデリングタスクを解決するために,Taylor et al. (2007) は,小さな m に対する条件 付き RBM のモデリング p(x(t) | x(t−1) , . . . , x(t−m) ) を導入した.そのモデルは,バイアス

パラメータが先行する m 個の x の値の線形関数であるような p(x(t) ) に対する RBM である.

x(t−1) 以前の複数の変数のさまざまな値で条件づけすることで,x についての新しい RBM を得る.x についての RBM の重みは変わることはないが,過去のさまざまな値で条件づけす ることで,RBM 内の活性化されたさまざまな隠れユニットの確率を変えることができる.隠 れユニットの異なる部分集合を活性化したり不活性化したりすることで,x に誘発される確率 分布を大きく変えることができる.条件付き RBM の他の変種 (Mnih et al., 2011) や,条件 付き RBM を用いる系列モデリングの他の変種 (Taylor and Hinton, 2009; Sutskever et al.,

2009; Boulanger-Lewandowski et al., 2012) も実現可能である.. 系列モデリングのタスクには,他にも,音符の系列の分布をモデリングして歌の作曲に使 うというものがある.Boulanger-Lewandowski et al. (2012) は,RNN-RBM の系列モデ ルを導入して,このタスクに応用した.RNN-RBM は,各時間ステップごとに RBM のパラ メータを出力する1つの RNN から成る,フレーム x(t) の系列の生成モデルである.RBM のバイアスパラメータのみが 1 ステップごとに変化するような先程述べたモデルとは異なり,

RNN-RBM は重みも含めたすべての RBM のパラメータを出力する.モデルを訓練するため には,RNN を通して損失関数の勾配が誤差逆伝播できる必要がある.損失関数は RNN の出 力には直接適用されない.その代わり,損失関数は RBM に適用される.これは,コントラス ティブ・ダイバージェンスや関連アルゴリズムを使って,RBM のパラメータについて損失を 近似的に微分する必要があることを意味する.この近似勾配は,その後,時間アルゴリズムを 通る通常の誤差逆伝播アルゴリズムを用いる RNN を通って誤差逆伝播させてもよい.

20.8 その他のボルツマンマシン ボルツマンマシンには他にも多くの変種が実現可能である. ボルツマンマシンは,さまざまな訓練基準に拡張することができる.これまで,生成的な 基準 log p(v) を近似的に最大化するように訓練されたボルツマンマシンに焦点を当ててき 654

第 20. 深層生成モデル

た.代わりに,log p(y | v) の最大化を目標とする識別的 RBM を訓練することも可能である

(Larochelle and Bengio, 2008).このアプローチは,生成的な基準と識別的な基準の両方の

線形結合を用いる場合に最もよく機能する.残念ながら,RBM は,既存の方法を用いる限 り,教師あり学習に関して MLP ほど強力ではなさそうである. 実用的に使われているボルツマンマシンのほとんどは,エネルギー関数に 2 次の相互作用 しか持っていない.それは,それらのエネルギー関数が,2 つの確率変数の積だけを含む項 をいくつも足し合わせたものであることを意味している.このような項の例は,vi Wi,j hj で ある.多くの変数の積を含むエネルギー関数の項を持つ高次のボルツマンマシン (Sejnowski,

1987) を訓練することも可能である.1 つの隠れユニットと 2 つの異なるイメージの間の 3 方 向の相互作用は,ビデオの 1 フレームから次のフレームへの空間的な変換をモデリングできる

(Memisevic and Hinton, 2007, 2010).one-hot のクラス変数を掛けることによって,可視ユ ニットと隠れユニットの関係を,どのクラスが存在するかに応じて変えることができる (Nair

and Hinton, 2009).高次相互作用を用いる最近の例としては,隠れユニットのグループを 2 つ持つボルツマンマシンがあり,1 つのグループは可視ユニット v とクラスラベル y の両方 と相互作用し,もう1つのグループは入力値 v とだけ相互作用する (Luo et al., 2011).これ は,一部の隠れユニットについてはクラスに関係する特徴量を用いて入力をモデリングするよ うに学習させ,別の隠れユニットについては v のサンプルが事例のクラスを決定しないまま 本物らしくするために必要な面倒な細部を説明するように学習させるものと解釈できる.高 次の相互作用の別の用途は,いくつかの特徴量を制御することである.Sohn et al. (2013) が 導入したボルツマンマシンは,各可視ユニットに紐づいた二値のマスク変数との 3 次の相互 作用を持つ.これらのマスク変数がゼロに設定されると,隠れユニットに対する可視ユニッ トの影響は取り除かれる.これは,分類問題に関係のない可視ユニットを,クラスを推定する 推論経路から取り除くことを可能にする. より一般的には,ボルツマンマシンの枠組みは,これまでに調べられていたものよりも多く のモデル構造を認める豊かなモデル空間である.ボルツマンマシンの新たな形を生み出すに は,新たなニューラルネットワーク層を生み出すよりも,より多くの慎重さと創造力が必要と なるが,その理由は,ボルツマンマシンを使うのに必要なさまざまな条件付き分布の扱いやす さを保持するエネルギー関数を見つけることがしばしば難しいためである.これらの努力が 必要であるにも関わらず,革新的な発見が見つかる余地がまだこの分野には残されている.

655

第 20. 深層生成モデル

20.9 ランダム操作を通る誤差逆伝播 従来のニューラルネットワークでは,なんらかの入力変数 x に対する決定論的な変換を実 装している.生成モデルを作るときには,x の確率的な変換を実装するようにニューラルネッ トワークを拡張したくなることもよくある.これを 1 つの素直な方法に,一様分布やガウス 分布などの単純な確率分布からサンプリングされたする入力 z を追加することで,ニューラ ルネットワークを拡張する方法がある.そうすると,ニューラルネットワークは内部では決 定論的に計算することを続けられるが,z にアクセスできない観測者にとって関数 f (x, z) は 確率的に現れることになる.f が連続で微分可能だとすると,誤差逆伝播を用いて訓練するの に必要な勾配を通常通り計算できる. 例として,平均 µ と分散 σ 2 を持つガウス分布から,以下のようにサンプル y を抽出する操 作を考える.

y ∼ N (µ, σ 2 ).

(20.54)

y の個々のサンプルは,関数によってではなく,検索されるたびに出力が変化するサンプリン グ過程によって生成される.そのため,分布のパラメータである µ と σ 2 について y を微分す ることが直感に反しているようにみえるかもしれない.しかしながら,サンプリング過程を, 潜在確率値 z ∼ N (z; 0, 1) の変換に書き換えることで,所望の分布からサンプルを得ることが できる.

y = µ + σz

(20.55)

サンプリング操作を,追加の入力 z に対する決定論的な演算であるとみなすことで,今やサ ンプリング操作を通して誤差逆伝播できる.重要なのは,追加する入力の確率変数の分布は, 計算したい導関数を持つどの変数の関数でもないということである.この結果は,z の同じ値 について再びサンプリング操作を繰り返すことができても,µ や σ のわずかな変化によって 出力がいかに変化するかということを示している. サンプリング操作を介して誤差逆伝播できるということは,それをより大きなグラフに組 み入れることができるということである.サンプリングする分布の出力の上に,グラフの要 素を構築することができる.たとえば,ある損失関数 J(y) の導関数を計算することができ る.サンプリング操作の入力やサンプリング操作のパラメータを出力とするグラフの要素を 構築することもできる.たとえば,µ = f (x; θ) と σ = g(x; θ) を持つ,より大きなグラフを 構築することができる.この拡張されたグラフでは,これらの関数を介した誤差逆伝播を使 うことで,∇θ J(y) を導くことができる. 656

第 20. 深層生成モデル

このガウスサンプリングの例で使われている原理は,より一般的に応用可能である.p(y; θ) や p(y | x; θ) の形の確率分布は,すべて p(y | ω) のように表現できる.ここで,ω は,パラ メータ θ と,もし適用可能であれば入力 x との両方を取り入れた変数である.分布 p(y | ω) から値 y をサンプリングし,今度は ω が他の変数の関数であるとすると,以下のように

y ∼ p(y | ω)

(20.56)

y = f (z; ω),

(20.57)



に書き換えられる.ただし,z はランダム性の源である.そして,f がほぼすべての点で連 続かつ微分可能である限り,誤差逆伝播法のような伝統的な方法を f に適用することで,

ω に関して y の微分を計算できるだろう.大事なことは,ω は z の関数であってはなら ず,z は ω の関数であってはならない.この技法は,しばしば 再パラメータ化トリック (reparametrization trick),確率的誤差逆伝播法(stochastic back-propagation), あるいは摂動解析(perturbation analysis)と呼ばれる.

f が連続かつ微分可能であるという条件は,当然ながら y が連続であることを要求する. もし,離散値のサンプルを生み出すサンプリング過程を通る誤差逆伝播を望むのであれば,ω の勾配を推定するのに20.9.1節で議論する REINFORCE アルゴリズム (Williams, 1992) の 変種のような強化学習アルゴリズムを用いることはまだ可能である. ニューラルネットワークの応用では,単位一様分布や単位ガウス分布などの単純な分布か ら z を抽出することを典型的に選択し,ネットワークの決定論的な部分に入力を再形成させ ることで,より複雑な分布を実現する. 勾配の伝播や,確率的操作による最適化といったアイデアは 20 世紀中盤に由来し (Price,

1958; Bonnet, 1964),機械学習で初めて用いられたのは強化学習においてだった (Williams, 1992).さらに最近では,これは変分近似 (Opper and Archambeau, 2009) や,確率的かつ生 成的なニューラルネットワーク (Bengio et al., 2013b; Kingma, 2013; Kingma and Welling,

2014b,a; Rezende et al., 2014; Goodfellow et al., 2014c) に応用されてきた.たとえば,雑 音除去自己符号化器や,ドロップアウトで正則化されたネットワークなどの多くのネットワー クでは,ノイズをモデルから独立させるような特別な再パラメータ化を必要とすることなく, ノイズを入力として取り入れるように自然に設計されている.

657

第 20. 深層生成モデル

20.9.1 離散的な確率的操作を通る誤差逆伝播 モデルが離散変数 y を出力するときには,再パラメータ化トリックは適用できない.モデ ルが,入力 x とパラメータ θ の両方を,ベクトル ω にまとめた形で取り込み,それらをラン ダムノイズ z と組み合わせて,y を

(20.58)

y = f (z; ω)

のように生成するとする.y が離散的であるため,f はステップ関数でなければならない.ス テップ関数の微分係数はどの点でも使いづらい.ステップ関数の各ステップのちょうど境界 にあたる部分では微分係数が定義されないが,それは小さな問題である.大きな問題は,ス テップの境界と境界の間のほとんどの領域で,微分係数がゼロになることである.どんなコ スト関数 J(y) を微分しても,モデルのパラメータ θ をどのように更新するかの情報が何も得 られない.

REINFORCE アルゴリズム (REward Increment = Nonnegative Factor × Offset Rein-

forcement × Characteristic Eligibility) は,単純だが強力な解の族を定義する枠組みを与え

る (Williams, 1992).アイデアの核心は,たとえ J(f (z; ω)) が役に立たない微分係数を持つ ステップ関数であっても,コストの期待値 Ez∼p(z) J (f (z; ω)) は勾配降下法を適用できる滑 らかな関数であることが多いことである.その期待値は,y が高次元(すなわち,多くの離 散的な確率的決定を組み合わせた結果)であるときに一般に扱いやすいものではなくなるも のの,モンテカルロ平均を用いるとバイアスなしで推定できる.勾配の確率的な推定には,

SGD や他の勾配に基づく確率的技法が用いられる. REINFORCE の最も簡単な型は,コストの期待値を以下のように単純に微分することで導 かれる.

Ez [J(y)] =

!

(20.59)

J(y)p(y)

y

∂E[J(y)] ! ∂p(y) = J(y) ∂ω ∂ω y =

!

J(y)p(y)

y

1 ≈ m

m !

∂ log p(y) ∂ω

y(i) ∼p(y), i=1

658

(20.60)

J(y (i) )

(20.61) ∂ log p(y (i) ) . ∂ω

(20.62)

第 20. 深層生成モデル

式20.60は,J が ω を直接参照しないことを仮定している.この仮定を緩和して技法を拡張 することは容易である.式20.61 では,対数の微分公式 式20.62は,勾配の不偏モンテカルロ推定量を与える.

∂ log p(y) ∂ω

=

1 ∂p(y) p(y) ∂ω

を利用した.

本節で p(y) と書かれている場所は,どれも p(y | x) と書いても同じである.これは,p(y)

が ω でパラメータ化されていて,ω は θ と(もし存在すれば)x の両方を含むからである.

単純な REINFORCE 推定量における 1 つの問題は,それがとても大きなバリアンスを持 つことである.そのため,勾配のよい推定量を得るためには y のサンプルを多く抽出する必 要があり,また同じように,もし 1 つのサンプルしか抽出されない場合,SGD の収束がと ても遅くなり,学習率をより小さくしなければならない.分散削減(variance reduction) 法 (Wilson, 1984; L’Ecuyer, 1994) を用いることで,推定量の分散を十分に削減することは 可能である.そのアイデアは,期待値を変えずに分散が小さくなるように推定量を修正する ということである.REINFORCE に関しては,提案されている分散削減法は,J(y) のオフ セットに使われるベースライン(baseline)の計算を含んでいる.y に依存しない,いかな るオフセット b(ω) も,推定される勾配の期待値を変えないことに注意してほしい.なぜなら

Ep(y)

!

" # ∂ log p(y) ∂ log p(y) = p(y) ∂ω ∂ω y =

# ∂p(y) y

= であり,これは

∂ω

∂ # ∂ p(y) = 1 = 0, ∂ω y ∂ω

(20.63) (20.64) (20.65)

! " ! " ! " ∂ log p(y) ∂ log p(y) ∂ log p(y) Ep(y) (J(y) − b(ω)) = Ep(y) J(y) − b(ω)Ep(y) ∂ω ∂ω ∂ω (20.66) ! " ∂ log p(y) = Ep(y) J(y) . (20.67) ∂ω であることを意味するからである.さらに,最適な b(ω) は,p(y) の下で (J(y)−b(ω)) の分散を計算し,b(ω)

∂ log p(y) ∂ω について最小化すれば求められる.この最適なベースライン b∗ (ω)i

は,以下のように,ベクトル ω の各要素 ωi によって異なっていることが分かっている.

$ % p(y) 2 Ep(y) J(y) ∂ log ∂ωi $ % . b∗ (ω)i = ∂ log p(y) 2 Ep(y) ∂ωi 659

(20.68)

第 20. 深層生成モデル

そのため,ωi についての勾配推定量は

(J(y) − b(ω)i )

∂ log p(y) ∂ωi

(20.69)

となる.ただし,b(ω)i は上記の b∗ (ω)i を推定する.推定値 b を得るには,通常,追加 の出力をニューラルネットワークに加え,新たな出力を訓練して,ω の各要素について 2

p(y) Ep(y) [J(y) ∂ log ] と Ep(y) ∂ωi

!

∂ log p(y) 2 ∂ωi

"

を推定すればよい.これらの追加の出力を平均二

乗誤差目的関数で訓練するには,与えられた ω に対して,y を p(y) からサンプリングすると きの目標として J(y)

∂ log p(y) 2 ∂ωi



∂ log p(y) 2 ∂ωi

をそれぞれ使用する.推定値 b は,これらの推定

値を式20.68に代入することで復元される.Mnih and Gregor (2014) は,b(ω) ≈ Ep(y) [J(y)]

をベースラインとして用い,目標を J(y) として訓練した(ω のすべての要素 i にわたって) 共有された 1 つの出力の方を選んだ. 分散削減法は,Dayan (1990) による二値の報酬の場合の先行研究を一般化して,強化学習 の分野に導入された (Sutton et al., 2000; Weaver and Tao, 2001).深層学習における削減 された分散を用いる REINFORCE アルゴリズムの最新の使用例は,Bengio et al. (2013b),

Mnih and Gregor (2014),Ba et al. (2014),Mnih et al. (2014),Xu et al. (2015) を見て ほしい.入力に依存するベースライン b(ω) の利用に加えて,Mnih and Gregor (2014) は,

(J(y) − b(ω)) の大きさが,訓練中の移動平均によって推定される標準偏差で割られることに より,一種の適応的学習率として訓練中に調整され,訓練の間に起こるこの量の大きさの重要

な変動の影響に対処していることを発見した.Mnih and Gregor (2014) は,これをヒューリ スティックな分散正規化(variance normalization)と呼んだ.

REINFORCE に基づく推定量は,y の選択を,対応する J(y) の値と関係づけることで勾 配を推定しているものと理解できる.もし,現行のパラメータ化の下で y のよい値を得る見 込みがなければ,偶然によりそれを見つけるには長い時間がかかり,この状態を強化すべきで あると要求するきっかけが得られるかもしれない.

20.10 有向生成ネットワーク 16章で議論したように,有向グラフィカルモデルはグラフィカルモデルの中でも人気な部 類に属している.有向グラフィカルモデルは,機械学習のより大きなコミュニティではとて も有名でありながら,深層学習のより小さなコミュニティでは RBM などの無向グラフィカ ルモデルの陰で 2013 年ごろまで注目されてこなかった. 本節では,深層学習のコミュニティで伝統的に関連してきた標準的な有向グラフィカルモ 660

第 20. 深層生成モデル

デルを概説する. 深層信念ネットワークについてはすでに説明したが,これは部分的には有向モデルである. また,スパースコーディングモデルにもすでに触れたが,これは浅い有向生成モデルであると 考えられる.これらは,深層学習において特徴量学習器としてしばしば用いられるが,サンプ ル生成や密度推定などに対してよい性能を示さない.ここでは,さまざまな深く, そして全体 が有向のモデルを取り上げる.

20.10.1 シグモイド信念ネットワーク ` シグモイド信念ネットワーク (Neal, 1990) は,特定の種類の条件付き確率分布を持つ単純 な形の有向グラフィカルモデルである.一般に,シグモイド信念ネットワークは,二値状態の ベクトル s を持ち,状態の各要素が先祖からの影響を受けるものと考えられる.すなわち,

⎛ ⎞ # p(si ) = σ ⎝ Wj,i sj + bi ⎠ .

(20.70)

j
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF