1.導入――Learning Deep Architectures for AI

Learning Deep Architectures for AIの翻訳です。

1.導入


我々が知性と呼ぶものを示すに充分なほど、この世界をモデル化することをコンピュータが出来るようにすることは、半世紀以上の研究の焦点であった。これを達成するためには、この世界に関する大量の情報が明示的であれ暗黙のうちにであれともかくもコンピュータの中にストアされなければならないことが明らかである。この全ての情報をコンピュータが質問に答えたり新しい状況に汎化したりするために利用できるような形式で手動で形式化することは手ごわいことにみえるので、多くの研究者が、その情報の大量のかけらをとらえる学習アルゴリズムに向かっていった。学習アルゴリズムを理解し向上させるために多くの進歩がなされたが、人工知能(AI)の課題は残っている。情景を理解し自然言語で叙述することが出来るアルゴリズムを我々は持っているだろうか? 非常に限られた設定における場合を除いてそうではない。意味論的な概念を用いて大部分の人と交流することが出来るほどその概念を推論できるアルゴリズムを我々は持っているだろうか? 持っていない。最もよく明確化されたAIの課題のひとつである画像理解について考えるならば、大部分の画像を解釈するのに必要であるとみえる多くの視覚的なそして意味論的な概念を発見できる学習アルゴリズムをまだ我々は持っていないことに気がつく。この状況は他のAIの課題についても同様である。


(人が「知的」と分類するような)複雑な振る舞いを示すのに必要な計算機械は、高度に変化する数学的な関数を、つまりナマの感覚入力について高度に非線型な数学的関数を必要とする。例えば、図1のような入力画像を解釈する課題を考えてみよう。人が(マシン・ビジョンや自然言語処理のような)AIにおける特定の課題を解こうとする場合しばしば、問題をサブ問題に分解する方法と複数レベルの表現についての自分の直感を利用する。自然画像から役に立つ情報を抽出するもっともそうで通常のやり方は、生の画素表現を徐々により抽象的な表現、たとえば、境界の存在から始めて、より複雑な、しかし局所的な形の検出、画像の部分になっているサブ・オブジェクトやオブジェクトに関連した抽象的カテゴリーの同定まで、に変換し、これらすべてをつなぎ合わせて、それについて質問に答えられるほどの情景の理解をとらえることを含む。我々は学習システムへのナマの入力を、未知の複雑な統計的関係を持つ、観測された変数からなる、高次元の実体とみなす。例えば、固体の物体と照明の3次元の幾何学の知識を用いて我々は、画像内の全ての画素について画素の明度の変化を、背後にある(位置とか方向とか物体の照明のような)物理的要因と幾何学的要因における小さな変化に関係づけることが出来る。この場合、複雑な物理的要因についての我々の知識は、これらの依存性の数学的な形式の、そして同じ3次元物体に関連する画像の集合の形の、絵を得ることを可能にする。もし仮に機械がデータの統計的変化を説明する要因と、我々が観察する種類のデータを生成するためにそれらが相互作用する仕方をとらえたとしたら、我々はその機械が変化のこれらの要因に覆われた世界のそれらの局面を理解していると言うことが出来るだろう。あいにく、一般的に、そして自然画像の背後にある変化の大部分の要因について、変化のこれらの要因の解析的な理解を我々は持っていない。世界についての、観察される画像の多様性を説明するのに充分な定式化された事前の知識を我々は持っていない。図1に示すのような一見簡単な抽象化についてさえそうである。のような高レベル抽象は、それが可能な画像の非常に大きな集合に対応するという性質があり、それらが画素明度の空間における単純なユークリッド距離の観点からは互いに非常に異なっている。そのラベルが適切であるような画像の集合は、画素空間の非常に複雑な領域を形成し、それは必ずしも連結された領域であるとは限らない。というカテゴリーは画像の空間に関する高レベルの抽象であると見ることが出来る。ここで我々が抽象と呼ぶものは(カテゴリーのような)カテゴリー、あるいは特徴、感覚データの関数であり得る。それらは離散的(例えば、入力文は過去形である)かあるいは連続的(例えば、入力動画はある速度で動く物体を見せる)であり得る。多くのより低い、そして中間のレベルの概念(我々はこれをもここで抽象と呼んでいるが)は検出器を構築するのに役立つだろう。より低いレベルの抽象はより直接的に特定の知覚表象に関係するが、一方、より高いレベルの概念は、それらと実際の知覚表象の関係がより遠く、他のもの、つまり、中間レベルの抽象を通してなので、我々が「より抽象的」と呼ぶものである。




図1: ナマの入力画像を徐々に、例えば、境界、局所的な形、物体の部分、など、より一層の抽象化関数を表現する、より高いレベルの表現に変換したい。実際には、抽象化のこれら全てのレベルについて何が「正しい」表現なのかあらかじめ知っているわけではないが、言語の概念は、より高いレベルが暗黙のうちに表現していることを我々が想像するのを助けるだろう。


