第144回 なぜ気づかない?アルゴリズムという幻想!


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

前回、第143回「なぜ人間には、フレーム問題が起らないのか?」でフレーム問題を紹介しました。
フレーム問題って、AI最大の難問とか言われるだけあって、ここには、AIの根本問題が隠されてるんですよ。
それがアルゴリズムです。
プログラム内蔵方式のノイマン型コンピュータが発明されて以来、コンピュータを動かしてるのは、アルゴリズムです。
でも、ノイマン型コンピュータが発明されて70年以上経ちます。
そろそろ、このアルゴリズムを疑ってみないといけないと思うんですよ。
アルゴリズムの何が問題か、それを理解するために、まずは、フレーム問題を簡単に説明しますね。

洞窟の中に、爆弾が載ったバッテリを取って来いって、AIロボットに命令するわけです。
1号機は、爆弾ごと持ってきて、爆発してしまいました。
問題は、爆弾の載ったバッテリをもってくると、爆弾も一緒についてくるって結果を予測してなかったことです。
つまり、何をすれば、どうなるって原因結果を理解してなかったからです。
そこで、原因結果のルールを学習した2号機で、再び、挑みます。

2号機は、バッテリを移動すると、上に載ったバッテリも移動すると理解して、爆弾をのけようと考えます。
つぎに、爆弾をのけたら、他にも影響がないかを調べます。
もしかしたら、爆弾の上の天井が崩れてくるかもしれません。
壁の色がかわるかもしれません。
そんなことを延々と調べてるうちに爆弾が爆発してしまいました。

どうやら、2号機は、関係がないものまで調べようとしてたみたいです。
そこで、さらに改良した3号機は関係ないものを除外する機能を付けました。
洞窟の前で、天井は関係ない、壁の色は関係ないって調べていると、洞窟に入る前にフリーズしてしまいました。
これがフレーム問題です。

このロボット、ちょっと不自然ですよねぇ。
普通、そんな考え方しないですよねぇ。
でもね、それは、人間やからそう思うんですよ。
コンピュータやと、どうしても、こんな風に考えてしまうんですよ。
どういうことかと言うと、人間の脳とコンピュータとは、そもそもの作りが違います。
コンピュータの仕組みやと、どうしても、さっきのロボットみたいな考え方になってしまうんですよ。
このコンピュータの仕組みで考える考え方、これがアルゴリズムです。
ここ、めっちゃ重要なんで、詳しく説明しますよ。

まず、AIで推論する方法について説明しますよ。
AIでは、ものごとを整理するのに、概念ツリーとHas-aツリーを作りました。
これは、ロボマインド・プロジェクトでも同じです。
概念ツリーっていうのは、物を上位概念と下位概念で整理するものです。
筆箱は机の収納具の一つで、容器・収納具概念の下位概念になるとかって整理します。

Has-aツリーは、何が何を持ってるって形で整理したものです。
筆箱は、鉛筆を持ってるとかです。

今説明したのは、どちらも、世界の状態を表すものです。
もっと言えば、静的な状態です。
つまり、動きは表せません。
これだけじゃ、ダイナミックに動く世界は表現できないんです。

じゃぁ、ダイナミックに動く世界を表現するには、何が必要でしょう?
それが、AすればBとなるって原因結果です。
コップを落とせば割れるとかです。
AすればBとなるってルールがあって、初めて、世界は動き始めるんです。

ここで前回の続きです。
前回、「遅刻」について考えてみました。
この遅刻しそうになった時、どんな行動を取ればいいのかを決めるシステムです。
これをルールで書くとすれば、どうなるでしょうか?

遅刻しそうなら、走る。
遅刻しそうなら、バスに乗る。
遅刻しそうなら、タクシーに乗る。

たぶん、こんなのをいっぱい書くことになるでしょう。
これが、コンピュータの考え方です。
コンピュータって、人間とちがって記憶するのが得意です。
それから、記憶したものから検索したりするのも得意です。
だから、コンピュータで推論するとしたら、「AならばB」ってルールをいっぱい記憶して、それを使って推論することになるんですよ。

でも、この場合、問題があります。
自転車に乗るってルールを書いてないと、自転車に乗るって回答が出てこないです。
「遅刻しそうになったから、自転車に乗った」って話を聞いても、なんで自転車に乗ったのか理解できないわけです。
これじゃぁ、会話にならないですよね。

じゃぁ、バスも自転車もまとめて、「遅刻しそうなら、乗り物に乗る」ってルールを書けばどうでしょう?
それなら、自転車も当てはまります。
でも、三輪車も当てはまってしまいます。
三輪車にのったら、余計に遅刻してしまいますよね。

どうも、この方法じゃ上手く行きません。
いったい、どこが問題なんでしょう?

それは、「AならばB」ってルールで行動を決定しようとしたからです。
このシステムは、遅刻の意味も、乗り物の意味も、理解してません。
このシステムのやってることは、Aって条件が出てきたら、Bって行動をするってだけです。
意味も理解せず、ルールがそうなってるからってだけで行動を決めてるだけです。

それじゃぁ、遅刻って意味を理解するには、どうすればいいでしょう?
それが、前回、やった方法です。
シミュレーションです。

