王天方 , 劉學(xué)淵 ,2
(1.西南林業(yè)大學(xué)機械與交通學(xué)院,云南 昆明 650224;2.云南省高校高原山區(qū)機動車環(huán)保與安全重點實驗室,云南 昆明 650224)
隨著人們生活水平和購買力的不斷提高,每個家庭擁有一輛車似乎已經(jīng)成為一種標(biāo)配,因此,我國的機動車保有量每年都在大幅增加。然而,汽車在改善人們生活品質(zhì)的同時,也會帶來相應(yīng)的交通問題和環(huán)境問題。機動車保有量的逐年增加,給有限的道路交通資源帶來了極大的壓力,導(dǎo)致交通事故頻發(fā)、道路擁擠等一系列交通問題。特別是在早晚上下班這個特殊時間段,堵車已經(jīng)成為一種常態(tài)化現(xiàn)象。除了交通問題,機動車尾氣排放也對環(huán)境造成了嚴(yán)重的破壞,主要原因是汽車排放物是污染物的一個主要來源。《中國移動源環(huán)境管理年報(2021)》[1]顯示,2020年,全國機動車四項污染物排放總量達到了1 593萬t。無論是交通問題還是排放污染問題都與人們息息相關(guān),如何應(yīng)對這些問題已成為社會各界關(guān)注的焦點。
跟馳行為是城市交通中常見的車輛行駛狀態(tài),其特性對交通和環(huán)境有重要影響,所以對車輛跟馳行為的研究,對解決交通問題和排放問題具有很重要的現(xiàn)實意義。早在1950年,人們就開始對跟馳行為進行研究,并提出了一系列模型,如刺激-反應(yīng)模型[2-3]、安全距離模型[4-5]、心理-生理學(xué)模型[6-7]等。雖然這些模型能夠很好地模擬跟馳場景,但是這些模型都是建立在準(zhǔn)確的數(shù)學(xué)公式之上,所以傳統(tǒng)的跟馳模型在實際應(yīng)用中會受到很大的限制。隨著科學(xué)技術(shù)的發(fā)展,能夠獲取的跟馳數(shù)據(jù)更多,并且精度更高,使得數(shù)據(jù)驅(qū)動類跟馳模型[8]的研究在近年來得到了一定發(fā)展,而且很多學(xué)者都對其進行過相關(guān)的研究。例如,Zhou等[9]提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)的跟馳模型,該模型能夠預(yù)測和捕捉交通震蕩。孫倩等[10]提出了一種基于長短期記憶神經(jīng)網(wǎng)絡(luò)的跟馳模型,基于該模型進行交通仿真并研究駕駛員的記憶效應(yīng)影響因素。蔣華濤等[11]將最小安全距離模型與灰色神經(jīng)網(wǎng)絡(luò)結(jié)合,提出了灰色神經(jīng)網(wǎng)絡(luò)跟馳模型,該模型能夠提前預(yù)知前車未來車速和制動跡象。Hao等[12]提出了一種不包含數(shù)學(xué)分析的人工智能跟馳模型,該模型能夠精準(zhǔn)地模仿人類駕駛員。
在智能化技術(shù)高度發(fā)展的今天,將跟馳行為融入智能化輔助駕駛系統(tǒng),對于減輕人們的駕駛壓力并保障交通安全有重要意義。實現(xiàn)這一過程需要準(zhǔn)確的數(shù)學(xué)模型來支撐,但是,在實際駕駛過程中駕駛員受到的影響因素并不唯一,如駕駛員經(jīng)常會同時受到交通信號、其他車輛和行人的影響。對于這種比較復(fù)雜的情況,不能用單一的數(shù)學(xué)模型進行建模,要使用人工神經(jīng)網(wǎng)絡(luò)等方法來描述。因此,課題組以實際采集的實驗數(shù)據(jù)為基礎(chǔ),建立BP神經(jīng)網(wǎng)絡(luò)跟馳模型。
在本次實驗過程中,使用兩臺實驗車輛,一輛作為前導(dǎo)車,一輛作為跟馳車,在前、后車輛上都安裝全球定位系統(tǒng)(Global Positioning System, GPS),然后通過實驗設(shè)備獲取實際道路車輛的跟馳行為數(shù)據(jù)。實驗道路為昆明市的北京路。選擇的實驗路段為主干道,整體車流量較大,在實驗過程中,為了保證跟馳的真實性,駕駛員將會按照自己在日常生活中的駕駛習(xí)慣正常駕駛實驗車輛。跟馳行為數(shù)據(jù)主要由GPS獲取,GPS可以獲取車輛速度、經(jīng)緯度、海拔等數(shù)據(jù)。
以實際跟馳行為數(shù)據(jù)為基礎(chǔ),選取一個典型且連續(xù)的跟車過程,運用BP神經(jīng)網(wǎng)絡(luò)構(gòu)建跟馳模型。在進行BP神經(jīng)網(wǎng)絡(luò)的設(shè)計時,首先需要一個樣本訓(xùn)練數(shù)據(jù)集,然后確定模型的輸入輸出參數(shù)。將實際道路采集到的跟馳行為數(shù)據(jù)作為訓(xùn)練樣本,然后根據(jù)獲取的數(shù)據(jù)提取前車車速V1(km/h)、相對距離Rs(m)、前車對后車的相對速度RV(km/h)和后車車速V2(km/h)作為輸入,后車下一時刻的速度V(t+1)(km/h)作為輸出。輸入、輸出確定之后,需要從以下幾個方面對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行設(shè)計。
BP神經(jīng)網(wǎng)絡(luò)的層數(shù)設(shè)計可以根據(jù)自己的需求而定,一般單層的網(wǎng)絡(luò)就可以滿足大部分的應(yīng)用,因為只需要增加神經(jīng)元節(jié)的個數(shù)就可以完成任意的非線性映射。但是,樣本的數(shù)量較多時,可以選擇增加一個隱含層,能夠減少網(wǎng)絡(luò)規(guī)模并提高輸出精度。所以,本文將建立雙隱含層的BP神經(jīng)網(wǎng)絡(luò)跟馳模型。
對于BP神經(jīng)網(wǎng)絡(luò)而言,輸入層神經(jīng)元節(jié)點數(shù)一般為輸入?yún)?shù)的個數(shù),因為本文選擇的輸入?yún)?shù)有4個,所以輸入層的神經(jīng)元個數(shù)為4。輸出層節(jié)點數(shù)和輸入層類似,根據(jù)輸出參數(shù)個數(shù)確定,因此輸出層的神經(jīng)元個數(shù)為1。
隱含層節(jié)點數(shù)一般是根據(jù)試湊法得出選取范圍,然后根據(jù)訓(xùn)練時不同神經(jīng)元對模型的影響,選出最佳個數(shù)。確定神經(jīng)元個數(shù)的主要公式如下:
式中:n為輸入層神經(jīng)元個數(shù),m為輸出層神經(jīng)元個數(shù),M為隱含層神經(jīng)元個數(shù),a為[0,10]之間的常數(shù)。公式(1)是比較常用的經(jīng)驗公式,第一隱含層根據(jù)試湊法確定神經(jīng)元個數(shù)為6;第二隱含層神經(jīng)元個數(shù)等于輸出節(jié)點數(shù)時,模型的預(yù)測效果較好[13],因此第二隱含層神經(jīng)元個數(shù)設(shè)置為1。BP神經(jīng)網(wǎng)絡(luò)跟馳模型的結(jié)構(gòu)為4-6-1-1。
BP神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù)可以使用線性函數(shù)或Sigmoid函數(shù),文中隱含層的傳遞函數(shù)選擇Sigmoid函數(shù),輸出層選擇線性函數(shù),因為如果輸出層選用Sigmoid函數(shù)會限制輸出數(shù)值的范圍。
標(biāo)準(zhǔn)的BP網(wǎng)絡(luò)使用的學(xué)習(xí)算法是最速下降法,也稱為梯度下降法,采用最速下降法對網(wǎng)絡(luò)的權(quán)值進行調(diào)整的過程,是一個沿著網(wǎng)絡(luò)逐層反向調(diào)整的過程,具體為先對輸出層和隱含層的權(quán)值進行調(diào)整,然后再對隱含層與輸入層之間的權(quán)值進行調(diào)整。在實際使用最速下降法訓(xùn)練的過程中,會存在收斂速度慢的問題,針對最速下降法的這個缺點,提出了LM(Levenberg Marquardt)算法。LM算法是在最速下降法的基礎(chǔ)上改進而來的,同時具有擬牛頓法的局部收斂特性和最速下降法全局特性,因此在本次建模過程中,選用LM算法作為學(xué)習(xí)算法。LM算法調(diào)整網(wǎng)絡(luò)權(quán)值的公式為:
式中,J是雅克比矩陣,I是單位矩陣,μ是比例系數(shù),且μ>0。
在確定了上述參數(shù)之后,將需要訓(xùn)練的數(shù)據(jù)進行歸一化處理,然后輸入模型中進行學(xué)習(xí)和訓(xùn)練。
利用遺傳算法(Genetic Algorithm, GA)來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),即優(yōu)化神經(jīng)的初始權(quán)值和閾值,可以避免BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時容易陷入局部最優(yōu)的缺點,同時提高網(wǎng)絡(luò)對樣本的預(yù)測能力。許多研究者都使用了遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),如郭艷君等[14]利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)跟車模型,表明GA在優(yōu)化神經(jīng)的初始權(quán)值和閾值方面有較好的效果;王志紅等[15]利用GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)排放預(yù)測模型,也取得了較好的預(yù)測效果。GA的具體操作步驟如下。
1)初始化種群[16],種群規(guī)模為40。采用浮點編碼對個體進行編碼,因為浮點編碼能夠解決二進制編碼中編碼串過長的問題,計算得到編碼長度為38,計算公式如下:
式中,n為輸入層神經(jīng)元個數(shù),m為輸出層神經(jīng)元個數(shù),M1和M2分別為第一、第二隱含層神經(jīng)元個數(shù)。
2)適應(yīng)度函數(shù)。適應(yīng)度函數(shù)表示預(yù)測輸出與期望輸出之間的誤差絕對值,公式如下:
式中,yi為i節(jié)點的期望輸出,xi為i節(jié)點的預(yù)測輸出,n1為節(jié)點數(shù),a為系數(shù)。
3)選擇操作。本文使用經(jīng)典的輪盤賭法,根據(jù)個體適應(yīng)度大小,對個體進行選擇操作,每一個個體被選擇的概率計算公式如下:
式中,fi為個體i的適應(yīng)度值,m1為種群中個體總數(shù)。
4)交叉。從選擇好的個體中對其進行基因互換,即交叉操作,產(chǎn)生下一代。交叉概率控制著個體之間發(fā)生交叉概率的大小。一般交叉概率為0.4~1,本文設(shè)定的交叉概率為0.8。
5)變異。對交叉之后的個體以一定的概率使其發(fā)生變異,從而產(chǎn)生新的個體。其中,變異概率決定變異發(fā)生的可能性,變異概率一般為0.001~0.1。本文設(shè)定的變異概率為0.02。
6)當(dāng)算法運行結(jié)果達到最大的精度要求或者最大的迭代次數(shù)時,結(jié)束遺傳算法操作過程,然后需要把優(yōu)化好的權(quán)值和閾值帶入BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練[17]。
以標(biāo)準(zhǔn)均方根誤差(NRMSE),平均絕對百分誤差(MAPE)和決定系數(shù)(R2)作為評價指標(biāo)。NRMSE反映了模型輸出值與實際值之間的差異性;MAPE是衡量預(yù)測模型精度的一個重要指標(biāo);R2代表模型的非線性擬合性和預(yù)測精度。計算公式如下:
式中,yi表示實驗值,表示模型輸出值,表示實驗值的平均值,N為測試集樣本數(shù)量。
將從實驗中采集到的數(shù)據(jù)分別輸入到上述建立的BP神經(jīng)網(wǎng)絡(luò)和遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)跟馳模型中進行訓(xùn)練和預(yù)測,結(jié)果分別如圖1和圖2所示。

