第410回 意識を持つヴァーチャルマシンの作り方 〜ウィトゲンシュタインの夢


ロボマインド・プロジェクト,第410弾!
こんにちは,ロボマインドの田方です.

前回,第409回は意識をもつヴァーチャルマシンの作り方でした.
今回は,その続きです.

僕らは,心や意識をコンピュータで作ろうとしています.
前回,意識がおこなってることは,プログラム文を実行するヴァーチャルマシンと同じだって話をしました.
つまり,意識は一種の記号処理を行ってるってことです.
こう話すと,AIの歴史を勉強した人から,
「あぁ,記号処理をやろうとしてるんですよね」
「AIは記号処理じゃ,うまく行かないんですよ」
って親切に教えてくれる人がいます.

その人が何を言いたいのか,よく分かります.
1980年代に第二次AIブームが世界中で起こりました.
バブルの真っただ中で,日本も,第五世代コンピュータって国家プロジェクトを推し進めてました.
後に,最も失敗した科学国家プロジェクトって言われました.

第二次AIブームはルールベースって言われる記号主義が中心でした.
どういったものかというと,「AならばB」「BならばC」って大量のルールを教えることで,何でも答えられるAIを作ろうとしました.
これをエキスパートシステムって言います.

たとえば,「熱があって,咳が出るなら風邪です」って病気を診断するとかです.
当時,こんなエキスパートシステムが何千って作られましたけど,今は一つも残っていません.

だって,人って,そんなに単純じゃありませんからね.
骨折しても,「こんなの大したことありません」って言う人もいますし,かすり傷でも,「このままじゃ死ぬ」ってわめく人もいますし.

そんな感じで、エキスパートシステムは使い物にならないってなって,第二次AIブームは終わりました.
このことがあったから,AI業界じゃ,記号主義はうまく行かないって語られるんですよ.

でも,これ,あまりにも雑なんですよ.
工学系の人って,役に立つことしかしません.

でも,記号論理学って、本来,哲学に属します.
哲学は,何の役に立つかなんか考えません.
世界とはいかにしてできてるのかとか,そんな根本的なこと考えます.
それを,いきなり,実用的なエキスパートシステムなんか作ったら,そりゃ、うまく行くわけないです.

記号論理学は,哲学の流れだと分析哲学になります.
フレーゲとかバートランド・ラッセルとかの流れを受けて登場したのがウィトゲンシュタインです.
エキスパートシステムには,そんなウィトゲンシュタインが考えてた論理哲学の視点がないんですよ.
というか,ウィトゲンシュタインが本当に考えてたこと,僕らはそれを実現しようとしてるんです.
それが今回のテーマです.
意識を持つヴァーチャルマシンの作り方②
ウィトゲンシュタインの夢
それでは,始めましょう!

ウィトゲンシュタインといえば,一番有名な著作が『論理哲学論考』です.
論考は,番号が振られた短い文が淡々と書かれています.
1行目はこうです.
「1 世界は成立していることがらの総体である」
ここでいう世界っていうのは現実世界のことです.
「成立していることがら」というのは,現実世界で実際に起こった出来事のことです.
とういことは,実際に起こらなくても可能性として考えられる出来事もありますよね.
それの方がはるかに多いです.
あらゆる可能性を含んだ世界のことを論理空間ってよびます.
こんな風にして,ウィトゲンシュタインは世界を厳密に定義していきます.

二行目はこうです.
「1.1 世界は事実の総体であり,ものの総体ではない」
「もの」っていうのは「リンゴ」とか「机」とかです.
世界には,単に「もの」があるだけじゃないなくて,事実があるわけです.
じゃぁ,事実ってなにかっていうと,「りんごがある」とか「りんごが机の上にある」とかです.
これは,「リンゴ」と「机」の関係とか,リンゴと世界との関係と言えますよね.
つまり,「もの」は何らかの関係をもってるわけです.
「もの」は関係を介して世界とかかわっているわけです.

