丁偉奇,王金秋,胡宗杰,李明龍,董光宇,李理光
(同濟大學 汽車學院,上海 201804)
隨著碳減排和環(huán)境保護的形勢日趨嚴峻,尋求更高效的動力總成技術方案已成為全球汽車制造廠商的首要任務.火花控制壓燃著火、可變配氣、渦輪增壓和缸內直噴等[1-2]技術已成為了有效提高汽油機熱效率的重要手段.但在汽油機不斷升級的過程中,早燃及其引起的超級爆震是限制提升熱效率、降低排放的重要因素之一[3-4].早燃的出現較為隨機且沒有明顯的征兆,可能是由缸內的隨機熱點引起,如碳粒和油滴[4-6],因而有必要研究能快速檢測和抑制早燃的技術手段.
離子電流檢測技術已經被證實是一種高效、快速、可靠且成本低廉的缸內燃燒檢測手段.離子電流的產生源于缸內燃燒現象自身的離子反應,當在火花塞正、負極施加電壓時,燃燒反應生成的正、負離子和電子會產生定向移動,從而形成離子電流.由于離子電流與燃燒息息相關,因而離子電流可以反映缸內燃燒狀態(tài)[7].與基于脈譜和模型的控制方法相比,離子電流檢測可實現燃燒的循環(huán)(4個行程或一個工作循環(huán))內診斷,并用于實時反饋控制失火、爆震和早燃等非正常燃燒[8-10],由于離子電流判別早燃的根本目標在于準確并提前判斷出早燃,為今后實現循環(huán)內診斷并抑制早燃提供可能,因而筆者在離線分析中模擬在線采集過程,確定不同判別模型的準確率和提 前性.
Wang等[7]研究發(fā)現,由于實際燃燒過程中測得的正常燃燒和早燃工況下的離子電流信號波形較為復雜,通過人為定義的方式來尋找早燃工況下離子電流信號波形的規(guī)律較為困難,實際判定的準確率有待提高.而從根本上來說,基于離子電流信號判定早燃是一種分類問題,神經網絡是一種解決分類問題的重要方法.Arsie等[11]在汽油機上將循環(huán)神經網絡(RNN)模型作為檢測發(fā)動機當前燃燒循環(huán)NOx排放指標的虛擬傳感器.Kamat等[12]通過一臺5.7L的V8發(fā)動機,利用RNN模型檢測當前工況下的空氣質量流量、空燃比等參數.但RNN有梯度消失的問題,即對于時間序列上相隔較遠的輸入記憶關聯性較差,這并不利于分析離子電流信號波形,因為在離子電流信號中,點火線圈的蓄能特征信號出現的相位比較早,而它對后續(xù)的燃燒信號特征判斷仍有重要參考價值.長短期記憶(LSTM)神經網絡利用3個門限單元可使該神經網絡能夠區(qū)分“長期”和“短期”記憶,可以解決RNN模型的梯度消失問題.
Panousakis等[13]利用神經網絡和離子電流相結合的方法預測發(fā)動機循環(huán)內缸壓,從而對燃燒狀態(tài)進行判斷.Johnson等[14]利用神經網絡進行燃燒過程圖像的識別,從而預測燃燒相位來判別是否早燃.因而神經網絡與缸壓傳感器以外的檢測手段相結合進行早燃判斷已成為研究趨勢,但高速攝影和紋影法等研究成本較高,且與神經網絡結合后難以轉化為在線檢測方法,而在神經網絡與離子電流相結合的研究中一般缺少針對早燃檢測準確率和提前率的優(yōu)化.
基于此,筆者介紹了根據離子電流信號輸入特征值所建立的判斷早燃的LSTM神經網絡模型,基于K折交叉驗證和粒子群優(yōu)化法對神經網絡結構、超參數進行優(yōu)化,并與其他幾種判別模型進行了對比,得出LSTM神經網絡判別法是性能更優(yōu)的分類模型,且更符合離子電流早燃判別的根本目標.
試驗用臺架由直噴汽油機、自制離子電流檢測設備、電渦流測功機和采集設備等組成,如圖1所示.直噴汽油機的技術參數見表1.采用INCA連接ECU,對發(fā)動機運行參數進行實時監(jiān)控.離子電流檢測模塊由點火線圈、IONtronic離子電流檢測板、信號轉換模塊及連接線束構成,離子電流檢測裝置電路如圖2所示.采用AVL燃燒分析儀和Kistler火花塞式缸壓傳感器進行基于缸壓的燃燒分析.定義壓縮上止點為0°CA.在-50°~90°CAATDC范圍內,每0.1°CA采集一次缸壓和離子電流信號等,在其他曲軸轉角區(qū)間內,每0.5°CA采集一次,因而在每個工作循環(huán)(720°CA)內共采集2560次.定義早燃的初步判別標準為缸壓峰值是否高于9MPa.如果某工作循環(huán)的缸壓峰值超過9MPa,將保存之前100個循環(huán)和之后200個循環(huán)的缸壓和離子電流信號數據.

