|
この記事はWeChat公式アカウント「自動運転ハート」の許可を得て転載しています。転載の許可については、元の情報源にお問い合わせください。 序文と私の個人的な理解複雑な現実世界のシナリオを安全に走行するには、自動運転車は多様な道路状況に適応し、将来の出来事を予測できなければなりません。世界モデルベースの強化学習(RL)は、様々な環境の複雑なダイナミクスを学習・予測することでこれを実現する有望なアプローチとして浮上しています。しかしながら、現在、複雑な運転環境でこのようなアルゴリズムを訓練・テストするための、容易に利用できるプラットフォームは存在しません。このギャップを埋めるために、世界モデルベースの自動運転アルゴリズムの開発と評価に特化した初のオープンソース学習プラットフォームであるCarDreamerをここに紹介します。CarDreamerは、以下の3つの主要コンポーネントで構成されています。 1) ワールドモデル(WM)バックボーン:CarDreamerは最先端のワールドモデルを統合し、RLアルゴリズムの再現を簡素化します。バックボーンは他の部分から分離されており、標準的なGymインターフェースを介して通信するため、ユーザーは独自のアルゴリズムを簡単に統合・テストできます。 2) 組み込みタスク: CarDreamer は、Gym インターフェースと互換性があり、経験的に最適化された報酬関数が付属する、高度に構成可能な運転タスクのセットを提供します。 3) タスク開発キット:CarDreamerは、運転タスクの作成を簡素化する柔軟なタスク開発キットを統合しています。このキットは、交通流と車両ルートの定義を簡素化し、マルチモーダルな観測データを自動的に収集します。可視化サーバーにより、ユーザーはブラウザ経由でリアルタイムのエージェントの運転映像とパフォーマンスメトリクスを追跡できます。さらに、組み込みタスクを用いた広範な実験を実施し、自動運転におけるWMの性能と可能性を評価しました。CarDreamerの豊富な機能と柔軟性により、観測モード、可観測性、車両の意図共有がAVの安全性と効率性に与える影響も体系的に調査されました。 フィールド開発の背景自動運転車は、安全性や効率性など、多くの有望なメリットをもたらし、将来のモビリティシステムにおいて中心的な役割を果たすことが期待されています。近年、自動運転車の開発は大きく進歩しており、米国だけでも既に公道で数百万マイルを走行しています。しかし、複雑で多様な現実世界のシナリオに対応できる堅牢な自動運転車の実現は、依然として困難な課題です。例えば、米国運輸省連邦道路管理局(PHA)の試算によると、自動運転車の衝突率は従来型車両の約2倍です。 自動運転車の信頼性は、予期せぬシナリオにおける自動運転システムの汎化能力に直接依存します。優れた汎化能力を持つ世界モデル(WM)は、環境の複雑なダイナミクスを学習し、将来のシナリオを予測することで、有望なソリューションを提供します。具体的には、WMは環境の主要な要素とダイナミクスを符号化したコンパクトな潜在表現を学習します。この学習された表現はより優れた汎化を促進し、WMがトレーニングサンプルを超えたシナリオでの予測を可能にします。WMは内部的に、視覚モデルや記憶モデルなど、人間の知覚や意思決定を模倣するコンポーネントを組み込んでいます。実際、人間は固有の世界モデルを持っているからこそ、稀な出来事や目に見えない出来事に遭遇した際に適切に行動することができます。人間の知能に類似した認知プロセスをシミュレートすることで、WMベースの強化学習(RL)は、AtariゲームやMinecraftなどの分野で最先端のパフォーマンスを発揮しています。しかし、自動運転におけるWMの応用は、そのようなRLアルゴリズムをトレーニングおよびテストするための使いやすいプラットフォームが不足していることもあって、依然として刺激的な未開拓分野です。 WM ベースの自動運転学習プラットフォームの開発は、この分野の研究にとって非常に有益です。 これらの要因を踏まえ、私たちはWMベースの自動運転向けに特別に設計された初のオープンソース学習プラットフォームであるCarDreamerを立ち上げました。CarDreamerは、アルゴリズムの迅速な開発と評価を促進することを目指しており、ユーザーは提供されたタスクでアルゴリズムをテストしたり、包括的な開発キットを通じてカスタムタスクを迅速に実装したりすることができます。CarDreamerの主な貢献は以下の3つです。
他のフレームワークの紹介このセクションでは、CarDreamer の 2 つの柱である、高忠実度で柔軟なシミュレーターである CARLA と、RL (強化学習) をトレーニングおよび評価するための標準インターフェースである gym について簡単に説明します。 まず、CARLAについてご紹介します。CARLAは、現実世界の交通状況をシミュレートするために設計されたオープンソースのシミュレーターです。Unreal Engineをベースとし、リアルな物理特性と高品質なレンダリングを提供します。CARLAは、地図、建物、車両、様々なランドマークなどのデジタルアセットを提供します。RGBカメラ、LiDAR、RADARなど、様々なセンサーに対応しており、ユーザーは車両や歩行者を作成し、それらを自由に操作することができます。CARLAは非常に汎用性の高いツールですが、RLアルゴリズムへの応用においては、その汎用性ゆえに大きな欠点も生じます。BEV(ブラウザアイビュー)の取得には煩雑なプロセスが必要であり、RLアルゴリズムのトレーニングへの迅速な導入を妨げています。 次に、gymを紹介します。gymは、エージェントと環境間の通信を調整するためにOpenAIによって定義された標準インターフェースです。このインターフェースの中核は、reset()とstep(action)という2つの関数で構成されています。前者は環境を初期状態に初期化します。後者は、エージェントからのアクション入力を受け取り、環境の進化をシミュレートし、観測データ、報酬信号、終了インジケータ、およびいくつかの追加情報を返します。このように、エージェントと環境の両方がgymインターフェースをサポートしている限り、大規模なチューニングなしで、さまざまな環境でRLアルゴリズムを簡単にテストできます。AtariゲームやDMCキットなど、さまざまなgymベンチマークの開発にはかなりの努力が払われてきました。しかし、CARLAでは、WMベースのRLアルゴリズムが自動運転の分野で使用されており、CarDreamerは、gymインターフェースを通じてさまざまな市街地運転タスクを提供し、トレーニングと評価を容易にする最初のプラットフォームです。 CarDreamerネットワーク構造図 1 に示すように、CarDreamer は、組み込みタスク、タスク開発キット、および世界モデル バックボーンの 3 つの主要コンポーネントで構成されています。タスク開発キットは、CARLA 内での車両の作成、交通流の制御、ルートの計画など、さまざまな API 機能を提供します。観測モジュールは、独立したカスタマイズ可能なデータ処理プログラムによって管理されるセンサー データや BEV (鳥瞰図) などのマルチモーダル観測データを自動的に収集します。このデータには 2 つの目的があります。タスクによって利用され、視覚化サーバーをトレーニングするために使用されます。視覚化サーバーは、HTTP サーバーを介してリアルタイムの運転ビデオと環境フィードバックを表示し、gym インターフェイスを介して世界モデル アルゴリズムとシームレスに統合します。エージェントからの応答をアクションとして受信すると、観測モジュールは次のフレームでデータ処理プログラムからデータを収集し、この動作ループを継続します。 このセクションでは、車線維持や左折といった単純なスキルから、交差点、ラウンドアバウト、変化する交通の流れなど、様々な道路状況でのランダムローミングといったより複雑な課題まで、様々な現実的なタスクが取り上げられます。これらのタスクは高度に設定可能で、自動運転に関する根本的な疑問を提起する数多くのオプションが用意されています。 可観測性と意図共有:部分的可観測性は強化学習における重要な課題です。不完全な状態情報は、過去のすべてのステップを入力に含めることで、入力空間の複雑さを指数関数的に増大させる可能性があります。自動運転におけるこれらの課題に対応するツールの不足に対処するため、CarDreamerでは3つの可観測性設定を提供しています。1) 視野角(FOV):カメラの視野内にある車両のみを観測対象とします。2) 共有視野角(SFOV):車両が自身の視野内にある他の車両と通信し、FOVデータを収集できるようにします。3) 完全可観測性(FULL):環境情報と背景交通情報をすべて想定します。さらに、ユーザーは車両が意図を共有するかどうか、また誰と共有するかを制御できます。これらの設定は、「どのような情報を伝達するか」と「誰と通信するか」という基本的な問いに合致しています。観測モード:ユーザーは、RGBカメラやLiDARなどのセンサーデータから、BEVなどの合成データまで、さまざまなモードを含むように観測空間を設定できます。この柔軟性により、マルチモーダルな生センサーデータから直接意思決定を行ったり、BEVの認識を用いた計画立案を行うことができるエンドツーエンドモデルの開発が可能になります。難易度:難易度設定は主に交通密度に影響し、衝突回避において重大な課題をもたらします。自動運転車が関与する安全上重要なインシデントは稀であるため、その堅牢性の検証は本質的に困難です。CarDreamerは、こうした稀ではあるものの重大なインシデントをシミュレートするシナリオにおいて、安全性と効率性を包括的に評価できるように特別に設計されています。 報酬関数。CarDreamerの各タスクには最適化された報酬関数が備わっており、実験ではDreamerV3がわずか10,000ステップのトレーニングでウェイポイントへのナビゲーションに成功することが示されています(詳細はセクション5を参照)。特に、速度または位置の増分変化に基づいてエージェントに報酬を与えると、絶対位置に基づいて報酬を与えるよりも優れたパフォーマンスが得られることが実証されています。これは、位置のみに基づいて報酬を与える場合、エージェントは報酬関数を利用して、最初は小さな動きをした後、それ以上の動きは衝突ペナルティにつながる可能性があるため、静止したままでいる可能性があるためです。実際に、私たちはこの準最適な動作を観察しました。学習されたポリシーは、衝突を回避するために静止したままでいることで局所最適解に収束します。逆に、速度に基づいて報酬を与えると、エージェントは報酬を蓄積するために継続的な動きを維持することを強いられるため、望ましくない静止ポリシーへの早期収束のリスクが軽減されます。報酬設計は、従来の強化学習アルゴリズムではしばしば無視される、軌道の滑らかさなど、運転タスクの重要な要件を慎重に考慮しています。通常、これらのアルゴリズムは、探索を促進し、早期収束を防ぐために、損失関数または値推定にエントロピー項を含めます。しかし、自動運転の文脈では、このエントロピー項は、車両がジグザグ軌道を辿る動機となる可能性があります。なぜなら、不安定な動きは、滑らかな経路と比較して、両方の軌道が目標に向かって同様の進捗を達成したとしても、より高いエントロピー報酬をもたらすからです。この効果を打ち消すために、目標方向に対して垂直な動きを防ぐための特別に設計されたペナルティ項が導入されています。そこで、私たちは、目標の進捗と軌道の滑らかさを効果的にバランスさせる、以下の構造を持つ報酬関数を開発しました。 インターフェースと使用方法:CarDreamerに組み込まれているすべてのタスクは、統一されたジムインターフェースを使用しているため、追加の調整なしで強化学習アルゴリズムを直接トレーニングおよびテストできます。直接使用に加えて、CarDreamerは、単純なタスクから複雑なタスクへと段階的に学習するカリキュラム学習アルゴリズムや、新しいタスクを学習する際の壊滅的な忘却問題に対処するように設計された継続学習アルゴリズムなど、さまざまなアルゴリズムをサポートしています。さらに、模倣学習の場合、CarDreamerはシミュレータでの観測データの収集プロセスを簡素化します。当初はWMベースの強化学習アルゴリズム用に設計されていましたが、ジムインターフェースにより、さまざまなアルゴリズム戦略に幅広く適用できます。 1) ミッション開発キットカスタマイズされたタスクを必要とするユーザー向けに、CarDreamerは高度にモジュール化されたタスク開発キットを提供しています。このキットは、様々なレベルのカスタマイズによって、多様なユーザー要件に対応できます。最初のモジュールは「ワールドマネージャ」で、異なる地図、ルート、生成場所、背景の交通流を通して運転シナリオを変更するといった基本的なニーズに対応します。ワールドマネージャは、CARLAから借用した用語である「アクター」を管理し、車両、歩行者、信号、センサーなど、あらゆるエンティティを網羅します。デフォルトまたはカスタムのブループリントを使用して、様々なアクター、特に様々な場所に車両を生成するためのAPI呼び出しを提供します。これらの車両は、ユーザーまたはオートパイロット(シンプルなルールベースの自動運転アルゴリズム)によって制御できます。リセット時には、リソースを透過的に破棄して解放します。2つ目のモジュールは「オブザーバー」で、様々なパターンにわたって観測データを自動的に収集します。ユーザーは、手動で操作することなく、定義済みの観測パターンに簡単にアクセスできるだけでなく、データ仕様の幅広いカスタマイズもサポートしています。これは、RGBカメラプロセッサやBEVプロセッサなど、それぞれが特定のパターンのデータを提供する一連のデータプロセッサによって実現されます。各データプロセッサは高度にモジュール化されており、特定の種類のデータのライフサイクル全体を独立して管理します。ユーザーは、ニーズに合った新しいデータプロセッサを登録することで、オブザーバーを拡張できます。 3 番目のモジュールには、多様なタスクルート要件を満たすルートプランナーが含まれています。CarDreamer には、マップ全体を探索的に移動するためのランダムプランナー、ユーザー定義の場所を接続するウェイポイントを作成するための固定パスプランナー、および従来の A* アルゴリズムを使用して現在の場所から指定された目的地までのルートを生成する固定目的地プランナーなど、複数のプランナーが含まれています。さらにカスタマイズできるように、基本クラスが提供されており、ユーザーは `init_route()` メソッドと `extend_route()` メソッド (それぞれ各タイムステップのルートの初期化と拡張を定義) をオーバーライドすることで、独自のプランナーを開発できます。さらに、このキットには、オブザーバーの出力と環境フィードバックからのその他の統計をシームレスに統合し、HTTP サーバー経由で表示する視覚化サーバーが含まれています。この自動化により、迅速なフィードバックが促進され、追加のコーディング作業を必要とせずに報酬エンジニアリングとアルゴリズム開発が向上します。 2) 世界モデルバックボーンCarDreamerの世界モデルバックボーンは、DreamerV2、DreamerV3、Planning2Exploreなどの最先端の手法をシームレスに統合し、迅速なモデル再現を可能にします。このバックボーンアーキテクチャは、世界モデルの実装をタスク固有のコンポーネントから分離するように細心の注意を払って設計されており、モジュール性とスケーラビリティが向上します。これらのコンポーネント間の通信は、標準のジムインターフェースを介して効率的に管理され、広範なカスタマイズが可能になります。この分離により、ユーザーはデフォルトの世界モデルを独自の実装に簡単に置き換えることができ、迅速なプロトタイピング、ベンチマーク、および確立されたベンチマークとの比較分析をサポートできます。したがって、CarDreamerは世界モデルベースのアルゴリズムのための包括的なテストプラットフォームを提供し、この分野の研究開発を加速するエコシステムを育みます。このプラットフォームは、多様な運転タスクとパフォーマンスメトリックで構成された一貫性のある標準化された評価フレームワーク内で、ユーザーが革新的なアーキテクチャ、損失関数、およびトレーニング戦略を探求することを奨励します。 CarDreamerミッション実験ここでは、わずか1,800万個のパラメータを持つ小型のDreamerV3モデル(図4参照)をモデルのバックボーンとして使用しました。この小型のDreamerV3モデルは、32個のCNN乗算器、512個のGRUおよびMLPユニットを備えており、MLPはRSSMに2層のみで構成されています。メモリオーバーヘッドが約10GBと小さいため、CARLAシミュレータを実行しながら、単一のNVIDIA 4090 GPUでトレーニングを行うことができました。エージェントは各タスクでトレーニングされました。 時間ステップによる報酬曲線の変化を図 2 に示します。 「単純な右折」や「車線合流」といった交通量が少ない単純なタスクは、通常50,000ステップ(約1時間)以内に収束しますが、より密集した、より激しい交通流を伴い、衝突回避が必要なタスクでは、収束までに約150,000~200,000ステップ(約3~4時間)かかります。評価では、表1に示す複数の指標を用いて、CarDreamerタスクを実行する自動運転エージェントのパフォーマンスを厳密に評価しました。これらの指標は以下のとおりです。 • 成功率: この指標は、タスクを正常に完了した(目的地に到達するか、事故や車線逸脱なく所定の距離を移動する)インテリジェント エージェント車両の割合を測定します。 • 平均距離 (メートル): すべてのエピソードにわたって、エピソードの終了までにエージェント車両が移動した平均距離を表します (タスクの完了によるか、衝突やタイムアウトなどの障害によるかに関係なく)。 • 衝突率 (%): エージェントの車両が衝突に巻き込まれた事故の割合を計算します。 • 平均速度(m/s):ミッション全体を通してインテリジェントエージェント車両が維持した平均速度を測定します。この指標は、車両の速度と安全性のバランス能力を反映し、ナビゲーション環境の効率性を示します。 • ウェイポイント距離:この指標は、目的のルートウェイポイントからの平均偏差を定量化します。これは、車両が計画されたルートを辿る能力を評価し、特定の軌道を辿る際のナビゲーション精度と精密度を反映します。 1) 異なる観測モードによる予測世界モデル(WM)の想像力により、将来のシナリオを効果的に予測し、起こりうる出来事を管理することができます。異なる観測様式でのWMの想像力のパフォーマンスを評価するために、「右折困難」タスクで実験を行いました。鳥瞰図(BEV)、カメラ、LiDARの3つの異なる様式が選択されました。各様式で、WMは開始状態と一連の行動が与えられた場合、数歩先の観測を想像する必要がありました。図4は、3つの様式での実際の画像と想像上の画像の違いを比較した結果を示しています。最初の行は実際の観測画像、2行目はWMの想像の結果、3行目はそれらの違いを示しています。想像範囲内で最大64のタイムステップをカバーするフレームを選択しました。これらの結果は、WMがさまざまな様式にもかかわらず、未来を正確に予測する際に優れたパフォーマンスを発揮することを示しています。 BEV実験(a)では、WMは直進車両と右折車両の位置と軌道、そして自車両に対するBEVの回転と移動を正確に予測しました。同様に、カメラとLiDARの設定では、WMは自車両の前方を走行する車両を予測することに成功しました。 2) 車車間通信のメリットCarDreamerのユニークな機能は、車両間の通信レベルを容易にカスタマイズできることです。車両は視野(FOV)を共有することで、可視性を変化させることができます。さらに、車両の計画ウェイポイントで表されるインテントを共有することで、より適切な計画が可能になります。私たちはこの機能を利用して、通信の影響を評価しました。「難しい右折」タスクにおいて、様々な可視性と他車両のインテントの可用性といった様々な設定でエージェントのトレーニングとテストを実施しました。「難しい右折」タスクは、交通量が多く、視野外の車両との衝突が頻繁に発生するため、可視性とインテントのコミュニケーションをテストするのに特に適しています。報酬曲線を図5に、パフォーマンス指標の一部を表2に示します。私たちの報酬関数では、右折成功は250を超える報酬で表されていることに注意してください。この結果は、可視性の制限やインテントの共有不足が、エージェントのタスク完了を阻害していることを示しています。図6に示すような、あるシナリオにおける均一にサンプリングされた画像は、この状況をよく表しています。エージェントは衝突を回避するために交差点で停止するという、保守的かつ最適とは言えない戦略を採用しています。例えば、図6の最初の3行では、エージェントは交通の流れに合流する前に停止しています。一方、完全な情報があれば、自車両は右折を成功させることができます。 |