勾配降下法(Gradient Descent)とは、損失関数の値を最小化するためにモデルのパラメータを反復的に更新する最適化アルゴリズムです。機械学習・深層学習において最も基本的かつ重要な最適化手法の一つです。
勾配降下法の仕組み
勾配降下法は、山の斜面を下るイメージで理解できます。損失関数を「山の高さ」と考えると、勾配(傾き)の方向に沿ってパラメータを少しずつ更新することで、損失が最小となる「谷底」を目指します。数学的には、損失関数の各パラメータに対する偏微分(勾配)を計算し、その勾配の逆方向にパラメータを更新します。
| ひとことで言うと | 損失が小さくなる方向へ、パラメータを少しずつ動かしていく最適化の方法。 |
|---|---|
| たとえると | 霧の中の山で、足元の傾きだけを頼りに一歩ずつ谷底へ下りていくイメージ。 |
| 注意点 | 歩幅(学習率)が大きすぎると行き過ぎ、小さすぎると時間がかかる。 |
勾配降下法の種類
勾配降下法にはいくつかのバリエーションがあります。バッチ勾配降下法(全データを使用)、確率的勾配降下法(SGD、1サンプルずつ使用)、ミニバッチ勾配降下法(小さなバッチ単位で使用)の3種類が代表的です。実務ではミニバッチ勾配降下法が最もよく使われています。
1損失を計算今どれだけ外れているか
▶
2勾配を求めるどちらが下り坂か
▶
3逆方向へ進む学習率ぶんだけ動かす
▶
4損失が減る少し正解に近づく
↺ 1〜4を数千〜数万回くり返して谷底を目指す
学習率の重要性
学習率(Learning Rate)はパラメータ更新の幅を制御するハイパーパラメータです。学習率が大きすぎると最適解を飛び越えてしまい、小さすぎると収束に時間がかかります。適切な学習率の設定は、勾配降下法を効果的に機能させるための重要な課題です。