首頁  >  文章  >  科技週邊  >  加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

WBOY
WBOY原創
2024-06-08 16:57:521112瀏覽

寫在前面&筆者的個人理解

為了在複雜的真實世界場景中安全導航,自動駕駛汽車必須能夠夠適應各種道路條件並預測未來事件。基於世界模型的強化學習(RL)已經成為一種有前景的方法,透過學習和預測各種環境的複雜動態來實現這一點。然而,目前並不存在一個用於在複雜駕駛環境中訓練和測試此類演算法的易於接近的平台。為了填補這一空白,這裡介紹了CarDreamer,第一個專為開發和評估基於世界模型的自動駕駛演算法設計的開源學習平台。它包含三個關鍵組成部分:

1%)世界模型(WM)主幹:CarDreamer整合了一些最先進的世界模型,簡化了RL演算法的再現。主幹部分與其他部分解耦,並使用標準的Gym介面進行通信,以便用戶可以輕鬆整合和測試自己的演算法。 CarDreamer的主要目標是提供一個靈活可擴展的平台,使研究人員和開發人員能夠快速迭代和測試各種強化學習演算法。該平台基於WM的核心思想,將世界模型分為兩個主要組件:感知和規劃。 感知組件負責從環境中獲取原始輸入,並將其轉換為對

CarDreamer提供了一套高度可配置的駕駛任務(2%)內建任務:CarDreamer提供了一套高度可配置的駕駛任務,這些任務與Gym介面相容,並配備了經過實證優化的獎勵函數。

CarDreamer是一款靈活的任務開發套件,以簡化駕駛任務的創建。該套件使用交通流和車輛路線的定義變得容易,並自動收集模擬數據。可視化伺服器允許用戶透過瀏覽器追蹤即時agent駕駛視訊和效能指標。此外,CarDreamer還進行了豐富性和靈活性的研究,以評估WM在自動駕駛中的表現和潛力。由於CarDreamer豐富的性和靈活性,也系統性地研究了觀測模式、可觀測性和車輛意圖共享對AV安全性和效率的影響。

領域發展背景

未來的行動系統將會發揮自動駕駛汽車的核心作用,具有許多有前景的益處,如安全性和效率。近年來,自動駕駛汽車的發展取得了巨大的成就。僅在美國,自動駕駛汽車已經在公共道路上行駛了數百萬英里。然而,實現能夠在複雜多樣的現實場景中導航的穩健性自動駕駛汽車仍然是一個具有挑戰性的前沿。 根據美國交通部聯邦公路管理局的計算,自動駕駛汽車的碰撞率比傳統車輛高出約兩倍。儘管如此,隨著技術的不斷進步,自動駕駛汽車的碰撞率有望顯著提高。 為了實現更高的安全性,自動駕駛汽車需要具備更先進的感知和決策能力。透過利用先進的感測器技術和機器學習演算法,自動駕駛汽車可以更準確地識別和預測周圍環境中的障礙物和其他車輛的行為。 此外,自動駕駛汽車還可以透過與交通管理局的協調來提高交通流量的效率。透過與號誌和其他交通設施的互聯互通,自動駕駛汽車可以即時調整速度和路線,從而減少交通

自動駕駛汽車的可靠性直接決定了自動駕駛系統在未預測場景中的泛化能力。世界模型(WM)以其卓越的泛化能力,透過學習環境的複雜動態並預測未來場景,提供了一個有前景的解決方案。特別是,WM學習了一種緊湊的潛藏和動態編碼了環境的關鍵元素和動態。這種學習到的表示對於更好的泛化有幫助,使WM能夠夠在超出其訓練樣本的場景中進行預測。在內部,WM包含模仿人類感知和決策的組件,如視覺模型和記憶模型。事實上,人類之所以能夠在遇到何看或未見過的事件時採取適當的行動,正是因為人類內在的世界模型。透過模擬類似人類智慧的認知過程,基於WM的強化學習(RL)演算法,如Atari遊戲和Minecraft等領域展示了最先進的表現。然而,WM在自動駕駛中的應用仍然是一個令人興奮的領域,部分原因是缺乏易於使用的平台來訓練和測試此類RL演算法。開發基於WM的自動駕駛學習平台對於該領域的研究將極為有益。

