SGD)とは、連続最適化問題に対する勾配法の乱択アルゴリズム。目的関数が、微分可能な和の形である事が必要。バッチ学習である最急降下法をオンライン学習に改良した物。背景[編集]下記の和の形の目的関数を最小化する問題を扱う。最小化するように推定する。古典的な統計学において、和の最小化問題は、最小二乗問題や最尤推定問題などにあらわれる。一般的なケースでは、和を最小化する推定量はM推定量と呼ぶ。例[1]などで示されるように、いくつかの最尤推定の問題において、最小解ではなく局所解を要求するだけでも制限が厳しすぎると長い間認識され続けてきた。それゆえ、現代の統計理論家は最尤関数の停留点(微分がゼロになる点)を考慮する事が多くなった。和の最小化問題は経験損失最小化の問題にも現れる。最小化する際、標準的な最急降下法(バッチ学習)では、下記の反復を繰り返す。ステップサイズと呼ばれる。機械学習においては学習率とも呼ばれる。確率分布がパラメータが一つの指数分布族などで、勾配の総和の計算が、小さな計算量で出来てしまう事もあるが、一つ一つの勾配を計算して総和を取らないといけない事も多い。そのような場合、和の全体ではなく、和の一部分だけを計算する事で、1回の反復の計算量を小さくする事ができる。これは大規模な機械学習の問題で効果的である[2]。勾配は、1つの訓練データから計算した勾配で近似する。上記の更新を1つ1つの訓練データで行い、訓練データ集合を一周する。収束するまで訓練データ集合を何周もする。一周するたびに訓練データはランダムにシャッフルする。適応学習率のアルゴリズムを使用すると収束が速くなる。全てではないが複数の訓練データで勾配を計算する方法をミニバッチと言う。この方法は、コンピュータのSIMDを有効活用でき計算を高速化できる。収束性は凸最適化と確率近似の理論を使い解析されている。ほとんど確実に最小解に収束する。目的関数が凸関数でない場合でも、ほとんど確実に局所解に収束する[3][4]。(訓練データ)がランダムにシャッフルされる事により、確率的に局所解にはまりにくくなる効果がある。学習率の調整方法および変種[編集]基本的な確率的勾配降下法に対して多くの改良が提案されている。機械学習において、ステップサイズ(学習率)の調整は重要問題として認識されている。学習率を大きくしすぎると発散し、小さくしすぎると収束まで遅くなる。学習率をイテレーション回数の逆数で減衰させる方法。Robbins-Monro法とも言われる。{t-1}{t+2}}(x_{t}-x_{t-1})\end{aligned}}}モメンタム法[編集]1986年にデビッド・ラメルハートらがバックプロパゲーションと共に提案した方法[8]。_{i=1}^{t}w_{i}}を計算し、最終的にパラメータの平均値を学習結果とする。らが発表した方法[10]。発表した方法[11][12]。なりにくく、そのための対策をした方法。正則化の効果を実現する。\|w\|_{1}}まず、勾配の平均を計算する。Q(w)_{t'}}その上で、パラメータの更新は以下の通り。ここでパラメータの初期値は0としている。}{2}}\|w\|_{2}^{2}}の形で混ぜる場合は、このようになる。大きくしていくと、疎になる度合いを徐々に高めていける。らが発表した方法[13]。アダマール積(要素ごとの積)。下記計算、全てパラメータごと(要素ごと)に計算する。無限大に発散させないための正の小さな定数。発表と共に2011年に出ている[12]。らが発表した方法[14]。勾配の2乗の指数移動平均を取るように変更。発表した方法[15]。初期学習率のハイパーパラメータがなくなっている。