ウィトゲンシュタインは,人がどうやって世界を認識しているか記号をつかって論理的に記述しようとしたわけです.
これが分析哲学です.

僕は,人の意識や心をコンピュータで作ろうとしています.
そのために人がいかにして世界を認識するかを考えて,提案したのが「意識の仮想世界仮説」です.
僕もウィトゲンシュタインも,世界をいかにして認識するかって目的は同じです.

人は,目で見た世界を頭の中で仮想世界として構築します.
意識は,この仮想世界を介して現実世界を認識します.
これが意識の仮想世界仮説です.

これをコンピュータで実現するとすれば,現実世界を三次元世界と考えれば,仮想世界は,3DCGで実現できます.
カメラで捉えたリンゴを3Dのリンゴオブジェクトとして仮想世界に生成します.
仮想世界は,現実世界をそのままを反映した現実仮想世界と,意識が自由に想像できる想像仮想世界の二種類存在します.

論理哲学論考で「世界」とは,実際に起こった現実世界でしたよね.
つまり,意識の仮想世界仮説の現実仮想世界が論考の「世界」に該当します.
現実には起こっていないけど,想像することができるのが想像仮想世界です.
これは,論考でいうところの論理空間に相当します.
それから論考の「もの」は,意識の仮想世界仮説だとオブジェクトに相当します.

論考で,「事実」とは「もの」と世界との関係でしたよね.
「リンゴがある」という事実は,仮想世界にリンゴオブジェクトを生成したことになります.
こんな風に,意識の仮想世界仮説と論理哲学論考とはきれいに対応していくわけです.

僕らは、意識の仮想世界仮説を実現するヴァーチャルマシンを作っています。
ここで,前回の復習をします.
ヴァーチャルマシンというのは,仮想的なコンピュータのことで,プログラムを実行できます.
前回,一番簡単なプログラムとして,これを例にあげました.

Let a = 1 + 2;

です.
これは,変数aを用意し,そこに「1+2」を計算して,代入するという意味です。
まず,ここで想定する世界は,この三次元世界じゃなくて,数学世界となります.
世界は違いますけど,論理空間であることには変わりないです.
この数学世界には,「もの」として,数字とか変数があるわけです.
それから,変数を操作する関数があって,その一つが足し算です.

ヴァーチャルマシはプログラムを直接実行することができないのでバイトコードに変換します.
これが変換後のバイトコードです.

まず,分かっておいて欲しいのは,これはメモリに全て格納されてるってことです.

つまり,コンピュータの中で実際に作られるってことです.
それでは,これを読み解いていきます.
まず,バイトコードの上から見ていきます.

–[literals]–
[0]1 int
[1]2 int

これは,「1+2」の1,2のことです.
その下は,これです.
–[variables]–
[0]a

これは変数aのことです.
さて、この上半分に何が書かれてあったか,わかりましたか?

これは,現実世界のある一瞬です.
そこには,1と2と変数aがあるわけです.

それが,メモリ上に再現されてるってことです.
頭の中の概念じゃなくて,コンピュータ内に世界が再現されてるってことです.

現実世界って,実際に存在するたった一つの世界でしたよね.
それに対して,起こりえる可能性の世界のことを論理空間っていいましたよね.
たとえば、1と2以外の数字がある世界です.
変数もaでなくてもbかもcかもしれません.
メモリ空間は考えられるあらゆる世界を再現可能なんです.
そのうち,現実世界が、今のメモリの状態です。
ねぇ、ウィトゲンシュタインがいう世界、論理空間が、メモリ空間に再現されているでしょ。

さて,次は,下半分を見ていきます.
下半分にはオペコードが書かれています.

これが,「1+2」を計算して,変数aに代入するってプログラムの中身です.
[2]番地のADDっていうのが足し算の中身を実行するADD関数です.
詳しくは,前回の動画を見てください.
さて,ここには何が書かれてるか分かりますか?

