この記事は日経Robotics 有料購読者向けの過去記事(再掲載)ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 ディープラーニングは画像認識や音声認識など多くのアプリケーションで従来手法を大きく上回る性能を達成しているが、なぜうまくいくのかについては実は理論的な説明ができていない。特に最も基本的で重要な

  • (1)なぜディープラーニングは学習できるのか
  • (2)なぜディープラーニングは汎化するのか

については完全な解明がされていない。これらの問題とそれらの解決を目指した近年のアプローチについて紹介しよう。

ディープラーニングはなぜ学習できるのか

著者のPFNの岡野原大輔氏

 はじめに、ディープラーニングがどのように学習をしているのかについて簡単におさらいしよう。

 ディープラーニングは多くの機械学習と同様に、学習データを使ってモデルのパラメータ$\theta$に基づいた目的関数$L(\theta)$を設定し、この目的関数をモデルパラメータについて最小化する最適化問題$\min_{\theta}L(\theta)$を解くことで学習する。

 学習の際には、目的関数のパラメータについての勾配$v = \frac{\partial L(\theta)}{\partial \theta}$を計算し、勾配の負の方向に向かってパラメータを$\theta := \theta- \alpha v$のように更新する(確率的)勾配降下法(SGD)を利用する。ここで$\alpha >0$は学習率と呼ばれるハイパーパラメータである。

 この最適化は、あたかも平面方向を$\theta$、高さを$L(\theta)$とした波打った曲面上で最も急に下る方向に移動してくようなものである。この最適化の何が問題だろうか。

 ディープラーニングの目的関数は非凸関数であり、無数の局所解やプラトー(勾配が$0$に近い平らな領域)、鞍点(馬の鞍のようにある方向には下がっていて、ある方向には上がっている)が存在することが分かっている。そのため、勾配降下法はプラトーや鞍点に遭遇すると勾配が消失し学習できない状態に陥ったり、たとえ局所的に一番小さい領域に到達したとしてもそれが全体の中で最適な解である保証がない。

 実際、潜在変数モデル(HMMなど)に対する期待値最大化(EM)法を使ったパラメータの最適化やK-means法によるクラスタリングなどでは、目的関数が非凸で多くの局所解を持つため初期値によっては最適ではない解に収束する。そのため、2012年より以前は、大きなニューラルネットワーク(NN)の学習は不可能なくらい難しいのではないかと思われていた。しかし、2012年にカナダUniversity of TorontoのAlex Graves氏らはいわゆるAlexNetで大きなNNでもなぜか学習に成功することを示し、その後もほとんどのNNの学習では初期値によらず、目的関数を最小化(多くの場合訓練誤差を$0$)するような解に到達できることが分かっている。

 この謎を解くためこれまで多くの理論解析がされてきた。例えば目的関数がどのような形をしているのか(Loss Surface、Loss Landscape)の解析がなされてきた。NNの内部計算で入力から出力までの計算パスが独立であるという近似をした上でスピングラスモデルを適用して解析した例では、局所解が最適解の近くに集まっていることが示されている1)。しかしこれまでのモデルは、データに仮定を置いたり3層のNNに対しての解析などのみで、実際複雑な学習データで数十層を超えるNNの学習に対する説明ができていなかった。

図1 今回の理論を提唱したMicrosoft Researchの Allen-Zhu氏 
文献2)の著者である。中国・清華大学出身。米MITや米 Princeton Universityなどを経て、2017年にMicrosoft Researchに入社した。過剰パラメータを持つNNであ れば、SGDを使った学習は最適解を多項式時間で到達 できることを示した。(写真:Microsoft Research)

 2018年11月にMicrosoft ResearchのZeyuan Allen-Zhu氏(図1)らがこの問題に対し、過剰パラメータを持つNNであれば、SGDを使った学習は最適解に多項式時間で到達できることを示したと主張した2)(ほぼ同時期に別の2チームも同様の主張をしたが文献2)が最も一般的で強い主張をしている)。過剰パラメータは学習サンプル数よりパラメータ数の方が多いような場合であり、実際多くのNNの学習では過剰パラメータを使っている。この証明では多層かつ現実的なネットワーク(ReLUを使っており、CNN、ResNetを含む)を扱っており、正しければこの問題解決への大きなマイルストーンとなる。

 実験的にはNNはパラメータ数が大きければ大きいほど学習しやすいことが分かっている(さらに目的関数の最適化と関係ないが汎化性能も良くなることが分かっている)。通常、制約の数よりパラメータの数の方が大きければ不定問題となり、収束が遅くなる場合が多いがNNの場合はそうした問題には遭遇しない。

 この証明には高度なテクニックを使っているため、ここでは概要のみを説明する。証明のポイントとなるのは次の2点である。

 1つ目はパラメータがランダムに設定された初期値に十分近ければパラメータについての勾配は小さすぎず、大きすぎないということである。さらに目的関数の値が大きい場合は勾配も大きいということを示せる。これによって途中でプラトーや局所解に遭遇する可能性がほとんどないことが示される。この証明の中では、たとえ学習中に1つのサンプルについて勾配が消失した場合でも他のサンプルが勾配を生み出すことも利用している。

 2つ目は、ReLUなど滑らかでない関数を使った場合でも目的関数はある種の滑らかさを持っており、局所的な減少方向である勾配に従って最適化することで目的関数を小さくできるということを示せる。

 これらの結果を利用することでNNはどのような初期値であろうが学習データであろうが、過剰パラメータさえ持てば(ほとんど)常に学習が成功できるということが示せる。

