當前位置:
首頁 > 知識 > 如何使用深度強化學習幫助自動駕駛汽車通過交叉路口?

如何使用深度強化學習幫助自動駕駛汽車通過交叉路口?

機器之心原創

作者:Shixin Gu

參與:Hao、Panda

交叉路口是自動駕駛系統所面臨的難點之一。今年五月,來自賓夕法尼亞大學、本田研究院和喬治亞理工學院的研究者提出了一種使用深度強化學習幫助自動駕駛汽車通過交叉路口的方法。機器之心技術分析師 Shixin Gu 對這項研究進行了解讀,論文原文可訪問:https://arxiv.org/abs/1705.01196

對無人汽車的研究已經不再僅僅局限於識別交通燈或交通標誌的簡單過程,而已經擴展到了多個生活場景中。用于衡量自動汽車的一個關鍵標準是看自動汽車是否能夠通過沒有信號的交叉路口。在這篇論文中,作者為我們提供了一種使用深度強化學習的新策略。與當前基於規則的方法相比,該方法能以一種有用的方式存儲和操作知識並解讀其中的信息,從而在任務完成時間和目標成功率等指標上達到更好的表現。該論文還表明,通過這個新策略使用深度強化學習可以實現更好的結果,平均成功率可以達到 99.64%,進行一次嘗試的時間成功地縮短到了平均 5.5 秒。該論文也指出在提升穩健性上還需要更多努力。

1 引言

即使是人類司機,交通事故中也有高達 20% 發生在交叉路口 [1]。這就意味著無人駕駛汽車要想學好通過交叉路口不是件容易的事。要成功通過交叉路口,需要完成三件事:1) 理解汽車的動態行為,2) 解讀其他司機的意圖,3) 以可被預測的方式行動以便其他司機能夠合適地響應。這需要在大量有衝突的目標之間尋找平衡,其中包括安全性、效率和最小化對車流的破壞。

基於規則的處理交叉路口任務的方法主要分為兩大類:協同方法(cooperative methods)[2] 和啟發式方法(heuristic methods)[3]。由於需要車輛與車輛之間的通信,協同方法不能擴展用於通用的交叉路口處理。當前最佳的方法是一種基於碰撞時間(TTC/time-to-collision)[4] 的基於規則的方法。TTC 有很多優勢,比如它很可靠,但也有一些局限性。首先,TTC,由於假設汽車速度恆定,所以 TTC 模型會忽略幾乎所有關於司機意圖的信息。其次,人類司機的不可預測的行為使得基於規則的演算法用起來非常複雜。最後,有很多案例表明使用 TTC 可能過於小心謹慎,這會帶來不必要的延遲。

正如該論文提到的那樣,用於處理交叉路口任務的機器學習方法主要有三種:模仿學習(imitation learning)、在線規劃(online planning)和離線學習(offline learning)。該論文的作者選擇了離線學習方法,並且也解釋了模仿學習和在線規劃不合適的原因。對於模仿學習而言,當其智能體處於一個其從未學習過的狀態時,它就無法提供解決方案。在線規劃模型則依賴於已有的準確的生成模型。圖 1 給出了通過繁忙的交叉路口的過程。

圖 1:通過一個繁忙的交叉路口。紅色車是自動汽車,黃色車是當前交通狀況。目標是確定一路上的加速方式。

2 方法

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

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

Q 學習:這部分介紹了 Q 學習。我推薦讀者先學習一下 Q 學習,這樣讀這篇論文會更容易。Q 學習的本質是使用動作價值函數 Qp(s,a) 的平均值來估計實際值,而且其會隨數據的增加而更新。

動態幀跳過(Dynamic Frame Skipping):動態幀跳過是選擇(options)[5] 的一種簡化版本,讓智能體可以在更長的時間範圍里選擇動作,這可以改善智能體的學習時間。

經驗回放優先順序排序(Prioritized Experience Replay):該論文使用了經驗回放來打破智能體連續步驟之間的關聯。經驗回放緩衝器(experience replay buffer)會保存之前的軌跡,這意味著發生頻率較低的重要序列也會被採樣。這將能避免排序列表的計算,平衡各種軌跡的獎勵的樣本可以替代這種計算。

