10.ディープ・ビリーフ・ネットワーク――Learning Deep Architectures for AI

Learning Deep Architectures for AI の翻訳です。

10.ディープ・ビリーフ・ネットワーク


l層のディープ・ビリーブ・ネットワーク(Hinton et al., 2006)は、観測されたベクトルxと、l枚の隠れた層\rm{\bold{h}}_k、の間の結合分布を以下のようにモデル化する。
     P(x,\rm{\bold{h}}^1,...,\rm{\bold{h}}^l)=\left(\prod_{k=1}^{l-2}P(\rm{\bold{h}}^k|\rm{\bold{h}}^{k+1})\right)P(\rm{\bold{h}}^{l-1},\rm{\bold{h}}^l)     (51)
ここでx=\rm{\bold{h}}^0であり、P(\rm{\bold{h}}^{k-1}|\rm{\bold{h}}^k)は、ディープ・ビリーフ・ネットワークのレベルkに対応する制限ボルツマンマシン内の見えるユニットと隠れたユニットの条件つき分布であり、P(\rm{\bold{h}}^{l-1},\rm{\bold{h}}^l)は、最上層の制限ボルツマンマシン内の見えるユニットと隠れたユニットの結合分布である。これを図9に示す。





図9:生成モデル(太線矢印で生成パスを示す)と、入力の表現の複数レベルを抽出する手段(点線矢印で認識パスを示す)、としてのディープ・ビリーフ・ネットワーク。最上の2つの層\bold{\rm{h}}^2\bold{\rm{h}}^3は(それらの結合分布についての)制限ボルツマンマシンを形成する。低い層は、有向グラフ・モデル(シグモイド・ビリーフ・ネット\rm{\bold{h}^2\Rightar\rm{\bold{h}}^1\Rightar{x})を形成し、最後から2番目の層\bold{\rm{h}}^2のための事前分布は最上レベルの制限ボルツマンマシンによって供給される。




\rm{TrainUnsupervisedDBN}(\hat{p}, \epsilon,L,n,W,b)
個々の追加された層が対照分岐によって制限ボルツマンマシンとして訓練される、貪欲層毎手続きによって、ディープ・ビリーフ・ネットワークを純粋に教師なしのやり方で訓練する。
\hat{p}は、ネットワークの、入力訓練分布である。
\epsilonは、対照分岐における確率的勾配降下の、学習レートである。
Lは訓練する層の数である。
n = (n^1,..., n^L)は、個々の層にある隠れたユニットの数である。
W^iは、レベルiの重み行列であり、iは1からLまでの数である。
b^iは、レベルiのバイアス・ベクトルであり、iは0からLまでの数である。

  • 初期化 b^0=0
  • for l=1 to L do
    • 初期化 W^i=0, b^i=0
    • while 停止基準を満たさない do
      • \hat{p}から\rm{\bold{h}}^0=xを抽出
      • for k=1 to l-1 do
        • Q(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})から\rm{\bold{h}}^kを抽出
      • end for
      • \rm{RBMupdate}(\rm{\bold{h}}^{l-1},\epsilon,W^l,b^l,b^{l-1}){よって、将来の使用のためにQ(\rm{\bold{h}}^l|\rm{\bold{h}}^{l-1})を提供}
    • end while
  • end for


