http://www.itmedia.co.jp/news/articles/1810/25/news011.html
っていうのがあるけど、現在、ちょっと事情が変わっているところがあるので、
何回かに分けて、その辺を書いてみたいと思う。
まず、今回は、第一点。
AIを活用するシステムというのは、AIですべてのシステムを構築するわけではない
という点。
■たとえば、自動運転は、以下のように思っていないだろうか
*-* 車車間情報 →|人|→タイヤ センサー情報→|工|→ブレーキ 路車間情報 →|知|→アクセル 行先等希望 →|能|→車内クーラー *-* :
つまり、人工知能にデータを入力し、機械学習させると、
いい感じにブレーキやアクセル、エンジンを回して、ハンドル切ってくれると・・・
しかし、次の質問をしたとき、これって、絶望的なことが分かる。
「じゃあ、その人工知能、どうやって学習させる?」
あらゆるセンサーデータ、あらゆる行先などの希望を学習して・・・無理!
将来何が起こるかわからないし、センサーの状態だって劣化したり天候によって変わるし・・・
・・・つまり、このように思っている経営トップやIT部長(Sierもそうなのかなあ~)が、
AI利用するシステムのプロジェクトに関与すると、絶対、失敗するってこと。
■じゃあ、どう考えるか。
さっきの自動運転、
自動運転 システム構成と要素技術
https://www.amazon.co.jp/dp/4627674619
の27ページの「物理層」の図だけ、抜き出すとこんなかんじ
*-* 他車両 → 車載間通信装置 →|制| |御|→アクチュエーター→車両移動 |装| 走路環境 → センサー →|置| *-*
これだと、センサーのところにCNNの機械学習を入れて
アクチュエーターのところに強化学習を入れればいい。
そうすると、例えば「障害物が来たら止める」という自動運転を考えた場合
●センサーのCNN部分は
入力データ→CNN→障害物がある/ない
となり、入力データをもとに、障害物の有無を判断する人工知能を機械学習で作ればいいことになる。
これなら、入力データである車の前の画像中、道路が見えていれば(&横の飛び出しがない)→「障害物なし」
ということなので、学習できそう。
●アクチュエーターの強化学習は
(車載間通信で障害物があった,センサー情報で障害物があった)→強化学習→ブレーキ
となり、障害物情報を入力として、ブレーキをするか、しないかの2値を学習させればいい。
これって、機械学習でもできそうだけど、人工知能使わないで、ロジックで書けそう・・・
上記の自動運転の例でわかるように、人工知能をどこに使うかを考えることによって、
システム化が可能だったり、不可能だったりする。
だから、どういうシステムを構築し、どこに、どの種類のAIを使うか(CNN、RNN,LSTM,強化学習・・・)
がシステム構築上、最重要事項なんだけど、そこを考えないで、わざわざ失敗確実の自由度の高い
機械学習を構築しようとしてしまう・・・これがAIシステムの作れなくなる原因の1つ。