狀態-動作表徵:因為自動汽車使用了感測器,所以允許大量的狀態和動作表徵。這篇論文提出了兩種表徵。第一是序列動作(sequential action),其中智能體會獲得一個期望路徑,然後決定選擇加速、減速或保持速度。第二是 Time-to-Go,其中智能體要確定等待或出發的時間。前者讓我們可以觀察是否更複雜的行為就更好,後者讓我們可以關注出發時間,從而讓我們可以了解出發時間變化會如何影響汽車的表現。

3 實驗

在這一部分,論文作者基於各種交叉路口場景訓練了兩個 DQN(序列動作和 Time-to-Go)。然後他們將得到的表現與啟發式 Time-to-Collision(TTC)演算法進行了比較。TTC 策略使用了單個閾值來決定何時通過路口,這也是本論文分析的基準。本論文使用了 Sumo 模擬器 [6] 來運行實驗。該模擬軟體包可以幫助用戶模擬不同場景下的各種交通情況。它可以幫助建模道路網路、道路標誌、交通燈、大量汽車,而且還可以促進在線的交互和車輛控制。如圖 2 所示,有 5 種不同的交叉路口場景。該論文作者給出了一系列參數來設置場景,並且還給出了 4 個評估該方法的指標:成功百分比、碰撞百分比、平均時間和平均制動時間。對於 TTC 和 Time-to-Go DQN,所有的狀態表徵都忽略了遮擋,並假設所有的汽車都總是可見的。

序列動作網路(sequential action network)是一個帶有 leaky ReLU 激活函數的全連接網路。其中有 3 個隱藏層,每個隱藏層有 100 個節點;最後還有一個線性層,有 12 個輸出,分別對應於 4 個時間尺度(1、2、4、8 個時間步驟)的 3 個動作(加速、減速和保持速度)。Time-to-Go DQN 網路使用了一個卷積神經網路,其帶有兩個卷積層和一個全連接層。第一個卷積層有 32 個 6×6 的濾波器,步幅為 2;第二個卷積層有 64 個 3×3 的濾波器,步幅也為 2;全連接層有 100 個節點。所有層都使用了 leaky ReLU 激活函數。最後的線性輸出層有 5 個輸出:一個 go 動作和 4 個時間尺度(1、2、4、8 個時間步驟)的 wait 動作。在本實驗中,經驗回放緩衝器可存儲 100,000 個時間步驟,並且有兩個緩衝器,一個用於碰撞,另一個用於成功和超時。對於獎勵,該論文使用 +1 表示成功,-10 表示碰撞,-0.01 用於步驟成本。

圖 2:不同交叉路口場景的可視化

4 結果

表 1:不同演算法的比較

結果可見於表 1、圖 3、圖 4,我們可以看到以下結果:

1.TTC 方法在任何場景下都沒有碰撞。在 DQN 方法中,DQN Time-to-Go 有比 DQN-sequential 遠遠更低的碰撞率。

2. 與 TTC 相比,DQN 方法在實現目標上要有效得多。平均而言,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 的表現。這說明設計一個 0 碰撞率的演算法是可能的。

圖 4:隨著 TTC 的閾值變化,通過時間與碰撞率的權衡。注意 DQN 的表現在每個案例中都最好。由於尺度原因,高難度場景沒有包括進來,但結果是類似的。

由於 DQN 沒有實現 0% 的碰撞率,所以該論文作者嘗試尋找解決這一問題的方法,因為 0 碰撞率是非常重要的。根據多任務學習 [7] 的核心原理,作者認為在多場景上訓練可以提升表現。圖 5 給出了遷移表現,具體數據參見表 2 和表 3,這將有助於作者理解深度網路系統的泛化方式。我們可以看到更有難度的場景可以遷移到更容易的場景,但車道數量的變化會帶來干擾。