ここには、上半分にかかれていた現実世界が、どう動くかが書いてあるわけです.
1と2を足して変数aに代入するって手続きです.
それが,[0]番地から,下に順番に進んで[4]番地のENDで終了します.
今,何が起こったか,分かりましたか?

今,順番に進んだでしょ.
これ、何を意味するかわかりますか?
これ,時間です.

上半分は現実世界のある一瞬です.
下半分に書かれてるのは,それが時間とともにどう変わっていくかです.
前半が世界のある瞬間で,後半は,世界の歴史といってもいいです。
この二つを合わせたものが世界です.
そして,これを実行するのがヴァーチャルマシンです.
これが世界の全てです.
どうです?

こう考えたら,スゴイでしょ.
ウィトゲンシュタインが考えてた世界が,メモリ空間とヴァーチャルマシンで全て実現されたわけです.
これが記号主義の考えです.

咳が出て熱があれば風邪ですってエキスパートシステムと,全然違う景色が見えてきたでしょ.
エキスパートシステムを作ってた人たちは,世界とは何かって視点が抜けてたんです.

同じ記号主義でも、全然違うものを見てるんです。
なんで、そうなるかっていうと、それは時代の違いです。

じゃぁ,ウィトゲンシュタインが生きてたのは、どんな時代でしょう。
19世紀終わりから20世紀にかけて,論理学は,あと一歩で,世界のすべてを完璧に記述できるといわれていました.
世界中の天才たちが、それに挑戦してたわけです。
ところが、そこに論理的なパラドックスが立ちふさがりました。
パラドックスといえば,クレタ人のパラドックスが有名です.
「『すべてのクレタ人は嘘つきだ』とクレタ人がいった」という文があるとします.
これ,もしその人の言ってることが正しければ,「すべてのクレタ人は嘘つき」は間違いになりますよね.
逆に,その人が嘘をいってたら,「すべてのクレタ人は嘘つき」という文が間違いになりますよね.
どってにしても,この文が成立することはありません.
これがパラドックスです.

そんなパラドックスの中にラッセルのパラドックスというのがあって,論理哲学論考は,ラッセルのパラドックスに対する回答でもあったんです.
当時の数学界,哲学界にとっては,世界を論理的に完全に記述できるかどうか,これが大問題だったわけです.

正直,今の僕からしたら,「そんなこと,どうでもええんちゃう?」って思いますけど,これが時代ってもんです.
あと一歩で出来そうって時代背景が,世界を次に進めるエネルギーになるわけです.

さて,20世紀の後半はコンピュータが発達して,人工的に人間と同じ知能を作れるんじゃないかって気運が高まってきました.
記号主義でそれを実現しようとした第二次AIブームは,そんな時代背景のもとに生まれました.
でも,それは不可能だって第二次AIブームを打ち砕いたのは,記号接地問題だと思っています.
記号接地問題は,認知科学者のスティーブン・ハルナッドが提唱しました.
「リンゴ」って言葉をいくら操作しても,「リンゴ」って言葉が現実の「リンゴ」に結びついてない限り,言葉の意味を理解したことにはならないってことです.

言語を考えるとき,これはかなり本質的な問題ですよね.
でも,不思議なのは,こんな本質的な問題,なんでウィトゲンシュタインとか、当時の分析哲学の人たちは気にしなかったんかってことです.
たぶん,あまりにも当たり前すぎて,それが問題やと思いもしなかったんやと思います.
それより,論理的に世界を完全に記述できるかって問題の方がはるかに大きくて重要な問題やったんですよ.

じゃぁ,そんな当たり前のことが20世紀の終わりごろに,なんで発見されたかっていうと,それは,コンピュータが生まれたからです.
コンピュータって,言ってみれば,プログラムの入ってないまっさらな脳です.
それと人間の脳を比べたとき,改めて,人間の脳ってすごい処理をしてるって気づいたんですよ.
「世界のすべてを論理的に記述できるか」なんて問題より,「リンゴがある」ってことを理解する方が,はるかに難しいってことに気づいたわけです.
それを指摘したのが記号接地問題です.

