999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

虛擬環境下端對端深度學習的自動駕駛方法

2021-04-09 11:01:04常富祥魏福華姚壽文張家豪
兵器裝備工程學報 2021年3期
關鍵詞:深度動作價值

常富祥,丁 佳,魏福華,姚壽文,王 瑀,張家豪

(1.北京理工大學 機械與車輛學院, 北京 100081; 2.陸裝駐北京地區第一代表室, 北京 100072)

隨著人工智能技術的不斷發展,作為其重要分支之一的自動駕駛技術也廣泛受到關注[1]。研究表明,在加強道路交通安全、緩解城市交通擁堵、減少因車輛尾氣排放導致的空氣污染等方面,自動駕駛技術將會帶來顛覆性的改變[2]。隨著自動駕駛技術的逐步成熟,自動駕駛車輛的安全性成為關注的焦點問題。

對于具有高度復雜系統的汽車而言,高安全性代表著低事故率。現階段對于自動駕駛車輛安全性測試的主要手段是進行路面試驗來采集車輛的安全性數據,這種方式所需的經濟與時間成本十分高昂,且對于一些較為關鍵的極端工況(如碰撞、接近碰撞、復雜信號燈路口、環島等),很難在現實世界中進行模擬并復制還原[3]。

虛擬現實技術的愈加成熟,使得將現實世界在虛擬世界重構并加以模擬成為可能。利用虛擬現實技術,在虛擬世界中進行路面試驗[4],用自動駕駛車輛模型代替真實的自動駕駛車輛,不僅能夠最大限度地降低自動駕駛汽車開發過程中的成本,還能極大地縮短研發周期。

由于自動駕駛車輛進行自主駕駛是建立在對周圍環境中的目標對象進行識別和理解之上的,而交通場景中存在的目標對象種類繁多且變化較大,這就造成了目標檢測與目標識別的任務變得極為復雜。為解決這一問題,一種全新的驅動自動駕駛的方法應運而生,這就是基于端到端深度學習的方法。

端到端深度學習自動駕駛技術的發展,在1988年到2017年具有五項較有代表性的成果。1988年,卷積神經網絡(CNN)技術還沒有得到充分的發展,卡耐基梅隆大學通過采用一個三層的較淺的反向傳播神經全連接網絡,使用仿真路面圖對一臺陸軍軍用救護車進行訓練,通過輸入單目相機數據和雷達數據,使得車輛能夠沿著道路行駛[5]。雖然此時的系統構成還非常簡單,但卻首次證明了端到端學習形成自動駕駛系統的能力。

2005年,紐約大學的 Yann LeCun教授團隊在ICCV會議上發表了基于端到端學習的野外避障車輛研究的成果[6],該研究通過使用CNN神經網絡對人的駕駛行為進行學習,使得該自動駕駛系統可以在應對變化較大的復雜非道路環境時保持較好的魯棒性,該研究通過采用深度學習的方法,直接將圖像映射到行駛模式下,為自動駕駛技術的發展開辟了全新的思路。

2015 年的ICCV會議上,美國Princeton大學的研究團隊提出了使用直接感知的深度自動駕駛算法進行自動駕駛研究并進行了試驗[7],其思路是利用深度神經網絡對駕駛操控過程進行直接感知,降低算法的復雜性,極大提升了自動駕駛算法的魯棒性。

2016年,英偉達發布了DAVE2項目[8],該項目通過訓練卷積神經網絡,建立單個前置攝像頭與駕駛命令之間的映射,使車輛在有無車道線的道路、高速公路、停車場、未鋪砌的路面等區域行駛,并擁有30幀/秒的處理速度。該項目也是深度學習的方法首次被應用在實際可載人的自動駕駛車輛上的實例之一。

2017年,伯克利大學發布了Berkeley Deep Drive Video Dataset[9],該研究使用FCN-LSTM(全卷積-長短期記憶網絡)架構,將大規模視頻數據集輸入到網絡中去,通過對單目視覺的觀察和以往車輛的運動狀態來預測之后車輛運動狀態的分布。