出発点から移動して、目的地に到着するシミュレーションを意味として定義するんです。
指定時刻があって、到着したときの時刻が指定時刻より遅い場合を遅刻って定義するわけです。
指定時刻より早く着く場合を、「間に合う」って定義します。
こうやって、シミュレーションモデルで、遅刻/間に合うの意味を定義するんです。

遅刻しそうな場合、移動速度を速くするシミュレーションしてみるんです。
そうすれば、間に合うに近づくことが分かります。
このことから、遅刻しそうなら、速く移動するってことが理解できますよね。
これ、AならばBするってルールと同じです。
そこまで分かれば、次は、早く移動する方法を検索します。
ここは、コンピュータの得意なことです。
検索アルゴリズムです。
知識データベースの中から、歩くより早く移動する方法を探すわけです。
走るとかタクシーに乗るとかって出てきます。
三輪車だと、余計に遅くなるので意味がないって分かります。

こうすれば、膨大なルールを覚えなくても、適切に推論できるわけです。
じゃぁ、これができるようになった、根本理由はなんでしょう?
ここ、もっと掘り下げて考えてみます。

人間の推論って、頭の中でイメージして考えます。
イメージして考えるっていうのは、世界を想像して、その中で、いろいろ動かしたりすることです。
現実世界は、3次元空間で物が動いたり、時間が流れるって世界です。
だから、意味を定義するには、3次元空間や時間で定義する必要があるんです。
つまり、時間が流れて物が動くような仕組みをつかって意味を定義しないといけないんです。
それがシミュレーションモデルです。

逆に言えば、現実世界と関係がない形式じゃぁ、意味は定義できないんです。
コンピュータが得意だからと言って、ルールをデータベースに記憶させても、それじゃ、意味を定義したことにならないんです。
そのルールが、現実世界に結びついてない限り、何百万、何千万ってルールを記憶させても、本当の意味に辿り着けないんです。
現実世界の出来事を理解するには、現実世界に対応したモデルを作らないと、理解できないんです。
つまり、コンピュータで推論するからといって、昔からある推論のアルゴリズムを使ってるのが問題なんですよ。

でも、これだけじゃ、まだ、解決しない問題があります。
それは、行動決定です。
モデルだけじゃ、行動は決めれません。
遅刻の意味を、シミュレーションモデルで定義しても、どう行動すべきかは決めれません。

行動を決めるには、この場合は、こうすべきって、方向性が必要です。
つまり、「AしたらBする」といったルールが、やっぱり必要なんです。
でも、ルールを書き連ねて覚えても意味がなかったですよね。
じゃぁ、どうしました?

それは、ルールを覚えるんじゃなくて、ルールを作るんです。
シミュレーションを使って、その場でルールを作るんです。
移動速度を速めるシミュレーションをして、間に合うって分かれば、「速く移動したら、遅刻しなくなる」ってルールができるわけです。
ルールを作り出せるようになれば、あらゆるルールを覚える必要がないわけです。

それでは、まとめます。
今までのAIの推論アルゴリズムが上手く行かなかった理由、それは、コンピュータ中心に考えていたからです。
コンピュータが扱いやすいデータが、現実世界を上手く表現するわけじゃありません。
コンピュータに寄せるんじゃなくて、現実世界に寄せていかないといけないってことです。

僕らは、この現実世界で生きています。
だから、現実世界の中で考えます。
AIも、現実世界で考えるべきなんですよ。
現実世界をモデルにしたシミュレーションで考えるんです。
これが、新しい推論のアルゴリズムです。

それからもう一つ。
ルールは覚える物じゃないってことです。
遅刻しそうなら、速く移動するって、一つのルールです。
でも、遅刻しそうなときに取る行動はそれだけじゃないです。
早く家から出るってのもありですよね。
そんな方法を、前もって、全部覚えておくなんて、不可能です。
会話で重要なのは、相手の言った内容を理解できることです。
「遅刻しそうだったので、朝ごはん食べずに、家を出ました」って話を聞いて、理解できるのことが重要なんです。
これがAIだと、「遅刻しそうなときは、朝ごはんを抜く」ってルールを覚えとかないと、理解できないわけです。
これ、どう考えてもおかしいですよね。

一つの事象の中には、AしたらBとなるってルールが、いくつも含まれているものです。
コップが机から落ちて割れたとします。
割れた原因は、コップが落ちたからとも言えます。
コップに手が当たったからとも言えます。
もっといえば、重力があるからとも言えます。

たとえて言えば、立体を見る角度によって違った形にみえるのと同じです。
円柱は、上から見たら円いけど、横から見たら長方形に見えます。
いろんな方向からみた形を全部覚えるより、立体を一つ覚えたらいいんです。
この角度から見たら円く見えるって聞いて、それが理解できればいいんです。
遅刻しそうなとき、どうすべきかなんてことを覚えるより、遅刻って意味を、シミュレーションモデルで一つ覚えておけばいいわけです。

これが人間が頭でやってることです。
AIが人間の心を目指すなら、それを作らないといけないんです。
そして、それを作っているのが、ロボマインド・プロジェクトです。

今回の動画が面白いと思った方は、ぜひ、チャンネル登録、高評価ボタンをお願いしますね。
それから、このチャンネルが本になりました。説明欄にリンクを張っておくので、よかったら、そちらもご覧ください。
それでは、次回もお楽しみに!