圖1 試驗臺架示意 Fig.1 Schematic of the test bench

圖2 離子電流檢測裝置電路原理示意 Fig.2 Circuit schematic of ionic current detection device

表1 渦輪增壓直噴汽油機基本參數 Tab.1 Specifications of a turbocharged GDI engine
筆者在轉速為1500r/min、負荷為72%工況下進行試驗.在試驗過程中采集相關數據,再進行離線分析.在離線分析過程中,開發(fā)檢測早燃的神經網絡模型.在后期的離線分析中,燃燒開始相位定義為5%燃料質量已燃燒時的曲軸轉角(CA5).當燃燒開始相位早于點火時刻時,判定此循環(huán)發(fā)生了早燃.
圖3為某單個循環(huán)內的缸內壓力和離子電流信號.缸內壓力和離子電流信號出現了多個峰值.缸內壓力信號的兩個峰值分別是壓縮峰和缸內壓力燃燒峰.在一個工作循環(huán)內,離子電流信號的峰值可分為4類:(1)點火干擾,由于離子電流檢測裝置電路與點火線圈相連,火花塞點火時引起的電路震蕩會對離子電流信號形成干擾.其中點火干擾1、2、4為其他3缸的點火干擾信號,因而較小;點火干擾3為當前缸內的點火干擾信號,因而較大.(2)蓄能峰,在火花塞的點火線圈開始蓄能的時刻,離子電流信號會出現兩個三角形尖峰.(3)放電峰,火花塞放電完成后形成的電路振蕩,是離子電流信號最強的峰.(4)離子電流峰,燃燒階段缸內電子、離子濃度最高時產生的峰.放電峰后的離子電流信號可以反映燃燒時的火花塞附近的電子、離子濃度.可知離子電流峰和缸內壓力燃燒峰出現的相位較為接近.

圖3 正常燃燒工況離子電流波形 Fig.3 Ionic current of normal combustion condition
圖4為點火時刻前、后的離子電流波形.早燃的發(fā)生時刻一般在點火線圈蓄能時刻與緊隨其后的點火時刻之間.在轉速為1500r/min下,蓄能峰和點火峰之間的早燃檢測窗口最大為41°CA,且后續(xù)試驗顯示,所有早燃均發(fā)生在此檢測窗口區(qū)間內.點火時刻的點火干擾峰和放電峰之間為離子電流檢測早燃的空窗期,此時火花塞處于放電階段,在點火線圈中引起的反向電動勢較大,但被離子電流檢測電路中的二極管濾除,因而該階段無法檢測到離子電流信號.

