この記事はNVIDIAのブログ記事で発表された内容である。
環境内にはほぼ無限ともいえるさまざまな変数が存在するので、どんな環境でも自動で走行するよう自動車をプログラムするのは現実的ではないという。しかし、AIのおかげで、車に運転方法を教えることができる。
NVIDIA PilotNetを使用してNVIDIAは、人間の運転方法を観察してステアリングを学習する、ニューラルネットワークベースのシステムを開発した。しかし、これで終わりではない。運転時の意思決定を行う際に、ネットワークが何を優先したかを知らせてくれるような方法も開発した。
したがって、手動ではプログラムできないようなことを学習するシステムを構築できるだけでなく、システムがどのように意思決定を行うかも説明できるという。
NVIDIAは、AI搭載自動車である BB8を使用して、DriveWorksソフトウェアの開発とテストを行っている。自動車の構成やモデルは重要ではない。これまではLincolnやAudiの車を使用してきたが、今後は他の車も使う予定だという。BB8をAI搭載自動車たるものにし、ディープラーニングの力を示しているものは、前方を向いているカメラからの画像をステアリングコマンドに変換するディープニューラルネットワーク。
人による運転を学習させることによって、ネットワークが車を操縦できるようトレーニングを行った。ネットワークは、ドライバーが見たものを車に搭載されたカメラを使って記録し、ドライバーが運転時に行った決定について画像とデータを組み合わせた。車線のある道路とない道路、田舎の道路と主要幹線道路、照明条件の異なるさまざまな時間帯、いろいろな気象条件など、さまざまな環境で長時間にわたり走行を記録したという。
トレーニングされたネットワークは、手動でコーディングされた指示を一度も受け取ることなく、BB8の運転方法を自ら学んだ。つまり、観察することによって学習したということだ。ネットワークのトレーニングはすでに完了したため、新たな環境に直面しても、リアルタイムでステアリングコマンドを実行できるという。
PilotNetが稼働し始めると、AIがどのように意思決定を行っているのか、さらに詳しく知るために、PilotNetが画像を見た時に何が重要だと判断したのか、特定する方法を開発した。
車に搭載されたカメラから新しい情報を得た時に、PilotNetが何に対してもっとも注意を払ったかを理解するため、ビジュアライゼーションマップを作成。以下は、車のカメラが記録した画像を上から重ねた、ビジュアライゼーションの一例。ネットワークが優先度の高いポイントと判断した情報は、緑色で示されている。
このビジュアライゼーションを見ると、PilotNetは、車線や道路の縁、他の車など、人間のドライバーが注意を払っているものと同じ物体に焦点を合わせていることがわかる。画期的なのは、ネットワークに対し、このような物に気を配るようにと、直接指示したりはしなかったという点だという。ネットワークは、自動車教習所の生徒と同じように、運転環境では何が重要なのかを学んだ。それは、周りを見るということだ。
自動運転車が生産に入ると、従来の技術と合わさった形で、さまざまなAIニューラルネットワークが車を運転することになる。運転を制御する PilotNet以外にも、自動車には、歩行者の検知や車線の検知、標識の読み取り、衝突防止などの具体的なタスクに特化してトレーニングされた、さまざまなネットワークが搭載されるだろう。
各専門分野を担当するさまざまなAIネットワークを利用すると、自律走行車の安全性と信頼性は高まる。NVIDIAは、このようなタイプの高度な人工知能を、車の運転という複雑な世界にもたらす。以下のBB8のようにドライブを楽しむことができる日も、そう遠くはないとしている。
提供:NVIDIA
【関連リンク】
・エヌビディア(NVIDIA)