第227回 ニューロンレベルで意識を解明!


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

今世紀に入って、脳科学はどんどん進歩しています。
21世紀は、脳の時代と言われています。
ただねぇ、脳って、分かってることと分かってないことの差が大きすぎるんですよ。

たとえば目で見た後、どんな処理をしてるかってことは、かなり分かってきてます。
脳には100億以上のニューロンがあります。

目からのデータは、最初、V1と呼ばれる一次視覚野に送られます。
ここには、水平とか垂直とか、線の傾きに反応するニューロンがあります。

次のV2だと、ちょっと複雑になって、線を組み合わせたL字型とか、渦巻とかに反応するニューロンがあります。
さらに進んだIT野だと、手とか顔に反応するニューロンがあります。
視覚の処理って、ここまで分かってきてるんですよ。

でも、僕らが一番知りたい意識とか心って、ほとんど分かってないんですよ。
でも、意識とは何かって議論は、よくします。
たとえば、脳をそっくりコピーしたら、その人の意識もコピーされるのかとか。
脳のデータをコンピュータに移植したら、その人は、コンピュータの中で永遠に生き続けるのかとか。

でも、こんな議論、ちょっと大雑把すぎますよねえ。
なんというか、ニューロンレベルの話と、意識レベルの間が、離れすぎてるんですよ。
その間をつなぐ説明がないんですよ。
それを無視して、意識はコピーできるとか議論しても、無理がありますよねぇ。

でも、それが説明できるなら、とっくに誰かがやってます。
そこが分からないから、意識のコピーとかって議論になるんです。
でも、僕は、ちょっと違います。
僕らが、今、作ってマインド・エンジン。
これって、コンピュータで動く意識です。
マインド・エンジンをみれば、ニューロンレベルで意識がわかるようになるんです。
これが今回のテーマです。
ニューロンレベルで意識を解明する
それでは、始めましょう!

まずは、マインド・エンジンの簡単なおさらいです。
これが、マインド・エンジンの中心となる仮想世界ウィンドウと意識ウィンドウです。

今回、考えようとしてるのは、意識です。
意識ウィンドウの裏で動いてるプログラムを意識モジュールといいます。
さて、この意識モジュールって、何を見てるんでしょう?

それは、前回、第226回でも説明しましたけど、ワーキングメモリです。
ワーキングメモリには、生成したオブジェクトが置かれます。
コンピュータレベルでいうと、オブジェクトはメモリに生成されます。

メモリというのは、こんな風に、データを格納する箱があって、それにアドレスがふられています。

だから、アドレスを指定すれば、中に入ってる数値とか文字列のデータを取り出せるわけです。
それから、データには、アドレスを入れることもできます。

すると、そのアドレス先のデータを取り出すことができます。
こんな風にして、いろんなデータを関連付けることができるわけです。

さて、ワーキングメモリには、オブジェクトが格納されています
それじゃぁ、メモリのなかに、具体的にどうやってオブジェクトが格納されるんでしょう?
リンゴオブジェクトで考えてみます。

これは、以前紹介した単語登録ツールです。
「りんご」は「具象物」とis-aの関係となってますよね。
具象物ってのが、3次元世界で最も基本的な概念で、抽象的な物体って意味です。
具象物は色と位置って、物体として、最も基本的なプロパティを持ってます。
りんごは、具象物の下位概念なので、リンゴも色と位置ってプロパティを持ってます。
この図は、そういった関係を示しています。

リンゴオブジェクトのデータがどんな関係となってるか、この図を見たらすぐにわかりますよね。
でも、それは人間だから分かるんです。
コンピュータは、こんな図で理解しません。
こっから、少しずつ、コンピュータが理解するところまで下りて行きますよ。
まずは、マインド・エンジンで使う専用のプログラムでお見せします
これが、appleのプログラムです。

注目して欲しいのは、extends Physics3D.Object です。
これは、3次元世界の具象物の下位概念って意味です。

次は、具象物のプログラムです。

いろいろ書いてありますけど、Positionとかcolorとかってありますよね。
これは位置とか色ってプロパティのことです。

さて、プログラムを実行するのはヴァーチャル・マシンです。
ヴァーチャル・マシンが読めるのはバイトコードです。
そこで、プログラムをバイトコードに変換します。
これが、具象物のバイトコードです。

もう、何が書いてるのか、さっぱり分からないですよね。
かろうじて、positionとかcolorとかあるので、位置と色のプロパティを持ってるってのが分かるぐらいです。
じつは、このバイトコード、これが、ほぼ、このままメモリに格納されます。
つまり、この形式が一番下のレベルです。
このデータがメモリに格納されて、ヴァーチャル・マシンは、これを直接読み書きしてオブジェクトを操作します。

ややこしくなってきたので、ここらで整理します。
マインド・エンジンの中心は仮想世界です。
自然言語の文を読んで、仮想世界を操作します。
これが、文の意味を理解してるってことです。
ただし、これは人間の目から見たマインド・エンジンです。

つぎは、これを、コンピュータ側から見てみます。
仮想世界を操作するのは、意識モジュールです。
そして、仮想世界の実体はワーキングメモリです。
ワーキングメモリにオブジェクトが生成されて、意識モジュールは、そのオブジェクトを操作します。

意識モジュールが解釈するのがプログラムです。
「りんごがある」って文は「new Apple()」ってプログラムに変換されます。
これは、「リンゴオブジェクトを生成せよ」って意味です。
意識モジュールは、このプログラムをヴァーチャル・マシンに渡すと、まず、バイトコードに変換され、それがメモリに読み込まれます。
このとき、リンゴの上位概念の具象物のバイトコードも一緒にメモリに読み込まれるので、リンゴオブジェクトは、具象物と同じプロパティを持つことになります。