圖4 汽油機燃燒區(qū)間正常燃燒工況離子電流波形 Fig.4 Ionic current of normal combustion condition in combustion area of gasoline engine
目前,學者們普遍認為早燃是由缸內隨機熱點引發(fā)的.筆者采用在壓縮上止點附近進行二次噴油,降低空燃比,使混合氣過濃,二次噴油將燃油直接噴入高溫缺氧的氛圍內,可能會導致燃油碳化裂解,從而在燃燒室內快速形成積碳,火花塞上的積碳也十分明顯,可以加速引發(fā)早燃.
一旦停止二次噴油,早燃幾乎會立刻發(fā)生,之后隨著積碳不斷燃燒,早燃也逐漸消失.試驗中記錄了6154個工作循環(huán),發(fā)生早燃的有272個循環(huán),早燃發(fā)生率為4.42%.在筆者設計的早燃循環(huán)中,CA5的平均值為-24.3°CA ATDC.
由于受到了積碳的影響,離子電流波形也出現了一定的變化,受積碳影響的非早燃工況(正常燃燒工況)下的離子電流波形如圖5所示.可知,與圖4不同,早燃檢測窗口中的離子電流信號很強.這是由于積碳使火花塞的兩個電極之間的間隙減小、電阻率下降,從而在離子電流檢測電路中形成電流[15].因此,盡管其間沒有燃燒,但點火前早燃檢測窗口中的“離子電流信號”明顯大于0V.

圖5 積碳影響下的非早燃工況離子電流波形 Fig.5 Ionic current under the influence of carbon deposition of normal combustion condition
當發(fā)生早燃時,離子電流受到積碳和早燃干擾的共同作用,其波形如圖6所示.與非早燃工況檢測窗口內的離子電流信號值始終保持下降趨勢相比,早燃工況的離子電流信號值在早燃檢測窗口前半段出現波動,在后半段信號值不降反升.另外,當早燃發(fā)生時,缸壓幅值及放熱率幅值明顯上升,兩者幅值出現的相位相比非早燃工況明顯前移,同時,由早燃引發(fā)的爆震使得缸壓峰值附近的波形出現了明顯波動.

圖6 積碳影響下的早燃工況的離子電流波形 Fig.6 Ionic current under the influence of carbon deposition of pre-ignition condition
圖7為早燃與非早燃工況的離子電流波形對比.當發(fā)生早燃時,其離子電流信號在第二蓄能峰和點火干擾峰之間出現了明顯的上升趨勢.這可能是火焰形成的離子電流與積碳信號共同作用的結果.由于積碳存在,將火花塞的電極導通,使得早燃檢測窗口區(qū)域內的離子電流信號值大于0V;發(fā)生早燃后,火焰形成的離子電流信號與積碳本身的干擾信號 發(fā)生疊加,從而在早燃檢測窗口期后半段中出現離子電流信號上升的趨勢.

圖7 早燃工況與非早燃工況離子電流波形對比 Fig.7 Comparison of ionic current between pre-ignition condition and normal combustion condition
對比大量早燃與非早燃工況的離子電流信號波形,筆者使用閾值判定算法制定了一個針對早燃的判斷程序,如圖8所示.如果對于3個連續(xù)的采樣點,差值大于預設的早燃閾值,則當前循環(huán)被視為早燃循環(huán).反之,則將當前循環(huán)歸為正常燃燒循環(huán).

圖8 早燃判斷常規(guī)程序原理示意 Fig.8 Schematic of conventional pre-ignition detection program
選用兩個參數來衡量判別程序分類的有效性:真陽率和假陽率.真陽率是指程序正確地將早燃循環(huán)判斷為早燃循環(huán)的概率;假陽率是指程序將非早燃循環(huán)誤判為早燃循環(huán)的概率.筆者對272個早燃循環(huán)和5882個非早燃循環(huán)進行計算,閾值設置與程序真陽率和假陽率關系見表2.可知閾值降低會使真陽率和假陽率同時升高,無法同時滿足提高真陽率和降低假陽率的需求,且圖8中的算法也很難進一步優(yōu)化.

表2 閾值設置與程序真陽率和假陽率關系 Tab.2 Relationship between threshold setting and true positive and false positive rate
圖9為不同閾值的真陽率、假陽率.為了獲得較高的真陽率和較低的假陽率,選取最靠近左上角點(0,1)的閾值點為最優(yōu)判定閾值.因而最終選用0.14V作為判定閾值,此時的真陽率和假陽率將作為與神經網絡模型判斷結果的對比基準.

