5.深い(ディープ)アーキテクチャの学習:最適化の困難な問題――Learning Deep Architectures for AI

Learning Deep Architectures for AIの翻訳です。

5.深い(ディープ)アーキテクチャの学習:最適化の困難な問題


非ローカル評価子であるディープ・アーキテクチャの必要性について動機づけされたので、これからディープ・アーキテクチャを訓練するという困難な問題に我々は向かう。経験上の証拠は、ディープ・アーキテクチャを訓練することは、浅いアーキテクチャを訓練する際に伴う問題より難しい最適化問題を伴うことを、示唆している(Bengio et al., 2007)。その証拠の多くは、複数層ニューラル・ネットワークの訓練に関する研究から来ており、それらは、訓練が局所的な最小やプラトー(台地)に、はまり込み、1つか2つの隠れた層を持つニューラル・ネットワークより悪い結果を伴うことを、示唆している。


複数層ニューラル・ネットワークの典型的な方程式群は以下の通りである。図7に示すように、層lは、下の層の出力z_{l-1}を用いて、出力ベクトルz_lを計算し、これは入力z_0から始まる。
     z_l=\tanh(b_l+W_lz_{l-1})     (3)
また、これはパラメータ群b_l(バイアス)とW_l(重み)を持つ。\tanh\rm{sigm}(x) = 1/(1+e^{-x}) =\frac{1}{2}(\tanh(x)+1)と置き換えることが出来る。最上層の出力z_Lは予測するために使われ、教示目標yと組み合わされて、通常凸である、損失関数L(z_L,y)に入る。出力層は\tanhとは異なる非線型性を持つかもしれない。例えば、ソフトマックス
           z_{Li}=\frac{e^{b_{Li}+W_{Li}z_{L-1}}}{\Bigsum_je^{b_{LJ}+W_{Lj}z_{L-1}}}       (4)

である。ここでW_{Li}W_Li番目の列で、 z_{Li}は正で、\Bigsum_iz_{Li}=1である。 Y=iは、入力パターンxに関係するi番目のクラスであると解釈すれば、ソフトマックスの出力z_{Li}は、P(Y = i|x)の評価子として使用出来る。この場合、しばしば負の条件log尤度L(z_L, y)=-\log z_{Ly}が、損失して用いられる。その、(x, y)ペアに渡る期待値は最小化されるべきである。





図7:それぞれアフィン演算と非線型を組み合わせた層の積み重ねによって、通常、予測や分類を行うために教師あり学習に用いられる複数層ニューラル・ネットワーク。計算は、入力xから、隠れた層h_kを通って、ネットワーク出力\hat{y}へとフィードフォワードで遂行され、ネットワーク出力は、最小化されるべき損失L(\hat{y}, y)を得るために、ラベルyと比較される。


ディープ・アーキテクチャは、それを最適化することが困難なため、機械学習の論文であまり研究されてこなかった(Bengio et al., 2007)。その顕著な例外にはコンボリューショナル・ニューラル・ネットワーク (LeCun et al., 1989; LeCun et al., 1998b; Simard & Platt, 2003; Ranzato et al., 2007)と、変分近似を用いたシグモイダル・ビリーフ・ネットワーク(Dayan, Hinton, Neal, & Zemel, 1995; Hinton, Dayan, Frey, & Neal, 1995; Saul, Jaakkola,& Jordan, 1996; Titov& Henderson, 2007)と、より最近には、ディープ・ビリーフ・ネットワーク(Hinton et al., 2006; Bengio et al., 2007)がある。Bengio et al. (2007)における実験結果と、同様に多くの未報告の否定的な観察は、ディープ教師あり複数層ニューラル・ネットワークの、勾配ベースの訓練は、ローカルな極小やプラトーにとらえられることを、示唆している。これらは、1つか2つの隠れた層を持つネットワークで得られる解より悪い性能を示す、貧弱な解に対応しているように見える。Bengio et al. (2007)で報告された実験も、過学習の効果を伴う貧弱な最適化の効果のもつれをほどくのを助ける。それらは、ランダムなパラメータ初期化を行い、勾配訓練された深い教師ありニューラル・ネットワークでは、(入力に近い)低い層はあまり最適化されていない、ということを表している。確かに、一般に、2層ネットワークはよく訓練出来ることや、ディープ・ネットワークの上位2つの層の観点から、それらの入力が、より低い層の出力であるような、浅いネットワークをそれらが形成することを、我々は知っている。もし最上位近くの層が充分な容量(充分な隠れたユニット)を持つならば、これは訓練誤差を非常に低くするには充分であろうが、これは浅いニューラル・ネットワークよりも汎化能力が劣る。一方、より低い隠れた層のよりよい初期化によって、訓練と汎化の誤差は非常に低くすることが可能である。よく訓練されたディープ・ニューラル・ネットワークでは、隠れた層がデータの「良い」表現を形成し、それはよい予測を行うに役立つ。より低い層がうまく初期化されていない場合、これらの決定論的で連続的な表現は、一般に入力に関する情報の大部分を保持するが、これらの表現は、最上位の数層が分類を遂行するのを助けるどころかむしろ妨げるだろう。最上位の数層の容量を単に増やすことで、非常に小さな訓練誤差を得ることは容易なことである。例えば、ディープ・ニューラル・ネットワークの最終層の最適化は、通常凸最適化問題である。最終の2層の最適化は、凸ではないが、ディープ・ネットワークの最適化よりずっと容易であることが知られている。よって、よい汎化のために重要なことは、そしてより困難なことは、(トップの1、2層を除く)低い層の最適化である。より良い汎化は入力の良いから達成され得るという意味で、これらは、入力の良い表現を引き起こすことが出来る層である。良い表現は、入力空間の変化の要因をとらえ、また、それらのもつれをほどくことを、我々は信じている。


ディープ・ニューラル・ネットワークのトップの2つの層を、ガウシアン・プロセスやサポート・ベクター・マシンのような凸マシンで置き換えることは、特に訓練誤差について若干の改善をもたらし得る(Bengio & Le Cun, 2007)が、もし、より低い層の最適化が不十分であれば、汎化についてはあまり役に立たないだろう。


より低い層への勾配逆伝播は、パラメータ群をよい解に対応する領域に移動させるのには十分でないことを、上のいくつかの手掛かりは示唆している。基本的に最適化は、貧弱な局所的極小や台地(つまり、小さな勾配)で立ち往生する。トップ数層の勾配ベース訓練は満足のいく程度にうまくいくので、勾配は、より低い層に目を移すにつれて、パラメータ群の必要な変更についての情報を与えることが、より少なくなっていくように見える勾配を利用することのこの困難と、長いシーケンスを通して再帰的ニューラル・ネットワークを訓練する際の困難の間には、何か関係があるのだろう。これは(Hochreiter, 1991; Bengio, Simard, & Frasconi, 1994; Lin, Horne, Tino, & Giles, 1995)で分析された。再帰的ニューラル・ネットワークでは、この困難は、多くの非線型を通して伝播される勾配の消失(あるいは、時には爆発)に端を発すると見ることが出来る。再帰的ニューラル・ネットワークの場合、勾配の短期と長期の成分の間のミスマッチによる、もうひとつの困難が存在する。