Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

ニューラルネットワークの学習収束

こんにちは。
数学好きの4年目、maron8676です。
遅れましたが、本記事はDeep Learning論文紹介 Advent Calendar 2019 - Qiitaの15日目の記事です。

本記事ではニューラルネットワークの学習収束について書かれた論文であるGradient Descent Provably Optimizes Over-parameterized Neural Networks[1]の内容紹介をします。
述べられている結果そのものは深いネットワークについてではないですが、Deep Learningにもいずれ関わる話になると考えています。

目次

1. ニューラルネットワークについて
2. 学習の収束について
3. 主要な結果
4. 結果の実用性
5. まとめ

1. ニューラルネットワークについて

ニューラルネットワーク(NN)は機械学習でたびたび使われる数理モデルです。
学習データを入力としたときに損失関数値が小さくなるような最適化問題を解き、分類、物体検出などのタスクを行うモデルを作ることができます。

NNは、よい分類精度、検出率を達成することが(経験的に)知られていますが、いわゆる「学習が収束しない」という問題があることも知られています。
今回紹介する論文は、この「学習が収束しない」という問題に対して理論的な解析を試みています。
2018/10にsubmitされたようですが、既に164回引用(Google Scholarで調査 2019/12/19)されており注目度の高い論文だと思います。

2. 学習の収束について

2.1. 学習の収束とは

論文[1]で述べられている「学習の収束」とは、パラメータ更新t回目でのNN出力を\mathbf{x}(t)、学習データにおける出力期待値を\mathbf{y}としたときに以下が成り立つことです。f(x)は入力データxに対するNNの出力として書いています。
\|f(\mathbf{x}(t)) - \mathbf{y}\|^2_2 \leq \mathrm{exp}(-\alpha t)\|f(\mathbf{x}(0))-\mathbf{y}\|^2_2 \quad (\mathbf{y} \in Y, \alpha>0)
この式から以下を導出できます。
\lim_{t \rightarrow \infty} \|\mathbf{y} - f(\mathbf{x}(t))\|_2 = 0
NNの出力と期待値の距離が0に収束することがより分かりやすくなりました。
なぜ最初の表記になっているかというと、どのくらいの速さで収束するかを表現できるからです。
具体的に\alphaが何の値になるかは論文内で示されているため、実際に学習を行う際にはNN出力の期待結果である\mathbf{y}と学習経過である\mathbf{x}(t)の距離がどのくらい近づいているかを計算できます。

2.2. 収束すると何がうれしいか

収束することが保証されていると、
1. 収束させること自体に労力を使わなくていい
2. 選択したモデル、特徴量、損失関数をより正確に評価することができる
といういいことがあります。

3. 主要な結果

論文[1]で述べられている主要な結果を紹介します。
この論文の新しい点は、モデルの出力f(\mathbf{x})を直接解析しているところにあります。
既存研究では、NNの各重みの変化に注目して解析を行っていましたが、この論文では重み値を直接取り扱わず、モデルの出力から作られるグラム行列を解析しています。

3.1. 前提条件

以下のような条件で学習を行った場合について書かれています。

入力層 隠れ層 活性化関数 出力層 損失関数 最適化手法
n次元 1つ(m次元) ReLU 全結合 二乗誤差 最急降下法

3.2. 仮定

1. ある入力データが、別の入力データの定数倍とならないこと
2. m>\Omega\biggl(\frac{n^6}{\lambda^4_0 \delta^3}\biggr) ただし、\Omegaランダウの記法、\lambda_0は入力データとNNの重み行列を掛けた結果から作られるグラム行列の最小固有値\delta \in (0,1)

3.3. 結果

3.2.の仮定のもと、NNの各パラメータを次のように初期化したときに、1-\deltaの確率で以下が成り立ちます。
\|f(\mathbf{x}(t)) - \mathbf{y}\|^2_2 \leq \mathrm{exp}(-\lambda_0 t)\|f(\mathbf{x}(0))-\mathbf{y}\|^2_2 \quad (\alpha>0)

隠れ層の重み 出力層の重み
ガウス分布\mathcal{N}(\mathbf{0}, \mathbf{I}) 一様分布:\mathrm{unif}[\{-1, 1\}]

4. 結果の実用性

学習の収束と、論文[1]のメイン結果について紹介してきたので、実用性について考えてみようと思います。
結論としては、現状の実用性は低いと思います。なぜなら、仮定で使われているm>\Omega\biggl(\frac{n^6}{\lambda^4_0 \delta^3}\biggr)の条件を満たすのが実用上厳しいためです。
また、ここで示されているのは学習の収束そのものであって、結果が過学習となってしまう可能性が残っていることに気を付ける必要があります。
しかしながら、論文中でmの制約を減らすためのアイディアに触れられていたり、今回の仮定のように隠れ層の次元をとても大きくした場合にどのような性質があるかという研究[2](Over-Parameterization)があったりするので、今後の研究が気になるところです。

5. まとめ

今回は、ニューラルネットワークの学習収束について解析している論文について紹介しました。
現状の結果はそのまま実用できるものではないですが、収束が保証されるかどうかは重要な話なので引き続きチェックしていきたいですね。

参考文献

[1] Gradient Descent Provably Optimizes Over-parameterized Neural Networks
[2] An Improved Analysis of TrainingOver-parameterized Deep Neural Networks

Acroquest Technologyでは、キャリア採用を行っています。

  • ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
  • Elasticsearch等を使ったデータ収集/分析/可視化
  • マイクロサービス、DevOps、最新のOSSを利用する開発プロジェクト
  • 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Kaggle Masterと働きたい尖ったエンジニアWanted! - Acroquest Technology株式会社のエンジニアの求人 - Wantedlywww.wantedly.com