本記事はロボットと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)$とした波打った曲面上で最も急に下る方向に移動してくようなものである。この最適化の何が問題だろうか。

この先は日経Robotics購読者限定です。