適用対象を考えるとき、「人工知能で」というよりは「直感で」と言った方がより適切に判断できると思います。
たとえば、
- 「直感で」碁を打つ
- 「直感で」絵を描く
- 「直感で」危険を察知
天才棋士ですね
芸術家
なるほど便利
- 「直感で」会話
- 「直感で」医療行為
- 「直感で」自動車を運転
超々々天然丸出し?相手すると頭がおかしくなりそうですね。
利用したいですか?
こんなの走ってたら危ないから外出したくないレベルですね。
というわけで、
- 「直感で」言われたことを予め決まった分類する
- 「直感で」医療画像から異常を検知
- 「直感で」センサーから人・車を検知
人間の論理的思考への先天的なマッピングはまだまだ先でしょう。暫くは人間が細かにプログラムしなければいけないわけです。または、そうしたプログラム・データがクラウドとかで十分膨大に蓄積されたら、それをもって実現できた様に見えるかもしれません。計算能力よりも、プログラム・データ不足というのが実情でしょう。大手も含め、IT企業各社が前のめり気味に人工知能っぽいサービス・「人工直感」機能を提供しているのは、より沢山利用してもらってデータをためて人工知能っぽいものの完成度競争で優位に立つためかもしれません。
さて、そんな「人工直感」のためのデータベースとはどんなものか、そもそもデータベースなんてまだ必要なのか、という疑問もあると思います。
私は、多分「超多次元空間索引」が必要になると思います。1000次元くらいは欲しいです。分散格納してクラウド全ノードで全探索でも良いですが、それでは将来同時に色々対応できないでしょう。というかそのような検索技術が無ければ、大手クラウド会社の支配する領域となるでしょう。
ニューラルネットワーク等の関連技術では、「直感」の結果は多次元ベクトルで現れます。それがその空間内で近いものは、近い特徴を持ち、遠いものほど関連はありません。また、それを更に判断する全結合層などの学習済みの荷重などから、空間内の多次元平面(空間全体より低次元という意味で)に絞って近傍探索できても役立ちそうです。
とは言っても、経験上2次元の索引でも値の更新がある場合色々面倒なんですよね。でも、逐次、索引内データ(空間内座標)の補正ができなければ知識(まだ認識?)の修正ができません。多次元では正確性を少し犠牲にしただけで結果がぐちゃぐちゃになりそうで怖いですね。
個人的にはまだ直近では必要を感じていませんが、扱うデータ量・分類する精度が細かくなってきたら必要になって数年後に作る羽目になったりするのでしょうか?全く面倒くさいですね…。誰かつくってくれないでしょうか?もうあったら嬉しいですね。
というわけで、「人工直感」状態を脱しない限り、知能っぽさを与える部品はデータベース(というか膨大なデータ)です。 意外と接点は近いです。
では、またの機会に。
(追記)
多次元空間近傍検索は色々試してみましたが、検索のみが目的なら、nmslib の hnsw メソッドが一番良さ気です。もちろんチューニングは必要ですが、性能と精度のバランスが良く、索引は addDataPoint() しなおさなくても、loadIndex() するだけで使えます。pythonバインドもちょっと手を加えれば、結果セットにid以外にスコアも返るようにできますので。