1行定義
局所最適解とは、その周辺では損失が最も小さいものの、関数全体で見ると最小とは限らない解のことです。
くわしく
局所最適解は、そのすぐ周りでは損失が最も小さいものの、関数全体で見ると最小とは限らない点です。数学でいう極小点にあたり、局所解とも呼ばれます。関数全体で最小になる点は大域最適解と呼んで区別します。
くぼみと谷底のたとえ
山の斜面を転がり下りるボールを考えます。ボールは途中の小さなくぼみに入ると、そこで止まってしまいます。本当の谷底がもっと低い所にあっても、くぼみの中からは見えません。
勾配降下法も同じです。足元の傾きだけを見て下るため、くぼみの底に近づくと勾配がほぼ0になり、重みがほとんど動かなくなります。たどり着いた点が本当の谷底かどうかは、勾配からは判断できません。
どんなときに問題になるか
線形回帰の二乗誤差のように、損失関数がお椀のような形(凸関数)なら、途中で引っかかるくぼみがありません。この場合、局所最適解は必ず大域最適解になります。
ニューラルネットワークの損失関数は凸関数ではなく、くぼみがたくさんあります。どのくぼみに入るかは、重みの初期値やデータの順番で変わります。
ただし、十分に大きなネットワークでは、多くの局所最適解の損失は大域最適解に近いという見方が有力です。むしろ、勾配が0になる鞍点や、平らな領域での停滞が注目されています。
抜け出すための工夫
- 確率的勾配降下法・ミニバッチ学習:一部のデータで求めた勾配のばらつきが揺れとなり、浅いくぼみから抜け出せることがあります。
- モーメンタム:それまでの更新の勢いで、浅いくぼみを通り過ぎやすくなります。
- 初期値を変えて何度か学習し、検証データでの結果が最もよいモデルを選びます。
覚え方
「局所最適解は地区で1位、大域最適解は全国で1位」と覚えます。
G検定での出題
出題のされ方
大域最適解や鞍点との違い、勾配降下法が局所最適解で止まりやすい理由、確率的勾配降下法やモーメンタムなどの抜け出すための工夫が問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
勾配降下法で重みが局所最適解に到達すると、勾配がほぼ0になるため、そのままでは重みはほとんど更新されなくなる。
答えを見る
答え ◯ 正しい
勾配降下法は勾配に学習率を掛けた分だけ動くので、勾配が0に近いと動けません。周りより低いくぼみに入ると、そこで止まります。
-
重みの初期値を変えて学習し直しても、勾配降下法がたどり着く局所最適解は常に同じになる。
答えを見る
答え × 誤り
どのくぼみに入るかは、下り始める位置で変わります。初期値やデータの順番が違えば、別の局所最適解にたどり着くことがあります。
-
大規模なニューラルネットワークでは、多くの局所最適解の損失が大域最適解に近く、実用上は大きな問題になりにくいとする研究がある。
答えを見る
答え ◯ 正しい
近年は、局所最適解よりも、勾配が0になる鞍点や平らな領域での停滞のほうが学習を遅らせる要因として注目されています。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.2.2 Local Minima)
- Anna Choromanska, Mikael Henaff, Michael Mathieu, Gérard Ben Arous, Yann LeCun, The Loss Surfaces of Multilayer Networks (2014)
- Yann Dauphin, Razvan Pascanu, Caglar Gulcehre, Kyunghyun Cho, Surya Ganguli, Yoshua Bengio, Identifying and attacking the saddle point problem in high-dimensional non-convex optimization (2014)