以上5個具有代表性的研究成果,均采用深度學習或深度強化學習的方法來驅動自動駕駛,使用神經網絡或深度神經網絡對駕駛這一人類技能進行學習,通過建立環境感知與駕駛決策之間的動作映射關系,實現車輛的自主駕駛,并且提高了自動駕駛算法的性能,但自動駕駛系統的魯棒性尚不穩定。

本文通過對深度強化學習驅動的自動駕駛系統展開研究,設計并實現了一種端對端的深度強化學習驅動的自動駕駛算法,并以虛擬現實環境下自動駕駛仿真訓練平臺為基礎,對其進行訓練與測試,以增強自動駕駛系統的魯棒性,使深度強化學習和端對端控制在自動駕駛領域的應用成為可能。

1 算法總體設計

傳統的機器學習包含了3個重要的要素:目標、表示、優化。目標層面的研究關注的是系統應該具備的學習模型的類型,而強化學習的輸入是能使激勵函數最大的模型[10]。表示層面研究的重點是輸入數據的表示方法,數據的表示方法可以很大程度的影響消息效果。深度學習是近年來開始興起的重要人工智能方法,尤其是在圖像的表示方面有著很好的效果。深度強化學習則是將深度學習和強化學習二者相結合,使用深度學習方法來表征Markov決策過程的狀態,使用強化學習方法對學習過程的方向進行把控[11]。

通常而言,深度強化學習算法可以分為三大類,分別是基于價值(Value Based)的深度強化學習算法,基于策略(Policy Based)的深度強化學習算法和基于模型(Actor Based)的深度強化學習算法。常見的是以DQN(Deep Q-Learning Network)為代表的基于價值的深度強化學習算法,此算法中僅有一個價值函數網絡,沒有策略函數網絡[12],以及以DDPG,TRPO為代表的基于模型的深度強化學習算法,這些算法中既有價值函數網絡,又有策略函數網絡。

對于車輛來說,DQN是指在快速前進時獲得獎賞,與墻壁、其他車輛、行人等發生碰撞時接受懲罰,學習如何將獎賞最大化的方法。以方向盤、加速踏板、制動踏板、換擋桿位置、車速、左右傾角等車輛自身信息以及與墻壁、其他車輛、行人、車道線距與角度等數據作為輸入,通過七層神經網絡對此加以學習。最初車輛將隨意行駛并與墻壁或周邊車輛發生碰撞,隨后車輛會逐漸學習掌握向前行駛并回避障礙物,最終掌握為實現無碰撞行駛所需的轉向、加速、制動等功能的操作方法。更進一步,在障礙物會隨機出現的環境下,車輛如何進行無碰撞的行駛方法將得到充分學習,當加大發生碰撞的懲罰后,車輛間將保持充分的距離,最終實現在無信號燈的路口也可以不相互碰撞,順利通過[13]。此外,即使突然增加障礙物,車輛在學習后也能充分應對,不與之發生碰撞。

通過對強化學習和深度學習的研究,本文提出一種如圖1所示的基于端對端深度強化學習的自動駕駛方法,從理論上解釋算法設計的各個要素,使用基于循環神經網絡(Recurrent Neural Networks,RNN)的雙向長短時間記憶網絡(Bidirectional Long Short-term Memory,BLSTM)BLSTM-RNN的自動駕駛多模態行為預測模型,以實現長距離自治的自動駕駛,并增強系統的魯棒性,融入了為提升訓練效果和泛化能力而采用的網絡訓練及防止過擬合方法,利用Python編程完成算法模型的實現。

圖1 基于端對端深度強化學習的自動駕駛方法示意圖

2 算法設計與實現

本文將深度學習方法與強化學習方法進行有機結合,設計了基于端對端深度強化學習的自動駕駛方法,實現自動駕駛系統具備感知(Perception)和動作(Action)之間端對端學習的能力,并使用訓練好的模型來控制車輛行駛。以下為算法的基本設計思路。

2.1 智能體設計

一個自動駕駛任務的完成,包含了一系列的動作(Action)、觀察(Observation)和反饋值(Reward)。為了實現車輛的自動駕駛,需要設計一個可完成與環境之間進行交互的智能體。當智能體與環境進行交互后,環境會發生變化(如自動駕駛車輛的空間位置),此時智能體不一定能得到環境的所有信息,因而需要觀察這一行為來表示智能體所獲取的感知信息。交互過程如圖2所示。