圖 5:遷移表現。在一個場景中訓練的網路在不同的場景中運行,以評估每種方法的泛化能力。

表 2:DQN Sequential 的遷移表現;表 3:DQN Time-to-Go 的遷移表現

然後論文作者給出了一個定性分析。在該分析中,作者指出該 DQN 可以準確預測遠處車道在當前車輛通過該車道時的交通狀況。另外該 DQN 司機還能預測即將到來的車流是否有足夠的時間制動。作者還解釋了會有一些碰撞的原因。這種由離散化(discretization)導致的碰撞會在汽車幾乎錯過即將到來的車流時產生影響。論文還指出 TTC 往往會等到道路完全清空後才通過,如圖 6 所示,這種方法在實際情況下是不夠好的。

圖 6:DQN Time-to-Go 預測開闊空間出現的時機,然後開始按預期的明確路徑加速。TTC 會等到所有車都走過,但這會錯失機會。

5 結論

對於這篇論文,作者提到了三個貢獻。第一個貢獻是將當前多種深度學習技術結合起來提升水平的全新思想。第二個貢獻是在 5 個不同的交叉路口模擬場景中將 DQN 與 TTC 的表現進行了比較分析。第三個貢獻是分析了訓練後的 DQN 策略遷移到不同場景的能力。

在我看來,未來還有兩個方面有待提升。一是卷積神經網路的架構。有更多的複雜場景時,更深度的神經網路可以得到更好的結果。我們可以在參考文獻 [8] 中找到同樣的結論,有一家自動駕駛公司將深度學習看作是打造可信賴的無人駕駛汽車的唯一可行方式,因為駕駛涉及到的情況太多了,而且很多事情都很艱難和微妙。另一個方面是關於碰撞率。我認為應該還有另一種讓碰撞率為 0 的方法,因為在人類選擇無人駕駛汽車時,安全性無疑是最重要的部分。這裡只是通過這個模型或演算法還不能實現這個目標,應該還有其它解決這個問題的方式。在奧迪汽車中,工程師應用了毫米波雷達、激光雷達、相機、超聲波探頭等等設備來互相補償和驗證,這可以幫助汽車做出正確的選擇。

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.


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

中國的AI:演算法王國
十餘家 AI 創業公司,深度解讀國務院新一代 AI 發展規劃
如何用深度學習做自然語言處理?這裡有份最佳實踐清單
CVPR 2017最佳論文解讀:密集連接卷積網路

TAG:機器之心 |

您可能感興趣

人工智慧如何幫助自動駕駛「鋪平道路」
斯坦福新型激光技術 幫助自動駕駛汽車看到盲角目標
一種受螳螂蝦眼睛啟發的新型相機,可以幫助自動駕駛汽車更好地監測周圍環境
MIT提出使用「深度強化學習」幫助智能體在運動中做出「動作決策」
運動幫助順產,媽咪打起精神動一動!
食用竹筍不僅能促進腸道蠕動,幫助消化防便秘,預防大腸癌的功效
使用手機時,如何利用小技巧幫助大腦深呼吸
腰肌勞損還能運動嗎?練練這些動作幫助快速恢復
機器學習如何幫助IT管理人員走出運維的泥濘
狗狗因癲癇走路不不穩 貓咪主動支撐幫助它走路 感動了無數網友
講座整理|手巧心靈,如何幫助孩子發展精細運動
男子包工被騙想卧軌自殺民警忙救下並送路費、交話費幫助回家
工作壓力大?3種簡單運動幫助舒緩身心
乙肝怎麼運動 對病情康復才有幫助
以「租」代售,「飛象汽車」希望幫助中國自主汽車品牌在非洲打開銷路
汽車超牛人:大眾與供應商結成聯盟,欲幫助規範無人駕駛汽車技術
人工智慧遠遠不止炒作 至少機器學習能幫助網路安全防禦
以下5式幫助加強腸胃蠕動,迅速消除飽脹感!
小人物通過幫助女領導解決問題為基礎,一步步打造自己的升遷之路
運動不是減肥的主力,而是幫助你雕塑形體的助力!