11.3. 全層の同時教師無し訓練――Learning Deep Architectures for AI

Learning Deep Architectures for AI の翻訳です。

11.3. 全層の同時教師無し訓練


ここでは、教師なしlog尤度に関してディープ・ビリーフ・ネットワーク全体をどのように訓練出来るかについて議論する。貪欲訓練アルゴリズムを正当化するだけでなく、ディープ・ビリーフ・ネットワークの全ての層を(たぶん貪欲層毎初期化フェーズのあとに)同時に更新するような学習アルゴリズムを正当化するためにも、式53のlog尤度分解
        \log{P}(x)=KL(Q(h|x)||P(h|x))+H_{Q(h|x)}+\Bigsum_hQ(h|x)(\log{P}(h)+\log{P}(x|h)).    (56)
を用いることが出来る。


ディープ・ビリーフ・ネットワークの最上レベルは1つの制限ボルツマンマシンとして訓練される、つまり、\Bigsum_hQ(h|x)\log{P}(h)を最大化するようにP(h)を選択する。ここでhはディープ・ビリーフ・ネットワークの最後から2番目の層であり、最上レベル制限ボルツマンマシンは、ディープ・ビリーフ・ネットワークの最後から2番目と最上の層の間の結合分布を表現する。


低いレベルを固定したままにする代わりに、我々が高いレベルの項目を考慮しつつ、それらを改善したいならば、式53に戻り P(x|h)Q(h|x)についてのlog尤度の勾配の見積値を計算することが出来る。説明を簡単にするために、我々は2レベル・ディープ・ビリーフ・ネットワークの場合のみを考慮するが、任意の数のレベルに同じ原則を容易に一般化出来る。


Q(h|x)エントロピーの勾配は、h\sim{Q}(h|x)の1つ以上のサンプルを用いて、確率的に見積もることは容易である。Q(h|x)に影響を与えるパラメータ\thetaを考察しよう。最初に\frac{\partial{y}}{\partial{x}}=y\frac{\partial\log{y}}{\partial{x}}を用い、次の行で補題7.2を用いて
        \frac{\partial{H}_{Q(h|x)}}{\partial\theta}=-\Bigsum_hQ(h|x)\frac{\partial\log{Q}(h|x)}{\partial\theta}-\Bigsum_hQ(h|x)\log{Q}(h|x)\frac{\partial\log{Q}(h|x)}{\partial\theta}
               =-\Bigsum_hQ(h|x)\log{Q}(h|x)\frac{\partial\log{Q}(h|x)}{\partial\theta}.    (57)
P(x|h)に影響を与える1番目のレベルのパラメータ\thetaについての確率的勾配も、類似の導出を用いて容易に得られる。
        \frac{\partial\Bigsum_hQ(h|x)\log{P}(x|h)}{\partial\theta}=\Bigsum_hQ(h|x)\frac{\partial\log{P}(h|x)}{\partial\theta}+\Bigsum_hQ(h|x)\log{P}(h|x)\frac{\partial\log{Q}(h|x)}{\partial\theta}     (58)
両方の場合、訓練集合とh\sim{Q}(h|x)からxを抽出し、勾配\log{Q}(h|x)\frac{\partial\log{Q}(h|x)}{\partial\theta}\frac{\partial\ log{P}(h|x)}{\partial\theta}+\log {P}(h|x)\frac{\partial\log{Q}(h|x)}{\partial\theta}を用いる。\log{Q}(h|x)\log{P}(h|x)は勝手に大きくなり得るので、これらの評価子は高い分散を用い得る。実際、それらの変動は、隠れたベクトルの次元について線形に増加するだろう。


カルバック・ライブラー情報量の勾配はより問題が多い。というのは、P(h|x)の単純な式を我々は持っていないからである。式53でのKL(=カルバック・ライブラー情報量)項は正であり、我々はlog尤度の下限を最適化しているので、この項は潜在的に無視される。その代わりシグモイド・ビリーフ・ネットワークについての覚醒・睡眠アルゴリズムで、ある近似が用いられる(Hinton et al., 1995)。このアイディアは、他のカルバック・ライブラー情報量KL(P(h|x)||Q(h|x))を最小化するものである。確かにもし我々がディープ・ビリーフ・ネットワークからサンプル抽出するならば、P(x, h)から、Q(h|x)の目標として用いることの出来る、ひとつの(h,x)タプルを得る。再び補題7.2と\frac{\partial{y}}{\partial{x}} = y \frac{\partial\log{y}}{\partial{x}}を用いて
        \frac{\partial{KL}(P(h|x)||Q(h|x))}{\partial\theta}=\Bigsum_hP(h|x)\left(\log\frac{P(h|x)}{Q(h|x)}\frac{\partial\log{P}(h|x)}{\partial\theta}+\frac{\partial\log{P}(h|x)}{\partial\theta}-\frac{\partial\log{Q}(h|x)}{\partial\theta}\right)
                   =\Bigsum_hP(h|x)\left(\log\frac{P(h|x)}{Q(h|x)}\frac{\partial\log{P}(h|x)}{\partial\theta}-\frac{\partial\log{Q}(h|x)}{\partial\theta}\right).     (59)