次に、たとえば、「そのりんごは赤です」って文を読むと、Apple.color = red ってプログラムに変換されます。
意識モジュールは、このプログラムをヴァーチャル・マシンに渡して実行します。
ヴァーチャル・マシンは、メモリ上のリンゴの色プロパティに赤色を関連付けるわけです。

分かってきましたか?
ここで言いたいのは、二つの階層があるってことです。
下の階層が、メモリです。
この階層は、メモリアドレスとデータで構成されてます。

上の階層にあるのはプログラムです。
プログラムは、メモリとかアドレスとかは使いません。
プログラムが直接、扱うのはオブジェクトです。
Appleとか、Apple.colorって感じで、オブジェクトの名前とか、プロパティを扱います。
そして、プログラムを使うのが意識モジュールです。
それから、オブジェクトは、ワーキングメモリに配置されます。
これは、実質、仮想世界です。

分かってきましたか?
全てのデータはメモリにあります。
でも、そんな見方をしてたんじゃ、大事なことが見えてこないんですよ。
階層に分けて見ないといけないんですよ。

そして、重要なのは、上の階層です。
オブジェクトとか、仮想世界がある階層です。
そして、その階層で、オブジェクトを制御してるのが意識モジュールです。
意識モジュールは、プログラムを使って仮想世界を操作します。
これが考えるってことです。
世界を理解するってことです。
そして、僕らの意識も、この階層にいます。
この階層を持ってる者同士が、コミュニケーションできるんです。

さて、ここで人間の脳についてを考えてみましょう。

最初にお話したように、人間の脳には百億以上のニューロンがあって、それが互いにつながって情報を処理しています。
これ、コンピュータで言えば、メモリと同じですよね。
メモリの中のデータが互いに関連しあってるわけです。

それから、目で見た視覚情報がどんなふうに処理されるかの話もしました。
一番最初は、単純な直線とか曲線で、次の段階になると、ちょっと複雑な形を認識するニューロンが出てきます。
最後には、手とか顔とかってかなり複雑な形を認識するニューロンが出てきます。
つまり、複雑な形状も、単純な直線とか曲線の組み合わせで表現してるわけです。

これなんか、リンゴオブジェクトは具象物オブジェクトから出来ていて、具象物オブジェクトは、色とか位置ってプロパティを持ってるってのと同じですよね。
最初にも言いましたけど、脳で分かってるのは、この段階までなんです。
これって、コンピュータで言えば、メモリレベルのことです。

脳で、まだわかってないのは、意識です。
意識は、脳のどこで何をやってるのか?
みなさんは、もう、わかりましたよね。
意識は、脳のどこにあるか。

それは、上の階層にあるんです。
ニューロンの階層をいくら探しても、意識は見つからないんです。

ニューロンを探して見つかるのは、手とか顔に反応するニューロンです。
これは、コンピュータで言えばオブジェクトです。
そして、オブジェクトを操作するのが意識モジュールです。
オブジェクトの操作の手順を記述したのが、プログラム言語です。
これらは全て、上の階層にあります。

今のAIも、同じです。
今のAIの主流は、ニューラルネットワークによる機械学習です。
顔を認識できるようになったディープラーニングとか、有名ですよね。

これも、単純な直線の組み合わせで目や鼻を組み立てて、目や鼻で顔を組み立ててますよね。
まさに、脳の中でやってる処理と同じです。
ただし、これは下の階層の話です。

こうやって生成したオブジェクトを操作する上の階層は、機械学習ではできないんです。
機械学習で出来るのは、要素を組み合わせてオブジェクトを組み立てるとこまでです。

脳科学、AIの課題が整理されてきました。
脳科学で分かってること、機械学習でやってることも、どちらも、下の階層の処理です。
その階層には、意識は存在しません。
意識は、その上の階層にいます。

意識が認識するのは、仮想世界の中にあるオブジェクトです。
オブジェクトは、仮想世界のルールに従います。
壁に当たった手は、壁の中に入ったりしません。
これが3次元仮想世界のルールだからです。

話が変わりますけど、シミュレーション仮説って聞いたことありますか?
この世界は、どこかの高度に進んだ宇宙人が創ったシミュレーションだって説です。
言ってみれば、僕らは、3Dゲームの中のキャラクターってことです。
この仮説の恐ろしいのは、もし、そうだったとしても、中に住んでる僕らは、それを証明できないってことです。

階層が違うって、こういう事なんです。
僕らは、この世界で生きてるって感じてますよね。
これは、この世界のルールとオブジェクトを理解してるってことです。
理解してるというか、そういう物だと信じて、疑ってません。
その僕らが信じ切ってる、この世界を作らないといけないんですよ。
オブジェクトとルールで完結した仮想世界です。
その実体は、メモリ内の単なるデータかもしれません。
でも、その仮想世界の住人は、そんなこと、夢にも思ってません。
シミュレーションで暮らす住人にバレない完璧な仮想世界。
そんな仮想世界を作る必要があるんです。
その仮想世界を信じ切って、その仮想世界の中で考え、悩むプログラム。
それが、意識なんです。
そして、僕らも、その仮想世界の中にいるんです。

その階層ができた時、初めて、人と自然な会話ができるようになるんです。
脳科学もAIも、その階層を目指すべきなんです。

はい、今回の動画が面白かったら、チャンネル登録、高評価お願いしますね。
それじゃぁ、次回も、おっ楽しみに!