知能機械概論-お茶目な計算機たち

第102回
「計算機の中の心/命」について考える

究極的なアイディア

計算機を限界まで使いこなすと一体どんなことまでできてしまうのか?と思います.このことをじっくりと静かに考えようと思う一方で,我々の時代は,さまざまな形でその答えを思いもかけないような新技術,あるいは新製品という形で次から次へと我々に与えてくれます.社会の情報化はSF小説以上のスピードで進み続けているとでも言ったらよいのでしょうか.

私は,計算機科学と社会の関係の未来に関する多くのことに関しては楽観的でありまして,SF作家オーウェルが小説「1984」で書いたような暗い社会がやってくるというよりはというよりは,このような情報テクノロジーの想像を絶する発展がもたらすだろう様々な結果に関しては,脳天気な期待を持っています.2人のスティーブがガレージの中で名機アップルを作り出して世の中に送り出したときの彼らの胸中といった感じでしょうか(今なお).

評論家的な未来予測の話は横に置いて,もっと究極的なことを考えたいと思います.それは,高性能なハードウェアを用意して,計算機のプログラムだけで「心」や「命」ができてしまうか?ということです.この質問に対して,早々と私の考えを言ってしまうと,「心も命も計算機の中に実現できてしまう!」です.

そのように思っているだけでなくて,誰もが納得するような,計算機の中の心や命というものを実際に見せることができればよいのですが,それはさすがに現時点では無理です.そういうわけで,このような主張の背景にある基本的な考え方というものを述べたいと思います.

心と脳はどんな関係か?

「生命」の前に「心」からいきましょう.計算機の中の心という問題に関しては,人工知能の研究領域でさまざまに議論されてきましたので,その成果をごく簡単に紹介したいと思います.

人工知能とは,文字通り,計算機のプログラミングによって知能を作り上げてやろうというアプローチですが,人工知能には,そのような「作る」というエンジニアリングの側面だけでなく,同時に,人間の知能を「解明する」というサイエンスの側面もあります(この側面は,認知科学とか,認知心理学などの領域ともオーバーラップしてきます).知能と言っても,情報処理的な意味における知能だけでなく,「心」なる謎をも意味すると考えていいようです.ただし,心理学などの研究領域が心にアプローチするのと比べて大きく異なる点は,人間の知能や心の具体的なメカニズムを解明していくことを直接的には対象にせずに,コンピュータのプログラムによって,その働きや機能としては,人間の知能や心に共通するところを実現しようとする点です.

心をコンピュータのプログラムで作ってしまうという,一見荒唐無稽な話ですが,これが可能かどうかの議論を意義あるものとするために,もう少し心とはいかなるものかということを考えてみましょう.一つ,具体的に問題を設定します.それは,「心と身体(脳)はどのような関係にあるのか?」です.この問題は,「心身問題」と呼ばれてきました(何だか病気みたいですけれど).

このとても難しい問題に答える立場として,まず,次のように大きく2つに分けることができましょう.

1) 一元論
この世にあるのは身体(物質)だけである(唯物論,あるいは物理主義).
2) 二元論
心と身体はそれぞれ独立に存在しうる別種の実体である.

心という,物質では説明できない何物かが,物質とは関係なく存在するという2)の主張は,宗教的な場面や芸術的な文脈において,あるいは,人間の素朴な感情にとって,自然なもののように思われます.しかし,ここでは,この立場は検討しないことにして,先を急ぐことにしましょう.むろん,2)が間違っていると証明することはできないでしょう(間違っていると私は思ってはいますけれど).

さて,1)の立場,つまり,心という何か独立したものが存在しないとすると,「では,心と呼ばれているものはいったい何なのだ?」という疑問に答える必要が生じます.それに対しては,次の3つの代表的な立場があると言うことができます.わかりやすくするために,それぞれの立場に関して,「痛い!と感じているという心の状態は何か?」という具体的な例を使って説明しましょう.

