第172回 意味が分かるって、こういうことだったのか!


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

実際に動くロボマインド・プロジェクト、マインド・エンジン。
今回は、第11弾のデモです。
じつは、前回、デモをお見せしようと思ってたんですよ。
その説明を書いてたら長くなって、結局、一本の動画にしました。
そのぐらい、前もって説明しないと、今回のマインド・エンジン、何をやろうとしてるのか分からないんですよ。

前回の話、ものすごく重要なんで、もう一回、おさらいしますよ。
最終目標は、人間と同じように世界を認識できるAIです。
人間と同じように認識するAIって、何が必要なんでしょう。

たとえば、世界に対して動こうと思ったとします。
思うのは自分です。
つまり、意識です。
まず最初に、世界に対して動こうと思う意識が必要です。

そして動くのは、手や足です。
自分の体です。
手が動いたら、手を自由に動かせるって分かります。
じゃぁ、分かるってどういう事でしょう?

改めて考えると、ちょっと分からなくなりますよね。
分かるってのは、おそらく、こうなるだろうって予測できることだと思うんです。

手を上に上げたいと思ったら手が上に上がります。
想像したら、実際にその通りに動く。
このことを指して、手が動くって分かったって定義しましょう。

上下左右、自由に手を動かせるって理解できるってことは、上下左右自由に手を動かすイメージができるってことって言えそうです。
これをコンピュータで実現するとしたら、3DCGでできますよね。
CGで3次元空間を作って、その中に3Dオブジェクトの手を配置して、上下左右に自由に動かすわけです。

手を動かして、ここまで動かすと壁にぶつかります。
手が壁に当たると、それ以上動きません。
壁って物体があるわけです。
それじゃぁ、次は、物体を定義しましょう。
物体の定義として、仮に、手が当たるものとして定義しておきます。

これを、コンピュータで再現してみます。
3次元空間に物体オブジェクトを配置します。
そして、手が物体オブジェクトに当たると、それ以上手が動かないようにプログラムでオブジェクトを制御します。
そうすれば、手を使って、物体の意味を定義できます。
物体は、手が当たる何かです。

手に当たるってことは、手のひらで感じることです。
感じるってのは、手のひらの感覚、触覚で感じたわけです。
手にある触覚で、物体を理解したわけです。
それと同時に目でも見ます。
目で見て、ここに何かあると分かって、触ってみます。
壁の硬さ、温度、肌触りを感じます。
これらを3Dオブジェクトとともに記録します。
すると、目で見ただけで、ここに壁がある。
触った感じ、硬さや肌触りはどんなだって理解できるわけです。
それを予測できることが、壁を理解したことになるわけです。

赤ちゃんは、何でも触りたがります。
それは、まだ、世界のデータが不足してるからです。
何度も触って、壁とはどういうものかって分かったら、もう触る必要はありません。
見ただけで分かります。
成長すると、だんだん、触らなくなるわけです。

人は、こうやって世界を理解するわけです。
この赤ちゃんがやってることと、同じことをコンピュータプログラムで実現すれば、人間と同じ心、主観が生まれるはずです。
これが人間と同じように世界を理解するAIです。

ここで、今までの話をまとめますよ。
僕らは体を持ってます。
体は意識で動かせます。
それから、体は五感を持ってます。
五感で感じたものを基に、主観世界を組み立てます。

この五感が、最も根源的な意味になると思うんです。
これ以上、分解できない、プリミティブな感覚です。
主観世界は、五感で作られてるはずです。

これは、言葉もおんなじだと思うんです。
言葉の意味は、主観世界の材料で定義すべきなんです。

ようやく準備が整いました。
これで、今から紹介するマインド・エンジンの説明ができます。
今からお見せするデモで、いくつかの動詞の定義をします。
動詞を、主観世界の材料で定義します。
今回は、動詞を皮膚感覚で表現します。

皮膚には、たくさんの触覚がありますよね。
体の表面に触覚センサーが張り巡らされてるってイメージです。
その触覚センサーの反応パターンで、体に触れたものを感じるわけです。
まずは、一番シンプルなものから考えます。
触覚を使った一番簡単な言葉として「当てる」を考えてみます。
さっそく、マインド・エンジンで「当てる」を表現してみましょう。

はい、これがマインド・エンジンです。
動詞を「当てる」にして実行します。
ドン

はい、ブロックとボールが出てきて、ボールが転がって、ブロックに当たりましたよね。
ブロックとかボールの形にはあまり意味はありません。
一番シンプルな形で定義しようとして、ブロックとボールにしただけです。

