ニューラル・ネットワークや深層学習の手法が盛り上がっており、ほかの手法などコンピューター科学の世界には存在しないかのようだ。何しろ、ニューラル・ネットワークは、物体や顔の認識をはじめ、チェス、碁、様々なアーケード・ビデオゲームなどでも人間より優秀になりつつあるのだから。
ニューラル・ネットワークは、人間の脳が機能する仕組みに基づいている。これ以上の可能性を持つものはないように思える。
だが、そうでもない。まったく異なるタイプのコンピューティング手法が、ニューラル・ネットワークや深層学習よりずっと強力になる可能性を秘めている。この手法は、人間の脳を作り出したプロセス、つまり進化の仕組みに基づいている。言い換えれば、目、翼、脳など人類が知る最も複雑で優秀な機械を生み出した一連の反復的な変化と選択である。進化の力は注目すべき謎だ。
コンピューター科学者たちは長い間、進化の力を利用しようと試みてきた。いわゆる進化的コンピューティングは、トラクター工場の生産ライン最適化を目的として最初に使用されてから30年の間に、いくつかの目覚しい功績を収めている。
しかしここ数年間、深層学習機械の大成功に主役の座を奪われている。
フランスのトゥールーズ大学のデニス・ウィルソンらによる研究のおかげで、こうした状況が変わろうとしている。ウィルソンのチームは、2013年に人間より優れた能力を持つとして深層学習を最初に有名にした象徴的なタスクであるポン(Pong)、ブレイクアウト(Breakout)、スペースインベーダー(Space Invaders)などのアーケード・ビデオゲームにおいて、進化的コンピューティングが深層学習機械に匹敵することを示した。彼らの研究は、進化的コンピューティングが、深層学習と同じくらい広く研究されるべきであることを示唆している。
進化的コンピューティングは、ニューラル・ネットワークとはまったく異なる方法で動作する。進化的コンピューティングの目標は、特定の問題を解決するコンピューター・コードを作成することであり、やや直観的ではないアプローチを使う。
従来の方法でコードを作成する場合、プログラマーは特定の目標を念頭に置いて最初の原則から記述する。
進化的コンピューティングのアプローチはそれとは異なる。まったく無作為に生成したコードから始めるのだ。しかも1つのバージョンだけではなく、多くのバージョン、しばしば何十万という無作為に組み立てられた断片で始めるのだ。
生成したこれらのコードは、目標を達成をしているかどうかを確認するためにそれぞれテストされる。もちろん、すべて無作為に生成したのだからひどい結果だ。
しかしたまたま、他より少し良いコードもある。こうした良いコードを、次の世代のコードとして再生産する。
しかし、再生産する次世代のコードは、元のコードと同一ではない。何らかの形で変更を加える必要がある。変更する方法としては、点突然変異のようにコード内の2つの構成要素を入れ …