ロボマインド・プロジェクト、第82弾!
こんにちは、ロボマインドの田方です。
この研究、初めて、かれこれ20年になります。
第79回「好きなことだけして生きて行く」でも語ってますけど、僕がやりたいのは、物語の自動生成なんです。
そのために、言葉の意味理解が絶対必要なんですけど、コンピュータで言葉の意味を理解することはできないってわかって、がっかりしたんですよ。
それで、誰もやってないんやったら、自分で考えるしかないなぁってなったわけです。
それが、意識の仮想世界仮説ってわけです。
詳しくは、第21回「意識の仮想世界仮説」を見ておいてください。
それで、僕が一番知りたいのは、自分の考えが正しいのか、間違ってるのかなんですよ。
専門家に聞いても、納得のいく答えが得られたことがなくて、それで、ブログとかYouTubeで公開してるわけです。
そしたら、そしたら、ときどき、反対意見を言ってくれる人がいるんですよ。
僕は、嬉しくなって、つい、どこが間違ってるか、詳しく教えてくださいって言うんですけど、今まで、だれも、ちゃんと回答してくれた人がいないんですよ。
ほんでね、ある時、Twitterで、「意味理解」を誤解してるって指摘されたことがあったんですよ。
指摘してるのは、「h_tee初級プログラマー」って人です。
プロフィールを見ると、ある会社のCTOをやってるようで、技術のことはよくわかってるようでした。
そこで、すかさず僕は、
「もしよろしければ、意味理解のどこを誤解してるか教えていただけないでしょうか?」って質問したんですよ。
そしたら、全く、回答がないんですよ。
何で回答がないんやろ?って考えたんですけど、なんとなく、理由がわかりました。
たぶん、質問に答えても、なんのメリットもないからやと思います。
回答するのに、それなりに時間もかかりますしね。
そこで、そうや、お金を出すって言えば、答えてくれるやろって思って、
「100万円差し上げますよ」って返事したんですよ。
そしたら、どうなったと思います?
それがね、びっくりするような回答があったんですよ。
どんな回答があったかは、最後にお見せしますね。
それでは、前回の続きです。
言葉の意味って、科学では扱えないって話でした。
言葉の意味を理解するのは、主観だからです。
科学が扱えるのは客観的な情報だけです。
それじゃぁ、科学以外で、言葉の意味をあつかってるのになにがあるかっていうと、哲学があります。
そこで、哲学では、どんな風に言葉を定義してるか見てみることにします。
一番簡単な言葉「ある」を考えてみます。
何かが、存在するってことです。
たとえば、ドイツの哲学者「ハイデガー」は、「存在と時間」で存在について語ってます。
ハイデガーは言います。
何かが存在するとは、それは、「問われてる」ということだそうです。
それには、問いかける人、存在者がいるということになるそうです。
「ある」って言葉を定義するだけなのに、哲学者が語ると、なんか、ややこしい話になってきますよね。
これには、理由があります。
哲学者って、人間の生きる目的とか、なんか、そんなことを説明するのが仕事なんです。
ハイデガーのいう存在者も、この後、現存在とか、実存とかって難しい話になって行くんです。
そうして、最終的には、人間とは何かとか、そういった話になるわけです。
「物がある」とはどういう意味かって、そんなこと、純粋に考えようなんて、はじめっから思ってないわけです。
そんなこと、説明するまでもなく、誰でも知ってますしね。
でも、僕が知りたいのは、その、誰でも当たり前に分かってる「物がある」の意味なんです。
人間なら、当たり前に分かることを、コンピュータに教える必要があるんです。
問題は、ここなんですよ。
相手はコンピュータです。
心も何もない、まっさらな状態です。
そんな物に、言葉の意味を教えるって、人類が今まで経験したことがないわけです。
それでは、僕がやったやり方を説明します。
第70回「ついに完成!世界初!言葉の意味を理解するAI」で取り上げたんですけど、もう少し丁寧に解説していきたいと思います。
僕がやろうとしてるのは、当たり前に会話できるAIです。
まずは、子供でも理解できる言葉を理解させたいと思ってます。
想定してるのは、小学1年とか2年生ぐらいの子供です。
人は、何のために生きてるのかとか、難しい政治の話とか、そんな抽象的な話は、後回しにします。
具体的で、間違いようのない、簡単な言葉の意味から定義していきます。
それでは、始めます。
まずは、「ある」です。
「存在する」です。
ハイデガーみたいに、現存在とか、難しいことは考えません。
小学1年生の子供が、頭の中で思い浮かべることを考えるわけです。
机がありますとか、椅子がありますとかってことを、コンピュータに理解させるわけです。
生まれたばかりの赤ちゃんが、〇〇がありますって言葉の意味を理解するまで、何を学んだかってことから考えるわけです。
このことは第68回~73回の「赤ちゃんが獲得したもの」シリーズ①~⑤で説明しましたけど、まず、手で触って、この世界を認識するわけです。
ハイハイしながら、床とか地面があるってこと。
物を触って、物には、硬いものとか、柔らかい物があるってこと。
そんなことを経験から学ぶわけです。
これが3次元世界です。
空間的な広がりがあって、重力がある物理世界です。
その世界を、頭の中に創り上げるわけです。
頭の中に3次元物理世界を創り上げたから、物は下に落ちるって理解できるわけです。
そして、この3次元物理世界に、物が存在するわけです。
だから、「ある」って言葉の意味をコンピュータに理解させるには、先に、3次元物理世界をコンピュータの中に創り上げる必要があるんです。
つまり、3DCGで物理世界を創る必要があるわけです。
そして、その世界に物が「ある」ってことは、3次元オブジェクトとして生成するってことです。
これが「ある」の意味となります。
人間の頭の中に創り上げた世界と同じ動きをするなら、それは、人間と同じように理解したことになるわけです。
それが、このマインドエンジンの世界です。(デモ開始)
「太郎が立ってる」っていうのは、太郎が世界に存在するわけです。
重力があるから、地面に立つわけです。
次は、見えるです。
「見える」というのは、その人の目に何が見えるかです。
太郎の見てる光景は、左下に写ってます。
この場合だと、太郎には、次郎と地面と壁が見えるわけです。
これが「見える」って言葉の意味です。
次は、「隠れる」です。
隠れるとは、相手から見えない位置に移動することです。
では、次郎を太郎から隠れさせてみましょう。
はい、次郎が壁の後ろに隠れましたよね。
太郎の見える光景から次郎がいなくなりました。
「隠れる」の意味を理解してるといえます。
これが実現できるのも、物理世界を、3DCGでシミュレーションしてるからです。
物理世界では、光は直進します。
光は、不透明な物体を透過しません。
だから、次郎は、壁の裏に移動すれば太郎から見えなくなるわけです。
もし、光が曲がれば、壁の裏に移動しても、太郎から見えてしまいます。
それじゃぁ、隠れたことになりません。
光が直進すること、光は、不透明な物体を透過しないこと、こういった物理世界をシミュレーションできれば、「見える」とか「隠れる」といった言葉の意味を理解できるわけです。
こうやって、言葉を使ったコミュニケーションが可能となるわけです。
じゃぁ、逆に、「ある」とか「見える」、「隠れる」って言葉を、3DCGで使わずに理解することはできるでしょうか?
言葉を、言葉だけで理解することができるでしょうか?
出来ないですよね。
でも、これをやってるのが、今までの自然言語処理なんです。
自然言語処理で、意味理解ができなかった最大の原因は、ここにあるんです。
仮想世界を構築して、意味を理解する仕組みが、意識の仮想世界仮説です。
仮想世界っていうのが、頭の中に思い描く世界と同じわけです。
つまり、主観です。
そして、その主観を目に見える形で、外に表現したのが言葉です。
意識の仮想世界仮説を使えば、主観と言葉の変換ができるわけです。
言葉を使って、人間と普通に会話できるわけです。
もちろん、現段階では、理解できる単語が少ないですけど、仮想世界を創って、丁寧に意味を定義していけば、普通に会話できるAIができるようになります。
理解できる単語が増えれば、その都度、公開していきますので、興味がある人は、ぜひ、チャンネル登録してください。
おっと、忘れるとこでした。
冒頭の話の続きです。
Twitterで、僕が「意味理解を誤解してる」と指摘してきたh_tee初級プログラマーさん。
その彼に、どこが間違ってるか、反論できたら、100万円差し上げますって言ったらどうなったかって話です。
じつは、なぜか、その後、twitterをブロックされました。
そして、その後、何をつぶやいてるかみてみると、こう言ってました。
「会社はどうやら社員を抱えてるようだ。きっと家族もいるのだろう。いまさら引くに引けないということなのかもしれない・・・」
えーと、何を言ってるの、さっぱり、意味がわかりません。
h_tee初級プログラマーさん。
100万円、払うって言ってるのに、どうしてブロックするんですか?
それから、もひとつ。
僕には、家族なんか、いませんから!
それでは、次回も、お楽しみに!