アルゴリズム2の擬似コードで示したように、ディープ・ビリーフ・ネットワークを貪欲層毎のやり方で訓練する際、個々の層は制限ボルツマンマシンとして初期化され、Q(\rm{\bold{h}}^k, \rm{\bold{h}}^{k-1})を、このやり方で訓練されたk番目の制限ボルツマンマシンを表すものとする。我々はQ(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})を、P(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})の近似として用いる。というのは、P(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})(これは因数分解可能ではない)ではなくQ(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})(これは因数分解可能)を計算し、そこからサンプル抽出するのは容易だからである。これらのQ(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})は、入力ベクトルxの表現を構築するためにも使用される。全てのレベルについて事後分布、あるいは表現、の近似を得るために、我々は以下の手順を用いる。最初に、1番目のレベルの制限ボルツマンマシンから\rm{\bold{h}}^1\sim{Q}(\rm{\bold{h}}^1|x)を抽出する、あるいは、別の策として、平均場法によって\rm{\bold{h}}^1のサンプルの代わりに\hat{\rm{\bold{h}}}^1=E[\rm{\bold{h}}^1|\rm{\bold{h}}^0]を用いる。そこでは期待値は制限ボルツマンマシン分布Q(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})に渡ってのものである。それらが2項ユニットであるような通常の場合、これはちょうど隠れたユニットの出力確率 \hat{h}_i^1=\rm{sigm}(b^1 + W_i^1x) になる。2番目のレベルの制限ボルツマンマシンの入力として、サンプル\rm{\bold{h}}^1か、平均場ベクトル\hat{h}^1、のいずれかを取って、\hat{h}^2またはサンプル\rm{\bold{h}}^2を計算する、などを、最後の層まで行う。xについてのディープ・ビリーフ・ネットワーク生成モデルのサンプルは以下のようにして得ることが出来る。

  1. 最高レベルの制限ボルツマンマシンから、見えるベクトル\rm{\bold{h}}^{l-1}をサンプル抽出する。これは、セクション6.3.1に概説したように\rm{\bold{h}}^l\sim{P}(h^l|h^{l-1})\rm{\bold{h}}^{l-1}\sim{P}(h^{l-1}|h^l)の間を行き来する、その制限ボルツマンマシン内でギブスチェーンを実行することにより、近似的に達成できる。(上述のようにQによって)訓練集合例から得られた表現\rm{\bold{h}}^{l-1}からチェーンを始めることにより、必要になるギブスステップの数はより少なくなる。
  2. k=l-1から1まで順に減らして、レベルkの隠れた層から見える層への条件付き分布P(\rm{\bold{h}^{k-1}|\rm{\bold{h}}^k)}に従って、\rm{\bold{h}}^kを与えて\rm{\bold{h}}^{k-1}を抽出することを繰り返す。
  3. x = \rm{\bold{h}}^0がディープ・ビリーブ・ネットワークのサンプルである。

前に訓練した層の上にある層の、貪欲層単位での教師なし訓練の原理は、個々の層の構成要素としての制限ボルツマンマシンに適用出来る(Hinton et al., 2006; Hinton & Salakhutdinov, 2006; Bengio et al., 2007; Salakhutdinov & Hinton, 2007)。

  1. 最初の層を、その見える層としてのナマ入力x=\rm{\bold{h}}^0をモデル化する制限ボルツマンマシンとして訓練する。
  2. 上に概説したように、最初の層を用いて、2番目の層のためのデータとして用いられる、入力データの表現を得る。2つの普通のソリューションは、この表現のために、\rm{\bold{h}}^1|\rm{\bold{h}}^0の隠れた層のサンプルか、あるいは、実際の値\hat{h}^1=E(\rm{\bold{h}}^1|\rm{\bold{h}}^0)、を得ることである。
  3. 2番目の層を制限ボルツマンマシンとして訓練し、(その制限ボルツマンマシンの見える層のための)訓練例として変換されたデータ(\rm{\bold{h}}^1|x\;\rm{or}\;\hat{h}^1(x))を得る。
  4. (2)と(3)を、希望する層の数だけ繰り返し、1回毎に、サンプルか平均値のいずれかを上に伝える。
  5. このディープ・アーキテクチャの全てのパラメータを、ディープ・ビリーフ・ネットワークのlog尤度の代理について、あるいは(学習で得た表現を学習ありの予測に変換する、余分の学習機械を追加したのちに)教師あり訓練判断基準について、微調整する。

半教師ありと部分教師ありの訓練についてセクション9の最後に述べた意見はディープ・ビリーフ・ネットワークにも当てはまる。ラベルのついたデータとついていないデータを組合せることは、ディープ・ビリーフ・ネットワークでは簡単であり、部分教師ありの設定は、若干のタスクについて役立つことが実験的に分かっている(Bengio et al., 2007)。