2020/04/03 アルゴリズム自体を探索する機械学習
こんにちは。
今日は、アルゴリズムを自分自身で作るAIについてです。
アルゴリズム自体を探索する機械学習
先日下記のツイートが流れてきました。
なるほどなあ・・・アルゴリズム自体を学習していくとそうなるか・・・すごいなあ https://t.co/8sN5NVOh1V
— ෴ (@chanoloon) 2020年4月4日
この元記事でAutoMLが自分自身でロジックを作り上げていくことが可能になった方法が書かれています。
遺伝的アルゴリズムで簡単な命令文の組み合わせを試す
このツイートのリンク先にある論文の日本語要約を読んだのですが、びっくりするぐらい簡単な命令文を組み合わせてロジックを探索していくもので、遺伝的アルゴリズムという手法に類似した手法を使っています。
ここで言う簡単な命令文とは、加減乗除や平均算出など簡単なものようです。
遺伝的アルゴリズムとは、生物界と同じように「一定の確率で無理やり突然変異を発生させて、現状のロジックと戦わせる」というものですが、その突然変異の出し方がなかなか興味深いものでした。
記事から引用します。
Type(i)ランダムな命令を挿入する、またはランダムな位置の命令を削除する
Type(ii)コンポーネント関数内のすべての命令をランダム化する
Type(iii)命令の引数の1つをランダムに変更する
大まかに言うと、命令文を挿入・削除、命令順序の並べ替え、命令の変更の3つを行なっていることになります。
機械学習による探索的自動コーディング
これを読んで思ったことは、「これってコーディングそのものじゃん」というものです。
人間がコーディングするときは、要求仕様や要件を頭の中に描いて、コーディングして行きます。
今回の事例だと、この作業を機械的にランダムに巨大な回数を探索し続けることで、最適なアルゴリズムを見つけていくというものです。
想像できない進化をするのではないか
実際に記事の中では、バックプロパゲーションで解決する方法を見つけ始めているなど、驚きの進化を進めていることになります。
これは、人間にしかできないと思っていた「ロジックを作ること」が、機械学習によって実現できるかもしれないことを示唆しています。
そのうちに人間の想像しなかったロジックを生み出すことを示唆しています。
まだまだ研究の途中らしいですが、私でも内容が理解できたということは、現在はそこから相当な進化ができていると思われるので、注目してみていきたいと思います。
では、また。