馮 天 石朝俠 王燕清
(1.南京理工大學計算機科學與工程學院 南京 210094)(2.南京曉莊學院信息工程學院 南京 211171)
國家統計局發布的中華人民共和國2019年國民經濟和社會發展統計公報[1]顯示,截至年末,全國民用汽車保有量26150萬輛,比上年末增加2122萬輛,伴隨而來的道路交通問題也日益凸顯。資料顯示,中國道路交通事故萬車死亡人數已達1.80人。很大數量的交通事故是由于駕駛員的失誤造成的,自動駕駛技術的應用,很可能讓這類交通事故大幅減少。英偉達、谷歌、特斯拉、百度等著名科技企業在自動駕駛技術上均已展開了大量的研究,現階段已有少量自動駕駛車輛進行測試。美國電氣和電子工程師協會(IEEE)預測,截止至2040年,全球75%的新增汽車都會是自動駕駛汽車[2]。然而現階段,研究出在城市環境下能夠完全自主應對各種復雜交通場景的自動駕駛技術仍然是一項巨大的挑戰。
迄今為止,已經存在一些基于深度學習[3~7]或者基于強化學習[8~10]的自動駕駛方法。基于深度學習的方法使用大量人類駕駛員的駕駛數據訓練神經網絡[4],通過大量數據尋求駕駛環境與駕駛員動作的映射關系,進而學習自動駕駛技術。這種方法不僅需要極大數量的駕駛數據而且缺乏對特殊情況的學習,有較大的應用難度。基于強化學習的自動駕駛方法可以利用自主探索環境得到的經驗持續學習優化。但是,這種方法對于自動駕駛這種高輸入維度且動作空間連續的情況難以有效進行。加之神經網絡解釋性的缺乏[5],僅基于深度學習的自動駕駛算法一直沒有突破性進展。
LeCun等[11]在2005年已經開始探索卷積網絡在自動駕駛方面的應用。Hinton等[12]在2006年提出了深度信念網絡(Deep Belief Networks),為深度學習方法開啟了一個新的方向。Krizhevsky[13]等在ImageNet Large Scale Visual Recognition Challenge 2013(ILSVRC 2013)中使用卷積神經網絡取得了突出的成績。2016年,Bojarski等[3]提出使用深度卷積網絡進行自動駕駛研究的方案。DeepMind團隊[4]提出的affordance機制改進了自動駕駛研究的方案。隨著深度學習方法的進一步使用,研究者們嘗試將強化學習與之結合。其中,Mnih等[14]提出的DQN(Deep Q-Network)算法實現了在離散空間上從感知到動作的端到端算法,算法在一些游戲場景中表現已優于人類。DeepMind團隊在2016年結合演員-評論家(Actor Critic)算法[15],將DQN算法改進為深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)[16],實現了連續空間上的控制輸出。CARLA[17]自動駕駛仿真平臺提供了數據收集、實驗設置、方案驗證等功能,是一個優秀的綜合仿真平臺。受到前人工作的啟發,本文提出一種深度強化學習自動駕駛決策方法:首先基于適量駕駛數據預訓練圖像降維網絡,然后將降維后得到的圖像特征和車輛狀態特征進行異構融合作為強化學習的輸入,接著通過為自動駕駛量身定制的獎勵函數有效引導學習,并結合經驗池回放技術和目標網絡技術。最后,分別測試了異構融合架構下和未經融合直接輸入架構下自動駕駛的學習曲線。
強化學習通過智能體與環境不斷進行交互,用獎勵或者懲罰信號試錯式的學習狀態和動作之間的某種映射規則的方法。其框架如圖1所示。