以前のように我々は確率的評価子を得ることが出来るが、\log\frac{{P}(h|x)}{Q(h|x)}\frac{\partial\log{P}(h|x)}{\partial\theta}項はおそらく大きな分散を持つだろう。ディープ・ビリーフ・ネットワークのための、覚醒・睡眠アルゴリズム(Hinton et al., 1995)とその対照版(Hinton et al., 2006)では、Q(h|x)のパラメータ群とP(x|h)のパラメータ群は分離している。ディープ・ビリーフ・ネットワークの文脈では、最上レベル以外の全てのレベルについて、(P(x|h)で用いられる)最適な「生成の重み」は(Q(h|x)で用いられる)「認識の重み」(の転置)と等しくなければならない、と信じる理由はない。覚醒・睡眠アルゴリズムは両方に対しての更新ルールを提供する。真の事後分布P(h|x)は必ずしも因数分解可能ではない(\prod_iP(h_i|x)の形に書けない)が、一方Q(h|x)因数分解可能であることを知っている。このアルゴリズムは、覚醒フェーズと睡眠フェーズの2つのフェーズで進む。覚醒フェーズでは、訓練サンプルxから開始し、(\rm{\bold{h}}^0 =xから始めて)個々のレベルでQ(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})によって与えられる近似事後分布からサンプルを計算する。これらのサンプル(\rm{\bold{h}}^0, \rm{\bold{h}}^1,...\rm{\bold{h}}^{l-1})P(\rm{\bold{h}}^{k-1}|\rm{\bold{h}}^k)生成の分布を更新するための完全に観察された訓練データを提供する。つまり、以下の勾配の方向への確率的ステップが遂行される。
        \Bigsum_{\rm{h}^1,...,\rm{h}^{l-1}}Q(\rm{\bold{h}}^{l-1}|\rm{\bold{h}}^{l-2})...Q(\rm{\bold{h}}^1|x)\prod_{k=1}^{l-1}\frac{\partial\log{P}(\rm{\bold{h}}^{k-1}|\rm{\bold{h}}^k)}{\partial\theta}     (60)
覚醒フェーズでは最上レベル制限ボルツマンマシンの更新も、その見えるベクトルについての観察としての\rm{\bold{h}}^{l-1}によって行われる。睡眠フェーズでは、モデルから完全な観察(\rm{\bold{h}}^0, \rm{\bold{h}}^1, \rm{\bold{h}}^{l-1})を生成する。最初に最上レベル制限ボルツマンマシンから\rm{\bold{h}}^{l-1}を抽出し、次にP(\rm{\bold{h}}^k|\rm{\bold{h}}^{k+1})に従って個々の\rm{\bold{h}}^kを抽出する。これは次に、以下の勾配の方向へ確率的に進むことにより、認識条件分布Q(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})のための完全に観察された訓練データとして用いられる。
        \Bigsum_{\rm{h}^0,...,\rm{h}^{l-1}}P(\rm{\bold{h}}^{l-1})P(\rm{\bold{h}}^{l-2}|\rm{\bold{h}}^{l-1})...P(\rm{\bold{h}}^0|\rm{\bold{h}}^1)\prod_{k=1}^{l-1}\frac{\partial\log{Q}(\rm{\bold{h}}^k|\rm{\bold{h}}^{k-1})}{\partial\theta}    (61)
よって、このセクションで述べられたlog尤度勾配の分解に関して、覚醒・睡眠アルゴリズムで遂行される近似は以下の通りである。(a) KL(P(h|x)||Q(h|x))に関する勾配によってKL(Q(h|x)||P(h|x))に関する勾配を近似し、(b)
        \Bigsum_hP(h|x)\log\frac{P(h|x)}{Q(h|x)}\frac{\partial\log{P}(h|x)}{\partial\theta}-\Bigsum_hQ(h|x)\log\frac{P(h|x)}{Q(h|x)}\frac{\partial\log{Q}(h|x)}{\partial\theta}\approx0    (62)
と近似する。これはQ(h|x)P(h|x)の良い近似である限り合理的であろう。ディープ・ビリーフ・ネットワークを微調整するのに、そして生成モデルと、正しく分類するその能力の両方を改善するのに、覚醒・睡眠アルゴリズムを(ゆっくりではあるが)用いることが出来ることを実験は示唆している (Hinton et al., 2006)。