2つの重みx、yをもつ損失関数L(x,y)=x²−3y²がある。点(x,y)=(0,0)の性質に関する説明として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:鞍点と最適解の見分け
ポイント
鞍点は勾配が0でも、方向によって極小にも極大にもなる点です。勾配が0というだけでは最適解とは判断できません。
選択肢ごとの解説
- A
適切 正解
勾配は
(2x, −6y)で、原点では0です。y=0に固定するとL = x²で原点が最小、x=0に固定するとL = −3y²で原点が最大になります。方向によって極小にも極大にもなるので鞍点です。 - B
不適切
yの方向に動くと
L = −3y²となり、損失は0より小さくなります。この関数はyを大きくするほど損失がいくらでも下がるため、そもそも最小値をもちません。 - C
不適切
局所最適解なら、その点のすぐ近くでは周りより損失が小さくなります。原点からyの方向にわずかに動くだけで損失が下がるため、局所最適解の条件を満たしません。
- D
不適切
原点で偏微分を計算すると
2×0 = 0、−6×0 = 0で、勾配は0です。勾配降下法は勾配が0の点では更新量が0になるため、ちょうど原点にいると動けなくなります。
補足
次元の高い損失関数では、勾配が0になる点の多くは極小値ではなく鞍点だと考えられています。鞍点の周りは平坦な領域になりやすく、学習が止まったように見える原因の1つになります。
試験での狙われ方
鞍点・局所最適解・大域最適解の違いを、図や関数の形から見分けさせる形が考えられます。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (4.3 Gradient-Based Optimization)
- Dauphin et al., Identifying and attacking the saddle point problem in high-dimensional non-convex optimization (2014)