圖1 強化學習基本框架
在強化學習過程中,智能體基于某種決策方式在狀態st下做出動作at并與環境交互,獲得環境反饋改變狀態到達st+1并獲得獎勵rt,如此反復產生一系列狀態、動作、獎勵鏈,直到達到終止條件。智能體希望通過不斷探索環境來優化決策以最大化得到的獎勵。下面介紹一些典型的強化學習算法。
DQN算法是傳統強化學習算法Q-Learning與深度學習方法的結合,強化學習的過程可模式化為馬爾科夫決策過程(Markov Decision Process,MDP),其中包含狀態S,動作A,獎勵R和衰減系數γ,狀態的改變和獎勵僅取決于上一步的狀態和動作。
在DQN之前,Q-learning算法是通過構造一個Q表來存儲狀態-動作對的價值,進而可以根據這些價值做決策。學習的目的是求出期望累計獎勵最大的策略,其形式為式(1):

DQN使用深度神經網絡來擬合函數以替代Q表,學習時通過時序差分算法最小化目標Q值和當前Q網絡輸出之間的差距來更新參數θ的值。如式(2)所示:

DQN算法只適用于離散動作空間,對于自動駕駛這種連續空間并不直接適用。
DDPG是將深度神經網絡融合進Deterministic Policy Gradient(DPG)的學習算法。DPG通過確定性動作函數at=μ(st|θμ)直接選擇動作,DDPG在其基礎上分別采用策略網絡和價值Q網絡作為策略函數μ(st|θμ)和價值Q(st,at|θμ)函數的模擬,然后使用深度學習的方法按照式(3)、(4)、(5)分別更新網絡。

同時,DDPG保留了DQN的使用過的經驗池回放技術和目標網絡技術來降低學習過程中的波動,進一步使得學習過程收斂。經驗池回放技術是將系統探索環境得到的數據存儲起來,然后隨機采樣樣本更新深度神經網絡的參數。目標網絡技術通過拷貝原始網絡為目標網絡,根據延遲因子τ來軟更新在線網絡和目標網絡的參數以穩定學習過程,更新方式如式(6)和式(7)所示。

強化學習難以在高輸入維度且動作空間連續的情況下有效學習,為了降低輸入狀態維度,我們使用模仿學習方法預先學習駕駛數據,訓練圖像降維網絡[7]。
網絡輸入為來自前向攝像頭分辨率為88*200的RGB圖像image,通過8層卷積網絡和2層全連接網絡,最終輸出2維車輛控制信號,分別為方向盤控制量s和加減速控制量a,網絡結構見圖2。

圖2 圖像降維網絡結構圖
網絡的損失函數L定義為兩個預測控制信號量s和a的L2損失和,如式(8):

待訓練結束后固定網絡參數并去掉網絡最末端輸出層,這樣得到從88*200*3維圖像image映射為512維度圖像特征fimg的降維網絡,此圖像降維網絡將作為我們強化學習的部分輸入。
DDPG算法分別使用策略網絡和價值Q網絡來模擬策略函數μ(st|θμ)和價值Q(st,at|θμ)函數,兩者均為多層全連接網絡。
為了提高系統對整體環境的感知,我們將對車輛描述的5維狀態特征:當前方向盤控制量s、當前加減速控制量a、歸一化速度v、人行道跨越rr、車道跨越ro,記為車輛狀態特征fagt,與圖像狀態fimg異構融合后合并輸入強化學習網絡。
策略網絡和價值Q網絡的結構如圖3、圖4所示。

圖3 策略網絡結構

圖4 價值Q網絡結構
我們針對自動駕駛場景量身定制了獎勵模塊。獎勵模塊分為6個部分:速度獎勵ra,方向盤約束懲罰rs,人行道跨越懲罰rr,車道跨越懲罰ro,碰撞懲罰rd以及靜態懲罰rc,最終結果為這6個部分的數值總和,如式(9)所示。

速度獎勵ra定義為

其中v的單位為km/h,本實驗環境下vmax取值為10。
方向盤約束懲罰rs定義為