記号接地問題に関しては,意識の仮想世界仮説では,既に解決しています.
意識の仮想世界仮説では,現実世界のリンゴをカメラで撮影して,それを3Dオブジェクトに変換します.
それに「リンゴ」って名前を付けたものが記号としてのリンゴです.
つまり,記号が現実世界の「もの」にちゃんと接地してるわけです.
記号で世界を完全に記述し尽くすことはできないですけど,日常生活や,普段の会話に困ることはありません.

21世紀の今という時代,僕らの関心ごとは,「人間の意識や心はコンピュータで実現できるのか」ってことです.
僕の中ではあと一歩だと思っています.
世界を記号で記述できるこことは分かりました.
それをヴァーチャルマシンで実現できることも分かりました.
じゃぁ,あと残ってることは何でしょう?
それは,心の中まで記述できるかってことです.

さっき,ヴァーチャルマシンで数学世界は実現しましたよね.
足し算はADDって関数で実現しました.
関数が行ったのは,世界を変化させる手続きです.
現実世界が三次元世界なら,「落ちる」って関数を作れば,リンゴが落ちるって世界を再現できます.
つまり,世界には,世界を動かす関数があるわけです.
物理世界を動かす関数は,ほぼすべて解明されてます.
だから物理世界はコンピュータでほぼ再現できます.

つまり、心を動かす関数がわかれば、心をヴァーチャルマシンで実現できるんです。
じゃぁ,心の中には,どんな関数があるんでしょう?
これも,時代が解決してくれています.
それは、20世紀の終わりごろから急速に発展した脳科学です.
人の心を動かす仕組みが脳内で具体的に見つかってきました.

たとえば,手を針で差したら痛いって感じるでしょ.
これは,まず,大脳の体性感覚野でどこが痛いか判定します.
それと同時に,偏桃体から不快だって信号が出ます.
これらの信号を合成するのが島皮質です.
最終的にそれを受け取って行動を決定するのが意識です.
だから,痛いと感じたら手を引っ込めるわけです.

ところが,島皮質を損傷すると意識は不快って感じを受け取れなくなります.
でも,意識は,体性感覚野から直接データを受け取ることができるので,手に何かは感じます.
でも,不快とは思ってないので手を引っ込める行動をしなくなります.

こんな風に,心の中にどんな関数があるかはわかってきたんですよ.
プログラムって,データを関数に渡したり、次にどうするかってことを文で記述したものですよね.
「もし,不快を感じたら,不快から逃れるように行動する」とかって書かれてあるわけです.
それが心のプログラムです.
プログラムは記号で記述できて,それはヴァーチャルマシンで実行できます.
つまり,ヴァーチャルマシンで人間と同じ心を実現できるんです.

ただし,記号で記述される世界は,解決できないパラドックスが必ず存在します.
でも,そんなこと,生きてたらいくらでもありますよね.
「Aさんの肩をもったらBさんが傷つくし,Bさんの肩を持ったらAさんが怒るし」とか.
それが人間の心っていうもんです.

21世紀の今,コンピュータと脳科学の進歩で,いよいよ,意識や心をコンピュータで実現できるようになりました.
後は,実際に作るだけです.

今回の動画を見れば,どうやれば心が作れるって分かったと思います.
ただ,このやり方で心を作ろうとしてるのは僕らだけです.
世界の主流は大規模言語モデルです.
でも,大規模言語モデルの限界は,すでに見えています.
本当に心を作ろうと思ってる人は,ぜひ,この動画を参考にしてください.
今なら,世界のトップに立てます.

はい,今回の動画がおもしろかったらチャンネル登録,高評価お願いしますね.
それから,意識の仮想世界仮説に関しては,こちらの本を参考にしてください.
それじゃぁ,次回も,おっ楽しみに!