6.3. 制限ボルツマンマシン――Learning Deep Architectures for AI

Learning Deep Architectures for AI の翻訳です。

6.3. 制限ボルツマンマシン


制限ボルツマンマシン(RBM)は、ディープ・ビリーフ・ネットワークの構成要素である。というのは、それはディープ・ビリーフ・ネットワークの個々の層でのパラメータ設定方式を共有しているからであり、また、それを訓練する効果的な学習アルゴリズムが見つかったからである。制限ボルツマンマシンでは式21はU=0V=0である。つまり、唯一の相互作用項は隠れたユニットと見えるユニットの間だけであり、同じ層のユニットの間にはない。この形式のモデルは最初、ハーモニアム (Smolensky, 1986)の名前で導入され、(ボルツマンマシンの学習アルゴリズムを越えた)学習アルゴリズムは、Freund and Haussler (1994)で検討された。実証した効率的な学習アルゴリズムとその変形は、より近年に提案された(Hinton, 2002; Welling et al., 2005; Carreira-Perpiñan & Hinton, 2005)。入力−入力と、隠れた−隠れた、の相互作用がない結果、エネルギー関数は双一次形式
         \rm{Energy}(x,h)=-b'x-c'h-h'Wx        (26)
になり、式17と19で導入された入力の自由エネルギーの因数分解は、\beta(x)=b'x\gamma_i(x,h_i)=h_iW_ixとして適用出来る。ここでW_iは、Wi番目の行に対応する行ベクトルである。よって、入力の自由エネルギー(つまり、正規化されていないlog尤度)は効率的に計算出来る。
        \rm{FreeEnergy}(x)=-b'x-\Bigsum_i\log\Bigsum_{h_i}e^{h_iW_ix}        (27)
\rm{Energy}(x, h)hについてのアフィン形式による同じ因数分解の技法(式18)を用いると、条件確率P(h|x)の扱い易い表現を簡単に得る。
        P(h|x)=\frac{\exp(b'x+c'h+h'Wx)}{\Bigsum_{\tilde{h}}\exp(b'x+c'\tilde{h}+\tilde{h}'Wx)}
           =\frac{\prod_i\exp(c_ih_i+h_iW_ix)}{\prod_i\Bigsum_{\tilde{h}_i}\exp(c_i\tilde{h}_i+\tilde{h}_iW_ix)}
           =\prod_i\frac{\exp(h_i(c_i+W_ix))}{\Bigsum_{\tilde{h}_i}\exp(\tilde{h}_i(c_i+W_ix))}
           =\prod_iP(h_i|x)
広く研究されたh_i\in\{0,1\}の場合には、入力が与えられた時のニューロンの出力についての通常のニューロン方程式
      P(h_i=1|x)=\frac{e^{c_i+W_ix}}{1+e^{c_i+W_ix}}=\rm{sigm}(c_i+W_ix).      (28)
を得る。xhはエネルギー関数の中で対称的な役割を演じるので、類似の導出が、P(x|h)の効率的な計算とサンプル抽出を可能にし
         P(x|h)=\prod_iP(x_i|h)      (29)
バイナリの場合には
         P(x_j=1|h)=\rm{sigm}(b_j+W'_{\cdot{j}}\cdot{h})      (30)
となる。ここでW_{\cdot{j}}は、Wj番目の列である。


Hinton et al. (2006)では、画素の階調レベルをコード化するのに、それがあたかもバイナリ事象の確率であるかように、二項入力ユニットが用いられた。手書き文字画像の場合、この近似はうまく作動するが、他の場合にはうまくいかない。入力が連続値である場合、二項ユニットにくらべてのガウシアン入力ユニットを用いることの優位性を示す実験が、Bengio et al. (2007)に記述されている。(他が与えられたとして)xhの分布が(離散と連続の)指数関数族の分布のいずれかである、一般的な定式化についてはWelling et al. (2005)を参照。


制限のないボルツマンマシンでコンパクトに表現出来る若干の分布を、制限ボルツマンマシンは効率的に表現することが出来ないが、制限ボルツマンマシンは、もし充分な数の隠れたユニットを使用出来るならば、任意の離散分布を表現出来る(Freund & Haussler, 1994; Le Roux & Bengio, 2008)。さらに、制限ボルツマンマシンがすでに完全に訓練分布をモデル化しているのではない限り、隠れたユニット(と適切に選んだその重みとバイアス)を加えることで、常にlog尤度を向上させることが出来る(Le Roux & Bengio, 2008)。


制限ボルツマンマシンは、図6に示したように(セクション4を参照)、マルチクラスタリングを形成していると見ることも出来る。個々の隠れたユニットは、入力空間の(線形分離による)2領域分離を作る。隠れたユニットのバイナリ設定は、入力空間の、隠れたユニットの構成に関係する全ての領域の中で、1つの領域を指定する。隠れたユニットの全ての構成が必ずしも、入力空間の空でない領域に対応するとは限らないことに注意。この表現は、2葉木の集合が作る表現と似ている。


指数関数的な数の構成に渡っての和は、(パラメータ群の数について)指数関数的な数の構成要素を持つ混合の、特に興味深い形としても見ることが出来る。
         P(x)=\Bigsum_hP(x|h)P(h)      (31)
ここでP(x|h)は、構成hで指示される構成要素に関係するモデルである。例えば、もしP(x|h)がガウシアンであると選ばれたならば(Welling et al. (2005), Bengio et al. (2007)を参照)、hnバイトを持つ場合、これは2^n個の構成要素を持つガウシアン混合である。もちろん、これらの2^n個の構成要素は、共有されたパラメータ群(制限ボルツマンマシンのパラメータ群)に依存するので、独立にはチューニング出来ない。(ガウシアンの場合の)個々の構成要素についてのガウシアン平均は、線形結合b+W'hとして得られる。つまり、個々の隠れたユニットのビットは、平均におけるベクトルW_iに寄与する(あるいはしない)。