ロボマインド・プロジェクト、第123弾!
こんにちは、ロボマインドの田方です。
お待たせしました。
今回は、マインドエンジンのデモです。
マインドエンジンは、ロボマインド・プロジェクトでリアルで開発してる心のプログラム、その物です。
今まで、2回デモをお見せしましたけど、今回は、その第三弾です。
第一弾は、第70回「ついに完成! 世界初! 言葉の意味を理解するAI」です。
第一弾のテーマは、言葉の意味を、どうやってコンピュータに理解させるかってことです。
コンピュータは言葉の意味理解ができないってのが、今までの常識だったんですけど、それを、完全に覆しました。
コンピュータが意味を理解するって、ようするに、人と同じように考えることができればいいんですよね。
そこで、人が頭の中で思い描いてるとおりにコンピュータで実行させたんです。
第一弾のデモでは、太郎と次郎がいて、「見える」とか、「隠れる」って意味を定義しました。
まず、頭の中で思い描いてる世界を実現するために、3Dのゲームエンジンを使ったんですよ。
次郎から「見える物」の意味は、次郎の目にカメラを取り付けて、そのカメラに写っているオブジェクトが見える物となるってことです。
つまり、「見える」の意味は、カメラに写る3Dオブジェクトを返すプログラムとなるわけなんですよ。
「太郎が次郎から隠れる」の意味は、太郎が、次郎から見えない位置に移動することです。
これは、カメラから見えいない位置に移動するプログラムになります。
こういったプログラムの部品が、「見える」とか「隠れる」って動詞の意味になるんですよ。
今まで、絶対不可能っていわれていたコンピュータによる言葉の意味理解が、こうやって実現できたんですよ。
ヤバいでしょ。
でも、これは、まだ、第一弾です。
重要なのは、その次です。
マインドエンジンの第二弾です。
第100回「待たせたな。これが、心のプログラムだ!」です。
来ましたねぇ。
心ですよ。
第一弾は、言うても、ただの言葉の意味理解です。
第二弾では、いよいよ「心」が登場します。
感情を発生したり、悩んだりする「心」です。
絵本を読んで、怖がったり、解決策を考える心を実現したのが第二弾です。
絵本の主人公は子ブタちゃんです。
そこに、オオカミが登場します。
それから、第二弾から、マインドエンジンが大きく変わりました。
マインドエンジンを実装してるキャラクターを設定したんですよ。
小学1年生のりんだちゃんっていいます。
だから、第二弾は、リンダちゃんが絵本を読むって設定になってるんです。
さて、考えるです。
オオカミが出てきて、子ブタちゃんはどうしたらいいかって、考えるわけです。
大岩の後ろに隠れようかな?
家の後ろに隠れようかな?
でも、見つかったらオオカミさんに食べられちゃう。
そうだ!
家の中に隠れよう!
家の中なら、オオカミさんも入ってこれないぞ!
りんだちゃんは、そう思うわけです。
ああしたらどうだろう、こうしたらどうだろうって考える心です。
考えるってのは、頭の中でいくつかシミュレーションして、その結果を比較するわけですよね。
つまり、心に必要なのは、シミュレーションしたり、その結果を比較する機能が必要ってことです。
この機能を実装したのが、第二弾ってわけです。
そして、今回が第三弾です。
第三弾のテーマは「心の理論」です。
第61回「自閉症は未来の人類か?!」で説明しましたけど、覚えてますか?
簡単な絵本を読んで、最後の問題に正確に答えれるで「心の理論」があるかどうかを判定します。
さっと、おさらいしときますね。
これはサリーです。
これはアンです。
サリーはカゴをもっています。
アンは箱を持っています。
サリーはビー玉を持っています。
サリーはビー玉を自分のカゴに入れました。
サリーは外に散歩に出かけました。
アンはサリーのビー玉をカゴから取り出すと、自分の箱に入れました。
サリーが帰ってきました。
サリーは、自分のビー玉で遊びたいと思いました。
サリーがビー玉を探すのは、どこでしょう?
難しくは、ないですよね。
サリーは、アンがビー玉を動かしたことを知りません。
だから、サリーがさがすのは、カゴです。
この問題、2歳ぐらいの子なら箱って答えるらしいんですよ。
つまり、実際に起ったことと、サリーが思ってることの区別がつかないんです。
それが、4歳ぐらいになると、カゴって正しく答えれるようになるんですよ。
2歳の子がもってなくて、4歳の子がもってるのが、「心の理論」ってわけです。
この、「心の理論」って言葉を初めて聞いたとき、めちゃくちゃ期待したんですよ。
これで、心の本質がわかるって。
でも、実際に中身を知ったら、「えっ、それだけのこと?」って拍子抜けしたんですよ。
でもね、今なら、分かるんですよ。
たしかに、これって、まさに、心の本質やなぁって。
なんというかね、これがあるから、複雑な人間社会が生まれたんですよ。
その根本的な仕組みが「心の理論」なんです。
どういうことかって言うと、たとえば、プレゼントを貰ったらありがとうって感謝するでしょ。
これって、相手が人だから感謝するんですよ。
くじ引きで、1000円当たったらラッキーと思いますけど、くじさん、ありがとうとはいわないですよね。
この違い、わかりますか?
プレゼントくれた人に感謝するのは、相手が喜ぶだろうと思ってプレゼントくれたからですよね。
つまり、相手の気持ちを想像したわけです。
感謝だけじゃないです。
困ってる人がいたら助けようとしたり、道端にゴミをすてたらアカンやろなぁって思う気持ち。
これ、善とか悪ですよね。
これも、相手が困ってるとか、道にゴミ捨てたら、みんな困るやろなぁって、相手の気持ちを想像するから起こるんです。
つまり、相手の立場に立って考えるってことができないと、複雑な人間社会は生まれないんです。
この、相手の立場に立って考えるって、その、基礎となる仕組みが「心の理論」なんです。
人間らしい心をつくるには、この「心の理論」が絶対必要なんですよ。
それじゃぁ、さっそく、「心の理論」を実装したマインド・エンジンを見て行きましょう。
まず、システムの全体像を説明しときますと、こっちが心の中身、マインド・エンジン本体です。
りんだちゃんの心ってことです。
こっちの3次元世界が、りんだちゃんが頭の中で描いてる光景です。
マインド・エンジン本体は、ここで年齢を設定できます。
ここから文が入力されると、それを解析して3次元世界に送ります。
最初の文は「サリーが立っている」という文です。
この文を実行するには、この三角形のボタンを押します。
じゃ、押しますね。
ドン
はい、サリーが登場しましたよね。
ここ、詳しく説明すると、動詞の「立っている」はコマンドの”Place”に変換されます。
コマンドっていうのは、3次元世界への命令です。
3次元世界は、ゲームエンジンで作られてて、いろんなプログラムが定義されてます。
そのプログラムを呼び出すのが、コマンドです。
自然言語の「立つ」って言葉をコマンドに変換して、マインド・エンジン本体と3次元世界が通信するわけです。
この場合だと、Placeコマンドを、目的語の「サリー」と一緒に3次元世界に送るわけです。
すると、3次元世界の部屋にサリーが登場しました。
この3次元世界が、リンダちゃんが頭の中で思い描いてる光景ってわけです。
3次元世界の実行結果は、マインド・エンジン本体に返されます。
それが、ここの、
対象:サリー
操作:配置
結果:サリーが(0.5,1.3)に立ってます
です。
(0.5,1.3)ていうのは、立ってる位置です。
ここまでの話は、第一弾で説明した言葉の意味を理解するって話と同じですよね。
次は、「アンがサリーに右側にたっている」です。
ドン
はい、アンが登場しました。
次は、「バスケットがサリーの前方に置かれている」です。
ドン
はい、バスケットが出てきましたね。
次は、箱です。
ドン
次は、ボールです。
ドン
サリーがボールを拾います。
この「拾う」も、コマンドとして用意されています。
ドン
はい、拾いましたね。
次は、ボールをバスケットに入れます。
ドン
はい、次は、サリーは部屋の外に出ますね。
ドン
次は、アンがボールをバスケットから拾います。
ドン
次は、アンがボールを箱にいれます。
ドン
元の位置に戻ります。
ドン
ここで、サリーが部屋の中に移動します。
ドン
さて、ここで、リンダちゃんに質問します。
リンダちゃんっていうのは、マインド・エンジン本体のことです。
質問は、「ボールはどこにあるか」です。
これは、事実を聞く質問です。
どこって質問は、3次元世界に関する質問なので、3次元世界に聞きます。
コマンドは”Where”です。
すると、3次元世界から、「ボールは箱にあります」って結果が帰ってきます。
質問と答えは、上の「リンダの思考」にも表示されます。
さて、問題はここからです。
今、リンダちゃんは2歳なので、心の理論を持っていません。
このリンダちゃんに、「サリーは、ボールを、どこにあると思うか」と質問します。
心の理論を持ってないので、サリーの立場に立って考えれません。
では、聞いてみます。
ドン
はい、さっきと一緒で、現在の3次元世界に、そのままコマンドを投げました。
だから、結果は同じです。
リンダの思考を見てみると、
「ボールは箱にあるとサリーは思っています」となりますよね。
それじゃぁ、ここでりんだちゃんの年齢を4歳にしましょう。
これで、「心の理論」が持てるようになりました。
それでは、同じ質問をしてみますよ。
「サリーは、ボールを、どこにあると思うか」
さぁ、どうなるでしょう?
行きますよ。
ドン
はい、ここで場面が変わりましたよね。
これ、どういうことかと言うと、「サリーはどう思うか?」って質問なので、たとえば、ここ、見てください。
「サリー視点になります」ってなってますよね。
つまり、サリー視点で、もう一回、今の話を再現しようとしてるんですよ。
実際に起ったことじゃなくて、サリーの視点で想像してるわけです。
これは、第二弾のシミュレーション機能を使うわけです。
想像って、見てわかるように、周りはもわもわっとさせてます。
まず、サリーが登場しますよね。
右下に見えてるのが、サリーが見てる光景です。
つまり、サリー視点です。
これ、第一弾で説明した「見える」と同じです。
ここからは早送りで再生しますね。
アンが出てきました。
バスケットが出てきました。
サリーの前にあるので、右下のサリー視点でもバスケットが見えていますよね。
次、箱が出てきました。
ボールがあります。
サリーがボールを拾って、バスケットの中に入れます。
ちゃんと、右下のサリー視点でもバスケットにボールを入れていますよね。
その後、サリーは部屋の外に出ます。
さて、こっからです。
次の文は、これ、「アンがボールをバスケットからひろう」です。
ドン
はい、結果を見てください。
赤字が帰ってきましたよね。
これは、エラーが返ってきたことを示しています。
どういうエラーかというと、「サリーからアンが見えません」となります。
つまり、実際はアンがボールをバスケットから拾ってるんですけど、それはサリーから見えないので、この文は、サリー視点の世界では実行されないんです。
サリーは、アンは部屋の中で何もしてないと思ってるんです。
次の「アンがボールを箱の中にいれる」も同じです。
エラーが返ってくるだけで、アンは何もしません。
はい、ここでサリーが部屋の戻ってきます。
ここで、元の質問に戻ります。
サリー視点で考えて、ボールはどこにあるかってことです。
つまり、サリー視点で再生した3次元世界に対して、「どこにボールがあるか」ってコマンドを投げるんです。
そしたら、「ボールはバスケットにあります」って返ってきましたよね。
だから、上の「答え(4歳)」には、「ボールはバスケットにあるとサリーは思っています」ってなるんです。
最後に、サリー視点を元に戻します。
ドン
はい、これで元の実際の世界に戻りました。
さて、どうでしょう?
ちゃんと、サリーの視点を理解できましたよね。
それを実現したのは、ここでは、サリーから見えるもので部屋の中を再現したからです。
これで、サリーが頭の中で思い描いてる世界を再現することができましたよね。
他人の頭の中を想像するって仕組みです。
この仕組みを持つことで、感謝とか怒り、善悪とかが理解できるんです。
このデモを何人かの人に見せると、こういう事を言う人がいるんですよ。
で、それで何が解明されたのって。
心の理論の何か、新しい知見が得られたのって。
そう言われて、最初、言ってる意味が分からなかったんですよ。
どうもね、研究してる人って、何かを解明するのが目的みたいなんですよ。
あぁ、そういう見方もあるのかって思ったんですけどね。
僕は、研究者というより、物作りをする人間なんで、目的はつくることなんですよ。
ドラえもんの心をつくるのが目的です。
でも、世の中には、解明することしか興味ない人がいるみたいなんですよねぇ。
皆さんは、どっちですか?
僕は、解明することより、実際に、ドラえもんみたいなロボットをつくることにワクワクするんですけどねぇ。
ドラえもんみたいなロボットを作って、おしゃべりしてみたいって思ってるなら、僕と同じです。
よかったら、チャンネル登録、高評価ボタンで、ロボマインド・プロジェクトを応援してください。
それから、キンドルで電子書籍も出したので、興味がある人は、そちらも読んでください。
説明欄にリンクを張っています。
それでは、次回も、お楽しみに!
第123回 【マインド・エンジン5】実装完了《心の理論》最も重要な心のパーツ 〜完成!最も重要な心のパーツ
