見たものを見分ける力をどうやってコンピューターに持たせるか。いま専門化の見方は2つに分かれているようです。
コンピューターのプログラムは、
「○○の場合は△△しなさい(if ○○, then △△)」
という命令の集まりです。これまでこの命令形式を使って、人工知能(AI=artificial intelligence)を作る努力が積み重ねられてきました。こうしたやり方を「記号的AI」といいます。計算は人間よりはるかに速く正確にできて、命令には忠実に従うのがコンピューターです。であれば、起きうる全ての出来事とその時の対処の仕方を人間が示してやれば、コンピューターは人間の知能の代わりになるはずだと考えたわけです。
ところが、起きるかもしれないことをすべて事前に予測する、なんてことができる人がいると思いますか? 毎回ではないにしても、
「えっ!」
と驚嘆することに出会うのが人生ではないでしょうか。
いや、世界は広い。だから、ひょっとしたらそんな能力を持つ人がいるのかもしれません。だが、少なくともこれまではそんな人は現れませんでした。
道路で車を運転するという一見単純な作業でも、判断しなければならないことは数百万に上るといいます。ひょっとしたら、その数百万の99%は数え上げて記号的AIの手法で書くことができるかもしれません。だが、プログラマーが考えつかなかった残りの1%が起きると、コンピューターは何の判断もできず、従って指令も出せません。コンピューターからの指令がなければ、車はどうしたらいいのか分からなくなります、そんな車は、高速で移動する、重さが1トンから2トンもある鉄のかたまり、危険この上もないものになってしまいます。
【注1】
プログラマーが想定しきれない事象(フレーム問題・フレームアウト)に対する懸念は現実となった。現在では「ルールベース(記号的AI)」のみで複雑な一般公道の自動運転を達成することは事実上不可能というのが業界の共通認識となっている。ただし、危険を察知した際の「緊急自動ブレーキ(AEB)」など、最優先される安全ガードレール(フェールセーフ)の記述としてルールベースの記述が部分的に併用されるケースはある。
「いや、それでも記号的AIでいいのだ」
と考える自動運転車の開発者もいます。
「判断ができなくなったときは、車が止まるようにプログラミングしておけばいい」
という考え方です。車が移動中、突然車の前に何かが現れた。それが何かは判断できないが、このまま走ればぶつかってしまう。そんなときは、車を止めてしまえば危険はない、というのです。そして、止まって安全を確保した上で、その物体が動かなければ避けて走る、その物体が動いていれば車の前からいなくなるのを待つ。そうすれば安全は確保できます。
こうした開発者の頭にあるのは、記号的AIが長年使われてきて慣れているということに加えて、
「記号的AIではダメだ」
という開発者たちが研究を進めている機械学習(駆動型AI=コンピューターが自分で学ぶ)が抱える問題があります。機械学習は膨大なデータを必要とします。だから、瞬時に判断を下すには、きわめて高性能のコンピューターが必要です。当然コストも上がります。
「車の安全を確保する目的のために、コンピューターにそこまでの力を求めるのは求めすぎだ」
というのが、記号的AIを磨いて自動運転車を実現しようとしている人たちの考えなのです。
【注2】
当時指摘されていた「車載半導体のコストと処理能力」の問題は、その後のNVIDIA(エヌビディア)をはじめとする車載AI用半導体の劇的な進化によって急速に解消された。グラフィック処理装置(GPU)やNPU(ニューラル・プロセッシング・ユニット)の高速化と低価格化が進み、テスラやWaymoなどの自動運転車には超並列処理が可能なモンスター級のAI用コンピューターが標準搭載される時代となった。
なるほど、それはそうだと頷けます。ましてや、自動運転車のコンテストで、記号的AIで動く自動運転車が、機械学習をするコンピューターで動く車に勝つこともありましたので。
どちらに軍配が上がるのか。
要は、より安全でより安価な自動運転車ができればいい、と私たちは考えます。
【注3】
その後の「記号的AI vs 駆動型AI(機械学習)」の論争は、ディープラーニング(深層学習)および生成AI・大規模モデルの圧倒的な進化により、駆動型AI側に軍配が上がることとなった。現在の自動運転システム(Waymo、Cruise、テスラのFSDなど)は、完全に機械学習・AIモデルを中心とした設計(End-to-Endモデル等)へと移行しており、画像・センサーデータから運転操作を直接AIが学習・出力する手法が主流となっている。

コメント