圖2 智能體與環境間的交互過程示意圖

在每個時間步長(time-step),智能體執行某一動作,如選擇車輛的行駛方向或改變車輛的前進、轉向和制動等駕駛動作,并將動作反映至環境中,環境的狀態隨之改變,并將此狀態傳遞至智能體,同時對智能體進行反饋。在此基礎上,任務目標轉化為智能體如何從環境中得到更多的反饋。

反饋值的獲取過程是進行量化的過程,反饋值越多代表所執行的動作越滿足期望。在不考慮過擬合的情況下,如何找到一個最優的策略,以得到更多的反饋值是研究的目標。由于最優策略是未知的,求解過程的開始需要使用一個隨機策略作為起點。通過建立智能體與環境之間的交互來進行試驗,可得到最初的一組自身狀態s1、動作a1及反饋值r1,即樣本集合{s1,a1,r1},通過對樣本不斷地進行迭代求解便可以得到更優的反饋。

2.2 Markov決策過程

根據樣本的采集過程可知,樣本是具有時序的,因此在算法執行過程中,下一時刻的環境狀態僅受到當前的狀態和動作的影響。這就是馬爾可夫決策過程,用數學方法可描述為如式(1)所示。

一個狀態st是Markov當且僅當

P(st+1|st)=P(st+1|st,st-1,…,s1,s0)

(1)

式中:P為概率;s0,s1,…,st,st+1分別為起始時刻到t+1時刻的狀態。

對于如何獲取最優策略,常用的方法主要有兩類,一是直接對策略進行優化,使回報值更高,這種方法被稱為基于策略的方法(Policy-based Method);二是通過估計價值函數(Value-based Method)來間接獲得最優策略。

通常由于迭代更新,基于策略的方法存在學習效率慢的缺陷,而基于價值函數的方法可能會導致空間維度過高的問題,因此選用融合了兩種方法的Actor-Critic(Actor:策略,Critic:評價)算法,算法流程如圖3所示。

圖3 Actor-Critic算法流程示意圖

此時,Actor部分會基于概率對行為進行選擇,Critic 部分會基于 Actor 的行為與輸入的狀態對行為進行評判打分,并將結果反饋給Actor,之后Actor 再次根據 Critic 的打分對選擇行為的概率進行修正,而Critic部分根據環境返回的回報值,通過價值函數不斷調整自身的打分結構,由此構成帶有反饋的閉環算法。

2.3 價值函數

由于價值函數是無法準確得到的,因此需要估算價值函數。此時價值函數可被定義為期望值的回報,回報越高,價值就越大,越值得選擇。利用Bellman方程進行迭代可估算價值函數:

v(s)=Ε[Gt|St=s]=

Ε[Rt+1+λRt+2+λ2Rt+3+…|St=s]=

Ε[Rt+1+λ(Rt+2+λRt+3+…)|St=s]=

Ε[Rt+1+λGt+1|St=s]=

Ε[Rt+1+λv(St+1)|St=s]

(2)

v(s)=Ε[Rt+1+λv(St+1)|St=s]

(3)

式中:Gt、St和Rt分別為t時刻的收獲、狀態及獲得的獎勵;λ表示衰減系數;v(s)為價值函數,v(St+1)為下一狀態的價值;Ε表示價值。式(3)建立了當前狀態的價值與下一狀態的價值之間的關系,同時建立了當前狀態的價值和當前反饋之間的關系,可計算出價值函數。

由于每一個狀態,都存在多個可以選擇執行的動作,而每個可能被執行的動作又會導致很多個可能出現的狀態,因此需要通過評價每個可被選擇執行動作的價值來指導動作的選擇。為了能夠得到價值最高的動作,需要對動作價值進行量化表示,這種量化表示動作價值的方法被稱為動作價值函數

Qπ(s,a)=Ε[rt+1+λrt+2+λ2rt+3+…|s,a]=

Εs′[r+λQπ(s′,a′)|s,a]

(4)

式中:π為策略;Qπ(s,a)為動作價值函數;s′為下一個狀態;a′為下一個動作。通過使用動作價值函數可以對最優策略進行求解。而要求得最優策略,首先需要求解最優動作價值函數

