オープンエンドな進化的アルゴリズム (ALife Book Club番外編)
今回は番外編として来週発売される「Pythonではじめるオープンエンドな進化的アルゴリズム」という本の紹介をしようと思います。
この本の著者にはいっている岡瑞起さんは人工生命の研究者であり、弊社の共同創業者の一人でもあります。去年には、ALIFEというタイトルの本も出されています。そんな岡さんたちが今回出したのは「オープンエンドな進化的アルゴリズム」についての本です。まだ発売まで数日ありますが、なんと事前に読ませてもらう機会があったので、ネタバレにならない範囲で紹介させてもらおうと思います!
オープンエンドな進化とは?
本書の中心テーマはずばり「オープンエンドな進化 (Open-ended evolution)」です。みなさん聞いたことありますでしょうか?実は人工生命界隈ではかなり熱心んに議論されているトピックで、最重要課題のひとつです。
「オープンエンド」とは終わりがないということで、「オープンエンドな進化」とは文字通りの意味でいうと「終わりのない進化」、つまりずっと進化し続けるシステムということです。たとえば地球上の進化は(いまのところ)その一例です。というのも、最初に原始的な生命が生まれてから、次から次へと新しい生命が複雑性を増しながら誕生しつづけており、進化が終わっていないからです。
ここで問題なのは、「オープンエンドな進化」はコンピュータ上でつくれるかどうか、ということです。「進化」がコンピュータ上で作れるか、ということになるとこれはわりとよく知られた問題で、具体的には進化的アルゴリズムという手法がそれにあたります。
これは、変異と自然選択という進化の考え方をベースにしたアルゴリズムで、実用的にも重要なために広く使われているものです。
ところが、「オープンエンドな進化」のアルゴリズムとなると一筋縄ではいきません。進化的アルゴリズムを普通にまわしただけだとオープンエンドになりません。
最初のうちは新しい種がいろいろ出てくるとしても、ある程度世代が進んでいくと、それ以上に新しいものが生まれずに収束してしまうのです。
じゃあどうするか?というのが「オープンエンドな進化」の研究のターゲットであり、本書の内容になります。で、実はこれについてはまだ完成形は存在していなくて、現在進行系の話になります。
そんな最先端の内容ゆえ「オープンエンドな進化的アルゴリズム」を解説している本は本書が世界初なのではと思います。(しかも、コード付きで、誰にでもよみやすい形にまとめているのもすごい!)
具体的な手法は本書を見ていただくのが良いと思いますので、取り上げられているアルゴリズムだけ並べてみます。
NEATアルゴリズム
CPPN-NEATアルゴリズム
品質多様性アルゴリズム (Map-Elitesアルゴリズム)
共進化アルゴリズム (POETアルゴリズム)
えーと、かなりマニアックなラインナップです!笑
アルゴリズムや人工知能に詳しい人でも、知らない人がほとんどなんじゃないでしょうか。
でも、それはちょっと理由があって、これらのアルゴリズムが必ずしも最適化を目指していないということがあります。
人工知能の研究だと性能を上げるということが至上命題です。タスクがあって、そのタスクをどれだけ正確に効率的に解くか、を追求しているわけです。
一方で、進化をオープンエンドにする、すなわち、どんどん新しいものをつくっていくとか、多様性を増やしていこうというのはそれと直交する方向性です。
最近の人工知能の発展はすさまじくて、わからないことがあったらGPT4に聞けばだいたい解決してしまいます。そんな時代では、タスクを解決するということはもう大したことじゃないのかもしれません。むしろ、タスクを探してくるとか、全く思いもよらなかった新しいことを提示するとか、そっちのほうが必要になってくるのではないでしょうか?そしてそれこそがオープンエンドな進化が志向するものなのです。
本書はそんなアプローチの最先端の内容をとてもわかりやすく紹介してくれます。
ちょっとマニアックすぎて、、と思うかたも、ぜひ手にとってそんな新しいアプローチの雰囲気を感じ取っていただけたらなと思います!
(ちなみに本書が売れても小島には一銭も入りません。ステマではないのでご安心ください。)
それでは、また来週お会いしましょう!
次回は「身体化された心」の第三回目をお届けできるはずです。がんばります、、