AI カーの心を読む: NVIDIA のニューラル ネットワークがどのように意思決定を行っているか

投稿者: Danny Shapiro

環境内にはほぼ無限ともいえるさまざまな変数が存在するので、どんな環境でも自動で走行するよう自動車をプログラムするのは現実的ではありません。

しかし、AI のおかげで、私たちは車に運転方法を教えることができます。どこを見ているのかさっぱり分からないティーンエージャーと違って、車の場合は、何に注意を向けているのか知ることができます。

NVIDIA PilotNet を使用して私たちは、人間の運転方法を観察してステアリングを学習する、ニューラル ネットワークベースのシステムを開発しました。しかし、これで終わりではありません。運転時の意思決定を行う際に、ネットワークが何を優先したかを知らせてくれるような方法も開発しました。

したがって、手動ではプログラムできないようなことを学習するシステムを構築できるだけでなく、システムがどのように意思決定を行うかも説明できるのです。

NVIDIA の自動運転車担当チーフアーキテクトであるウルス ミューラー (Urs Muller) は、次のように述べています。「写真に写っている人の顔を人間がどのように認識するかを分析し、その仕組みを特定のルールに分解してプログラムする、というのは可能でしょうか。きっと無理です。そこで、『ルールで定義できる物事だけに私たちはソリューションを限定するべきなのか?』という疑問が生まれます。」

人が運転する方法を見て学ぶ AI

NVIDIAは、AI 搭載自動車である BB8 を使用して、DriveWorks ソフトウェアの開発とテストを行っています。自動車の構成やモデルは重要ではありません。これまでは Lincoln や Audi の車を使ってきましたが、今後は他の車も使う予定です。BB8 を AI 搭載自動車たるものにし、ディープラーニングの力を示しているものは、前方を向いているカメラからの画像をステアリング コマンドに変換するディープ ニューラル ネットワークです。

人による運転を学習させることによって、ネットワークが車を操縦できるようトレーニングを行いました。ネットワークは、ドライバーが見たものを車に搭載されたカメラを使って記録し、ドライバーが運転時に行った決定について画像とデータを組み合わせました。車線のある道路とない道路、田舎の道路と主要幹線道路、照明条件の異なるさまざまな時間帯、いろいろな気象条件など、さまざまな環境で長時間にわたり走行を記録しました。

トレーニングされたネットワークは、手動でコーディングされた指示を一度も受け取ることなく、BB8 の運転方法を自ら学びました。つまり、観察することによって学習したのです。ネットワークのトレーニングはすでに完了したので、新たな環境に直面しても、リアルタイムでステアリング コマンドを実行できます。以下の動画で、BB8 が実際に走行している様子をご覧ください。

AI の思考を可視化する

PilotNet が稼働し始めると、AI がどのように意思決定を行っているのか、さらに詳しく知るために、PilotNet が画像を見た時に何が重要だと判断したのか、特定する方法を開発しました。

車に搭載されたカメラから新しい情報を得た時に、PilotNet が何に対してもっとも注意を払ったかを理解するため、ビジュアライゼーション マップを作成しました。以下は、車のカメラが記録した画像を上から重ねた、ビジュアライゼーションの一例です。ネットワークが優先度の高いポイントと判断した情報は、緑色で示されています。

NVIDIA の AI カーの思考の様子を示す写真
NVIDIA の AI カーの思考の様子 (NVIDIA の最新ホワイトペーパーより)

このビジュアライゼーションを見ると、PilotNet は、車線や道路の縁、他の車など、人間のドライバーが注意を払っているものと同じ物体に焦点を合わせていることがわかります。画期的なのは、ネットワークに対し、このような物に気を配るようにと、直接指示したりはしなかったという点です。ネットワークは、自動車教習所の生徒と同じように、運転環境では何が重要なのかを学びました。それは、周りを見るということです。

ミューラーは言います。「ディープ ニューラル ネットワークを使用することのメリットは、自動車が独自で物事を理解するという点です。しかし、ネットワークがどのように意思決定を行っているのかを理解しないかぎり、真の進歩を遂げることはできません。私たちはネットワークの中をのぞき込むための方法を開発し、これによって、システムを向上させるのに必要な情報が得られます。また、これらの情報によって、私たちはさらに自信を持てるようになります。自動車に何を行ってほしいか、その詳細をすべて AI に説明することはできませんが、こんなことをしてほしいんだと示すことは可能ですし、今や AI は、何を学習したかを私たちに教えてくれることができるのです。」

自動運転車が生産に入ると、従来の技術と合わさった形で、さまざまな AI ニューラルネットワークが車を運転することになります。運転を制御する PilotNet 以外にも、自動車には、歩行者の検知や車線の検知、標識の読み取り、衝突防止などの具体的なタスクに特化してトレーニングされた、さまざまなネットワークが搭載されるでしょう。

スターバックスに連れて行って

各専門分野を担当するさまざまな AI ネットワークを利用すると、自律走行車の安全性と信頼性は高まります。NVIDIA は、このようなタイプの高度な人工知能を、車の運転という複雑な世界にもたらします。以下の BB8 のようにドライブを楽しむことができる日も、そう遠くはないでしょう。

DRIVE PX 2 AI 搭載自動車のスーパーコンピューターや、開発者向け NVIDIA DriveWorks オープン プラットフォームなど、NVIDIA のオートモーティブ ソリューションの詳細については、NVIDIA.com/drive をご覧ください。AI が何を優先したかを把握するため、私たちがどのようにニューラル ネットワークの中を観察したかについてリサーチを読むには、ホワイトペーパーをご覧ください。