「深層ニューラルネットワークの高速化」の感想と残された謎
だいぶ遅れてしまいましたが実務でも使える「深層ニューラルネットワークの高速化」とそこで議論されるDNNの汎化性能の考察に関する感想です
本書は深層ニューラルネットワークの高速化、パラメーター圧縮に関する実用的な内容となっています。pytorch, tensorflow,Nvidiaの高速化コンパイラTensorRTや関連するpythonライブラリの使い方が付属コードとともに詳しく具体的に説明されています。pytorchなどの学習済みネットワークを使えば手軽に実験、検証をすることができます。GPUを用いた推論以外にも圧縮によって小さくなったニューラルネットをCPUで実行するためのライブラリや低ビット演算などの手法が紹介されています。
量子化、枝刈り、蒸留、低ランク近似、アーキテクチャと推論時のみの工夫で実施できるものから学習時のネットワーク設計の時点で考慮すべき方法まで順番に解説されていて、そしてパフォーマンスを見るためのツール、学習時の効率化についても解説されています。実際にはこれらの手法は重複したり同時に使ったりすることができ例えば量子化後の誤差を考慮した学習(Quantization Awareness Training)があったり、蒸留において量子化後もネットワークを生徒モデルにすることもあります。
実践的な説明やTransformer(flash attention)などの最先端のアーキテクチャにおける高速化の紹介とともになぜDNNはパラメーターが非常に多いにも関わらず過学習せず汎化性能が出るのか、そしてそれの圧縮、高速化の性質とどのように関係しているのかについて深い考察がなされています。
汎化と平坦解
ある意味奇妙な現象としてパラメーターを圧縮、量子化することで精度が向上する場合があると報告されています。古典的な機械学習モデルではパラメーター数が多すぎると過学習を起こし汎化性能が低下しますがそれと似たような現象が起こる場合があるということです。この上手く圧縮することで情報が整理されるような性質と性能との関係に関してはPACベイズ理論を用いて解説されますがこれがDNNで成立するのかどうかは考察の余地があるように思います。なぜ上手くいくDNNが平坦性を持つのか、パラメーター数、データ数との関係などについてもPACベイズ理論に基づいた研究がなされているはずですが関連研究をあまり調べきれていません。
loss関数の底が平坦であれば、多少のパラメーターの変化は精度に影響を及ぼしません。この範囲内で容量の小さいネットワークを探索する余地があります。この平坦性はDNNの他の性質をも説明できる概念です。画像生成AIで画風を合成するのによく使われるモデルマージはパラメーターの加算(平均)によってなされますが自然な画像を生成するようなマージ元のネットワークはともに平坦な領域に存在しているためその平均もまた平坦な領域に存在するだろうという仮説です。有名な宝くじ仮説(ネットワークの一部のみが性能に関連し、ランダム初期化した場合はその一部のネットワークが含まれている)とその解の頑健性、初期値依存性が枝刈りのところで触れられています。汎化との関係でいえば一部のネットワーク以外は性能に関係せずパラメーターを自由に触れる余地があるのであればその自由度が平坦解の自由度に相当すると言えるかもしれません。「大規模言語モデルは新たな知能か」でも汎化と平坦性、宝くじ仮説が整合性のある性質であることが説明されていたと思います。
平坦解とその周辺のloss landscape
一方でパラメーター空間の様々な場所から近似最適解に到達できるという性質には別の説明を要します。多次元の複雑な形状のloss関数は一般に多数の局所最小解(鞍点)を持つとされますが一説には多次元のパラメーター空間におけるloss関数の鞍点は多次元ゆえにヘッシアンの正の固有値を持ち別の鞍点への移動を繰り返しているヘテロクリニック軌道を形成しているとされています。しかし鞍点近傍では学習軌道の速度は非常に遅くなります。「情報幾何の新展開」では初期のニューラルネットの研究でも学習が非常に遅れてしまう現象が報告されておりそれは素子の置換対称性が複数の局所最小解を作っておりそれが
Resnetではある程度解決されたとされています。LLMにおいては同様の現象が腑落ち(Grokking)として見えているのかもしれませんが小規模なネットワークで見える現象とLLMの現象が類似のものであるかのは考察、研究の余地がありそうです。
初期値から平坦解への学習経路やloss landscapeの形状を図示するのはその多次元性からも困難です。敢えて描くとすると下図のように高次元のパラメーター空間内の各小領域は初期値を出発して赤点の鞍点を経由して次元を低めながら比較的低次元(だが平坦解よりは高次元)の青色の領域、そして灰色の平坦解に到達するというものになるかもしれません。
実際には平坦解も高次元でありその体積は大きくなり、パラメーター空間全体に分布しているかもしれません。またこの図では後述のNTKの解析に置いて見られた初期値の無限小の近傍に最適値があるという性質は表現できていません。平坦解は下図のようにパラメーター空間の広範囲に分布していると言えるかもしれません。
Hessianの固有値
そこで解の平坦性をloss関数のHessian行列の固有値の分布から見てとろうという研究があります。
「情報幾何の新展開」でも紹介されている唐木田先生の研究では一層の要素数を無限大にした極限のニューラルタンジェントカーネル(NTK)におけるloss関数のヘッシアンであるフィッシャー情報行列の固有値の分布から平坦性について論じた研究
初期値の無限小の近傍に最適値がある(これが平坦解かもしれない)という研究、また勾配消失を起こさないような条件であるDynamical Isometryの場合の固有値の分布に関する研究もされています。
Hessianの固有値に着目する方法は学習においてはSharpness-Aware Minimization(SAM)
として知られ高い性能を発揮し、量子化においても層やパラメーターの重要度の指標として用い、Hessianの近似値計算法を使って高速にハードウェアに対応した混合精度量子化パラメーターを決定する方法が有ります(HAWQ)。
パラメーター空間の地形を探索するという挙動は拡散モデルにおいても存在し、パラメーター空間の探索は学習過程で成され、生成過程では学習されたパラメーターの地形を辿ってデータの分布を再現しましす。拡散モデルでどのようにして学習、汎化が成されているかの挙動をスコア関数のヤコビアンの固有値から考察し、データの分布する低次元多様体への漸近の様子と対応付けた研究もあります。
平坦な領域とそこへ至る低次元の経路を通る時の軌道周辺の小領域の次元の変化は数値的に観察すると面白そうで拡散モデルにおける方法を利用できないかとも考えられます。解の特異性という観点からは”局所的な実対数しきい値(学習係数)λが小さい=特異性が高い点(図のW1)のほうがが近傍が平らである=事後分布が大きいく選ばれやすい”という説明が成されています。これとHessianの固有値との関連は考察の余地が有ります。
追記 ChatGPT5 Thinkingによる既存研究まとめ
DNNにおけるHessianの退化度合いの先行研究のまとめです。
はい、あります。ご関心は 「学習済みDNNの解における Hessian の固有値分布やランク欠損(多くの固有値がゼロ近傍に潰れている=退化の割合)」 に関する研究ですね。以下に代表的な先行研究を整理します。
🔹 1. 初期の実証研究(ランク欠損の発見)
-
Levent Sagun, Léon Bottou, Yann LeCun (2016, arXiv:1611.07476)
Eigenvalues of the Hessian in Deep Learning: Singularity and Beyond- DNN の学習済み解において Hessian 固有値の大多数がゼロ近傍に集中する ことを実証。
- 「退化(degeneracy)」は深さ・幅が大きいほど顕著。
- ランク欠損はネットワークの過剰パラメータ化と関連。
-
Sagun et al. (2017, ICLR workshop)
- Hessian 固有値分布を「bulk(ゼロ近傍の膨大な固有値)」+「数個のoutlier固有値」に二分。
- bulk部分は退化したフラット方向を表す。
🔹 2. スペクトル密度の体系的解析
-
Ghorbani, Krishnan, Xiao, Mahoney (NeurIPS 2019)
An Investigation into Neural Net Hessians- 大規模ResNetやTransformerでHessianスペクトルを近似。
- 学習済み解では rankが極端に低く、数個の大きな固有値と巨大なゼロ固有値クラスタが存在。
- 退化割合は「数百万次元のパラメタ空間に対し、非ゼロ固有値は数十〜数百程度」と報告。
-
Papyan (2020, JMLR)
Traces of Class/Cross-Class Structure in the Spectrum of the Hessian- Hessian スペクトルは三層構造:
- ゼロ近傍に集中するbulk(退化方向)
- クラス数に比例した有意固有値群
- 少数の巨大な outlier
- 特に 退化した次元の割合が非常に高いことを数値的に確認。
- Hessian スペクトルは三層構造:
🔹 3. 理論的なランク解析
-
Singh, Long, et al. (NeurIPS 2021)
Analytic Characterization of the Hessian in Deep Linear Networks: Rank Deficiency and Degeneracy- 深層線形ネットワークの Hessian のランクを厳密に計算。
- 層の幅・深さからランク欠損を閉じた形で表現。
- 「多層構造により Hessian は必然的に rank-deficient(大きな退化割合を持つ)」ことを証明。
-
Nguyen & Hein (2018, ICML)
Optimization Landscape and Global Convergence of Deep Networks- 過剰パラメータ化による「フラット方向」の存在を理論化。
- 多くの局所解が saddle/degenerate minima であり、Hessian の退化割合が高いことを示す。
🔹 4. 退化割合(Degeneracy Ratio)の報告例
- 学習済みResNet-18/34 (CIFAR, ImageNet) では >99% の固有値がゼロ近傍(Ghorbani+2019, Papyan2020)。
- Transformer/BERT 系でも「有効ランク ≪ パラメタ次元」で、非ゼロ固有値は数百程度にとどまる(Xie et al. 2022, Hessian Spectrum and Training Dynamics)。
- 経験的には 退化割合は 95〜99.9% 程度と報告されることが多い。
🔹 5. 研究的意義
- 退化の多さ = flat minima の存在と結びつけられる。
- 汎化性能との関係(flat minima → better generalization)を議論する研究(Hochreiter & Schmidhuber 1997; Keskar et al. 2017; Dinh et al. 2017)。
- また、退化方向が多いために「量子化・蒸留」などのモデル圧縮で精度を保ちやすい、という HAWQ-V2 のような応用も。
✅ まとめると:
DNNの解では Hessian の固有値スペクトルはほとんどゼロ近傍に潰れており、ランク欠損が非常に大きい(退化割合 >95%〜99.9%)。
これは過剰パラメータ化によるものであり、理論的にも(深層線形モデルや NTK の枠組みで)説明が進んでいます。
日本語研究
上記が引用され、SGDとAdamでの平坦性の違いが数値計算で示されている。
まとめ
DNNのパラメーター数を大きくすればするほど高くなる汎化性能(double descent)はLLMの際限ない大規模化をもたらしエネルギー消費の点でも社会に影響を与えています。一方で圧縮、高速化、高性能化が同時に実現できる場合があるというのは新しい時代のムーアの法則のようでもあり、DNN研究開発だけでなく産業全体の中で少なくない位置を占めるかもしれません。この2つの傾向は独立したものなのか、平坦性のような何らかの共通点、依存関係があるのかはより詳しく知りたいです。
Discussion