自動駕駛汽車遇到交叉路口?深度強化學習來幫忙

機器之心分析師發表於2018-07-05

衡量自動駕駛汽車的一大關鍵標準是看自動駕駛汽車能否正確穿過沒有訊號的交叉路口。賓夕法尼亞大學等多個機構的研究者提出使用深度強化學習來幫助自動駕駛汽車通過交叉路口,結果取得了非常優良的表現。

論文地址:https://arxiv.org/abs/1705.01196

無人駕駛汽車的研究已經不再只是識別交通燈或道路標誌那樣的簡單過程了,它已經延伸到了生活中的很多場景中。衡量自動駕駛汽車的一大關鍵標準是看自動駕駛汽車能否正確穿過沒有訊號的交叉路口。在這篇論文中,研究者提供了一種使用深度強化學習的新策略。與當前的基於規則方法相比,這能以一種有用的方式儲存和操作知識以及解讀資訊。這篇論文向我們表明,使用深度強化學習可以在任務完成時實現更優的表現和目標成功率等。平均成功率可高達 99.64%,一次試驗成功平均所用的時間縮短到了平均 5.5 秒。但是,他們指出在穩健性提升方面還需要更多努力。

1.引言

對於人類駕駛者而言,20% 的交通事故都發生在交叉路口 [1]。自動駕駛汽車能夠多好地學習通過交叉路口呢?為了成功做到這一點,必須要做到三件事:

  1. 理解車輛動態
  2. 解讀其它駕駛者的意圖
  3. 採取可預測的行為以便其他駕駛者有時間採取適當的響應

這應該就能平衡多個互相沖突的目標,比如安全性、效率以及最大限度減少交通中斷。

已經有兩類主要的基於規則的方法被應用到了交叉路口處理上:協作方法 [2] 和啟發式方法 [3]。協作方法不能擴充套件用於一般的交叉路口處理,因為這需要車輛之間的通訊。之前最佳的方法是一種基於碰撞時間(TTC:time-to-collision)的基於規則的方法 [4]。TTC 有很多優勢,比如可靠性,但仍有侷限性。首先,由於假設速度恆定,TTC 模型會忽視幾乎所有有關駕駛者意圖的資訊。其次,人類駕駛者難以預測的行為會讓基於規則的演算法的應用變得很複雜。最後,很多情況表明使用 TCC 可能會過度謹慎,這會造成不必要的延遲。

正如該論文提到的那樣,用於處理交叉路口情況的機器學習方法主要有三種,即:模擬學習、線上規劃和離線學習。該論文選擇了離線學習方法,並解釋了模擬學習和線上規劃不適用的原因。對於模擬學習而言,如果智慧體發現自己處於一個並未學習過的狀態,它將無法提供解決方案。線上規劃則依賴於已有的準確的生成模型。圖 1 展示了穿過繁忙交叉路口的過程。

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙

圖 1:穿過一個繁忙的交叉路口。紅車是自動駕駛車輛,黃車是交通中的其它車。其目標是在安全地避免碰撞的同時確定沿途的速度控制方案。

2. 方法

在這一節,研究者將交叉路口處理問題看作是一個強化學習問題。他們使用了深度 Q 網路(DQN)來學習狀態-動作價值 Q 函式。該方法分為 5 部分:

  • 強化學習(RL)

這部分是介紹強化學習,我將使用最簡單的方式來描述強化學習的過程。在強化學習模型中,在時間 t,處於狀態 s_t 的智慧體根據策略 p 採取動作 a_t。然後該智慧體的狀態變成 s_(t+1) 並獲得獎勵 r_t。這被形式化為了一個馬爾可夫決策過程(MDP),並使用了 Q 學習來執行優化。

  • Q 學習

這部分介紹 Q 學習,我建議讀者先學習一下 Q 學習,這能幫助你更輕鬆地閱讀這篇論文。Q 學習的本質是使用動作價值函式 Qp(s,a) 的平均值來估計實際值。當新增資料時,結果會更新。

  • 動態幀跳過

動態幀跳過是將選擇簡化 [5],這讓智慧體可以在更長的時間內選擇動作,這能改善智慧體的學習時間。

  • 優先經歷重放