圖9 不同閾值的真陽率、假陽率 Fig.9 True positive and false positive rate of different threshold
由于筆者利用神經網絡對試驗數據進行離線分析,而神經網絡檢測模型的最終目的為實現早燃的在線檢測,因而需要模擬在線試驗的采集方式,對輸入LSTM神經網絡的特征值序列進行預處理.
為保證輸入神經網絡的特征值序列長度一致,需要設定特征值序列的最大長度.在所采集的6154個循環(huán)中,離子電流第二蓄能峰出現的曲軸轉角均值為(-37.52°±3.40°)CA ATDC.早燃工況的缸壓峰值相位均值為-2°CA ATDC,若神經網絡模型在此時刻之后判斷出早燃,相比于利用缸壓幅值的判別方法就不再具有提前性,因而選取最大長度為35個特征值,此時特征值序列末尾的平均曲軸轉角為-2.5°CA ATDC,可以保證將所有具有早燃特征的離子電流特征值進行計算,即從第二蓄能峰后的第35個離子電流均值開始,LSTM神經網絡不再采集離子電流信號值.同時,對于長度不足35個的特征值序列進行零值填充,使其達到最大長度.從離子電流信號的第二蓄能峰開始,將進入早燃檢測窗口,由于第二蓄能峰峰值對于表征燃燒狀態(tài)具有重要作用,因而將每個燃燒循環(huán)的第二蓄能峰峰值作為輸入神經網絡的特征值序列的第一個值.由于在-50°~90°CA ATDC區(qū)間內,每0.1°CA采集一次離子電流信號,從進入早燃檢測窗口開始,筆者對每0.11ms(1°CA)內的10個采樣點的離子電流信號求平均值.在任意時刻,將每0.11ms(1°CA)所求得的離子電流信號平均值按照時序依次排列,在第二蓄能峰峰值之后置入輸入神經網絡的特征值序列.對所有數據進行預處理后,共得出24384組數據,其中60%作為訓練集用于神經網絡模型訓練,20%作為驗證集,20%作為測試集用于最終的模型校核.
筆者在Python中的TensorFlow框架下進行編程和LSTM神經網絡模型訓練,同時調用Keras模塊.
LSTM在RNN的基礎上引入了3個門限單元(輸入門it、遺忘門ft以及輸出門ot)和細胞態(tài)Ct,可以表征神經網絡記憶體在上一時刻的長期記憶Ct-1和當前時刻候選態(tài)共同作用下的狀態(tài),記憶體的輸出為ht[16].在實際訓練過程中,每一層循環(huán)神經網絡都由若干個記憶體構成.當前時刻記憶體的輸出ht會對下一時刻的記憶體產生影響,在具有多層循環(huán)神經網絡時,前一層循環(huán)神經網絡的ht會作為下一層循環(huán)神經網絡的輸入xt.記憶體輸出ht為

細胞態(tài)Ct為


式中:Wc、Wi、Wf和Wo為待訓練參數矩陣;bc、bi、bf和bo為待訓練偏置項;σ為Sigmoid激活函數,有

在訓練過程中,損失函數在迭代過程中不斷地減小,待訓練項也在迭代中不斷更新,最終求解出適用于解決特定問題的神經網絡模型[17].
選用自適應矩估計(adam)優(yōu)化器,其待訓練參數[17]更新公式為

式中:mt為t時刻的一階動量;Vt為t時刻的二階動量;β1和β2為動量修正的超參數,有

