こんにちは。日笠です。
早いもので、入社して2年が経過しました。
さて、今回は「あなたの生活は局所解に陥っていませんか?」という話です。
学生時代は機械学習の研究を進めていて、その研究から思うところがあり、この話をすることにしました。
局所解とは
機械学習の手法は様々ありますが、基本的に最適化が行われます。
その最適化の際に、目的関数を設定します。
目的関数は大量のデータから学習して導き出され、複雑な関数になることが多いです。
すべてのデータを正しく学習してできた関数の最小値部分が「最適解」と呼ばれます。(局所解からの脱出_01図の緑矢印部分)
しかしながら、本当に正しい解を求めるのは難しいです。( データが大量すぎて、学習に何十年もかかる。存在しないデータは学習できないなど)
対策としてある程度学習が完了したら、学習を止めたり、そもそもの学習データを省いたりして、対策をします。
そこで見えてくるのが「局所解」です。
例えば、局所解からの脱出_02図の「範囲A」しか学習できなかった場合、解は「解A」と判断されます。
「範囲B」なら「解B」、「範囲C」なら「解C」という風に判断されます。
この解A・解B・解Cが「局所解」と言われるものです。
ある範囲の中では最適解と認識されるものを「局所解」と表現します。
実は生活の中でも・・・
だから何だよ。と思うかもしれませんが、生活の中でも深く関わっています。
- 通販サイトで自分に合った商品がお勧めされる
- 気になりそうな記事が自動で毎日更新される
etc.
こういったものは、すべて「現時点での自分にあったお勧め」、つまり「局所解」になっているわけです。
まだ未知の情報は学習データにないため、おすすめされないわけです。
何が起こるか
このままお勧めされるがままの生活をするとどういったことが起こるでしょうか。局所解から脱出できなくなり、下記のようなことになることが考えられます。
- 生活
- いつもと同じような服ばかり買う
- 同じ店で食事をする
- 同じ人と話すようになる
- 仕事
- 同じ手法ばかりで解決を図る
- いつも利用したアルゴリズムを組む
などなど
ちょっと話が飛躍している気もしますが、そもそも人間は変化に弱い生き物なので、局所解に陥りやすいです。局所解が悪いことというわけではありませんが、新たな出会いや手法は生まれにくくなることは明白です。
どう対処するか
ではどのように対処するのか。
機械学習の手法では強化学習という手法があります。
これは、「ある程度の範囲で学習をしたら、ランダムな値を入力し、そこから学習をし直す」というアルゴリズムが組まれています。↓
- ある地点から右に学習する
- 解っぽいのを見つけたらランダムな場所に飛ぶ
- そこから学習する
こうすることで、学習時間が同じでも、「最適解」にたどり着ける可能性があります。生活の中で「強化学習」を行う方法を導けば局所解からの脱出をすることができます。
- 普段あまり話さない人と話してみる
- 本屋で全く興味のない本を開いてみる
- 普段は見ない映画を見てみる
- 電車でスマホを見ないで、外の景色を見てみる
- いつもと違う道で帰ってみる
まとめ
いかがだったでしょうか。
日々、便利になる世の中ですが、知らない間に局所解に陥っているケースは多いです。対策として一番良いのは「普段あまり話さない人と話してみる」が効果的だと思います。
(私はコミュ力が皆無なので。。本屋で他の人の考えや最近出てきた技術書を総なめしたりして、対策してるつもりです。)
「今の自分は局所解に陥っていないか?」と疑ってみても良いのではないでしょうか。