前回までで、車が地図を持ち、目を持ちました。次は、運転中、次々に起きることにどう対処するかを判断しなければなりません。自動運転車ですから、判断するのはもちろんコンピューターです。
この部分は、実は2つに分かれます。まず、目で見たものが何かを判断する「認識」と、ではその時どう運転すればいいのかを決める、狭い意味での「判断」です。
まず「認識」から始めます。
私たちは、車の前にいま現れたのが人か、犬か、猫か、などはすぐに分かります。人ならまず速度を落とし、その人がどうしようとしているのかを判断します。道路の端を歩き続けているのなら、注意しながら追い越します。道路を横断しようとしているのなら一時停止します。目線が合えば、アイコンタクトである程度のコミュニケーションができますから、これからの行動を予測できます。
しかし、犬や猫ではそうはいきません。これから道を横切るのか、路地に走り込むのか、そこにとどまっているのか。例え目線が合っても私たちには判断がつきかねます。
「犬やネコなど轢いたってかまわない」
という乱暴な方は別として、運転も慎重にしなければなりません。
【注1】
人間が無意識に行っている「歩行者とのアイコンタクト」や「挙動の予測」は、自動運転における最難関テーマの1つとして残り続けている。現在では、歩行者の頭部の向きや体の傾き、スマホを見ているかどうかなどの細かな特徴量をリアルタイム解析し、「道路に飛び出す確率」をAIが確率的に予測するアルゴリズムが導入されている。
実は、コンピューターは、この「認識」が大の苦手です。車のライダーやカメラが車の前を動くものを映し出したとします。だが、それは人なのか、犬なのか、猫なのかを、コンピューターは判断できません。
コンピューターに判断させる方法はあります。例えば「人」を事前に定義してコンピューターに記憶させておくのです。
身体は縦に長く、身体の下半分は2つに分かれている。身体の一番上には球形のものが付いている。そのすぐ下からは2本の棒が出ており、途中で曲がる。
これを人の定義とします。でも、例えばその「人」がお年寄りで杖をついていたらどうでしょう。そうすると、身体の下部には3本の棒があることになります。足の骨を折るなどで松葉杖をついていたら4本です。下半身が不自由で車いすに乗っていたら「人」とは認めてもらえないかもしれません。ましてや、酔って道路上で寝込んでいたら、手も足も顔もなく、動きすらありません。見る角度で大きさも変わってきます。コンピューターは「人」と判断するでしょうか?
【注2】
ここで説明している「条件をプログラミングで人間が定義する手法(ルールベース)」は、この直後にディープラーニング(深層学習)の登場によって完全に過去のものとなった。現在のAIは「人が条件を教える」のではなく、何百万枚もの「杖をついた人」「車いすの人」「寝そべっている人」の画像データを読み込むことで、コンピューター自身が「人らしさ」の特徴を自動で学習・抽出する仕組みへと転換している。
しかも、です。車のコンピューターは、いま見ているものが何であり、どうすべきかを即座に、99.999%の確度で判断し、適切な指令を出さなければなりません。私たち人間は、そんな複雑なことを特別に複雑とも思わずに処理しているから運転ができるのです。これをコンピューターに置き換えなければ、自動運転車は実現しません。
電気自動車で著名になったテスラのCEOは次のように語っているそうです。
「(自動車の)自動化の本当の問題をよく理解してほしい。機械学習システムの精度を99%まで上げるのは比較的簡単だ。しかし、99.999%まで上げるとなると、はるかに難しくなる。それこそが最終的に求められる精度なのだ。毎年開催されているマシンビジョンのコンテストを見れば分かる。コンピューターに犬を見せると、99%以上の精度でそれが犬だときちんと認識できるが、たまにそれを鉢植えと間違える。時速100km以上の速度でそんな間違いを犯せば。大問題になる」
【注3】
引用しているイーロン・マスクの「99.999%(いわゆる9の追求)」という課題は、その後の自動運転業界でも「コーナリングケース(極めて珍しい異質な状況)」の問題として長年開発者を悩ませることになった。テスラはその後、世界中の走行車両から集めた膨大な走行動画データをAIに学習させる「End-to-End(認識から制御までを巨大AIが一括処理する)」システムへと舵を切り、精度向上を図っている。
では、研究者たちはどうやってこの難題を乗り越えようとしているのでしょうか。

コメント