因此,受到这些因素的驱动,我们推出了CarDreamer。这是首个专门为基于WM的自动驾驶设计的开源学习平台。CarDreamer在促进算法的快速开发和评估,使用用户能够够在提供的任务上测试他们的算法,或者通过全面的开发套件快速实现自定义任务。CarDreamer的三大关键贡献包括: 1. 快速开发和评估:CarDreamer提供了一套强大的算法快速开发和评估的工具。用户可以利用这些工具来测试他们的算法,在提供的任务上进行自主驾驶实验,并进行性能评估。 2. 自定义任务:CarDreamer提供了全面的开发套件,使用户能够快速实现自定义任务。这使得用户能够根据特定需求开发自己的自动驾驶算法,并在CarDreamer平台上进行测试和验证。 3. 关键贡献包括:CarDreamer还提供

  1. 整合WM算法以实现再现。CarDreamer集成了最先进的WM,包括DreamerV2、DreamerV3和Planning2Explore,显著减少了再现现有算法性能所需的时间。这些算法与CarDreamer的其他部分解耦,并通过统一的Gym接口进行通信。这使得只要新算法支持Gym接口,就可以无需额外的适配工作就能直接集成和测试。
  2. 高度可配置的优化奖励内置任务。CarDreamer提供了一套全面的驾驶任务,如变道和超车。这些任务允许在难度、可观察性、观察模式和车辆意图通信方面进行广泛的定制。它们暴露相同的Gym接口以方便使用,并且奖励函数精心设计以优化训练效率。
  3. 任务开发套件和可视化服务器。该套件不仅通过API驱动的交通生成和控制简化了自定义驾驶任务的创建,还包括一个模块化观察者以便于多模态数据的收集和配置。一个可视化服务器使代理驾驶视频和统计数据的实时显示成为可能,通过网页浏览器加速奖励工程和算法开发,提供即时的性能洞察。

其它框架介绍

这里简要介绍了CarDreamer所涉及的两大基石,CARLA和gym。CARLA是一个高保真且灵活的模拟器,用于强化学习的训练和评估的标准接口。而gym是一个用于强化学习的开源工具包,提供了丰富的环境和算法。CarDreamer利用这两个基石进行训练和评估,并采用RL(强化学习)的方式进行模型训练和评估的接口。

CARLA是一款开源模拟器,旨在模拟现实世界中的交通场景。CARLA基于Unreal Engine,提供了逼真的物理效果和高质量渲染。CARLA提供了包括地图、建筑、车辆和各种地标在内的数字资产。它支持各种传感器,如RGB摄像头、激光雷达(LiDAR)和雷达(RADAR)。用户可以创建车辆或行人,并完全控制这些角色。这确实是一个非常通用的工具,但其在RL算法应用中的主要缺点也源自其通用性。获取BEV(鸟瞰图)提取及一个繁琐的过程,阻碍了其在训练RL算法中的快速部署。

gym是由OpenAI定义的一个标准接口,用于规范智能体与环境之间的通信。这个接口的核心部分由两个函数reset()和step(action)构成。前者将环境初始化为其起始状态。后者从智能体接收一个动作输入,模拟环境的演变,并返回观测数据、奖励信号、终止指示符和一些额外信息。 通过这种方式,只要两者都支持gym接口,RL算法就可以在各种环境中进行轻松测试,而无需进行大量调整。已经有很多努力在开发各种gym基准测试,如Atari游戏、DMC套件等。而在CARLA中基于WM的RL算法用于自动驾驶领域,CarDreamer是通过gym接口提供多样化城市驾驶任务以促进训练和评估的平台。

CarDreamer网络结构