このブロック、表面に白黒のタイルがいっぱい張り付いてますよね。
じつは、これ、全部、接触センサーなんです。
一つ一つが、物がどのくらいの力で触れたかを検知するセンサーです。
そして、触れた大きさによって色が変わるようになってます。
もう一回、「当てる」を実行してみますよ。
ドン

はい、当たった時、当たったとこの色が変わりましたよね。
当たった時のセンサーの処理した結果は、こちらに返されます。
当たった時は、前向きのエネルギーが五段階で1となってます。
ボールが進む方向が前です。

今度は、ぶつけるです。
ドン

はい、ボールが勢いよく、壁にぶつかりましたよね。
この場合、前向きのエネルギーが3ってなりました。
こうやって、「当たる」と「ぶつける」の動詞の違いを皮膚感覚のパターンとして覚えるわけです。
これが、壁に軽くボールを当てる場合と、強くぶつける場合の意味の違いを、皮膚感覚で理解できるわけです。

でも、実際の壁には、触覚センサーなんか、張り付いてないですよね。
そうじゃなくて、主観世界では、五感を拡張して意味を理解するわけです。

ミラーニューロンって聞いたことありますか?
第145回「誰も分ってない!ミラーニューロンの本当の意味」で、ミラーニューロンの話をしました。
ミラーニューロンってのは、たとえば、他人が物を掴んでるのを見た時、自分が物を掴むときに反応するニューロンです。
人は、自分が経験してなくても、他人をみて、あたかも、自分が感じてるように感じることができる機能があるんです。
その機能を使って、世界を理解するわけです。
だから、ぶつかるって言葉は、自分にぶつかった場合でなくても、ぶつかるって感覚で意味を理解するんです。
「トラックが壁にぶつかった」って聞いたら、「うわぁ、大丈夫」って思いますよね。
トラックがぶつかったって聞いたとき、大きな衝撃を想像したはずです。
これが、ぶつかるの意味を、皮膚感覚で理解してるってことです。
言葉の意味が、主観世界に着地して理解できてるってことです。
シンボルグラウンディング問題が生じてないんです。

別の例を見てみましょう。
次は、「こする」です。
ドン

はい、これがこするです。
こするは、ボールをブロックの表面に強く押し付けながら左右に移動させることです。
こすられたところに力がかかったので、色が変わりましたよね。

次は、「なでる」です。
ドン

「なでる」は、そっと押し当てて左右に動かします。
だから、ブロックに当たる力の大きさが「こする」より小さくなってます。

こうやって、「こする」とか「なでる」って言葉を、皮膚感覚で定義できるんです。
五感が、最も根本的な意味ってことです。
後は、この言葉をつかって、他の言葉を定義してみます。
たとえば、「お皿を洗う」の「洗う」を定義してみましょう。
「洗う」は、水を流しながら洗剤を使って、お皿をタワシでこするって定義できそうです。
ここに「こする」って言葉が出てきます。
さっきのマインド・エンジンで言えば、ブロックがお皿で、ボールがタワシになるわけです。
お皿に力を加えながらスポンジを左右に動かすわけです。
物と物が力を加えてこすられると、表面が削られますよね。
お皿の表面の汚れは、削られて、水で流されますよね。
これが洗うの定義です。
こうやって、いろんな言葉を定義できそうです。
これが、ロボマインド・プロジェクトがやろうとしてることです。

どうでしょう?
今までの自然言語処理とは全く違うってことがわかりますよね。
この方法なら、言葉の意味が、主観世界に着地します。
シンボルグラウンディング問題が発生しないわけです。
自然言語処理だけじゃなくて、言語学や哲学など含めて、今まで、誰もやってこなかった方法です。
初めて、言葉の意味を定義できたと言ってもいいです。

なんで、今まで、できなかったことが、出来るようになったか分かりますか?
それは、コンピュータがあるからです。
コンピュータだから、こんな風に、皮膚感覚を表現できるんです。
主観が感じる複雑さは、数式とか文章じゃ表現できないんですよ。
コンピュータのおかげで、ようやく、主観世界を表現できるようになりました。
それに取り組んでるのが、ロボマインド・プロジェクトってわけです。

今回の動画が面白ければ、チャンネル登録、高評価お願いしますね。
それから、このチャンネルが本になりました。
説明欄にリンクを張ってますので、良かったら読んでください。
それでは、次回も、お楽しみに!