a) 行動主義
 「痛みを感じている」と形容される心の状態などない.「傷口を押さえて,額に汗をかきながら,『痛っ!』と叫び,・・・」という行動の記述の省略形である.
b) 同一説
「痛みを感じている」と形容される心の状態とは,脳の中の神経回路網において生じるある興奮パターンという脳内における物理的な出来事にほかならない.
c) 機能主義
「痛みを感じている」と形容される心の状態とは,我々においては,脳というハードウェアにおいて実行されているプログラムのある状態のことである.脳以外のハードウェア(たとえばコンピュータ)を使ってもそこにおいて心というものはありうる.

a)の行動主義の立場は,一時期,勢いがあったようなのですが,現在は衰退しているようです.「心」的な働きが我々より弱いと思われる動物たち,たとえば,ネズミを使って,ネズミの内的な状態を探ろうというならば,行動主義的にならざるを得ないでしょうが,どう考えても,心を実現する何らかの状態はあると考えざるを得ないのではないのでしょうか.

b)の同一説のほうは,客観的に見て,かなり有力だと思われます.今日,脳の働きが次から次と明らかにされ,心というものの実体が明らかにされつつあります.ただ,ここで,問題なのは,確かに我々においては脳内の出来事であるが,その出来事というものは,言ってみれば,ソフトウェアによる計算状態のことであって,別のハードウェアを想定すれば,そこでも実現可能かどうかということです.もし,実現可能ならば,これは,c)の機能主義の立場に相当することになります.

このことは,「心の多重実現可能性のテーゼ」と呼ばれるそうです.ソフトウェア/ハードウェアというと,すでに計算機の世界の話ですが,もちろん,多重実現可能性とは,計算機だけで実行できるという話ではありません.たとえば,ネズミを捕まえる装置を考えましょう.バネで挟む仕掛けとチーズで作ることもできるでしょうし,あるいは,感電する仕掛けと化学的な誘導剤とで作ることもできるでしょう.この場合,ネズミを捕まえるという「機能」は同一であっても,メカニズムや材料は異なって実現できるということです.これが,多重実現可能性です.心もそうでしょうか?

人工知能の研究にとっては,機能主義の立場がもっともしっくりいきます(私にとってもしっくりいきます),心の機能をコンピュータで実現しようということですから.ただし,すべての人工知能の研究者がこの立場をとっているということではありません(そもそも,この問題に関与する必要のない研究をしている人工知能研究者の方が少なくないようなので).しかし,人工知能研究の土台を支える考え方としては,機能主義的傾向が強いと言うことはできると思います.

ところで,今はやっていませんが,以前,ある授業の中で心身問題に関して上記のような説明を簡単に行った後,自分がどの立場に近いと感じるかというアンケートをとっていたことがあります.それぞれの学生は,100%を,たとえば,機能主義60%,同一説40%などのように割り振って答えます.その結果は,予想通り,同一説がかなり強いという傾向が見られます.また,機能主義もそこそこ支持を得ます.しかし,驚かされたのは,別のことです.

上記の最初の分類のところで,実はひとつの分類が省略されています.唯物論,二元論があるのならば,当然,唯心論という立場も論理的にはありえます.「この世はすべて無だ」という,仏教的な思想とでも言いましょうか,物質そのもの存在を認めないという過激な立場です.このような立場に関しても,一応ざっと説明します.そして,結果として,このような立場が確実に支持を集めており,数十パーセントもの賛同を集めることもあったのです(そんなもんかねー).

命と体はどんな関係か?

さて,今度は「計算機の中の命」ということを考えてみることにしましょう.心というものが,ソフトウェア的なものとするならば,計算機の中に実現するということもいくぶん説得力がありそうな気がしますが,今度は命です.命,生命というものがソフトウェアだと言ってもみなさんはすぐには理解してくれないように思われます.