如图1所示,CarDreamer包含三个主要组件:内置任务、任务开发套件和世界模型主干。任务开发套件提供了各种API功能,包括在CARLA中创建车辆、控制交通流和规划路线。一个观察模块自动化地收集多模态观测数据,如传感器数据和BEV(鸟瞰图),这些数据由独立且可定制的数据处理程序管理。这些数据具有双重用途:它们被任务和训练可视化服务器所利用。可视化服务器通过HTTP服务器显示实时驾驶视频和环境反馈,并通过gym接口与世界模型算法无缝集成。在接收到智能体的响应作为动作后,观察模块在下一帧从数据处理程序中收集数据,从而继续这一操作循环。

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

這裡精心設計了各種現實任務,從簡單的技能(如車道維持和左轉)到更複雜的挑戰(如在不同路況下隨機漫遊,包括十字路口、環島和不同的車流)。這些任務高度可配置,提供了許多選項,這些選項提出了自動駕駛中的基本問題。

可觀察性與意圖共享:在強化學習中,部分可觀察性是一個重大挑戰,其中不完整的狀態資訊可以透過包含所有歷史步驟來指數級地增加輸入空間的複雜度。為了解決自動駕駛中缺乏針對這些挑戰定制的工具的問題,我們在CarDreamer中提供了三種可觀察性設定:1) 視野(FOV)僅包含相機視野內的車輛。 2) 共享視野(SFOV)使車輛能夠與其自身視野內的其他車輛通訊並收集FOV數據。 3) 完全可觀察性(FULL)假設有完整的環境和背景交通資訊。此外,使用者可以控制車輛是否共享其意圖,以及車輛與誰共用。這些配置與「傳達什麼訊息」和「與誰溝通」的基本問題保持一致。觀測模式:使用者可以配置觀測空間以包含各種模式,從RGB相機和LiDAR等感測器資料到BEV等合成資料。這種靈活性支持了能夠直接從多模態原始感測器資料做出決策或使用BEV感知進行規劃的端到端模型的開發。難度:難度設定主要影響交通密度,提出了重大碰撞的避免挑戰。由於自動駕駛汽車的安全關鍵事件很少見,因此由於此類事件的罕見性,驗證自動駕駛汽車的穩健性本質上很困難。 CarDreamer特別設計用於在模擬這些罕見但關鍵事件的場景中全面評估安全性和效率。

獎勵函數。 CarDreamer中的每個任務都配備了經過優化的獎勵函數,實驗表明這可以使DreamerV3在僅10,000個訓練步驟內成功導航至路標點(詳見第5節)。值得注意的是,我們的實證發現表明,基於速度或增量位置變化對智能體進行獎勵,相比於基於絕對位置進行獎勵,能帶來更好的性能。這是因為當僅基於位置進行獎勵時,智能體可能會通過進行小範圍的初始移動然後保持靜止來利用獎勵函數,因為任何進一步的移動都可能導致碰撞懲罰。在實踐中,我們確實觀察到了這種次優行為,其中學習的策略收斂到局部最優解,透過保持靜止來避免碰撞。相反,基於速度進行獎勵會迫使智能體保持持續運動以累積獎勵,從而降低了過早收斂到不希望的靜止策略的風險。獎勵設計精心考慮了駕駛任務的關鍵要求,如軌跡平滑性,這在傳統的強化學習演算法中常常被忽略。通常,這些演算法在其損失函數或價值估計中包含一個熵項,以鼓勵探索並防止過早收斂。然而,在自動駕駛的背景下,這個熵項可能會激勵車輛遵循鋸齒形軌跡,因為這種不穩定的運動與更平滑的路徑相比,會產生更高的熵獎勵,即使兩種軌跡都在達到目標方面可能取得類似的進展。為了抵​​消這種影響,這裡引入了一個專門設計的懲罰項,以阻止與目標方向垂直的運動。因此,我們開發了一個獎勵函數,它有效地平衡了目標進度和軌跡平滑性,結構如下:

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

