読み方 : さいきゅうこうかほう
最急降下法【steepest descent】バッチ勾配降下法/batch gradient descent
概要

勾配降下法は、ある関数が最小値となるときの変数の値を求める最適化問題の解法の一つである。変数に様々な値を代入してみて結果を調べ、出力が減る方向に少しずつ動かしていくという数値的なアプローチで、関数の形が分からなかったり、複雑すぎて導関数の導出が困難な場合などに適している。
最急降下法を機械学習の誤差関数(損失関数)の最適化に用いる場合を「バッチ勾配降下法」と呼び、学習手法を「バッチ学習」という。すべての学習データを用いて誤差関数の勾配を算出し、その勾配に基づきパラメータを一度更新する。この処理を繰り返し行うことで、誤差を減らす方向へパラメータが徐々に調整される。
データ全体を使うため勾配はノイズが少なく、誤差関数の形状をより正確に反映した更新が可能になる。一方で、学習データが多い場合には毎回の勾配計算に時間がかかり、全データを記憶しておく大容量のメモリも必要となる。また、全データを1回ずつ参照して更新を行うため、パラメータ更新の頻度が少なく、局所的な誤差変動に素早く反応しにくいとされる。
深層ニューラルネットワークのようにモデルの規模や学習データ量が大きい場合には計算資源的に実装が困難なこともあるため、データの一部のみを使用する「確率的勾配降下法」や「ミニバッチ勾配降下法」などで代用することが多い。
(2025.12.2更新)