バイオなどのテクノロジーを使って,モノとしての生命を作り出すというのならば,何となく現実味があるような気もします.一方,モノとしての心を何かの物質で作るということになると,逆に難しそうに思われます.まとめると,1) 何か,目に見えるモノとして作るならば,生命のほうが何となく実現性が高く感じられるが,2) 計算機の中に実現するとなると心のほうが実現できそうに感じられるということです.

たぶん,モノとして作るならば,進化の過程がそうであるように心というものは,生命よりは後に出来上る難しいものであるということが,1)の理由でしょう.一方,2)の理由は,心がソフトウェアであるという形容が命がソフトウェアであるということより,現時点では説得力があることによるのでしょう.

ここで,命に関しても,心身問題の議論によって明らかになった上記のような立場で分けて考えるとどういうふうになるかやってみることにしましょう.今度考えるべき問題は,「命身問題」(こういう日本語は今までに使われたことがないような気がする・・)ということになります.生命は身体とどのような関係にあるのか?という問題です.

心身問題の場合と同様に,まず次のように2分することができます.

1) 一元論
この世にあるのは身体(物質)だけである(唯物論,あるいは物理主義).
2) 二元論
生命と身体はそれぞれ独立に存在しうる別種の実体である.

この2)に関しては,命の実体として「生気」というものを考える生気論というものがあります.このあたりは,話としては面白い面もあるかもしれませんが,オゾマシイ世界にのめりこみそうなので軽く流すという立場をここでは取ることにしまして,1)のほうをさらに考えることにします.心身問題と同様に3つの立場にしたがいます.

a) 行動主義
生命とは,「歩いて,食事をして,子どもを作り・・」などという振舞い全体に対して名づけるべきものであり,システムへの入力と出力に対するある種の記述である.
b) 同一説
「生きている」と形容される状態とは,我々が生物と呼んでいる有機物から構成される物理システムにおいて起こる出来事の総称にほかならない.
c) 機能主義
「生きている」と形容される状態とは,我々が生物と呼んでいる有機物から構成される物理システム上で実現されているある種の高次の状態であり,そのような物理システム以外のハードウェアにおいても,原理的に実現可能である.

「生命」という概念が「心」の概念より,具体的であるため,生々しい「生命」の概念をa)のようにブラックボックスに閉じ込めるというa)の立場は,心身問題の場合にくらべて必然的に説得力がないものになっていると思います.b)は,人間を含む生物の遺伝子に関する情報のメカニズムや,生命に関するもろもろの謎が解き明かされつつある今日において,ますます強い立場になってきているように思われます.

さて,c)の立場は,「生命の多重実現可能性のテーゼ」を支持する立場そのものです.「我々の知っている生物の体とは別のハードウェアで生命を実現する」といっても,想定するハードウェアにもいろいろあります.たとえば,いわゆるバイオ技術を使って人工的に生物を(クローンとかではなくて,人工の物質で)作り出すということも意味しますし,また,計算機で何らかのプログラムを実行させるだけで,その実行状態が生命に相当すると主張する(Tierraモデルなど)ことも意味します.

知能や心を計算機内に実現しようとする人工知能研究が「心身問題」において機能主義の立場に近いということとまったく同様の関係で,生命現象を計算機内で実現しようとする人工生命研究は「命身問題」において機能主義の立場に近いということができます.当然,私は,機能主義の見解を支持します.

「生命の多重実現性」こそ人工生命の核心

人工知能研究者のすべてが心を計算機のプログラムで実現できると考えているわけではないのと同様に,人工生命研究者のすべてが生命を計算機のプログラムで実現できると考えているわけではありません.

その原因として,人工生命研究者といっても,研究の方法論,問題意識,動的システム観といったものこそ同じでも,生命システムを研究している人ばかりではないということがもちろんあげられます.たとえば,私が人工生命の研究として言語の進化モデルを計算機で実験して研究している際に,命身問題に対してどういう立場をとるかということが直接的に問われたり,考えなくてはならないということはありません.

一方,生命現象そのものに直接関連する人工生命研究を行う場合,この命身問題は実はとても重要な問題となり,次のどちらの立場をとるのか迫ってくることになります(研究者本人にその問題の自覚はなくても,どういう観点から研究しているかで大きく異なってくるということです).