介面與用法:CarDreamer中的所有內建任務都採用了統一的gym接口,使得無需額外調整即可直接對強化學習演算法進行訓練和測試。除了直接使用外,CarDreamer還支援多種演算法,包括課程學習演算法,這些演算法可以利用從簡單到複雜任務的逐步進展;以及持續學習演算法,其旨在解決在學習新任務時的災難性遺忘問題。此外,對於模仿學習,CarDreamer簡化了在模擬器中收集觀測資料的流程。儘管最初是為基於WM的強化學習演算法設計的,但gym介面使得它能夠在各種演算法策略中廣泛應用。

1)任務開發套件

對於需要自訂任務的用戶,CarDreamer 提供了一個高度模組化的任務開發套件。這個套件可以根據不同程度的客製化需求來滿足用戶的多樣化要求。初始模組是「世界管理器」(World Manager),它滿足了基礎需求,例如透過不同的地圖、路線、產生位置或背景交通流量來改變駕駛場景。世界管理器負責管理「參與者」(actors),這是一個從 CARLA  借用的術語,它包括所有實體,如車輛、行人、交通號誌和感測器。它提供 API 呼叫以產生各種參與者,特別是在不同位置以預設或自訂藍圖產生車輛。這些車輛可以由使用者控制,也可以由自動駕駛儀(一種基於簡單規則的自動駕駛演算法)控制。在重置時,它會透明地銷毀並釋放資源。第二個模組是「觀察者」(Observer),它會自動收集各種模式下的觀測資料。雖然它允許用戶無需手動互動即可輕鬆存取預先定義的觀測模式,但它也支援數據規範的廣泛自訂。這是透過一系列數據處理器實現的,每個處理器都為特定模式提供數據,如 RGB 相機處理器和 BEV 處理器。每個資料處理器都高度模組化,並獨立管理特定類型資料的整個生命週期。使用者可以透過註冊一個符合自己需求的新資料處理器來增強觀察者。

第三個模組包含路線規劃器,這些規劃器可以滿足多樣化的任務路線需求。 CarDreamer包含了幾個規劃器:一個隨機規劃器,用於在整個地圖上進行探索性漫遊;一個固定路徑規劃器,用於創建連接用戶定義位置的路徑點;以及一個固定終點規劃器,它使用經典的A* 演算法從目前位置產生到指定終點的路線。為了滿足額外的客製化需求,還提供了一個基類,使用者可以透過重寫init_route()和extend_route()方法(它們分別定義了每個時間步長的路線初始化和擴展)來開發自己的規劃器。此外,該套件還包含一個可視化伺服器,該伺服器將Observer的輸出和環境回饋的其他統計資料無縫集成,並透過HTTP伺服器進行顯示。這種自動化促進了快速回饋,無需額外的編碼工作即可改善獎勵工程和演算法開發流程。

2)世界模型Backbone

CarDreamer中的世界模型骨幹框架無縫整合了包括DreamerV2 、DreamerV3和Planning2Explore 等在內的最先進方法,從而促進了這些模型的快速復現。這種骨幹架構經過精心設計,旨在將世界模型實作與特定任務的元件進行解耦,從而提高了模組化和可擴展性。這些組件之間的通訊透過標準的gym介面進行有效管理,允許進行廣泛的自訂。這種解耦使用戶能夠輕鬆地將預設的世界模型替換為自己的實現,支援快速原型設計、基準測試和與既定基準的比較分析。因此,CarDreamer為基於世界模型的演算法提供了一個全面的測試平台,促進了該領域內加速研究和發展的生態系統。該平台鼓勵用戶在由多樣化的駕駛任務和性能指標組成的一致且標準化的評估框架內探索創新的架構、損失函數和訓練策略。

CarDreamer任務實驗