頑健な検出器や、適切な中間的抽象化を構築する方法を我々は正確には知らない。さらに、我々が「知的な」機械にとらえて欲しい(のような)視覚的あるいは意味論的概念の数は大きい。ディープ・アーキテクチャ学習の焦点は、最も低いレベルの特徴から最も高いレベルの概念まで、そのような抽象内容を自動的に発見することである。理想的には、人の工数が出来るだけ少なくてこの発見が可能になるような学習アルゴリズムが望ましい。つまり、全ての抽象を手動で定義しなければならないことはなく、手動で関係するラベルをつけた例の膨大な集合を用意しなければならないこともなく、である。もし仮にこれらのアルゴリズムがウェブ上の文章と画像の膨大なリソースを利用することが出来たならば、それは確かに、多くの人間の知識を機械が解釈できる形式に変換するのを助けることになったであろう。


この論文の最初のパートで検討する重要な点のひとつは、人間が世界のある局面を叙述する時に自然に心に描く複数のレベルの抽象内容に類似して、学習済の関数が複数のレベルから成る構造を持たなければならない、ということである。この検討は不十分な数のレベルで定義された関数の表現上の制限についての直感と理論的な結果の両方に基づいている。機械学習における現在の大部分の成果は浅いアーキテクチャに基づいているので、これらの結果は、ディープ・アーキテクチャの学習アルゴリズムを調査することを示唆しており、これがこの論文の第二のパートの主題である。


マシン・ビジョンの多くでは、学習アルゴリズムがそのような処理の連鎖の特定の部分に限られてきた。設計の残りの部分は労働集約的のままであり、それがそのようなシステムの規模を制限しているようだ。一方、我々が知的と考えるものの特質は概念の充分大きなボキャブラリーを含む。を認識できるだけでは十分ではない。そのような課題と概念の非常に大きな集合に立ち向かうことが出来るアルゴリズムを我々は必要とする。そのような多くの課題を人手で定義するのは気力を失わせることのように見え、この文脈において学習が必須のものになる。これらの課題の間にあり、またこれらが必要とする諸概念の間にあって隠れている共通なものを利用しないのは馬鹿げて見える。これはマルチタスク学習に関する研究の焦点であり続けた(Caruana, 1993; Baxter, 1995; Intrator & Edelman, 1996; Baxter, 1997)。複数のレベルを持つアーキテクチャは自然に構成要素の共有と再利用を提供する。を検出するのに役立つ、(境界検出器のような)低レベルの視覚的特徴や(物体の部分のような)中間レベルの視覚的特徴は他の視覚的課題の大きなグループにとっても役立つ。さらに、相互に関連する概念の大きな集合について学習することは、人間が出来るような広範囲の汎化のためのキーを提供するだろう。それを我々は視覚的カテゴリーごとに検出器ひとつずつで別々に訓練された物体検出器から期待することは出来ないだろう。個々の高レベルカテゴリー自身が抽象的特徴の特定の構成によって表現されているならば、まだ見たことのないカテゴリーへの汎化はこれらの特徴の新しい構成から自然に結果として現れるだろう。訓練例の中にはこれらの特徴の構成のうち若干しか提示されないにしても、それらがデータのさまざまな局面を表現しているならば、新しい例をこれらの特徴の新しい構成によって、意味があるように表現することが出来るだろう。このアイディアは、この論文で説明する学習アルゴリズムの多くの核心である、分散表現のコンセプトの基礎になっており、セクション4で検討する。


この論文はほとんど独立に読むことが出来る2つの主なパートを持つ。最初のパートでは、セクションでディープ・アーキテクチャの動機づけのための数学的な議論を行う。ディープ・アーキテクチャの各レベルは入力の分散表現と関係している。2番目のパートは(残りのセクションで)、ディープ・ビリーフ・ネットワークと、その構成要素である層である、制限ボルツマンマシンに焦点を当てて、ディープ・アーキテクチャの現在の学習アルゴリズムを採り上げる。