其中s為方向盤控制量,取值空間為[-1,1],本實驗環境下λs取值為30。
人行道跨越懲罰rr、車道跨越懲罰ro觸發條件分別為當發生人行道跨越、發生車道跨越時,觸發后獎勵數值均定義為-100。
碰撞懲罰rd觸發條件為當發生任何碰撞時,觸發后獎勵數值定義為-100,并且會終止此次實驗場景。
靜態懲罰rc觸發條件為當速度小于0.1m/s時,觸發后獎勵數值定義為-5,若持續2s內保持此狀態,也將終止此次實驗場景。
方法更新過程和DDPG算法流程相似。首先預訓練圖像降維網絡,然后通過降維的圖像特征和車輛狀態特征異構融合作為輸入狀態,經驗池采樣更新網絡,方法整體架構見圖5。算法流程如下:



圖5 異構融合特征的深度強化學習自動駕駛決策方法
為了更好地訓練并測試自動駕駛決策方法,本文選擇了CARLA開源自動駕駛仿真環境。CARLA是一款新穎的自動駕駛仿真軟件,其基于Unreal Engine 4引擎提供了三維可視畫面,城市環境資源(包含城市地圖和符合動力學的汽車與行人),多種類的傳感器,高仿真的光照與天氣以及符合物理動力學規律的車輛模型。
CARLA采用了服務器-客戶端架構。服務器負責仿真相關內容:傳感器渲染、物理計算、世界狀態及其車輛的更新等。客戶端由一組客戶端模塊組成,控制場景中車輛的邏輯,服務器與客戶端之間的聯系通過CARLA API實現。
CARLA仿真平臺的時間步長設置為0.1s,訓練天氣設置為干凈的中午、有積水的中午、下雨的中午、干凈的黃昏、下雨的黃昏5種天氣隨機選擇,設置仿真環境中其他動態車輛數為20,動態行人數為40。訓練過程中,車輛會從83個起初坐標中隨機選擇,持續行進直到達到終止條件,城市的地圖和仿真環境如圖6所示。

圖6 城市地圖及仿真環境
訓練過程中,模型輸入都進行歸一化,方向盤控制量s為[-1,1],加減速控制量a為[-1,1],其他訓練參數設置如表4所示。

表4 訓練參數設置
為了公平地評估異構融合特征方法,選擇將相同的輸入信息不經過異構融合,直接輸入強化學習網絡以便對比。兩種方法在訓練過程中所獲得的平均獎勵值曲線如圖7所示。

圖7 學習曲線
圖7中黑色虛線是直接輸入特征在訓練過程中所得到的平均獎勵值曲線,黑色實線是異構融合特征方法在訓練過程中的平均獎勵值曲線。從圖中可以看出,在訓練前期,隨著訓練的進行,車輛所獲得的獎勵值在不斷地上升,之后保持穩定,說明了車輛很好地學習到了駕駛技術。異構融合特征方法學習曲線上升更快,相對穩定后的平均獎勵值也更高,表5記錄了兩種方法達到穩定所需要的迭代次數,所需的時間以及穩定后的平均獎勵值。

表5 訓練信息
根據圖7和表5可知,異構融合特征方法的學習速度較快,可以很快地學習并穩定到一個較優的獎勵值,所需要的時間也有所減少。圖8為訓練過程中出現的場景,隨著訓練的進行,車輛從完全無法駕駛開始逐步學會了沿道路穩定行駛,路口轉向以及一定程度的障礙物避讓,體現了方法的穩定性與魯棒性。

圖8 訓練過程中的場景
提出了一種基于異構融合特征的深度強化學習自動駕駛決策方法。首先通過模仿學習預訓練圖像降維網絡,然后將圖像特征和車輛狀態特征異構融合并輸入DDPG算法框架中,結合針對自動駕駛場景量身定制的獎勵模塊有效學習。實驗結果顯示,本文所提出的方法能夠有效且快速學習駕駛技術。同時,算法在復雜城市環境下保持了較高的穩定性與魯棒性,具有很好的應用潛力。