あと数年で発売される自動運転車の課題

ステファン・チン氏:自動運転の車が登場することは知っていますよね。もし知らなかったとしても、登場するのです! 少なくとも10年はそう言われていますが、助手席で眠りながら職場に出勤できるような車はまだ買えていないというのが現実です。

テスラのオートパイロットのように、ドライバーをアシストしたり、時に運転をコントロールするといった部分的な自動運転はすでに登場しています。

しかし、予期できない状況になった時などに舵を取るドライバーがまだ必要といった状態です。今年、自動運転車の運転席を離れて助手席に座っていたことで、あるイギリス人が逮捕されたのですが、その理由がまさにそれです。

ドライバー不要の自動運転の車があと数年で発売されますが、その使い方は限られています。荷物の輸送車やエリア限定のタクシーなどです。

一般的な運転というのは難しいからです。(自動運転の)ソフトウェアは、数多くの面倒な問題に取り組まなければいけません。センサーから得た情報を、操縦ペダルに伝える命令に変換するといったようなことです。たくさんのお金と頭脳をその研究に注いではいますが、それぞれのステップでまだ大きな問題があります。

自動運転の車が最初にしなければいけないことは、周りに何があるか、どこにあるかをすべて理解するといったことです。これは知覚ステージと呼ばれています。人間はそれを一目で理解できますが、 車には、カメラ、レーダー、超音波センサー、光検出などのあらゆるデータが必要です。 無線の代わりにレーザーを使った詳細な3Dのデータといったものです。

今日の自動運転の車は、車線、車、信号などの周辺環境のデータを、3Dのデジタルデータに変換することがなかなか上手くできています。しかし、何が何なのかを認識するのがいつも簡単(にできる)というわけではありません。

例えば、近くにたくさんの物体が存在する場合、人混みなどをそれぞれ分別して認識するのは、ソフトウェアにとって難しいといった状態です。

大都市で歩行者がぎゅうぎゅうにいる状態で正常に機能するということは、静止画を理解するだけでなく、ミリ秒レベルのコンテキストを理解するということなのです。そういった方法で、一緒に動いている点の小さな集合を特定の歩行者としてグループ化することができます。

本当に厄介な問題は、他の人や車の動きを予測すること

コンピューターの性質上、苦手なものもいくつかあります。宙に舞うビニール袋も、中身がパンパンに詰まった重い危ない物質として認識されてしまうことがあります。特にこのような混同は、不必要なブレーキを引き起こしてしまいます。

(周りにある物の)特定のミスは、死にもつながります。2016年のオートパイロットのテスラの事故は空とトラックの誤認識によるものです。

(自動運転の)システムが信用できると確認できる必要があります。例えば、カメラが故障した場合でも、情報の蓄積に頼れる状態でなければいけません。スカンクの死体やカンファレンスバイク、トラックから飛び出したバックホー(穴掘り機械)など、道路で起こりうる奇妙な状態を理解する十分な経験が必要です。

学者たちは、「グランドセフトオート」(※注 アメリカのクライムアクションアドベンチャーゲーム)の走行シミュレーションを参考にもしています。あのグランドセフトオートです。さらに優れたシュミレーターを持つ会社も存在しますが、それですらデザイナーの想像の範疇にすぎません。

知覚が危うい状況というのはまだ存在します。しかし、本当に厄介な問題は次のステージに存在します。それが予測です。歩行者や他の運転者がどこにいるかということを理解するだけでは十分ではありません。ステージ3に行く前に、それらが次にどこに行くかを理解しなければなりません。それぞれの動きをプランするというステージです。

右のライトが光ったから車が右に行くといった予測は簡単です。しかし、コンピューターにとってはそれが難しい場合もあります。あなたが左折したくて待っている時に、対向車がライトを点滅させたとします。

おそらくあなたは左折することができますが、それはコンピューターにとってすごく微妙な認識なのです。何か予測をこんなに難しくしているかというと、曲がるという行動は相手との交渉だからです。

予測が難しい状況に対処する2つの方法

あなたが曲がる前に少しはみ出たりすると、他のドライバーが気づくことができますよね。つまり、予測とプランの間にはフィードバックが存在するのです。高速道路に合流するとき、自分に反応してくれる他のドライバーに頼れないとなった場合、おそらく安全に前進ができないであろうという研究結果が出ています。

つまり、自動運転の車がはっきりと予測ができない場合、立往生してしまう場合があるのです。(自動運転の車にとっては)すべての動きが危険に見えて、研究者が「フリージングロボットプロブレム」と呼ぶ状況になります。そして、それ自体が安全ではない状況なのです。

プログラマーがこれに対処する2つの方法があります。 1つは、他の人はすべて独断で行動しているとコンピューターに認識させる方法。しかし、それは必要以上にアグレッシブな行動を引き起こし、危険な場合があります。そういった方法で運転する人は、高速道路で右に左にフラフラと運転するタイプの人たちです。ちなみにそれはやめてくださいね。

もう1つは、お互いに関連し合う集団的なものとして車の動きを捉える方法です。そして、その状況で最善の方法を取ります。問題は、早く判断するために物事を単純化しすぎなければならないというところです。

自動運転において、予測とプランニングに対してより良い策を発見するというのは、まだ解決されていない最大の問題でもあります。周りに何があり、運転手が次にどうするかという解釈と、それらに対してどう反応するかの間には、自動運転の技術がまだ準備できていないたくさんのシナリオが存在しているのです。

かといって、自動運転の車がすぐに出てこないというわけではありません。こういったややこしいタイプの問題とは違う、単純なシチュエーションはたくさんあります。しかし、どこでも自動運転ができるかということについては、まだエンジニアが職を失うことはなさそうです、と言っておきましょう。