該論文使用了經歷重放來破除智慧體的連續步驟之間的關聯。之前的軌跡由一個經歷重放緩衝儲存,這意味著出現次數更少的重要序列也可以得到取樣。這能避免計算排序列表,在軌跡上平衡獎勵的樣本將會取代這種計算。

  • 狀態-動作表徵

由於自動駕駛汽車會使用很多感測器,所以會有大量狀態和動作表徵。研究者在這篇論文中提出了兩種表徵。第一種是連續動作(Sequential Actions),即將所需路徑提供給智慧體,讓智慧體決定加速、減速或保持速度。第二種是行動時間(Time-to-Go),即智慧體決定等待或前進的時間。前者能讓我們觀察更復雜的行為能否帶來優勢;後者重在出發時間,這讓我們可以探索出發時間的改變對錶現水平的影響方式。

3.實驗

在這一部分,研究者基於多種不同的交叉路口場景訓練了兩個 DQN(連續動作和行動時間)。他們將結果與啟發式碰撞時間(TTC)演算法進行了比較。TTC 策略使用了單個閾值來決定是否通過,這篇論文也將其用作了分析的基準。研究者使用了 Sumo 模擬器 [6] 來執行實驗。這個模擬軟體包可以幫助使用者模擬各種不同場景下的交通狀況。這能幫助建模道路網路、道路標誌、交通燈、大量車輛,而且還能促進線上互動和車輛控制。如圖 2 所示,這裡有 5 種不同的交叉路口場景。研究者給出了一系列用於設定場景的引數以及 4 個用於評估方法的指標:成功百分比、碰撞百分比、平均時間和平均剎車時間。對於 TTC 和出發時間 DQN,所有的狀態表徵都忽略了遮擋情況,並且假設可以看到所有車輛。

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙圖 2:不同交叉路口情形

連續動作網路是一個使用了 leaky ReLU 啟用函式的全連線網路。其中有 3 個各有 100 個節點的隱藏層,最後的線性層有 12 個輸出,對應 3 個動作(加速、減速和速度保持)和 4 個時間尺度(1、2、4、8 個時間步驟)。出發時間 DQN 網路使用了一個卷積神經網路,其有 2 個卷積層和 1 個全連線層。第一個卷積層有 32 個步幅為 2 的 6×6 過濾器,第二個卷積層有 64 個步幅為 2 的 3×3 過濾器。全連線層有 100 個節點。所有層都使用了 leaky ReLU 啟用函式。最後的線性輸出層有 5 個輸出:單個 go 動作和一個 4 個時間尺度(1、2、4、8 個時間步驟)的 wait 動作。在實驗中,經歷重放快取會儲存 100 000 個時間步驟,並且有兩個用於碰撞以及用於成功和超時的快取。對於獎勵,成功的獎勵為 +1,碰撞的獎勵為 -10,步驟成本為 -0.01。

4.結果

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙表 I:不同演算法的比較表 I、圖 3、圖 4 給出了結果。我們可以看到這些特點:

  1. TTC 方法在任何場景中都沒有碰撞。在 DQN 方法中,DQN Time-to-Go 的碰撞率顯著低於 DQN-sequential。
  2. DQN 方法在達成目標方面比 TTC 方法高效很多。平均而言,DQN Time-to-Go 達成目標的速度比 TTC 快 28%,DQN Sequential 則比 TTC 快 19%。這意味著 DQN 方法有降低交通擁堵的潛力。
  3. 除了其中一種情況,DQN Time-to-Go 有最高的成功率,如圖 3 所示。
     自動駕駛汽車遇到交叉路口?深度強化學習來幫忙
    圖 3:所有方法和場景的結果比較
  4. 儘管 DQN 要高效很多,但它們在最小化碰撞次數上還比不上 TTC。
  5. 在圖 4 中,我們可以看到,經過速度與安全性的權衡之後,DQN 的表現全面壓制 TTC。這說明設計一種零碰撞率的演算法是可能的。
     自動駕駛汽車遇到交叉路口?深度強化學習來幫忙
     圖 4:隨 TTC 閾值變化的通過時間和碰撞率之間的權衡。注意 DQN 的表現在每種情況下都絕對佔優。由於比例原因,這裡沒有給出 Challenge 情況的結果,但結果是相似的。

