AIエンジニアの探求

計算論的神経科学で博士号取得後、AIエンジニアとして活動中。LLMの活用や脳とAIの関係などについて記事を書きます。

Why does deep and cheap learning work so well?

Deep Learningの理論的な側面にアプローチした論文*1。タイトル通り、なぜDeep Learningがうまくいくのか?を考えている。ただし個々のネットワークの構造やdropoutなどの学習テクニック、種々の勾配法のアルゴリズムには言及せず、もっと基礎的な部分をフォーカスしている。

ここで議論されている中心的な問いは

  1. なぜ少数のパラメータしか持たないニューラルネットワークでデータを表す関数を表現できるのか?
  2. なぜ層を深くすることが有効なのか?

の2つ。

 1つめについて、ここでは過学習や収束する時間は考えず、ネットワークが次の関数を近似できればOKとしている。

{ \displaystyle y = p(y | \textbf {x} ) }

 ここでは分類問題を想定していて、 {\textbf{x}}がデータ、そしてyがそのラベルを表している。十分な数のノードを持つニューラルネットワークは任意の関数を任意の精度で近似できる*2という定理があるので最初これは自明かと思ったけど、どうもそうではないらしい。

 というのも現実のデータを相手にする場合、{\vec{x}}の自由度が半端無く大きい。仮に画素数が1,000,000の画像を相手にする場合、得られる画像の組み合わせの総数は{ \displaystyle 256^{1000000}}にもなって、ニューラルネットのノードの数を遥かに上回ってしまう(というか、宇宙の全原子数も簡単に上回る)。それでも適切に近似できるのはなぜなのか、そういう問題。

 まずは近似すべき関数をボルツマン形式で書くように変形する。そうすると

{ \displaystyle H_{y}(\textbf{x}) ≡ −\ln {p(\textbf{x}|y)}} 

と置くことができて、物理におけるハミルトニアンと同一視できる。このハミルトニアンの自由度が小さいために、ニューラルネットで表現可能、という論理で進んでいく。

 このハミルトニアンは次のように書ける。

{\displaystyle H_{y}(\textbf{x}) = h + \sum_{i}h_{i}x_{i} + \sum_{i\leq{j}}h_{ij}x_{i}x_{j} + \sum_{i \leq j \leq k}h_{ijk}x_{i}x_{j}x_{k} + \cdots }

そして現実の物理的な実体を考えた場合、そのハミルトニアンには次のような特徴があるという。

  • 低い次数の項しか効いてこない。高い次数の項は実質的に無視できる。
  • 局所性、すなわち近い位置同士の項しか関係してこない(上の式では、例えばiとjが隣り合う項以外は落とせるなど)。
  • 対称性(回転、並進など)。

これによって自由度が大幅に減らせるので、ニューラルネットで表現可能となる。

 まあ{ \displaystyle 256^{1000000}}もの自由度を相手にしなくていいだろうっていうのは考えてみれば当たり前なんだけど、物理的なアナロジーできちんと議論されているのは新鮮だった。厳密な議論はこれからってところだと思う(ハミルトニアンの生成とデータの生成は本当に同一視していいのか?上にあげた特徴は実データにも当てはまっているのか?etc・・・)。

 2つめはデータの分類モデルをネットワークで表現できるのは分かったけど、じゃあなんで多層である必要があるのか?という問題。繰り返しになるが十分な数のノードがあれば、「入力層-隠れ層-出力層」の3層で任意の関数が近似できることが分かっている。

 この問題に対しては①データが生成される際の普遍的な構造に着目した物理的アプローチと②隠れ層が少なくなると関数を表現する際に必要なノードの数が増えてしまうという数学的なアプローチが述べられている。

 ②については、ここでは様々なタイプの"No-flattening theorems"が根拠として示されている。これによって、多層にしたほうが「有利」であることが示されているが、その一方で層を深くし過ぎるとパフォーマンスが悪くなるタスクがあることはこれから解くべき問題としている。

 ①が個人的に面白くて(これも厳密な議論ではないけれど)、世の中にあるデータは階層的かつマルコフ過程的に生成されていて、その構造ゆえに多層なネットワークが有利になっていると主張している。

 具体的にあげられている例として、宇宙マイクロ波背景放射を観測するときのデータがある。このデータが観測されるまでには

「まず少数のパラメータ(ダークマターの密度分布など)がある→そこにゆらぎが加わってスペクトルが生成される→宇宙マイクロ波背景放射が生成される→銀河系に到達するときにゆらぎが加わる→観測されるときにゆらぎが加わる」

といった階層的なステップがあり、それぞれのステップはマルコフ的になっているという。そしてこの構造は画像などにも現れる

「まず対象がある(猫、犬、etc・・・)→その種類は?色は?大まかな形は?などの特徴量を持つ数値表現→画像への変換→並進や回転が加わる→背景が加わる」(ただし、これは著者もあくまで議論するためにたとえとして出したもので単純化して考えすぎていると認められている)

として、その構造を表現するにはそれぞれの層がマルコフ的な変換を表す多層なニューラルネットが有利とのこと。

f:id:tripdancer0916:20171210225112p:plain

(Henry W. Lin et al.(2016)より引用)

 

 もちろん荒削りな議論は多いしここから精密化するのは結構大変そうではあるけど、Deep Learningが成功する理由をネットワーク側だけでなく、世界がどのように構成されているか、そこに現れる普遍的性質な構造は何かというある意味逆側の側面から考えられているのが興味深かった(いわゆる多様体仮説に近い、もしくはその理論的根拠を示している) 。そして発想が壮大で楽しい。

 世界の普遍的構造をネットワークが利用しているという話はつい最近出てきたDeep Image Prior*3とも関係してくるだろうし、これからの研究に期待したい。

 

 

 

*1:Sato, Y., Akiyama, E., & Farmer, J. D. (2002). Chaos in learning a simple two-person game. Proceedings of the National Academy of Sciences, 99(7), 4748–4751. https://doi.org/10.1073/pnas.032086299

*2:K. Hornik, M. Stinchcombe, and H. White, Neural net- works 2, 359 (1989)

*3:Dmitry Ulyanov, Andrea Vedaldi, Victor Lempitsky, Arxiv e-prints(2017), 1711.10925.