<マッチ箱で作るGA#1>
いつのまにやら、クローン、バイオ、ゲノム、遺伝子、
DNAという言葉が
すっかりお茶の間の言葉になってしまいましたねぇ。
ええ、もちろん、
批判的に言っているワケじゃないんですけど。
今世紀はどうやら、遺伝子
(神様が、我々を作る際に使った
コンピュータ言語とそれで書かれた設計図みたいなもの)
の研究が進みそうな感じです。
前回までは、
人工知能=機械が考えること=機械の脳=我々の脳のマネ
と、わりと自然なつながりで脳をモデルにした
AIの話をしてきました。
今回からは、遺伝子というか
遺伝という仕組みを利用した人工知能のモデルの紹介です。
さぁ、頭がこんがらがってきたでしょ。
考えること、知能と遺伝がどう結びつくのかって。
でも、こう考えるとわりと自然な話なんですよ。
例えば、アリに知能はあるか?
と聞かれたとしますと、たいがいの人は、
我々ほどじゃないけど、
それなりの知恵とか知能はあると思いますよね。
その知能ってどうやって手に入れたんでしょ。
アリには学校も先生も親さえもいません
(親は知らないだけですけど)から、
誰かから教えられる、ということはありません。
ですから、これはひとえに、ダーウィンのいうところの、
突然変異と自然選択というか、
偶然獲得した(偶然じゃないと言い張る学者もいますが)
知恵や体の機能が、
たまたま環境にマッチしていたので生き延びた、
引き継がれたということになります。
つまり、そういう能力が遺伝して、
今日のアリの知能になったと考えられます。
だとしたら、
そういう突然変異と自然選択〜そういう能力の遺伝
といった仕組みをコンピュータ上で、
シミュレーションしたら、アリが知能を獲得したように、
何かしら知能的なモノが得られるんじゃないかというのが、
今回からのモデルの話です。
ということで。
以下、「マッチ箱の脳」の「ニューラルネットワーク」より抜粋
<はじめに>
ぼくが今、やっている仕事の一つに、
テレビゲームの企画開発という仕事があります。
1998年に発売されたプレイステーション用のゲーム、
『アストロノーカ』
((C)Muu Muu co.,Ltd.・SYSTEM SACOM corp.・ENIX 1998)
もその一つでしたが、このゲームを開発していたときに、
通常のゲーム開発では起こらないようなことがありました。
『アストロノーカ』には、
敵となるモンスターがたくさん出てくるんですが、
開発中に、そのモンスターたちが、
作り手が意図しなかったほど強くなるという事態が
起こったのです。
開発中のゲームには、
バグと呼ばれる不具合や誤作動がつきものです。
そのため、デバッガーと呼ばれる専門家に
バグを見つけてもらうのですが、
彼らは、最初、この強くなりすぎるモンスターを、
バグだ、設定の間違いだろうと思ったようです。
しかし、これはバグではありませんでした。
モンスターたちは、デバッガーらとのバトルの結果、
順調に進化しただけでした。
このモンスターの進化には、
人工知能の一つである「遺伝的アルゴリズム」
(以後、Genetic Algorithm=GAと呼ぶ)
が使われていて、プレイヤーとのバトルを通して、
自分の力で進化していくようになっていました。
手だれのデバッガー
(彼らは普通のプレイヤーよりうんとバトルがうまい)
との度重なるバトルの結果、
それに応じるように進化したおかげで、
こちらが想定していたよりも
強いモンスターになってしまっていたのでした。
詳しいことはこれから説明しますが、
このGAは簡単にいうと、
与えられた環境にうまく適応できるように
自分自身の力で「進化」していく、
という不思議なAIなのです。
<コンピュータの中の遺伝子、GA>
●AIが子孫を残す?
最近、DNA鑑定とか遺伝子組み換えとか、
テレビや新聞のニュースなどで
よく取り上げられていますから、
「DNA」とか「遺伝子」という言葉には、
皆さんすっかりおなじみだと思います。
でも、DNAと遺伝子、その違いは何?
となると意外に混同されています。
DNAは4種類の塩基の配列そのもののことですが、
遺伝子というのはその配列の中で、
何かしらの働きがある部分を意味します。
DNAには遺伝子以外に、
(今のところ何の働きもないと考えられている)
イントロンという部分もあります。
というか、実はDNAの9割程度は
このイントロンなのですが。
混同してもしようがないですね、
実際かなりややこしい話です。
そこで、この本は、正確な科学の言葉はムシして、
確信犯的に、
それらすべてをひっくるめて
「遺伝子」と言ってしまうことにします。
ということで、GAの話です。
このGAは、ダーウィンの進化論をモチーフとしたAIです。
後の章で紹介する
「ニューラルネットワーク」「エキスパートシステム」
と並んで、
AI御三家の一つと称される代表的AIモデルです。
さて、ダーウィンの進化論を
非常に乱暴に説明してしまえば、
だいたいこういうことになります。
「地球には、いろいろな個体がいる。
そして環境に応じて、
より優秀な個体だけが子孫を残すことができ、
劣等な個体は淘汰される。
また、残った個体は突然変異を起こす場合があって、
前の世代より優秀な個体になることもある。
もちろん逆の場合もある。
こうしたことを繰り返して、我々は進化してきた」
この優秀な個体=良い解答と見立て、
進化の手法を用いて解答を見つけ出そうというのが
GAです。
●GAの得意技
おいおい紹介していきますが、
人工知能には、GA以外にもいろいろモデルがあって、
それぞれに得意技があります。
GAが最も得意とするのは、
「いろいろ考えられる答えの中から、
最も良い答えを見つけ出す」ことです。
といっても漠然としていると思いますので、
次のような「遠足のお菓子問題」を
例に取って考えてみましょう。
――子供が、遠足にお菓子を持っていきます。
もちろん、使っていい金額は決まっています。
店にはたくさんの種類のお菓子がありますが、
すべてのお菓子を買うわけにはいきません。
子供としては、お菓子の種類も総量も
なるべく多い方が嬉しいわけです。
決められた金額内で、種類的にも、
量的にも満足のいく組み合わせを選ばなくてはなりません。
こんなとき、最も満足のいく買い方は?
こうしたタイプの問題が解けるのがなぜエライかというと、
お菓子の種類が多くなると、これは買って、
これは買わないといった、
すべての組み合わせについて調べるのが、
すごく大変になってしまうからです。
お菓子の種類が少なければ簡単ですが、
例えば1万種類もあったりとすると、
考えられる組み合わせの数は2の1万乗通り、
つまりだいたい10の30乗通りとなります。
この数がどのくらいとんでもないかというと、
約150億年前に宇宙が誕生した直後から、
1秒に1つの組み合わせについて
チェックし続けていたとしても、
今現在、まだ3分の2くらいしか
終わっていないというくらいのものなのです。
●お菓子の買い方が遺伝子になる
では、こうした「最も良いお菓子の買い方」問題を
宇宙的な時間を使わずに、GAはどう解くのでしょうか。
まずは、その仕組みをざっと見てみましょう。
まず、このお菓子は買う、
買わないという「お菓子の買い方」を
「遺伝子」と見立てます。
わかりやすいように、
この遺伝子を生物のような1つの個体と考えましょう。
まず、神に代わって
いろいろな遺伝子(=買い方)を作ります。
次に、それぞれの遺伝子が
どのくらい優秀な買い方かを調べます。
この場合だと、決められた金額内に収まっていて、
なおかつお菓子の種類が豊富で
総量が多い買い方が優秀ということになります。
遺伝子には、その優秀さに応じて順位がつけられます。
そして、順位が上の遺伝子は生き残り、
そうでない遺伝子は淘汰されます。
生き残った遺伝子は、
お互いの遺伝子を交わらせて子孫を残します。
ま、我々の生殖行動と同じことをするわけです。
こうして劣等な遺伝子がいなくなった代わりに
子孫が加わり、新たな世代になります。
そして再び、各遺伝子の優秀さが評価され、
優秀な遺伝子は生き残り、
ダメな遺伝子は淘汰される……を繰り返します。
こうして世代をどんどん入れ替えていくと、
最後には「最も良いお菓子の買い方」にたどり着ける、
というのがGAの大まかな仕組みです。
|