1) 弱い人工生命の立場
命の多重実現性を認めない立場.計算機の中に実現されているものは,現実の何かを「シミュレート」したものである.そこで,生命に関する本質的な現象そのものが本当に起きているわけではない.
2) 強い人工生命の立場
命の多重実現性を認める立場.計算機の中で起こっていることは,現実の何かをシミュレートしたものではなく,生命に関する本質を実現するリアルな現象である.

弱い人工生命の立場は,台風のシミュレーションというものを考えるとわかりやすいと思います.ある人が台風のシミュレーションをするために,ミクロな記述から台風のようなマクロな挙動が計算機で再現されるようなとても巧妙なプログラムを作るのに成功したとします.

このとき,計算機の中で起こっているのは,台風のシミュレーションであって,台風そのもののわけがないでしょう,というわけです.これと同様に,どんなに巧妙なプログラムで生命現象を作り出したといっても,それが生命そのもののリアリティになるわけがないというのが弱い人工生命の立場です.

一方,強い人工生命の立場を認めさせるもっとも強力な方法は,誰もが「これは生きてるっ!」とうならせるようなプログラムを作って,実際に見せることです.とは言っても,それは人工生命研究の究極的な目標ですから,現時点ではできるわけがありません.しかし,それに近いものとして,もっとも有名なのは,本連載でもとりあげたことのあるTierra(ティエラ)モデル(図1)です.

図1 Tierraシミュレータの画面写真

命身問題の観点からTierraを見ると,重要なことは,「現実世界の何か具体的なものごとがプログラムの実行によってシミュレートされているわけではない」ということです.そこには,単に自分自身をコピーするという処理が実現されるような機械語プログラムが走っていて,そのプログラム同士の相互作用によって(パターンマッチによるアドレッシング,巧妙な命令セット,他プログラム領域内の命令の自由な実行などの仕掛けも手伝って),寄生や重寄生などの興味深いさまざまな現象が起こります.確かに何かのシミュレーションとは呼べないでしょう.

私は,強い人工生命の立場に立つことによってこそ,面白くてわくわくするような研究が可能になると思っています.理由を以下に書きます. 何らかの現実世界の生命現象のシミュレーションとしての人工生命は,実証科学として,現実との照合をたえず求められることになります.その結果,さまざまな現実の美しくない部分も忠実にシミュレートしなくてはなくなり,普遍的な真理にたどりつきにくくなるのではないかと思うのです.その結果,従来の見識にとらわれない新たな生命観へたどりつくのが難しくなるのではないでしょうか?

人工生命の真の創始者と考えられるフォン・ノイマンという天才研究者は,生命現象のひとつの本質である自己増殖というテーマに取り組み,自己複製が可能なマシンをセルオートマトン上に(パターンとして)作ることが可能なことを示しました.そのマシンは,自分自身に関する情報を記述したテープと,万能チューリングマシンと,万能製作マシン(図2)から構成されています.このテープは,自分自身の構造を作っていく際に頻繁にアクセスされ,また,子機械のためにテープ自身を複製する際にもアクセスされます.

このような構造は,染色体に基づく生命の遺伝の構造に本質的に極めて近いものと言えます.ここで,重要なことは,フォン・ノイマンは,生命の遺伝のメカニズムをシミュレートして,このようなマシンの自己複製のモデルを作り上げたのではないということです.なぜならば,そのような生命の遺伝子レベルのメカニズムの発見は,当時,まだなされていなかったのです!!

要するに,フォン・ノイマンは,実際の生命現象を直接シミュレーションしたのではなく,その現象を深く考え,本質を抽出してモデルをリアルに作り上げる方法によって,結果的には,生命現象の謎の解明に先に到達できたと言えるのです.

図2 フォン・ノイマンの万能製作マシン

食べることを知らない生物なんて

