ニューラルネットワークによるデータの次元削減(Reducing the Dimensionality of Data with Neural Networks)(2)

トロント大学ヒントン(G. E. Hinton)教授のReducing the Dimensionality of Data with Neural Networksの和訳です。

複数の隠れた層を持つ非線型オートエンコーダ内の重みを最適化することは困難である*1 *2 *3。大きな初期重みによっては、オートエンコーダは通常、貧弱な極小を見つけることになり、一方、小さな初期重みによっては、初期層内の勾配は小さくなり、多くの隠れた層を持つオートエンコーダを訓練することを不可能にする。初期重みが良い解に近いならば、勾配降下はうまく作動するが、そのような初期重みを見つけることは、1層が一度に特徴を学習する非常に異なったタイプのアルゴリズムを必要とする。我々はこの、バイナリ・データのための「事前訓練」手続きを導入し、それを実数値データに一般化し、それがさまざまなデータ集合についてうまく作動することを示す。


バイナリ・ベクトル(例:画像)の集合は、「制限ボルツマンマシン」と呼ばれる2層ネットワークを用いてモデル化することが出来る*4 *5。そこでは対称的に重み付けされた接続を用いて、確率的なバイナリ画素は確率的なバイナリ特徴検出器につながる。制限ボルツマンマシンの「見える」ユニットの状態は観測されるので、画素は「見える」ユニットに対応する。特徴検出器は「隠れた」ユニットに対応する。見えるユニットと隠れたユニットの結合構成は
E(\bold{\rm{v,h}})=-\Bigsum_{i\in\rm{pixels}}b_iv_i-\Bigsum_{j\in\rm{features}}b_jh_j-\Bigsum_{i,j}v_ih_jw_{ij}     (1)
で与えられるエネルギーを持つ。ここで、v_ih_jは画素iと特徴jのバイナリ状態であり、b_ib_jはそれらのバイアスであり、w_{ij}はそれらの間の重みである。Science Online上の教材で説明しているように、ネットワークはこのエネルギー関数によって、確率を個々の可能な画像に割り当てる。その画像のエネルギーを低くし、類似の「でっち上げられた」画像のエネルギーを高くするように重みとバイアスを調整して、ネットワークが実際のデータを好むようにすることで、訓練画像の確率を高めることが出来る。1つの訓練画像が与えられると、個々の特徴検出器jのバイナリ状態は確率\sigma\left(b_j+\Bigsum_iv_iw_{ij}\right)で1にセットされる。ここで\sigma(x)はロジスティック関数1/[1+\exp(-x)]であり、b_jjのバイアスであり、v_iは画素iの状態であり、w_{ij}ijの間の重みである。一旦、隠れたユニットのバイナリ状態が選択されると、個々のv_iに確率\sigma\left(b_i+\Bigsum_jh_jw_{ij}\right)で1をセットすることにより、「でっち上げ」が生成される。ここでb_iiのバイアスである。次に、隠れたユニットの状態は、このでっち上げの特徴を表現するように、もう一度更新される。重みの変化は
[tex:\Delta{w}_{ij}=\epsilon\left(\_{\rm{data}}-\_{\rm{recon}}\right)]    (2)
で与えられる。ここで\epsilonは学習レートであり、[tex:\_{\rm{data}}]は、特徴検出器jがデータによって駆動されている場合の、画素iと特徴検出器jが一緒にオンである時間の割合であり、[tex:\_{\rm{recon}}]はでっち上げについての対応する割合である。同じ学習ルールの単純化版がバイアスに用いられる。この学習は、訓練データのlog確率の勾配を正確にたどっていかないにもかかわらず、うまく作動する*6


