マーヴィン・ミンスキー博士の「エモーション・ユニバース」の超訳。いずれは「エモーション・マシン」(ミンスキー博士の脳の探検 ―常識・感情・自己とは―) [amz]を読んでみたい。
私は宇宙に関するとあるグループトークを聞いていて、人々がそれを議論しないのはとても単純で、一つの可能性があるからだと私には思われる。確かに、「誰がなぜ宇宙を作り、それは何のためか?」という疑問は全てが宗教の中にある。しかし、彼らはつじつまが合わない余計な仮説を立てるため、そのような疑問はどこかがおかしくなってしまう。Xが存在すると言っているのに、Xは宇宙の中にいると言っている。要するに、「このコップ一杯の水が存在する」は「このコップは宇宙の中に存在する」と同じことである。しかし、宇宙が存在すると言うことは馬鹿げている。なぜなら、宇宙は宇宙の中でただ一つだからである。そのため、「何のために宇宙は存在するのか?」のような疑問はどこかおかしなところがある。
この意味を理解するのに、私が理解出来る唯一の方法は、多くの「可能宇宙」が存在するという有名な「多世界理論」を受け入れることだ。それが我々がいる一つの宇宙を区別されるあるいは唯一であるなんてことはない - 我々がいる宇宙であることを除いては。別の言い方をすると、我々の世界が存在すると考える必要はない。その代わり、コンピュータゲームのようにそれを考えてみると、次のような一連の理論を考える:
(1) ある世界をシミュレーションしているコンピュータがどこかにあって、シミュレートされた人々が進化していると想像してほしい。最終的に、賢くなり、それらの人々の一人が他の人に「何のためにこの特別な世界が存在し、我々がそこにいるのはなぜか?」と尋ねる。もちろん、シミュレーションだけなので、世界は本当には存在しない。
(2) そして、それらの人々の一人がおそらく我々はシミュレーションの一部ではないかと、ふと気付くかもしれない。そして、その人は「誰が我々をシミュレートしたプログラムを書いたのか、誰がそのプログラムを実行できるコンピュータを作ったのだろうか?」と問い続ける。
(3) しかし、他の誰かが主張する「おそらくコンピュータなんてものはない。プログラムが存在する必要があるだけだ。なぜならプログラムが書かれたら、シミュレーションの中で起こる全てを決定するからだ。結局、コンピュータやプログラムが描写する時(一連の初期条件の下で)、これはその住人全てやそれらに起こる全てを含む世界全体を描写するだろう。そして、本当の疑問はそのプログラムは何で、誰がそれを書いたのか、そしてなぜと言うことだ。
(4) 最終的に、それらの人々の別の人は「結局、誰もそれを書く必要はない! 可能な全てのコンピュータによる処理なだけだ!」と気付く。誰も記録する必要もない。誰もそれについて考える必要もない。それが原則として可能である限り、宇宙の人々はそれらが存在することを考え信ずるだろう。
そのため、我々はなぜこの世界が存在するのかについての尋ねることに意味をなさないという結論を出すべきだ。しかし、どのようにこの特別な宇宙が働いているのかと言う別の疑問がまだ残る。例えば、我々は我々自身についてたくさんのことを理解している。具体的には、我々がどのように進化してきたか、我々は、存在するためには我々を生み出したプログラムがある種の特性(プロパティ)を持たなければならないということを理解できる。例えば、自身で突然変異したコピーを作ることができる構造が無ければ、進化(ダーウィン進化)するシステムが作られない。これは持続的な特性を持つためには十分安定していなければならないことを意味している。十分に長持ちする分子のようなもの等だ。
これにより、同様に物理に関する重要なものを我々に告げている。我々のような生き物がいる宇宙は普遍的な法則に従わなければならない。そうでなければ、進化のプロセスをサポートするくらい十分に長くは続かないだろう。我々は宇宙の中に存在できず、とても高い頻度で消滅、爆発を繰り返し、とても多くの場所で生み出されることだろう。言い換えれば、我々は不適当な法則を持つ宇宙で存在できないのだ。(確かに、これは結局法則がない世界についての気掛かりな問題を残す。これは時に人間原理と呼ばれるものと関連している。それは物理学者がそのような物理学者たちをサポートできる世界を作ったことについて尋ねることができるのは唯一の世界だという考え方である。)
確定性原理 (The Certainty Principle)
昔は、物理学者が量子理論を説明しようとした時、いわゆる不確定性原理で、世界はニュートンが説明した方法ではないと語ってきた。彼らは全てが確率的で予測できないと、不確定性を強調した。しかし、彼らはそれが実際のところは正反対であるという事実をめったに言及しなかった。それは我々がどんなものでも依存できるという量子化故こそである! 古典的なニュートン物理学の例では、複雑なシステムは長い間安定できない。ジェリー・サスマンとジョン・ウィズダムは、太陽系システムをシミュレーションし、大きな外惑星が10億年間安定させることを示した。しかし、それらは内惑星をシミュレーションしなかったので、惑星が安定するかの保証はない。地球を宇宙の外に投げ出すために大型惑星が移動されるほどの十分なエネルギーがあるかもしれない。(彼らは冥王星の軌道がカオス的であることを示した)
そう、量子理論は物が不確実であることを示している。もし、DNA分子を持っているなら、突然その炭素原子の一つがトンネル効果で、アルクトゥルスに現れる可能性はある。しかし、室温ではDNA分子は10億年の間その場所にとどまるほどほとんど確実に存在する。量子力学が理由で、そしてそれが進化は可能だという理由の一つである! 量子力学は、ほとんどが通常は飛び回っていない理由である! それで、これが人間原理を真剣に受け止めるべきだということを意味している。「どの可能宇宙が進化のようななものをサポートするのに十分安定するものだろうか?」どうやら、最初の細胞は地球が十分に冷えた後に急速に現れるようになったのだ。私はこれは少なくとも1億年は掛かったと見積もっている。しかしその一方で、細胞の類が動物と植物に進化するまで更に30億年掛かった。これは、安定性をサポートする法則を持つ可能世界でのみ起こった。それはニュートン宇宙では起こるわけがない。そして、これが所定の位置に物事を保つために、我々は量子力学のような何かが必要だという理由である。(私は、「ファインマン計算機科学」という本の私が執筆した章で、この「確定性原則」で論じた。)
知性 (Intelligence)
なぜ、何が我々の精神で、それがどのように働くのかについてのしっかりした理論がまだないのだろうか? 私の見立てでは、これは我々は必要とする概念を今はじめて持ち始めたばかりだからだろう。脳はとても複雑なマシンで、今日のコンピュータをはるかに超えて高度である。まだ1950年代まではなかったが、(例えば)メモリについてのシンプルなアイデア、データ構造の概念、キャッシュ・メモリ、優先割り込みシステム、そして、セマンティックネットワークのような知識の表現を獲得し始めた。今、コンピュータサイエンスは1960年代前には簡単には手に入らなかった数百のそのような概念を持っている。
心理学自身は20世紀前には大して開発されなかった。アリストテレスのような数人の思想家は心理学についての素晴らしいアイデアがあった。しかし、進展はその後ゆっくりだった。アリストテレスの弁論術はおおよそ1870年までの他の思想家たちと同じくらい素晴らしいと思える。そして、ゴルトン、ヴント、ウィリアム・ジェームズ、フロイトの時代が来ると、我々はどのように精神が働くかについてのアイデアへの最初の一歩に見えた。それにしても、私の見立てでは、40年代のサイバネティックまでさほど進展はなかった、50年代や60年代には人工知能、70年代や80年代には認知心理学が成長し始めた。
なぜ、これまでのところ心理学は多くの他の科学の後方に停滞したのだろうか? 1930年台後半、スイスのジャン・ピアジェという名前の植物学者は彼の子供たちの行動を観察し始めた。子供たちの成長を観察した10年間、彼は子供たちの脳に起こったプロセスについての何百もの小さな理論を書き留め、約20冊の本を書いた。3人の子供を注意深く観察したことが全て基になっている。一部の研究者はまだ彼の結論について粗探しをしているが、全体構造は棚上げ状態になっているように見え、彼が説明した進展の多くは観察された全ての文化の中で同じレート、同じ年齢で起こったように見える。「ピアジェは正しいのか間違いなのか」は疑問ではない。しかし、「なぜ2000年前にピアジェのような人がいなかったのか?」。誰も子供を観察することについて考え、どのように彼らが動いたのか解明しようとはしなかった全て以前の文化についてとは何だったのか? もちろん技術不足からではない。ピアジェはサイクロトロンを必要としなかった。ただコップの水やキャンディ片を必要としただけだった。
おそらく、心理学は成功した科学の真似をしようとしたため、後れを取ってきたのだ。例えば、20世紀はじめ、心理的主題についての数学的理論を作ろうという試み(ノータブル学習やパターン認識)が多数あった。しかし、数学を加えることに問題があった。物理学には良かったが、私が思うに基礎物理学はとても少ない法則で良かったが、コンピュータ以前に開発された数学の類は、ごくわずか、4、5あるいは6の法則を基にしたシステムを記述するのが上手かった。しかし、十数の法則を基にしたシステムでは上手く動かない。ニュートンやマクスウェルのような物理学者は、3あるいは4の法則を基にした巨大な現象から成る方法を発見した。しかし、20の仮定では、数学的推論は非現実になる。
群論と呼ばれる美しいテーマは5つの仮定だけで始まる。これは人々がそれらの上で一生を過ごす複雑さがあるようなシステムにつながる。同様に、誰も完全に理解できなくても、数行のコードだけでコンピュータプログラムを書くことができる。少なくとも、十分理解し、良い理論を作るため、どのようにそれが振舞うかを理解するためにコンピュータを実行することができる。
しかしながら、それよりもコンピュータサイエンス以上の内容がある。多くの人々はコンピュータがどう動くかの科学としてコンピュータサイエンスを考えるが、私は全く異なる考えを持っている。コンピュータサイエンスは、複雑なシステムについて説明し、考えるための新しい方法の集合である。それはどのように心の機能が働いているかについての有益な概念、新しい巨大なライブラリを搭載している。例えば、記憶の古典的な理論のほとんどは箱の中で事実のような知識を想定していた。最新の理論は短期と長期記憶についてのアイデアに気付き始め、技能(スキル)は別の方法で保持されると推測される。
一方では、コンピュータサイエンスは情報を蓄えるのに妥当な方法が数多く提案されている。データベースの項目、あるいは"if-then"応答規則の組、セマンティックネットワークの形態の中(情報の小さい断片はそれら自身が持つ属性のリンクに接続される)、プログラムのような手続き型言語、ニューラル・ネットワークなど。あなたはニューラル・ネットワークと呼ばれるものにものを保存することができる。そして、あるものを学習することは素晴らしいが、高次の処理はニューラル・ネットワークの中に何が入っているかを振り返ることができるため、知識以外の類にはほとんど役立たない。これは、脳の残りはそれが学習したことついて考え、推論することができないという意味である。すなわち、何が特別な方法に精通していたのかということだ。人工知能では、我々はより速くプログラムを作るため、多くの技を学習させる。しかし、ニューラル・ネットワーク型の学習結果は理解するためには、他のプログラムは不透明過ぎるため、長い目で見れば制限につながる。
それでも今なお、ほとんどの脳科学者は例えばキャッシュメモリについて、理解しているようには見えない。あなたがコンピュータを購入するなら、遅いハードディスク上に大きなメモリを持つことを希望するだろう。しかし、キャッシュと呼ばれるもっと高速なメモリも持ち、それらが再び必要になることを備えて最新の作業を記憶している。そのため、他に見に行く必要はなくなる。そして、現代のコンピュータはそれぞれいくつかのそのようなシステムを利用する。しかし、そのように海馬について誰かが話すことを聞いた事は無い。こうしたことが脳科学者はとても保守的であるということを暗示している。したがって、ほとんどの実験は誤った選択肢を区別しようとしている。
強化学習(Reinforcement) vs. 評価割り付け(Credit assignment)
自身で学習して成長する一種の「ベビーマシン」を作ることを目指すいくつかのプロジェクトがある。ゆくゆくは知能を持つようになる。しかし、そのようなプロジェクト全てが今の所、いくつかの点で前進しているのみで、その上、もろかったり、さらに劣化した。一つの問題はそれらが獲得した知識を表現するための適切な方法を見つけることだ。もう一つの問題は、我々が時々評価割り付け(credit assignment)と呼ぶものへの良いスキームがないことだ。それは、どのように関係のあるものを学習するのか、偶然というよりも必須事項である。例えば、ネジが一列に残って、抜けないようにネジ回しを使う新しい方法を見つけたとする。あなたが学習したのものはなんだろう? それは単に正確に一連の動作を学習するだけでは十分ではない(なぜなら、この次に空間的関係は異なる)。従って、あなたは表現の高いレベルで学習する必要がある。どのように正しい抽象化を作るのだろうか? また、いくつかの実験で、あなたが成功に向かって、そのパスの中で異なる10の物事を行い、それらのうちあなたが思い出すのは、そしてどのようにそれらを表現するのだろうか? 古い心理学理論はごく最近まで行ってきた強化学習(reinforcing)の単純なアイデアを使った。しかし、それが目の前の問題がより複雑になるばかりでうまく働くようには見えない。明らかに、行動ではなく、計画を補強する必要がある。そして、良い評価割り付け(Credit-Assignment)はあなたが行う物事についての思考を伴うべきだと意味している。それにしても、誰もそのような物事をする良いアーキテクチャーを設計してデバッグしない。
我々は優れたプログラミング言語やアーキテクチャーを必要だ
私は、問題解決プログラムのデザイン、あるいはそれらを説明するプログラミング言語、あるいはそれらのデザインを実装するためのマシンで見られる奇妙な伸び悩みに気づいた。最初は、コンピュータがまだ一般の人々に利用可能になる直前の1950年代始めに始まった人間の問題解決をシミュレーションするためのプログラムを得るための実験でのことだった。例えば、ジョン・フォン・ノイマンのグループによって設計された初期のマシンを使ったニューウェル、サイモンやショーの研究だった。これを実施するために、彼らはリスト処理プログラム言語IPLを開発した。1960年には、ジョン・マッカーシーがより高水準言語LISPを開発し、そのような物事を行うのがより簡単になった。そして、リアルタイムに自身を修正できるプログラム書くことができた。残念ながら、後のプログラミングコミュニティはこの重要性を評価しなかった。そのため、世界はいまだに自身を変更できないプログラムのFotran、C、それらの後継のような使いにくい言語が優位に立っている。その競合相手は誰も理解できず変更もできない内容で一杯になっているため、現代のオペレーティングシステムは同じ運命に苦しんでいて、業界は古代の過去から持ってきた化石のUnixと呼ばれる35年前のシステムをチューニングするのが見られる。そして今、我々は再出発しているところだが同じ誤りをする可能性が高い。コンピュータコミュニティのどこが悪いのだろうか?
専門知識 vs. 常識
人工知能の初期、我々はとても高度なことを行うためにプログラムを書いていた。最初のそのようなプログラムの一つは、ユークリッド幾何の定理を証明できた。幾何学がいくつかの仮定にのみ依存するので、これは簡単だった。2つ点が与えられたら直線が決まる。2つの直線があって、どちらか一方が並列あるいは1点で交わる。あるいは、2つの三角形は2辺とそれらの間の角が等しければ、同じである。仮定がとても単純な世界で、小さな数字だけがあり、とても明確な論理を使うため、これは最高のテーマである。美しい場所であり、あなたはそこで素晴らしいものを発見できる。
しかし、振り返ってみると、私はとても高度な課題に取り組み大きな貢献をすることは間違っていたかも知れないと考えている。その結果は今日まで誰も子供が解くことができる問題のようなものに注目していなかった。幾何学問題は優れた高校生が行うのとおおよそ同じようなものだった。我々の大学院生の一人は、微積分の象徴的な問題を解決するプログラムを書いた。ジム・スレイグルのプログラムはMITの1年目の微積分学のコースのAグレードを得るのに十分なものだった。(しかし、象徴的な問題を解くことができるだけで、言い方を表現する性質はない。結局は、そのプログラムの後継は一般の人よりも素晴らしいものに進化し、MACSYMAやMathematicaと呼ばれる数式処理システムにつながった。胸躍る話ではあるが、それらのプログラムはまだ「文書問題」を解決できていない。しかし、1960年代中頃、大学院生のダニエル・ボブロウが「ビルの父の叔父は父の2倍の年齢である。ビルの父は今から2年後、ビルの3倍の年齢になる。全員の年齢の合計は92歳だ。ビルの年齢を探り出せ」のような問題を解くことができるプログラムを書いた。ほとんどの高校生はそれにかなり手こずる。ボブロウのプログラムは一次方程式の中にそれらの英文を変換できる上、それらの方程式を解決できる。しかし、他の意味を持つ文に何もできなかった。我々は、プログラムを少し改良を試みたが、良くはならなかった。なぜなら、それらのプログラムはどのくらい人々が常識的な言語を使うかを十分に理解できなかったためだ。
1980年までに我々は1000のプログラムを書いた。それぞれがいくつかの専門分野に特化した問題を解決するのが得意である。しかし、それらのプログラムは典型的な5歳児ができるようなことはできなかった。もし、あなたが全く間違っていて、子供が全く正しければ、5歳児は議論であなたを打ち負かすことができるだろう。早い話が、我々は微積分、幾何学、高校レベルの代数などから後退した。今や、ほんの過去数年、AIの少数の研究者は、全ての普通の子供が解決できる常識問題の類に取り組み始めた。しかし、熟練特化したプログラムを書く人が10万人いても、私は、日常の類に取り組むプログラムを作るための方法を見つけることを意図する人は、世界の中で1ダース程度しか見つからない。ほとんどの子供はそのような常識的な仕事ができるのにだ。