見出し画像

Local Minimaとイノベーション

マシンラーニングの理論で使うLocal Minimaという言葉がある。狭い範囲では良いように見えるけど、全体を見渡すとそうでもない状態のことだ。最近は日常(?)会話でも聞くようになった。

マシンラーニングの多くは何かを予想したり判別したりするために使われる。そのために大量のデータを使って学習を行う。マシンラーニングにとっての学習とはたくさんあるパラメータをちょっとずつ動かしては試して間違える確率を減らしていくことだ。

タイトル画像のグラフはこれを簡略化して書いたもの。縦軸が間違いの多さ、横軸が調整するパラメータ。本来ならパラメータの数はとんでもなく多いのだけど絵に描けないので一個だけとする。間違いを減らすということはグラフがより低くなる場所を見つけるということだ。

この絵ではグラフが見えているのでゴールは一目瞭然だが、パラメータの数が多く複雑になると全体の形を計算するのは無理になる。そこでマシンラーニングでは現時点での傾きを計算してその方向に少しづつ進むという作戦をとる。数学ではこの傾きのことを勾配(gradient)という。山で迷ってとにかく低い方へ進むイメージ。

今、点Cにいるとしよう。グラフは左に傾いているのでパラメータを左に向かって調整する。これを繰り返すとやがてA地点で止まる。この場所は周りに比べると悪くないけど、全体を見渡すとBの方が良いのでベストではない。

こういう場所のことをLocal Minimaと呼ぶ。対して全体の中での最小はGlobal Minimum。MinimaはMinimumの複数形。Local Minimaは沢山あるけど、Global Minumumは1つしかない。日本語だと局所的最小値、大域的最小値、とか。Globalの訳として「大域的」はイマイチな気がするけど。

この問題に対処するため、今時のアルゴリズムでは動きに勢いをつけて小さい谷を超えてしまうとか、色々な工夫がされている。完璧な方法はないけど、大抵の場合ゴールは「十分に良い」性能を得ることなので、そのレベルではかなり解決されてきた。

この話は比喩として会社や個人の戦略に当てはめることができる。複雑なグラフの形は社会。会社や人は周りの状況に合わせて調整をすることでより良い場所に向かっていくことができる。「改善」というやつだ。一歩ずつ進んで行き、谷底に近づくと改善のペースが落ちてくる。

一方で他の場所にはもっと良いLocal Minimaや、もしかすると最強のGlobal Minumがあるかもしれない。これらの場所にたどり着くには一見無駄な飛躍が必要になる。

しかもこのグラフの形、つまり世の中は段々と変わっていく。ちょっと前まで十分に良かった場所がいつの間にか他の場所に追い越されているかもしれない。

こうしてみるとLocal Minumaという言葉は確かに行き詰まりやその打開、持続的イノベーションと破壊的イノベーションなどについてのうまい比喩になっている。「それってLocal Mimimumじゃない?(この場合は単数)」とか言ってみる。通じるのはIT系の人だけなので注意。

この記事が気に入ったらサポートをしてみませんか?