バイナリ特徴の1層は、画像の集合内の構造をモデル化する最良の方法ではない。特徴検出の1層を学習させたのち、(それらがデータによって駆動されている場合の)それらの活動を、2番目の層が特徴を学習するためのデータとして扱うことが出来る。次に特徴検出器の最初の層は、次の制限ボルツマンマシンを学習させるための、見えるユニットになる。この層毎の学習は、望むだけの数、繰り返すことが出来る。もし、層毎の特徴検出器の数が減少せず、それらの重みが正しく初期化されているならば層を一つ足すことは常に、モデルが訓練データに割り当てるlog確率の下限を向上させることを示すことが出来る*7。より高い層がより少ない特徴検出器を持つ場合、この下限は適用出来ないが、層毎学習アルゴリズムはそれにもかかわらず、深いオートエンコーダの重みを事前訓練する非常に効果的な方法である。特徴の個々の層は、下の層にあるユニットの活動の間の強力な高次の相関をとらえる。広範囲のデータ集合について、これは、低次元、非線型構造を着実に進んで明らかにする効率的な方法である。



図1(再掲).事前訓練は、各々が特徴検出器の1層だけを持つ、制限ボルツマンマシン(RBM:Restricted Boltzmann Machine)の積み重ねを学習させることから成る。1つの制限ボルツマンマシンの、学習された特徴活性状態は、積み重ね内の次の制限ボルツマンマシンを訓練するための「データ」として用いられる。事前学習後、制限ボルツマンマシンは深いオートエンコーダを作るために「展開される」。次にそれは誤差微分の逆伝播(バックプロパゲーション)を用いて微調整される。

特徴検出器の複数の層を事前訓練したのち、同じ重みを最初に用いるエンコーダとデコーダを生成するように、モデルは展開される(図1)。次に大域微調整ステージが、決定論的な、実数確率で、確率的活動を置き換え、最適再構成のために重みを微調整するためにオートエンコーダ全体を通してバックプロパゲーションを用いる。


連続データについては、最初のレベルの制限ボルツマンマシンの隠れたユニットはバイナリのままであるが、見えるユニットは、ガウス雑音を持つ線形ユニットに置換えられる*8。もしこの雑音が単位分散を持つならば、隠れたユニットの確率的更新ルールは同じままで、見えるユニットiの更新ルールは、単位分散と平均b_i+\Bigsum_jh_jw_{ij}を持つガウス分布から抽出することになる。


我々の全ての実験では、全ての制限ボルツマンマシンの見えるユニットは実数値の活動を持ち、それはロジスティック・ユニットについて範囲[0,1]にあった。より高レベルの制限ボルツマンマシンを訓練する間、見えるユニットは前の制限ボルツマンマシンでの隠れたユニットの活動確率をセットされたが、トップの制限ボルツマンマシンを除くすべての制限ボルツマンマシンの隠れたユニットは買う率的なバイナリ値を持った。トップの制限ボルツマンマシンの隠れたユニットは、その平均がその制限ボルツマンマシンのロジスティック見えるユニットからの入力によって決められる、ユニット分散ガウス分布から抽出された確率的実数値状態を持った。これは、低次元コードが連続変数をうまく活用することを可能にし、主成分分析との比較を促進した。事前訓練と微調整の詳細はScience Onlineの教材の中に見つけることが出来る。

*1:D. DeMers, G. Cottrell, Advances in Neural Information Processing Systems 5 (Morgan Kaufmann, San Mateo, CA, 1993), pp 580-587.

*2:R. Hecht-Nielsen, Science 269, 1860 (1995).

*3: N. Kambhatla, T Leen, Neural Comput. 9, 1493 (1997).

*4:P. Smolensky, Parallel Distributed Processing: Volume 1: Foundations, D. E. Rumelhart, J. L. McClelland, Eds. (MIT Press, Cambridge, 1986), pp. 194-281.

*5: G. E. Hinton, Neural Comput. 14, 1711 (2002).

*6:G. E. Hinton, Neural Comput. 14, 1711 (2002).

*7:G. E. Hinton, S. Osindero, Y. W. Teh, Neural Comput. 18, 1527 (2006)

*8:M. Welling, M. Rosen-Zvi, G. Hinton, Advances in Neural Information Processing Systems 17 (MIT Press, Cambridge, MA, 2005), pp. 1481-1488.