ロボマインド・プロジェクト、第213弾!
こんにちは、ロボマインドの田方です。
人間の心と同じものをコンピュータで実現しようとしてるのが新マインド・エンジンです。
じゃぁ、それって、何の役に立つんでしょう?
具体的に言えば、人間と普通に会話できるAIを作れます。
会話できるAIなんて、iPhoneのSiriとか、スマートスピーカーとか、今でもあります。
でも、できることと言えば、「天気予報教えて」とか、「音楽かけて」とかって単純な命令だけです。
「今日、こんなことがあったんよ」って話しかけても、会話が続かないんです。
人が話す言葉をコンピュータで扱う技術のことを自然言語処理っていいます。
今の自然言語処理の技術じゃ、普通の会話って、できないんです。
なぜ、できないかって言うと、一言でいえば。心がないからです。
それで、僕は、マインド・エンジンで心を作ろうとしてるわけです。
さて、もし、普通に会話ができるAIができたら、どこで、一番使われることになるでしょう?
今なら、やっぱり、メタバースですよね。
メタバースって知ってます?
最近、facebookが社名をMetaって変えて話題になりましたけど、このMetaってのが、メタバースのことです。
メタバースってのは、コンピュータ内に作られたヴァーチャルな世界のことです。
ユーザーは、自分のアバターで、メタバース内で暮らすんです。
アバターっていうのは、ユーザーが操作する3Dキャラクターのことです。
ユーザーは、VRゴーグルをつけて、メタバース内を自由に動き回るんです。
VRなんで、もう、完全にその世界に没入できるんで、現実と同じように生活できます。
メタバースには、お店とか、カフェとか、会社まであって、遊びから仕事まで、全て、そこで完結するんですよ。
5年後には、人々は、リアルよりメタバースで暮らす時間の方が長くなるだろうって言われてます。
いやぁ、スゴイ時代になりますよねぇ。
さて、人々がメタバースで暮らすようになると、メタバースのカフェとかお店で働く人も必要になってきますけど、そこはAIの3Dキャラクターにやってほしいですよね。
でも、さっきも言いましたけど、今のAIじゃ、まともな会話ができないんですよ。
そこで、マインド・エンジンが必要になるってわけです。
たぶん、メタバース内でマインド・エンジンが学習していくと、AIなのか、人間のアバターなのか、区別がつかなくなりますよ。
いや、AIは、相手が言ってほしいことだけ言うとかって最適化できるんで、人間よりAIと会話したほうが楽しいってなってきますよ。
ついに、AIが人間を超えるんです。
はい、これが、今回のテーマです。
マインド・エンジンは、メタバースで神になり得るか?
それでは、始めましょう!
まずは、心について、おさらいしておきます。
心があるって、どういうことか、わかりますか?
このことについては、第211回「なぜ、神は、人間に自我を持たせたのか?」で考えました。
要は、あれこれ考えたり、悩んだりできる仕組み、それが心ってことです。
じゃぁ、「考える」の反対ってなんでしょう?
「考えない」ですよね。
考えずに行動するのが、心がないってことです。
入力に対して、決まった反応しかしない生物とかです。
動く虫に反応して捕まえるカエルとかです。
考えるためには、反応でなく、周りの状況を認識する必要があります。
つまり、世界を認識するってことです。
世界を認識できるから、こうしたらどうだろう、ああしたらどうだろうって考えることができるんです。
ここ、もう少し掘り下げて考えてみますよ。
世界を認識するときに使うのが仮想世界です。
仮想世界っていうのは、頭の中に作り出した世界です。
目で見た現実世界を、頭の中で仮想世界として構築するわけです。
意識は、この仮想世界を介して、現実世界を認識します。
このことを、意識の仮想世界仮説っていいます。
詳しくは、この本に書いてます。
説明欄にリンクを貼ってますので、よかったら読んでください。
さて、仮想世界は現実を把握するためだけじゃなく、あれこれ考えるときにも使います。
あれこれ考えるってことは、考えてる仮想世界が、ああなったり、こうなったりした場合を想像できるってことです。
たとえば、大学受験するとしたら、受かる可能性と落ちる可能性があるわけですよね。
大学に合格した世界と、落ちた世界を考えれるわけです。
これができるのが、考えることができる心です。
さて、本題は、こっからです。
まず、考えるって、なんでもありってわけじゃないですよね。
大学受験なら、受かる場合と、落ちる場合って二つの可能性を考えますよね。
そして、次は、この二つの場合のそれぞれについて、考えるわけです。
大学に落ちたら、予備校に行こうとか、大学に受かったら、テニスサークルに入ろうとかって。
つまり、複数の可能な世界がある場合、一旦、どっちかの世界になったと仮定して、次の段階に進むわけです。
考えるってのは、この繰り返しです。
さて、こっからは、これを、コンピュータでどうやって実現するかについて、考えて行きます。
世界には、複数の可能性があるわけです。
それを実現できるのは、オブジェクト指向言語です。
第212回「量子力学で、文の意味を読み解け!」で、オブジェクト指向言語は、物事の複数の可能性を表現できるって話をしました。
リンゴの色なら、赤色と緑色の可能性があるってのを表現できるってことです。
これを実現するのが、りんごオブジェクトの色プロパティです。
これと同じように、受験生オブジェクトの大学受験プロパティには、合格と不合格を設定できるようになってるわけです。
さて、次です。
複数の可能性の中から、どれか一つに決まったとします。
たとえば、大学受験プロパティが合格になったとか。
そうなると、受験生オブジェクトは大学生オブジェクトに変わります。
晴れて、大学生になったわけです。
それに合わせて、世界も受験世界から大学世界に変わります。
新しい世界になると、自動的にその世界の要素が追加されます。
大学世界なら、学部とか、サークルとかです。
サークルには、テニスサークルとか、哲学サークルとか、いろんな可能性があるわけです。
ここでまた、複数の可能性から一つに絞ります。
たとえば、テニスサークルに決めたとしましょう。
そしたら、テニスサークルに入った世界が生成されます。
テニスサークルの世界には、かわいい女の子がいっぱいいます。
そしたら、彼は、「あぁ、哲学サークルに入らんで、ホンマ、よかったわぁ」って、思うわけです。
どうです?
人間が普通に考えるのと同じことが再現されましたよねぇ。
えっ、こんな風に考えるの、僕だけじゃないですよねぇ。
まっ、どう考えるかは人それぞれなんで、それは置いときましょ。
それより、ここで、注意してほしいのは、これは、言葉で表現してないってとこです。
あくまでも、仮想世界を中心に再現してるんです。
じゃぁ、言葉とは、何なんでしょう?
それは、仮想世界を文字で表現したものです。
仮想世界を文字って記号に置き換えたのが言葉です。
言葉は、仮想世界を、忠実に表現できます。
だから、僕らは言葉を使って考えるんです。
自分の考えを相手に伝えるも、言葉を使うんです。
それでは、ここらで、実際のマインド・エンジンを見ながら、解説していきましょう。
まず入力するのはこの文です。
「コンビニがある」です。
まず、これを、無意識で中間言語に変換します。
これが、中間言語です。
まぁ、これだけ見ても、何のことか、さっぱりわからないと思いますんで、ポイントを絞って解説しますよ。
じつは、ここでやってるのって、実質、従来の自然言語処理とほぼ同じなんです。
つまり、形態素解析と構文解析です。
形態素解析っていうのは、文を単語にばらすことです。
たとえば、「コンビニがある」なら、
「コンビニ/が/ある」ってばらします。
次の、構文解析っていうのは、係り受け解析とも言って、どの単語がどの単語に係っているかって解析をします。
ここだと、「コンビニ」に「ある」が係りますよね。
実はねぇ、自然言語処理でやってるのは、ここまでなんですよ。
順番から行くと、この次は、意味解析をすることになります。
でも、意味解析って、どうやっていいのかわからないまま、自然言語処理は、何十年も停滞してるんですよ。
まぁ、それほど、意味解析って、難しいってことです。
それじゃぁ、次は、自然言語処理になくて、マインド・エンジンにあるものです。
まずは、ここです。
「@domain ‘Ownership’」です。
これは、何を意味するかというと、「所有権世界」のことです。
マインド・エンジンの一番の特徴は、仮想世界だっていいましたよね。
だから、まず決めないといけないのは、どの仮想世界かってことです。
仮想世界には、3次元世界とか、所有権世界とか、いろんな世界があります。
ここでは、所有権世界に決めたわけです。
所有権世界っていうのは、誰が何を所有してるとかを定義できる世界のことです。
じゃぁ、どこで、所有権世界って判断したんでしょう?
それは「コンビニ」って単語です。
マインド・エンジンは、単語がどの世界に属するかって辞書を持っています。
その辞書をつかって、コンビニって単語が出てきたら、所有権世界って判断したわけです。
こんな風にして、中間言語に変換したものが意識に送られます。
そして、意識で、オブジェクト指向プログラムに変換されます。
これが、変換されたプログラムです。
@domain “Ownership”
Let a = new Store(“コンビニ”);
最初の「@domain “Ownership”」は、所有権世界を生成するってことです。
次の「Let a = new Store(“コンビニ”);」は、コンビニってオブジェクトを生成して、それをaって変数に入れるってことです。
プログラムを書いたことのない人がみたら、「なんか、急に難しくなってきたなぁ」って思うかもしれないですけど、ここは、わからなくても問題ないですよ。
本質じゃないんで、そんなものかって思うだけで結構です。
重要なのは、この後です。
プログラムの実行です。
プログラムの実行って、何をするか、わかりますか?
それは、仮想世界を作って、操作することです。
具体的に言うと、メモリ上にオブジェクトを生成したってことです。
はい、これが、できた仮想世界です。
まず、「所有権世界」ってなってますよね。
所有権世界が生成されたってことです。
それから、「コンビニがある」って文なので、コンビニができてますよね。
コンビニオブジェクトを生成して、所有権世界に設定したってことです。
さて、オブジェクトができたら、何ができるでしょう。
オブジェクトのプロパティやメソッドを操作できるようになります。
コンビニオブジェクトなら、コーラを買うってメソッドを実行できます。
買うメソッドを実行すると、コーラの所有権がコンビニから買った人に移動するわけです。
こうやって、仮想世界を操作できること、これこそが、考えるってことです。
意味を理解してるってことです。
まとめます。
仮想世界とは、現実にあるものを、コンピュータ内に忠実に再現したモデルです。
だから、コンビニオブジェクトなら、売ったり買ったりできます。
受験生オブジェクトなら、合格したり、落ちたりします。
そんな風に、現実世界と同じ動きが、仮想世界なら再現できるんです。
そんなダイナミックな動きが再現できるのは、オブジェクトだからです。
もっと言えば、プログラムだからです。
こんなこと、文字を並べただけの言葉じゃ、できないですよね。
これが、従来の自然言語処理とマインド・エンジンの一番の違いなんです。
じゃぁ、自然言語処理が、なぜ、意味理解ができなかったのか。
それは、いつまでも言葉にこだわってたからです。
いいですか。
言葉は、本質じゃないんですよ。
本質は、ダイナミックに動く世界です。
その、ほんの一面を、記号で表現したのが言葉です。
たとえて言えば、本質に光を当てたとき現れた影が言葉です。
そんな、影を一生懸命再現するより、こっちの本質を再現すべきなんです。
そして、その本質を再現したのが、仮想世界ってわけです。
マインド・エンジンは、仮想世界を使って、本質を再現したんです。
これによって、不可能と言われていた文の意味理解に成功したわけです。
さて、ここまでで、ようやく、「コンビニがある」って文の解説が終わりました。でも、文は、まだ続きます。
残りは、次回、説明したいと思います。
はい、この動画が面白かったら、チャンネル登録、高評価、お願いしますね。
それじゃぁ、次回も、おっ楽しみに!