ロボマインド・プロジェクト、第147弾!
こんにちは、ロボマインドの田方です。
今回は、実際に動くロボマインド・プロジェクト、マインド・エンジンの第5弾のデモをお見せします。
今回のデモの目的は、今までの人工知能との違いを明確にするためのものです。
AI、人工知能って人間のような知能を目指してますよね。
将棋しかできないとかじゃなくて、人間のように、何でもできる知能を目指してます。
でも、それがいつまで経っても実現しないのは、なぜでしょう?
それは、AIの思考方法が人間とは違うからです。
コンピュータに都合のいい考え方から抜けれないからです。
じゃぁ、人間はどういう風に考えるでしょう?
人が頭で思い描いた内容を表現したのが言葉です。
言葉を聞いて、相手と同じものを、自分の頭でも思い描けたら、これが、言葉を理解したってことになりますよね。
この言葉の理解を、今までのAIとマインド・エンジンでどう違うのか。
今回のデモは、それを見せることです。
これを見れば、今までのAIは、どこを間違っていたか、一目瞭然に分かります。
それでは、さっそく始めましょう!
はい、これがマインド・エンジン本体です。
実際に文を読んで、意味を理解するところです。
心とか意識に当たるところです。
ここでは、りんだちゃんって女の子の心になってます。
こっちが3次元世界です。
文を読んで、頭の中でイメージするときに使うものです。
会話って、相手の言葉を聞いて、頭で理解して、何か答えますよね。
理解するっていうのは、頭でイメージして、問題ないとか、問題あるとか判断することです。
問題あるっていうのは、上手くイメージできないとか、理屈としておかしいとかってことです。
問題なければ、次は、理解した内容から、返答を考える段階になります。
これが会話です。
今回のデモは、会話でいうときの、前半の意味理解の部分になります。
それでは、文を入力します。
「部屋がある」です。
ドン
はい、3次元世界に部屋が出来ましたね。
これが、頭で部屋をイメージしてるってわけです。
3次元世界は、3Dのゲームエンジンのunityで作ってあって、コマンドを受け取ると、その通りに動作します。
入力文の「部屋がある」は、このコマンド文に変換されて、3次元世界に送られます。
受け取った3次元世界は、コマンド文を解釈して、書いてある内容を実行します。
ここだと、3Dで部屋を生成するわけです。
そして、その結果として、部屋の中心位置をマインド・エンジン本体に返します。
それを受け取って、問題なく部屋がイメージできたので、この「りんだの思考」には「問題ありません」って出ます。
問題が出る場合って、たとえば、「部屋」って単語を知らない場合です。
知らなければ、3次元世界に部屋を作れないですよね。
つまり、上手くイメージできないってことです。
これが、相手の言葉を理解できない場合ってことです。
続けますよ。
次は、「机がある」です。
ドン。
はい、3次元世界に机が出現しましたよね。
これも問題ありません。
次は、「コーヒーカップが机の右端にある」です。
ドン。
これも問題ないですね。
次は、「コーヒーカップが落ちる」です。
ドン。
はい、コーヒーカップが落ちて割れましたね。
これは、コーヒーカップが床に落ちたら割れるだろうって想像したわけです。
今回のデモは、会話の前半の意味理解の段階なので、ここまでです。
コーヒーカップが割れたら、何か、感情が発生しますよね。
「あ~、びっくりした」とか。
「もったいない」とか。
これも重要なんですけど、これは会話の後半段階の話なので、今回は扱わないです。
今回は、上手くイメージできたら「問題ない」として終わります。
それじゃぁ、問題がある場合について、考えてみましょう。
たとえば、こんな場合です。
「コーヒーカップが机から天井に落ちる」です。
ドン。
はい、「物は上に落ちません」ってなりましたよね。
これ、どういうことかわかりますか?
これは、マインド・エンジンが、落ちるって意味を理解してることです。
落ちるって、重力に引っ張られることなので、下にしか落ちないですよね。
3次元世界は、3Dの物理シミュレーターで作ってるので、重力も再現されてます。
だから、落ちるの意味を理解してるんです。
それじゃぁ、こんなのはどうでしょう?
そもそも、コーヒーカップがない場合です。
「コーヒーカップが机から落ちる」です。
ドン。
はい、「コーヒーカップがありません」ってなりましたね。
文を読んで、その様子を頭の中で組み立てますよね。
頭で組み立てた世界に、コーヒーカップがないと、コーヒーカップが落ちるとこを想像できません。
ないからイメージできてないわけです。
これ、人間が頭の中で考えてることと同じですよね。
人間と同じように考えれるのが、マインド・エンジンってわけです。
何、当たり前のこと、やってるのって思いますよね。
それが、、これ、全然、当たり前やないんですよ。
そう思うのは、あなたが人間やからです。
じゃぁ、コンピュータならどう考えるかわかります?
この手の推論は、1980年代、いわゆる第二次AIブームの頃に盛んにやってました。
ルールベースのAIってやつです。
使われるのは、論理プログラミング言語です。
たとえば、論理プログラミングだと、こんな風に書きます。
(ホワイトボード)
上(机、床)
上(カップ、机)
これは、「床の上に机があります」
「机の上にカップがあります」
って意味です。
こうやって事実を設定します。
落ちるは、こんな風に定義できます。
(ホワイトボード)
落ちる(X、Y):-上(X、Y)
XがYの上にあるなら、XはYに落ちるって意味です。
次は、質問してみます。
(ホワイトボード)
?-落ちる(カップ、床)
これは、カップは床に落ちるか?って質問です。
質問すると、条件を組み合わせて考えます。
床の上に机がある。
机の上にカップがある。
つまり、カップは床の上にある。
だから、カップは床に落ちる。
答えはYesってなります。
どうでしょう?
これが論理プログラミングです。
なんか、ちょっと、不自然な感じがしますよね。
普通、人間なら、こんな風に考えないですよね。
これが、コンピュータ中心の考え方です。
もっと言えば、論理学です。
論理学って、古代哲学から始まって、19世紀後半に数学と合流して現代の論理学となりました。
ブール代数なんかも、現代の論理学です。
ANDとかORとかです。
これを電子回路で作ったのが論理回路です。
だから、コンピュータと論理学とは相性がいいんです。
人工知能を作るのに、論理学で推論しようって思うのは、自然といえば自然な発想です。
でも、どこかおかしいですよね。
どこがおかしいんでしょう。
たとえば、「机の上にカップがある」って論理式でカップと机の関係を設定しましたよね。
これは上下関係です。
でも、上とか下とかって、このシステムは理解してます?
上とか下とかって、重力があって、初めて決まるものですよね。
でも、論理式は、重力なんか感じてないです。
上とか下の意味なんか、わかってないんです。
意味も分からず、上とか下とか書いても、それって、ただの記号にしかなってないです。
〇でも△でもなんでもいいわけです。
論理プログラミングは、ここがおかしいんですよ。
もっと言えば、世界の理解の仕方がまちがってるんですよ。
僕らは、この3次元の世界の中で生きていますよね。
この3次元世界の中で動いたり、食べたり、寝たりしています。
それが、僕らが認識する世界です。
その世界で考えたり、推論するわけです。
上とか、下とかって関係とか、落ちるって動きは、重力のある3次元世界が持ってるわけです。
でも、論理学の世界が持ってるのは、ANDとかORだけです。
そんなもので、上とか下とか、落ちるとかを定義しようとしてるんです。
そんなの無理に決まってますよね。
でも、なんで、そんなムチャなこと、したんでしょう?
それは、ただ単に、コンピュータで扱いやすいからです。
それだけの理由です。
人は、頭で考えて、それを言葉にします。
会話が成り立つってことは、相手のいったことを理解したってことです。
相手の言ったことを理解するってのは、相手の頭の中にあるものを、自分の頭で再現するってことです。
じゃぁ、なんで、相手の頭の中にあるものを、自分の頭に再現できるんでしょう?
それは、同じ世界を共有してるからです。
重力があって、物が落ちる世界です。
脳って、どんな環境にも対応できるようになってます。
将来、宇宙船とか、重力がない世界で生まれ育った子供は、おそらく、上とか下って概念を理解できないと思います。
コーヒーカップの形も、たぶん全然違うと思います。
でも、そんな環境でも、脳は対応できるようになっています。
難しい言葉でいうと、脳の可塑性です。
脳には、100億以上のニューロンがあります。
一つ一つのニューロンは、論理スイッチとして機能します。
多数の論理スイッチが集まって、外と同じ世界を再現してるんです。
その世界を認識するのが意識です。
意識が認識するのは、ニューロンの一つ一つじゃないんです。
ニューロンが集まってできたまとまりです。
そのまとまりが、机だったりコーヒーカップです。
コーヒーカップが落ちたら割れるとかって情報が含まれたまとまりです。
意識が認識するのは、脳の中につくった世界です。
だから、頭の中に世界をつくるのが先決なんです。
ニューロンが論理スイッチだからといって、論理プログラミングで推論するってのは、単純に考えすぎなんです。
でも、論理プログラミングで推論するってのは、第二次AIブームでやってたことです。
今は、第三次AIブームです。
第三次AIブームの主流は機械学習です。
ディープラーニングです。
中身は、ニューラルネットワークです。
脳のニューロンを模したシステムです。
ニューラルネットワークなら、論理プログラミングの問題を解決してるんじゃないでしょうか?
その事については、次回、検討していこうと思います。
このチャンネルが面白いと思った方は、チャンネル登録、高評価お願いしますね。
それから、このチャンネルが本になりました。説明欄にリンクを張っておくので、良かったら読んでください。
それでは、次回も、お楽しみに!
段階があるんですよ。