6.4. 対照分岐――Learning Deep Architectures for AI

Learning Deep Architectures for AI の翻訳です。

6.4. 対照分岐


対照分岐は、log尤度勾配の近似であり、それは制限ボルツマンマシンを訓練するのに成功することが分かった更新ルールである(Carreira-Perpiñan & Hinton, 2005)。擬似コードを、バイナリの入力と隠れたユニットの場合についての条件分布の特定の方程式を付加して、アルゴリズム1に示す。

\rm{RBMupdate}(x_1,\epsilon,W,b,c)
これは二項ユニットのための制限ボルツマンマシン更新手順である。これは他のタイプのユニットに簡単に適用出来る。
x_1は、制限ボルツマンマシンのための訓練分布からのサンプルである。
\epsilonは、対照分岐における確率的勾配降下のための学習レートである。
Wは、(隠れたユニット数、入力数)の次元の、制限ボルツマンマシンの重み行列である。
bは、隠れたユニットのための、制限ボルツマンマシンのバイアス・ベクトルである。
cは、入力ユニットのための、制限ボルツマンマシンのバイアス・ベクトルである。


for all 隠れたユニットi do

  • Q(h_{1i} = 1|x_1)を計算する。(二項ユニットの場合は\rm{sigm}(b_i+\Bigsum_jW_{ij}x_{1j})
  • Q(h_{1i}|x_1)からh_{1i}をサンプル抽出する。

end for
for all見えるユニットj do

  • P(x_{2j} = 1|h_1)を計算する。を計算する。(二項ユニットの場合は\rm{sigm}(c_j+\Bigsum_iW_{ij}h_{1i}))
  • P(x_{2j} = 1|h_1)からx_{2j}をサンプル抽出する。

end for
for all 隠れたユニットi do

  • Q(h_{2i} = 1|x_2)を計算する。(二項ユニットの場合は\rm{sigm}(b_i+\Bigsum_jW_{ij}x_{2j}))

end for

  • W\leftar{W}+\epsilon(h_1x'_1-Q(h_2.=1|x_2)x'_2)
  • b\leftar{b}+\epsilon(h_1-Q(h_2=1|x_2))
  • c\leftar{c}+\epsilon(x_1-x_2)

このアルゴリズムを得るために、我々が行なおうとする一次近似は、可能な全ての入力に渡っての平均(式16の2番目の項)を1つのサンプルに置換えることである。我々はパラメータ群をしばしば更新しているので(例えば、1つの、あるいはいくつかの訓練例のあとで、確率的な、あるいはミニバッチの、勾配更新によって)、更新を通してすでに若干の平均化が進行し(それがうまくいくことは知られている(LeCun, Bottou, Orr, & Müller, 1998a))、完全な合計を行う代わりに1個の、あるいは数個のMCMCサンプルを抽出することで導入される余分な変動は、継続的なパラメータ更新を通して、オンライン勾配更新のプロセスで部分的に打ち消されるであろう。ともかく、勾配のこの近似は追加の変動を導入する。


長いMCMCチェーンを実行することは、なおも非常に大変である。kステップ対照分岐(CD-k)(Hinton, 1999, 2002)のアイディアは単純で、二次近似を含み、これは勾配に若干のバイアスを導入する。観測された例xから始めてkステップだけの間だけMCMCを実行する。例xを見た後のCD-k更新はよって
         \Delta\theta=-\frac{\partial\rm{FreeEnergy}(x)}{\partial\theta}+\frac{\partial\rm{FreeEnergy}(\tilde{x})}{\partial\theta}      (33)
となる。ここで\tilde{x}は、kステップ後の我々のマルコフチェーンからのサンプルである。k\rightar\inftyの時、バイアスは消えることが分かっている。モデルの分布が実験分布に非常に近い場合、つまりP\approx\hat{P}の場合、x\hat{P}からのサンプル)からチェーンを始めると、MCMCはすでに収束していて、Pからのバイアスのないサンプル(それはやはりxと相関があるが)を得るために我々は1ステップしか必要としない、ということも分かっている。


驚くべき実験結果は、k=1(CD-1)でさえ、しばしば良い結果を与える、ということである。CD-kと正確なlog尤度勾配での訓練の、大規模な数値比較は、Carreira-Perpiñan and Hinton (2005)で提示された。これらの実験の中で、1より大きいkを採用することはより正確な結果を与えるが、解の非常に良い近似がk=1の場合でさえ得ることが出来た。セクション7で検討する理論的結果(Bengio & Delalleau, 2007)が、なぜ小さな値のkでうまくいくのかを理解するのに役立つ。CD-kは、log尤度勾配に収束する級数の最初のk項を維持することに対応する。


対照分岐を解釈するひとつのやり方は、それがlog尤度勾配を、訓練点x_1のまわりで局所的に近似している、というものである。(CD-kのための)x_{k+1}の確率的再構成は、(与えられたx_1に対して)分布を持ち、それはある程度、x_1のまわりに分布し、kが増えるにつれて、それがモデルの分布になるまで、徐々にx_1を中心としなくなる。CD-k更新は訓練点x_1の自由エネルギーを減少させ(仮に他の全ての自由エネルギーが一定のままであったならば、それはその尤度を増加させたであろう)、x_1の近傍にあるx_{k+1}の自由エネルギーを増加させる。x_{k+1}x_1の近傍にあるが、同時に、モデルにおいて確率の高い領域によりありそうである(特にkが大きい場合)ことに注意。(LeCun et al., 2006)で主張されたように、エネルギーベースのモデルのための訓練アルゴリズムでもっとも必要なことは、それが、観測された入力のエネルギー(ここでは自由エネルギー、隠れた変数を周辺化したもの)をより小さくし、その他の場所で、最も重要なことにはそれらの近傍で、「エネルギー」をかき集めることである。対照分岐アルゴリズムは、入力が現実の訓練例である場合と、入力がモデルのサンプルである場合で収集された統計の間の対照によって加速される。次のセクションでさらに検討されるように、教師なし学習問題は、確率の高い領域(多くの観測された訓練例が存在する領域)を残りから大雑把に分離できる決定面を発見することと考えることが出来る。よって、モデルがその分割の間違った側にある例を生成する場合に、我々はモデルにペナルティを課したい。そしてその分割をどこに移動させるべきかを特定する良い方法は、訓練例をモデルからのサンプルと比較することである。