この論文の次の2つのセクションでは、既存の多くの学習アルゴリズムの制限を示唆している数学的な結果を概説する。これらの制限の2つの側面が考察される。アーキテクチャの不十分な深さ、と、評価子の局所性である。アーキテクチャの深さという観念を理解するためには、計算要素の集合という観念を導入しなければならない。そのような集合の例は、人工ニューロンによって遂行される計算の集合である。関数はこの集合からの要素の計算によって、この構成を定式化する、1つの計算要素毎に1つのノードを持つグラフを使って表現出来る。アーキテクチャの負荷さはこのグラフの深さのことを指している。つまり、入力ノードから出力ノードへの最も長い道のりである。計算要素の集合が、人工ニューロンが(そのパラメータ値に依存して)作ることが出来る計算の集合であり、深さはニューラル・ネットワークの層の数に対応する。セクション2では不十分な深さしかないアーキテクチャはずっと多くの計算要素を必要とし、深さが課題にマッチしているアーキテクチャに比べて(入力のサイズに関して)潜在的に指数関数的に多い、という理論的結果を概説する。これは学習にとって有害である。確かに、もし関数が非常に大きな、しかし浅いアーキテクチャで(多くの計算要素によって)、課題の解を表現するならば、これらの要素の全てをチューニングするために多くの訓練例が必要になるだろう。関数の表現が少ない計算要素しか持たない場合、つまり学習によってチューニングされる自由度がより少ない場合、この表現がコンパクトであると我々は言う。よって、一定数の訓練例について、目的とする関数のコンパクトな表現はより良い汎化を生み出すと我々は期待するであろう。


深さの問題と関連しているのがセクション3で議論される、評価子の局所性の問題である。これはもうひとつの、より幾何学的に明らかな、ノンパラメトリック学習アルゴリズムの大きなクラスにおける制約である。それらは新しい入力xについての良い汎化を、だいたいにおいてxの近傍にある訓練例を利用することで得ている。例えば訓練例の中で、テスト点xk番目に近い例は、xでの予測に賛成票を投じる。この局所性の問題は次元ののろいに関する文献に直接つながっているが、我々が引用した結果は、汎化のために大切なことは次元ではなく、その代わり、学習後に我々が得たいと思っている関数の「変化」の数であることを示している。例えば、モデルが表現する関数が区分的にコンパクト(例、デシジョン・ツリー)ならば、大切な問題は、対象の関数を正しく近似するのに必要な要素の数である。変化の数と入力の次元の間には関連がある。d個の入力を持つパリティ関数のような、入力の次元に関して変化の数が指数的であるような対象関数の族を人は容易に設計できる。


セクション4は分散表現の複数のレベルを抽出するのにディープ・アーキテクチャをどのように利用できるかを示唆する。そこでは計算グラフの個々のレベルでの値の構成の集合が非常に大きくなり得る。これは、入力の複雑な関数を我々がコンパクトに表現することを可能にするだろう。


後半ではこの論文は、ディープ・アーキテクチャを訓練するために提案されてきた若干のアルゴリズムを説明し、分析する。*1これらのアルゴリズムの多くがオートアソシエータに基づいている。それは入力に対して分散表現を計算する1層のモデルを学習させるための単純な教師なしアルゴリズムである(Rumelhart, Hinton, & Williams, 1986a; Bourlard & Kamp, 1988; Hinton & Zemel, 1994)。我々は、ディープ・アーキテクチャの最も古い成功例であり、情景と信号処理の課題に特化した、コンボリューショナル・ニューラル・ネットワークについても検討する(LeCun, Boser, Denker, Henderson, Howard, Hubbard, & Jackel, 1989; LeCun, Bottou, Bengio, & Haffner, 1998b)。セクション910はディープ・アーキテクチャを訓練するのに非常に成功してきたより近年に提案された学習アルゴリズム、ディープ・ビリーフ・ネットワーク(DBN) (Hinton, Osindero, & Teh, 2006)とスタックド・オートアソシエータ(Bengio, Lamblin, Popovici, & Larochelle, 2007; Ranzato, Poultney, Chopra, & LeCun, 2007)、に充てられる。ディープ・ビリーフ・ネットワークは制限ボルツマンマシン(RBM)と対照分岐アルゴリズム(Hinton, 2002)に基づき、セクション6で紹介される。セクション7では制限ボルツマンマシンのためのlog尤度勾配の評価子を説明する。この分析は(オートアソシエータを訓練するのに用いる)再建エラーと(制限ボルツマンマシンを訓練するのに用いる)対照分岐がどのようにlog尤度勾配を近似するかを示す。セクション8は、制限ボルツマンマシンのパラメータ化を、その基本の因数分解性質と、勾配の対照分岐評価子を保ちながら、可能な限り一般化する。最後に、我々は最も挑戦的な次の問題を考察する。我々はどのようにして、訓練するこれらのディープ・アーキテクチャが必要とする困難な最適化問題をたぶん扱うことが出来るのだろうか? 特に、我々は連続法の原則を検討する。それは最初、望んでいるコスト関数のより滑らかなバージョンを解決し、ディープ・アーキテクチャの最適化における端緒となった。そして我々は制限ボルツマンマシンとディープ・ビリーフ・ネットワークのための既存のアルゴリズムが近似的に連続法であることを見つけた。

*1:今まで大部分ディープ・ニューラル・ネットワークであったが、のちに我々はツリーの組合せがニューラル・ネットワークの層と同様に学習出来、積上げることが出来ることを示唆する。