(5)

將式(4)代入式(5)可得

(6)

當取最大值時可以得到最優的Q值,因此等式右側的Q值在取得最大值時,能夠使a′值最大,即得到最高價值的動作。

2.4 策略迭代

使用策略進行迭代是為了通過使用迭代計算的方法使計算策略的過程最終收斂,從而得到策略的最優值。策略迭代一般分成兩步,分別是策略評估(Policy Evaluation)和策略改進(Policy Improvement)。策略評估可以對價值函數進行更新并且能夠更好地估算出迭代過程中當前的策略價值。而策略改進則是使用貪婪策略(Greedy Policy)制造一個新的樣本用于初始的策略評估。

價值函數迭代計算過程中,每次迭代計算都需要對所有價值函數進行依次更新,然而對所有狀態和所有動作都進行遍歷是無法實現的,因此使用一種改進過后更新Q值的算法

(7)

雖然目標Q值可由價值函數迭代計算得出,但由于存在很大的累計誤差,因此不能直接將此目標值直接賦給新的目標值。為此引入參數α,每一步具體的實現取決于參數α的值,最終可以迭代收斂到最優的目標值,且能夠減少估計誤差帶來的影響。

關于如何選擇生成動作的策略,通常有兩種方法,一種是選擇隨機進行動作的生成來得到一個動作,另一種是通過貪婪策略,在當前Q值的基礎上,通過計算得到最優動作

(8)

相較于第一種方法,貪婪策略不容易更新得到更優的Q值,但卻可以對算法的有效性進行判斷。為了讓算法同時具備上述兩種方法的優點,對貪婪策略進行改進,具體方法是給定一個很小的ε值,作為選取隨機動作的概率值,因此又被稱為ε-greedy策略。

2.5 Q值神經網絡化

對于復雜的自動駕駛問題,除了需輸入車輛動力學參數和控制參數,還需輸入從虛擬環境中采集的圖像信息,這將導致算法的維度急劇增大,因此需對狀態數據進行降維處理。本文采用值函數近似的方法對算法進行降維處理

Q(s,a)=f(s,a)

(9)

式中,f可以使用多種函數類型進行替換,通過使用這種函數化的表示方法,算法的計算不再受到維度的限制。由于Q值實際如何分布是未知的,因此通過引入參數ω,使函數f近似表示Q值函數,式(9)可以表示為

Q(s,a)?f(s,a,ω)

(10)

神經網絡對于處理高維數據具有很大的優勢,并且由于自動駕駛過程所采集的圖像數據具有時序性,且每張圖像信息是連續變化的,因此采用循環神經網絡(Recurrent Neural Network,RNN)替換函數f。循環神經網絡有別于其他神經網絡的區別是,其獨特的網絡結構允許其讀取歷史中的信息,并利用歷史中的信息影響后續網絡的傳輸,具有很好的處理具有時序性數據的能力,其典型的結構如圖4所示。

圖4 循環神經網絡結構示意圖

可以看出循環神經網絡的每一隱藏層之間的結點是存在連接的,每一隱藏層的輸入都包含了本層輸入層的輸入和上一隱藏層的輸出。

在RNN中,在下一時間段,神經元的輸出信號可以反過來作用到本身,對于第i層神經元而言,在t時刻,除第i-1層神經元會將輸出信號輸送給它以外,自身在上一時刻的輸出也會作為輸入信號傳輸給自身。

為方便分析,按照時間段展開,可表示為如圖5所示。

圖5 RNN神經網絡結構示意圖

圖5中,Xt,Ot和St分別表示t時刻的輸入,輸出和狀態。由圖中可以看出,t+1時刻的神經網絡輸出的最終結果變為了該時刻的輸入和前序所有結果共同影響所產生的結果,實現了神經網絡時序建模。

2.6 防止梯度消失

當采用RNN進行降維時,在時間序列上會發生梯度消失的現象。當前神經網絡的預測位置和當前相關信息存在時間間隔,并且這個時間間隔會逐漸增大,當間隔變得很大時,簡單的循環神經網絡就會喪失學習的能力,為此使用長短時間記憶網絡(Long Short-Term Memory,LSTM)來解決這一問題。

