葉 宇,范超群,陳華晟,桑海浪,鄧小超,潘明章
(1.廣西玉柴機器股份有限公司,廣西 玉林 537005;2.玉柴芯藍新能源動力科技有限公司,廣西 南寧 530000;3.廣西大學機械工程學院,廣西 南寧 530004)
道路坡度是影響車輛行駛過程中縱向動力學控制的重要參數(shù)之一,對于重心高的車輛,在車輛控制中不考慮坡度的影響,可能會造成錯誤的車輛控制策略并導致事故發(fā)生[1]。其中,運動學方法常用于坡度估計,采用車載GPS 信息及大氣壓力信息可在不增加其余傳感器的情況下對坡度進行估計[2,3]。
目前,LSTM 模型在車輛速度預測、車輛自適應巡航控制等方面研究中具有良好的使用效果,其在長期和短期的預測效果中具有一定的可靠性。利用車速和GPS 信息對坡度進行估計,并搭建基于LSTM 的坡度預測模型以對坡度進行預測,最后采用了自然駕駛數(shù)據(jù)對模型可靠性進行了評估。
根據(jù)CAN 總線收集的車速和GPS 高程信息進行坡度計算,計算式(1)-(2)。在角度較小時有:
其中H為GPS 高程,S為車輛實際行駛路程,L為GPS 高程間直線距離。則坡度可表示為:
其中△t為從高程H1行駛到高程H2所用時間,v1,v2分別為在高程和處車速。
由式(2)可知,GPS 高程與車速是確定坡度的重要影響因素,在實際數(shù)據(jù)采集過程中,可能存在數(shù)據(jù)丟失或異常的情況。針對海拔數(shù)據(jù)缺失或異常的情況,采用如圖1 流程進行海拔修復。對于車速來說,當車輛處于停車狀態(tài)時(v= 0),其GPS 高程應保持不變,故其坡度保持不變,當前位置的坡度采用相近的合理值進行填充。在車速數(shù)據(jù)異常狀態(tài)下,采用線性插值法進行修正。
圖1 GPS 海拔高度修復流程
遞歸神經(jīng)網(wǎng)絡(RNN)是一種特殊類型的神經(jīng)網(wǎng)絡,對于處理序列數(shù)具有良好的適應效果。其基本原理是該神經(jīng)網(wǎng)絡會對先前的信息進行存儲,并應用在當前輸出的計算中即當前神經(jīng)元的輸出不僅來自于當前神經(jīng)元的輸入,也包含了來自以往神經(jīng)元的輸出。與一般神經(jīng)網(wǎng)絡結構類似,RNN 的結構仍由輸入層、隱藏層和輸出層組成,圖2 展示了RNN 在隱藏層中的各層間的反饋情況。
圖2 RNN 隱藏層示意
在RNN 的學習過程中,長距離信息仍被保留故其學習能力會隨著時間的推移而下降。在長短期記憶模型[4](Long short-term memory,LSTM)中,隱藏層采用包括輸入門、輸出門和遺忘門在內的存儲模塊使得信息得以更新,從而避免RNN 保留大量的輸入信息。針對所采用的基于實時車速和GPS 海拔高度的坡度計算方法具有良好的適用性。LSTM 能根據(jù)記憶模塊對歷史數(shù)據(jù)的訓練,綜合誤差能夠有選擇地丟棄或增加信息,形成對歷史數(shù)據(jù)的長期記憶,從而獲得數(shù)據(jù)特征,構建訓練模型。
“門”是LSTM 特有的控制信息選擇性通過的邏輯結構,每個“門”的功能不同,其所采用的計算式也不同,LSTM 中隱藏層的基本結構如圖3 所示。
圖3 LSTM 隱藏層基本結構
根據(jù)每個“門”中不同的功能,其計算方法及傳遞內容有:
(1)遺忘門內采用式(3)進行計算
其中,xt是當前層的輸入值,ht-1是上一層的輸出,Wf是遺忘門的權重矩陣,σ為sigmoid 函數(shù),bf為偏置項也稱作誤差項。在遺忘門內ft的結果可當作是信息被遺忘的概率,并將結果儲存到遺忘門的結果xt處。在遺忘門中,主要判斷信息被丟棄的程度。
(2)輸入門內采用式(4)~(6)進行計算
該運算中將利用Sigmoid 函數(shù)和tanh 函數(shù)共同控制所加入的新信息。tanh 函數(shù)產(chǎn)生一個新的候選向量,以控制所加入的信息的量。
(3)輸出門采用式(7)-(8)進行計算
該運算運用Sigmoid 函數(shù)確定輸出信息的總量后再采用tanh 函數(shù)控制輸出的信息中被過濾掉的信息的量,最終得到該層所有的輸出信息。
為了保證預測結果一定的準確性,采用下述兩個指標來對坡度預測模型進行評價。
(1)平均絕對誤差(MAE)
其中,xi為原始數(shù)據(jù)值,下同。pi為利用坡度預測模型進行預測的結果值,下同。
該指標能直觀反應預測值與實際值的偏差,其單位與預測值或真實值相同,該數(shù)值越小說明預測結果越準確。
(2)均方根誤差(RMSE)
該指標計算的是預測值和實際值對應樣本點的誤差的平方和的均值,該數(shù)值越小說明預測結果越準確。
根據(jù)坡度計算所采的方法中利用所采集的車速和GPS 海拔高度具有較強的時序性特征,構建基于LSTM 的坡度預測模型,該模型的訓練具體過程為:
(1)坡度數(shù)據(jù)計算及預處理。對計算的坡度數(shù)據(jù)進行錯漏篩查,并采用插值法對數(shù)據(jù)進行更正。
(2)對原始數(shù)據(jù)進行歸一化處理,以此作為LSTM模型訓練的輸入。
(3)確定模型結構及參數(shù)。通過預訓練確定模型所含的輸入層、隱藏層和輸出層的數(shù)目。并確定激勵函數(shù)、神經(jīng)元數(shù)目、損失函數(shù)、批處理數(shù)目、迭代次數(shù)等參數(shù)。
(4)初始化權重矩陣。采用隨機數(shù)進行初始化。
(5)將完成歸一化的坡度數(shù)據(jù)導入至輸入層,由激活函數(shù)得到該層的輸出結果。
(6)將(5)的輸出結果及上一時刻的神經(jīng)元狀態(tài)值一同輸入至LSTM 模塊,經(jīng)過該模塊后,獲得該隱藏層的輸出結果,將其作為下一個隱藏層的輸入之一,并重復該步驟直到遍歷所有的隱藏層。
(7)將完成(6)的輸出結果進行輸出,該結果即為該時刻的坡度預測結果。
(8)將數(shù)據(jù)降至一維后經(jīng)過輸出層,并進行反歸一化,得到與原始數(shù)據(jù)數(shù)量級相同的預測值后輸出最終結果。
利用一半掛車自然行駛數(shù)據(jù)共40379 條作為基于LSTM 坡度預測模型的驗證數(shù)據(jù)集。在數(shù)據(jù)收集過程中,其海拔信息易于丟失,故在采用線性插值的方法對GPS 海拔高度進行修復,GPS 海拔及計算坡度數(shù)據(jù)修復示意如圖4 及圖5 所示。
圖4 GPS 海拔高度修復示意圖
圖5 坡度修復示意圖
根據(jù)上述算法,在預訓練過程中考慮到對數(shù)據(jù)預測準確性的要求,采用1 個輸入層、1 個LSTM 和1 個輸出層的網(wǎng)絡結構。LSTM 層神經(jīng)元數(shù)目在數(shù)據(jù)上表現(xiàn)為矩陣形式及矩陣維度,其數(shù)目的確定并沒有固定值,通過多次模擬結果確定為16,同時確定采用epoch 的數(shù)目為50 既能滿足準確性要求又能又比較高的訓練效率。對于激活函數(shù),采用sigmoid 函數(shù)和tanh 函數(shù)能夠滿足LSTM 模型中的輸入和輸出的要求。損失函數(shù)采用MSE 函數(shù),不僅能滿足模型輸出的要求也能對該模型對交通流預測的適用性進行評價。優(yōu)化函數(shù)采用adam,該函數(shù)是RNN 模型中常用的優(yōu)化函數(shù),LSTM 作為RNN 的一種,采用該函數(shù)能對梯度下降具有良好的適應效果。在模型驗證過程中,所采用的訓練集和測試集比例為1∶5。
經(jīng)過模型訓練,采用提出的基于LSTM 的坡度預測模型,對測試集數(shù)據(jù)進行驗證,如圖6 所示。各個評價指標如表所示。采用提出的新模型,其平均絕對誤差為3.38,均方根誤差為16.71。在預測結果方面具有良好的可靠性。
圖6 LSTM 的坡度預測模型預測結果
為了進一步驗證LSTM 的對坡度預測精度良,本選擇其他神經(jīng)網(wǎng)絡對該序列進行預測。RNN(Recurrent Neural Networks)循環(huán)神經(jīng)網(wǎng)絡是LSTM的基礎形式,其隱藏層內部結構簡單各單元以長條狀緊密結合并按時間序列發(fā)展方向遞歸最終形成閉環(huán),由于參數(shù)的共享性處理時間序列數(shù)據(jù)時體現(xiàn)出一定的優(yōu)勢但是一旦序列過長無法避免出現(xiàn)梯度消失或梯度爆炸問題,因此成為其主要缺陷。GRU(Gated Recurrent Unit,GRU)是LSTM 模型的一種變體形式,與LSTM 模型主要區(qū)別在于該模型隱藏層僅有2個門即更新門和重置門,更新門主要發(fā)揮數(shù)據(jù)輸入功能,控制上一時刻的信息帶入到下一時刻的程度。重置門主要發(fā)揮數(shù)據(jù)丟棄功能,控制丟棄上一時刻的信息的程度。另外,GRU 將不產(chǎn)生表達內部狀態(tài)的候選向量,故該模型計算過程與LSTM 相比較為簡單。采用的RNN、GRU 模型與LSTM 模型結構類似,由1 個輸入層、1 個隱藏層、1 個輸出層組成,層間門控循環(huán)單元數(shù)均為16。如圖7 為利用不同神經(jīng)網(wǎng)絡模型的預測結果。
圖7 不同神經(jīng)網(wǎng)絡模型坡度預測結果
根據(jù)預測結果計算對應的平均絕對誤差及均方根誤差如表1 所示,可以看出,由于GRU 的本質是將LSTM 中的遺忘門和輸入門整合為更新門,故其預測結果精度與LSTM 類似。對于RNN 來說,由于其自身對長期依賴的處理過程中的固有缺陷,故其表現(xiàn)不如GRU 或者LSTM。
表1 三種模型預測精度對比
利用車速和GPS 海拔高度信息對車輛所處行駛環(huán)境的坡度進行了估計。為對道路坡度進行預測,搭建了基于LSTM 的坡度預測模型,并對坡度進行了預測,預測誤差較低。驗證了基于LSTM 模型的坡度預測的適用性,此外,利用LSTM 的預測結果與GRU、RNN 進行對比,表現(xiàn)為LSTM 在坡度預測方面相較于其他神經(jīng)網(wǎng)絡具有更高的精度。