這裡使用了僅包含1800萬個參數的小型DreamerV3模型(如圖4所示)作為模型骨幹。這個小型DreamerV3模型有32個CNN乘法器、512個GRU和MLP單元,而MLP在其RSSM中僅有兩層。較小的記憶體開銷約為10GB,這使得我們能夠在運行CARLA模擬器的同時,在單一NVIDIA 4090 GPU上進行訓練。在每個任務上訓練智能體。

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

獎勵曲線隨時間步長的變化如圖2所示。

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

交通量較少的簡單任務,如“右轉簡單”和“車道合併”,通常在50,000步(約1小時)內收斂,而涉及更密集、更激進的交通流,需要避免碰撞的任務,則需要大約150,000至200,000步(約3至4小時)才能收斂。在評估中,我們採用了幾種指標來嚴格評估在CarDreamer任務中執行的自動駕駛智能體的性能,詳見表1。這些指標包括:

• 成功率:此指標衡量智能體車輛成功完成任務(到達目的地或行駛預定距離而沒有事故或偏離車道)的百分比。

• 平均距離(公尺):表示在所有情節中,智能體車輛在情節結束前(無論是透過完成任務還是由於失敗,如碰撞或超時)所行駛的平均距離。

• 碰撞率(%):計算智能體車輛發生碰撞的情節百分比。

• 平均速度(公尺/秒):測量智能體車輛在整個任務過程中所保持的平均速度。這個指標反映了車輛在速度與安全性之間的平衡能力,並指示其導航環境的效率。

• 路徑點距離:此指標量化了與期望路線路徑點的平均偏差。它評估了車輛遵循計劃路徑的能力,反映了其在遵循給定軌跡時的導航準確性和精確度。

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

1)不同觀測模式下的預測

世界模型(WM)的想像能力使其能夠有效地預測未來場景並管理潛在事件。為了評估WM在不同觀測模態下的想像表現,我們在「右轉困難」任務上進行了實驗。選擇了三種不同的模態:鳥瞰圖(BEV)、攝影機和雷射雷達(LiDAR)。對於每一種模態,WM都需要在給定的起始狀態和一系列動作下,想像未來幾步的觀測結果。圖4展示了結果,並對比了三種模態下真實影像與想像影像的差異。第一行顯示了真實觀測影像,第二行是WM想像的結果,第三行是它們之間的差異。我們選擇了在想像範圍內最多6​​4個時間步的幀。這些發現表明,儘管模態不同,WM在準確預測未來方面仍然表現出色。在BEV實驗中(a),WM精確地預測了直行和右轉車輛的位置和軌跡,以及BEV相對於自我車輛的旋轉和平移。同樣,在攝影機和LiDAR設定中,WM也成功預測了自我車輛前方行駛的車輛。

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

2)車對車通信的好處

#CarDreamer的一個獨特特性是其能夠方便地定制車輛之間的通信水平。車輛可以共享視野(FOV)視圖,從而獲得不同的可觀測性。此外,它們甚至可以共享意圖(由車輛的規劃路徑點表示),以便更好地規劃。我們利用這項特性來評估通信的影響。在一個agent上,在「右轉困難」任務的不同設定下進行了訓練和測試,即不同的可觀測性和是否能夠訪問其他車輛的意圖。由於密集的交通和來自視野外車輛的頻繁潛在碰撞,「右轉困難」任務特別適合測試可觀測性和意圖通訊。獎勵曲線如圖5所示,一些效能指標如表2所示。請注意,在我們的獎勵函數中,成功執行右轉的行為大致由超過250的獎勵表示。結果表明,有限的可觀測性或缺乏意圖共享會阻礙代理完成任務。圖6中一個情節中均勻採樣的影像提供了很好的解釋:代理人採用了保守且次優的策略,它在交叉路口停下來以避免碰撞。例如,在圖6的前三行中,代理在併入車流之前停止移動。相比之下,完整的資訊使自我車輛能夠成功執行右轉。

加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台

以上是加州大學最新! CarDreamer:全面、靈活的自動駕駛演算法測試開源平台的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn