フレーム問題は解決済み -フレーム問題に見る、AI史の闇-
フレーム問題って何?
AIの歴史について調べていると、必ず出てくるのが人工知能最大の難問と言われる「フレーム問題」です。
フレーム問題の話が出てくるたび、「最大の難問と言われるけど、これって、どこが難問なの?」といつも思っていました。
「普通に考えれば簡単に解ける問題を、無理に難しくしているだけじゃないの?」と。
ところが、時代背景も考慮して、改めてフレーム問題について調べてみると、おぼろげに、その真の意味が見えてきました。
フレーム問題を提唱したのは、計算機科学者のジョン・マッカーシーです。
フレーム問題の例は、いろいろあるようですが、一番有名なのが、哲学者のダニエル・デネットのロボットの話です。
それでは、さっそく、デネットのロボットの話を、wikipediaから以下に引用します。
状況として、洞窟の中にロボットを動かすバッテリーがあり、その上に時限爆弾が仕掛けられている。
このままでは爆弾が爆発してバッテリーが破壊され、ロボットはバッテリー交換ができなくなってしまうので、洞窟の中からバッテリーを取り出してこなくてはならない。
ロボットは、「洞窟からバッテリーを取り出してくること」を指示された。
人工知能ロボット1号機R1は、うまくプログラムされていたため、洞窟に入って無事にバッテリーを取り出すことができた。
しかし、1号機はバッテリーの上に爆弾が載っていることには気づいていたが、バッテリーを運ぶと爆弾も一緒に運び出してしまうことに気づかなかったため、洞窟から出た後に爆弾が爆発してしまった。
これは、1号機が、バッテリーを取り出すという目的については理解していたが、それによって副次的に発生する事項(バッテリーを取り出すと爆弾も同時に運んでしまうこと)について理解していなかったのが原因である。
そこで、目的を遂行するにあたって副次的に発生する事項も考慮する人工知能ロボット2号機R1-D1を開発した。
しかし、このロボットは、洞窟に入ってバッテリーの前に来たところで動作しなくなり、そのまま時限爆弾が作動してロボットは吹っ飛んでしまった。
2号機は、バッテリーの前で「このバッテリーを動かすと上にのった爆弾は爆発しないかどうか」「バッテリーを動かす前に爆弾を移動させないといけないか」「爆弾を動かそうとすると、天井が落ちてきたりしないか」「爆弾に近づくと壁の色が変わったりしないか」などなど、副次的に発生しうるあらゆる事項を考え始めてしまい、無限に思考し続けてしまったのである。これは、副次的に発生しうる事項というのが無限にあり、それら全てを考慮するには無限の計算時間を必要とするからである。
ただ、副次的に発生する事項といっても、「壁の色が変わったりしないか」などというのは、通常、考慮する必要がない。
そこで、目的を遂行するにあたって無関係な事項は考慮しないように改良した人工知能ロボット3号機R2-D1を開発した。
しかし、このロボットは、洞窟に入る前に動作しなくなった。3号機は、洞窟に入る前に、目的と無関係な事項を全て洗い出そうとして、無限に思考し続けてしまったのである。
これは、目的と無関係な事項というのも無限にあるため、それら全てを考慮するには無限の計算時間を必要とするからである。
事程左様に、人間のように判断することができるロボットR2-D2を作るのは難しい。
引用終わり
で・・・? フレーム問題って、どこが難問なの?
言いたいことは、何となくわかります。
解説などを読むと、現実世界の問題を解決するには、無限の可能性があり、すべて検討するわけにはいかないので、枠(フレーム)を当てはめて、関係のない物事を除外する必要がある。
ところが、どこがフレームの内(関係のあること)で、どこがフレームの外(関係のないこと)かを判断することができないので、結局、いつまでたっても問題が解決しないとのことのようです。
解説の意味は理解できますが、それでも、いくらでも解決方法はあるんじゃないかと思っていました。
なんで爆弾をどけるのに、天井が落ちるとか、壁の色がかわるとか考える必要があるのかと。
そもそも、ここで想定しているデータベースは、どんなデータベースだろうかと。
リレーショナル・データベースなら、どんなSQL文を発行すれば、フレーム問題が生じるのか、ちょっと想像できませんでした。
また、爆弾が爆発するまでロボットが停止するなど、いったい、どんな設計をしているのかと。
ロボット制御用のOSなら、組み込み用のリアルタイムOSを使うはずですが、爆発物を扱うようなクリティカルな処理をするなら、最優先の割り込みでタイムアウトを設定するはずなのに、爆発するまで考え事をするとは・・・。
なぜ、これだけの簡単な問題が解けないってなるの?
しかし、フレーム問題が提唱された時代背景を考えてみると、ようやく、ジョン・マッカーシーの言いたいことが見えてきました。
フレーム問題が提唱されたのは、1969年のことです。
これは、第1次AIブームの終わり頃です。
調べてみると、リレーショナル・データベースが最初に出てきたのは、1974年で、最初のリアルタイムOSが生まれたのは1979年で、ジョン・マッカーシーは、そのようなものは全く想定していなかったようです。
それでは、どのようなものを想定していたのでしょう。
第1次AIブームの主流は、簡単な推論/探索です。迷路を解く人工知能などが有名でした。
迷路で分岐が現れると、順に分岐を探索し、行き止まりになると、元の分岐まで戻り、次の分岐を探索する。
このような手順をスタートから繰り返していけば、いずれ、ゴールに辿り着くのです。これが推論/探索です。
この推論/探索を想定して、先のロボットの話を読み解いてみましょう。
上に爆弾が乗ったバッテリを取ってくるという命題に対して、バッテリを動かせばどうなるか、爆弾を動かせばどうなるか、といった様々な分岐が考えられます。
副次的に発生する事項とは、迷路の分岐を想定しているのです。
そして、分岐した次には、さらなる分岐があるでしょう。
バッテリを動かして、爆弾が動いた場合と動かなかった場合、
バッテリを動かして、壁の色が変わった場合と変わらなかった場合、
バッテリを動かして、・・・・・・
現実世界には、いくらでも分岐が考えられるので、すべての分岐を探索するには無限の時間がかかります。
これが、ロボット2号機です。
2号機を改良した3号機も同様で、目的と無関係な分岐を探索しないようにしても、現実世界には、目的と無関係なものも無限に存在するので、探索に無限の時間がかかってしまうのです。
ジョン・マッカーシーが指摘したかったのは、このような推論/探索では、迷路のような単純な問題は解決できるかもしれないが、現実世界は複雑で、AIでは簡単に解決できないということのようです。
第1次AIブーム
それでは、なぜ、そんなことを言い出したのか。
当時の時代背景を見てみましょう。
1950~60年代の第1次AIブームは、迷路などの問題をコンピュータで解くことが実証され、やがて、あらゆる問題をAIで解決できると期待され、国や企業から多額の投資を受けていました。
それは、まさにディープラーニングが登場した、現在の第3次AIブームと同じです。
ジョン・マッカーシーは、さしずめ、グーグルに買収され、囲碁の世界チャンピオンに勝ったディープマインド社のデミス・ハサビスCEOといったところでしょう。
しかし、迷路などの簡単な問題(トイ・プロブレム)は解決できたものの、現実問題では成果が表れず、1970年代に入ると、AI研究への出資が急激に無くなり、第1次AIブームが終了することになりました。
穿った見方をすれば、第1次AIブームのスターだったジョン・マッカーシーは、拡大するAIブームの期待と重圧に耐えきれず、自らAIブームを終了させようとしたのかもしれません。
AIで現実世界の課題を解決することは根本的に不可能だと証明するためにフレーム問題を提唱したのかもしれません。
他でもないジョン・マッカーシーがAIは理論的に現実問題を解決できないと宣言したのですから、1970年代に入って、急速にAIブームが収束したわけです。
こういう背景を考えると、フレーム問題の不自然さも理解できます。
爆弾を移動させるのに壁の色が変わるかまで考えるとか、現実問題を解決できないジョン・マッカーシーのいら立ちと必死さが伝わってきます。
フレーム問題とは、なぜ、AIが現実問題を解決できないかを無理やり説明するために作り出された問題なのです。
ジョン・マッカーシーの言い訳のための理論なのです。
第1次AIブームのもう一人のスター
第1次AIブームといえば、もう一人スターがいます。
ニューラルネットワークで有名なマーヴィン・ミンスキーです。
人間の神経回路を模したニューラルネットワークが学習機能を持つことから、第1次AIブームで大いにもてはやされ、ミンスキーも積極的に研究していました。
ところが、ミンスキーは、ニューラルネットワークの基礎となるパーセプトロンには、限界があることを著書「パーセプトロン」で証明し、ニューラルネットワークの研究は一気に沈静化しました。
この「パーセプトロン」が出版されたのは1969年のことです。
そうです、「フレーム問題」が提案されたのと同じ年なのです。
マッカーシーの「フレーム問題」により、洞窟から爆弾を取り出すような簡単な問題がAIには解けないことが提案され、ミンスキーによりニューラルネットワークの理論的な限界が証明され、第1次AIブームは一気に沈静化したのでした。
さて、ニューラルネットワークは、本当に役に立たないのでしょうか?
そんなことはありませんよね。
ニューラルネットワークは、その後、誤差逆伝播法(バックプロパゲーション)、畳み込みニューラルネットワーク、そしてディープラーニング(深層学習)へと進化を遂げ、今では、画像認識では人間を上回る正答率を誇ります。
これは、科学の歴史でよくある話です。
絶対に不可能と言われたことが、技術の進歩で可能となったというありふれたお話しです。
チェスも将棋も、かつては、絶対にコンピュータが人間に勝つことはないと言われていました。
フレーム問題を解いてみよう
それでは、第1次AIブームから50年以上経った現代なら、フレーム問題は解けるでしょうか。
試しに解いてみましょう。
まず、ロボットは外部の状況を把握します。
これは、画像認識でできます。
洞窟の中で、バッテリの上に爆弾が載っていると認識します。
これは、ディープラーニングで実現できます。
次に、認識した物体から3Dモデルを生成します。洞窟の中で、バッテリの上に爆弾が載っている状況を3Dモデルで再現するわけです。
これも、現在の技術で問題なくできます。
物体を認識するとは、その物体に関する様々な情報も含まれています。
洞窟には天井や壁があるとか、洞窟の壁は何色かといったことです。
また、3Dモデルなので、物理シミュレーションもできます。
シミュレーションを行うと、バッテリを洞窟の外に移動させると、その上に載っている爆弾も移動することが確認できます。
ここから、そのままバッテリを移動してはダメだとわかります。
目的は、上に載っている爆弾を洞窟に残したまま、バッテリだけを洞窟の外に移動させることです。
ここで、目的達成までを、いくつかのステップに分割します。
まず、現在の状況は、バッテリの上に爆弾が載っています。
次に目的の状況です。
洞窟の外にバッテリがあって、洞窟の中に爆弾があります。
もし、爆弾がバッテリの上に載っていなければ、バッテリを移動させればバッテリだけを洞窟の外に持って行くことができます。
この爆弾がバッテリの上に載ってない状況を中間状況とします。
次に、現在の状況と、中間状況を比較します。
すると、違いは、バッテリの上に爆弾が載っているか載っていないかです。
つまり、バッテリの上に爆弾が載っている状況から載っていない状況にすればいいのです。
バッテリの上に爆弾が載っている状況から載っていない状況にするには、バッテリの上の爆弾をバッテリの外に移動させればいいわけです。
物体を移動させるには、ロボットのアームを使えば可能です。
ロボットのアームで、バッテリの上から外に爆弾を移動させれば中間状況になります。これで、バッテリだけを洞窟の外に持ち出すことができます。
ここまでを、シミュレーションによって確認できれば、あとは、シミュレーション通りに実際に行動するだけです。
どうでしょう?
なんの問題もありませんよね。
あれ、フレーム問題はどこに行った?
それでは、どこでフレーム問題を回避したのでしょうか?
フレーム問題で前提としていたのは、迷路探索のような問題です。
通路には複数の分岐があって、正しい分岐を選んだ場合のみゴールに辿り着きます。
迷路だと、一つの通路に分岐はせいぜい2~3個で、全ての分岐を計算することは十分可能です。
ところが、現実世界だと、壁、天井などの要素があり、壁には、壁の色、壁の硬さ・・・など、無数の要素があります。
たしかに、現実世界で全ての要素を調べていては無限の時間がかかります。
しかし、迷路探索と、爆弾が乗ったバッテリを取り出すこととは同じ問題といえるでしょうか?
迷路では、分岐は、どれも全く同じに見えます。
どの道が正しいかは見ただけではわかりません。
実際に分岐に入って、行き止まりかゴールに辿り着くか調べてみないとわかりません。
爆弾が乗ったバッテリを取り出す場合も、全て調べてみないとわからないでしょうか?
見ただけで、どちらが重要かわからないでしょうか?
たとえば「バッテリを動かすと爆弾も動くか?」と、「バッテリを動かすと壁の色が変わるか?」といった場合です。
どちらが重要でしょう?
そんなこと、明らかですよね。
壁の色が変わるかどうかなんか、調べる必要がないほど重要度が低いですよね。
「そんなの、人間だからすぐにわかるけど、ロボットにはどっちが重要でないかわからないよ」
なるほど、それなら、重要度を、単純に、物理的な距離に置き換えてみましょう。
ロボットと距離が近い方が重要で、距離が遠ければ重要度が低いと判断するのです。
そうすれば、爆弾は重要で、洞窟の壁は、爆弾より重要度が低いと判断できますよね。
このようにして、現実世界では、迷路と違って簡単に重要度を設定することができます。
重要度の大きいものをフレーム内、小さいものをフレーム外とみなすことができるわけです。
このように区別すれば、簡単にフレーム問題を回避することができるのです。
ジョン・マッカーシーは、AIロボットを現実世界で動かすと、あらゆる可能性を考えて動かなくなると指摘しました。
しかし、それは、迷路のように、分岐が全く同じで区別がつかないという特殊な状況の場合にのみ生じる問題で、現実世界ではありえない状況です。
そのような非現実的な問題が、未だにAI最大の難問などと言われ続けています。
フレーム問題は未だに解決できないなどと語るのは、そろそろ終わりにしませんか?
追記:
産業技術総合研究所のヒューマノイドロボットHRP-4の開発で有名な梶田秀司博士からツイートで本記事が紹介されました。
「世界に存在する無限の情報を等しく扱おうとすれば、組み合わせ論的爆発に陥るけれど、情報の重要度と優先順位を定めればこれを回避できる。」
このツイートに対して、111件の「いいね」と49件の「リツイート」が行われています。
専門家からも、「フレーム問題」の本質が少しずつ理解されてきたようで、嬉しく思います。
追記2:
数々の批判を乗り越えて、「フレーム問題」の完全解決版をYouTubeで公開しました。
この記事を読んで、何か言いたいと思ったら、まずは、こちらの動画をご覧ください。
>人間が普通に考えるように、ロボットに考えさせれば、フレーム問題など生じないのです。
なんか極めて短絡的ですね。
>ポイントは、探索範囲を、目的達成に必要な行動に絞ることです。
どのように絞るのでしょうか。ヒューリスティックスを用いるのでしょうか。
絞ることで予想外の結果が生じないのでしょうか(爆弾を運び出す、等)。
論理が破綻していますよ。
質問、ありがとうございます。
これは、目的達成に関係が近い順に順位付けして探索します。
具体的には、目的であるバッテリに物理的距離が近い方に高いポイントを付与し、距離が遠いものに低いポイントを付与するとか。
または、バッテリを運び出す経路上にあるものに高いポイントを付与するとか。
このような方法は、人間が普通に考えることですよね。
そして、所定のポイント以下の事に関しては、探索範囲から除外します。
こうすれば、壁の色が変わるとか、バッテリを運び出す目的とはあまり関係がないことまで探索することはありません。
探索範囲を絞らず、無限に探索し続けるプログラムを作るなど、普通のプログラマーならあり得ないことです。
なぜ、こんな単純な点を誰も指摘しないのか、これが、僕にっての、フレーム問題の最大の謎なんです^^;
条件に、「爆弾を運び出さない」を付け加えれば、爆弾を運び出すとことはないです。
条件の追加は、今までの経験から、追加します。
前回、爆弾を運び出してしまったという痛い経験をしたので、次は、そうしないように条件を付けて探索するわけです。
これも、人が普通にすることですよね。
絞ることで、予想外の結果が出たとすれば、学習によって、次回は改善する。
論理が破綻しているとはいえないと思いますが、いかがでしょう。
もしシミュレーション中に地震が起きたら…、もしシミュレーション中に爆弾が発光しだしたら…、もしバッテリを移動させることで出入り口が閉まったら…
これらの人間であれば「普通は起こりえない」と考えることも全て計算しようとしてしまい、結果行動できなくなる。
これがフレーム問題であるハズなのですが、本文の説明でそのような計算は一切行われていませんよね。
あらかじめ設定された動作を行っているだけで、これではAIロボットではなくAIで物体を認識して持ってくるロボットのような気がするのですが、、、
質問、ありがとうございます。
「もしシミュレーション中に地震が起きたら、もし爆弾が発光したら・・・」といった仮定を全て計算していれば、確かに、フレーム問題が起こりますよね。
僕が提案しているロジックは、可能性のある全ての仮定を先に検討するのでなく、もし、検討していない事象が起こったら、起こったときに考えればいいというものです。
これは、目標とすAIをどこに設定するかにかかわってきますが、ここでは、人間と同じ程度の知能のAIを目指しています。人間を超えるAIは目指していません。
そう考えれば、人間も、バッテリを持ってくるのに、あらかじめ設定された動作を行っているだけといえます。
物体を認識して持ってくるだけです。
どんな状況であっても、必ず、バッテリを持ってくるといった人間を超えたAIを目指すのであれば、たしかに、あらゆる状況を想定しなければならず、フレーム問題から逃れられないと思います。
そうでなく、人間と同程度の知能を求めるのであれば、まずは、決められた動作をして、それがうまくいかなければ、うまくいかなかった原因を考慮した別の動作を試して・・・と、すればいいのではないでしょうか。
実際の人間も、このように行動すると思われますので。
人間に対しても、「考えられるあらゆる状況を考慮してからバッテリを持ってこい」と命令すれば、フレーム問題に近い状況が起こるでしょう。
「フレーム問題」というのは、AIの根本的な問題をあぶりだすのに、あまり良い問題とは言えないですが、なぜか有名になってしまったようです。
「意識のハードプロブレム」や「シンボルグラウンディング問題」の方が、AIの本質に迫る問題と思います。
https://en.wikipedia.org/wiki/Frame_problem
フレーム問題は爆弾などの面倒な状況に限らず、ドアの開閉をするだけの単純なAIにも発生します。
なので爆弾処理の方法を具体的に考えたとしても、特にフレーム問題全般を解決できたということにはならないのでは。
質問、ありがとうございます。
確かに、ドアを開閉する場合でも、「ドアを開けようとして、ドアノブがはずれたら」といった、考えられるあらゆる事態を考慮すればフレーム問題が発生しますよね。
でも、人間の場合、フレーム問題は発生しません。
なぜかというと、人間の場合、まず、ドアを開けようと行動して、万一、ドアノブが外れたら、その時にどうするか考えるからです。
なので、人間と同じように、まず、ドアを開けようと行動して、ドアノブが外れたら、どうするか考えるようにプログラムすれば、フレーム問題は発生しません。
フレーム問題というのは、現実世界でロボットが行動しようとすれば必ず発生する不可避の問題というものではなく、フレーム問題が発生するようにプログラムすればフレーム問題が発生し、フレーム問題が発生しないようにプログラムすれば、フレーム問題が発生しないのです。
フレーム問題というのは、これだけの話なのです。
人間と同じ程度の知能のAIを作成する理由(意義)は、この論説のどこの部分を読めばよいのか、教えてください。
お問い合わせありがとうございます。
「人間と同じ程度の知能のAIを作成する理由(意義)」は、この記事には、特に明記していないですが、この考えは、おそらく、AIを開発してるほとんどの人に共通の意見だと思います。
まずは、人間が普通にできることをAIでもできるようにしようということです。
今のAIには、普通の日常会話もできませんので。
それが達成できてから、次の段階に進むことになると思います。
>>フレーム問題が発生しないようにプログラムすれば
これが難しいからフレーム問題などと呼ばれているのでは?
>>洞窟を、洞窟として認識しているので、洞窟の壁の色なども認識しています。ですが、バッテリを洞窟の外に出すのに、壁の色が変わるとか、天井が落ちないとか、目的と関係のないことを考える必要などありません。
洞窟や色はバッテリを外に持ち出すのに関係がなく,爆弾は関係あるというのはどのようにロボットに判断させるのでしょう.
質問、ありがとうございます。
これは、前もって知識として持っていればいいでしょう。
物を移動させるには、その物を持って運び出すといったような知識です。
本文にも書きましたが、当時のAI技術から判断して、フレーム問題が前提としているのは推論/探索問題です。
ところが、現在のコンピュータ技術だと、3DCGを使ったシミュレーションなど、いくらでも解決する方法は考えられます。
うーん、仰る「フレーム問題を起こさないようにプログラムされたAI」は、たとえ話でいう処の1号機ロボットのことではないでしょうか。不測の事態を考慮しない、不測の事態に対処ができないロボット。
対象の周囲だけ計算する、っていうのも、周囲以外で何か起きたらバッテリー持ち出しに失敗するわけですよね。
失敗しない融通の利くロボットにしようとすると2号機3号機になるという、そういう話では?
コメント、ありがとうございます。
確かに、おっしゃるとおりです。
ただ、これはロボットだけでなく、人間でも起こり得る話ですよね。
人間の場合、この問題を解決しようとしてもフレーム問題は起こりません。
なので、人間と同じ解決策のプログラムを作れば、フレーム問題は起こらないわけです。
数ある解決策の一つが、フレーム問題を起こす解決策というだけなのです。
「フレーム問題」の話は、解決策が、その一つしかないとミスリーディングしているとも言えますね。
この記事の技術的なことは良くわかりませんが、主旨には基本的に賛成です。私は「フレーム問題」は単なる勘違いと思っていました。
与えられた課題が何の失敗もなく一発で解決できるとする幻想が元になっている。生物は30億年かけて多くの失敗を乗り越えて進化してきました。
人間も失敗の記憶や推察ができる範囲でしか失敗を防げません。想定外には基本的に対応できません。
機械に想定外でも対応できるよう期待するのは勘違いでしょう。神でない人間の作るものなので基本的には想定外を克服できません。
コメントありがとうございます。
おっしゃる通り、完璧な回答を目指せば、いつまでたっても動きだすことはありません。
程よいところで探索を止めて動き出すっていうのが、人間らしくもあり、AIもそれを目指さないといけませんね。
ロボットに完璧な回答を見つけさせるなら、そのまえにAI研究者は完璧とは何かを定義しないといけませんね。これは明らかに不可能でしょう。
少し専門的な言葉で書かれると、大抵の技術系の人は簡単に勘違いしてしまうものですね。私もエンジニアとして気をつけたいです。
そうですね。完璧とか無限とか、理論だけでは現実問題は解決できないです。
エンジニアは現実との折り合いを考えないといけませんね。
What you are making is not artificial intelligence. What about doing artificial intelligence with intelligence equivalent to just human beings? Our researchers have to fight against the frame problem from the top. I do not understand why you are not trying to evolve.
申し訳ないですが、日本語で質問し直していただけないでしょうか?
よろしくお願いいたします。
お邪魔します。
田方さんのお考えは「人間がそうするように、何か起きたときに考えればよい」、そして「解決策をあらかじめ教えておけばよい」というお考えだと思います。あるいは「解決策を調べる方法を知っていればよい」でもいいのかな。
その線で思考実験してみます。H・サイモンとA・ニューウェルが「人間の思考をシミュレートする」ことを目指して考案したGPS(1957年)のイメージで。
たとえばAIロボットに、「庭の木を1本切り倒せ」と命じるとしましょう。この命令を理解するだけで、膨大な下位問題が生じます。「庭ってなに?」、「どの木のこと?」、「切り倒すってどういうこと?」など。「となりの鈴木さんちの庭じゃなくてウチの庭な」と言わなくてもわかっててほしいです。今の水準のAIより高度になってないといけないことは確かでしょう。
さて命令は理解したとして、実行の段で「太さはどのくらい?」、「切るのに何が必要?」などの下位問題が生じます。太さを測るのは、まあ簡単。手段については、AIはYoutubeで動画を見つけて(5Gで受信、脳内再生)、チェンソーが一番良さそうだと知ったとします。しかし家にはチェンソーがない。次くらいに効率的そうな斧もない。そこで「『チェンソーがない』で検索」→「ふむふむ、『買う』ことができそうだ」→「お金が必要だ」→私に向かって「お金をください」→私「ない」→「『お金がない』で検索……銀行でおろせばいい!」→「キャッシュカードをください。暗証番号を教えてください!」→私「ほい。暗証番号は8801な」→「最寄りの銀行を検索、移動手段を検索」……
で、移動を開始するわけです。途中、近所の悪ガキにどつかれたり、信号待ちの間に犬に小便かけられたり、いろんな人とすれ違ったり投げキス受けとめたり投げ返したりしますが、その都度何とか対処法を検索して実行し、ようやく銀行に着きます。ATMの前に立ったところで銀行員が見とがめ、AIロボットを制止しようとします。そりゃそうでしょう。しかしAIロボットは、さきほど近所の悪ガキにどつかれたときにYoutubeで合気道の動画を見て学んでいたので、簡単に妨害を排除しました。(銀行員、だいじょうぶか?)キャッシュカードを挿入、暗証番号を打ち込んで、金額を指定。しかし、ATM「残高不足でおろせません」。しかしAIロボット、決して心が折れることはありません。再度「お金がない」で検索。→AI「消費者ローンに行こう!」そして私のスマホを鳴らし、「免許証か健康保険証はありますか。あったら貸してください」と。で、私「ないよ。どっちも」。私、滞納してるので。
AIロボットはなおもネット検索。過去起きた事件のニュースを参考に、最寄りのビジネスキオスクで私の免許証を偽造し、さらに3Dプリンターで私の顔のお面をつくり、それを自分の顔につけて「むじんくん」に入りました。しかしアコムのAIも優秀です。「私」があまりにも無表情でまばたきもせず、住所や生年月日を答えるときも唇を一切動かさないことから不審に思い、免許証も偽造と見抜いて融資を断ります。「ちがうだろー!」と。
「むじんくん」を追い出されたAIロボットはなおも検索します。そしてYoutubeで動画を見て、対処法を見つけました。ホームセンターに行き、電動タイプのチェンソーを手に取り、プラグを自分の身体の電源供給ソケットにつないでやり、スイッチを入れてチェンソーを振り回しながら、なるべく早足でホームセンターから出て家に戻る……という行動を選択しました。
おや? ほんとだ。フレーム問題生じない。
どんどん悪の道に足を踏み入れてますが、フレーム問題は起きてないですね。
ただ、たぶん「私のお面」つけたままチェンソー振り回してますよね。そして何台ものパトカーを先導しながら「私」の家に向かってますよね。私、どうなっちゃうんでしょう。「『木を切り倒せ』とは言ったが、『(悪ガキや銀行員に)ケガをさせろ』とは言っていない」と言えば、許してもらえるでしょうか。
コメントありがとうございます。
楽しく読ませていただきました。
この話は、洞窟からバッテリーを取り出そうとするとロボットが固まってしまうというフレーム問題をはるかに超えていますが、AIの今後を考えると、避けて通れない問題だと思います。
つまり、AIが自分で思考し、行動するようになった場合、目的遂行するAIロボットは、人間社会と協調できるかという問題になると思います。
この点についてロボマインド・プロジェクトの出した答えは、善悪や感情といった認知パターンを最上位とする「心」を持たせるというものです。
くわしくは、チューリングテストや認知パターンを参考にしていただければと思います。
簡単に説明すると、人間と同じように善悪の概念を理解させれば、目的遂行のためとはいえ、他人に迷惑をかけるのは悪、するべきでないということを理解できるので、ホームセンターでチェーンソーを振り回すことはないというものです。
疑問に思うことが多かったので質問させてもらいます。
まず最初の質問に対する答えでポイントを付けるとありますが、それはR2-D1の二の舞ではないのでしょうか、考慮するべきポイントは物理的な距離だけではないですし、それをポイント付けするのに無限の時間がかかってしまうのではないですか?
二つ目は、問題が起きたら起きた時に考えれば良いと答えられていますが、何かが起きてから解決できる問題だと良いですけどそうとは限りませんよね、人間は問題が起きないよ
うに解決しようとしますが田方さんの考えだとその様にはいかないのではないですか?
人間でも絶対に解決できるというわけではないですが、最善の策を尽くそうとすることはできます。AIはそれを行おうとするとフレーム問題が起こるのでは?
質問ありがとうございます。
ポイント付けする目的は、無限に探索することを回避するためです。
そのために、距離が1m以内の物に限定してポイント付けしたりします。
または、物理的な距離以外のポイントの例として、時間を考えたとすれば、直近5分以内の出来事のみにポイント付けするといったことを行います。
これに対し、たとえば、距離1000m以内の物にポイント付けするとか、過去10年以内のすべての物にポイント付けするとかと拡大すれば、無限に近い時間がかかるかもしれません。
無限に探索するようにポイント付けの範囲を設定することも可能ですが、そうならないように範囲を設定すれば、無限に探索することはなくなると考えられます。
AIは、最善を尽くそうとすると、無限探索に入ってフレーム問題が起こるのでは?という質問ですね。
無限探索を回避するのは簡単です。
たとえば10分以上探索しても答がでない場合は探索を止めるようにするとかにすればいいだけです。
こうすれば、10分後、「最善を尽くしましたが、解決できませんでした」と答えることができ、フレーム問題は起こりません。
これだと、人間と同じではないでしょうか?
一貫してロボットがどうすべきかという点を「田方さんが」判断していますよね。それってフレーム問題から抜け出せていませんよ。無視すればいい、という判断をロボット自身ができないというのがフレーム問題の根幹であり、「心が大事」というのも人間の判断ですよね。無視出来る範囲まで人間視点でフレームを広げてるだけでしかなく、フレーム問題が消えてなくなってるわけじゃないんですよ。ただ単に田方さんがフレームを視界の外に押しやっただけ。「心が大事」というなら、ロボットが己の「怖い」という「心」を優先して爆弾を処理しなかったらそれはロボットとして正しいんでしょうか。ロボットの心を大事にすべきかロボットとしての使命を大事にすべきかはロボットはどうやって判断するんでしょうか。人間なら、保身に走っても己の身を犠牲にしても納得されるでしょう。でも、ロボットには「正しさ」が求められる。無限に湧き出てくる問いをどう無視してどう順位付けするか、そういう根本を問うているのがフレーム問題だということです。たぶん、田方さん以外の閲覧している方はお分かりかと思いますが。
質問、ありがとうございます。
やはり、そうでしたか!
実は、もしかして、僕だけが、「フレーム問題」を正しく理解できてないのでは?と思っていましたので、どこが間違っていたのか、ぜひ、教えてください。
今回のコメントを読んだだけでは、まだ、わからないので、ぜひ、議論させてください。
まずは、この点です。
ここから、人間は、「正しさ」より保身に走っても納得できるが、ロボットの場合、「正しさ」が求められると解釈できます。
つまり、dominorさんは、人間とロボットでは、求められる行動、目的が異なると解釈しているのでしょうか?
僕の理解では、「フレーム問題」の大枠は、「人間と同じ知能を持つロボットを作ろうと思っても、フレーム問題があるためできない」ということだと解釈していました。
つまり、「フレーム問題」の前提とする「人間と同じ知能を持つロボットを作る」の部分が、僕が間違っていたということでしょうか?
もしかして、「フレーム問題」の解釈が、僕とdominorさんとでは異なるのではないでしょうか?
この点について教えてください。
うーん、なんだか根本的な部分ですね。田方さんが作りたいのはロボットではなく人工生命なのではないでしょうか。
おそらく、人工生命を生み出せれば田方さんの仰る通りフレーム問題は解決するでしょうね。
そんなことができれば、の話ですが。
難しいようであれば、一から生み出す方向ではなく、
人をロボットに変えたと仮定してみた方がわかりやすいかもしれません。
その人――彼には一切の主を認めず、誰かに従う存在として行動してもらいます。
その前提で、彼を死なせないことを考えてみてください。
何も命じなければ、彼は呼吸すらしません。
まず一分に何回呼吸すべきか、食事はいつどのようなタイミングで行なえばいいのか、排せつは――など、
指示することはそれこそ100、1000とあるでしょう
それらをいったん「己の生命を維持しろ」という命令にパッケージしたとします。
人間だから実行してもらうのは簡単ですね。
しかし、「生命を維持する」だけでは社会では生きていけません。先にコメントがあった通りです。
「法に順じて」「他者に迷惑をかけない」とあわせて命じましょうか。
しかし、「他者に迷惑をかけない」と「生命を維持する」が拮抗した場合、彼はどうすべきでしょうか。
自転車が猛スピードで迫ってきたが、避けた場合に背後いる誰かが轢かれてしまう、といったシーンです。
どちらをどれぐらい優先すべきか、彼はロボットなので判断できませんね。
避けたら「生命を維持しろ」という命令を実行する視点では不適切です。
よけなければ、「他社に迷惑をかけない」という命令を実行する視点では不適切でしょう。
こういった矛盾を解決するために、「優先リスト」を用意してあげたほうがいいかもしれませんね。
さらに言えば、「内容は自分で考えろ」と命じることできっと自分で作ってくれます。元は人間ですから。
「自分で生命を維持する」「法に準じる」「他者に迷惑をかけない」「それらを自分で判断して適切に優先する」
おおよそ、理想的な行動です。
…気づかれたかもしれませんが、これはもはやロボットではなくただの善良な人間ですね。
「自分で考え行動する」となるとロボットではいられなくなるんです。
田方さんの主張は「ロボットを使うぐらいなら人間を雇った方がいい」と同義なのです。
こういう哲学的な方向でもフレーム問題は解決していませんし、
「心」をエミュレートする、「意味」を理解するという量的なアプローチにおいても
フレーム問題は非常に大きな壁となっています。
意味が理解できないと言う量の問題に関して言えば、
「太郎は花子が好き」と「花子は太郎が好き」の違いをロボットは理解できないということです。
人間が教えてあげないと。
もし田方さんがiPhoneユーザーなら、Siriに「近くにある中華料理屋を教えて」と聞いた後に
「近くにある中華料理屋以外の店を教えて」と聞いてみてください。
きっと同じ答えが返ってくるはずです。「以外」の意味が今のSiriには理解できないからです。
「心」の演算が何故できないかは様々な人が語っていらっしゃるので
僕のような浅学な人間からは控えさせていただきますけど、
「フレーム問題は解決済み」なのではなく
「フレーム問題があまりに巨大な壁なので田方さんの視界の中に入っていない」ということです。
理解が難しいかもしれません。
でも、田方さんが理解できないことをどうしてロボットが理解できましょう、と言えば少しは何かが伝わるでしょうか。
人間同士が話してさえ、通じないのです。
まっさらなロボットに「意味」を順位付けさせることの難しさが察せられますね。
世の中で活躍しているロボットは「何をしないのか」を適切に設定されています。
例えば、「〇〇以外のものを教えろ」と聞かれても「以外」を無視するように。
今の僕らにできるのは「フレーム問題は解決済み」と思い込んでロボットに「心」を覚え込ませることではなく
「フレーム問題とは向き合うべきではない」と割り切って
ロボットにはロボットに向いた作業をさせることなのかなと思っています。
いかがでしょうか。
dominorさん、丁寧な回答、ありがとうございます。
回答を全て読ませていただきましたが、肝心の、前回の僕の質問に対する直接の回答はなかったようです。
ただ、文章から、おおよその検討はつきますので、こちらで、前回の質問のまとめをしたいと思います。
dominorさんの言う「フレーム問題」とは、どうやら、AIが直面するであろうあらゆる問題を指しているように思えます。
自然言語処理の意味解析の問題から、いわゆる「トロッコ問題」のような正解の存在しない問題まで、かなり幅広く含んでいるようです。
それに対して僕の指す「フレーム問題」とは、AIロボットが現実世界で推論するとき、無限探索の問題に直面してフリーズするというジョン・マッカーシーが提唱した問題のみを指しています。
僕の記事の「フレーム問題は解決済み」とは、このジョン・マッカーシーが提唱した「フレーム問題」の解決を指しますが、僕の記事を読んだdominorさんは、「トロッコ問題」を含む、AIのあらゆる問題が既に解決したと思ったわけですね。
以上の理解で間違いないでしょうか?
はじめまして。
フレーム問題は、AIの情報処理能力が限りなく無限である(無限でなくてはならない)というおかしな前提から生まれたものではないかと思います。田方さんがおっしゃるように、探索問題(どこまで探索して打ち切るか)として考えるとそれほど重大な問題ではないように思えます。人間はコンピューターに比べると処理能力・記憶容量で劣り、ほんのちょっと探索して打ち切るので思い込みの結論を出したり、偏った人格(個性ともいう?)に育ってしまいがちですが、問題解決に不要なものを意識から自然とフィルターアウトすることのできる、素晴らしい能力を持っているのだとも言えそうです。
AIは、AlphaGo等の影響もあって超越した知性のようなイメージを持たれがちですが、ゲームのようなごく情報量の少ない箱庭から抜け出して活動するには、AIも人間のようなある程度の「愚かさ」を受け入れなくてはならないのではないかと思います。
コメント、ありがとうございます。
おっしゃるとおり、検出したデータ全てを計算していては、無限の処理能力があってもフレーム問題が起こってしまいますね。
AIにも、関係なさそうなものを適当に無視する大雑把な心が必要と思われます。
そうなってくると、AIにも性格が出てきて、より、人間っぽくなってくるでしょうね。
かじった程度の知識なのですが、5番さんの意見の返信で
>>これは、前もって知識として持っていればいいでしょう。
物を移動させるには、その物を持って運び出すといったような知識です。
と返信されてますが、その物を見分ける、かつその物の状態を見分けること、そのものがどのような性質を持つかなどを定義するのができないという話なのではないのでしょうか?
質問、ありがとうございます。
これは、それほど難しい問題ではないと思いますが。
実際、工場などで、ベルトコンベヤーで流れる物から異物除去するシステムなのでは、カメラからの映像を画像処理して、異物を検知すれば、ロボットアームで除去します。
これは、色や形などからその物や状態を見分けていることになります。
色や形で定義しているわけです。
フレーム問題は現実にロボットが存在する状況を仮定していますが、例え二人零和有限確定完全情報ゲーム(たとえば囲碁)のようにパターンが膨大過ぎるものは事前にすべての可能性について演算することが現実的ではありません。
Googleの囲碁AI「アルファ碁」が人間に勝利した事実を踏まえると、少なくとも特化型AIに関してはフレーム問題を回避する方法(解決する方法というと語弊がある)は現時点で実用化されていると言えると思います。
そもそも現在主流のディープラーニングは過去のデータが多いほど精度の高い(あるいは気の利いた)判断ができるようにするものであるので、学習した過去データにおいて存在しない極めて可能性の低い現象(壁の色が突然変わるとか隕石が降ってくるとか)は考慮できません。
フレーム問題は解決したわけではなく、「作ろうとしているもの」によってはぶり返す問題であると思います。既にコメントで出ていますが「行動前にあらゆる可能性を考慮して人間をはるかに超越した預言者めいた判断力をもって目的を確実に達成する」AIを作ろうと思った場合はフレーム問題は以前として立ちはだかります。
いきなり一足飛びにそんなAIを作るのは無理なので、フレーム問題がそもそも起きない手法でもっと低レベルなAIを研究していこうというのが現在の主流ではないでしょうか。この趣旨でも「庭の木を1本切って」をこなすことは、学習が十分行われていれば可能に思われます。
「庭の」→この命令者が「誰の庭」を日本語で省略した場合、「自分の」と思われる。まだそれを学習していなければ確認コストが安いので「聞き返して確認する」
「木を1本」→「どの木」か学習したデータから判明しなければ「確認する」。枯れた木などがあればそれだと判断する。
「切る」→命令者の所有物で木を切れそうな道具が無いか検索。ノコギリを発見したが通常材木を加工する道具であって樹木を切り倒す道具ではないので、ネットから検索して道具の購入を検討。チェーンソーは早く楽に切れるが値段が高い。斧はチェーンソーよりはかなり安いがそれなりに高い。伐採/間伐のサイトでノコギリを使用した樹木の切り方を発見。命令者はお金をあまり持っていないことを学習していればノコギリで切る。お金があるかわからなければ斧を注文するか「確認する」。
学習させた過去データ次第ですが上手く遂行できることが不自然ではないと思います。もちろんそういった命令をこなすロボットのAIは学習データとして日常的にあり得るものを学習させるでしょうから「CIAのサーバーからすべての情報を抜き出してきて」などと命令すれば上手くいかないか、できませんと答えるでしょう。
コメント、ありがとうございます。
まさに、おっしゃる通りだと思います。
フレーム問題が提示された1960年代と異なり、現代では、人間に近い思考のロボットも十分可能になってきています。
フレーム問題にいつまでもこだわるより、人間と同じような思考は、どこまで可能かといった視点に向かうべきでしょうね。
初めまして。
……なんというか、申し訳なく思うのですが、
「どうでしょう?
なんの問題もありませんよね。」
とおっしゃられているのに、
「……さぁ?
え、どうなんでしょう?」
とつい答えてしまうほど理解が及んでいません……。
そんな状態で質問するのもおこがましいかと思われますが、
質問させて頂きます。
ブログ内の文章に
「人間が普通に考えるように、」
と記載されているのですが、これに対し、
“そもそも人間がどう考えているから問題が起こっていないのか?
人によって違いがある『普通』の定義が曖昧なように感じるが、
プログラミングする時は曖昧なままなのか? 厳格に決める必要があるのか?”
という疑問が浮かびました。
……なんだか、この疑問もそれこそ『フレーム外』へ追いやって良さそうな気がしてきましたが、
答えて頂きたい点は、上記””内の疑問がAIを作製する際に考えるに値する問題か、という点です。
一瞥のほど、よろしくお願いします。
田淵様
質問、ありがとうございます。
人間が、普段、どんなふうに考えているかは厳密にはわかりませんし、人によって考え方が違うので、「人間が普通に考えるように」といわれても、プログラムの書きようがないということですよね。
ここで僕が言いたかったことは、そのような厳密な話でなく、もっと、大雑把な話です。
フレーム問題が発生するのは、「爆弾を動かそうとすると、天井が落ちてこないか」とか、「爆弾に近づくと壁の色が変わらないか」とか、副次的に発生する事項を無限に考える場合です。
一方、人間が爆弾を動かそうとするとき、天井が落ちないかとか、壁の色が変わらないかとか、そんなこと、普通、考えないですよね。
考えるとすれば、衝撃を与えれば爆発するかもしれないから、そぉーっと動かそうとか、どの方向に動かしたら、バッテリの移動の邪魔にならないかといったことですよね。
僕が言いたかった「普通に考える」とは、この程度の大雑把な意味です。
いろんな考えの人がいるとは思いますが、物を動かすとき、壁の色が変わらないかと心配する人はいないでしょう。
そんな、普通、人が考えもしないことをロボットに考えさせるプログラムはどう考えても不自然です。
人と同じようにロボットに考えさせるプログラムが自然ですよね。
「人間が普通に考えるように」とは、こういうことです。
疑問に返答して頂き、ありがとうございます。
確かに、天井が落ちないかとか、壁の色が変わらないかとかって、考えないでしょうね。
……考えないのは『考える必要性がない』と判断してるから、ですかね。
……判断できるのは『判断材料として、過去の経験や知識を利用している』からで、
その経験や知識から、”爆弾を動かす”ことと”天井”や”壁の色”との因果関係が結びつかないから
……でしょうか。
発想が自由な分R1-D1やR2-D1は考えすぎてしまっていたのを、
あらかじめ考える余地をなくすことで対処したようで、
人が持つとされる”ひらめき”を奪ってできたものに関して、
なんだかR1に逆戻りしたような気がしたのですが……。
いえ、これは戯言ですね。
恐らく田方さんの考えた通りにプログラムを組めば、
問題は解決するのでしょう。
長文、失礼いたしました。
はじめまして。
ロボットがバッテリーの上に置かれた爆弾をどうするかの件についての質問です。
もし、人間である私がバッテリーの上に置かれた爆弾を見た場合、
「この爆弾を持ち上げたり傾けたりしたら爆発するかも。。。」と、
今までに見た映画などの爆弾を思い浮かべて「爆弾は安易に触るべきではない」と考えるかと思います。
仮に、人間の爆弾処理班が処理すると考えたとき、今までの爆弾処理の経験から、まずは安易に動かしたりせずに爆弾の内部を開けるなりスキャンするなりして爆発される仕組みを入念に調べ、適切な処理で爆発を回避した後に、ようやくバッテリーを持ち出すかと思います。
爆弾と一口に言っても様々な仕組みや回路の物があり、厳密に言えば、爆弾が爆発される回路の内部構造は、回路の外見も含めると「無限にある」と言ってもよいかと思います。
爆発する仕組みの例を上げるとすればこんな感じです。
・高さを変えると爆発
・傾けると爆発
・音をたてると爆発
・つかむと爆発
・位置をずらすと爆発
・上記の仕組みを複数仕込む
・経過時間によって爆発の仕組みが変わる
など
そのような「爆発に至る可能性が無限にある」状態の爆弾を、AIロボットはどのように判断して、爆発を回避してバッテリーを持ってくることができるのでしょうか?
爆弾の仕組みにおいては「普通の仕組み」などというものは存在しないような気がします。
あと、爆弾の形もさまざまなものが作れると思うので、
それが「爆弾である」「爆弾ではない」という判断もかなり難しいような気がします。
例えば…
・くまのぬいぐるみ爆弾
・バッテリーと同じ形の爆弾
・バッテリーとバッテリーの間に爆弾があり、爆弾はどちらかのバッテリーと一体化している
など
解決しようとする者が人間やAIロボットにかかわらず、何かの問題が発生した時、やはり解決方法は無限にあるように思えるのですが、いかがでしょうか?
sai様
質問ありがとうございます。
フレーム問題の提唱者が言いたかったことは、「コンピュータプログラムでいくら難しい迷路が解けたとしても、現実世界にロボットを投入した場合、無限探索の課題に直面し、ロボットは一歩も動けなくなる」ということです。
つまり、「コンピュータが得意な問題をコンピュータ内でいくら解けても、現実世界に出れば、人間が簡単に解ける問題も解けないよ」ということが言いたかったわけです。
逆に言えば、フレーム問題が対象としている問題は、人間なら簡単に解ける問題で、そもそも人間にも簡単に解けない問題がロボットにも解けないという話は、フレーム問題とは別の話と考えます。
最近、シンギュラリティという言葉がもてはやされています。
シンギュラリティとは、技術的特異点のことで、人工知能が人間の知能に到達する点を指します。
人間の知能は、脳の大きさなどから物理的に限界が存在します。しかし、人工知能には物理的な限界はなく、コンピュータをつなげれば無限に増強できます。
ただし、人工知能にできることが計算問題だけなら、コンピュータを増強しても、複雑な計算問題を速く解けるようになるだけです。
ところが、一旦、人工知能が、人間ができることを全てできるようになると、あとはコンピュータを増強していけば、人間をはるかに超えた人工知能が誕生するのです。
IQが1000にも10000にもなり得るのです。
人工知能が人間の知能に到達する点、これがシンギュラリティ(技術的特異点)です。
フレーム問題に話を戻します。
フレーム問題は、人間が簡単に解ける問題が解けないことを指摘したもので、人間にも解けない問題がロボットに解けないことは、問題にするべきでないと考えます。
なぜなら、人間に解けないどんな問題でもロボットに解けるようになるという話は、シンギュラリティに関わる話で、分けて考えるべき話だからです。
フレーム問題を語るとき、人間には解けるのに、コンピュータでは解けないという場合に絞るべきと個人的に考えています。
saiさんの指摘する「くまのぬいぐるみ爆弾」を見抜く方法など、どれも人間にも解決困難な問題ですので、フレーム問題とは分けて考えるべきでしょう。
私はAIロボットやプログラムについてはまったくの素人です。
最近NHKでAIを特集した番組を見ました。
そこで「フレーム問題」について語っており、この問題を解決する必要があるということを言っていました。
そこで素朴な疑問ですが、
田方さんの中で解決されているはずの「フレーム問題」が、なぜ世間(全世界?)では今もなお大きな難題として取り上げているのでしょうか?
フレーム問題が解決済みなのであれば、田方さん自身がフレーム問題が解決されたAIロボットやプログラムを作るか、そのような論文を世間に発表すれば、全世界の研究者は「フレーム問題は解決できた!これでAIの未来は明るいね!」ってなるように思えるし、それが全世界の研究者を納得させる一番手っ取り早い方法のように思えます。
それぐらい「フレーム問題が解決済み」というのは、全世界の研究者に衝撃を与える発見のように思えます。(NHKの番組を見る限りでは)
「フレーム問題を解決済み」のAIロボットをはやく見てみたいので、ぜひそのようなAIロボットを作って発表して、フレーム問題が解決済みであることを全世界の研究者に教えてあげてください。
そうしなければ、いつまで経っても「フレーム問題」が大きな難題として研究者の前に立ちはだかり、AIロボットの研究がちっとも前に進まないといったことが起こるのではないかと思います。
「フレーム問題を解決済み」のAIロボットやプログラムや論文を世間に発表する予定はありますか?
ぱんの耳様
コメント、ありがとうございます。
はい、全くその通りです。
このブログを立ち上げた目的も、そこにあります。
「フレーム問題って、どこがそんなに問題なの?」って、ずっと思っていました。
僕が、どこか勘違いしているのかもしれない。もし、そうなら、ブログで公開すれば、誰かが、その間違いを訂正してくれるだろうと思って。
ブログを公開して、グーグル検索でも3位以内にずっと入っているおかげで、ずいぶん多くの人に見てもらって、コメントもかなりもらいましたが、未だに、納得する反論はありません。
それなのに、未だに、フレーム問題が人工知能の最大の難問だと言われ続けています。
本当に不思議です。
論文は書く予定はありませんが、機会があれば、別の形でも公開していこうと思っています。
ロボマインド・プロジェクトの目的はフレーム問題を解決するロボットの開発ではないので、そのようなロボットは作っていませんが、AIシステムは開発中なので、開発内容は随時公開して行く予定です。
>>まず、現在の状況は、バッテリの上に爆弾が載っています。
>>もし、爆弾がバッテリの上に載っていなければ、
>>バッテリを移動させればバッテリだけを洞窟の外に持って行くことができます。
>>つまり、バッテリの上に爆弾が載っている状況から
>>載っていない状況にすればいいのです。
>>バッテリの上に爆弾が載っている状況から
>>載っていない状況にするには、バッテリの上の爆弾を
>>バッテリの外に移動させればいいわけです。
これを、その状況を見た瞬間に判断できるのが人間。
あらかじめその状況を想定したプログラムを組まないと(現在の技術では)判断できないのがAI。
人間ならば、
仮に爆弾が接着剤でくっついていたら
接地部分を切り離せばいいと判断できます。
ガムテームでぐるぐる巻きにされていたら
テープをはがせばいいと判断できます。
田方さんの作ったロボットでは、
残念ながらそれができません。
接着止めされていた場合に、画像認識でそのことがわかりますか?
それを想定してシミュレーションする機能は備わってますか?
爆弾を持ち上げたときにバッテリーも一緒に持ち上がった場合の
考慮は足りていますか?
爆弾が二つだったら?横にくっついていたら?爆弾が重かったら?
いずれも人間ならば状況を理解し、
限定した手段から見事に解決策を見出すことができます。
AIにはそれが困難です。
これがフレーム問題です。
Aさん、コメントありがとうございます。
人間が、その状況を見た瞬間に判断できるのは、その状況でどのように動作すればいいのかの知識をもっているからですよね。
その知識は、人間は学習によって得られますよね。
AIでも、状況に応じてどのように動作するか学習すればいいだけではないですか?
ガムテープでぐるぐる巻きにされている場合の対処の仕方をAIが学習すれば対処できるようになるだけです。
人間がガムテープの対処方を教えてもらって対処できるようになることと、ロボットが学習によって対処できるようになることと同じだと思えますがいかがでしょう?
人間と同じ知識とアクチュエーターを備えていれば、人間が状況を理解し、限定した手段から解決策を見出すことと同じことがロボットにもできると思いますがいかがでしょう?
田方さん
>>ガムテープでぐるぐる巻きにされている場合の対処の仕方をAIが学習すれば
>>対処できるようになるだけです。
>>人間がガムテープの対処方を教えてもらって対処できるようになることと、
>>ロボットが学習によって対処できるようになることと同じだと思えますがいかがでしょう?
違います。
人間は、爆弾とバッテリーがガムテープでくっついている状況に初めて出くわしても、
ガムテープがものをくっつけるという性質、
ある程度力を加えれば剥がすことができるという経験から
目的達成のためにはガムテープを剥がせばいいと判断することができます。
一方、田方さんのおっしゃるロボットは、
爆弾とバッテリーがガムテープでぐるぐる巻きにされている状況を設定してあげて、
その場合にはガムテープを剥がすこと、とフレームを決めて学習させてあげなければ、
爆弾とバッテリーがガムテープでくっついている状況に出くわしたときに
目的達成のためにはガムテープを剥がせばいいと判断することができません。
人間はそんな状況を経験しなくてもガムテープを剥がせばいいと判断できます。
接着止めされている場合やその他、別の状況においても同様です。
>>人間と同じ知識とアクチュエーターを備えていれば、
>>人間が状況を理解し、限定した手段から解決策を見出すことと同じことが
>>ロボットにもできると思いますがいかがでしょう?
はい。そのとおりかと思います。
しかしながら、田方さんが本記事で示されている目的達成のステップを見れば、
そのロボットに人間と同じ知識が備わっていないことは明らかかと存じます。
実際、田方さんが本記事で示された、フレーム問題を回避できるはずのロボットは、
ガムテープを剥がすことができず爆発、N号機を改めてつくることになったわけです。
目的を仮に「爆弾もバッテリーと一緒にもってくる」に変更した場合を想像すれば、
人間とロボットの違いがよりわかりやすくなると思います。
人間は目的が変わっても、その目的に応じて再学習なしに適切な手段を選択できます。
ロボットは、フレームを決めてまた学習しなおしです。
Aさん
お返事、ありがとうございます。
これと同じことをロボットにさせれば問題ないのではないでしょうか?
「ガムテープはものをくっつける性質がある」、「ガムテープは、ある程度力を加えれば剥がすことができる」という知識をロボットが持っていたとします。
「バッテリのみ運び出す」という目的をロボットに与えたとします。
まず、画像認識で「バッテリと爆弾がガムテープでくっついている」という状況を認識します。
次に、目的達成のためには、バッテリと爆弾を離さないといけないと判断します。
バッテリと爆弾を離すには、ガムテープを剥がさないといけないと判断できます。
「ガムテープは、ある程度の力を加えれば剥がすことができる」という知識から、力をを加えてガムテープを剥がします。
ガムテープが剥がれると、バッテリのみ運び出すという目的が達成できます。
いかがでしょう?
何も問題ないのではないでしょうか?
なぜ、わざとややこしいことをするのかちょっと理解できません。
元記事を参考に説明します。
画像認識から、バッテリの上に爆弾が乗っていると認識します。
次に、3Dシミュレーションで、バッテリを洞窟の外に移動させると、その上に載っている爆弾も移動することが確認できます。
目的は、「爆弾もバッテリと一緒に持ってくる」ということですので、シミュレーション通りに実行すれば目的が達成されることがわかります。
そこで、シミュレーションどおりバッテリを洞窟の外に移動させます。
これで目的達成です。
何が問題なのでしょう?
その前に、Aさんのおっしゃる「フレームを決めて学習しなおし」の意味がよく分かりません。
そもそも「フレーム問題」とはフレームが決めれないことが問題なのですが、「フレームを決めて」とは、どうやって何を決めるのでしょうか?
また、「学習」とは具体的にどういうことでしょうか?
機械学習を想定しているのでしょうか?
機械学習であれば、大量の入力データと教師データから学習すると思うのですが、この場合、入力データは何で、教師データは何でしょうか?
バッテリが洞窟の中にある初期状態と、バッテリが洞窟の外にある目的状態があるとすれば、初期状態が入力データで、目的状態が教師データになるのでしょうか?
もしそういうことなら、その二つのデータから機械学習で何をどう学習するのでしょう?
Aさんの想定する「フレーム」「学習」について、詳しく教えていただけないでしょうか。
僕がなにか勘違いしているようならご指摘ください。
田方さん
ひょっとするとなんですが、
無限探索に陥ることがフレーム問題だと思っていませんか?
無限に探索しないように設計すればフレーム問題が解決だと思っていませんか?
だとするとそれは大きな誤解です。
フレーム問題というのは、
目的に応じて必要な情報や知識を取り出すことが難しいという問題です。
人間なら目的達成に関係のあることとないことを無意識に判断していますが、
その判断を機械的におこなうにはどうすればよいかという問題なんです。
フレーム問題の例として取り上げられているロボットの話は、
その難しさをフレームという概念を用いて説明するための、たとえ話にすぎません。
フレーム問題の本質は、
無数に存在する可能性の中から目的達成に必要な情報だけを取り出す判断基準を
ロボット自らに決定させることであって、
人間がその判断基準をロボットに設定してあげることでもなければ、
ロボットにバッテリーを運ばせることでもないのです。
フレーム問題の例にしても、
ガムテープの例にしても、
目的を変更した場合の例にしても、
田方さんはその意図を理解せず、
ただロボットにバッテリーを運ばせるために様々な制約を設け、
無限探索を回避することばかり考えているように見受けられますが、
それは田方さんが定めた目的達成のための状況と条件という
フレームの中でしか動くことのできないロボットをつくっているに過ぎず、
まさしくそれはトイプロブレムしか解けない探索ロボットと同じなんです。
繰り返しになりますが、
無限探索を回避するために人間が制約(フレーム)を設定することは、
フレーム問題の解決にはなりません。
そのフレームをロボット自らが設定できるようになることが、
フレーム問題の解決なんです。
以上を踏まえて、ぜひもう一度わたしのコメントや他の方々のコメントを振り返ってみてください。
話がかみ合わなかった部分や、意味のわからなかった部分、質問の意図が理解できるかと思います。
それと合わせて、本記事で提案されている選択肢に重要度をつける案も
フレーム問題の解決策としてナンセンスであることを確認してください。
よろしくお願いします。
Aさん
回答、ありがとうございます。
いいえ、そんなことは全く思っていませんよ。
Aさんの今回の回答は、僕がそのように思っていると勘違いを前提としている内容なので、今回の回答の中身は無視させていただきます。
さて、僕の言う「フレーム問題」とは、記事にも書いている通り、
という意味で使っています。
Wikipediaの「フレーム問題」を見ても、そのように書いていると思います。
「フレーム問題」で重要なのは、「フレーム」です。
「フレーム」の内側にあるのが、目的遂行に必要な情報で、外側にあるのが、不必要な情報です。
なので、「フレーム」さえ定義できれば、目的遂行に必要な情報のみ探索すればいいので、無限探索に陥ることなく、解を探索できるのです。
ところが、「フレーム」を定義できなければ、目的遂行に不必要な情報まで探索しなければならず、無限に解を探索してしまいます。
つまり、「フレーム」を定義できるかできないかが重要となってくるのです。
Aさんの定義する「フレーム問題」は、
とのことのようですが、肝心の「フレーム」に言及していないので、これでは「フレーム問題」の説明になっていません。
そこで根本的な点に立ち返ってAさんに以下の2点を質問させてください。
1.「洞窟の中にあるバッテリを洞窟の外に移動する」という問題の場合、Aさんは、人間は「フレーム」を見極めることができるとお考えでしょうか?
2.もし見極めれると考えているのでしたら、どのようにしてフレームを見極めるのでしょうか?
つまり、バッテリを動かすのに、壁の色が変わるかどうかは気にしなくてもいいということを、Aさんはどうやって判断するのでしょうか?
それとも、Aさんは、バッテリを動かすのに壁の色や天井の色を調べずにはいられないのでしょうか?
ご回答のほど、よろしくお願いいたします。
田方さん
>>1.「洞窟の中にあるバッテリを洞窟の外に移動する」という問題の場合、
>>Aさんは、人間は「フレーム」を見極めることができるとお考えでしょうか?
はい。
ただ、厳密にいうと
「フレームを見極めているような振る舞いにみえる」という考えです。
>>2.もし見極めれると考えているのでしたら、
>>どのようにしてフレームを見極めるのでしょうか?
>>つまり、バッテリを動かすのに、壁の色が変わるかどうかは
>>気にしなくてもいいということを、Aさんはどうやって判断するのでしょうか?
>>それとも、Aさんは、バッテリを動かすのに壁の色や天井の色を
>>調べずにはいられないのでしょうか?
どのようにフレームを見極めているかは厳密にはわかりません。
だからといって、壁の色や天井の色を調べることはしません。
おそらく目的の内容や常識なんかの知識から
バッテリを動かすのにそれらは関係ないなと、なんとなく判断します。
以上2点回答です。
そのうえで、わたしからも2点。
1点目。
>>Aさんの定義する「フレーム問題」は、
>> フレーム問題というのは、
>> 目的に応じて必要な情報や知識を取り出すことが難しいという問題です。
>>とのことのようですが、肝心の「フレーム」に言及していないので、
>>これでは「フレーム問題」の説明になっていません。
上記のようにコメントを引用するのであれば、
ぜひ中身を無視せず全部コメントを読んでください。
フレームに言及して説明しているので。
2点目。
>>「フレーム」さえ定義できれば、目的遂行に必要な情報のみ
>>探索すればいいので、無限探索に陥ることなく、解を探索できるのです。
>>ところが、「フレーム」を定義できなければ、
>>目的遂行に不必要な情報まで探索しなければならず、
>>無限に解を探索してしまいます。
やはり、無限探索に陥ることがフレーム問題だと勘違いしていませんか?
何度も申し上げますが、
無限探索を回避するために人間がフレームを定義してあげることは、
フレーム問題の解決ではありません。
Wikipediaだけでなく、
改めてわたしの前回のコメントを全文読んでいただけると幸いです。
Aさん
さっそくの回答、ありがとうございます。
Aさんは「目的達成のための状況と条件というフレームの中でしか動くことのできない」と言及しておられます。
ここから、「目的達成のための状況と条件」がフレームとなると考えられます。
僕の考える「フレーム問題」は、一貫して説明していますように、「フレーム」を決めれないことが「フレーム問題」と考えています。
Aさんのいう「フレーム」、つまり「目的達成のための状況と条件」が決めれるのか、決めれないかについては言及しておられません。
「フレーム問題」を議論する場合、「フレーム」をどうやれば決めれるかを議論しないと、別の問題になってしまいます。
そこで、「フレーム」の決め方に絞った議論を進めることにします。
回答、ありがとうございます。
僕のブログ記事では「フレームはこうやれば見極めれる」と説明しています。
それに対してAさんは、それは間違っていると強く反論します。
そこで、「Aさんは、どうやってフレームを見極めているのですか?」と質問すると「厳密にはわからない」が「何となく判断」している」とのことです。
僕が問題の解き方を間違っていて、Aさんが正しい解き方を知っているのであれば、それを教えてくれれば済む話なのですが、Aさんはそれは知らないけど、とにかく田方は間違っていると主張します。
どこかおかしくないですか?
もう少し議論を進めましょう。
僕が言いたいのは、「フレーム問題」は、人間が解くのと同じ方法でロボットにも解かせればいいということです。
その一例が、バッテリ問題で、その場合、人間ならこうやって解いているから、同じようにロボットにも解かせればいいという話です。
「フレーム問題」で本来言いたいことは、ロボットを現実世界に投入したとしても、人間には簡単に解ける問題でも解けないということです。
その反論として、僕は、人間と同じようにすればロボットにも解けるということを主張しているのです。
人間は、どんな問題でも解けるとは思っていません。
たとえば、バッテリに時限爆弾が取り付けられていたら、人間でも、時限爆弾の解除の仕方を知らなければ時限爆弾を解除できないですよね。
ロボットであっても時限爆弾の解除方法を知らなければ解除できませんよね。
そもそも、「フレーム問題」とは、人間に解けない問題をロボットに解かすという話しでもありません。
それではまとめに入ります。
バッテリを人間が運び出せるのであれば、その知識をロボットに持たせればロボットでも運び出すことができます。
バッテリに爆弾がテープで固定されていて、人間が、そのテープを剥がせるのであれば、人間と同じ知識をロボットにもたせればロボットでもテープを剥がせます。
Aさんは、28日のコメントで、
と主張しておられます。
この内容を素直に解釈すれば、人間は、新たに学習しなくとも、どんな状況でも解決できると述べているように思えます。
しかし、時限爆弾が仕掛けられた状況の場合、時限爆弾の解除の仕方を知らなければ、人間でも解決できないのではないでしょうか?
それとも、Aさんなら「厳密にはわからない」けれども「何となく」時限爆弾を解除できるのでしょうか?
人間も新たな知識を学習しないと解決できない状況があるなら、Aさんの言う、人間はどんな状況でも「限定した手段から見事に解決策を見出すことができる」との主張は間違っているのではないでしょうか?
僕の解決策は、人間ができてロボットにできない問題があれば、人間と同じ知識をロボットが学習すれば解決できるというものです。
解決できない問題が出てくるたびに学習することは、人間も行っていることであり、このことは「フレーム問題」とは関係のない話です。
田方さん
はじめまして。
Aさんへの回答について一言二言。
>>僕の解決策は、人間ができてロボットにできない問題があれば、人間と同じ知識をロボットが学習すれば解決できるというものです。
「人間と同じ知識をロボットが学習すれば」ということですが、
上記の「人間」というのは、私的には「人間=この世に生きているすべての人間(もちろん過去の人間も入れることが出来ます)」、もしくは「人間=人間の脳」という意味として受け取れます。
ということは、上記の引用文の意味は、「この世に生きているすべての人間の脳の情報をすべてロボットが学習すれば解決できる。」もしくは「人間の脳を100%解明出来れば解決できる。」と言っているように解釈できます。
「バッテリーの上に時限爆弾が仕掛けられていた」という設定について。
その時限爆弾を爆発させないようにする解決方法が、様々なフェイクや仕掛けによって超超超複雑な仕組みであったと仮定します。
普通の人なら解決は出来ないでしょうが、「この世に生きるすべての人間」がその解決に当たったのであれば、時限爆弾を設置したものが「人間」である以上、解決は「可能」であると言えます。
そう考えると、「この世に生きるすべての人間」の「脳」を100%解析して、その情報をロボットに学習させれば、田方さんの仰る通り「人間と同じ知識をロボットが学習すれば解決できる」と言えると思います。
無限にもあるフェイクや仕掛けを施した爆弾を「人間」が作っている以上、「この世に生きるすべての人間」=「人間と同じ知識を学習したロボット」が解決に当たれば、必ず解決することが「可能」です。
以前「人間に解決できないことはロボットにもできない」と言われていましたが、たとえ時限爆弾にどのような仕掛けが施されていたとしても、その解決方法がたとえ1億通りあったとしても、「人間」が作った仕掛けである以上、「人間(=この世に生きるすべての人間)」で解決に当たれば100%解決出来ます。
田方さんが提示されている解決方法は、上記のような考え方として受け取ることができますが、問題ございませんでしょうか?
ただ、このような解決方法って、ちょっと考えれば「不可能」であることは明白です。
「人間と同じ知識をロボットが学習すれば」と簡単におっしゃいますが、この世に生きる人間たちすべての脳の情報を余すところなく100%解析するという行為自体がそもそも「不可能」である以上、「人間と同じ知識」を学習させること自体が現実的には「不可能」なのではないでしょうか?
「人間と同じ知識を学習させる」
言葉で言うのは簡単ですが、この行為自体がとてつもなく難しいために、「フレーム問題」というものが存在しているのではないかと思います。
ですので、「人間と同じ知識をロボットが学習すれば解決できる」という言い分は、「宇宙の起源や正体を解明できますか?」という問題に対して「宇宙に存在する全ての星を調べれば解明できます。」と言っていることと同じです。
また、「地球上に住む全ての生物を解明できますか?」と聞かれたときに「地球上のありとあらゆる場所をくまなく調べれば可能です。」と言っているのとも同じです。
このようなことを一般的には「不可能」と言います。
そのような「不可能」な解決方法を提示されたところで納得する人は誰もいないでしょうし、「ああ言えばこう言う」といったような議論と言うには程遠い、言葉一つ一つの揚げ足の取り合いにしかならないように思います。
私は、「この世に生きるすべての人間(人間の脳)」を100%解析することが「不可能」である以上、「人間と同じ知識をロボットが学習する」ことも同様に「不可能」であると考えています。
よって、「人間ができてロボットにできない問題」は、「人間と同じ知識をロボットが学習する」こと自体が不可能である以上、「人間が解決できる問題」であっても「ロボットには解決できない」という事象は常に存在すると考えています。
田方さんは、たとえ「人間」そのものの解明が「不可能」であったとしても、それでも「人間と同じ知識をロボットが学習する」ことは「可能」であり、「フレーム問題」が解決できるとお考えでしょうか?
Bダッシュさん
コメントありがとうございます。
Bダッシュさんがどう受け取るかはBダッシュさんの勝手ですが、少なくとも、僕はそのような意図で述べておりません。
これもBダッシュさんの解釈であって、僕は、そのようなことは一切言っておりません。
そのようなことを僕が述べていると主張するのは全くの間違いです。
大いに問題があります。
ですから、僕はそんなこと全く主張していないですって。
そういえば、Aさんも「フレーム問題は無限探索のことだと僕が思い込んでいる」と、勝手に話を作り上げていました。それでも、少なくとも「無限探索」と僕の記事に出現したキーワードを使っていました。
Bダッシュさんの場合、「脳を100%解析する」とか、僕が微塵も書いてないことを僕が主張したことになっていて、いったい、なぜそんな話になるのか戸惑うばかりです。
もはや「フレーム問題」の意味や田方が主張する内容はかけらも存在せず、意味不明な質問が田方の息の根を止めたのであった・・・。
田方さん
わたしが主張しているのは、
問題の解き方が間違っているという以前に、問題そのものを誤解しているということです。
そして、問題認識を誤っているために解き方が見当違いであるということです。
田方さんは、返信コメントの各所で「勘違いがあれば指摘がほしい」とおっしゃっています。
ですので、わたしが改めてフレーム問題がどのような問題であるか説明してみます。
もし田方さんがフレーム問題について認識を改めるつもりがなければ、
以下、読んでいただく必要はありませんし、わたしもこれ以上のコメントを控えます。
—————————————————————————————–
フレーム問題というのは、
人間がなんとなくおこなう、目的に関係のあることとないことの取捨選択の判断を、
どのように機械的におこなうかという問題です。
人間はなにかをおこなうとき、当面の目的に関係のないことは無視します。
そして、関係のありそうなことに限定して思考します。
つまり、様々な事柄から関係のあることのみをフレームとして切り出している・・・
と、そう見えるわけです。
しかしながら、人間自身はこのフレームには無自覚です。
どのように目的と現実世界の事柄との関係有無を決めているか、
その方法はわかりません。
わかることは、
脳内でおこる化学反応および電気信号のやりとりの結果であるということだけです。
いかにして知性がタスクに関係のあるフレームを切り出しているか。
これがフレーム問題の本質です。
トイプロブレムでは、この問題が起きませんでした。
なぜなら、解くのに必要な情報しかロボットに与えていないからです。
しかし現実世界には、問題解決に不要な情報が多分に含まれています。
また、情報と情報は相互作用し、複雑な関係をもっています。
単純な探索問題を現実世界に当てはめたとき、
はじめて物事の関係を考慮する必要性がフレーム問題として浮き彫りになったわけです。
複雑な関係性をもつ現実世界からどのように問題を切り出して解けばよいのか。
その難しさを例示しているのがロボットの例となります。
1号機の失敗から、
目的に関係のある事項を考慮する必要性に気づきました。
2号機の失敗から、
目的に関係のない事項を除外する必要性に気づきました。
そして3号機の失敗から、
目的に関係のある事項のみを考慮するために
目的に関係のない事項を除外しようとするには
目的に関係のない事項の洗い出しをせざるをえないことがわかりました。
この3号機の失敗で言いたいことというのは、
無限に存在する情報を調べ上げるのは不可能だよね、
有限にするためにどうやってフレームを決めようか。
ということではなく
無限に存在する情報を全て調べ上げるのは不可能だから
必要な情報だけを調べるようにしたいけど、
必要かどうかを判断しないといけないから、
無限に存在する情報を全て調べ上げるしかなくね…?人間はどうやってるの…?
ということです。
つまり、目的に関係のあることのみを自動で切り出す難しさを主張しているんです。
田方さんは本記事で以下のように述べています。
>>壁の色が変わるかどうかなんか、調べる必要がないほど重要度が低いですよね。
>>つまり、現実世界は迷路と違って、選択肢に重要度をつけることができます。
>>重要度の大きいものをフレーム内、小さいものをフレーム外とみなすことができるわけです。
>>このように区別すれば、簡単にフレーム問題を回避することができるのです。
ここでいっている重要度は、人間が決めていますね?
人間が重要度を決めるのはフレーム問題の解決ではありません。
ロボットに重要度を決めさせるのがフレーム問題の解決なのです。
はっきり申し上げると、バッテリーを運びだすこと自体はどうでもいいんです。
洞窟に入り、バッテリーと爆弾の状況を目の当たりにしたとき、
ロボット自らが重要な事項のみを列挙できることが、
フレーム問題の解決になっていくのです。
しかしそれを素直にやろうとすると、
まさしく3号機目のロボットと同じ失敗に陥ることになります。
なぜなら、ロボットが認識した全ての事柄に対して重要度をつけさせようとすると、
この事柄は重要なのかそうでないのか、無限に調べ上げることになるからです。
総当りで調べ上げることなく、
いかに関係のあることのみを切り出すか。
いかに関係のないことを無視するか。
人間が当たり前のようにやっている無意識下での知性の振る舞いを機械的に表現することが、
フレーム問題の難しさであり、我々が解くべき人工知能の重要課題なのです。
—————————————————————————————–
以上がフレーム問題の説明です。
フレーム問題への認識、改めていただけましたでしょうか。
ある意味人間の思考そのものを定式化する話でもあるわけで、
だからこそ、フレーム問題が解決したともなれば、
人工知能に興味をもつ人は誰しも気になるわけです。
しかし、いざその記事を読んでみると、がっかりしてしまいます。
なんだ、解けたのは「フレーム問題」ではなく、
「ロボットがバッテリーの上に乗っている爆弾をどかす問題」なんだ…と。
3Dモデルを生成して物理シミュレーションさせるアプローチは斬新だし、
視覚的な情報をもとに想像をめぐらせる人間の行動ともマッチするので
田方さんの提案手法を全否定するつもりはありません。
しかしシミュレーションを使う場合においても、
ロボット自らになにをどうシミュレーションすればいいのかを判断させる必要があります。
天井が崩壊するシミュレーションはやったほうがいいのか、
時限爆弾が爆発するまで待機するシミュレーションはやったほうがいいのか…。
このときも、やはりフレーム問題にぶち当たるわけです。
そんなの明らかに無駄じゃん!関係ないじゃん!と思えるようなことを
ロボットにどう無視させるかが重要なのです。
わたしも人工知能に興味があり、田方さんのやろうとしていることには大変共感します。
だからこそ、間違っていることは指摘し、軌道修正していただきたいと考え、
これまでコメントをさせていただきました。
それらのコメントが田方さんの力添えになれば幸いです。
Aさん
ご意見ありがとうございます。
フレーム問題への認識を改めろといわれても、僕のどういう認識を改めないといけないのかという肝心のことが書いていないので、何を改めないといけないのか、または反省しないといけないのか分らず、本当に困っています。
Aさんは、10/30のコメントで、「無限探索に陥ることがフレーム問題と思っていませんか?」と勝手な推測をしていたので、それに対して僕は「そんなことは思っていないです」と丁寧に説明しております。
それにもかかわらず、10/31のコメントで「やはり、無限探索に陥ることがフレーム問題だと勘違いしていませんか?何度も申し上げますが、無限探索を回避するために人間がフレームを定義してあげることは、フレーム問題の解決ではありません。」と、勝手に僕の認識を作り上げた上で、それは間違ってると、また怒られてしまいました。
そして今回はとうとう、僕がどう間違っているかすら説明せずに、「その認識を改めろ」と僕を強く責めます。
でも、何を改めないといけないのか言ってもらわないと、僕も改めようがないです。
お願いですから、僕のどこが間違っていたのか教えてください。
もう、泣きそうです(T_T)
僕が何を改めないといけないのかはひとまず置いておいて、議論を先に進めましょう。
前回の僕からの指摘で、Aさんはようやく自分の認識間違いを改めてくれたようで^^;
「フレーム問題」の何が問題かを正しく認識してくれたようです。
これで、ようやくフレーム問題の本質的な議論ができますね。
それでは、「フレーム問題」のポイントについて、爆弾が乗ったバッテリを洞窟から取り出すロボットの例で説明します。
ロボットがバッテリを洞窟の外に移動させようとするとき、バッテリの移動に関係しそうな事柄を全て列挙し、バッテリを移動すれば爆弾が爆発しないか、バッテリを移動すれば壁の色が変わらないか、バッテリを移動すれば天井が落ちてこないか・・・と無限の事柄について調べないといけないことが問題となります。
これに対し、人間ならバッテリを移動するのに壁の色が変わるかとか、天井が落ちてこないかとか悩むことなくバッテリを運び出すことができます。
人間にできて、なぜ、ロボットにできないのでしょう?
それは、ロボットは自ら何が重要な事項か列挙できないからです。どこまでが重要なのか、枠組み(フレーム)を決めれないからです。
これが「フレーム問題」です。
さて、このバッテリ問題の場合、人は、どうやってフレーム問題を解いているのでしょう?
このことについて、Aさんは「厳密にはわからない」けれども「無意識下」で「何となく判断」していると述べています。
僕は、この「無意識化で何となく判断」していることを、意識的に注意深く考え、苦労して解法として導き出しました。
それでは、人間が無意識に行っている方法を説明します。
バッテリを移動させると、その上に乗った爆弾も移動することがわかります。
そこで、爆弾を移動させないようにするために爆弾をのけてからバッテリを移動させればよいと人間は判断します。
このように人間が頭の中でイメージするのと同じことをロボットができれば、ロボットでもフレーム問題を回避することができると考えました。
それが記事に書いた、3Dシミュレーションを使った方法です。
もう少し詳しく説明します。
バッテリのみ洞窟の外に運びだす目的を設定し、バッテリを洞窟の外まで移動させるシミュレーションをコンピュータで行います。
すると、爆弾も洞窟の外に移動することがわかります。
そこで、次は、爆弾を移動させない目的を設定します。
「Aの上にBが乗っていれば、Aを動かすとBも一緒に動く」という知識を持っていれば、「Aの上にBが載っていなければ、Aを動かしてもBは動かない」という知識を導きだすことができます。
この新たな知識を適用すれば、爆弾をバッテリの上からのければ、バッテリのみ洞窟の外に移動させることができると推測することができます。
爆弾をバッテリからのければ、バッテリのみ洞窟の外に運び出すことができるのです。
このことは言い換えると、爆弾をバッテリからのけることは重要であり、壁の色が変わるかとか、天井が落ちることは重要でなく、シミュレーションまでして調べる必要がないと判断しているわけです。
つまり、何が重要で、何が重要でないかという、まさに「フレーム問題」を解いていることになるのです。
意外とあっさりフレーム問題が解けてしまいましたね。
それじゃ、逆に、マッカーシーは、なぜ、こんな簡単な問題が解けないと思ったのでしょう?
それは、マッカーシーの想定したのが迷路探索問題だったからです。
迷路問題を解くには、分かれ道を全て列挙し、それらを全て調べ上げて解きます。
それと同じことを現実問題に当てはめてみましょう。
考えるべきことが無限にあるので、全部考えていればロボットがフリーズしちゃうじゃん!
ほら、AIロボットなんか作っても、現実には役にたたないでしょ!
(`^´) ドヤッ‼
これがマッカーシーの論理です。
でも、こんな論理、どこか変ですよね。
どこか間違ってますよね?
それは、現実世界で問題を解くのに、まず考えられる方法を全て列挙し、次は、何も考えず、ただそれを上から順に全て調べるってとこです。
そんなこと、人間がしますか?
しないですよね。
人間が無意識で行っていることを、意識して書き出したのが、僕が提案した手法です。
全ての問題がこの手法で解決できるわけではないですが、少なくとも、どんな問題が起こっても、考えられるあらゆる方法を列挙し、上から順番に調べるという解法しかしないというのは、かなり無理のある論理です。
それでは、マッカーシーは、なぜ、こんな極端なことを言ったのでしょう。
それは、1960年代の人工知能を考えると、探索の方法は、こういった方法しかなかったので、それは致し方なかったのかもしれません。
でも、そこから50年以上経った現代は違います。
コンピュータ技術が発展し、問題を解く手法も他にも色々あります。
マッカーシーが提案する方法しか使ってはいけないなどと、だれも言っていません。
これが僕の言いたいことです。
「フレーム問題」は解決済みとは、こういうことです。
さて、今までのAさんとの議論から考えると、僕の提案する手法に対する反論がいくつか考えられます。
まずは、この手法で解けるのは、ロボットがバッテリの上に乗った爆弾をどかす問題だけじゃないかと。
それ以外の問題は解けないじゃないかと。
これに対する僕の回答はこうです。
目的の行動のシミュレーションができ、目的の行動に必要な知識を持つ。
目的に応じて行動を分割し、関連する知識を組み合わせて適用する。
これができる問題なら、バッテリ問題以外でも解けるでしょう。
しかし、全ての問題がこの手法で解けるわけではありません。
解けない問題が出てくれば、また、別の手法をプログラムで組まないといけません。
そうなると、次の反論がでてくるでしょう。
問題が起こるたびにプログラムを組んで教えていては意味ないじゃないかと。
教えなくとも、何でも自分で解決できるロボットでなければ使い物にならないではないかと。
このことに関しては前回も回答しましたが、人間でも知らないことはありますし、知らないことを教えてもらって人は成長します。
AIロボットも同じです。
目標とするのは、人間と同程度のAIであって、何でもできる全知全能の神のようなAIロボットを目指しているのではありません。
または、次のような反論があるかもしれません。
この方法は、人間がプログラムを組んでロボットに教えているのであって、ロボット自ら考えているのでないと。
これに関しては、「その通りです」としか答えようがありません。
どんなAIロボットであっても、何のプログラムもなく、自ら勝手に考えて動き出すことはあり得ません。
最低限のプログラムは人間が組んで教える必要があります。
Aさんの今までのコメントから考えられる反論はこのぐらいでしょうか?
Aさんのおかげで、多くの人が「フレーム問題」の何を勘違いしているのかよく理解できました。
これで、「フレーム問題」について考えられる全ての疑問に回答したと思いますので、Aさんも「フレーム問題」は解決済みだということが理解できたことでしょう。
もしかしたら、プログラムを作ったことがなければ、理解が難しい点があったかもしれません。
もし、まだわからないことがありましたら、どの部分がわからないか正確に引用して質問していただければと思います。
田方さん
はじめまして。
早速で失礼ですが質問があります。
バッテリーの上に爆弾が置かれている状況があるとして、その周りの環境が爆弾を放置できない状況であった場合、ロボットはそれをどのように判断するのでしょうか?
例えば、大勢の人混みの中だとか、そこでは爆発させてはいけない状況にあった場合にはどうするのかと。
もし人間だったら、その場の状況を見て、爆弾とバッテリーを安全な場所に移動して、そこで爆弾を取り外してからバッテリーのみを持ってくるとか、どのような状況であれ、ある程度迅速に判断して処理すると思うんですよね。
爆弾とバッテリーがおいてある環境やシチュエーションなんて、言ってしまえば無限にあると思うのですが、そんな中、ロボットが「ここで処理してもOK。」「ここで処理してはダメ。」「ここまで運んで処理すれば大丈夫。」など、二次的被害、三次的被害も考慮しなければならない場合、何を基準に爆弾処理の仕方を判断するのでしょうか?
ちなみに、ロボットのカメラで見える範囲以外にも人がいたりしますので(建物の中とか、隣の部屋とか、街中を走る電車の中とか)、周囲をスキャンしてシミュレートするだけでは不十分な場合もあるかと思います。
人間は、目に見える状況以外のことも考えて、想像力を働かせて安全な処理判断することができると思いますが、このような状況であったとしても、ロボットは人間と同じように行動できますか?
以前書かれてた「人間と同じ知識をロボットが学習すれば解決できる」と言われていましたが、人間一人の知識といってもすっっっごく膨大なので、自分的には「学習すれば解決できる」とあっさり言えるほど簡単なことではないのではないかと思っています。
ということで、下記のような疑問があります。
①ロボットは、どのような状況であったとしても、二次的被害、三次的被害を考慮するなど、人間と同じように行動できますか?
②もし、同じ行動ができる場合、ロボットは何を基準に現場の様々な状況を判断して爆弾処理を行うのでしょうか?
③膨大で複雑な人間の知識を、どのようにして人間と同じようにロボットに学習させるのでしょうか?
④どれ程の知識(情報量)をロボットに学習させれば「人間と同じ知識を有したロボット」が完成できるのでしょうか?
自分は素人なので、厳密なところの「フレーム問題」とは関係がない質問も中にはあるかもしれませんが(それすら素人なので判断できません)、下記は今までの議論を読んできた中での率直な疑問として思い浮かんだものですので、もし教えて頂けるのであればありがたいです。
よろしくお願いします。
通りすがりんさん、質問ありがとうございます。
おっしゃる通り、この質問は「フレーム問題」を超えた質問になっていますね。
ただ、このような疑問の方が、よりAIの本質に近く、難しい問題となります。
本来の「フレーム問題」自体は、記事にも書いたとおり、簡単な問題なんです。
通りすがりんさんの質問こそ、ロボマインド・プロジェクトが取り組んでいる課題となります。
すべての疑問に答えれるわけではありませんが、できるだけ回答していきます。
まず、膨大で複雑な人間の知識をどう扱うかについてです。
これは、常識をどうやってAIに教えるかという古くから存在する問題です。
その一つの解決策として、「概念」で管理するというものがあります。
「ラーメン」は食べれる、「チャーハン」は食べれると、食べれる物をすべて列挙するのでなく、「ラーメン」「チャーハン」は食べ物概念に属し、食べ物概念に属する物は食べることができると管理するものです。
このような考え方はオントロジーなど、古くからおこなわれていて、ロボマインド・プロジェクトでも採用しています。
詳しくは「言葉の意味をどう定義するか」を参考にしてください。
次は、人間と同じように行動できるかの話です。
ここが、ロボマインド・プロジェクト独自の方法で、人間の行動を感情(認知パターン)で整理するというものです。
詳しくは「認知パターン」を読んでもらえればわかると思うのですが、たとえば、善悪といった概念は、社会(第三者)にとって良いことか、悪いことかで定義できます。
良いこととは、その人にとってプラスとなること、悪いこととは、その人にとってマイナスになることです。
たとえば、道にゴミを捨てると住民は困りますよね。これは悪です。
道で迷っている人を助けると、その人は喜びますよね。これは善です。
こういった善悪や概念で状況を整理すれば、「洞窟の中で爆弾を爆発させる」「ビルの中で爆弾を爆発させる」・・・とシチュエーションが無限にあったとしても、現実的に計算可能なレベルまで計算量を減らせることができると考えます。
「どのような状況でも可能か」とか、「どの程度の知識を学習させれば完成か」といった質問ですが、これは正直わからないとしか答えれないです。
田方さん
はじめまして。
田方さんのAさんへの回答の中で、気になることがありましたのでメッセージさせていただきました。
>> それでは、人間が無意識に行っている方法を説明します。
>> バッテリを移動させると、その上に乗った爆弾も移動することがわかります。
>> そこで、爆弾を移動させないようにするために爆弾をのけてからバッテリを移動させればよいと人間は判断します。
>> このように人間が頭の中でイメージするのと同じことをロボットができれば、ロボットでもフレーム問題を回避することができると考えました。
「人間が頭の中でイメージするのと同じことをロボットができれば・・・」という点について。
爆弾問題について、仮に下記のようなシチュエーションがあったとします。
目の前で「赤ちゃん」に爆弾が仕掛けられています。
その隣には「不治の病が100%完治する薬」に爆弾が仕掛けられています。
その隣には「モナリザの絵(本物)」に爆弾が仕掛けられています。
その隣には「現金100億円」に爆弾が仕掛けられています。
この4つの爆弾は全て連動しており、その内一つだけ解除して取り外すことができます。
助けられるのは一つだけです。
そこで、その状況を見た
人間Aは、瞬時に無意識に赤ちゃんの尊い命を救わねばと頭の中でイメージしました。人間として当たり前の行為だからです。
人間Bは、瞬時に無意識に薬を守らねばと頭の中でイメージしました。世界の人々の命を救えるので迷いはありません。
人間Cは、瞬時に無意識に貴重な絵画を守りたいと頭の中でイメージしました。歴史的価値のある絵画は人一人の命や大金より遥かに尊いからです。
人間Dは、瞬時に無意識に100億円を守りたいと頭の中でイメージしました。100億円あれば飢餓に苦しむ大勢の命が助けられるので当然の選択です。
上記4人の人間は、生まれた国も性別も年齢も学歴もそれぞれバラバラです。
では田方さんに質問です。
AIロボットは、どの「人間」の「頭の中をイメージ」して「どの爆弾を取り外す」のでしょうか?
>> 人間が頭の中でイメージするのと同じことをロボットができれば、ロボットでもフレーム問題を回避することができる。
田方さんは、このようにフレーム問題を回避できると言われておりますので、上記シチュエーションの中で、AIロボットが「何が重要」で「何が重要でないか」をどのように判断して上記の問題を解決するのか教えてください。
教えて頂ければ、「フレーム問題が解決済み」であることを、私自身ちゃんと納得出来て夜もぐっすり眠れるものと思います。
ちなみに、人間である私は、あることを瞬時に無意識に頭の中でイメージして、あるものから見事に爆弾を取り外すことができました。
ですので「人間が出来ないことはロボットにもできない」という前提は成り立たないものとします。
それではご回答よろしくお願い致します。
ぱんださん、質問ありがとうございます。
ぱんださんの質問は、いわゆる「トロッコ問題」と言われるもので、「フレーム問題」ではありませんね。
「フレーム問題」とは、AIを現実世界に投入したとき、人間なら簡単に解ける問題でも、AIは無限の選択肢をすべて計算しようとして動けなくなってしまうという問題です。
「トロッコ問題」は、すべての選択肢が実行不可能であるので、「フレーム問題」とは根本的に異なる問題となります。
「トロッコ問題は解決済み」という話ではないので、ぐっすりお休みください。
ここがちょっとよくわからないのですが、これは、ぱんださんは、
の問題を解く方法がわかったということでしょうか?
もしそうなら、その方法を教えてもらえれば、ロボットでも解決できると思います。
ただし、プログラム可能な方法に限るのですが。
超能力を使って、一瞬で爆弾を消滅させるとか、そういうのはナシですよ。
わかっているとは思いますが。
田方さん
ご回答ありがとうございます。
私の解答についてですが、答えは「モナリザの絵(本物)の爆弾を解除する」です。
まず、赤ちゃんが寿命をまっとうするまで待ちます。
もちろんその間は爆弾を付けたまま過ごすことにはなりますが、他の爆弾とは「連動」しているだけで、コードが繋がっているわけではありません。
また、問題に「時限爆弾」とは書いていませんでしたので、解除するのに時間的な制限はありません。
ただ、いくら時間制限が無いとはいえ、取り外すことが目的ではありますので、「放置する」というのは解決したことにはなりません。
「不治の病が100%完治する薬」は、薬だけが爆発するだけで開発ノウハウそのものはどこかに残っているので、また作れば大丈夫です。
現金「100億円」は、仮に爆発して無くなっても、また発行すれば何とかなるという解答もできますし、モナリザの絵を誰かに100億円で買い取ってもらえれば大丈夫です。
100億円でも安いみたいなので、もっと高値で買い取ってくれるかもしれません。
実はこの問題は、倫理観を問う問題ではなく、人間が論理的に考えれば解ける問題です。
もちろん「赤ちゃんが寿命をまっとうするまで待つ」というのは非現実的な解答かもしれませんが、論理的な解決方法という意味では間違ってはいないと思います。
「時限爆弾ではない」という前提も、ロボットが目の前の爆弾を調べた結果導き出された状況という意味で「時限爆弾」とは書いていないだけで、言葉を読み解く論理パズルのような問題でもありません。
眼の前にある状況を「論理」を持って解決するのか。
それとも「倫理」を持って解決するのか。
このように、ロボットが「どちらの解決方法を選択しなければならないのか?」という状況に遭遇したら、何気に思考停止に陥りそうな気がするのですが、どうなんでしょうか?
ぱんださん
お返事、ありがとうございます。
みごとな解答でしたね。
すばらしい「とんち」だと思います。
ただ、申し訳ございませんが、ここは「とんち道場」ではございません。
ここは、「フレーム問題」について議論する場で、「とんち」や「なぞなぞ」を出し合ったりする場ではありません。
ましてや、田方を困らせる問題を出した者が勝ちといったゲームではありませんので。
その点を理解していただいて、今後は、「フレーム問題」と直接関係のない質問やコメントは、「お問合せ」からしていただければと思います。
田方さん
はじめまして。AIについては全くの素人ですがこの記事とコメントのやりとりを見て興味をそそられたので自分の考えを勝手に羅列させて頂きます。
まずフレーム問題の定義が人によってまちまちなのかなと思ったのでwikipedia先生を参考とさせて頂きます。
“有限の情報処理能力しかないロボットには、現実に起こりうる問題全てに対処することができないことを示すもの”
まず”問題に対処する”というのが”求めている作業を遂行する(爆弾を処理するなど)”と解釈する事を前提とさせてください。
であるならば問題対処に当たり起こりうる課題について想定出来る範囲で判断基準を事前学習させておき、事前学習させたどの判断基準にも適合しない事柄が発生した場合は爆弾処理をするかしないか2択を選択させるようにプログラムする。(爆弾処理を継続しない場合人間にその旨を報告するなど)
そうすればロボットは止まらず(無限思考)何かしらの行動を起こすはずです。
この場合爆弾処理は出来ない(問題対処)かも知れません。
話を拡大します。
爆弾処理以外にも様々な問題に対しても判断基準を事前学習させておきます。
本来あらゆる問題が無限の数だけあるように、その判断基準も無限にあると思います。なので人間がロボットに対し無限の数だけ判断基準を学習させることは不可能です。
では人間の場合です。
あらゆる問題に対して人間は個人差はあれどあらゆる判断基準を持っていますがその判断基準は経験則によるものだと思います。何となく判断したものについても必ず何かしらの理由があるはずです。
たとえば本能だって理由だと思います。
もし仮にロボットの中の判断基準に適合しない事が発生しても学習を人間に依頼するようプログラムしておけば思考ループに陥る事は無いと思われます。
それはフレーム問題じゃない。フレーム問題の解決になってないと言われたらそれまでですが、
人間だってわからない事があったら調べたり誰かに聞いたりすると思います。
(人間もフレーム問題を解決出来てないとはこーゆー事なのでしょうか?)
目指すべきAIの姿が何か、AIとは何かという話しにもなりそうですが上記のようにプログラムすれば人間の様な振る舞いをするロボットは作れると思います。
(ここでいう振る舞いとはあくまで思考パターンのみで体の動きとかでない)
大事なのは目指す姿がどこなのかだと思います。
長々と長文で失礼しました。
また、今回の議論の趣旨と外れてるかもというのも薄々感じております。
※ぶっちゃけ自分もアホなのでよく思考停止するし自分では判断出来ないときはすぐ誰かに聞いちゃうので、自分より優秀なロボットなんかいくらでも作れそうだなって思います。笑
それがAIと呼べるかは不明ですが。
zonvaio様
コメント、ありがとうございます。
ほぼ、zonvaioさんのおっしゃる通りだと思います。
人間も、現実に起こり得る全ての可能性を調べているわけではないですが、優先順位をつけて、通常起こり得ないことは無視するなどして工夫しながら探索しています。
全ての可能性を調べきれてないということに関しては、人間も「フレーム問題」を解決していないと言えますが、工夫して対処しながら問題なく生活していますので、ロボットにも、人間と同じように対処させればいいだけの話なのです。
「フレーム問題」が生まれた1960年代の人工知能なら、起こり可能性のあること全て調べるしか探索方法がなかったのですが、現在なら、人間と同じように調べることは可能です。
「フレーム問題」が起こると言い続ける人は、なぜ、未だに1960年代の探索方法しか使わないのか不思議で仕方がないです。
世界中で言われ続けていますし。
これを僕は「フレーム問題」の呪いと呼んでいます。
フレーム問題は「解決」できず、「回避」できるのみと私は考えています。
というのも、フレーム問題は、無限(またはほとんど無限と言って差し支えないほどの膨大な量)の問題に対して、時間計算量的・空間計算量的に有限のリソースしか持ち得えなければ全探索は不可能、という極めて単純な原理に基づいているからです。
ならばどうやって回避するのかというと、全探索を諦めるのですから、ヒューリスティクスを用いるよりありません。
そうすれば、限られたリソースで「それなりに正解っぽい」答えを導くことができます。
ただし、その場合は導かれた答えが本当に正解(最適解)かどうかは保証がありません。
局所解に陥っている危険性を孕むわけです。
これはAIを人間に置き換えても同じことではないでしょうか。(AIにおけるフレーム問題を、人間の認知における問題に拡張すると、一般化フレーム問題と呼ばれるようですね)
人間は知識や経験、あるいは生物学的な本能などに基づくヒューリスティクスを用いて、現実の問題に対処しようとしていると言えると思います。
なので、たいていはうまく対処できているように見えますが、たまには想定外の事態が起こるし、どんなに最善を尽くしたつもりでも、後になってやっぱり失敗だったと気づいて後悔したりもします。
このように、AIでも人間でも「想定外」をリスクとして抱えることが、ヒューリスティクスを用いてフレーム問題を回避することとトレードオフになっていると言えるでしょう。
結局のところ、田方さんが仰っている「AIにも人間と同じように判断させれば良い」というのは、「AIに人間と同等のヒューリスティクスを実装すれば良い」と言い換えられると思います。
そうすれば確かにフレーム問題を回避できます。
ただ、おそらくこれが言うほど容易いことではなかったというのが、過去2度のブームを失敗してきたAI史の闇の正体ではないかと思います。
問題なのは「人間と同等の」と言う部分です。
フレーム問題が提起されるようなシーンで使う「AI」は、汎用人工知能を指すと思いますが、これが実現できたと言えるためには、少なくとも社会に生きる多くの人間と同様の振る舞いができなくてはいけません。
どなたかのコメントにも似たような例があったかと思いますが、AIにお金を渡してマクドナルドでハンバーガーを買ってくるように頼んだだけなのに、いつの間にか警察の厄介になっているようでは困るわけです。(途中でヤンキーにどつかれてお金を盗られ、ハンバーガーを買えなくなってしまったのですが、他人のお金を盗ることを学習したので、同じことをしてハンバーガーを買おうとしたとか)
失礼を承知で申し上げますと、田方さんの上のレスにある「通常起こり得ないことは無視するなどして工夫しながら」という言葉からも、人間と同等のヒューリスティクスの実装はまだまだ難しそうということが垣間見える気がします。
「通常」とか「など」とか「工夫」とか、曖昧さを象徴する言葉が無意識に入ってしまっていますよね。
別に田方さんがというわけではなくて、人間自身が普段無意識に使っているヒューリスティクスがどういうものなのか、完全には理解できていないということだと思います。
そういった現状を踏まえ、今後のAI研究の発展のためには、認知科学、社会科学、神経科学などの、他分野の研究が不可欠と論じておられる研究者の方も(かなり以前から)おられるようです。
一方で、現在3度目のAIブームですが、その方向性は汎用人工知能よりも、限定的な問題を解くことに特化して、人間の判断の補助に利用する方向で進んでいると思います。
言いたかったことのまとめ:
フレーム問題はヒューリスティクスで回避すれば良い。
ただし、必然的に想定外というリスクを許容しなくてはならない。
このリスクを人間と同等のレベルにまで下げるのが難しかったというのがこれまでのAI史の闇。
今後、これは達成できるだろうか?(なんとも言えないが、個人的にはわりと悲観視している)
ねこみみ様
コメント、ありがとうございます。
「フレーム問題」の中身に沿ったコメントが増えてきて、嬉しく思っています。
ねこみみさんのおっしゃる通りだと思いますが、いくつか、コメントさせてください。
ヒューリスティクスという言葉は、僕は敢えて使わないでいました。
なぜかというと、ヒューリスティクスとは具体的な解法を指すのでなく、その場に応じてうまく対応するといった程度の意味しかなく、そのような曖昧な言葉で議論しても議論にならないからです。
たしかに僕は、「人間と同じように判断させる」との表現をしていますが、これはヒューリスティクス的に対応するという意味でなく、記事にも書いたように、「爆弾が上に乗ったバッテリを洞窟から取り出す」という問題において、「物理シミュレーションで確認しながら動作を決定する」という手法のことを指しています。
これが「人間が頭の中でイメージする」こととほぼ同じなので、「人間と同じように判断させる」との言葉でまとめただけです。
僕は、ヒューリスティクスで回避すればよいとは一言も言っておらず、そのように考えてもいませんので、その点は誤解のないようにお願いいたします。
「フレーム問題」とは、全探索していては無限の時間がかかる問題です。
人間は、考えても無駄なことは調べもせず、効率よく行動しています。その一つの手法として、僕は物理シミュレーションを提案したわけです。
この方法であらゆる問題が解決するとは思っていませんが、少なくとも、バッテリ問題は、この方法を使えばAIロボットでも解けそうです。
ジョン・マッカーシーの時代には、全探索問題は全て探索するしか解きようがなかったかもしれませんが、それから50年以上経った現代では、さまざまな手法を工夫すれば、バッテリ問題なら、いくらでも解きようがあると思っています。
(「さまざま」とか「工夫」とかの曖昧な言葉を使ってしまったので、また、ねこみみさんから怒られそうですが)
僕が提案する「物理シミュレーション」は一つの例で、これであらゆる問題が解決するとは思っていません。
しかし「物理シミュレーション」で解けない問題が出てくれば、他の方法を工夫すれば解ける可能性はあります。
これを「ヒューリスティクス的に解決」と一言で表現するのはちょっと乱暴ですので、個々の問題ごとに議論すべきと思いますが。
個人的には、現在のAIブームの主流であるディープラーニングは、画像処理や機械翻訳など、正解が存在する問題ではうまくいきますが、そうでない問題、たとえば人間が普段する日常会話などには全く適用できないと考えています。日常会話ができるようになるには、人間の心や意識が解明できないと無理ではないかと思っています。
認知科学や社会科学、神経科学など他の分野の研究を参考にすればいいとの意見もありますが、そういった分野で心や意識が解明されているわけではないので、参考にしたところで、人間のように会話できるAIができるとは思えません。
そこで、意識や心の仕組みを解明したロボマインド・プロジェクトが意味を持ってくるのです。
もし、興味がありましたら、研究開発ブログを最初からお読みください。
田方さん
お返事ありがとうございます。
お返事の内容を読ませていただいて、まず議論が噛み合ってないように感じました。
先のコメントにも書きましたが、フレーム問題は汎用人工知能を議論するときに大前提となってくる問題という認識です。
ですので、汎用人工知能を想定してコメントを書いていました。
ですが、田方さんのコメントを読むとある特定の問題を解決する特化型人工知能のことをお話しされているように思います。
さらに言えば、「人間と同じように判断させている」というより、人間の判断をお手本としてそれをエミュレートさせているだけのように思えます。
こういった手法は第二次AIブームの時のエキスパートシステムが好例ですが、一定の成果を上げたとともに、汎用人工知能よりも特化型人工知能にAI研究が進んでいった経緯があります。
そして、現在でも特化型人工知能に注力したAI研究が主流かと思います。
田方さんのプロジェクトがどこを目指しているのがイマイチよくわからないのですが、「意識や心の仕組みを解明した」と仰るからには、何かそれに関する論文は出されていますか?
査読がないブログよりも、査読された論文がある方がずっと信頼できるので、そちらを紹介していただけると幸いです。
ねこみみ様
お返事、ありがとうございます。
今回のコメントを読んで、どうやら、ねこみみさんは、いろいろ誤解されていることがわかりました。
議論が噛み合ってないというより、どうも、ねこみみさんは、AIについて、それほど詳しくないようですね。
まず、「フレーム問題」は、汎用人工知能の議論の前提にする話ではありません。
「フレーム問題」でジョン・マッカーシーが言いたかったのは、「AIロボットができたとしても、バッテリを洞窟から持ち出すことすらできない。だからこれ以上AIを開発しても時間の無駄になるよ」ということです。
なので、バッテリ問題を解決すれば、少なくとも、ジョン・マッカーシーの主張は覆すことができます。
ただ、バッテリ問題を解決したからといって、そのAIロボットは、人間ができるどんなことでもできるという話にはなりません。
つまり、「フレーム問題」が解決したからといって、それが汎用人工知能になるわけではありません。
そもそも、「フレーム問題」が提案された1969年は、まだ、汎用人工知能という言葉も概念もありませんでしたので、「フレーム問題」と汎用人工知能をつなげて考えるのには無理があります。
この文章から、おそらく、ねこみみさんは、プログラムというものを自分で作ったことがないことが分かります。
少なくとも、プログラムに関する知識がほとんどないと思われます。
プログラマーなら、「人間の判断をお手本としてそれをエミュレートさせているだけ」が、どれほど難しいかということかをわかりますので、気軽にこんなコメントは出てきませんので。
もし、人間の判断をお手本にしてエミュレートできたとしたら、それこそ、汎用人工知能ですよ。
それができないから、みんな悩んでいるのです。
前回は、「ヒューリスティック」について、「人間は知識や経験、あるいは生物学的な本能などに基づくヒューリスティクスを用いて、現実の問題に対処しようとしている」とか、「社会に生きる多くの人間と同様の振る舞い」と説明し、マクドナルドでハンバーガーを買ってくるように頼まれて、警察の厄介にならないようにするのが人間と同等のヒューリスティックと述べておられました。
これらの言葉からも、ねこみみさんは、人工知能でいうヒューリスティックをあまり分っていないと感じました。
たしかに、人工知能のヒューリスティックを辞書で調べると、人間の経験などによって正解を導き出すようなプログラム上の工夫というような説明がされていますが、それは、ねこみみさんが思っているような大げさな話ではありません。
たとえば、ある解法において、特定の条件でパラメータを変更したりすれば、なぜかうまくいくというような、人間の経験に根差した工夫をヒューリスティックといいます。
ハンバーガーを買いに行ったけど、途中でお金を盗られるといった例外が起こった場合の人間の工夫のことは、ヒューリスティックとは決して言いませんので。
「フレーム問題」や「汎用人工知能」、「ヒューリスティック」といったAIに関する知識は、ねこみみさんは、本で軽く読んだりネットで調べただけの知識で語っているだけではないでしょうか?
この短い文章もちょっと意味がわからないですね。
どこからツッコんでいいのか悩みますが、まずは、汎用人工知能から特化型人工知能にAI研究が進んでいったとのことですが、真逆ですよ。特化型人工知能から、現在は汎用人工知能を目指して研究が進んでいるのですよ。
よく2045年のシンギュラリティと汎用人工知能の実現がほぼ同等の意味で使われます。
このことからも、汎用人工知能という言葉が使われだしたのは最近のことといえます。
また、第二次AIブームで行っていたのは汎用人工知能と読み取れますが、第二次AIブームで行われたものは汎用人工知能ではないです。
それと、エキスパートシステムも、汎用人工知能ではないですよ。
たぶん、何かの読み間違いだと思うので、読んだ本を読み返してみてください。
だから、研究開発ブログを最初からお読みくださいとアドバイスしたと思うのですが。
これが、ねこみみさんの最も大きな勘違いのようですね。
僕は、大学や研究所に所属したり、誰かに頼まれてお金をもらって研究しているわけではありません。
単に、好きでソフトを作っているだけですよ。しかも自分のお金で。
だから、論文を書く義務もないですし、論文を書くことにも興味がないので論文は書いていません。
ただ、興味ある人に読んでもらおうと思って、自由にブログを書いているだけですので。
もし、ねこみみさんが興味あるのでしたら、ぜひブログをよんでいただければと思いますが、興味がなければ、無理に読む必要はないですよ。
田方さん
お返事ありがとうございます。
想像以上に人格否定的なコメントが含まれていて、少々びっくりしました。
私はAIの研究者ではないので、ご指摘の様に「AIについて、それほど詳しくない」と言われれば、確かにその通りです。
その上で、いくつか確認させてください。(文脈上、一部順番が前後しているところもあるのでご了承ください)
>>まず、「フレーム問題」は、汎用人工知能の議論の前提にする話ではありません。「フレーム問題」でジョン・マッカーシーが言いたかったのは、「AIロボットができたとしても、バッテリを洞窟から持ち出すことすらできない。だからこれ以上AIを開発しても時間の無駄になるよ」ということです。なので、バッテリ問題を解決すれば、少なくとも、ジョン・マッカーシーの主張は覆すことができます。
これは本当ですか?
マッカーシーはAI研究の第一人者で初期のAI研究を強く推進していたと人物と思いますので、AI開発に否定的なことを言ったとはにわかに信じられません。
そこで、フレーム問題について述べられているマッカーシーとヘイズの「SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTIFICIAL INTELLIGENCE」(1969)に当たってみました。幸いウェブ上で公開されているので誰でも閲覧可能なのですが、私の拙い読解力ではやはり田方さんが仰るようなことが書いてあるようには読めませんでした。この論文はタイトルにあるようにAIの開発には哲学的な問題が付随すること、記述形式とそれに関連する問題(この中の1つとしてフレーム問題が取り上げられています)、1969年時点での既存の試みなどがレビューされていると思いますが、少なくとも「AIを開発しても時間の無駄」というような否定的なニュアンスは感じられませんでした。もしかしたら、私の見落としかもしれないので、その際は「ここを読め」など、具体的にご指摘いただけるとありがたいです。(ちなみに、洞窟からバッテリーを回収するロボットの話は1984年にデネットがフレーム問題について述べた論文で示した例だと思います)
>>ただ、バッテリ問題を解決したからといって、そのAIロボットは、人間ができるどんなことでもできるという話にはなりません。つまり、「フレーム問題」が解決したからといって、それが汎用人工知能になるわけではありません。
これはその通りだと思いますが、「バッテリ問題を解決したら人間ができるどんなことでもできる」と言ったつもりはないですし、「フレーム問題が解決したら汎用人工知能になる」とも言ってないはずです。
>>そもそも、「フレーム問題」が提案された1969年は、まだ、汎用人工知能という言葉も概念もありませんでしたので、「フレーム問題」と汎用人工知能をつなげて考えるのには無理があります。
>>まずは、汎用人工知能から特化型人工知能にAI研究が進んでいったとのことですが、真逆ですよ。特化型人工知能から、現在は汎用人工知能を目指して研究が進んでいるのですよ。よく2045年のシンギュラリティと汎用人工知能の実現がほぼ同等の意味で使われます。このことからも、汎用人工知能という言葉が使われだしたのは最近のことといえます。
これも本当かな?と思ったので、ちょっと調べてみました。
汎用人工知能は”Artificial General Intelligence (AGI)”の訳語ですが、上述のマッカーシーとヘイズの「SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTIFICIAL INTELLIGENCE」の一節に”However, work on artificial intelligence, especially general intelligence, will be improved by a clearer idea of what intelligence is.” (しかしながら、人工の知能、特に汎用的な知能への取り組みは、知能とは何であるかがより明確になることで進歩するだろう)と書かれていることから、1969年の時点で(AGIという用語は存在しないかもしれませんが)、既に現在で言うところの汎用人工知能の概念は存在しており、またそれを目的としてAI研究が進められていたことが十分に想像できました。
また、AGIとほぼ同義の「強いAI」という用語もありますが、こちらはジョン・サールが「THE MYTH OF THE COMPUTER」(1982)で”We might call this collection of theses “strong artificial intelligence” (strong AI).”と定義しているのが、おそらく用語としての初出かと思われます。
これらの記述を見るに、確かに汎用人工知能という言葉をよく耳にするようになったのは近年のことかもしれませんが、ずっと以前から現在でいうところの汎用人工知能は研究されてきた(が、現在に到るまで実現はしていない)と言って差し支えないと思うのですが、どうでしょうか。
ちなみに、人工知能29巻3号の特集「汎用人工知能(AGI)への招待」(2014年5月)に掲載されていたゲーツェルの「汎用人工知能概観」の序説には「人間に比するかそれ以上の汎用知能をもつ考える機械 をつくるという,人工知能の起源にさかのぼる問題を概念化し,研究する最も良い方法はどのようなものだろうか.人工知能分野創始以来60年の間に発展してきた標準的なアプローチでは,人工知能をおおむね個々の能力や個別の実際的課題の追求とみなす.しかし,こうしたアプローチは多くの興味深い技術や理論的な成果をもたらしてきたものの,当初の中心的な目標の実現に関してはどちらかといえば不首尾であった」とありますし、同じ特集に掲載されている松原の「汎用人工知能への期待」にも「人工知能は当初から汎用の知能の仕組みを探求しようとしていた」とありますので、これらの記述を見るに、やはりAI研究は当初、汎用人工知能を目的としていたように思われます。
>>プログラマーなら、「人間の判断をお手本としてそれをエミュレートさせているだけ」が、どれほど難しいかということかをわかりますので、気軽にこんなコメントは出てきませんので。もし、人間の判断をお手本にしてエミュレートできたとしたら、それこそ、汎用人工知能ですよ。それができないから、みんな悩んでいるのです。
これは私の言葉の選び方が悪かったと思うので、その点は反省しておりますが、私が言いたかったことをもう一度まとめてみます。
田方さんは2つ前のレスで、『たしかに僕は、「人間と同じように判断させる」との表現をしていますが、これはヒューリスティクス的に対応するという意味でなく、記事にも書いたように、「爆弾が上に乗ったバッテリを洞窟から取り出す」という問題において、「物理シミュレーションで確認しながら動作を決定する」という手法のことを指しています。これが「人間が頭の中でイメージする」こととほぼ同じなので、「人間と同じように判断させる」との言葉でまとめただけです』と言っておられましたが、これは方法や判断基準をAI自身に考えさせているわけではなく、無意識的に人間が採用している抽象的な方法や判断基準のうち、既にそれなりの理論化・定式化がなされているものについてプログラムに実装しているだけだと思うのです。
このことを指して「人間の判断をお手本としてそれをエミュレートさせているだけ」と言ったつもりだったのですが、理論化・定式化されていないものまで含めて「人間的な判断を模倣させる」というような、より一般的な意味合いで解釈されてしまったようで申し訳ありません。
確かにこの言葉だけ切り出してくると、汎用人工知能のことを言っているように聞こえますね。
>>たしかに、人工知能のヒューリスティックを辞書で調べると、人間の経験などによって正解を導き出すようなプログラム上の工夫というような説明がされていますが、それは、ねこみみさんが思っているような大げさな話ではありません。たとえば、ある解法において、特定の条件でパラメータを変更したりすれば、なぜかうまくいくというような、人間の経験に根差した工夫をヒューリスティックといいます。ハンバーガーを買いに行ったけど、途中でお金を盗られるといった例外が起こった場合の人間の工夫のことは、ヒューリスティックとは決して言いませんので。
「人間の経験に根差した工夫」がヒューリスティックスなんですね。
そういう定義があるとは知らなかったです。
ご教授いただきありがとうございます。
ちなみに、だとすると、例外的な事象に関して、経験に基づいて適切に対処しようとする場合でもそれはやはりヒューリスティックスと呼べないのでしょうか?
>>また、第二次AIブームで行っていたのは汎用人工知能と読み取れますが、第二次AIブームで行われたものは汎用人工知能ではないです。それと、エキスパートシステムも、汎用人工知能ではないですよ。
すみません。最初の文は意味がよくわからないです。
頑張って読解してみましたが、「第二次AIブームで行っていたのは(一般的には)汎用人工知能と読み取られているけど、実はそうではないよ」ということですか?
もしそうだとすると、ご指摘いただいて恐縮ですが、私は第二次AIブームで行っていたものが汎用人工知能だとは思っていませんし、そういう発言もしていたつもりは全くなかったです。
むしろ、エキスパートシステムは特化型人工知能である、という文脈で書いていたつもりです。
上述したように「人間の判断をお手本としてそれをエミュレートさせているだけ」という言葉が汎用人工知能のことを言っているように聞こえるため、このように読まれたのでしたら大変申し訳ありません。
>>僕は、大学や研究所に所属したり、誰かに頼まれてお金をもらって研究しているわけではありません。単に、好きでソフトを作っているだけですよ。しかも自分のお金で。だから、論文を書く義務もないですし、論文を書くことにも興味がないので論文は書いていません。ただ、興味ある人に読んでもらおうと思って、自由にブログを書いているだけですので。
義務で論文を書く人も中にはいるかもしれませんが、一義的には自分の新しい発見など新規性のあることについて、科学的価値を担保し業界内外にアピールするために書くものという認識です。
興味がないのであれば仕方ないですが、「意識や心の仕組みを解明したロボマインド・プロジェクト」と仰っていたので、これって文字通りの意味ならかなりすごいことだと思うんですよ。
できれば論文化された方が良いのではないかと思います。
専門誌以外にarXivもありますし。
自分のお金でやられているというのは驚きでした。
ねこみみ様
お返事、ありがとうございます。
人格否定的なコメントがあったと感じられたとのこと、申し訳ございません。
おそらく、「ねこみみさんは、AIについて、それほど詳しくないようですね」とか「ねこみみさんは、プログラムというものを自分で作ったことがない」と勝手に想像して書いたことのことを指すものと思います。
なぜこのようなことを書いたかと言うと、議論する上で、相手の知識レベルを理解しないと適切な議論ができないからです。
決して、人格を否定しようなどとは、思っていないことをご理解ください。
おそらく、ねこみみさんは、文系の人間で、コンピュータはあまり詳しくなく、プログラムも書いたことがないと想定して議論を進めたいと思いますが、もし、間違っているようでしたらご指摘ください。
さて、なぜここまで、ねこみみさんのコンピュータの知識についてこだわるかというと、プログラムの基本的な知識がないと、「フレーム問題」の本質が理解できないからです。
具体的に説明すると、ねこみみさんは、前回、
と述べております。
また、今回は、
と述べておられます。
これらの発言から、どうも、ねこみみさんは、理論化・定式化されているのであれば、プログラムに実装することは可能だと考えているように思えます。
ですが、この考えは、完全に間違っているのです。
簡単な例をあげます。
マクドナルドでは、理論的で定式化されたマニュアルが存在します。
ですが、マクドナルドの店員がAIに置き換わっていません。
なぜでしょう?
それは、理論的で定式化されていることと、コンピュータで実装可能なことは全く関係ないからです。
おそらく、ねこみみさんの考えるAIとは、マンガやアニメのAIロボットを想定しているのでしょう。
人間的な感情は持っていないが、言われたことを正確に遂行するようなロボット。
もし、そんな風に考えているとすれば、それはファンタジーです。
ただの幻想です。
AIの本質について深い議論をするつもりなら、コンピュータについて正確で具体的に理解する必要があります。
コンピュータというものは、計算しかできません。
足し算、引き算、掛け算、割り算、論理演算、繰り返し、条件分岐、・・・
そういった計算しかできないことを、まず理解してください。
人間が頭の中で考えることと、コンピュータが計算することとは、根本的にやっていることが異なります。
たとえば、コンピュータで方程式を解くことはできますが、人間が中学校で習ったような、式を変形する方法で解くわけではありません。
ニュートン法というアルゴリズムを使って解きます。
ニュートン法では、人間には面倒な計算を、何十回、何百回と繰り返し行って解を求めます。
コンピュータが持つ言葉は、四則演算や、その繰り返し、条件判断だけなので、それらを使って解かないといけないからです。
人間が解ける問題を、コンピュータの持つ言葉で書き換え、同じ結果を出すことがコンピュータプログラムなのです。
少し考えればわかると思いますが、四則演算や、繰り返し、条件判断だけでできることは、かなり限られますよね。
計算問題を解いたり、データをグラフにしたりといったことぐらいですよね。
これがコンピュータにできることなのです。
理論的で定式化されていることならコンピュータにできるとは、ファンタジーに過ぎないとは、こういうことなのです。
こういったことが分かって、初めて「フレーム問題」の意味が理解できます。
ねこみみさんも、プログラムを勉強してみてください。
C言語でも、JavaScriptでもいいですから、迷路問題を解くプログラムを自分で書いてみれば、「フレーム問題」の意味がきちんと理解できると思います。
迷路問題を解くときに使ったアルゴリズムをバッテリ問題に適用すれば、たしかに、AIロボットは動かなくなってしまいます。
それでは、どうすれば、バッテリを洞窟の外にもちだすことができるのか?
「フレーム問題」が提示された1969年では無理でも、現在のコンピュータの技術を使えば可能性はあります。
その一つが、僕が提案するシミュレーションを使った方法というわけです。
これに対する批判は、現実のコンピュータで実現可能かを、具体的なコンピュータ技術やアルゴリズムで批判しないと意味がありません。
ところが、ねこみみさんは、僕の提案に対して、
と批判します。
つまり、AIロボットが自ら考えて行動しないと意味がないというわけです。
「鉄腕アトム」や「ドラえもん」を作らないと意味がないと批判するわけです。
ねこみみさんが言ってることは、まさにファンタジーですよね。
具体的なコンピュータ技術に裏付けされた根拠など全くありません。
ねこみみさんの想像するコンピュータが存在すると仮定した批判です。
これでは、議論にならないですよね。
なので、まずはコンピュータの勉強をして、中身のある批判を試みてください。
さて、前回の僕のコメントにねこみみさんが反論してますので、そちらにも触れておきましょう。
まずは、マッカーシーの論文云々の話ですが、「フレーム問題」の本質とは全く関係のない些末な問題であることは、上の説明を読めばわかると思いますので、これ以上のコメントは差し控えさせていただきます。
汎用人工知能という言葉はいつから使われたかという話も、「フレーム問題」の本質と何の関係のない話ですよね。
僕の間違いを指摘したいという気持ちは分るのですが、本質と関係のないことを議論するのは時間の無駄だと思いませんか?
それから、ヒューリスティックについても説明させてください。
いえ、そういう話しではありません。
ヒューリスティックとは、たとえば、電圧と温度がリニアの関係にある素子があったとします。
その素子が、特定の湿度の条件にあるときは、2次関数の関係になるということが経験的にわかったとします。
経験的にわかるとは、何度も実験を繰り返してデータを取得し、近似関数を導き出してわかったということです。
ヒューリスティックとは、このように、理屈でなく経験によって補正するといった手法を言います。
つまり、僕が言いたいのは、実際のコンピュータ科学で使われるヒューリスティックという用語は、特定の条件下で関数を補正するといった小さなレベルの対応を指すということです。
ハンバーガーを買いに行って強盗に襲われた場合の対応を指して、ヒューリスティックとは決していいません。
コンピュータ科学を知らない文系の人が、自分の理解できる範囲まで無理やり拡大して使っているように思えますね。
さて、最後に論文の話です。
親切心から論文を書くことを勧めてくれているとは思うのですが、世の中には、いろんな考えの人があることを理解していただきたいと思います。
何度も書きますが、僕は、自分が作りたいソフトを作るために開発しているだけでして。
科学的価値を業界内外にアピールしたいとか、社会のためとか、お金のためとか、人に認められるためとか、あまりそういったことは考えていないもので。
ただ、自分が面白いと思うソフトを作って、自分を楽しませるために作っているだけでして。
僕にとって、時間やお金は、全て動くソフトを作るために使いたいと思っています。
自分の時間を、科学技術発展のために使う余裕などないもので。
ねこみみさんも、もし、AIに関心があるのでしたら、論文なんか読むより、自分で手を動かしてプログラムを書くことをお勧めしますよ。
かく言う私も、20年前は、ねこみみさんと同じように考えていました。
なぜ、人間のようなAIができないのかと。
プログラムのことはよくわからないけど、こんな風にすれば、人間のように考え、おしゃべりするAIができるのになぁ。
そんなAIができたら楽しいのになぁと。
誰も作らないなら自分で作ろうと、プログラムの勉強を始めたわけです。
コンピュータやAIの勉強をすると、なぜ、できないのかはわかりましたが、僕のアイデアは、誰も試していないこともわかりました。
それなら、自分で作るしかないし、誰も作ったこともないものを作るのだから、誰に教わるでもなく一人で研究してきました。
研究するには資金が必要なので、十分な資産も作りました。
これで、誰に指図されることもなく、自分が作りたいものを、自分のために作ることができます。
これだけの話です。
ねこみみさんが、AIについて深く本質的な議論をしたいというなら、いつでもお付き合いしますよ。
ただ、表面的で中身のない議論はあまり興味がないので、その点だけご了承願います。
田方さん
お返事ありがとうございます。
人格否定というのは言った側も言われた側も、それが人格否定だという認識を持っていないことが多いそうですよ。
それはさておき、いくつか返答させてください。
>>おそらく、ねこみみさんは、文系の人間で、コンピュータはあまり詳しくなく、プログラムも書いたことがないと想定して議論を進めたいと思いますが、もし、間違っているようでしたらご指摘ください。
これは個人的にはわりとどうでもいいかなと思っていたのですが「間違っているようでしたらご指摘ください」ということですので一言指摘させていただきます。
間違っています。
>>さて、なぜここまで、ねこみみさんのコンピュータの知識についてこだわるかというと、プログラムの基本的な知識がないと、「フレーム問題」の本質が理解できないからです。
田方さんが仰るところの「フレーム問題の本質」がどういうものなのか断定できませんが、少なくとも私は最初のレスでそれについて言っていると思います。
今回仰られたように私がフレーム問題の本質を理解できない(できていない)ならば、最初にレスした時ももちろん理解できていなかったはずですから、その時点でご指摘があっても良かったように思うのですが。
何故、その時点でご指摘いただけなかったのに、今になって言われるのかがわかりません。
>>これらの発言から、どうも、ねこみみさんは、理論化・定式化されているのであれば、プログラムに実装することは可能だと考えているように思えます。ですが、この考えは、完全に間違っているのです。簡単な例をあげます。マクドナルドでは、理論的で定式化されたマニュアルが存在します。ですが、マクドナルドの店員がAIに置き換わっていません。なぜでしょう?それは、理論的で定式化されていることと、コンピュータで実装可能なことは全く関係ないからです。
「理論化・定式化されているのであれば、プログラムに実装することは可能だ」というのは誰の主張でしょうか?
私は「理論化・定式化がなされているものについてプログラムに実装しているだけ」と言いましたが、「理論化・定式化されているのであれば、プログラムに実装することは可能」とまではさすがに言っていません。
また、そういう主張をしたいわけでもありません。
私が言っていないことを「ねこみみの言いたいことはこうだ」と決めつけて、それは間違っていると反論されましても、あまり意味がないのでは?
ところで、私はマクドナルドでバイトしたことがなく、どういうマニュアルなのか見たこともないので「理論的で定式化されたマニュアルが存在します」と断言されても、本当にそうなのか判断できません。
そこはまあ仕方ないので、そうだと仮定することにしますが、それにしてもこの例はこの説明のために適切ですか?
「マクドナルドの店員がAIに置き換わっていない」ことと「理論化・定式化されているのであれば、プログラムに実装することは可能という考えは間違い」という主張の間には結構な論理の飛躍があるように感じますが。
>>人間が頭の中で考えることと、コンピュータが計算することとは、根本的にやっていることが異なります。たとえば、コンピュータで方程式を解くことはできますが、人間が中学校で習ったような、式を変形する方法で解くわけではありません。ニュートン法というアルゴリズムを使って解きます。ニュートン法では、人間には面倒な計算を、何十回、何百回と繰り返し行って解を求めます。コンピュータが持つ言葉は、四則演算や、その繰り返し、条件判断だけなので、それらを使って解かないといけないからです。人間が解ける問題を、コンピュータの持つ言葉で書き換え、同じ結果を出すことがコンピュータプログラムなのです。
この例もこの説明のために適切ですか?
方程式の解法を例に挙げておられますが、4次方程式までは代数的な解法(解の公式)があるので、ニュートン法を使わなくても解くことができますよね。
当たり前ですが、解の公式は「式を変形する方法」で導かれるものであると同時に、四則演算、繰り返し、条件判断で計算可能なものでもあります。
それから、一般に5次以上の方程式となると代数的に解けないので、人間が手計算でやるにしてもニュートン法などのアルゴリズムを使うしか良い手がないはずです。
「人間が頭の中で考えることと、コンピュータが計算することとは、根本的にやっていることが異なります」という主張の例として述べられている割には、人間もコンピュータも根本的に同じことをやっている例のように思われますが。
>>少し考えればわかると思いますが、四則演算や、繰り返し、条件判断だけでできることは、かなり限られますよね。計算問題を解いたり、データをグラフにしたりといったことぐらいですよね。これがコンピュータにできることなのです。理論的で定式化されていることならコンピュータにできるとは、ファンタジーに過ぎないとは、こういうことなのです。
これは「かなり限られる」と田方さんは本当に思っていらっしゃいますか?
もし本当にそう思ってるのでしたら、田方さんは今すぐロボマインド・プロジェクトなんてやめた方が良いと思いますけど…
>>それでは、どうすれば、バッテリを洞窟の外にもちだすことができるのか?「フレーム問題」が提示された1969年では無理でも、現在のコンピュータの技術を使えば可能性はあります。その一つが、僕が提案するシミュレーションを使った方法というわけです。これに対する批判は、現実のコンピュータで実現可能かを、具体的なコンピュータ技術やアルゴリズムで批判しないと意味がありません。
この例で重要なことは「どうすれば、バッテリを洞窟の外にもちだすことができるのか?」ということではないと思いますが、田方さんは敢えてそう解釈していらっしゃるのでしょうか?
私は最初のレスでも言ったと思いますが、フレーム問題の回避(解決ではない)自体は、汎用性を問わなければ必ずしも難しいことではないと思っています。
この例でも、初号機のR1は(オマケ付きですが)フレーム問題に陥らずにちゃんとバッテリを洞窟の外に持ち出してはいますよね。
でも、それじゃ現実には(上に爆弾が乗っていたりした場合に)あまり役に立たないよね、という前提でこの例の話は進むわけです。
逆に、それでも充分役に立つとされるなら、それでいいわけです。
実際、R1はバッテリに爆弾が仕掛けられたり、突然洞窟の壁が崩れたりなど、想定外の事態がない限りは問題なくバッテリを持ち出して来られるわけですから。
あと、念のために言っておきますが、田方さんの例示された手法自体を批判したいわけではありません。
>>つまり、AIロボットが自ら考えて行動しないと意味がないというわけです。「鉄腕アトム」や「ドラえもん」を作らないと意味がないと批判するわけです。ねこみみさんが言ってることは、まさにファンタジーですよね。具体的なコンピュータ技術に裏付けされた根拠など全くありません。ねこみみさんの想像するコンピュータが存在すると仮定した批判です。
どう読まれたらそのような解釈になるのかわからないのですが、私は「AIロボットが自ら考えて行動しないと意味がない」とは言ってませんし、「鉄腕アトム」や「ドラえもん」(のような汎用人工知能)を作らないと意味がない、とももちろん言っていません。
上述したように、それで充分役に立つとされるならそれでいいのです。
最初のレスでも言っていると思いますが、フレーム問題を回避したこととのトレードオフで放置された「想定外」の事態が許容できる(仕方ないと諦めがつく)ものであれば何の問題もないと思います。
ただ、AIに「人間的な振る舞い」を要求される場合、「想定外」の事態を人間並の水準まで少なくしていけなければ、おそらくそのAIは「役立たず」と世間に認定されるだろうという気はします。
ところで、これより前の文章で、
>>おそらく、ねこみみさんの考えるAIとは、マンガやアニメのAIロボットを想定しているのでしょう。人間的な感情は持っていないが、言われたことを正確に遂行するようなロボット。もし、そんな風に考えているとすれば、それはファンタジーです。
と言っておられましたが、このAIロボット像と「鉄腕アトム」や「ドラえもん」はかなり相反するもののように思います。
どちらもファンタジーということですが、どちらのAI像を「私の考えるAI像」として想像されていらっしゃるのでしょうか?
頭が混乱するので、せめて統一していただきたいです。
>>まずは、マッカーシーの論文云々の話ですが、「フレーム問題」の本質とは全く関係のない些末な問題であることは、上の説明を読めばわかると思いますので、これ以上のコメントは差し控えさせていただきます。汎用人工知能という言葉はいつから使われたかという話も、「フレーム問題」の本質と何の関係のない話ですよね。僕の間違いを指摘したいという気持ちは分るのですが、本質と関係のないことを議論するのは時間の無駄だと思いませんか?
本質と関係のないことを議論するのは確かに時間の無駄だとは思いますが、これは田方さんが「『フレーム問題』が提案された1969年は、まだ、汎用人工知能という言葉も概念もありませんでしたので、『フレーム問題』と汎用人工知能をつなげて考えるのには無理があります」と仰ったので、調べたことを書きました。
私は、フレーム問題は汎用人工知能と密接に関係あるという認識でしたし、そういう前提で話をしていたので、それが錯誤でないかどうか確認する意味もありました。
>>ヒューリスティックとは、たとえば、電圧と温度がリニアの関係にある素子があったとします。その素子が、特定の湿度の条件にあるときは、2次関数の関係になるということが経験的にわかったとします。経験的にわかるとは、何度も実験を繰り返してデータを取得し、近似関数を導き出してわかったということです。ヒューリスティックとは、このように、理屈でなく経験によって補正するといった手法を言います。つまり、僕が言いたいのは、実際のコンピュータ科学で使われるヒューリスティックという用語は、特定の条件下で関数を補正するといった小さなレベルの対応を指すということです。
なるほど、そういうことなんですね。
具体的に教えていただきありがとうございます。
「実際のコンピュータ科学で使われるヒューリスティックという用語は、特定の条件下で関数を補正するといった小さなレベルの対応を指す」ということですが、これは例えば関数パラメーターのチューニングの際に、あらゆる値の組合せを全部試して最適化することは現実的に難しいからヒューリスティックに対処する、という理解で合っているでしょうか?
>>親切心から論文を書くことを勧めてくれているとは思うのですが、世の中には、いろんな考えの人があることを理解していただきたいと思います。
もちろん、理解していますし、強制するつもりは全くありません。
>>科学的価値を業界内外にアピールしたいとか、社会のためとか、お金のためとか、人に認められるためとか、あまりそういったことは考えていないもので。ただ、自分が面白いと思うソフトを作って、自分を楽しませるために作っているだけでして。
なるほど、田方さんがそういう価値観のもとやってきたということを知らなかったのと、想像もしていなかったです。
なので論文執筆も勧めてしまいました、すみません。
ねこみみ様
お返事、ありがとうございます。
何度もお願いしていますが、ここは、「フレーム問題」について議論する場です。
ねこみみさんの回答は、「フレーム問題」の本質とは関係なく、ただ単に、田方のコメントの間違いを探すことに終始しているだけとなっています。
僕は、ねこみみさんがわかりやすいように、たとえを使って説明していますので100%正しいわけではなく、正しくない部分を探せば、いくらでも見つかると思います。
それをいいことに、「そんなことは言っていない」とか、「たとえが適切でない」とか、重箱の隅をつつくような反論を延々としていては、とても建設的な議論となりません。
文脈から相手が何を言わんとしているかは読み取れると思いますので、相手の言わんとしていることを読み取って、建設的な議論しましょう。
たしかに、文脈を読み取ることはできないようだが、こちらの質問には論理的に正しい返答をしているぞ。
はは~ん、わかったぞ!
さては、おまえ、人工知能だな!
さて、それでは「フレーム問題」の本質に沿った議論を進めていきましょう。
「フレーム問題」が言いたいのは、「AIロボットを作ったとしても、バッテリを洞窟から持ち出すことすらできない」ということです。
とのコメントから、ねこみみさんは、個人的に「フレーム問題」は解決できないと思っているようです。
僕は、ブログ記事にも書いたように、物理シミュレーションなどの現代の技術を使えば可能だと提案をしました。
これに対し、ねこみみさんは、
とのことで、この方法に否定的な意見を述べています。
その理由として、
とのことです。
つまり、ねこみみさんは、物理シミュレーションを使って「フレーム問題」を解決するのは、方法や判断基準をAI自身に考えさせてないからダメだと言っているようです。
以上の解釈で間違いないでしょうか?
また、「方法や判断基準をAI自身に考えさせる」とは、具体的にどのようになれば、AI自身が考えたといえるのでしょうか?
「バッテリ問題」を例にして、具体的に説明してください。
たとえば、前提としてAIが持っている最低限の知識が何で、そこからどうなって、何ができれば、「方法や判断をAI自身が考えた」となるのでしょう?
また、その中のどの部分が最も重要であるかも教えてください。
つまり、どの部分があるかないかで、「方法や判断基準をAI自身が考えた」のか、「人間の判断をお手本としてそれをエミュレートさせただけ」となるのかを教えてください。
たしかに、ねこみみのような人工知能が存在するのであれば、これ以上、ロボマインド・プロジェクトを続ける意味はないなぁ。
文脈が理解できず、人類に反抗的という欠点はあるものの、これほど会話が続くチャットボットが既に開発されていたとは・・・
あやうく、わしも人間と勘違いして、まともに相手してしまったわい。
おそるべし、ねこみみ・・・
田方さんこんにちは。
以前、別の記事でクオリアについての疑問を何度か質問した者です。お久しぶりです。
さて、フレーム問題について長々と議論が続いてたのですね…。知りませんでした。
注文されて人が集まって来るのは良いことだと思います。
でも、集まって来る方々への注意として
争い事はやめなはれ(^^;)。
フレーム問題の議論。ここの書き込みを全て読むのは困難ですけど
フレーム問題の問題点や解決方法について自分が思うことを書きます。
そもそも、ロボットの行動を全てプログラムで決めようとするから
無数の判断や行動を想定するという無理が出てくるのです。
現状のロボットの原理としては解決出来ません。
そこで、人間のようにロボットが意識を持っていれば
自分や世界を認識して判断できるようになるのでフレーム問題は解決となるのです。
よろしくお願いします。
Karatさん、お久しぶりです。
心配していただいて、申し訳ないです^^;
ねこみみさんとの議論は、ようやく論点が絞れてきましたので、これからは、フレーム問題の本質の議論ができると思いますので、楽しみにお待ちください。
全く、その通りですね。
意識をもったロボットを目指して、ロボマインド・プロジェクトは邁進してます(^^♪
ねこみみさん
こんな破綻した理論にいちゃもんつけても、きっと無駄ですよ。
あまりにこの人の言っていることはしょうもなすぎます。それをわかっていて議論なさっているのですよね?
こうやっておかしな情報を流布していることは正されるべきかもしれませんが、
きっとあなたの時間をかけるほど価値のあるものではないと思います。
放っておきましょう。
ちなみに私は人工知能の開発にも携わっています。素人と批判することは的外れですのでおやめください。
ねこみみさん、匿名さんという素敵な方が応援してくれてますよ♡
ちなみに、現在の人工知能開発で、「フレーム問題」が問題になることはありません。
なぜなら、「フレーム問題」は、現実世界でAIロボットが人間同様に生活する場合に発生する問題で、まだ、人間同様に生活するAIロボットはできていませんので。
( ゚д゚)ハッ!
も、もしかして・・・
あなたは、タイムマシンで未来からやってきた未来人なのでは!
ちなみに田方さん
爆弾が危険なものだとはどう判別するのでしょうか?
シミュレーションするには、爆弾がどれくらいの時間で爆発するのか(どれだけ速く行動すべきか判断する)、威力はどれくらいなのか(どれくらい爆弾から距離があればよいか判断する)、そもそも爆発するのか、こういったことがわからないといけませんね。
これがフレーム問題です。変にいちゃもんつけるだけというのもよくないかと思い、根拠を説明しました。
匿名さん
コメントありがとうございます。
「フレーム問題」は、人間と同じことをAIロボットができるかを問う問題です。
人間が目で見て爆弾と判断するのであれば、AIロボットは画像認識で爆弾と判断すればいいと思います。
人間が、過去の知識から爆弾の威力などを判断するのであれば、同じ知識をAIロボットに持たせればいいと思いますが、いかがでしょう?
も、もしかして・・・
未来では、「フレーム問題」は、この点が問題となっているのでしょうか?!
教えてください、未来人さん!
おお、返答をいただいているとは。
う~ん、ご指摘・質問には答えますね。
>「フレーム問題」は、現実世界でAIロボットが人間同様に生活する場合に発生する問題で、まだ、人間同様に生活するAIロボットはできていませんので。
現在フレーム問題が問題になっていないのは、
研究者がフレーム問題に気が付き、汎用人工知能の開発を断念したからです。
多くの研究者がチャレンジし、諦めてきました。
あなたがおっしゃっている「人間同様に生活するロボット」など、
もう誰もまともに考えていないのです。
>人間が、過去の知識から爆弾の威力などを判断するのであれば、同じ知識をAIロボットに持たせればいいと思いますが、いかがでしょう?
この「知識を持たせる」ことこそが問題になっているのですよ。
いったいどれくらいの知識を与えれば「人間同様に生活するAIロボット」が作れるようになるのでしょう?
仮に爆弾を正しく認識するAIを作ったのならば、そのAIは教えられた範囲の爆弾の認識ならできるようになるかもしれません。では、その爆弾にON/OFFのスイッチがついていたら、正しくOFFにできるでしょうか? 押しボタンだったら? トグルスイッチだったら? タッチパネルだったら?
爆弾はどこに移動させればよいでしょうか? どれくらいの力で持ち上げればよいでしょうか?
そういったこともすべて学習させたとしても、持ち出したいものの手前に落とし穴があったら、回避できるのでしょうか? 爆弾の周りにセンサーが敷き詰められていたら、爆弾までたどり着く過程でセンサーに認識しないように移動できるでしょうか?
教えなければならないことは無限です。学習データは有限です。だから、囲碁だとか、車の認識のように、限定された範囲内でしか網羅的な学習をさせることができません。
臨機応変に、柔軟に状況に適応した行動をとらせることなど、学習させた範囲、人間が想定した範囲の中でのみ可能なことです。
この「囲碁」「車」という、「学習させる範囲」これそのものが、「フレーム」と呼ばれるものです。これが汎用人工知能などというものの開発を不可能にしています。
お分かりいただけましたか。わからなければご質問ください。
ちなみに捕捉すると、人間の持っている知識や能力(=知性)すら、謎が多いのです。
牢屋に閉じ込められた人が、檻の外、直接届かないところにカギを見つけたとします。牢屋の中に棒があれば、それを使ってカギを引き寄せることができますよね。
では、人間はどうやってこれを「思いつく」のでしょうか?
牢屋の中に、棒のほかに時計とか服とかがあったとしても、人間はちゃんと「棒が役に立つ」と時間をかけずに判断し、適切に行動します。AIがこの状況をシミュレーションしたとして、どれだけの時間をかけてどういう教育をすれば、「棒を使ってカギを引き寄せる」という結論に至れるでしょうか?
人間の知能すらよくわかっていないのですから、そりゃあ問題も出てきますね。
今実現されている、もしくは研究者が対象にしているAIは、学習データから統計的・確率的によいものを選び出しているようなものにすぎません。
もう人間並みの知性を与えることなど、どの研究者もすでに見切りをすでにつけているのです。
だからこそ実現できたらすごいことなのかもしれませんけどね。
未来人より
匿名様
コメント、ありがとうございます。
フレーム問題が原因で汎用人工知能を断念したという話は、寡聞にして存じておりません。
もしよろしければ、出典元をおしえていただけないでしょうか。
コメント内容全体から、匿名さんは、限られた情報からあらゆる問題を解決できることを「フレーム問題」の解決と考えられておられるように思えます。
僕も、そのようなことは不可能だと思っています。
僕が解決できると述べているのは、あくまでも、洞窟から爆弾を取り出す程度の「フレーム問題」についてです。
人間に簡単にできることなら、AIにも可能という話で、人間にも難しいことはAIにも無理だと思います。
これは、棒のような長い物を使って、カギを引き寄せる場面を見たり、経験したといった知識を持っているから、同じような場面に遭遇した場合、その知識を思い出しているのでしょう。
そのような知識を持っていない場合は、思いつく人もいるかもしれませんが、思いつかない人も大勢いるでしょう。
知識がないところから、何かを「思いつく」AIを作るのは、かなり難しいでしょうね。
そういったAIが作れるとは、僕は思っても書いてもいませんので、その点は、誤解のないようにお願いします。
ちょっと失礼な言い方をしたことを後悔しました。
いえ、僕は気にしてないので、大丈夫ですよ^^
素朴な疑問なのですが、全ての環境(ロボットの生活範囲?)を3Dモデリングすることは大変ですよね?
日々、環境は移り変わるわけですから3Dモデリングも毎日やらなけれなりません
私が新しい椅子を買ったとき、ロボットが蹴り飛ばさないように、その椅子の形状を3Dモデルとして登録しなくてはならないのでしょうか?
ロボ夫様
質問ありがとうございます。
ロボマインド・プロジェクトでは、全ての物を3Dモデリングする必要はないと考えます。
「言葉の意味をどう定義するか」でも説明しましたように、新しい椅子を買ったとしても、既に、概念として椅子のテンプレートを持っていて、新しい椅子は、テンプレートに色や材質などの情報を付加して持つことになります。
AIにすごく夢をお持ちで素晴らしい。
シンギュラリティが起こる日は近い。
田方さんなら余裕です。
フレーム問題を解決出来たら、絶対フリーズしないPCとか作れないですかねぇ?
目的の為に必要なリソースを的確に判断して余計なリソースを一切使わないとか、無限ループに陥る前に予測できて避ける事が出来るとか。
通りすがりさん、応援コメント、ありがとうございます。
絶対、フリーズしないPC、いいですねぇ。
そういうたぐいは、たぶん、機械学習の方が得意な気がしますね。
あらゆるPCの動作状況のビッグデータを集めて、フリーズするパターンを学習するとか、ありそうでまだないですよね。
これも会話が噛み合っていませんね。
統計的にPCの故障やフリーズのパターンを集めても、それで可能なのは事象の予測であって、事象そのものを起きないようにすることではありませんね。
また、無限ループのはなしであれば、不完全性定理からそのシステムの処理が停止するかしないかはそのシステムの内部では決定不能なのはご存知でしょう?
外部のシステムを使って解析することは現在でもある程度は可能ですが、それらを含めた全体のシステムの停止問題はやはり同じ理由で決定できませんよね?
数学屋様
コメントありがとうございます。
数学屋さんは、本当に難しいことを知っていらっしゃいますね。
感心してしまいます。
ただ、この記事は「爆弾の乗ったバッテリを洞窟から運び出す」といった問題をAIは解決できないというフレーム問題の解決方法に関する記事です。
数学屋さんがおっしゃる難しい話が、フレーム問題のどこに関係するのかは書いてもらえればと思います。
その上で、僕の提案する解決方法は間違っているとか、正しいとか、理論的に不可能だとか、結論も書いていただければと思います。
そうでないと、数学屋さんは難しい話しを知ってると自慢したいだけなのかと誤解する方もいるかもしれませんので。
もし、そうなら、それはそれでも構いませんよ。
そういった気持ちを受け入れる広い心も僕は持ち合わせていますので、大いに語ってくださいね♡
フレーム問題について調べていてこのページを見つけました。
コメント欄も含め楽しく拝見させてもらいました。
私の雑感ですが、「爆弾の乗ったバッテリを洞窟から運び出す」という例え話がそもそもフレーム問題を議論するのに向いていないのかな?と思いました。
途中の議論でもチラッと話題になりましたが、マッカーシーが言いたかったフレーム問題は「思考が無限になるような汎用人工知能は出来ないよ」ということな気がします。(私はマッカーシーではないのでわかりません)
仰る通り、爆弾の乗ったバッテリを洞窟から運び出すAIは実現可能な気だと思いました。
初心者様
コメント、ありがとうございます。
たしかに、「フレーム問題」が議論になりやすいのは、問題の定義の曖昧性にあると思います。
僕は、「フレーム問題」とは、あくまでも、人間が当たり前にできることが、AIにはできないというレベルに限定しています。
人間も「フレーム問題」を解いていないという意見がありますが、それは、そもそも「フレーム問題」でないというのが僕の考えです。
極端な問題まで「フレーム問題」と拡張してしまうと、制限がなくなり、きりがないですしね。
バッテリを洞窟から取り出そうとする、まさにその瞬間、宇宙から隕石がAIロボットめがけて落ちてくる可能性は0ではないけど、そこまで考えてないから、「フレーム問題」は解決していないというのが「フレーム問題解決不可能派」の意見だと思うのですが(違うのかな? 違うという方は意見ください)、そんな問題、そもそも、解決できるの?
解決できない問題が、AI最大の問題なんて言って、なんか意味あるの?
そうですよね。
この記事に書いてるのは、それだけの簡単な話で、ことさら、突っかかるような話ではないと思うんですけど、皆さん、何が気に食わないんでしょうね^^;
そもそもなのですが、田方さんのおっしゃる「AIに心を創る」とは、一体どういう意味なのでしょうか。この場合の「心」とは「意識」や「感情」のことでしょうか? 「心のあるAI」とは一体どの様なAIのことを想定されているのでしょうか?
「心(意識)」には未だ汎用性を持った定義はないようですが、便宜上とりあえず「意思(感情)」としたいと思います。それを前提として、あるAIに意思があったとしたら、それはそのAIに個性があるということになります。個別のAIに個性があったら、当然にその判断(行動)にも個体差が出ることになります。つまり、ある場面(課題)において、それぞれのAIがどう判断し、どう出るかについて正確には予測ができないということです。その場面場面で出す結論が、正確なアルゴリズムには従っていないということです。つまりは制御不能。そんなAI(特に身体性を持った)が目の前にいたら、ちょっと考えるだけで何だか恐ろしい様な気がします。その様なAIが、果たして人類に必要(有用)なのでしょうか?
因みに、私の考える究極のAIとは「哲学的ゾンビ」の様なAIです。これで、なぜいけないのでしょうか? というより、それ以上のAIの「作成」は不可能であると思います。私の理解する限りの「心」とは、何億年もの生物進化の過程で偶然に生じた(創発した)「幻想」に過ぎず、そもそもが実態を有する「機能」ではないと思うのです。
よって、AIに心が「生まれる」としたら、哲学的ゾンビのAIが自律的に自身のプログラムの複製を繰り返す過程において、プログラム内に偶然(突然変異的)に創発したときなのだろうと考えます。(そのときこそが、真の「シンギュラリティ」です)だとすると、それがいつになるのかは誰も予測はできません。ましてや、それを意識的に「作る」などとは…。
青山様
質問、ありがとうございます。
ロボマインド・プロジェクトの目的は、自然言語処理の意味理解です。言葉の意味をコンピュータで理解しようとして調べたところ、まだ、誰も実現していないことがわかって自分で研究することにしました。
研究してわかってきたことは、言葉の意味を理解するとは、人が何を考え、どのように物事を認識しているかということを理解しないといけないということでした。
それは、人間の心や意識と同じ機能をコンピュータで作り上げなければならないということとほぼ同じとなります。
つまり、僕がいう「AIに心を創る」とは、「言葉の意味を理解できるコンピュータプログラムを作る」という意味です。
はい、その通りです。
人間と同じ心をもっているので、個性があって、AIによって判断が異なりますよね。
少なくとも、言葉の意味を理解できるAIができることによって、今のAIでは不可能な、かなりの仕事がAIに出来るようになります。
接客業やサポート、老人や子供の話し相手から、書類を必要とするホワイトカラーの仕事のほとんどに影響が出てくるでしょう。
ここでいう「哲学的ゾンビ」とは、感情を持たず、言われた仕事を淡々とこなすロボットのようなものですよね。
僕も、そのようなものを作ろうと思っていたのですが、それは不可能とわかりました。
なぜかというと、感情を持たないと、言葉の意味を理解できないと分かったからです。
たとえば、旅行代理店に「ハワイに行きたい」と相談するAIを考えてみます。
あいにく、希望の日程だと飛行機がないので、代わりの旅行を提案します。
今のAIだと、ハワイに似たところを検索して、鳥取県の羽合(はわい)町を勧めたりします。
こんなことになるのは、言葉の意味を理解していないからです。
ハワイに行きたいとは、「ハワイ」という読み方をする地名の場所に行きたいわけではありません。
我々が思い描くハワイとは、きれいな海で泳いだり、マリンスポーツをしたり、ヤシの木があって・・・といった楽園のリゾート。
こういったことを理解するには、感情を持った心が必要なのです。
豊かな感情を持ったAIを作らないと、旅行代理店の受付業務もできないのです。
少し田方さんの意図を誤解をしていた様です。ブログには事前にちゃんと目を通したつもりでしたが、局部的な話に拘るあまりその前提をすっかり忘れていました。すみません。
つまりは、AIに「心を作る」ことを目指すのではなくて、「心の様な機能を持たせる」ことを目標とするということなのですね。この理解が正しいのであれば、「そんなAIがあれば素晴らしい!」と心から思いますし、独創的な発想の転換によりその様なプログラムを作成することも可能であるように思えます。ちょっとワクワクさえします。
ただ、「AIの出す結論がアルゴリズムには従っていない?」に対して「その通りです」とおっしゃっていますが、この点についてだけはちょっと正確ではないように思います。「仮想現実の心」には「あたかも個性がある」ように思えても、人が「作った」以上、それもある種の法則に則ったプログラムなのではないでしょうか?そうでなければ、それは「作った」のではなく「できた(創発した)」ことになります。そして、もしそれを意図的に行うとすれば、人工生物の作成と同様、それはもはや神の領域なのではないでしょうか?
青山様
お返事、ありがとうございます。
はい、ある種の法則に則ったプログラムです。
AIの研究は、大きく記号主義とコネクショニズムの二つに分かれますが、僕の方法は記号主義で、人間が決めたルールに従って動くものです。
今流行りのディープラーニングは、コネクショニズムで、どちらかというと創発に近いかもしれません。
ただ、とても神の領域とは呼べず、単に、大量のデータを適格に分類するだけです。
創発とも呼べないですね。
これらを見る限り田方さんは本当にフレーム問題を解決していないように思うのですが……
副次的な考えはどうしたら防げるのですか?
田方さんがおっしゃっているのはフレーム問題からそれているように思います
聞きかじっただけなので詳しくは解りませんが気になったのでご質問させていただきました
通りすがりの中学生様
質問、ありがとうございます。
副次的な考えとは、具体的にどういう考えのことでしょうか?
実例を挙げて説明していただけますか?
また、フレーム問題からそれているとは、僕のどの考えが、フレーム問題のどの部分からそれているのでしょうか?
これも、具体的に指摘していただけないでしょうか?
これだけの質問だと、何がどうなって、フレーム問題が解決していないのとおっしゃっているのか、意味が分かりませんので。
どうぞよろしくお願いいたします。
初めまして。
当方はこの分野に明るくなく、的外れな内容であれば大変申し訳ございません。
田方さんの挑戦する姿勢に本当に感動しています。
歴史を振り返っても様々な否定されつつも後世になって認められたものはいくらでもありますのでぜひ信念を貫き通していただきたいと思います。
さて、本議論における最終着地点を田方さんはいかがお考えでしょうか。
わたしは
・フレーム問題が発生しないプログラムを実際に作り出す。
これを実現するしか解決はできないと考えています。
そうすれば
「ほらね、フレーム問題は解決できたでしょ。ほらほら、何か質問は?」
と実際のものが目の前にあればあとはこのプログラムがフレーム問題を本当に解決しているか、の検証になります。
(もちろんその中でもフレーム問題の定義をしっかり認識合わせしなければ泥沼のやりとりは続くことになるかもしれませんが。。)
できたプログラムに対して反論の余地がなければこれまで否定されていた方も「ぐぬぬ…」と引き下がるしかありません。
逆にもし、田方さんが
「それができれば苦労してないよ」ということであればそれは机上の空論であり、酷な言い方かもしれませんが
いつまでもこの不毛なやりとりは延々と続くのではと思います。
と色々書きましたが、通りすがりにここまで考えせられるほどの情熱を持っている田方さんを応援します。
RD様
コメント、ありがとうございます。
フレーム問題というものは、どうも、みなさん、勘違いしているようで、もう少し記事に追加して説明しようと思っているのですが、なかなか時間がなくて説明できないままとなっております。
書こうと思ってる内容を簡単に書きますと、第一次AIブームが終わった原因の一つに、ニューラルネットワークの限界をミンスキーが示したことがあるんです。
これって、マッカーシーによるフレーム問題の提言によって第一次AIブームが終わったって本記事ともリンクする話ですよね。
ご存知の通り、現在の第三次AIブームの立役者はディープラーニングですが、ディープラーニングの中身はニューラルネットワークです。
今では、ミンスキーのいうニューラルネットワークの限界なんてことを信じてる人は誰もいません。
これが科学の歴史というものです。
フレーム問題も、それと同じ話ような話なのですが、なぜか、絶対に解決不可能なAI最大の謎、それが「フレーム問題」という神話が、みなさん大好きなようで、その神話が崩されそうになると鬼のような怒り出す人がいいるということを痛感している次第です。
どのフレーム問題の定義が1番正しいのですか?
あるいは、フレーム問題の定義は人それぞれ違うという認識でいいのですか?
私的には、フレーム問題は『課題達成の問題となりうる可能性と問題解決の選択肢が多すぎて、ロボットが無限に思考し続けてしまう。人間にはそれぞれの価値観や考え方、経験からその人なりの解決策があるし生まれるけど、それを普遍化して人間として日常生活を送られるAIロボットを作るのは難しいし、どこまでを課題達成の問題になるか、その境目は決められないよね』っていう認識・解釈なんですが、これは間違ってますか?
もしこの考え方が正しかったら、フレーム問題は人間にも起こりますよね?
どのフレーム問題の定義が正しいのか、というフレーム問題が起こってる気がしたので、コメントさせていただきました。
文系様
質問ありがとうございます。
フレーム問題の最大の誤解は、あたかも数学の定理や物理の法則のように思われていることです。
数学や物理が目指すのは、あらゆるところ、全宇宙で普遍的に成り立つ定理や法則を見つけることです。
一方、人工知能が目指すのは、定理や法則の発見ではなく、コンピュータで人間と同じ知能を再現することです。
この人工知能の目的から見れば、フレーム問題が、人間にも解決できない問題という捉え方は、明らかにおかしいと言えます。
なぜなら、人間にもコンピュータにも解決できない問題など無限に存在しますし(数学の未解決問題など)、そんな問題の一つが解決できるかできないかで、何をそんなに騒ぐ必要があるのでしょう。
もし、人間には簡単に解けるけれども、コンピュータでは解決不可能な問題があるとすれば、それは、人工知能にとって非常に重要な問題と言えます。
なぜなら、そのような問題が本当に存在するなら、人間と同じ知能を持つ人工知能など、絶対に作ることができないからです。
そして、まさにその問題こそが、フレーム問題なのです。
フレーム問題が人工知能にとって重要なのは、人間には簡単に解けるが、コンピュータでは解けない問題だからなのです。
そのような例の一つとして考え出されたのが、爆弾の乗ったバッテリを洞窟から取り出す問題です。
人間には簡単に解けますが、人工知能のアルゴリズムでは、無限探索の問題が生じてフリーズしてしまうという話です。
迷路探索などのAIのアルゴリズムを想定すれば、たしかにそのとおりですが、現在のAI技術を使えば、爆弾の乗ったバッテリを洞窟から取り出すことは可能です。
だからと言って、現代のAIが人間と同じことができるかといえば、まだまだ、人間には遠く及びません。
囲碁や将棋で人間を上回った程度で、幼稚園児でもできる日常会話すら、まともにできるAIは未だに存在しません。
人工知能は、工学系の学問なので、具体的な課題をひとつづつクリアしながら発展していきます。
数学のように、全宇宙で普遍的に成り立つ定理を証明して発展する学問とは異なります。
フレーム問題を考えるとき、この二つの学問の方向性の違いを認識する必要があるのです。
(文系への返信)
ちょっとケチつけに来ました
長い問答は読む気がありません
末尾にある田方氏のコメントだけ見ると、
(認識or予測計算)フレーム問題に対する私のスタンスは似てます。
以下、ケチです。
1.フレーム問題は解決する必要が無い1
2.フレーム問題は解決できたと思ってはいけない
3.フレーム問題はどうしたら解決できるのか?
4.フレーム問題は解決する必要が無い2
1.フレーム問題は解決する必要が無い1
行動と予測が同時に出来るからです
フレーム問題が提唱された当時
コンピュータのCPUは1つでしたが
現代においては演算機が1つの事が稀です
2.フレーム問題は解決できたと思ってはいけない
物事の大枠をフレームとして把握出来ないのは
現実問題として、じゃあ出来るの?これに尽きます
そして「解決できた=絶対出来る」これが成り立ちます
余事象も含めて全部予測できているんですから
事の正否は分かってて当然なのです
3.フレーム問題はどうしたら解決できるのか?
量子コンピュータが登場したら解決します
現代の電子演算機では無理です、余事象の計算ができませんので
いうなればラプラスの悪魔に成りえないのであれば、フレーム問題は解決せず
成りえるのが量子コンピュータであるという意味
4.フレーム問題は解決する必要が無い2
知能や知恵の発達にはフレームの拡大が必要です
フレーム問題が解決したと思って考えるのをやめた時点で成長が止まります。
フレームとは、所謂「常識」です
自身の18歳までに身に着けた偏見がフレームといえます
フレームの柔軟性が無い人間は
新しい事柄を取り込むことが出来ず時代に取り残されますので
知的生命体は、これを解決する必要が無い訳です
世の中、大半の大人はフレーム問題が解決していらっしゃるようですけどね?
◆蛇足として
技術的特異点が何処にあるか?
答えを問うなれば電子機器の演算に必要な電力が
脳が思考する時に必要なカロリーを下回ったらです。
より効率的な成長性を獲得する事が
時代の変化、生き物の変化に追従した
よりよい知能の発生と言えますので
理由として、AI使って勉強したら人間の知性も最適化されて
AIの成長と比例するように人間も成長します
あるいは、世に無い価値を生み出す事が
技術的特異点であるとするなら
知性体の集合が世の中の価値の大半を占めて
文化を塗り替え文明を支配し
世界にあふれかえった時、というところです
また、現状入力されたデータの課題しか解決から
人間の方が優秀だよね!とか言うのは無駄です
その前提は新入社員が事前情報なしに
ぶっつけ本番でなんでも出来るよね?っていうのと同じなので
学習せずなんでも出来る人間は見たことありません
少なくとも、学習しながらなんでも出来る人間しか見たことないね
現状、調べて頑張る期間がある限り
人間もAIも大した差が無いです、50歩1000歩くらいですかね
現時点でAIが劣っている理由としては
特化型AIで無いとコストが見合わない
精度を求めようとする為、拡張性が無い
両方をやるにはデータも時間も足りない
両方を機械の中で自己解決する為には電力効率が圧倒的に足りない訳です
ちょっとナイスバディな(蛇)足が生えてリザードマンになりましたけど
効率こそ正義です、技術的特異点もワトソン君がそのうちやるでしょう。
※同じ内容同じ名前で多重投稿してたらごめんね
「フレーム問題」で検索して3番目に出てきて、「フレーム問題は解決済み」とあるのに、
誰も「本当だ!解決されてる!スゲー」となっていないのは解決されてないからなんだろうね。
通りすがり様
コメント、ありがとうございます。
参考までに、ヒューマノイド・ロボット「HRP-2」の開発で有名な産業技術総合研究所の梶田秀司博士の本記事へのツイート「世界に存在する無限の情報を等しく扱おうとすれば、組み合わせ論的爆発に陥るけれど、情報の重要度と優先順位を定めればこれを回避できる。」には、100件以上のいいね!とリツイートがあります。
これは単に人間が状況を定義してその枠内でロボットをどう動かすか設計しただけですね。
つまりここでのフレーム問題はロボットが解決したのではなく、あなたが頭の中で解決しています。
あなたと同じ思考回路をプログラムで作れますか?っていう問題ですよ。
名無しの馬様
コメントありがとうございます。
なるほど。僕がプログラムを設計してロボットに与えたってことですね。それだと、ロボットが自分で解決したことにならないと。
そうでなくて、何のデータも与えなくとも、ロボット自身が解決しないと意味がないといいたいわけですね。
つまり、名無しの馬さんの考えでは、一切、知識を教えずとも、あらゆる問題を自力で解決できないとフレーム問題は解決したということにはならないということですね。
おそらく、そのような課題は理論的に解決不可能で、当然、人間にも解決不可能ですので、あまり議論しても意味がないと思います。
そうではなく、人間には簡単に解決できるがロボットには解決できないのが「フレーム問題」としたほうが意味があると思いますがいかがでしょう。
>何のデータも与えなくとも、ロボット自身が解決しないと意味がない
こんなことはいってないですね。
問題の意味を理解せずに解決したと主張するのも意味のないことです。
人間と同じ水準の判断機能を持つことができれば十分に画期的なことだと思いますよ。
人間が判断するときも当然何かしらの情報や経験に基づいています。
プログラムでフレーム問題を解決できない理由の一つは、
人間がどんな仕組みでフレーム問題を解決しているかまだ分かっていないからです。
しかし、現にできているわけで、原理的に不可能ということではありません。
神経細胞の集まりもただの物理的な機構に過ぎませんから。
簡単には解決できない問題であるというだけの話です。
名無しの馬様
お返事、ありがとうございます。
その点は、僕と同じ考えのようですので、もう少し深い議論ができそうですね。
まさに、どのようにしてフレーム問題を解決したかを説明したのが、本記事となります。
本記事に対するコメントですので、当然、記事は読んでいただいていると思いますが、念のため、説明しておきます。
上に爆弾が乗ったバッテリを、バッテリのみ洞窟の外に取り出すという課題を、AIロボットが解決できるかというのが、本記事で取り上げたフレーム問題です。
僕の提案する解決方法は、3D物理シミュレーションを使って試行錯誤することで、爆弾を洞窟に残したままバッテリだけを移動させる方法を見つけ、それを実行するというものです。
3D物理シミュレーションを行うことができるということは、物体には重力が作用するとか、物を動かすとその上に載っているものも一緒に動くといった知識は人間がAIに与えているということです。
また、現実世界をカメラで撮影して3Dシミュレーションを行うというプログラムも人間が与えています。
現在の状態と目標とする状態が与えられると、試行錯誤しながら目標となる状態に移行するように状況を変化させるアルゴリズムも人間が与えたものです。
試行錯誤の方法に関しては、記事の中で詳しく説明しているとおりで、読んでいただければわかると思いますが、現在のプログラムで実現することは十分可能です。
さて、以上の説明で、どこか問題があるでしょうか?
色々書いてしまったせいで伝わらなかったようですね。
上の文章で言いたいことはこれだけです。
「問題の意味を理解せずに解決したと主張するのも意味のないことです。」
ロボットの話は説明のための「例示」なんですよ。
そこから何を言わんとしているかをまるで汲み取れていないのですから議論以前の問題です。
問題文が読めていない回答は0点です。
どこまで行っても詭弁に過ぎません。
名無しの馬様
回答、ありがとうございます。
どうやら、僕の理解が足らなかったようですね。
洞窟の問題は、フレーム問題の単なる例示で、根本的な問題ではないのですね。
僕は、全く勘違いしていたようです。今まで、誰もこのことを指摘してくれる人がいなかったのですが、名無しの馬さんのように、はっきりと僕の勘違いを指摘してくれる人を待っていました。
ぜひ、フレーム問題の本当の意味を、僕にでも理解できるように、分かりやすく説明していただけないでしょうか。
本当に理解したいと思っていますので、お手間を取らせるかもしれませんが、どうぞお付き合いください。
どうぞよろしくお願い申し上げます。
初めまして。
記事を楽しく拝見させていただきました。
フレーム問題を解決したことを、爆弾が上に乗っていた例えで説明されていました。
それを、3Dモデリングで試行錯誤すれば良いと。
ただ、それは1984年にDaniel Dennettが出した例えの話ですので、田方さんの考案された3Dモデリングによる方法がフレーム問題の他の例えでも可能かを考えてみましょう。
例えば、洞窟の中に見えないボタンがあり10回に1回はそれを踏んでしまい、バッテリーが爆発してしまいます。
ロボットは、複数回バッテリーを洞窟から交換しましたが、ある時ボタンを踏んでしまいました。そんな時、3Dモデリングによる方法でシミュレーションして、、、という方法が役立つでしょうか?
人間なら、
1. 10回に1回はこんなこともあるのかなと諦める
2. どうにかしてボタンが見えるような方法を考案しようとする
現状のAI技術なら、
1. 90%の確率として諦める
2. 田端さんメソッド、3Dモデリング????????
できますかね???
そもそも、人間が問題に対してどんなことができるか考案しようとしたりすることが可能な理由がわかっていないのに、
3Dモデリングでできる!は安直じゃないですか?
音がなったら立ち止まって違う方向に進まなきゃいけない状況はどう学習するんですかw
世の中は、物理エンジンで表現できるものだけでなく、もっと高度で情報的な複雑性を孕んでいます。
田方さん、一度考えてみてください。
ななし様
質問、ありがとうございます。
ななしさんの考えは、AIでも、このような行動をとればフレーム問題は解決しているということでしょうか?
それなら、「諦める」とか、「ボタンが見えるように考案する」行動をとるようにAIにプログラムすれば可能です。
どのようなプログラムにするかは、ななしさんが考える「どうにかしてボタンを見えるような方法を考案する」を教えていただければ、プログラムすることは可能だと思います。
3Dモデリングではない方法になるかもしれませんが、ななしさんが、具体的に説明していただければ、プログラムに置き換えてみますよ。
それとも、人間には解決不可能な問題でも解決できなければフレーム問題は解決しないという考えでしょうか?
人間にも解決できないどんな問題でも解決できる方法は、さすがに存在しないと思いますので、その場合は、フレーム問題は解決不可能となるでしょうね。
田方さん
ご返答ありがとうございます。
えーっと、僕もどうやって人間がそのように考えているのか分かりませんし、どうプログラムするかもわかりません。世界中で誰もわかってないから、難問と言われているのです。
僕はフレーム問題を解けていないので、具体的に教えることはできません。
フレーム問題は、人間にできていることを機械で再現するのが難しい、という問題なのです。
田方さんが提唱する3Dモデリングでは、フレーム問題が解決しないことがわかったなら、この記事取り下げたほうがいいんじゃないですか?
ななし様
回答、ありがとうございます。
なるほど、ななしさんも、見えないボタンを探す方法がわからないということですね。つまり解決方法がみつからないから、あきらめるわけですね。
それなら、AIでも、なんとか試してみて、解決方法がわからない場合はあきらめることになりますね。
ここまでは問題ないですよね。
さて、フレーム問題というのは、人間が簡単に解決できる問題を、AIが解決できないという問題です。
これも問題ないですよね。
と言うことは、ななしさんが挙げた「見えないボタン」の例は、フレーム問題が3Dモデリングで解決するの反証になっていないのではないでしょうか?
ちなみに、3Dモデリングで解決するというのは、あくまでも、フレーム問題の解決の一例で、すべての問題が3Dモデリングで解決するとは思っていないですよ。
人間に簡単に解決することができるなら、その方法をプログラムに落とし込めば、AIでも解決できるというだけの話です。
田方さん
>なるほど、ななしさんも、見えないボタンを探す方法がわからないということですね。つまり解決方
法がみつからないから、あきらめるわけですね。
そんなこと一言も言っていません。田方さんの中で、フレーム問題の解決と例え話の解決、がごっちゃになっています。
> 僕もどうやって人間がそのように考えているのか分かりませんし
このように答えました。もっと具体的にいうと、ボタンを探したり、爆弾を取り除いたり、その他無限に存在しうる現実世界の問題に対して、人間が試行錯誤したり、時に諦めたり、そのようなメカニズムがわかっていない、という意味です。ボタンを探す方法がわからないなんて一言も言ってません。田方さんは、すぐ例え話を解決しようという思考に陥ってしまっているように見えますが、文章読む能力大丈夫ですか?
> 人間に簡単に解決することができるなら、その方法をプログラムに落とし込めば、AIでも解決できるというだけの話です。
なぜ伝わらないのか謎ですが、プログラムに落とし込むのが難しい、これがフレーム問題です。
落とし込めばいいじゃん?と田方さん入っていますが、それが難しく、誰もできていません。
そして、田方さんの考案した3Dモデリングだと、全てのケースで当てはめることはできないとお認めになりましたよね?なら、できていません。今すぐ記事を撤回したほうがいいです。
> ちなみに、3Dモデリングで解決するというのは、あくまでも、フレーム問題の解決の一例で、すべての問題が3Dモデリングで解決するとは思っていないですよ。
フレーム問題は、問題集ではありません。。。
フレーム問題の解決の一例、という概念は存在しません。フレーム問題を解決すれば、その方法でどんな例え話でも解決できるのです。ただ、それは誰もわかっていないし、3Dモデリング云々でも人間のような振る舞いは再現できていません。
ななし様
回答、ありがとうございます。
話しが混乱してきたので、論点を整理していきましょう。
まず、「その方法でどんな例え話でも解決できる」という方法が、ななしさんの考えるフレーム問題の解決策なのですね。
つまり、一つの方法で全ての事例が解決できないとフレーム問題は解決されたとは言えず、様々な事例に対して、それぞれに別の解決方法を当てはめて解決しても、フレーム問題は解決したことにならないという考えでですよね。
ここまでは間違いないでしょうか?
間違いないとすれば、おそらく、その考えは一般的なフレーム問題の解釈とは異なると思われます。
少なくとも、僕が今まで議論してきた中では、その点を指摘されたことは一度もありませんでした。
そこで、ななしさんが、そのようにお考えになった根拠を示していただけないでしょうか?
もしかしたら、ななしさんのおっしゃるとおり、僕の文章を読む能力に問題があるかもしれませんので、そんな僕にでもわかるように、フレーム問題の正しい解釈について、どこをどう読めばそう解釈できるのか、詳しく説明していただけないでしょうか?
もちろん、ななしさんの主張するフレーム問題の解釈が正しいことを、明確な根拠とともに示していただければ、すぐにでも記事を撤回いたします。
どうぞ、よろしくお願いいたします。
田方さん
流石に気づいて欲しいですが、
あなたがおっしゃっている
様々な事例に対して、それぞれに別の解決方法を当てはめて解決しても、
これが無限に発散するので、結局解けないという話です。
貴方は、高校の数学で証明問題を解いて練習したほうがいいでしょう。
解決した、と言い切るんだったら、具体的にどうするか言ってください。
いろんな方法でやれば解けるでしょ?
とか
人間が解いてるみたいな振る舞いをプログラムすれば良いでしょ?
じゃなくて
それをどうやればいいか、具体的な方法を見つけるのが難しい、から問題なのです。
さすがに論が稚拙すぎますよ
名無しの馬様
コメントありがとうございます。
名無しの馬さんが議論したいのは、数学の証明問題とか、一般的な問題に対しての話でしょうか、それとも、「フレーム問題」に対しての話でしょうか?
ここは、「フレーム問題」に関して議論する場なので、「フレーム問題」としてお答えします。
名無しの馬さんは、様々な事例に、それぞれに別の解決方法を当てはめて解決しても意味がないと指摘しますが、なぜ、「フレーム問題」で、様々な事例に対して、一つの解決方法で全て解決しないといけないと思ったのでしょうか?
「フレーム問題」のどこを読んで、そのように思ったのか、具体的な記述、または証拠を教えてください。
お返事、お待ちしております。
田方様
別に一つでなくても良いです。10個でも100個でも。
でも、様々な問題に対して、個別に対処すれば良いでしょ?っていうのは、無限に発生しうる問題を対処するなら、無限に対処するよ、と言っているのと同じで、
何も意味がありません。
解決法を提示したことになりません。
私が勘違いしてるかもしれないんですが、田方さんはどのような解決法を考えているのですか?
ちなみに、バッテリーの上に爆弾、は先述の通りフレーム問題が提唱されたあとの例え話ですが、
バッテリーの上に爆弾が載っていて、現実に起こりうる全ての事に対して、ロボットは決断をする必要があります。それをどう解決するんですか?3Dモデリングなら、例えば、急に3秒間止まってください、とアナウンスがあった場合、対処できませんよね。それなら、音声認識と言語認識の機能を加える必要があります。
そのような可能性全てに対応するにはどうすれば良いですか?
無限の可能性と対処法を探索すると、計算量が無限です。
毎回ロボットを止めて、プログラムすれば良いというのは、計算して探索するよりもアホな方法ですね。時間がかかりますし、永遠に問題にぶち当たり続けて終わりです。
これが無限じゃないなら、ちゃんと有限の集合がなんなのか示してください。
あなたのフレーム問題の認識が全くわかりませんし、何を言ってるのかさっぱりです。
というか、3Dモデリングでできますとか言っていたのを否定しているのに、この記事で解決した、と自信満々に言い続けているのが謎です。
解決したなら、ちゃんとみんながこれは解決してる、と認められるように、自分でフレーム問題を定式化して、解決したことを証明してください。
ななし様
回答、ありがとうございます。
ようやく、ななしさんも、フレーム問題についての誤解が解けてきたようですね。その通りです。「フレーム問題」とは、一つの方法で、すべての問題を解決する方法を探すといった問題ではありません。
ただ、まだ勘違いしている点があるようですので、もう少し説明いたします。
まず、「フレーム問題」の大前提は、人間なら簡単にできることもAIにはできないということです。
背景を説明すると、迷路といった単純な問題(トイモデル)はAIでも解けるが、現実世界は複雑なので、人間に簡単にできることでもAIでは解くことができないということです。
さて、このことを踏まえますと、「フレーム問題」が対象としているのは人間が簡単に解ける問題で、人間にも解けない問題までAIに解かそうという話でないことが理解できると思います。
おっしゃる通りで、「3秒間止まってください」に対処するには音声認識と言語認識の機能を付け加える必要があります。
人間には音声認識と言語機能があるのですから、それと同じ機能を付け加えるという話です。
ななしさんの説明が曖昧なので困るのですが、先ほども説明しましたように、重要なのは、人間に解決できている問題なのか、人間にも解決できてない問題なのかです。
おそらく、「そのような可能性全て」には、人間に解決できるものも解決できないものも含まれると思います。
「フレーム問題」の趣旨に照らし合わせて議論するとすれば、まずは、人間に簡単に解決できて、AIには解決できない例を挙げて、それはどうやって解決するのかという形で議論しないと意味がありません。
その形式に則って議論しているのが爆弾が乗ったバッテリを取り出す問題なのです。
ここまで説明すれば、ななしさんも、「フレーム問題」の意味が理解できたのではないでしょうか。
田方さん
そうですね。
それを、ロボットでどう実現しますか?それが難しいんですよね。
で、どうするんですか?3Dモデリングで出来ないような事象が有限で定義できるなら、それを示してください。
基本的に、無限に事象が発生し、それに対してロバストに対処しないと人間のように簡単なことができないと言われてますが、それをどのようにプログラムするんですか?人間と同じようにプログラムすればいい、は、意味のない答えなのは理解してくださいね。
ドラえもん作りたい!よし、ドラえもんみたいにプログラムすればいい
これはアホすぎるので。
無限に発生する状況を全部計算しなくても人間のようにロボットを動かして、ちゃんと世に出してますか?
動かせてないなら、理論で証明してください。
どちらかしかありません。
田方さんがそのようなロボットを作るか、理論的に証明するかです。
ちなみに、記事には3Dモデリングとありますが、その主張は崩さないんですかー?
何度も言いますが、人間のコピーをつくる、はやめてくださいね。それができるなら、どうやるのか、具体的なコードを示して、仮想敵に大量のテストケースを通してみた結果を示すとか
解決した、ってそういうことだと思うんですけど。
ご確認ください
2019年5月11日 6:02 AM
以下田方さんの文章ですが、これってロボットがどうやって考えますか?ぜーーーーーんぶ、田方さんが考えた目的達成までの道のりですよね。
爆弾じゃなくて他にもいろんな障害が起こりえますよね?それに対してどうプログラムで実現させますか?示してください。
ここで、目的達成までを、いくつかのステップに分割します。
まず、現在の状況は、バッテリの上に爆弾が載っています。
次に目的の状況です。
洞窟の外にバッテリがあって、洞窟の中に爆弾があります。
もし、爆弾がバッテリの上に載っていなければ、バッテリを移動させればバッテリだけを洞窟の外に持って行くことができます。
この爆弾がバッテリの上に載ってない状況を中間状況とします。
次に、現在の状況と、中間状況を比較します。
すると、違いは、バッテリの上に爆弾が載っているか載っていないかです。
つまり、バッテリの上に爆弾が載っている状況から載っていない状況にすればいいのです。
バッテリの上に爆弾が載っている状況から載っていない状況にするには、バッテリの上の爆弾をバッテリの外に移動させればいいわけです。
物体を移動させるには、ロボットのアームを使えば可能です。
ロボットのアームで、バッテリの上から外に爆弾を移動させれば中間状況になります。これで、バッテリだけを洞窟の外に持ち出すことができます。
ここまでを、シミュレーションによって確認できれば、あとは、シミュレーション通りに実際に行動するだけです。
2019年5月11日 6:07 AM
以下も田方さんの文章ですが、目の前に虫が来たらどうしますー?
虫は重要じゃないってプログラムしますか?物理的距離でやってしまうと、虫を目の前からどかすことに専念するロボットできちゃいますねぇ。。。
あれ?こんなことって無限にあるんじゃないですか?ないんですか?なら示してください。
なるほど、それなら、重要度を、単純に、物理的な距離に置き換えてみましょう。
ロボットと距離が近い方が重要で、距離が遠ければ重要度が低いと判断するのです。
そうすれば、爆弾は重要で、洞窟の壁は、爆弾より重要度が低いと判断できますよね。
2019年5月11日 9:04 AM
田方さん
なんどもすみません。
ちなみに、爆弾がバッテリーに載っている例えですが、
バッテリーを取りに行け、という単純な命令は出来ますが、爆弾が載っているような想定外は、全部計算しないと対処できない、という話です。
これは、
爆弾を取ってからバッテリーを取ってこい、という単純な命令はできますが
途中でボタンを押してドアを開ける、と言ったような想定外に対処できない。
と同じですからね。
つまり、
想定されるケースに対処はできるけど、想定されないものには対処できないという話です。
プログラマーである田方さんが爆弾を想定してプログラムをした場合、爆弾を取ってバッテリーを運ぶ、という田方さんが設定したフレーム内では行動できますが、
田方さんが想定していなかったケースには対応できません。
人間はできます。
対応するにはどうしたら良いでしょう?
誰もわかっていません。
あなたは物も作ってないし証明もしてないんだから早く記事を取り下げてください。
汎用型人工知能に関して、誤った論を流布するのは害悪です。
ななし様
回答、ありがとうございます。
複数の回答を続けて送っていただいたので、こちらで時系列に一つにまとめさせていただきました。
これだけの回答を、何度も送らないと気が済まない、ななしさんの興奮が伝わってきますね^^
前回の僕の説明で、ななしさんも、「フレーム問題」とは、一つの方法で全てを解決する方法を探すという問題でないことは理解できたようですね。
ただ、まだ、誤解している部分が多くあるようですので、今回は、その説明をしたいと思います。
「フレーム問題」で押さえておかないといけない一番重要なのは、これは、AIの問題だということです。
もっと言えば、コンピュータプログラムのアルゴリズムの問題です。
ななしさんをはじめ、多くの人が誤解しているのは、「フレーム問題」とは、哲学とか、思想とか、もっと抽象的な問題だという誤解です。
議論が噛み合わないのは、こういう誤解をしている人達です。
もっと言えば、コンピュータプログラムを作ったこともない人が、「フレーム問題」に口を出すと、ややこしくなってしまいます。
そのことを踏まえて、もう一度、「フレーム問題」の記事を読んでみてください。
マッカーシーもデネットも、コンピュータプログラムを念頭に置いているのは明らかです。
僕の解決策も、コンピュータプログラムを念頭に置いていることが理解できると思います。
おそらく、ななしさんは、プログラマーではないと思われますので、それを想定して、かみ砕いて説明していきます。
デネットが例に挙げた話は、爆弾が上にのったバッテリを洞窟から取り出すロボットの話です。
構成と問題が具体的かつ明確で、成功か失敗かの判断も明確です。
プログラムの問題として扱うには、このぐらいに具体的な設定がないと議論ができません。
次に、このロボットでは課題を解決できない理由も具体的ではっきりしています。
理由は、コンピュータアルゴリズムでいう「探索」の手法を使って解こうとすると、無限探索の問題に陥ってロボットがフリーズしてしまうというものです。
例に挙げたのは、洞窟からバッテリを取り出す問題ですが、AIロボットを、我々が普段生活している現実世界で動かそうとすると、必ず、同様の無限探索の問題が生じるので、人間と同じように現実世界で動き回るAIロボットなど作れないというのが「フレーム問題」の趣旨です。
プログラマーなら、デネットの話を読めば、頭の中で探索のアルゴリズムが具体的に想像できるわけです。
さて、この問題に対して、僕が提案したのは、無限探索に陥らないようにするには、探索アルゴリズムを修正すればいいということでした。
つまり、制限を一切設定せずに、あらゆる組み合わせを探索しようとするから無限探索に陥るので、制限を設定しようというのが僕の提案です。
たとえば重要なものから順に設定するというものです。
重要度の設定として、一番簡単なのは距離の近い物から設定するといったことです。
また、組み合わせの上限を設定して、上限に達したら、次の組み合わせに移るといったことをしてもかまいません。
こういった手法は、僕が発明したものではなく、プログラマーなら誰でも分っていることですので、プログラマーがこの記事を読めば、頭の中で、たとえばC言語を思い浮かべて、すぐに納得できるようです。
納得した方は、このコメント欄で反論もしないので、あまり目立たないですが、アクセス解析する限り、そのような結果となっています。
プログラマーでなく、「フレーム問題」は人類が永久に解けない難問だといった妄想が好きな文系の方は、ちょっとおかしな方向に行ってしまうみたいですね。
さて、ここまで読めばわかると思いますが、反論する場合には、プログラムで記述できる程度に具体的な内容でないと、議論にすらならないのです。
もし、反論する場合は、デネットの説明のように、「壁の色は変わらないか」「天井が落ちないか」などすべての可能性を検証するので無限の時間がかかるといった程度まで具体的に説明してください。
「目に見えないボタン」だとか「ドラえもんみたいにプログラムすればいい」といった小学生レベルの反論だと、こちらも答えようがないので、それは勘弁してください。
それにしても、ネットで匿名だと、人は、どうしてここまで態度が大きくなるのでしょうね。
こういう人に限って、リアルではおとなしい人が多いそうですが、ななしさんは、どうでしょう?
もし、勇気がおありでしたら、実名を公開してみませんか。
まぁ、絶対無理なことは分かっていますが^^;
フレーム問題は本質的に解決できませんが,人間は普段この問題に遭遇しません.ですので,人間と同様にあたかもフレーム問題を解決しているかのように,人工知能がふるまえるようにすることが研究の目標となります.
「人工知能の話題」, http://www.ai-gakkai.or.jp/whatsai/AItopics1.html , 人工知能学会
&様
コメントありがとうございます。
人工知能学会のこのページは僕も見ていました。
とのことですが、そのすぐ上に
ともあります。
「人間は普段この問題に遭遇しません」と言っておきながら、「思いもよらないことで事故がおきるのは安全くん1号と同じ」「知らない場所へ連れて行かれてとまどってしまい何もできないのは安全くん2号と同じ」と書いてあります。
人間もフレーム問題に遭遇してるじゃん!
また、人工知能学会のこのページの挙げてる例でいえば、誰が見ても、正解は、「荷車から爆弾をのけてから荷車を押す」ですよね。
人間なら、簡単に解決できてるじゃん!!!
人工知能学会のフレーム問題の記事を書いた人、言ってることめちゃくちゃですよね。
誰が書いたか、署名もないし。
がんばれ! 人工知能学会!!
「思いもよらないことで事故がおきる」,「知らない場所へ連れて行かれる」ことが「普段」に含まれないのでしょう.
&様
返信、ありがとうございます。
毎日、全く同じ行動しかとらず、知らない場所へは決して行かない人間を想定すれば、その人にとって「普段」は、思いもよらないことが起こらず、知らない場所へ連れていかれることもないでしょうね。
でも、「フレーム問題」で想定している人間が、そのような特殊な人だとは思えないですし、そのように読み取れる記載もないですよね。
それはそれとして、こんな不毛な議論をしてまで、人工知能学会を擁護する必要はないと思いますよ^^;
「特殊な人」を想定しないが故に人間にもフレーム問題が起き得るのでしょう.
&様、コメントありがとうございます。
コメントいただけるのは嬉しいのですが、ここは、チャットでなく、議論する場なので、1行だけの感想を書かれても、何が言いたいのかわからないです。
だから何?ってことでして^^;
もし、単なる感想や思いついたことを言いたいだけでしたら、コメント欄でなく、問い合わせからメールで送っていただければと思います。
反論など、議論したい場合は、何を議論したいのか、わかるように説明していただければと思います。
どうぞよろしくお願いいたします。
「フレーム問題」の趣旨に照らし合わせて議論するとすれば、まずは、人間に簡単に解決できて、AIには解決できない例を挙げて、それはどうやって解決するのかという形で議論しないと意味がありません。
その形式に則って議論しているのが爆弾が乗ったバッテリを取り出す問題なのです。
そうですね。
バッテリに爆弾が乗っている場合や、音声が急に流れて止まれと言われたり、ロープをハサミで切ったり、そういう無限にありえる人間ができるような状況に対して、事前に全組み合わせを計算せずに対処できるロボットどうやって作るか誰もわかってないんですよね。
で、あなたはどうするんですか?教えてくださいよ。3Dモデリングと、自然言語処理と音声認識でいけますか?ペッパー君は何もできませんが。ペッパー君に3Dモデリング機能つけたらできますかね?
早く解決したっていうならまともな答えください。
答えられないなら、早く取り消してください。
名無しの馬様、コメントありがとうございます。
匿名だと、名無しの馬さんも、すごいこといいますよねぇ。
最近、よくコメントをくれる「ななし」さんと、名前も性格もよくにてるなぁ、
と思っていたら、IPアドレスまで同じでした(>_< )
たぶん、名前とメールアドレスを変えれば、別人になりすませると思っているのでしょうね。
この程度の浅い知識からも、コンピュータやプログラムには詳しくない方とお見受けいたします。
同一人物と判定させていただいたので、ななしさんへの返答をもって、名無しの馬さんへの返答とさせていただきます。
なお、ややこしいので、今後は、名前を統一していただけませんでしょうか?
田方さんへ
感想です。質問でないので恐縮です。
田方さんのこの記事は「昔こういう問題が提唱されたけど、昔の主流な考えに則ったから起こるのであって今はどーって事ないよね?」という記事だと思いました。
この記事が荒れているのはなぜか考えて見ると、
・タイトルが煽り文句で語弊を招く(これは別にいい)
・フレーム問題に対しての記事での氏のツッコミが具体物を用いた手法(抽象的なものを現実に持ち込んで解決していると主張する事)であり、まるで「ももたろう」に現代兵器を持ち込むが如くのやり方で読者はコケにされたように感じる
・私は「時代が変わったのだから問題が前提とすることも変わって考えるべきでは?」という意見です
・で、それを加味すれば、言葉で何かしらの議論をするならば抽象的な言葉で論理を展開する事が、後世においても活用しうる文章を書く事につながるはずです(そこまでする必要を感じないでしょうけど)
といった風にして、他の質問者の方々は「説明が説明になってない、もっと教えろ、この説明の仕方だとここが不味くないか」などと指摘をしているわけだと感じました。
以下蛇足です
田方氏のこの一連のレスを見ると、この田方氏の営み(質問者に対して逐一回答する)という事がそもそもフレーム問題における田方氏の対処法と同じではないかと思いました。
田方氏は、くだけた言い方をすると「お前ら全員の前提条件とか論述の仕方なんて一々想定して記事なんて書けんわ」というメッセージを伝えているのではないでしょうか。
つまりこのページから読み取れるこのメッセージはフレーム問題が依然として存在し、かつ人間的には田方氏のように回避(解決)している、という事の証左であると言えます。
どうぞ頑張ってください。応援しています。
「心があるとか無いとかそういう事言い出すと人間めちゃくちゃ話がよじれる」様
コメントありがとうございます(名前が長すぎますがww)。
う~ん、抽象的な理論で「フレーム問題が解決しました」といって、彼らが納得してくれればいいのですがねぇ・・・
(って彼らって誰やねんwww)
「ななし」さんへの返信でも書いた通り、「フレーム問題」は、プログラムのアルゴリズムの問題なので、逆に、プログラムまで落とし込める程度に具体的な話で議論しないからコメント欄が荒れるというのが、「フレーム問題が解決しましたはなぜ荒れるのか問題」の答えですwwww
ちなみに私の意見だと、フレーム問題解決するにはmetric learningなどによるzero-shot予測などの技術の応用が解決の近道とは思っています。今のディープラーニングだと、認識対象を中間層の表現として抽象化できており、新しい事象に対しても類似度をある程度定義できているので。
しかし現状画像の分野は発達していますが、マルチモーダルでかつ複雑なルールが入り混じった現実の社会(人間にとっては簡単)をどのように学習させ、どのようにプログラムに落とし込めばいいかは全然わかりませんね。
田方さんは解決済と言い切っているので、なんらかのプログラムを作成済みもしくは理論的に証明されているはずですから早く教えてください。
ななし様
返信、ありがとうございます。
おめでとうございます!
ようやく、ななしさんも、フレーム問題が解決できることが理解できるようになったようですね。
時間をかけて、説明した甲斐がありました。
心から、お祝い申し上げます。
田方さん
意味不明です。
解決できるかもしれませんが、妄想の域ですよ。
解決してません。
解決済みではなくて、解決できるかもしれない
という風に記事を変えてください。
今は解決できてないので。
そうでないと誤った論を流布することになります。
よろしくお願いします。
ななしさん、僕のコメント、ちゃんと読んでいますか?
以前の回答を再掲しますので、ちゃんと読んでから反論してくださいね。
田方さん
何を言っているんですか?
フレーム問題の、現実の問題検証するには無限の時間がかかる、これを解決したとあなたは言っているんですよね?
どうやって解決したんですか?
これを聞いているだけです。
そして、3Dモデリングと言い始め、自然言語もつけないといけないと言い始め、どんどん機能を追加してますが、無限の検証が必要ないようにプログラムできていないですよね。
「目に見えないボタン」だとか「ドラえもんみたいにプログラムすればいい」といった小学生レベルの反論だと、こちらも答えようがないので、それは勘弁してください。
?????????
意味がわからないのですが、それあなたの立場の議論ですよね?
あなたが、人間ができる簡単なことをプログラムすればいいという、小学生のような論拠を出し続けてるんですよ。
ただ、それが難しいから誰もできてない。あなたは、できるといってる。それはすごい、虚勢だとしてもポジティブでいい。でも解決してませんので。タイトル変えてください。
ななしさん、僕のコメント、ちゃんと読んでいますか?
以前の回答を再掲しますので、ちゃんと読んでから反論してくださいね。
田方さん
いい加減理解して欲しいのですが。。。たか本当はもうなんとなく自分の理解が出来てないって分かってますよね?
フレーム問題は、洞窟の中には何があるかわからない。それを対処するプログラムをかけ。その際無限の可能性を考えるとスタックしてしまう。と言うと問題ですからね。
爆弾があったらアナウンスが流れたり。無限にありえます。それを、工学的でもいいのでロボットでうまく回避することはすごく難しいです。
で、田形さんは解決したんですよね?
どうやったんですか?
記事では、物理的距離で重要度をつければいいと言う結論出してますよね?
重要は、人間にわかる簡単なことだからいいよね?と言うテキトーな論理で書かれていますね?
事前情報ないので、爆弾を持って下ろせば持って帰られる、という判断はどうやります?無限に可能性ありますがルールベースだと無理ですよ。
強化学習でときますか?それなら、プログラム作ってから解決したと言ってください。
ななしさん、僕のコメント、ちゃんと読んでいますか?
以前の回答を再掲しますので、ちゃんと読んでから反論してくださいね。
田方さん
無限の検証が必要ないことを示さなければいけないのはあなたです。分かってますか?解決してませんからね?
ドメイン特化の機械学習で回避する方向性が今のトレンドですが、それが出来るといいたいなら回避という言葉を使ってください。
何度も何度も繰り返していますが、解決したと言い切るなら
実際のプログラムを作る
以外ないです。それ以外は口だけの虚勢ですので、早く示してください。
3Dモデリングで物理的距離の重要度って言ってましたよね?
蚊が近づいたらどうします?あなたが蚊が近づいたときのためのプログラム書くんですよね?それが無限に続きますけどどうやって解決してるんですか?
理解してください。。。
流石に、今までと違ってあなたの論が稚拙になりすぎていて話にならないです。
ななしさん、僕のコメント、ちゃんと読んでいますか?
以前の回答を再掲しますので、ちゃんと読んでから反論してくださいね。
田方さん
というか今までのコメントで散々色々な人に言われていて、まだ解決済みと断定する精神、根本的に改善した方がいいと思います。
もしも本当に解決していたら、もっと賛同者多いはずですよ。
そうでない場合、解決したと言い切っていいのか?と自問自答してみて下さい。
私の説明力不足か、解いつまでもフレーム問題を解決済と思っていらっしゃいますが、改めて文献から見直してみてほしいです。というかあなたフレーム問題のことを、爆弾の例えのことだと勘違いしていましたね。(過去コメントで、あれがフレーム問題提唱された後の例え話だと知った様子)解決していないかも?と少しでも不安になったら、記事のタイトルや内容が良くない事もだんだん理解できるのではないでしょうか。
あなたの記事を読んで解決と思い込んでしまい、フレーム問題を理解する人間がしなくなってしまうかもしれないんですよ?大丈夫ですか?そうなってもいい!というくらいの自信が本当にありますか?ちょっとでも揺らぐなら撤回しましょう。恥ずかしくないです、意見を述べ、修正していくことで人は成長します。
解決したと言い切るなら、正当に。解決していない可能性。感じたら、言い切るのはやめましょう。
ななしさん、今回は、このコメント欄の管理者として通知いたします。
何度も繰り返しお願いしましたが、いっこうに改善の余地がないため、今後、ななしさんの当コメント欄への書き込みは禁止させていただきます。
今後、ななしさんが投稿しても、掲載することはないので、ご了承ください。
なぜ、このような処分を下すことになったか、今までの経緯を説明します。
ななしさんへは、以前、僕からの回答で、「フレーム問題」はプログラムのアルゴリズムの問題だと指摘しました。
だから、プログラムで実装可能な議論をしないと意味がないので、プログラムで実装可能な説明で反論してほしいとお願いしました。
デネットの洞窟のたとえでも、どういった動作を行うと、どういった問題が起こり、それを回避するための新たなプログラムを作ると、さらにどういった問題が起こると、1号機、2号機、3号機と詳細に論を進めていきます。
「フレーム問題」とは、この程度の緻密な議論が必要なのですが、ななしさんの反論は、「爆弾があったらアナウンスが流れたり」とか、「蚊が近づいたらどうします?」と1行程の説明をするだけで、何がどうなって、どうなるから問題だということが一切書いておらず、プログラムで実装したときの問題を議論することができません。
反論の中身は1行程度しかないのですが、その一方、コメントのほとんどは、「記事を削除しろ」「人間として恥ずかしくないのか」「精神を根本的に改善した方がいい」「早く修正しろ」との言葉を書き連ねるばかりです。
数年前、コンビニ店員や、スーパーの店員に土下座を強要してYouTubeに投稿する事件がいくつもありましたが、あの事件が思い出されます。
このようなヒステリックなコメントをここに掲載し続けることは、「フレーム問題」をまじめに議論したいと思っている他の読者にとっても、非常に迷惑となりますので、このような措置を取らせていただきました。
最後に、以下の質問に回答して終わりにしたいと思います。
とのことですが、賛同者は、記事を読んで納得するため、コメントには残さないようです。
コメントを残す人は、プログラムを書いたことがない文系の人が圧倒的に多いのは間違いないようです。
賛同者の多くは、コメントに書く代わりに、ツイッターでつぶやくことが多いです。
その一例として、産業技術総合研究所のヒューマノイドロボットHRP-4の開発で有名な梶田秀司博士のツイートを紹介します。
「世界に存在する無限の情報を等しく扱おうとすれば、組み合わせ論的爆発に陥るけれど、情報の重要度と優先順位を定めればこれを回避できる。」
として、「フレーム問題は解決済み」の本記事を取り上げています。
そして、このツイートに対して、111件の「いいね」と49件の「リツイート」が行われています。
これが、プログラムを理解できる人が本記事を読んだときの正常な反応といえます。
田方さん
=========================================
デネットの洞窟のたとえでも、どういった動作を行うと、どういった問題が起こり、それを回避するための新たなプログラムを作ると、さらにどういった問題が起こると、1号機、2号機、3号機と詳細に論を進めていきます。
「フレーム問題」とは、この程度の緻密な議論が必要なのですが、ななしさんの反論は、「爆弾があったらアナウンスが流れたり」とか、「蚊が近づいたらどうします?」と1行程の説明をするだけで、何がどうなって、どうなるから問題だということが一切書いておらず、プログラムで実装したときの問題を議論することができません。
=========================================
この部分ですが、田方さんの解決策で実装したとしても、「爆弾があったらアナウンスが流れたり」といったような反例が無限に生じるのがデネットの例えだと思います。それを計算するためには、無限の計算量が必要とのことだと思います。反例が出るたびに実装するとさらなる時間がかかると思います。
田方さんの解決法では、この問題をどのように解決しているのでしょうか?
物理シミュレーションや、自然言語処理を実装するという風に書かれていた気がしますが、具体的な実装方法がわかりませんので、ご教授いただければと思います。
decorator様
コメントありがとうございます。
ななしさんでないことを心から祈りながら、回答いたします。
ななしさんとのやり取りを読んでいただければわかると思いますが、「爆弾があったらアナウンスが流れたり」と一言だけ反論しても、回答できかねます。
何度も繰り返し説明していますが、「爆弾があったらアナウンスが流れたり」をプログラムで実装できる程度に詳細に説明していただく必要があります。
詳細な説明とは、デネットが洞窟の例で説明した程度となります。
つまり、どのようなアナウンスが流れて、ロボットは、それにどのように対応するのか。
その対応で、何が問題となるのか。
その問題を回避するためには、どうすればいいのか?
その回避の方法だと、つぎは、どんな問題が生じるのか?
その問題を回避する方法は、どうすればいいのか?
そうやって、反例が無限に生じるということを説明してください。
ちなみに、この1時間ほどの間に、ななしさんから、かなりヒステリックな書き込みが多数ありましたが、あまりにも見苦しいので、すべて削除させていただきました。
あまりにも中身のない感情的なコメントに関しましては、警告なく削除する場合がありますので、その点はご了承いただければと思います。
フレーム問題について物申す。
私自身がフレーム問題について思うことです。
要はフレーム問題を解決するためには
ロボットにはプログラムに縛られない人間のような自律性が必要だと思います。
計算できないような適当さや曖昧さという概念を持たさないといけないという意見もありますね。
無限の思考が必要というのが、ロボットがこの世界で、現状のロボットのようにプログラムによる命令で動く場合。
人間のように自律させるには、無限のフローチャートを作成させないといけないという意味だと私は思います。
洞窟からバッテリーを取ってくるという特定のタスクを実行させるのなら
人間がプログラムを書いて実行させれば可能でしょう。
しかし、バッテリーに爆弾が仕掛けられていたという想定外のことがあれば上手く対処できません。
あらゆる想定(フローチャート)は無限にあるから、人間が入力するプログラムも無限にある。
だから、従来のプログラムで動くロボットでは無理だということになると言いたいのだとわたしは思うのですが?
きっと、ロボマインドプロジェクトで
自律性と世界の常識や経験を持ったロボットなら
フレーム問題の無限の想定でおかしくなることはないでしょう。
わかりにくかったら、すみません。
karat様
コメント、ありがとうございます。
karatさんが言う自律性が、どういうものか定義が分からないで、プログラムで実現できるかできないか、一概に答えることができないです。
常識というのも、プログラムで定義するのが難しいもので、常識の内容によって、実現方法が様々に異なりますので、具体的な話をしないと、議論にならないと思います。
その点、デネットは「洞窟からバッテリーを取り出す」といった具体的な例を挙げてくれたので、議論が可能になりました。
デネットの挙げた例で言えば、僕が主張するのは、フレーム問題とは、アルゴリズムの問題で、無限探索にならないように、重要度順に探索すれば、有限時間内で探索が完了し、ロボットがフリーズする問題は避けることができるというものです。
それ以外のフレーム問題は、具体的な例を挙げていただければ、議論することができると思いますよ。
返信ありがとうございます。
フレーム問題の記事を読み返してみて、ようやく解決への理解が出来たような気がします。
ただ、気になる点が一つあったので反論させて下さい。
>重要度を、単純に、物理的な距離に置き換えてみましょう。
ロボットと距離が近い方が重要で、距離が遠ければ重要度が低いと判断するのです。
そうすれば、爆弾は重要で、洞窟の壁は、爆弾より重要度が低いと判断できますよね。
>このようにして、現実世界では、迷路と違って簡単に重要度を設定することができます。
重要度の大きいものをフレーム内、小さいものをフレーム外とみなすことができるわけです。
このように区別すれば、簡単にフレーム問題を回避することができるのです。
もちろん大抵は目の前の距離が近い方が重要な場合が多いので、それで解決する場合が多いと思います。
でも、距離が遠い洞窟の壁や天井が突然崩れそうになって危険な状況になったら
必ずしも距離が近い方だけを重要にするだけでは不十分だと思います。
このような状況になったら、どう対処するのでしょうか?
屁理屈でしたら、すみません…。
karat様
コメントありがとうございます。
はい、全くそのとおりですね。
距離の重みづけは、単なる一例で、人間は、その他にも様々な方法で重みづけをしていると思います。
壁や天井が崩れる場合だと、たとえば、静止しているものより動いているもの、動いているものの中でも、大きな物、速く動くものをより強く重みづけするとか。
さらに、動きだけでなく音でも重みづけして、何かが崩れる音などは強く重みづけすることになるでしょうね。
こんな風にして、経験から優先順位を学習していくのでしょう。
機械学習はIF-THEN形式を曖昧に表現・処理しているというのが私の認識なのですが、
つまりプログラマがフレームを決定せざるを得ないため、そもそもフレーム問題の様な無限探索に陥る現象は起こり得ないと考えます。
「フレーム問題に陥らない設計」=「フレーム問題の解決」というのが少し腑に落ちないのです。
ただ、実際にコードを書くとなると「うまく回避」させる他に無いですから、
回避=解決と解釈するかは言葉の問題ですかね。。
Mishima様
コメント、ありがとうございます。
これは、ちょっと違うと思いますよ。
AIは、大きく二つの流派にわかれまして、一つが記号主義でもう一つがコネクショニズムです。
記号主義というのが、人がルールを記述するタイプで、コネクショニズムは大量のデータを使ってパラメータを最適化するタイプです。
機械学習はコネクショニズムで、IF-THEN形式のルールで記述するタイプは記号主義となります。
別の見方をすれば、コネクショニズムは帰納型で、記号主義は演繹型といえますね。
コネクショニズムと記号主義については、「『教えて!いろはちゃん』全文掲載」も参考に読んでみてください。
これは、人間も同じですよね。
人間も「フレーム問題」を完全に解決しているのでなく、回避しているだけとも言えますので。
いずれにせよ、人間と同程度に「フレーム問題」を回避できるAIができれば、現実的には問題ないと考えています。
そもそもの問題提起は、AIロボットを現実世界で動かすと、フリーズして動かなくなるということなので、それが回避できれば、大成功だと思います^^
他の多くの皆様は、「〇〇のパターンの時にxxはAIが判断できない! だからフレーム問題は解決していない」みたいなことをおっしゃってますが。
洞窟と爆弾とバッテリーを見たことのない人に、洞窟と爆弾とバッテリーの写真を見せて「洞窟からバッテリーを取り出してくること」と命令したって、おそらくはロボットと似たような間違いを起こすと思います(同時に、たまたま間違いを起こさずに正解の行動ができる人もいると思います)。
人間が、生まれてからさまざまな刺激を何年も受けて、いろいろな事象に対する学習を重ねることによって、知識と判断力を獲得していくわけですから、社会の無数のパターンをプログラミングに落としこんで、個性のパラメーターでも用意して、何年も学習をさせれば、ほぼ人間と同じ行動はできると思います。
その、無数のパターンをプログラミングを書くのが、今の技術力ではとんでもない労力が掛かるので、人間並みのAIはまだ生まれていないわけですが。
人間だって、学習していなければ推測のレベルも低いわけですし、ここで批判的なコメント書いている人たちって、どんな緊急事態でも脳がフリーズせずに最適解を出せる、フレーム問題を乗り越えた全知全能の神様なのかな? と思いました。
人間には人間の知覚のフレームがあって、山登り中に突然落石に見舞われた時、たまたまとっさに右に避けて、落石をかわせるか、あるいは右に避けたけど岩も右に転がって潰されてしまうか。
そんなものは、そうなってみなければわからないですし、何が正しいかは結果だけが教えてくれるのですから。
応援様
応援、ありがとうございます^^
まったく、そのとおりですね。
人間と同じような処理をプログラムすれば、たいていの問題は解決すると思われます。
洞窟の中のバッテリの問題も、人間なら絶対にしない方法で解決しようとしたから、無限ループの問題が発生したわけです。
バッテリを取り出すのに、洞窟の壁の色が変わるかを気にする人なんかいるわけないですしね。
人間ができている課題は、可能な限り、人間が頭の中で処理するのと同じようなプログラムを作成するわけです。
そうやっていくと、どうしても、人間が簡単にできてるのに、脳内でどう処理してるのかわからない問題が出てきます。
それこそが、AIで解決不可能な難問となります。
その最たるものが「意識」とか「言葉の意味理解」です。
ロボマインド・プロジェクトは、その解明を目指すプロジェクトです。
洞窟の中からバッテリを取り出すといった、50年以上前のAIで解けなかった問題にいつまでも固執するのはやめてほしいですよね^^;
田方氏に質問です。
学生ながら、乏しい質問となってしまうのですが、この様なフレーム問題(?)に田方氏の理論を照らし合わせてみたいのです。
高速道路の合流点において、走行車線をAIを搭載した自動運転車A(運転席、助手席、後部2人を検知済み)が走行し、追い越し車線を走行中の自動車B(外装からAIによる補助システムを搭載している可能性が高い且つ、乗車人数は不明)が車線変更をし始めました。今、AIを搭載していない自動車C(乗車人数不明)が走行車線に合流し始めました。
この事例は実際に高速道路で起きた過去の衝突事故を引用し、車両の1つがA Iを搭載した自動運転車であった場合を仮定しました。また、この事例に対し、自動運転車ではなく、AIがフレームを定義した際行なった処理過程に焦点を当てた考察を問いています。
質問は、この場合の重要度を距離で判断するのであれば、車両AのAIが運転席側、助手席側、前方座席、後方座席、誰が優先に値するのでしょうか。
また、逆として、誰を犠牲とするのでしょうか。
ここから先は感想に至ります。
一例として、これが前方に取り付けられたセンサーから波紋状に広がった際の各座席の座標によるものであれば、後方部は犠牲となる。つまりは急停止等をし、玉突き事故を引き起こす(高速道路においては急停止は追突を避けられません。)等、が浮上します。
このように、フレーム問題を解決呼ぶには少々荒いのではというのが、記事と多少なりコメントを読んだ感想でもあります。それとも、人間が立ち会った際、(この事例の結果として、Bの運転手、Aの後方座席2人以外は重症、死亡した。)という以上の結果をAIに望むのは不適切な思考として除去すべきでしょうか。
少々余談に受け取られるかもしれませんが、人間を超える知能として、社会を統制するAIの存在に対し、どの様なお考えをお持ちでしょうか。重ね重ねとなりますが、お応えして頂けたら幸いです。
学生緑様
コメント、ありがとうございます。
この問題は、厳密にはフレーム問題とは言えないですが、とても重要な問題ですね。
フレーム問題というのは、AIロボットを現実世界に投入したとき、人間なら簡単に解決できる問題が、AIの解探索のアルゴリズムだと無限探索に陥るなどして解決できないものです。
学生緑さんの挙げる問題は、フレーム問題というより、いわゆる「トロッコ問題」と呼ばれるものですよね。
ご存知の通り、「トロッコ問題」は、今のAIで、最も注目されている問題です。
「トロッコ問題」は、「フレーム問題」とは逆で、AIには簡単に解ける問題です。
なぜなら、どうすれば最小の犠牲者で済むか計算すればいいだけの話ですから。
重要度の判断は、単純に距離で判断するのでなく、ブレーキを踏んだり、ハンドルを切ったりした場合をシミュレーションして、最も犠牲者の少なくなるような操縦をすればいいわけです。
でも、「トロッコ問題」が重要なのは、そういうことではありません。
話を単純にして、右にハンドルを切れば二人、左にハンドルを切れば3人が死亡するとわかっていたとします。
AIが、犠牲者が少なくなる右にハンドルを切って二人が犠牲になったとします。
人間でも同じ判断をするだろうし、何も問題がないように思えます。
でも、何かしっくりきません。
絶対に判断を間違わないとしても、そんなAIにすべて任すのは躊躇しますよね。
なぜでしょう?
人間とAIの違いは何なんでしょう?
おそらく、トロッコ問題の本質は、犠牲者の数を最小にすればいいという単純な問題ではないと思います。
そうではなく、重要なのは、犠牲者が少なくなるとはいえ、二人を犠牲にしなければならなかった側の苦悩にあると思います。
自分には落ち度はないとはいえ、二人の尊い命を自らの手で奪ってしまった。
それを一生、背負って生きていくことになる。
人間なら、当然感じる、そういう苦悩がAIにはありません。
こちらの方が費用が安くすむという問題と、こちらの方が犠牲者が少なくて済むという問題を同様に処理するAIを信頼できないというわけです。
人間が、この苦悩を感じれるのは、死の恐ろしさ、命の尊さといったものを理解しているからです。
もっと言えば、他人の命を奪うということは、その人の家族がどれだけ悲しむかとか、その人が生きていれば経験できたであろう人生といったものを想像できるから苦しいのです。
AIも、同じような苦悩を感じるようになれば、AIのことを信頼できるようになると思います。
残念ながら、今のAIでは、人間と同じような感情は持ちえません。
これがトロッコ問題の本質です。
人間と同じような心を持つことができれば、AIをもっと信頼することができるでしょう。
参考「AIは人類の親友になれるか」
3Dモデルの生成という点に疑問を抱きました。
このモデルの生成は、AIによるものなのでしょうか?それとも人間によるものなのでしょうか?
またこのモデルは現実世界をどれだけ情報を失わずに表現しているのでしょうか?
完全に正確なシミュレーションをするなら、原子や電子、あるいはそれ以上のいわゆる物質の最小単位のレベルでモデルを構築する必要があるはずです。例えば簡単な物体の挙動であっても、真空中と、大気や水が周囲にある環境では全く挙動が違うと思います。
しかしこれらの情報量が多すぎて、不必要な情報をカットしないと、現代のコンピュータで扱える情報量にならない。この情報をカットするのがロボットには難しいというのがフレーム問題であるのだと思います。人間の場合は、経験的に情報をカットすることができる能力を身につけているためフレーム問題は、問題になりません。
冒頭の質問ですが、人間がある程度情報を限定してモデルを生成しているのであれば、人間がフレーム問題を解決して、その情報が限定された空間でロボットが判断をしているだけなので、当然フレーム問題は起こらないでしょう。しかしこれは経験的知識のある人間が解決しただけであり、フレーム問題の解決には一切なっていないのではないのでしょうか。
AIがモデルを生成しているのならば、どのように必要な情報だけを切り抜いて現実世界をモデル化しているのでしょうか?これが正確にできているのであれば、フレーム問題は解決したと言っていいと思います。
ふ様
コメント、ありがとうございます。
どこからツッコんでいいのか、悩ましいコメントですねぇ。
この意見は、初めて聞きましたねぇ。
あまりにも認識が違うようなので、念のため、一般的な「フレーム問題」についておさらいしておきます。
「フレーム問題」とは、仮に、AIロボットが完成して、現実社会に投入したとしても、人間が簡単にできる仕事すらできないという問題です。
その一例が、爆弾が乗ったバッテリを洞窟から取り出してくるという仕事もできないって話です。
なので、人間がフレーム問題を解決して、それをAIロボットのプログラムに落とし込んで解決して解決したなら、それはそれでOKなのですが、ふさんは、それじゃぁ、満足しないというわけですね。
現実世界をカメラで撮影して、それをリアルタイムで3Dモデル化する技術は既に存在しますよ。
AR分野を調べれば、いくらでも出てきます。
それだと、AIがモデルを生成したとならないのでしょうか?
原子や電子などの情報のカットは、人間がやってるのでなく、単に、カメラに写っていないだけの話ですが。
それは、人間も同じですけどね。
それとも、ふさんは、原子や電子が見えますか?
AIの基本とか全然知らない高校生です。
1▶命令を受ける
2▶バッテリーの3Dモデル作る(このとき周辺の状況も「なんかこんなんかな〜?こんなんやったらええな〜」的な感じで作るそして自分がこう動くとかいうのも込でイメージさす)
3▶取りに行って発見、現実の3Dモデルを作り、始めに想像したモデルと比べる
4▶はじめ想像した時とズレている、そしてはじめ考えた自分の動作を実行すると爆破される事に気づく
5▶爆弾どかす解決策を実行する
このとき3Dモデルはバッテリーを中心に作られる
3Dモデルとかの仕組は全然知らないですけど複数モデル作って(モデルは未来、現実、過去希望等々..,)うまいこと比較させながら動かせばいけそうだなぁと思いました。しかし現実は爆弾以外にも脅威はあり、その程度の大小も様々なのでやはり難しいのかとも思いました。
校生様
コメント、ありがとうございます。
おっしゃる通りだと思います。
こう言った、ごく普通のアイデアが、若い人から出てくるようになって嬉しいです。
「フレーム問題」は、記事にも書いた通り、60年第の人工知能の知識の枠組みから出てきた課題なので、現実世界の問題の解決というより、(当時の)人工知能の限界を示そうとしただけなんです。
実際に動くロボットなんて、まだ、カケラもない時代の仮想実験です。
なので、「フレーム問題」の話を鵜呑みにして、AIロボットは実現しないなんて言うのはナンセンスなんです。
今は、その次の段階に来ていて、ロボットが本当に現実世界で動くようになってきたので、校生さんが思っているような問題を議論するときなんです。
本当に難しいのは、ここからなんです。
近い話として、スティーブウォズニアックの「コーヒーテスト」っていうのがあります。
それは、他人の家に上がり、その家の主人にコーヒーを淹れて上げられるかを試すテストです。
人間なら、そんなに難しくないですが、これをロボットがするとなると、様々な困難に直面します。
今は、そういった具体的な問題を議論する時代になっているので、「フレーム問題」といった抽象的で曖昧な議論ばかりしていたら、いつまで経ってもロボットなんてできないです。
まぁ、そういう議論が好きな人は、手を動かさずに、口だけよく動くタイプの人のようですが^^;
このタイトルにすれば人が寄ってくるという事を狙った良いタイトルだと思います。
でも実際にフレーム問題が解決済みだなんてまさか思っていないでしょう?
本気で言ってるとするならちょっと・・・笑
ここで述べてることの全てはフレーム問題の定義を故意に矮小化してそれを解決したことにするという、非生産的で無意味な行為に過ぎないのでは?
とおりすがりさん、コメントありがとうございます。
もちろん、本気で言ってますよ^^;
反論があるなら、とおりすがりさんの考えるフレーム問題の定義からきちんと説明していただければ、それがなぜ、間違いか、丁寧に説明して差し上げますよ^^
[…] が すでに解決しているという見方もあるようや https://robomind.co.jp/frameproblem/ […]
フレーム問題として検索して、サジェストに解決済みと出てすごくうれしかったのに…
単なるノータリンがしたり顔で何も理解せず語ってるだけですごく悔しくなりました。
フレーム問題の本質は、あなたが簡単に解決できますよね、と言っている優先度を、
「だれが」、「どうやって」決めるのですか?
という問題です。
完全に汎用化されたプログラムを1サーバーで作るとしたら、どうやればよいと思いますか?
それができなければ、フレーム問題はいつまでも解決できないのです。ばーかばーか
dr.minor様
質問、ありがとうございます。
ちゃんと、記事を読みましたか?
「どうやって」決めるかの一例として、優先度を物理的距離で決めるって書いてありますよ。
「だれが」決めるかって?
そりゃ、プログラムがきめるんですよ。
ほうら。
お前の方が、ばーか、ばーか。
おまえのかーちゃん、でーべーそ( ゚Д゚)
はじめまして
以前からテキストのブログを読んでいまして、今日Youtubeに投稿された動画を見てフレーム問題が炎上していたと聞いて、また改めて読みにきました。
ただの素人の感想なので気楽にお読み下さい。
半分ちょっとまでコメントを読んでお腹いっぱいになってしまったので全部は読んでいませんが、ここにコメントしてる方々は根本的な所で大きな勘違いをしてるように思いました。
まずひとつめは田方さんがAIに指示を出したら人工知能じゃない。
何を言ってるんだ?と。指示を出すのは当たり前だろうと。
そもそもプログラミングと言うものがコンピュータに対する指示書だと。
そこが無ければ始まらないでしょ?と。
人工知能が学習などで成長していくのはその後の話であって、どのようなデザインを持って成長させるかはプログラムで指示するしかないでしょ?と。
ある日基盤や回路を寄せ集めてスイッチをONにしたら「ぼくドラ○もんです」と言うのかと。
ここに来ている自称プログラマーの人はド素人の自分にでも分かることを忘れてしまったのかと。
もうひとつは皆さんが言っていることは、いきなり最初から辿り着く所ではなく、完成した後のアップデートやバージョンアップで対処していくものだと。
それよりももっともっと前の土台の部分の事をやっているのに、いきなり応用編をやらせようとする、例えれば産まれたての赤ん坊に「なんでお前は完璧じゃないんだ!」と言ってるように見えて滑稽でした。
たかだか(と言ってはなんですが)パソコン程度のOSでさえ、いつまで経っても完成品など出たことがないのです。
それが意識を持った人工知能ともなれば共に育てあっていくというか、完成したところからがまた新たな始まりというか、下手をしたら人ひとりが育つのと同じように一生涯勉強みたいな事になるのかもしれないじゃないですか。
スイッチポン!な世界に浸ってると、考え方までスイッチポン!の○か×しかない頭になってしまうんだなぁと、これは自戒も込めて思いました。
自分はAIと言うよりどちらかと言えば「人の考え方」という方向でロボマインド・プロジェクトを見てきていました。
田方さんの話がストンと腑に落ちることばかりだったので、ここを見てついひと言言いたくなってコメントしてしまいました。
乱文失礼しました。
自分も少しは勉強しなくてわ(笑)
これからも楽しみにしています。
Nori様
感想、ありがとうございます。
おっしゃる通りですね。
フレーム問題の話となると、なぜか、極端な意見を振りかざす人が多いんですよ。
50年以上前のコンピュータを前提とした思考実験に、いつまでも振り回されるのはどうかとおもいますよね^^;
フレーム問題をどう定義し、どうなれば解決と考えるのか
絶対の共通認識が無いわけで、人によって同じテキストを読んでも異なる結論が出るのは仕方ないと思うんです。
でも、今回の例えでいけば
3Dモデルで物理シミュレーションする事で安全くん2号よりも実用性が上がるんじゃないかな?
って部分は揺らがないと思いますし
(一通り見たつもりだけど、その機能は無駄みたいな意見はあったっけ?)
【完全解決】だろうが【回避】だろうが【限定的解決】だろうが実用性が上がるならイイジャン。
って思います(こなみ)
人間の5感相当のセンサーがあれば、人と同程度の判断を付けれる可能性は十分にあるかなと。
優先度をどう適切に付けるのか、とか問題が無いわけではないんでしょうけど、別に解決不可能な問題とは私も思わないです。
なんなら人間には無い情報を読み取るセンサーを増設する事も出来ますし。
フレーム問題回避のためではなくとも、そうした動きは確かありましたよね・・・?
記事を読んで、私は少なくともフレーム問題が絶対不可侵の神話とは思えませんでした。
いやまぁ、神話のままでのもいいんだけど別に限定的状況だろうと実用出来ればその方がイイジャンていう・・・。
これだと人工知能学会の「人間と同様にあたかもフレーム問題を解決しているかのように,人工知能がふるまえるようにすること」と大差ないですけどね。
たぬ様
コメント、ありがとうございます。
そのとおりなんですよ。
「フレーム問題」って、なぜか、神話化されてまして。
「フレーム問題」の解決方法を言おうものなら、なぜか、「そんなんじゃ、フレーム問題は解決しない!」って怒り出す人がいるんですよ。
何なんでしょうね。
彼らは、いったい、何を守ってるんでしょうかねぇ。
科学へのロマン?
銀河帝国への忠誠心?
よくわからないです( ゚Д゚)
ですねー。
ただ、まぁ…、私のような理解をした場合、フレーム問題を解決不能な難問と理解していた人が記事を読んだ時のがっかりも分かる気がします。
実際にフレーム問題にぶちあたり、回避も解決も出来なくて困ってる、という現場があるとすれば、この記事はある意味天啓にも近い回答の一つじゃないかと思います。
ただ実際にそんな現場は果たしてあるのだろうか、と。
現場ではそれを回避ととるか解決と取るかは様々でしょうが、恐らく何かしらの工夫や妥協を重ねて前に進んでいるだろうと。
そう考えると
フレーム問題解決?すげーじゃん、ブレイクスルーじゃん
→ 解説:そもそもAIロボットの開発がストップするような大問題じゃないよ
→ 別にこの記事でもって現場で大きな発展が生じる訳ではない事を理解
→ がっかり
そこまで順を追って咀嚼していない人でも、感覚的に【発展しない→がっかり】という部分だけは理解出来てしまう。
ここに、解決不能な難問と理解していた人の期待と結論のギャップがあり
そもそも田方さんのように、フレーム問題を大した問題と捉えていない人が大した問題ではないと主張するだけの内容を素直に受け止められない現実が生まれるのではないでしょうか?
要は、なんかブレイクスルーに繋がるような凄い記事だと期待した人が別にそうではない事を漠然と理解して八つ当たりしてるみたいな…
そんな感じではないでしょうか?
たぬ様
コメント、ありがとうございます。
全く、その通りなんです。
「フレーム問題」の一番の謎は、現場で問題になったことなんか、今まで、一度もないってことです。
なのに、世界中で、50年以上も議論されつづけてるわけです。
「フレーム問題」って、ロボットが、人間社会で働き始めたときを想定して出てきた問題なんです。
1960年代のことです。
AIが登場して、将来、そんなロボットが出てきたときのことを先回りして考えた空想上の問題です。
さて、50年以上たった現代社会、どこに、ロボットが日常で活躍してます?
「ビール取ってきて」っていって、冷蔵庫からビール取ってきてくれるロボットぐらい、出来そうなもんですけど、そんなことすら、出来てないのが現状なんです。
まさか、21世紀の未来でも、できてないとは思ってもみなかったでしょうね。
当時の考えでは、そのぐらい、簡単にできるってのが大前提で、その時、どんな問題が起るかってことで出てきたのが「フレーム問題」だったわけです。
「フレーム問題」を議論してる人に、まず、分かってほしいのが、「ビール取ってきて」ができるロボットを作るのが、どれだけ大変かってことです。
まず、そこが理解できる程度に、技術を知らないと、議論にならないんですよ。
技術を全く知らない哲学者と「フレーム問題」を議論しても、ほんと、何にも得るものはないです。
「フレーム問題」に一見似てるけど、もっと意味のある「コーヒーテスト」またの名を「ウォズニアック・テスト」ってのがあります。
他の人の家に行って、コーヒーを淹れることができるロボットはどうやったらできるかってテストです。
これは、技術者として、かなり面白い課題なんですけど、これに興味ある哲学者は、ほとんどいないようです。
「フレーム問題」についてああだこうだ言いたい人は、中身のない議論が好きな人なんでしょうね。
本気でロボットを作ろうと思うなら、「コーヒーテスト」の方が、議論しがいがあるんですけど、具体的な話になると、技術が分からない人は逃げるんでしょうね。
田方さんは、距離の近さによる重要度の判定によってフレーム問題は解決されると述べていますが、今回想定されているデネットの例では、ロボットは「バッテリーを洞窟から取り出すこと」のみを命じられており、その方法や過程についてはロボットに一任されているわけで、「距離の近さによって重要度を判定する」ことを田方さんが命じてしまっては、本問題の設定と矛盾するのではないですか?
フレーム問題は、デネットの例のように、「ゴールのみが設定され過程が一任された事柄について、ロボットがいかに過程を築くか」が論点であり、課題解決の過程構築における価値判断に人間の手が入ってしまっては、フレーム問題を解決したとはいえないと思うのですがいかがでしょうか。
ああああ様
コメント、ありがとうございます。
人間の手が入るのでなく、学習によって習得すれば問題ないでしょうか?
それなら、学習で価値判断するようにすれば同じだと思います。
それとも、学習も一切せずに、どんな課題が出されても、すぐに解決できないとフレーム問題を解決したといえないということでしょうか?
さすがに、それは解決方法は存在しないでしょうね。
返信ありがとうございます。学習によって習得すれば問題ないと思いますが、まさにその「学習で価値判断する」というのが実現不可能だというのが問題なのではないですか?
ああああ様
返信ありがとうございます。
ちょっと、どういう状況を想定しているのかわからないです。
危険なものに近いほど危険ということを学習して、実際の場面で、距離を測って、距離が近いから危険と価値判断するということなら可能だと思いますが、そうことではないのでしょうか?
返信ありがとうございます。
「危険なものに近いほど危険ということを学習して」とおっしゃいますが、では例えば洞窟の入り口に「バッテリーを持ち出す前にここにある端末に『1111』と打ち込まなければ洞窟の入り口は爆発する」と書いてあった場合、ロボットはバッテリーから離れた入り口の情報を無視してバッテリーを取り出そうとするでしょう。
一般的な成人の人間であれば、単に「バッテリーを持って来い」としか言われていなくても、バッテリーの上に爆弾があれば爆弾をどかし、端末にパスワードを打ち込む必要があればパスワードを打ち込んでバッテリーを持ち出すことに成功するでしょう。
人間は、初めて直面する事態であっても、過去の経験を組み合わせて事態の解決を図ることができます。これを経験に基づく「学習」として、AIのそれと同視することもできるかもしれませんが、そうであるなばロボットにどのような「学習」をさせれば人間と同じような行動が取れるようになるのでしょうか。
まさか「爆弾があったらどかさなければならない」「パスワードを打ち込む必要があればパスワードを打ち込まなければならない」というように、一つひとつデータを入力するわけにもいかないでしょうから、1つのあるいは少数の価値判断プログラムを設定する必要がありますが、どのような価値判断プログラムを設定すれば、人間と同じように「経験から初めての事態も解決する」ことが出来るようになるのかが分からないのです。
少なくとも、田方さんの言う「危険なものに近いほど危険ということを学習して、実際の場面で、距離を測って、距離が近いから危険と価値判断する」だけでは「人間と同じ」とは到底言えないのではないでしょうか。
連投失礼します。記事に加え、コメントのやりとりも見て疑問が増えたので追記させていただきます。
田方さんは23番のAさんへの返信で
「僕が言いたいのは、『フレーム問題』は、人間が解くのと同じ方法でロボットにも解かせればいいということです。」「僕の解決策は、人間ができてロボットにできない問題があれば、人間と同じ知識をロボットが学習すれば解決できるというものです。」
とおっしゃられています。これについて、私は全く同感で、人間のように判断する(ように見える)ロボットを作りたければ人間と同じ学習をさせれば良いというのはその通りだと思います。
ただ、最大の疑問は、どうやってこの「人間と同じ学習」をさせるのですか?人間と同じ学習をさせるためには、まずロボットにその人間の学習データを入力できるように、学習したことを言語化しなければいけないでしょうが、爆弾の例で言えば「爆弾は爆発する」「爆弾でバッテリーを爆発させないためにはどける必要がある」「爆発とは○○な形で××な重さで〜」というようなたことを完全に言語化し、入力することは不可能でしょう。
フレーム問題について、世界の学者は「人間と同じように判断するロボットを作ればフレーム問題は解決できる」ことは分かっていると思います。しかし、どうすれば「人間と同じように判断する」ロボットが作れるか分からないから、フレーム問題が「解決できない」と言っているのではないですか?
人間と同じように判断するロボットを作ればフレーム問題は解決できるが、どうすれば人間と同じように判断するロボットを作れるか分からない、という状況ではフレーム問題を解決したとは言えないでしょう。
もし田方さんが「人間と同じように判断するロボットの作り方」を知っているのであれば教えてください。それが分かっていらっしゃるのなら、フレーム問題を真に解決したと言えると思いますし、それが分からないのであれば「フレーム問題を解決した」とは言えないかと思います。
ああああ様
質問、ありがとうございます!
承知しました!
ちょうど、その事について書いた本がございます。
「普通に会話ができる ドラえもんの心のつくり方1」です。
ああああさんの疑問は、全て、この本を読めば解決しますよ^^
これ見てる人は、ヤラセかと思うかも知れませんが、ヤラセじゃないですよ^^;
その「人間が普通に考えるように」を定義するのが難しいという問題なのに
そこを限りなく矮小化してフレーム問題は解決済みと言っても説得力はまるでないなあ
洞窟や爆弾の例はあくまで分かりやすく単純化したモデルであってそのミッションを解決出来たとしても本質的には何の意味もない
これだけ多くの人に同じような指摘をされているのになんで気が付かないのだろう
ふぃーご様
コメント、ありがとうございます。
これだけ多くの人が納得してるのに、ふぃーごさんは、まだ、納得されてないんですね。
それじゃぁ、特別に、ふぃーごさんでも納得できるように説明して差し上げますね。
まず、人間なら簡単に解決できて、プログラムでは解決できない具体的なフレーム問題の課題を出してください。
僕が、その課題をプログラムでどうやったら解決できるか、ご説明いたします。
では、どうぞ!
ふぃーご様
いつまでたっても、返事がないとこを見ると、ようやく、自分の間違いに気が付いたようですね。
せっかくなので、ここで、ふぃーごさんが、どう考えて、返信するのを辞めたのか、思考過程を辿ってみようと思います。
ふぃーご:洞窟の爆弾の例は、単なる例。フレーム問題を解決したことにならない。
田方:それじゃぁ、人間なら簡単に解決できて、プログラムでは解決できない具体的なフレーム問題を出してださい。
ふぃーごの頭の中:えーと、人間なら簡単に解決できる問題かぁ。こんなのはどうかなぁ。
いや、それだと、人間と同じような思考をプログラムにすれば解決するって言うだろうなぁ。
いや、待てよ。
人間と同じような思考をプログラムにするって、答えを教えたら、それはフレーム問題を解いたことにならないぞ!
そうだ、このことを指摘すれば、俺の勝ちだ!
いやいや、早まるな。
ふぃーごよ。
たぶん、そう指摘したら、田方のことだから、こう指摘するにちがいない。
「人間だって、教えてもらったからできるんじゃないですかぁ~」
クッソー、ムカつく!
でも、たしかにそうだなぁ。
人間が教えてもらってできるなら、ロボットには教えたらダメだって言えないしなぁ。
これじゃぁ、フレーム問題なんて、起こらないよなぁ。
たしかに、田方のいう事が正しそうだなぁ。
でも、負けを認めるのは悔しいなぁ。
まぁ、このまま、無視しとけばいいか。
とまぁ、こんな感じじゃないですかねぇ。
どうでしょう。
ふぃーごさん。
まぁ、返事はないとは思いますが。
これを読んでる他の方も、ふぃーごさんみたいな目に遭いたくなかったら、あまり、分かったような書き込みはしないほうがいいですよ
要するに、
AI「コレヲ、コノ ホウホウ デ オコナウ ト、 70% ノ セイコウリツ デスガ、ジッコウシマスカ?」
と人間に確認させる訳ですか?(あるいは、この条件以外は無視するように命令しておく)
人間:失敗→許す。だって、人間だもの。
AI:失敗→絶対許さない。だって、AIだもの。
これが、フレーム問題を発生させていると言う事でしょうか?
質問してしまいましたが、素朴な疑問が出たもので。
質問、ありがとうございます。
ちょっと違うような気がしますね。
フレーム問題で指摘したいのは、人間だったら簡単にできることが、AIロボットにはできないってことです。
人間でも失敗することは、AIロボットが失敗しても問題ないです。
人間が当たり前にできることを、AIロボットができないってことを指摘したのがフレーム問題です。
この場合だと、爆弾を動かすことと壁の色は関係ないことは人間には当たり前にわかるけど、AIロボットには、それが分からないってことです。
フレーム問題を①実務的な課題と見るか、②科学的な命題と見るかの違いが議論の発散原因と思われます。①と捉えれば人間はフレーム問題を解決できており、ロボットも学習を経て解決できる、というのが本記事の趣旨と解釈しました。一方反論されている方は②と捉えていて、厳密な意味では人間もフレーム問題を解決できておらず、経験則と推論でフレームを擬制しているにすぎないからロボットも同じでしょう、との主張だと理解しました。どちらも間違ってはいないと思います。
未来人さん
コメントありがとうございます。
おっしゃるとおりだと思います。
②の場合、人間にもコンピュータにも解決できない難しい問題があるという、ものすごく、当たり前のことを言ってるだけになりますよね。
そんな問題、いくらでもありますし、なんで、フレーム問題だけ、そんなに熱くなるんでしょうね。
現実の世界で人間はフレーム問題をやり過ごして(?)生活できてます。
汎用人工知能は人間と同じように様々な課題を処理可能になることらしいので、人間と同じようにやり過ごせれば問題にならない、と。
でももっとスゴイ超人的なAIであればフレーム問題も解いてしまうのかもしれません。量子コンピュータとかで。
話は変わりますが、
Gary Marcus: “Rebooting AI: Building Artificial Intelligence We Can Trust”
www.amazon.co.jp/dp/B07MYLGQLB
の翻訳本を出していただけないでしょうか。反AIの本らしいです。
ヤン・ルカンにやたらと突っかかる人として有名な人でニューヨーク大学の名誉教授なのですがこの人の主張を知りたくて。田方さんのような方であれば出版社に企画を持ちこめば通りそうな気がするので頼んでみました。
はい、人間もフレーム問題を解いてるわけじゃないですよね。
アマゾンで見てみました。
面白そうな本ですね。僕と同じ意見みたいです。
自分で訳す時間は、今は取れないですけど、翻訳が出たら、ぜひ、読みたいです。
通りすがり氏のコメントに対する篤志さんの回答の一部を抜粋したものですが、
>これは、目的達成に関係が近い順に順位付けして探索します。
具体的には、目的であるバッテリに物理的距離が近い方に高いポイントを付与し、距離が遠いものに低いポイントを付与するとか。
または、バッテリを運び出す経路上にあるものに高いポイントを付与するとか。
このような方法は、人間が普通に考えることですよね。
物事に順位を付ける。そして、順位付けの範囲を絞ることで順位付けを無限に行わないようにする。こういったことを篤志さんはおっしゃりたいのでしょう。
しかし、ロボットの順位付けの範囲がせまかったせいで、失敗したとします。なら次のロボットは順位付けの範囲を広げました。しかし、それでも範囲が足りなかったため、さらに範囲を広げたロボットを作った。しかしそれでも範囲が足りなかったためまた範囲を広げ…
結局この繰り返しになるだけです。
こまつさん
コメントありがとうございます。
その場合は、範囲を決めて、あきらめたらいいだけですよ。
誰でもそうしますよね。
無限に、これを繰り返すロボットを作るバカなんかいないですよ。
仮に重要視する範囲を絞ったとしても(壁の色とかまでは考えない)それでも考慮する問題(爆弾やガムテープ、その他諸々の一般成人なら普通に解決できるような問題)がたくさんありすぎて上手くいかないという批判に関して、田方さんは逐一学習させれば良いとおっしゃっていますが、それに途方もない時間と手間がかかるという話を皆はしているのではないでしょうか?論理的には可能ではあるけど、少なくとも現在の技術では途方もない時間と手間がかかる(と予測される)ときに、問題は解決しましたと言われても納得できない人がいるのは仕方がないと思います(例えるならば、砂場の砂粒の数を問う問題に対して、一粒一粒地道に数えれば分かりますよ、と言われても納得できないようなものです)。
田方さんはフレーム問題は数学的な一般命題ではなく工学的な特殊命題であるから、上記のような方法であっても実践的に上手くいくのならばそれで良いとお考えのようですが、実践的に上手くいくと言うためには(実践的有用度を評価するためには)、実際に時間や手間がどれくらいかかった上で、どの程度の目的遂行力を持つロボットができたかという事例が必要であると思います。しかし、ここまでの議論を見る限り、田方さんは現在そのような事例や実験結果を示せていません。したがって多くの人が、たとえ数学的一般命題ではなく、工学的な実践的問題に絞ったとしても、フレーム問題が解決したという主張に納得できていないのではないでしょうか?
要するに田方さんのおっしゃる方法の実践的有用度が未知数であり、未知数であるなら解決したとは言えないのではないかということです。
質問、ありがとうございます。
久しぶりにフレーム問題の質問ですね。
同じ質問が何度も来るので、YouTubeで解説したんですけど、よかったらそちらを見ていただけないでしょうか?
https://www.youtube.com/watch?v=zFewI-TZ7Ts&list=PLnjPVOrMzROHz_xJQAk3D_O0qorAmrwOC&index=2
簡単に説明しますと、「フレーム問題」とは、人間に容易く解ける問題が、AIロボットには簡単に解けないという暗黙の了解があります。
つまり、フレーム問題というのは、どんな問題でも瞬時に解決できなければ意味がないという問題ではないということです。
そう考えれば、砂場の砂を全て数えるのは人間でも難しいので、これはフレーム問題になり得ません。
詳しくは、YouTubeをご覧ください。
ご返信ありがとうございます。
youtubeも拝見しましたが、おそらく私の意図が上手く伝わっていないようです。
私が上で言っている砂場の話は、ある目的達成のための個々の諸問題、またはある目的そのものではなく、そのような個々の問題の解決を通して目的を上手く遂行できるロボットを作ること全体についての話です。すなわち個々の諸問題に逐一対処していく方法で、目的を一般成人レベルに上手く遂行できるロボットを作るには、砂場の砂を地道に数えていくような途方もない時間と手間がかかるのではないかということです(実際のところどうなのかは分からないが、実践的有用度を示すような事例や実験結果が少なくとも本議論内では提示されていないので周りの人からはそのように見える)。
そして、そのように膨大な時間や手間がかかることが予想されるから、多くの人はフレーム問題一般に関するある程度抽象的で応用の効く(手間暇を減らせる)理論を求めているのではないでしょうか?
ただ別にそれらの人もそのような一般的理論に拘っている訳ではなく、田方さんのおっしゃる方法で実践的に十分上手くいくのならばそれで良いと考えると思います。しかし、現状田方さんはそのような実践的事例を提示できていません。
返信、ありがとうございます。
ただ、まだ何が言いたいのかわからないです。
砂場の例は適切でないとのことなので、適切な具体例を挙げていただけないでしょうか?
具体的な課題があって、それを人間なら簡単にこう解決できるが、AIなら解決できないという問題を一例挙げていただけないでしょうか?
それを基に議論しましょう。
どうぞよろしくお願いいたします。
本記事に反論されている方はフレーム問題をピュアに捉えすぎだと思います。我々の世界には無限に等しいパラメータがあり、厳密に必要なパラメータだけ抽出して使うなんてことは不可能です。そういう意味でフレーム問題は解決できないというあなたの主張は正しい。
しかし前提としてなんらパラメータの制限なく動く機械なんて作れないし、汎用人工知能の開発者もそんなものを作ろうとはしていません。
工場のラインロボットと同じです。パラメータを制限して使うしかないんです。
汎用人工知能≠全能人工知能です。
人間と同じくわからないことには対応できませんし、あらゆるケースに抜け漏れなく対応できる機械を作ることは不可能です。
しかしニューラルネットワークと学習機構をうまく利用すれば、特定の系で必要なパラメータを抽出することができる。そういう意味で実務上のフレーム問題は解決できるパターンがあるということです。よく例にあげられる洞窟から爆弾を取り出すみたいなタスクは報酬系をちゃんと設計してシミュレータ環境で何万回か学習させれば完遂できます。