損失関数L(w)=w²を勾配降下法で最小化する。勾配は2wなので、更新式はw←w−η×2w(ηは学習率)となる。初期値をw=1として、学習率を(ア)η=0.75、(イ)η=1.25にした場合、更新を繰り返したときのwの挙動の組み合わせとして、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:学習率と収束・発散の境目
ポイント
この例では1回の更新でwが1−2η倍になり、その絶対値が1未満なら収束します。学習率が大きすぎると、振動しながら発散します。
選択肢ごとの解説
- A
適切 正解
更新式はw←(1−2η)wと書けます。(ア)は1−1.5=−0.5倍で、w=1→−0.5→0.25→−0.125と符号を変えて0に近づきます。(イ)は1−2.5=−1.5倍で、1→−1.5→2.25→−3.375と発散します。
- B
不適切
符号を変えずに0に近づくのは、倍率1−2ηが0より大きく1より小さい0<η<0.5の場合です(η=0.25なら0.5倍)。(ア)はη>0.5なので符号が変わり、(イ)は倍率の絶対値が1を超えるので0に近づきません。
- C
不適切
1と−1の間を往復し続けるのは、倍率1−2ηがちょうど−1になるη=1の場合です。(イ)のη=1.25では倍率が−1.5なので、1回ごとに絶対値が1.5倍になって発散します。
- D
不適切
(ア)の倍率は−0.5なので、往復しながら0に近づきます。また、学習率が正である限り倍率1−2ηは1より小さく、符号を変えずに大きくなる発散は起きません。
補足
収束するかどうかは、学習率と損失関数の曲がり具合(2階微分)の組み合わせで決まります。たとえばL(w)=5w²なら、勾配は10wで、更新ごとの倍率は1−10ηです。η=0.25でも倍率は−1.5となり発散します。同じ学習率でも、曲がり方の急な損失関数ほど発散しやすくなります。
試験での狙われ方
学習率と損失の推移の対応を、簡単な2次関数での数値計算や、学習曲線の形から判断させる形が考えられます。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (4.3 Gradient-Based Optimization(4.3.1を含む))