式中gt為t時刻損失函數關于當前參數的梯度.
神經網絡的性能受到許多超參數的影響,如網絡層數、每層的神經元數量、學習率和批處理尺寸等.由于超參數優(yōu)化是一個組合優(yōu)化問題,無法像一般參數那樣通過梯度下降法進行優(yōu)化,筆者采用K折交叉驗證與粒子群優(yōu)化法相結合的方式對超參數進行優(yōu)化.
3.2.1 神經網絡層數優(yōu)化
神經網絡層數對于神經網絡性能具有較大的影響,增加神經網絡層數通常可以提高擬合程度,從而提高精度,但同時也會增加計算成本并產生過擬合的傾向,降低模型的泛化性.筆者選用交叉熵損失函數,隱藏層層數Nh=[2,4,6,8,10],每兩層隱藏層由一組LSTM層和Dropout層構成.輸出層是維度為2的全連接層,采用Softmax激活函數,選用L2正則化,正則化系數為0.01,輸出(1,0)表示未發(fā)生早燃的概率為100%,輸出(0,1)表示發(fā)生早燃的概率為100%,實際在測試集的判斷過程中設定早燃預測概率超過某個閾值時視為模型判斷出早燃.在優(yōu)化過程中固定設置LSTM層神經元個數Nunit=40,舍棄層(dropout layer)神經元舍棄概率為0.2、學習率lr=0.001、批處理尺寸bs=64且迭代次數epochs=100.
圖10為經過4折交叉驗證后的交叉熵.當隱藏層層數超過6層時,交叉熵損失函數下降不再明顯,權衡神經網絡性能與訓練成本,最終選擇隱藏層層數為6層.

圖10 4折交叉驗證后神經網絡交叉熵 Fig.10 Cross entropy in 4 fold cross-validation
3.2.2 基于粒子群優(yōu)化法的其他超參數優(yōu)化
利用粒子群優(yōu)化法對超參數進行優(yōu)化,粒子群優(yōu)化算法通過在D維搜索空間中的一系列粒子來尋找最優(yōu)的適應度值,第i個粒子在空間中的位置為zi=(zi1,zi2,…,zid,…ziD),表示一組D個超參數的組 合[18].筆者進行粒子群優(yōu)化法是為尋找一組超參數的粒子位置,使交叉熵損失函數的適應度值達到最?。谒阉鞯^程中,粒子通過向兩個最優(yōu)位置移動來尋找最優(yōu)解:(1)局部最優(yōu)解pbest,即粒子自身目前找到的最優(yōu)位置,第i個粒子的pbest集合表示為pi=(pi1,pi2,…pid,…,piD);(2)全局最優(yōu)解gbest,即所有粒子中目前所搜到的最優(yōu)位置,集合表示為pg=(pg1,pg2,…,pgd,…,pgD).第i個粒子的速度v更新公式為

式中:k為迭代次數;w為慣性權重;c1、c2為學習因子,以避免算法陷入局部最優(yōu)提高收斂速度;r1和r2為隨機因子,以保證迭代過程中的多樣性.
慣性權重w的表達式為

式中:kmax為設定的最大迭代次數.w可以調整全局和局部的尋優(yōu)搜索能力,較大的w值利于粒子逃出局部極小值點,較小的w值可以加快算法收斂速度并提高解的精度[18].
第i個粒子的位置z更新公式為

筆者選擇了以下超參數及搜索區(qū)間進行粒子群優(yōu)化:批處理尺寸bs=[32,64,128],每個LSTM層的神經元數量Nunit=[20,30,40,50,60,70,80,90],學習率lr=(0.0001∶0.01),舍棄層舍棄概率dr=(0.1∶0.4),設定迭代次數kmax為170次,選用粒子數量為20.結合K折交叉后的損失函數與迭代次數的關系如圖11所示,隨著迭代次數增加,損失函數逐漸收斂在最小值附近.

圖11 損失函數與迭代次數關系 Fig.11 Relationship between loss function and number of iterations
圖12為不同超參數的優(yōu)化結果.圖12a~12b中,在離散量的優(yōu)化中,隨著迭代次數增加,粒子逐漸集中在最優(yōu)的bs=32,Nunit=70.圖12c~12d中,在連續(xù)量的優(yōu)化中,隨著迭代次數增加,粒子逐漸縮小搜索范圍,lr在0.001附近波動,dr在0.3附近波動.最終得到最優(yōu)的超參數組合為bs=32、Nunit=70、lr=0.001088和dr=0.3306.