由於事實上 DQN 沒有實現零碰撞率,所以研究者試圖找到一種解決這一問題的方法,因為零碰撞率是非常重要的。根據多工學習 [7] 的核心原理,作者猜想在多種場景上訓練將能夠提升模型的表現。圖 5 給出了遷移表現,表 II 和表 III 給出了具體資料。遷移表現有助於研究者瞭解深度網路系統的泛化能力。我們可以看到,更有難度的場景能更容易遷移到更容易的場景,但車道數量變化會產生干擾。

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙圖 5:遷移表現。將在一種場景中訓練的網路在各種不同的場景下執行,以評估每種方法的泛化能力。

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙表 II: DQN-Sequential 的遷移表現

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙表 III:DQN Time-to-Go 的遷移表現

然後研究者給出了一個定性分析。他們指出能夠準確預測遠處車道交通情況的 DQN 將能夠在該車到達該車道時通過。另外,DQN 駕駛者還能預測即將到來的車輛是否有足夠多的時間制動。研究者還解釋了會有一些碰撞的原因。這些碰撞的原因是車輛幾乎與即將到來的車輛插肩而過的離散化效應(discretization effects)。研究者還指出 TTC 通常會等到道路完全清空後才出發,如圖 6 所示,在實際應用可不能這麼做。

自動駕駛汽車遇到交叉路口?深度強化學習來幫忙圖 6:DQN Time-to-Go 會預測道路開放的時機,並根據可用路徑的預測開始加速。TTC 會等到沒有其它車輛時才前進,會錯過很多機會。

5.結論

該論文提到了三大貢獻。第一是結合多種近期的深度學習技術來提升表現水平的全新思想。第二是分析和比較了 DQN 與 TTC 在 5 種不同的交叉路口模擬場景中的表現情況。第三是分析了訓練後的 DQN 策略在不同場景中的遷移情況。

在我看來,未來仍有兩個可以改進的方向。第一是卷積神經網路架構。對於更復雜的場景,更深度的神經網路可能會好很多。我們可以在參考文獻 [8] 中看到同樣的結論,其中一家自動駕駛公司將深度學習視為實現可信任無人駕駛汽車的唯一可行途徑,因為有大量道路狀況和很多事情都很困難和微妙難解。第二是關於碰撞率。我認為應該還存在另一種將碰撞率降至零的方法,因為對於無人駕駛汽車來說,安全性是頭等大事。我們無法只通過模型或演算法來實現這一目標,還存在其它解決這一問題的途徑。奧迪的工程師應用了毫米波雷達、鐳射雷達、攝像頭、超聲波探頭等感知裝置來互相補償和驗證,這也有助於汽車正確地決策。

6. 參考文獻

 [1] National Highway Traffic Safety Administration, “Traffic Safety Facts, Tech. Rep. DOT HS 812 261, 2014. [Online]. Available: https://crashstats.nhtsa.dot.gov/Api/Public/Publication/812261
 [2] Hafner, Michael R., et al. "Cooperative collision avoidance at intersections: Algorithms and experiments." IEEE Transactions on Intelligent Transportation Systems 14.3 (2013): 1162-1175.

[3] Alonso, Javier, et al. "Autonomous vehicle control systems for safe crossroads." Transportation research part C: emerging technologies 19.6 (2011): 1095-1110.

[4] Minderhoud, Michiel M., and Piet HL Bovy. "Extended time-to-collision measures for road traffic safety assessment." Accident Analysis & Prevention 33.1 (2001): 89-97.

[5] Sutton, Richard S., and Andrew G. Barto. Reinforcement learning: An introduction. Vol. 1. No. 1. Cambridge: MIT press, 1998.

[6] Krajzewicz, Daniel, et al. "Recent development and applications of SUMO-Simulation of Urban MObility." International Journal On Advances in Systems and Measurements 5.3&4 (2012).

[7] Caruana, Rich. "Multitask learning." Learning to learn. Springer US, 1998. 95-133.

相關文章