「深層学習の原理に迫る 数学の挑戦」の紹介
深層学習は,その高い性能から現在のAIブームの中核を担っている技術である。本書では,なぜ深層学習の性能が高いのか,という説明を丁寧に説明している。深層学習は,これまでの機械学習技術における常識とは異なる性質を示すことがあるが,これらに関する説明が興味深かったので紹介したい。
本書を読もうとした理由
私は製造業の企業内のデータサイエンティストとして働いており,現在ではデータ分析を担当する部署のリーダーをしている。最近の手法を業務で正しく使うために,深層学習の特徴や限界について理解したいと考えたためである。
本書の構成
本書の構成は以下の通りである。
第1章 深層学習の登場
第2章 深層学習とは何か
第3章 なぜ多層が必要なのか
第4章 膨大なパラメータ数の謎
第5章 なぜパラメータの学習ができる?
第6章 原理を知ることに価値はあるか
参考になった点
参考になった点をいかにまとめた。
第3章 なぜ多層が必要なのか
この章では,最近の各種深層学習手法において,多くの層が必要になる理由について説明している。
これまでの常識
深層学習が登場する以前のニューラルネットワークの層数はあまり多くは無かった。多くの層を必要としない根拠は以下の2つである。
- 普遍近似定理
- 連続な関数は,2層のニューラルネットワークによって近似できる。
- 近似誤差レート
- 近似誤差レートとは,パラメータを増やしたときにおける誤差の減少率である。
- 滑らかな関数を近似する場合,2層ニューラルネットワークの近似誤差レートは,どんな方法でも改善できない。
つまり2層のニューラルネットワークであれば,連続な関数を近似するには十分であるということである。
深層学習の特徴
一方で,近年の高性能なニューラルネットワークは,層の数を増やすことで性能アップを実現しており,これまでの常識に反している。
この理由を説明するポイントは以下の2点である。
滑らかでない関数の表現
ジャンプを持つような不連続関数を近似する場合は,層の数が多い方が良いことが確認できた。
また滑らかな関数でも,振動の周波数が途中で変化するような非均一な滑らかさである場合も,層の数が多い方が良い。
第4章 膨大なパラメータ数の謎
この章では,深層学習が膨大なパラメータを持つことで予測精度を高めることができる理由について,近年得られている仮説をもとに説明している。
これまでの常識
機械学習手法では,パラメータ数が多いと過適合を起こすことが知られている。ニューラルネットワークにおいて過適合のしやすさを示す指標として,「ニューラルネットワークの自由度」が挙げられる。
これは,表現できる関数の種類の多さを示すもので,大きくなると過適合を起こしやすくなる。またニューラルネットワークの自由度は,「係数の値×層の数×パラメータ数」で表される。
深層学習の特徴
一方で,近年の高性能なニューラルネットワークは,パラメータが増えても過適合しない。そのため,巨大モデルに対応した新しい自由度理論が提唱されるようになった。
この中で,重要な仮説は以下の3つである。
- 暗黙的正則化 : データ・アルゴリズムの構造が実質的なモデルを制約する。
- 損失平坦性 : 損失関数の平坦さが複雑性誤差を抑制する。
- 二重降下 : 大モデル極限ではデータのスペクトルがタイトな上限を与える。
それぞれの詳細は以下の通りである。
暗黙的正則化
深層学習では,枝刈りによってネットワークを小型化している。すなわち,小さいニューラルネットワークのみを考えるだけで十分であり,ネットワーク構造だけでなくデータやアルゴリズムによって自由度が制限されている,という仮説である。
想定されるネットワーク構造のなかで,このような小さいニューラルネットワークが含まれる部分集合を特定するための仮説として,
- パラメータ値が0に近い集合
- 初期値周りの集合
などが挙げられたが,これは2019年の論文で否定されており,暗黙的正則化については(本書が書かれた時点で)今後の課題である。
損失平坦性
損失関数が平坦だと過適合が起きにくい,という仮説である。これを検証するための理論がPACベイズ理論で,学習後のパラメータに摂動を与えて,摂動による誤差を平均化することで過適合の起きにくさを評価しようとしている。
二重降下
パラメータの数を徐々に増やしていくと,一度は誤差が大きくなるが,再び減少に転じるという現象である。この現象を説明するための理論としては,漸近リスク解析などが挙げられる。
第5章 なぜパラメータの学習ができる?
この章では,そもそもなぜパラメータの学習ができるのか,ということについて説明している。
これまでの常識
従来は,機械学習モデルの学習には確率的勾配降下法が用いられている。また損失関数も凸になるように定式化を工夫するといったこともなされていた。
一方で深層学習の場合,目的関数は一般に非凸であり,良いパラメータを学習するには膨大な時間が必要になると考えられていた。
深層学習の特徴
上記のことに反して,深層学習ではパラメータの学習がうまくいっている。その理由を説明するための仮説として,以下の2つが挙げられる。
過剰パラメータ化
本来必要と考えられるパラメータ数よりも過剰な数のパラメータを用いることで,損失関数の値を減少できるという仮説である。
ただし,必要なパラメータ数が不明であることや,訓練誤差は減らせても予測誤差を減らせる保証がないことなどが,現状の問題点である。
本書に対する感想とまとめ
本書では,「深層学習がなぜうまくいくのか」ということを,当時最新の仮説をもとにわかりやすく記載していた。ただ,本書が書かれたのが2021年であり,その後大規模言語モデルなどが急速に発展してきているので,このあたりの研究成果は日々更新されていくものと考える。最新の技術動向についてはキャッチアップしていきたい。