圖12 不同超參數粒子群優(yōu)化法結果 Fig.12 Results of particle swarm optimization
將優(yōu)化后的超參數代入神經網絡進行訓練,隨后在測試集上測試神經網絡的表現,將早燃預測概率的閾值選為0.5,即當模型預測早燃概率大于0.5時,判定結果為早燃,此時其均方根誤差(RMSE)為0.110,在4877個測試集中的判斷正確率為98.50%.由于定義早燃起始時刻為CA5,因而當早燃判出時刻在CA5與CA10之間時,則模型具有良好的提前性;當判出時刻在CA10與CA50之間,則提前性一般;當判出時刻晚于CA50,則不具有提前性.在LSTM神經網絡中,76.09%的早燃循環(huán)在CA10前就被判斷出來,模型具有較好的提前性,為循環(huán)內采取早燃抑制手段提供了更多時間和可能性.
為了驗證LSTM神經網絡在離子電流早燃判斷問題上的優(yōu)越性,建立了前饋(BP)神經網絡和支持向量機(SVM)判別模型作為對照,其中BP神經網絡采用與LSTM神經網絡相同的拓撲結構:1層輸入層、6層隱藏層和1層輸出層,每個隱藏層的神經元數量為70個;SVM對照組中采用高斯核函數,對SVM的超參數采用K折交叉驗證配合粒子群優(yōu)化法進行優(yōu)化.3種模型的結果如表3所示,MAE為平均絕對誤差,可知LSTM的各項誤差要小于其他兩種判別模型,在CA10前判斷出早燃的概率也高于其他兩種模型.

表3 3種判別模型的結果 Tab.3 Results of three discriminant models
同時利用受試者工作特征曲線法(ROC)對3種模型的分類性能進行比較.當改變模型早燃預測概率的判別閾值時,真陽率和假陽率也會發(fā)生相應的變化,每個閾值對應一組真陽率和假陽率.對于理想的分類模型,存在某一個閾值使假陽率為0,真陽率為1.通過對3種模型取不同的閾值,繪制出以假陽率為橫坐標、真陽率為縱坐標的散點圖,再將所有點依次連接得到ROC圖,如圖13所示.由ROC圖曲線下面積(AUC)對模型分類性能進行量化,曲線下的面積越大,表征模型對早燃判別的能力越強.

圖13 3種模型的ROC Fig.13 ROC of three models
表4為三者的AUC對比.完美判別模型的AUC=1.0,隨機猜測的AUC=0.5,當AUC為0.5~0.7時,分類模型略優(yōu)于隨機猜測,具有較低的參考價值,當AUC為0.7~0.9時,模型具有中等參考價值,當AUC大于0.9時,為可靠的預測模型,具有很高的參考價值.可知LSTM模型AUC明顯高于BP模型,且略優(yōu)于SVM模型,具有更強的分類性能.

表4 3種模型的AUC值 Tab.4 AUC of three models
相比于基于閾值的判別方法(真陽率為89.71%和假陽率為8.77%),從ROC圖中可見,LSTM神經網絡判別模型明顯具有更高的準確性,同時還保證了良好的提前性,對于發(fā)動機工作過程中早燃工況的循環(huán)內抑制更具有實際意義,符合基于離子電流判別早燃的根本目標.可知,綜合考慮計算成本與計算準確率和提前量,LSTM神經網絡判別法相比于閾值判別法更適用于離子電流早燃判定.
(1) 構造了針對離子電流早燃檢測的LSTM神經網絡模型,利用K折交叉驗證配合粒子群優(yōu)化法,優(yōu)化了神經網絡超參數,并最終在測試集中獲得均方根誤差為0.110、準確率為98.50%.
(2) 橫向比較了LSTM神經網絡、BP神經網絡和SVM共3種深度學習判別模型;相比于BP神經網絡和SVM,LSTM神經網絡判別模型具有更低的誤差和更高的準確率,同時76.09%的早燃循環(huán)在CA10前即可檢出,具有更好的提前性;利用ROC判別法對3種模型進行對比,LSTM模型的AUC達到了0.9989,分類性能優(yōu)于其他兩種模型.
(3) 相比于常規(guī)離子電流閾值方法(真陽率為89.71%和假陽率為8.77%),LSTM神經網絡判別法雖然計算成本更高,但具有更高的準確性,LSTM神經網絡判別法更加符合離子電流早燃判別的根本目標,相比于其他方法更具有優(yōu)越性.