ディープラーニングはなぜ汎化するのか

 もう1つの問題が、ディープラーニングがなぜ汎化するのかである。機械学習の目標は、学習データに対してうまく振る舞うことではなく、未知データに対してもうまく振る舞えるような汎化能力を獲得することである。

 一般的にパラメータ数が多く、強力、つまり多くの関数を表現できるようなモデルはそうでないモデルに対して汎化しにくいことが知られている。例えば、汎化性能の理論でunion boundやラデマッハー複雑度、VC次元などを用いてモデルの複雑度を数値化し、これらを用いて汎化性能を評価し、「ある事柄を説明する場合に必要以上に多くの仮定を使うべきではない」という“オッカムの剃刀”の原則を汎化理論の意味からも指示していた。

 これに対しニューラルネットワークは強力でありながら汎化することは謎であった(これについては本誌2017年5月号でも取り上げている)。実際、学習データのラベルをランダムなラベルに置き換えたデータに対してもディープラーニングモデルは“学習”することができ、高い表現力を持っていることが示されている3)

 この汎化能力を説明するために、モデルの複雑度だけではなく学習アルゴリズムに依存して汎化性能を説明するPAC-Bayes、一様安定性などを使った手法が提案されている。著者が最も有力とみているのが学習データとアルゴリズムの関係を考慮した相互情報量に基づいた汎化性能の評価4)である、これについてみてみよう。

 はじめに必要な定義を説明する。確率変数$U$は$\log \mathbb{E} \big[\exp(\lambda(U - \mathbb{E} U ) \big] \leq \lambda^2 \sigma^2$を満たす時、$\sigma$-subgaussianであると呼ぶ。これは裾に行くに従って確率密度がガウス分布より速く減衰していくような分布である。

 未知の分布$\mu$に従って学習データが$S=\{Z_1, Z_2, \ldots, Z_n\}$とサンプリングされたとする。また学習アルゴリズムは$S$を使って(確率的に)モデル$w$を$P_{W|S}$に従って選択すると考える。また損失関数を$l(z, w)$とし、$S$と$W$の同時確率について$\sigma$-subgaussianであるとする。例えば下限が$a$、上限が$b$であるような損失関数は$(b- a)/2$-subgaussianである。あるモデル$w$の汎化誤差$L_{\mu}$と訓練誤差$L_{S}$をそれぞれ

\[L_\mu(w)= \mathbb{E}_{Z} [l(w, Z)]\]

\[L_{S}(w) = \frac{1}{n}\sum_i l(w, Z_i)\]

と定義する。一般にアルゴリズムは訓練誤差に対してモデルを最適化するため、$L_{\mu}(W) >L_{S}(W)$であり、この差が小さいと汎化に成功していることになる。この差の$S$と$W$の同時確率についての期待値を

\[gen(\mu, P_{W|S}) = \mathbb{E} [L_{\mu}(W) - L_S(W) ]\]

と表す。このとき、この$gen$は$S$と$W$間の相互情報量$I(S; W) = \int p(S, W)\log \frac{p(S, W)}{p(S)p(W)} dS dW$を用いて次のように抑えられることが分かっている4)

\[gen(\mu, P_{W|S})\leq \sqrt{\frac{2 \sigma^2}{n} I(S; W)}\]

 この式の意味を考えてみよう。相互情報量は$W$を知った時に$S$についてどれだけ情報が得られるかを表している。そのため、この式は学習アルゴリズムは学習データから情報を多く取りすぎない方が、汎化しやすいことを示している。学習データの詳細は忘れ、抽象的な知識のみ抽出すればこの$gen$を小さくすることができる。

 この相互情報量を使った評価は、これまでの汎化理論のツールが扱うことが難しかったデータ分布やアルゴリズム($P_{W|S}$)を自然に含めることができ、より強力な理論評価を行うことができる。一般にSGDは学習中にノイズを加えていくため$I(W;X)$がどこまでも増加してしまう問題があるが、文献5)では、仮説空間でのサンプルの近さを利用した解析でよりタイトな上限を与えている。

どこまで解けたか

本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 なぜNNが学習できるかについては、文献2)は現実的な条件でそれを証明できたといえる。ただ必要なパラメータ数が深さやサンプル数の多項式になっており、パラメータ数を現実的なサイズに落とした場合の証明や、(過学習しないように)訓練誤差を0にしない場合にどのような解が得られ、それに収束するのかは残された課題である。

 なぜ汎化するかについては、まだ大きなギャップがあるといえる。他の多くの機械学習手法と同様、理論による汎化性能の評価はかなり悲観的な評価であり、実際の汎化性能のギャップはまだ大きい。一方でなぜ汎化するかは分からないが、どのくらい汎化しているかどうかはデータがi.i.d.であれば交差検定などで正確に求めることができる6)。今後もしばらくは実用的には汎化性能はコントロールしつつ、汎化する謎を解く試みが続くと思われる。

1)A. Choromanska, et al.,“The Loss Surfaces of Multilayer Networks,” AISTATS 2015, https://arxiv.org/abs/1412.0233
2)Z. A-Zhu, et al.,“A Convergence Theory for Deep Learning via Over-Parameterization,” https://arxiv.org/abs/1811.03962
3)C. Zhang, et al.,“Understanding deep learning requires rethinking generalization,” ICLR 2017, https://arxiv.org/abs/1611.03530
4)A. Xu, et. al.,“Information-theoretic analysis of generalization capability of learning algorithms,” NIPS 2017, https://arxiv.org/abs/1705.07809
5)A. R. Asadi, et al.,“Chaining Mutual Information and Tightening Generalization Bounds,” NeuRIPS 2018, https://arxiv.org/abs/1806.03803
6)K. Kawaguchi, et al.,“Generalization in Deep Learning,”https://arxiv.org/abs/1710.05468
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔(おかのはら・だいすけ) 2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。
出典:日経Robotics、2019年2月号 pp.32-34
記事は執筆時の情報に基づいており、現在では異なる場合があります。