フレーム問題
判断が必要なとき、関係ある可能性があることをを全て考慮しようとすると計算量が爆発してしまう問題です。
爆弾処理ロボットが壁の色まで気にした結果、時間切れで爆死してしまう例などが有名です。
AIについての問題ですが、人間なら関係ある可能性があることをを全て考慮できてるわけではありません。
AIもまた、人間同様にフレーム問題にうまく対処する必要があります。
ニューラルネットワークが流行してから、耳にする機会が減りましたが、問題がなくなったわけではありません。
フレーム問題の解決方法
フレーム問題への対処は大きく、4つに分けられます。
①考慮する範囲をプログラマーが決める
一般的な生成AIなどは、全てこれです。
ディープラーニング等では、層の数を決めてしまえば、それ以上深く考察することはありません。
考慮する範囲も計算量も一定になります。
プログラマーが想定しなかった事態には対応できません。
もっと時間を掛けても良いから、もっと良い結果を出してくれと命令されても出来ません。
②考慮する範囲をAIが決める
ニューラルネットワークは、途中で層の数を変えたらデータがおかしくなります。
AIが層の数を動的に変えても良い結果になりません。
ニューラルネットワークを何回動作させるかは、動的に変えられます。
将棋のAIが、何手先まで読むか等を動的に変更するのが、それに当たります。
③優先順位をプログラマーが決める
例えば、爆弾処理ロボットに、時間に余裕があるときだけ壁の色まで考慮するようにプログラムしておきます。
優先順位の高いことから処理して、制限時間で打ち切ります。
プログラマーが想定したことしか優先順位を付けられません。
④優先順位をAIが決める
人間はこの方法です。
先に考慮するべきだろうと思えば、それを先に考慮します。
制限時間で、それ以上考慮するのを打ち切った方が良いと思えば、打ち切ります。
同じようなことをAIにもさせれば、フレーム問題は解決です。
優先度の再帰的な決定
AI自身による考慮する内容の優先度の決定は、単純ではありません。
問題①
爆弾を処理するための行動を選択
・行動A
・行動B
・行動C
問題②
上の問題を解くために優先して考慮することを選択
・事項Aについての考慮
・事項Bについての考慮
・事項Cについての考慮
問題③
上の問題を解くために優先して考慮することを選択
・事項Dについての考慮
・事項Eについての考慮
・事項Fについての考慮
・・・再帰的に繰り返します
問題を解くということは選択肢を選ぶことです。
優先度を決めることも問題になります。
優先度を決めるという問題を解くために考慮することを選択することも問題です。
問題が再帰的に無限に発生するため、解決が困難に思われます。
しかし、問題を解こうとすることは、最適な選択肢を1つ選ぶことではありません。
可能な範囲で、良い選択に絞り込むことです。
時間がなければ、一切、選択肢を絞り込まずに、そのまま出力されます。
その場合、やむおえず、その中からランダムで選択されるだけです。
無限の計算量が必要になることはありません。
巡回セールスマンを例に考えてみます。
セールスマンはルートを決めてから出発します。
最適解を計算するには何年も掛かってしまいます。
ある程度の近似解が出た時点で、計算を待つより出発した方が早いと判断すれば、計算を打ち切ります。
また計算に使うアルゴリズムを選択する必要があります。
ある程度良さそうなアルゴリズムが分かれば、アルゴリズム選びを打ち切って、計算を開始します。
アルゴリズムを探すためには、ネットでどんな単語で検索するかも選択する必要があります。
このように、再帰的に問題が発生しますが、時間がなければ、既知の選択肢を選ぶため、有限時間で対処できます。
コメント