LSTM網絡是一個擁有3個“門”的特殊網絡結構,依次為“遺忘門”、“輸入門”、“輸出門”,通過“細胞門”開關實現時間上的記憶功能,防止梯度消失。圖6為LSTM的結構單元和公式。

圖6 LSTM單元結構示意圖

圖6公式中,c為記憶細胞狀態;x為輸入;a為各層輸出;Wf、bf、Wu、bu、Wc、bc、Wo、bo為線性關系的系數和偏倚。

此時,循環神經網絡已經被改編,成為了深層循環神經網絡(Deep RNN)。具體做法是需要在BasicLSTMCell的基礎上再封裝一層MultiRNNCell,就可以實現基于循環時間網絡的雙向長短時間記憶網絡(BLSTM-RNN)。由于BLSTM的網絡結構構成了一個無環圖,其輸出是同時考慮了前后的因素得到的,因此更具有魯棒性。

3 仿真試驗

初步的訓練過程定義了一個名為interpret_action的代理函數完成六個動作的實現,包含停止、直線行駛、向左行駛、向右行駛、左轉和右轉。隨后定義compute_reward獎勵函數為車輛行駛速度和偏離中心線距離的類,行駛速度越快且距離車道中心越近,獲得的獎勵值就越高。除此之外還定義了終止函數isDone來執行事件的終止,當發生碰撞或車速低于設定閾值的情況,訓練就會被終止。主循環通過獲取圖像信息,根據當前策略計算要采取的動作,獲得獎勵進行排序,如果測試終止,車輛模型就會被重置為原始狀態。

在進行虛擬環境下自動駕駛神經網絡算法的訓練時,選擇6名測試人員參與了人工駕駛訓練的工作,測試人員分別使用虛擬環境下駕駛采集裝置,在虛擬環境中按自身駕駛習慣進行人工駕駛。駕駛訓練所選用的場景為城市交通環境,并對駕駛訓練數據進行了記錄和統計。

測試人員的駕駛時間、平均車速、車輛距中心線平均距離的統計信息如表1所示。

表1 測試數據

測試過程中還分別記錄了測試人員在駕駛過程中的車速、油門踏板、制動踏板變化情況,現以圖7中第一名測試人員所得數據為例進行介紹,如圖8所示。

圖7 虛擬環境中人工駕駛采集

圖8 測試人員駕駛過程曲線

6名測試人員駕駛時車輛距道路中心線距離分布統計數據如圖9所示。

圖9 車輛距道路中心線距離分布直方圖

之后,使用6名測試人員駕駛時所得的駕駛數據對自動駕駛神經網絡分別進行訓練,使用訓練后的神經網絡算法進行自主駕駛測試,具體測試結果仍以第一個測試人員駕駛采集的數據訓練為例,如圖10所示。

圖10 自主駕駛測試過程曲線

由此可以看出,使用每位試驗人員的駕駛數據進行訓練得到的算法在自主駕駛測試中表現相差較大,自主駕駛測試的表現與試驗人員在進行人工駕駛訓練時的駕駛表現有關,駕駛員的駕駛表現越好,訓練的效果也越好,并且經過自動駕駛算法訓練的自動駕駛車輛,其行駛速度和行駛過程(加速踏板與制動踏板開度變化小)也更加穩定,提高了車輛行駛的平穩性。

將算法用試驗人員的駕駛數據訓練之后,對所有進行自動駕駛測試的車輛距道路中心線距離進行采樣,采樣結果如圖11所示。

圖11 車輛距道路中心線距離采樣統計曲線

從統計結果來看,經過訓練的算法在自動駕駛時,車輛距中心線的距離基本保持在0~10 cm之間,與人工駕駛相比,自動駕駛車輛車道保持的更好,這說明算法在進行訓練時保持了良好的策略,且忽略了人工駕駛時駕駛員主觀因素的影響,使得自動駕駛車輛更好地保持了道路中心線。結合圖9中的數據及表1中距道路中心線平均距離可以得出,測試人員5、6駕駛時車輛距道路中心線的距離最大,測試人員4駕駛時車輛距道路中心線的距離最小,與自動駕駛的數據對比后發現,測試5與測試6的車輛距道路中心線的距離較大,測試4的距離最小。因此可以得出,車輛與駕駛訓練過程中車輛距道路中心線平均距離越小,所訓練出的算法在進行自主駕駛時越容易接近道路中心線,車輛的安全性也越高。

