勾配降下法
Gradient Descent
こうばいこうかほう
損失関数の値が小さくなるよう、パラメータを損失関数の勾配(傾き)と逆の方向に少しずつ動かす更新を繰り返して、最小となる点を探す最適化の手法。1回に動かす量は学習率で決まり、大きすぎると発散し、小さすぎると収束が遅い。損失の形によっては局所最適解や鞍点にとどまることがある。
Related
他の資格での定義
Related
関連キーワードの用語
最適化の問題で、取り得るすべての解の中で目的関数(機械学習では損失関数)が最もよい値になる解。凸関数なら勾配降下法で求められるが、ニューラルネットワークの損失関数は凸ではないので、勾配降下法で必ず到達できるとは限らない。周辺だけで最もよい局所最適解と対比される。
制約条件と目的関数がすべて変数の一次式で表される問題で、制約を満たしながら目的関数を最大(または最小)にする変数の値を求める手法。限られた原材料や人員で利益が最大になる生産量の決定、輸送費が最小になる配送計画などに使う。解はシンプレックス法などで求め、変数が2つならグラフを描いて求めることもできる。
学習によってデータから求めるパラメータ(重みなど)ではなく、学習の前に人が設定する値。学習率、エポック数、ミニバッチの大きさ、ニューラルネットワークの層数、決定木の深さ、正則化の強さなどが当たる。検証用データでの性能をもとに、グリッドサーチ、ランダムサーチ、ベイズ最適化などで調整する。
ハイパーパラメータの探索で、指定した範囲や分布から値の組合せを無作為に選び、決めた回数だけ試して最もよいものを選ぶ方法。性能に効くハイパーパラメータが一部に限られる場合、同じ試行回数でもグリッドサーチより効率よくよい値を見つけやすい。試行回数で計算コストを管理できる。
学習データを数十から数百件程度の小さなまとまり(ミニバッチ)に分け、ミニバッチごとに勾配を計算してパラメータを更新する学習の方法。バッチ学習より更新の回数が多く、オンライン学習より更新が安定し、GPUで並列に計算しやすいので、ディープラーニングで標準的に使われる。ミニバッチの大きさ(バッチサイズ)はハイパーパラメータである。
ニューラルネットワークの最後にあり、予測結果を出力する層。課題に応じてユニット数と活性化関数を選び、多クラス分類ではクラス数のユニットとソフトマックス関数で各クラスの確率を、2クラス分類ではシグモイド関数で陽性の確率を、回帰では恒等関数で数値を出力する。出力と正解との差を損失関数で測り、学習に使う。