そういうことで,強い人工生命というものは,命身問題における機能主義の立場を土台にすることにより,(うまくいけばの話ですが)生命に関する新しい知見,あるいは,新しい生命観に到達できるのだということを主張したつもりなのですけれど,このような主張に対する反論はもちろんありえます.

もっとも手ごわい反論は,次のようなものでしょう.

「確かに,Tierraモデルにおける,自分自身を複製するというプロセスは,生命に関する本質的なプロセスである自己増殖のプロセスを実現していると考えることができるだとろう.しかし,それは自己増殖というプロセスがもともと計算論的な性格を持っていたためにすぎない.生命に関する他の本質的なプロセス,たとえば,消化(あるいは新陳代謝や捕食などのエネルギーに関するプロセス)は計算論的ではない.このようなプロセスは計算機内では決して実現されえないだろう.」[文献1].
このような主張にどのように反論しましょうか? 先に述べたように,強い人工生命に値する実物を見せる研究を着々と進めるというのが,ひとつのやりかたでしょうが,無理だと言われているのですから,現時点での反撃として,次のような回答を用意します.

1) 計算機でプログラムを実行する際,計算機のハードウェアにおいて,電力の供給,消費などが実際に行なわれており,そのことに着目して説明する.
2) エネルギーという内部状態変数を作り,明示的に操作する.
3) モデル内において,エネルギーに対応する概念を設定したり,解釈して,対応づける.
4) エネルギーの概念の現われない人工世界を対象とする.
5) エネルギーは生命にとって本質ではないとする.

1)はやや苦しい感じです.というか,せっかくのモデルの世界に現実世界の概念を直接組み込むので,美しくないという感じです.2)はありえそうな感じもしますが,このようにすると,通常のシミュレーションっぽくなり,先に主張していた強い人工生命から後退してしまうので避けたいところです.

3)はうまくいけばもっとも自然な説明ではないでしょうか.太陽エネルギー,資源,餌を競い合って奪い合うのが現実世界ですが,たとえば,Tierraの人工世界では,CPUの割り当て時間やメモリ領域をプログラムたちが取り合って進化していきます.そのような関係をきっちりと整理して説明すればよいのです.

4)は3)がうまくいかない場合にはしかたがなく取るというような態度だと思います. 5)に至っては,開き直りに相当する態度ですね(力まかせに,この路線で突っ走っていくことも,ひとつのやり方とは言えますが).

結局,生命そのものを対象とする場合にとどまらず,社会や経済や言語などを対象とする場合でもそうですが,強い人工生命の立場で研究を行なう場合,重要なことは,次のようなことだと思います.

1) 対象とするシステムの本質を捉えたモデル化を行なう.些細とみなせる部分は積極的に切り捨てていく.あまり現実世界の細かな部分を拾っていくと,本質は隠され,普遍性が低くなっていくからである.
2) とは言っても,現実世界と人工世界の対応づけにはたえず注意すること.ひとりで,怪しげなプログラムを作って喜んでいるだけでよいのならばいいが,やはり,普遍的な知見とするには,現実世界との関係を意識しつづけること.

もちろん,もっとも重要なことは,

3) 面白い計算機実験の結果をひねり出すこと.

です.でも,何が面白いかと言われるとまた難しい話になりそうですが,とりあえず,プログラムの文面を完全に理解しても,(通常の頭脳の程度では)どうしてこういう結果が出たのかわからないような結果のことと言っておきましょう.ひとことで言うならば,創発性が高いということです.

参考文献)

1) E. Sober, ``Learning from Functionalism - Prospects for Strong Artificial Life", Artificial Life II, pp. 749--765, 1992.
2) 有田隆也,「人工生命」,科学技術出版.
2年かかってやっと書き終わりました.第1章で命身問題にも触れています.私のホームページに紹介があります.
http://www2.create.human.nagoya-u.ac.jp/~ari/
3) フォンノイマンの万能製作マシンのシミュレータ
http://alife.santafe.edu/alife/topics/jvn/jvn.html