ロボマインド・プロジェクト、第38弾
こんにちは、ロボマインドの田方です。
フレーム問題の続きです。
僕のブログで大炎上した、フレーム問題の解決方法です。
簡単に、おさらいしておきましょう。
フレーム問題っていうのは、洞窟の中のバッテリをAIロボットが取ってくるって課題です。
ただし、バッテリの上には時限爆弾が載っています。
人間にとっちゃ、簡単な課題ですが、AIロボットにとっては、これが難しいんです。
どういうことかと言いますと、バッテリをそのまま持ってくると、爆弾も一緒についてきますよね。
それは避けないといけません。
何かを動かしたら、どこまで影響があるか、それを調べる必要があるってことです。
それで、爆弾動かしたら、天井が落ちてこないかなとか、壁の色は変わらないかなとか、そんなこと考えてるうちに時限爆弾が爆発してしまいました。
この失敗の原因は、関係ないものまで調べてるからです。
そこで、今度は、関係のないものを除外したらええわって思って、関係のないものを一つずつ除外してたら、これも無限に考えることが出てきて爆弾ボカーンってなったわけです。
さて、このフレーム問題で言いたいことは何でしょう?
それは、現実世界には、考えるべきことが無限にあるってことです。
洞窟の中でバッテリや爆弾を認識したとします。
物を認識するっていうのは、仮想世界でオブジェクトを生成することです。
オブジェクトっていうのは、プログラムで表現すると、色や形といったプロパティと、動きを表すメソッドを持つわけです。
詳しくは、第23回の「人工知能が思い出を語り始めた」で説明してますので、そちらも参考にしてください。
フレーム問題は、オブジェクトを動かしたとき、それに関して影響のあるものや、関係のないものを探す課題といえます。
爆弾オブジェクトを動かしたとき、洞窟の壁の色プロパティは影響するか、洞窟の天井の落ちるメソッドが発動するかとか、あらゆる要素をチェックしないといけないわけです。
ここで、フレーム問題が提案された頃の時代背景について説明しておきます。
フレーム問題が提唱されたのは1969年です。
1969年と言えば、第一次AIブームの末期です。
第一次AIブームでは、迷路やパズルを解けるAIが登場しました。
このことは、第28回、第29回の「コネクショニズム派 vs. 記号主義」で説明しましたので、ぜひ、そちらもご覧ください。
迷路やパズルのことは、AIでは、トイプロブレムとか言われたりします。
これは、おもちゃの世界の問題という意味で、暗に、現実世界には通じないっていってるわけです。
迷路問題なら、分かれ道は二つか三つなので、数えようと思ったら全て数えることができます。
ところが、現実世界には、壁の色はどうか、天井が落ちるか、落ちないかとか、考えたらきりがありません。
さらに、その組み合わせを考えると無限の組み合わせが出てきます。
考える範囲を絞らないと、すぐに無限の組み合わせが出てきます。
この考える範囲がフレームとなるわけです。
人間なら、天井が落ちるとか、壁の色が変わるとか、そんなの関係ないってわかりますよね。
つまり、これはフレームの外だってすぐに分かります。
でも、AIには、それができないんです。
だから、無限に考えてフリーズしてしまう。
これが、フレーム問題です。
では、人間なら、なぜ、わかるんでしょう?
「だって、爆弾は、バッテリの上に載ってるからでしょ。」
「爆弾と天井や床とははなれてるからでしょ。」
つまり、引っ付いてるものは影響を受けるし、離れてるものは影響を受けないわけです。
ほら、フレームが設定できましたよね。
引っ付いてるか、引っ付いてないかで、関係あるか、関係ないかが決まるようです。
ある物体を移動させるとき、その物体の影響をうけるのは、その物に接触してるものです。
だから、物を移動させるとき、その物に接触してるか、または、その物の移動範囲にあるものが影響を受けるわけです。
それ以外は、除外できるわけです。
そこまで分かれば、あとは、それをプログラムにすればいいだけです。
たとえば、画像認識でバッテリ、爆弾、洞窟の壁、床を判断したら、それを3DCGで表現すればOKです。
あとは、バッテリの移動経路を3DCG上に描いて、バッテリと接触する可能性のあるものだけに絞って考えればいいだけです。
ほら、フレーム問題が解決しましたよね。
何も、問題ないです。
なぜ、炎上するのか、よくわからないです。
僕は、これで何も問題ないと思ってたんです。
でも、この前の第35回、36回の「考えるって、どういうこと」の動画を撮ってるとき、気づいたんです。
フレーム問題の本質は、そこじゃないって。
第35回、36回の動画を見てない人は、ぜひ、見てほしいんですけど、内容を簡単に説明しときます。
腕時計を見たら止まってた、電池交換せなあかんなぁってことを考えるときの話です。
その時、腕時計に傷がついてるの見つけて、
あれ、こんな傷、いつついたんやろ?
先週、山登りいったときに付いたんかなぁ。
たしか、いつもの3人のメンバーでいったよなぁ。
あれ、確か、もう一人いたよなぁ。
誰やったかなぁ・・・
って考えることってありますよね。
延々と考え続けたり、してしまいます。
その時気づいたんです。
これ、フレーム問題といっしょやって。
そうか、人間でも、思考がどんどん関係のない深みに入って行くってことって、あるよなぁ。
でも、そのまま、思考の深みから帰ってこないってこと、ないですよね。
誰と山に行ったかとか、今は、関係ないわ。
それより、電池交換やって。
こうなりますよね。
これなんですよ。
重要なんは。
人間って、言葉を獲得することで、考えるってことができるようになったんです。
言葉を使わない生き物は、環境に反応して生きてるわけです。
天敵が来たら逃げるとか、食べ物を見つけたら食べるとか。
現実世界に直接、かかわって生きてるわけです。
でも、言葉を使うと、いくらでも考えることができるんです。
ほっとけば、どんどん思考の深みにはいってしまいます。
はたから見たら、フリーズしてるように見えます。
だから、現実に呼び戻さないといけないんです。
その機能が必要なんです。
現実とリアルタイムで繋がる仕組み。
たぶん、OSで言えばリアルタイムOSのようなものです。
リアルタイムOSっていうのは、車のエンジン制御するコンピュータに使われるようなOSです。
車って、ブレーキを踏んだらすぐに反応してくれないと困りますよね。
他の処理が終わるまで、ブレーキ処理を待たせるとかしてたら、危なくてしかたがないです。
現実世界をリアルタイムで観察して、爆弾が爆発しそうとかなったら、他の処理が途中でも逃げるとか。
それができるのがリアルタイムOSです。
タイムシェアリングシステムを考えたジョン・マッカーシーは、おそらく、次は、そのような仕組みが必要だろうと考えたんでしょう。
でも、このリアルタイムOS、1980年頃から実現しています。
そして、関係のあるものとないものを区別するプログラムは、さっき言ったように、3DCGを使えば実現できます。
あれ、やっぱり、フレーム問題は解決しましたよね。
これで、フレーム問題、完全解決です。
文句を言うような人は、もう、誰もいないでしょう。
それじゃぁ、次回もお楽しみに!