圖1 BP神經(jīng)網(wǎng)絡(luò)模型

圖2 GA-BP神經(jīng)網(wǎng)絡(luò)模型
從圖1和圖2中可以看到,BP神經(jīng)網(wǎng)絡(luò)模型和GA-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測值基本都能捕獲實際值的變化趨勢,雖然在圖中可以發(fā)現(xiàn)極值點部分預(yù)測可能相對較差,但是整體趨勢預(yù)測依然準(zhǔn)確。對比BP神經(jīng)網(wǎng)絡(luò)模型和GA-BP神經(jīng)網(wǎng)絡(luò)模型,從圖中可以明顯看到GA-BP神經(jīng)網(wǎng)絡(luò)模型具有更好的預(yù)測性能,預(yù)測值與實際值的誤差也相對較小。由此可見,利用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行優(yōu)化,能夠使模型達到更好的預(yù)測效果[18-19]。
為了進一步分析模型預(yù)測偏差,根據(jù)模型預(yù)測的結(jié)果計算模型性能的評價指標(biāo)值,具體結(jié)果如表1所示。從表中可以看到GA-BP神經(jīng)網(wǎng)絡(luò)的評價指標(biāo)NRMSE、MAPE和R2都優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型,具體為NRMSE和MAPE分別降低了20.83%、37.83%,R2提高了3.16%,表明GA優(yōu)化了BP神經(jīng)網(wǎng)絡(luò)的效果。

