局所最小値Local Minimum

もっと低い場所があるのに閉じ込められた場所

ポイント
  • 局所最小値は、周りよりは低いけれど全体で一番低いわけではない場所です。
  • 学習は今いる場所から下り方向へしか動きません。だから上り坂に囲まれた場所に入ると、自力では出られません
  • その場所にいるあいだは、閉じ込められた事実にすら気づきにくいものです。四方が上り坂で、着いたという合図とまったく同じに見えます
  • 開始位置を変えて何度も回してみたり、慣性を付けたり、データを少しずつ変えて揺さぶったりして抜け出させます。
  • 大きなモデルでは、本当に閉じ込められることより一時的に足が止まったように遅くなる場所の方がずっとよく問題になります。
目次

1たとえで理解する

雨上がりの庭を思い浮かべてください。水はいつも自分より低い方へだけ流れます。庭の端に排水溝があるので、水は最終的にそこへ抜けるはずです。ところが途中の道の真ん中に少しへこんだ場所があると、水はそこで止まってしまいます。その場所に立って見ると、前も後ろも横もすべて上り坂で、それ以上下がれないのです。

何日たっても、水たまりはそのまま残ります。排水溝はほんの数歩先にあり、ずっと深いのにです。**水が怠けているからではなく、低い方へだけ行くという規則を最後まで守ったからです。**学習が中途半端な場所で止まってしまうことが、この水たまりと同じです。

2くわしく

下り方向へしか動かない規則

学習は今いる場所からどの方向が下り坂かを測り、その方へ少し動くことを繰り返します。この方法の良いところは、地形全体を知らなくてもよいことです。足元の傾きさえ測れば済むので、値がどれだけ多くても扱えます。

その代わり、足元しか見ない代償を払います。今いる場所ですべての方向が上り坂なら、動きが止まります。その先にずっと深い谷があるかどうかは、足元の傾きには含まれていません。庭の水がへこんだ場所を越えて排水溝までたどり着けない理由と同じです。地形全体を見渡す方法があればこの問題は起きませんが、値がとても多いモデルでは、そもそも地形全体を描くこと自体ができません。

水たまりの中では分からない

閉じ込められた事実に気づきにくいことが、この問題の厄介なところです。損失がこれ以上下がらず落ち着いた様子は、学習がうまく終わった様子と見分けが付きません。画面に出る数字だけでは、「もう着いた」と「ここに閉じ込められた」が同じに見えます。

そこで実務では絶対点数を見ます。損失が止まっていても、その値が期待よりずっと高ければ水たまりを疑います。同じ設定で何度も回してみたとき、ある回ははるかに良い点数で終わるなら、もっと確かな合図です。低い場所を一つだけ見ても判断できず、いくつかの場所を見比べてはじめて分かります。一回だけ回して満足せず、条件を変えて何度も試す習慣がここで役立ちます。

水たまりを越える方法

一つ目は開始位置を変える方法です。最初の値を無作為に何セットも作ってそれぞれ回し、一番良い結果を選びます。庭のあちこちに水を注いでみるようなものです。

二つ目は慣性を付ける方法です。これまで下りてきた方向の勢いをある程度受け継がせると、浅くへこんだ場所は勢いに負けてそのまま通り過ぎます。転がり落ちてきた球が小さな溝を乗り越えるのと同じです。

三つ目はわざと揺さぶる方法です。データを一度に全部使わず少しずつ分けて使うと、毎回勾配がわずかに変わります。この揺れが浅い場所から押し出す役目を果たします。一歩の大きさを最初は大きく取り、後になるほど小さくしていく方式も同じ効果をねらったものです。

大きなモデルでは話が少し違う

値が二つか三つしかないなら、庭の絵がそのまま当てはまります。ところが実際のモデルは、調節できる値が数百万個あります。こういう場所である地点が本当の水たまりになるには、数百万方向のすべてが漏れなく上り坂である必要があります。そんな場所は思ったよりまれです。

ずっとよく出会うのは、ある方向は上り坂で別の方向は下り坂という中途半端な場所です。こういう場所では勾配がほとんど0でしばらく進みが止まりますが、結局は下り方向を見つけて抜け出します。だから大きなモデルで学習が止まったように見えるときは、たいてい永遠に閉じ込められたのではなく、一時的に遅くなっただけです。焦って手を止める前に、しばらくそのまま回し続けてみる価値があるのはこのためです。

3もう少し正確に

局所最小値(Local Minimum)は、その点の周りのすべての方向で損失がそれ以上か等しい地点です。全体を通して一番低い地点は大域最小値と別に呼びます。先ほど述べた中途半端な場所は鞍点と呼ばれ、ある方向では一番低く別の方向では一番高い形をしているためこの名前が付いています。

たとえがずれる点もあります。庭は上から見下ろせばどこが本当に低いか一目で分かりますが、実際の損失の地形は方向が数百万あり、まるごと見渡す方法がありません。私たちに分かるのは足元の傾きと通ってきた点数だけです。もう一つ、局所最小値を避けて一番低い場所にたどり着くことが常に得とは限りません。訓練データで一番低い場所が初めて見るデータでも一番良いという保証はなく、実務では少し低くなくても周りが広くなだらかな場所をむしろ好むこともあります。

4やってみる

5よくある誤解

  • 学習が止まれば局所最小値に閉じ込められたということだと思われがちですが、実際には一時的に勾配が小さく遅くなっている場所だったり、一歩の大きさが小さすぎる場合の方が多いです。

  • 一番低い場所を見つけてこそ良いモデルだと考えられがちですが、実際には訓練データで一番低い場所が初めて見るデータで一番良い場所と一致するとは限りません。

  • モデルを大きくすると水たまりが増えると信じられがちですが、実際には値が多くなるほどすべての方向が上り坂の場所はむしろまれになります。

7ひとこと要約

つまり局所最小値は周りより低くこれ以上動けないけれど全体で一番低いわけではない場所で、開始位置を変えたり慣性と揺さぶりを与えたりして抜け出します。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02