陳天鍇,王貴勇,申立中,姚國仲
(昆明理工大學云南省內(nèi)燃機重點實驗室,云南 昆明 650500)
“2030實現(xiàn)碳達峰,2060年實現(xiàn)碳中和”意味著柴油機發(fā)展正處于一個挑戰(zhàn)與機遇并存的時代,柴油機作為非道路工程機械與國防裝備的主要動力,在各類先進技術(shù)引領(lǐng)下,朝著節(jié)能減排的目標邁進。各類新技術(shù)應(yīng)用提高了柴油機的復(fù)雜程度,高度集成的ECU系統(tǒng)控制參數(shù)日益增加。柴油機作為一種多輸入多輸出、高復(fù)雜度與耦合度系統(tǒng),難以用精確的物理與化學模型準確描述。柴油機性能預(yù)測通常采用熱力學與流體力學結(jié)合經(jīng)驗公式進行建模,如GT-Power,AVL CruiseM,AVL Boost等,上述模型在仿真精度與仿真時間上往往是矛盾的,且建模需要大量發(fā)動機參數(shù)與試驗數(shù)據(jù),時間與經(jīng)濟成本較高。
近年來,在跨學科領(lǐng)域融合的趨勢下,興起了使用機器學習來解決各領(lǐng)域前沿問題的熱潮,其理論和方法已被廣泛應(yīng)用于解決工程應(yīng)用和科學領(lǐng)域的復(fù)雜問題,在分類與回歸預(yù)測方面具有極高的性能。文獻[6]對比了熱力學模型與機器學習方法性能預(yù)測的精度。神經(jīng)網(wǎng)絡(luò)在發(fā)動機有效燃油消耗率(BSFC)和NO預(yù)測方面精度更高,且計算所需時間較短。在硬件在環(huán)研究與柴油機參數(shù)虛擬標定研究問題上,機器學習預(yù)測模型具有準確度與精度高、時間與經(jīng)濟成本少,易于結(jié)合遺傳算法等優(yōu)化方法等特點。
在柴油機性能預(yù)測方面,目前研究主要采用ANN(Artificial Neural Network,人工神經(jīng)網(wǎng)絡(luò))和SVM(Support Vector Machine,支持向量機)方法。國內(nèi)外學者使用ANN、SVM等多種機器學習方法進行了柴油機經(jīng)濟性、排放性預(yù)測的研究。研究表明,ANN和SVM在BSFC、熱效率、CO、HC和NO預(yù)測上都具有優(yōu)秀的性能,各方法擬合程度在0.823~0.994之間。
雖然ANN和SVM在處理復(fù)雜非線性柴油機系統(tǒng)問題中具有優(yōu)越的性能,但也暴露出一些問題。ANN存在學習收斂速度慢、訓(xùn)練容易陷入局部極小值非最優(yōu)解、網(wǎng)絡(luò)模型泛化能力差,針對不同發(fā)動機機型適用性差,神經(jīng)元與網(wǎng)絡(luò)層數(shù)難以確定等問題。SVM泛化能力強,但性能受核函數(shù)與參數(shù)影響較大。兩種模型均需要對構(gòu)造函數(shù)與模型參數(shù)進行大量調(diào)試與計算尋優(yōu)。國內(nèi)外學者通過結(jié)合遺傳算法等方式嘗試改進ANN和SVM,目前也取得了一定進展。
文獻[23]基于汽車、醫(yī)學、農(nóng)業(yè)等不同領(lǐng)域的71個數(shù)據(jù)集比較了多種機器學習算法的預(yù)測性能,在研究中發(fā)現(xiàn)GBDT(Gradient Boosting Decision Tree,梯度提升決策樹)在預(yù)測性能上優(yōu)于支持向量機,同時在預(yù)測效率方面是最快的算法。
GBDT是一種基于梯度下降的優(yōu)秀機器學習算法,在多元非線性回歸問題方面有較高的精確度與穩(wěn)定性。目前,該算法還較少應(yīng)用于發(fā)動機領(lǐng)域。GBDT算法可有效處理混合類型特征與參數(shù)缺失值,對異常數(shù)據(jù)具有魯棒性,可擴展性強,可并行計算,是一種解決柴油機類復(fù)雜黑箱系統(tǒng)問題的全新思路。本研究基于GBDT算法,對1臺4缸高壓共軌柴油機進行建模分析與性能預(yù)測,為發(fā)動機性能預(yù)測提供了一種行之有效的方法。
試驗采用配備渦輪增壓器的某4缸高壓共軌柴油機。發(fā)動機具體參數(shù)見表1。進氣中冷采用流量可控的水冷卻,試驗臺架如圖1所示。主要測試設(shè)備及參數(shù)如表2所示。
表1 發(fā)動機主要技術(shù)參數(shù)
圖1 柴油機臺架示意
表2 測試設(shè)備參數(shù)
采用試驗設(shè)計(Design of Experiment,DoE),通過最少的試驗次數(shù)來獲得最大的發(fā)動機有效信息量,避免重復(fù)試驗,縮短試驗周期,降低試驗成本。試驗設(shè)計點的分布原則:在試驗空間內(nèi)試驗點應(yīng)均勻分布且正交,避免不同試驗點攜帶重復(fù)的試驗數(shù)據(jù),試驗點能有效提供周邊空間的信息。
有效的試驗設(shè)計決定了柴油機性能預(yù)測模型特征輸入數(shù)據(jù)量,直接影響模型預(yù)測精度和擬合程度。空間填充試驗設(shè)計基于疏密相等原則,通過數(shù)學方法將試驗點均勻填充于試驗空間中,保證試驗次數(shù)與有效數(shù)據(jù)量的平衡??臻g填充設(shè)計適用于任意維度的試驗空間,其試驗點生成僅與約束條件形成的樣本空間有關(guān),不會受到柴油機真實性能與建模方法的影響。基于Sobol Sequence空間填充算法得出柴油機試驗填充空間。利用該方法得到的測試數(shù)據(jù)點具有高均勻性、可重復(fù)、獨立特征參數(shù)生成等特點,極大增加了訓(xùn)練數(shù)據(jù)試驗組中輸入因素水平,保證獲取最大試驗信息量。
對于生成個影響因素的次數(shù)Sobol Sequence填充,記第個特征矩陣為=(,,…),則生成多項式組為
(1)
(2)
(3)
(4)
選取轉(zhuǎn)速、扭矩、主噴正時、預(yù)噴正時、預(yù)噴油量為特征參數(shù),BSFC經(jīng)濟性參數(shù)、NO和CO排放參數(shù)為響應(yīng)參數(shù)。為保證模型在發(fā)動機運行范圍內(nèi)均具較高精度,試驗數(shù)據(jù)均勻分布且覆蓋900~3 000 r/min,20%~100%負荷范圍。
基于Sobol Sequence算法生成640組試驗矩陣。根據(jù)臺架去除部分不合理試驗組,最后實際特征組為574。采用GBDT算法進行柴油機性能預(yù)測是一次全新的嘗試,目前研究中,采用機器學習方法建立高精度預(yù)測模型試驗數(shù)據(jù)量為100~600組。為研究訓(xùn)練數(shù)據(jù)量與模型準確度關(guān)系,進行了盡可能多的試驗以保證模型搭建成功,同時,大量試驗數(shù)據(jù)也可用于研究訓(xùn)練數(shù)據(jù)量對模型精度的影響。其次,為了將GBDT模型應(yīng)用于柴油機ECU硬件在環(huán)及虛擬標定研究,模型需要同時滿足實時性與精度要求,為盡量提高模型精度以便于后續(xù)研究,避免因試驗誤差造成的影響,采用了574組工況試驗數(shù)據(jù)進行訓(xùn)練預(yù)測。而在實際建模過程中,約100組試驗數(shù)據(jù)即可達到較高模型精度,如圖2所示,因此,GBDT柴油機預(yù)測模型實際只需要較少的數(shù)據(jù)量便可建模,且精度較高。
圖2 試驗數(shù)據(jù)量與模型擬合程度關(guān)系
GBDT梯度提升決策樹算法是目前較為先進的機器學習策略之一,本質(zhì)為一種優(yōu)秀的Boosting集成學習算法,廣泛運用于分類、回歸問題和推薦系統(tǒng)。通過結(jié)合決策樹與Gradient Boosting算法,在每次迭代過程中通過梯度下降減少損失,將弱學習器決策樹集成進行迭代提升為強學習器。每個決策樹在前一個決策樹基礎(chǔ)上進行學習,最后綜合所有決策樹的預(yù)測值產(chǎn)生最終結(jié)果。GBDT算法在回歸與分類問題上具有優(yōu)異的性能。
GBDT算法表達式為
(5)
式中:為發(fā)動機訓(xùn)練樣本點;為GBDT算法模型參數(shù);為回歸決策樹;為每棵決策樹的權(quán)重系數(shù)。為第棵子回歸決策樹(=0,1,…)。
給定柴油機試驗數(shù)據(jù)訓(xùn)練集:
(6)
式中:為轉(zhuǎn)速特征參數(shù);為扭矩特征參數(shù);為主噴正時特征參數(shù);為預(yù)噴正時特征參數(shù);為預(yù)噴油量特征參數(shù)。特征空間邊界條件由真實發(fā)動機參數(shù)可控范圍定義。為BSFC特征參數(shù);NO為NO特征參數(shù);為CO特征參數(shù)。
迭代模型為
()=-1()+。
(7)
式中:-1()為上一代迭代模型;為本輪迭代決策樹;為本輪迭代后模型。
初始化父節(jié)點決策樹():
(8)
式中:為使父節(jié)點決策樹損失函數(shù)最小的值。迭代生成子節(jié)點決策樹=0,1,…。損失函數(shù)為(,())。
對于=1,2,…,計算第棵決策樹對應(yīng)的損失函數(shù)負梯度殘差:
(9)
式中:為負梯度殘差。對于=1,2,…,利用CART(Classification And Regression Tree)回歸樹擬合數(shù)據(jù)(,,),得出第棵回歸樹,其對應(yīng)的葉子節(jié)點區(qū)域為,,其中=1,2,…,為第棵回歸樹葉子節(jié)點個數(shù)。
對于個葉子節(jié)點區(qū)域=1,2,…,計算出擬合值:
(10)
更新強學習器:
(11)
得出GBDT強學習器表達式為
(12)
GBDT柴油機模型建立后,需對loss(損失函數(shù)),learning_rate(決策樹權(quán)重縮減系數(shù)),n_estimators(決策樹最大迭代次數(shù)),subsample(決策樹子采樣比例),max_depth(樹節(jié)點最大深度)等參數(shù)調(diào)優(yōu),以更好地擬合柴油訓(xùn)練集數(shù)據(jù),提高模型訓(xùn)練速度與預(yù)測精度,防止弱擬合與過擬合。
基于柴油機訓(xùn)練數(shù)據(jù)集數(shù)據(jù)量,采用GridSearchCV網(wǎng)格搜索算法,通過網(wǎng)格搜索和交叉驗證,采用指定步長遍歷優(yōu)化參數(shù)空間,得出最優(yōu)模型參數(shù)組合。
將試驗數(shù)據(jù)集的80%劃分為訓(xùn)練集,20%劃分為測試集。為提高模型精度,采用K折交叉驗證對原始柴油機數(shù)據(jù)進行劃分。將柴油機數(shù)據(jù)集隨機劃分為5份,每次選取4份進行訓(xùn)練,剩余1份作為測試集,重復(fù)5次,取5次準確率均值作為模型評價指標。K折交叉驗證可以防止小數(shù)據(jù)集造成的模型欠擬合,同時避免模型超量迭代造成過擬合。
對GBDT模型進行多次迭代訓(xùn)練后,基于5折交叉驗證測試集計算模型的RMSE(Root Mean Square Error,均方根誤差)、MAE(Mean Absolute Error,平均絕對誤差)、(R-Square模型決定系數(shù))、MRE(Mean Relative Error,平均相對誤差)評價指標。
(13)
(14)
(15)
(16)
式中:為真實值;為預(yù)測值;為實際響應(yīng)的平均值。
仿真平臺參數(shù)為CPU-AMD 3600X,GPU-RX580。模型代碼基于Python3.8實現(xiàn)。圖3示出模型訓(xùn)練迭代收斂曲線。可以看出,在迭代次數(shù)24次時,預(yù)測模型擬合程度已經(jīng)高于90%,模型訓(xùn)練、驗證和預(yù)測計算總時間為0.071 s,迭代次數(shù)在105次時模型超過95%,計算時間0.096 s。可見模型收斂速度較快,用時較少。
圖3 模型訓(xùn)練迭代R2收斂曲線
將測試集數(shù)據(jù)BSFC,NO,CO真實值與模型預(yù)測值進行對比驗證。
圖4至圖6分別示出BSFC,NO,CO預(yù)測值回歸驗證。從圖中可以看出,測試集模型BSFC,NO,CO預(yù)測值均處于95%置信區(qū)間中,測試點密集分布于回歸線=附近,模型敏感性和可信度較高,對BSFC,NO,CO輸出具有良好響應(yīng)。=0.981,NO=0.993,=0.992。決定系數(shù)表征模型擬合程度,反映預(yù)測值[,NO,]浮動受預(yù)測模型輸入影響程度,即表示BSFC,NO,CO響應(yīng)值變異中百分比受特征變量[,,,,]控制。取值為(0,1),越接近1,模型擬合程度越高。通過對112組測試集進行預(yù)測,可以看出模型整體離散程度密集,預(yù)測精度高,具有較高的穩(wěn)定性。
圖4 BSFC回歸測試集驗證
圖5 NOx回歸測試集驗證
圖6 CO回歸測試集驗證
圖7至圖9分別示出模型BSFC,NO,CO預(yù)測值與真實值的擬合程度對比。從圖中可以看出,BSFC,NO和CO預(yù)測值均具有較高擬合程度,跟隨程度高,預(yù)測值與柴油機真實輸出趨勢一致,在準確度與趨勢上均能滿足要求??梢奊BDT模型能夠準確預(yù)測該柴油機的BSFC,NO和CO數(shù)據(jù)。
圖7 BSFC預(yù)測值與真實值對比
圖8 NOx預(yù)測值與真實值對比
圖9 CO預(yù)測值與真實值對比
圖10至圖12分別示出BSFC,NO,CO預(yù)測值相對誤差分布。由圖可知,模型相對誤差分布波動較小。112組測試數(shù)據(jù)集中,BSFC預(yù)測值5個最大相對誤差分別為3.82%,-3.63%,-3.18%,-3.01%,-2.83%,平均相對誤差為0.81%;NO預(yù)測值5個最大相對誤差分別為7.84%,-7.38%,7.37%,-7.01%,6.94%,平均相對誤差為3.68%;CO預(yù)測值5個最大相對誤差分別為-5.97%,5.80%,5.79%,5.68%,-5.32%,平均相對誤差為2.95%??梢奊BDT柴油機模型具有較高準確度與穩(wěn)定性。
圖10 BSFC預(yù)測值相對誤差分布
圖11 NOx預(yù)測值相對誤差分布
圖12 CO預(yù)測值相對誤差分布
模型性能評價指標如表3所示。可以看出,GBDT柴油機預(yù)測模型具有較高的可行性與可信度。
表3 模型性能評價指標
將主噴正時、預(yù)噴正時、預(yù)噴油量MAP作為特征參數(shù)矩陣輸入GBDT模型進行計算,得出基于轉(zhuǎn)速和扭矩的BSFC,NO,CO響應(yīng)圖(見圖13至圖15)。通過將主噴正時、預(yù)噴正時、預(yù)噴油量固定為常量進行降維處理,每個轉(zhuǎn)速和扭矩下噴油參數(shù)由原機MAP決定,得到基于轉(zhuǎn)速和扭矩的BSFC,NO,CO預(yù)測值三維曲(見圖16至圖18)。基于少量試驗數(shù)據(jù)點繪制原機真實物理響應(yīng)圖與預(yù)測曲面進行對比,可以看出,GBDT模型生成的BSFC,CO,NO響應(yīng)過渡平滑,與真實數(shù)據(jù)高度擬合,變化趨勢一致。
圖13 BSFC試驗數(shù)據(jù)插值響應(yīng)
圖14 NOx試驗數(shù)據(jù)插值響應(yīng)
圖15 CO試驗數(shù)據(jù)插值響應(yīng)
圖16 BSFC基于轉(zhuǎn)速和扭矩的三維預(yù)測曲面
圖17 NOx基于轉(zhuǎn)速和扭矩的三維預(yù)測曲面
圖18 CO基于轉(zhuǎn)速和扭矩的三維預(yù)測曲面
a)GBDT柴油機預(yù)測模型在迭代24次后,>0.90,迭代105次后>0.95,模型收斂速度較快,用時較短;GBDT方法雖具有較高的預(yù)測精度,但由于采用了梯度下降全局求解方法,針對不同的預(yù)測問題需要對迭代步長和訓(xùn)練次數(shù)等算法參數(shù)進行優(yōu)化,以提高模型擬合程度和準確度,減少模型訓(xùn)練時間;
b)基于GBDT算法建立的柴油機性能預(yù)測模型,在BSFC,NO,CO預(yù)測方面具有較高的準確度和穩(wěn)定性;擬合程度=0.981,NO=0.993,=0.992;預(yù)測值平均相對誤差分別為0.81%,3.68%,2.95%;
c)GBDT算法對柴油機建模有較高的適應(yīng)度,能夠有效解決多特征高維非線性柴油機性能預(yù)測問題,為柴油機性能預(yù)測建模提供了一種行之有效的方法。