4 結論

利用虛擬現實仿真環境試驗進行深度學習訓練成本低、效率高的特點,結合自動駕駛技術與深度強化學習,設計并實現了一種端對端深度強化學習的自動駕駛算法,以虛擬現實環境下自動駕駛仿真訓練平臺對其進行仿真訓練與測試。結果表明,車輛自主駕駛的表現與人工駕駛的表現有關,駕駛員的駕駛表現越好,訓練的效果也越好,并且經過自動駕駛算法訓練后,車輛的行駛速度和行駛過程(加速踏板與制動踏板開度變化小)更加穩定,提高了車輛行駛的平穩性,可以滿足車輛長距離自治的需要。該方法可以有效提高自動駕駛的訓練效果,降低自動駕駛技術測試的研究成本,大幅度提高了研發效率,對于處理大規模、高維度的算法具有很高的參考價值。

本研究雖然僅對車輛的直駛、轉向和停車功能進行了驗證,沒有設計復雜道路條件下車輛的多種行駛模式,但隨著車載大規模運算的應用,以及駕駛員的恐懼感、舒適性等體感參數的融入,將使得深度強化學習和端對端控制在實際載人自動駕駛領域的應用成為可能。

猜你喜歡
深度動作價值
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
動作描寫要具體
畫動作
動作描寫不可少
一粒米的價值
“給”的價值
非同一般的吃飯動作
主站蜘蛛池模板: 高h视频在线| 日韩精品欧美国产在线| 亚洲国产精品日韩专区AV| 国产精品30p| 亚洲成人精品| 日韩成人高清无码| 精品久久香蕉国产线看观看gif| 激情爆乳一区二区| 国产打屁股免费区网站| 一区二区理伦视频| 97se亚洲综合在线| 福利小视频在线播放| 一级毛片在线免费视频| 91香蕉视频下载网站| 亚洲一区二区三区国产精华液| 91精品专区国产盗摄| 日韩不卡免费视频| 国内精品视频区在线2021 | www.youjizz.com久久| 免费无码AV片在线观看中文| 午夜欧美理论2019理论| 国产熟女一级毛片| 久精品色妇丰满人妻| 国产成人在线小视频| 欧美在线视频a| 国产SUV精品一区二区6| 狠狠亚洲婷婷综合色香| 一级做a爰片久久免费| 91福利一区二区三区| 国产午夜福利亚洲第一| 久久国产精品麻豆系列| 97国产在线视频| 国产日本欧美亚洲精品视| 精品无码一区二区三区电影| 国产区在线看| 四虎综合网| 精品国产乱码久久久久久一区二区| 久久这里只有精品国产99| 曰韩免费无码AV一区二区| 国产一区二区丝袜高跟鞋| 蝌蚪国产精品视频第一页| 91青青草视频在线观看的| 五月激情综合网| 国产欧美在线观看精品一区污| 2020国产精品视频| 亚洲国产天堂在线观看| 国产精品私拍99pans大尺度| 久久国产成人精品国产成人亚洲 | 国产精品偷伦在线观看| 青草91视频免费观看| 色综合天天操| 97在线观看视频免费| 国产jizz| 久久国产精品77777| a级毛片免费播放| 在线中文字幕日韩| 婷婷五月在线视频| 暴力调教一区二区三区| 国产一区二区三区免费观看| 国产一区二区三区在线观看视频 | 日韩在线第三页| 在线观看免费黄色网址| 91在线播放国产| 亚洲美女久久| 亚洲第一网站男人都懂| 久久综合伊人77777| 免费无遮挡AV| 理论片一区| 久久国产V一级毛多内射| 在线精品自拍| 久操线在视频在线观看| 亚洲中文字幕在线一区播放| 91网红精品在线观看| 国产精品开放后亚洲| 午夜啪啪福利| 亚洲男人天堂网址| 中文字幕无码中文字幕有码在线| a色毛片免费视频| 亚洲最猛黑人xxxx黑人猛交| 九色视频一区| 伊人查蕉在线观看国产精品| 成人午夜视频网站|