「深層学習の原理に迫る:数学の挑戦」今泉允聡(岩波科学ライブラリー 2021)
ディープラーニング(深層学習)においては、層の数が増えても、パラメータの数が増えても、性能が向上します。この事実は、数学的な知見に反する、と思われていたのですが、最近は数学的な説明ができるようになってきているのだそうです。この本は、そのあたりを、定性的にわかりやすくかいてあります(多少、数式もありますが、これ以上数学的に厳密に書かれてもちょっと困るかもしれません)。そのようなわけで、この本は、なぜ性能が上がるのか、数学的に説明ができるのか、と行ったことを概観するのに大変適しています。なお、この分野の発展が余りにも早いため、トランスフォーマー(エンコーダ 2017年発表、2019年頃にはGPT-2に使われている)などの記述ありません。本書は、2019年の公演での内容を加筆修正したものだそうですのでやむを得ませんが、最新の状況も知りたくなってきます。
本文に基づき、もう少し詳しく書きます。私達は近年の深層学習が非常に素晴らしい性能を発揮することを知っています。しかし、びっくりするようなことではありますが、深層学習の原理は未だに完全には理解されていないようです。むしろ、「たくさんの層を持つ」「膨大な数のパラメータがある」などの性質は、既存の理論では不必要・予測の精度を損なうものとして避けるべきとされてきた歴史もあるそうです。実際、私が半世紀ほど前に適応フィルターに携わっていた時、パラメータの数を増やすと、不安定さあるいは学習速度の低下のため使い物にならなくなりました。また、当時のコンピュータの性能の範囲を越えてしまう、という問題もありました。
深層学習が今のような隆盛を見る前は、深層学習について十分な理解のないまま、経験的に性能を向上させてきたらしいのですが、その後、この実際と理論のギャップが徐々に埋まってきているようです。
なぜ層を増やすと性能が上がるのだろうか、という点では、一つには、滑らかではない関数を少ない層数で多項式近似するのは難しいのですが、多層にすると改善されることが数学的に説明できるのだ、というような事実があるようです。
パラメータ数をどんどん増やしていくと性能が上がるのは何故かという疑問については、過適合現象(もしくは過学習現象)に対応できる数学的な手法が見つかっているのだそうです。
又、そもそも、なぜ深層学習でパラメータの学習ができるのか、という疑問についても書かれています。深層学習においては、確率的勾配降下法(stochastic gradient descent method) と呼ばれる方法が使われいるようです。この方法は半世紀前にも、ローカルオプティマムに陥ることを避けグローバルオプティマムに近づける手法として知られていたアルゴリズムではなかろうかと思うのですが、記憶が薄くなっており、自信がありません。いずれにしても確率的勾配降下法というのは、すべてのデータを使わずに一部のデータを使う、という方法のようで、非常に大きなメリットがあるようです。
この本では、「原理を知ることに価値はあるか」という点でも、一章を割いています。一つの大きな理由は「現状の深層学習はまだまだ問題を抱えており、その解消に数学的な理解が必要だからである」というもっともと思われる理由が書かれていますが、更に、深層学習の発展で得られた知識を体系化して継承していくこと、特に「発見は理論で体系づけられないと忘却されていくため、これを継承して次の世代に引き継ぐ方法として、体系化は非常に有用である」と書かれています。
この本の目次は以下のようになっています。
まえがき
第1章 深層学習の登場
第2章 深層学習とは何か
第3章 なぜ多層が必要なのか
第4章 膨大なパラメータ数の謎
第5章 なぜパラメータの学習ができる?
第6章 原理を知ることに価値はあるか
引用文献
