学生時代、私は、研究室の担当教授の勧めで、人工知能研究(当時のファジィ、ニューラルネットワーク)のチームを立ち上げました(最初は1人からスタートした)。
当然、立ち上げたばかりですので、実績のある推論エンジン用のプラットフォームもライブラリもなく、私は、論文や文献を漁って、自分でゼロから推論エンジンプログラムを作らねばなりませんでした(そもそもインターネットがなかった)。しかし、これは、“人工知能技術”を習得する手法としては、最良の方法と確信していました。
そして、
からです。
私は、チームのリーダーとして、私の推論エンジンのプログラムをコピーせずに、全員にゼロから自分専用の推論エンジンを自作するように命じ、(結果的に)その自作ができた者だけが、私のチームに残留しました。
しかし、この私のチームの運用方針が、意外な落し穴だったのです。
ある時、大学の教授のところに、食品加工製造装置(こっちは、サンマやサバ*)ではなく、街の手作りパン屋さん向けの専用オーブン)の庫内温度・湿度制御の研究依頼が入り、私のチームで担当することになりました。
*)関連記事:「サンマとサバ」をファジィ推論で見分けよ! 史上最大のミッションに挑む
私は、チームの後輩の1人に、「ファジィ制御」を試すように命じ、その研究の指導を行っていました。
ある日のこと、後輩の作った推論エンジンの推論結果に違和感を覚えた私は、推論ルールを確認して、さらに自分の推論エンジンの結果とも比較してみました。
―― 推論結果が、全然違う。
私は、急ぎその後輩を呼び付けて、推論エンジンの実装の内容を聞き、がく然としました。
後輩の推論エンジンの理解に、致命的な誤解があったからです。
江端:「なんで、min-maxのmax計算で『加算』するんだ?」
後輩:「え? maxだから足し算で良いんじゃないんですか?」
江端:「ファジィ値が、1を超えてしまうじゃないか!!」
後輩:「え? 1を超えたらダメなんですか?」
江端:「お前、Yes(1)とNo(0)の世界に、10倍のYesとか、-100倍のNoの概念を入れているんだぞ」
後輩:「それが『ファジィ推論の特徴』ではないですか?」
―― ダメだ。ファジィ推論(min-max法)の考え方を、根本から誤解している
目の前が真っ暗になりました。ここまで彼が作った推論プログラムと、その推論結果(制御データ)は、この瞬間全て「ゴミ」となりました。
なぜ、指導員である私が、こんなメチャクチャな推論アルゴリズムを、推論結果から看破できなかったかというと、推論結果が一定の値の間に納まる ―― という、ファジィ推論特有の性質があったからです(関連記事:“バーチャル江端”3人衆、ダイエットに散る)。
ごく普通の制御のシミュレーションのアルゴリズムのバグであれば、出力結果が0に収束するとか、無限大に発散するといった、分かりやすい現象で発見できる場合が多いです(もちろん、発見できない場合もありますが)。
このように、結果(出力)から、推論エンジンのアルゴリズムのバグや、原因(入力)にさかのぼる問題のことを「逆問題*)」といいます。今回は「この逆問題が解けないこと」を問題としていますので、正確には、「逆問題の問題」と言うべきですが、面倒なので、ここでは、ひとくくりに"逆問題"と表記することにします。
参考:ウィキペディア
"逆問題"は、"人工知能技術"だけではなく、プログラム、数学に至るまで、もうどーしようもない問題のことでして、簡単に言えば、「何でそうなったのか理由を説明できない」という問題です。
最も簡単な"逆問題"は、「A+B=Cという数式があって、C=5という結果になった場合、AとBの値を求めよ」というような問題です。1つのCの値から、2つのAとBの値を確定的に求めることはできません。
ですが、"人工知能技術"の場合は、コンピュータという機械を使うので、入力値も途中の計算結果も全て記録しておくことができます。(恐しく面倒ではありますが)そのプロセスを逆方向にたどることができるので、「"逆問題"ではない」と言うこともできます。
しかし、現実的には、“人工知能技術”は、巨大な“逆問題”なのです。
Copyright © ITmedia, Inc. All Rights Reserved.