3.4.滑らかさ vs コルモゴロフ複雑性――Learning Deep Architectures for AI

Learning Deep Architectures for AIの翻訳です。

3.4.滑らかさ vs コルモゴロフ複雑性


次元ののろい、から逃れるために、データ内に起こる多量の変化を、それらすべてを列挙することなくとらえることが出来るモデルを持つことが必要である。その代わり、これらの変化の大部分をとらえるコンパクトな表現は、学習アルゴリズムによって発見されなければならない。ここで「コンパクト」とは、それが少ないビットでコード化出来るということである。


ローカル評価子という考えは、セクション3の初めに紹介した、滑らかさとかスムースネス・プライアの考えに関連している。単純さの尺度としての滑らかさは汎化を制御するのに有効な方法であるが、他のものも可能であり、たぶんより望ましいであろう。例えば、対象関数が、人が得られると思う訓練例の数よりずっと多い数の変化を持つ、高度に変化するものである場合を考えてみよう。ディープ・アーキテクチャ潜在的にそのような関数を(人が得ることが出来る訓練例の数に比べて)少ない数のパラメータで表現出来るであろう。もし対象関数のそのようなコンパクトな表現を発見するならば、一種の圧縮が達成されたことになる。これは、オッカムのかみそりのゆえに、良い汎化を生み出しそうである(Solomonoff, 1964; Kolmogorov, 1965; Li & Vitanyi, 1997; Hutter, 2005) 。この圧縮を測る最も極端で一般的な方法はコルモゴロフ複雑性を用いることである。コルモゴロフ複雑性は、あるプログラミング言語で解を表現する最も短い文字列の長さである。異なる言語を用いることは、(ある言語の文字列を別の言語の文字列に翻訳するコードのために)定数を文字列長に加えるだけである。非常に短い文字列で表現出来る多くの関数が、図3の正弦曲線の例のように、非常に短い文字列で表現可能である。もし訓練例を要約するコンパクトな記述を見つけることが出来るならば、良い汎化が期待出来ることを、学習理論(Vapnik, 1995; Li & Vitanyi, 1997)は示している。


カーネルや(ガウシアン・プロセスでの)共分散関数によって表現される滑らかさの主な利点は、学習アルゴリズムに含まれる最適化問題は、凸状である、つまり、ローカルな極小がなく、よって解くのが容易である、ことである。コルモゴルフ複雑性は計算可能ですらなく、上から境界づけられている。コルモゴロフ複雑性の上限は最適化可能である。我々の命題は、ディープ・アーキテクチャは多くの関数をコンパクトに表現出来ることであり、さらに、大域的な最適値が見つかっていない場合でさえ、その近似最適化が非常に良い解を生み出すだろうということである。以前の解よりコンパクトなどんな解も、汎化の向上をもたらす。最小記述長(Rissanen, 1990)と、最小メッセージ長(Wallace & Boulton, 1968)のような、その変形も、多くの具体化とともに確率変数の文脈でこの原理を用いる。(サンプルの外のlog尤度の点で)良い予測モデルもまた、個々の例を記述するためのビットだけでなく、そのモデル自身を記述するのに必要なビットも含んだ、たいていは、個々の例に短いコードを割り付けることが出来るモデルである。


不十分な深さとローカル評価による学習アルゴリズムの制限に関する我々の分析から、何を結論とすることが出来るだろうか? 不十分な深さとローカル評価のどちらの場合でも、対象関数を表現するのに、非常に大きな数の調整可能要素を必要とし、よって非常に大きな数の例を必要とすることを見てきた。一方、もし対象関数をコンパクトに表現出来るような表現が存在するならば、対象関数の変化の数よりずっと少ない数の例から、良い汎化を得ることが出来る。非常に大きな数の構成をコンパクトに表現することについて希望を抱かせる最も重要なアイディアは分散表現のアイディアであり、それを次に検討し、それはディープ・アーキテクチャのための学習アルゴリズムについての、この論文の二番目のパートの導入となる。