表1 模型性能評價指標(biāo)
為了對模型的預(yù)測偏差進行分析,把實際值減預(yù)測值定義為模型的誤差。在實驗中,用實際值減去BP神經(jīng)網(wǎng)絡(luò)模型和GA-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測值,結(jié)果如圖3所示。
從圖3中可以看到,GA-BP神經(jīng)網(wǎng)絡(luò)模型相比BP神經(jīng)網(wǎng)絡(luò)模型,誤差更加集中分布在零誤差線左右,偏移相對較小。由此可知,建立的GA-BP神經(jīng)網(wǎng)絡(luò)模型比BP神經(jīng)網(wǎng)絡(luò)模型擁有更好的泛化能力和預(yù)測性能,能較好地對跟馳行為進行預(yù)測。

圖3 預(yù)測誤差對比
課題組以真車實驗采集到的數(shù)據(jù)為基礎(chǔ),先使用BP神經(jīng)網(wǎng)絡(luò)構(gòu)建跟馳模型,然后再使用GA對BP神經(jīng)網(wǎng)絡(luò)跟馳模型進行優(yōu)化,結(jié)果表明,構(gòu)建的GA-BP神經(jīng)網(wǎng)絡(luò)模型性能的評價指標(biāo)、預(yù)測誤差都要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)跟馳模型。所以,利用GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型,能夠有效地提高BP神經(jīng)網(wǎng)絡(luò)跟馳模型預(yù)測結(jié)果的準(zhǔn)確率。