ある物流企業が、ミニバッチ学習による確率的勾配降下法(SGD)で配送時間の予測モデルを学習している。学習率を一定にしたところ、損失は順調に下がったが、ある水準に近づいてからは細かく上下し続けて落ち着かない。学習の後半で学習率を徐々に小さくする理由として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 C
この問題の論点:学習率を減衰させる理由
ポイント
SGDの勾配にはミニバッチの選び方によるばらつきがあり、最小値の付近でも0にならないため、学習率を徐々に下げて収束させます。
選択肢ごとの解説
- A
不適切
最小値に近づくと、勾配は一般に小さくなります。勾配爆発は誤差逆伝播で勾配が層ごとに増幅される現象で、主な対策は勾配クリッピングなどです。学習率を減衰させる目的ではありません。
- B
不適切
1エポックあたりのイテレーション数は、データ数÷バッチサイズで決まり、学習率には左右されません。学習率が変えるのは、1回の更新でどれだけ動くかです。
- C
適切 正解
SGDではミニバッチごとに勾配が変わるため、最小値の付近でも勾配の推定値は0になりません。学習率が一定だと更新が止まらず上下し続けるので、学習率を下げて更新幅を小さくし、解の付近に落ち着かせます。
- D
不適切
学習率を小さくしても過学習は防げません。訓練データへの当てはめが進めば過学習は起こりうるため、検証データによる確認や早期終了は引き続き必要です。
補足
全データを使うバッチ学習では、最小値に近づくと勾配そのものが0に近づくため、学習率が一定でも収束できる場合があります。学習率の下げ方には、一定のエポックごとに段階的に下げる方法や、なめらかに下げていく方法などがあります。
試験での狙われ方
学習率を途中で変える理由を、バッチ学習とSGDの違いや学習曲線の様子と結びつけて問う形が考えられます。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (8.3.1 Stochastic Gradient Descent)