1 定義と基本概念
勾配降下法は、微分可能な関数の最小値(または極小値)を反復的に探索する最適化アルゴリズムである。現在の点における勾配(傾き)の逆方向に一定のステップ幅(学習率)だけ進むことで、関数値を徐々に減少させる。機械学習や深層学習において、損失関数の最小化に広く用いられ、バッチ・確率的・ミニバッチなどのバリエーションが存在する。応用数学の一分野として、数値最適化の基礎を成す手法である。
1.1 勾配の役割
勾配は多変数関数の各変数に対する偏微分を並べたベクトルであり、関数値が最も急激に増加する方向を示す。勾配降下法では、この逆方向に進むことで関数値を効率的に減少させる。勾配がゼロとなる点は極小値、極大値、または鞍点の候補となる。
1.2 学習率(ステップ幅)
学習率は各反復で勾配方向に進む距離を決定する正のスカラー値である。適切な学習率の選択は収束の速度と安定性に直結する。値が大きすぎると発散や振動を引き起こし、小さすぎると収束が極端に遅くなる。実際の応用では、時間経過とともに学習率を減少させるスケジューリングが一般的である。
1.3 更新式の一般形
パラメータベクトルθに対する更新式は、学習率ηと損失関数Lの勾配∇L(θ)を用いて次のように表される: θ_{new} = θ_{old} - η ∇L(θ_{old}) この反復を収束条件(勾配のノルムが閾値以下、または更新量が微小)を満たすまで続ける。
2 アルゴリズムのバリエーション
2.1 バッチ勾配降下法
バッチ勾配降下法は、全訓練データを用いて損失関数の勾配を計算し、一度の更新を行う手法である。勾配の推定が正確で安定した収束が期待できる一方、データセットが大規模になると計算コストが膨大になる。また、学習率が固定の場合、局所解に陥りやすいという欠点がある。
2.2 確率的勾配降下法(SGD)
確率的勾配降下法は、各反復でランダムに選んだ1つの訓練サンプルのみから勾配を計算する。勾配推定にノイズが含まれるため、局所解を脱出しやすく、大規模データに対して効率的である。ただし収束は不安定になりやすく、学習率の調整が重要となる。
2.3 ミニバッチ勾配降下法
ミニバッチ勾配降下法は、全データを一定サイズのバッチに分割し、各バッチごとに勾配を計算・更新する。バッチ勾配法と確率的勾配法の中間的性質を持ち、計算効率と収束安定性のバランスが優れている。深層学習の標準的な最適化手法として広く採用されている。
2.4 その他の派生手法
2.4.1 モメンタム法
モメンタム法は過去の勾配の指数移動平均を慣性項として更新に加える手法である。谷底での振動を抑制し、平坦な領域での加速効果をもたらす。物理的な運動量の概念に着想を得ている。
2.4.2 AdaGrad
AdaGradは各パラメータに対して学習率を過去の勾配の二乗和に基づいて適応的に調整する。頻繁に更新されるパラメータの学習率は小さくなり、希少な特徴量に対応するパラメータは大きくなる。しかし累積項が単調増加するため、長期間の学習では学習率が極端に小さくなる問題がある。
2.4.3 RMSprop
RMSpropはAdaGradの改良版で、過去の勾配の二乗和を指数移動平均で置き換えた手法である。学習率の減衰を緩やかにし、非定常な問題に対して頑健な性能を示す。Geoffrey Hintonによって提案された。
2.4.4 Adam
Adam(Adaptive Moment Estimation)はモメンタム法とRMSpropの利点を組み合わせた手法である。勾配の一次モーメント(平均)と二次モーメント(分散の推定)を指数移動平均で計算し、各パラメータの学習率を個別に調整する。バイアス補正により初期の不安定性を軽減し、深層学習で最も広く使用される最適化アルゴリズムの一つである。
3 数学的基礎と収束性
3.1 凸関数と非凸関数
凸関数は任意の2点間の線分が関数のグラフの上に位置する関数であり、勾配降下法は大域的最適解への収束が保証される。非凸関数では複数の極小値や鞍点が存在し、初期値や学習率に依存して異なる局所解に収束する。ニューラルネットワークの損失関数は典型的な非凸関数である。
3.2 収束条件と速度
3.2.1 リプシッツ連続勾配
勾配がリプシッツ連続(勾配の変化率に上限が存在)である場合、適切な学習率の下で勾配降下法は線形収束率を達成する。リプシッツ定数Lは学習率の上限η ≤ 1/Lを決定する重要なパラメータである。
3.2.2 強い凸性
関数が強凸(ヘッセ行列の最小固有値が正の定数μで下界を持つ)である場合、勾配降下法は線形収束からさらに加速され、指数関数的な収束が保証される。収束率は条件数(L/μ)に依存し、条件数が大きいほど収束が遅くなる。
3.3 局所最適解と鞍点の問題
非凸最適化では、勾配降下法が局所最適解や鞍点に捕捉される可能性がある。鞍点は勾配がゼロであるが極小値ではない点であり、高次元空間では局所最適解よりも鞍点の方が圧倒的に多いとされる。確率的勾配降下法やモメンタム法は鞍点からの脱出に有効であることが知られている。
4 実装上の注意点
4.1 学習率の調整(スケジューリング)
学習率スケジューリングは、訓練の進行に伴って学習率を変化させる手法である。代表的な方法として、一定間隔で学習率を減衰させるステップ減衰、指数的に減少させる指数減衰、コサイン関数に従って変動させるコサイン減衰などがある。ウォームアップ期間を設けて徐々に学習率を上げる手法も効果的である。
4.2 初期値の選択
パラメータの初期値は収束の速度と最終的な性能に大きな影響を与える。ゼロ初期化は対称性の問題を引き起こすため避けられる。一般的には、Xavier初期化やHe初期化など、活性化関数やネットワーク構造に適した分散の一様分布または正規分布からランダムにサンプリングする。
4.3 バッチサイズの影響
バッチサイズが小さいほど勾配推定の分散が大きく、汎化性能が向上する傾向がある。一方、バッチサイズが大きいほど計算効率が高く、安定した勾配が得られるが、汎化性能が低下する可能性がある。適切なバッチサイズはデータセットやモデルによって異なり、2の冪乗(32, 64, 128, 256など)が一般的に用いられる。
4.4 正則化と早期停止
過学習を防ぐための正則化(L1正則化、L2正則化、ドロップアウトなど)は勾配降下法の更新式に正則化項の勾配を加える形で実装される。早期停止は検証データの性能が改善しなくなった時点で訓練を打ち切る手法であり、計算コストの削減と過学習の防止に有効である。
5 応用分野
5.1 機械学習における損失関数最適化
線形回帰、ロジスティック回帰、サポートベクターマシンなどの古典的な機械学習モデルでは、勾配降下法を用いて損失関数(平均二乗誤差、クロスエントロピーなど)を最小化する。大規模データセットに対しては確率的勾配降下法が標準的に使用される。
5.2 ニューラルネットワークの訓練
深層学習では、誤差逆伝播法によって計算された勾配を用いて、数百万から数十億のパラメータを最適化する。AdamやRMSpropなどの適応的学習率手法が広く採用され、画像認識、自然言語処理、音声認識など多様なタスクで成果を上げている。
5.3 画像処理・信号処理
勾配降下法は画像のノイズ除去、超解像、圧縮センシングなどの逆問題に応用される。目的関数はデータ忠実度項と正則化項の和で構成され、反復的な勾配更新により高品質な復元が実現される。
5.4 経済モデルや物理シミュレーション
経済学ではポートフォリオ最適化や需要予測モデルのパラメータ推定に、物理学では分子動力学シミュレーションにおけるエネルギーの最小化やシステム同定に勾配降下法が利用される。確率的勾配降下法は大規模なシミュレーションの効率化に貢献している。
6 歴史と発展
6.1 初期の考案(コーシーら)
勾配降下法の原型は1847年にAugustin-Louis Cauchyによって提案された。Cauchyは連立方程式の解法として最急降下法(method of steepest descent)を導入した。20世紀初頭には統計学や物理学の分野で最適化手法として発展し、1950年代には数値解析の分野で本格的に研究されるようになった。
6.2 現代的な最適化手法への発展
1980年代に確率的勾配降下法がH. RobbinsとS. Monroによる確率近似理論の文脈で再発見された。1990年代には誤差逆伝播法と組み合わせたニューラルネットワークの訓練が可能となり、2010年代にはAdamやRMSpropなどの適応的学習率手法が提案されて深層学習の普及を加速させた。現在では分散並列処理や自動微分技術と組み合わせ、大規模な機械学習システムの中核を成すアルゴリズムとして進化を続けている。