李潔 張震豪 董亞冰 陳旭迎
(1.湖南大學(xué),長沙 410082;2.河南省新融高速公路建設(shè)有限公司,洛陽 471000)
主題詞:動力電池 數(shù)據(jù)增強 生成對抗網(wǎng)絡(luò) 故障診斷
鋰離子電池具有使用壽命較長、能量密度高、自放電率低等優(yōu)點,是當前應(yīng)用最廣泛的電動汽車動力電池[1-2]。電池組電壓是動力電池的關(guān)鍵參數(shù),電壓異常故障可能導(dǎo)致電池的熱失控[3],甚至引發(fā)燃燒、爆炸事故。及時、準確的電動汽車動力電池故障診斷方法可以提高電動汽車的整體安全性,增加公眾對電動汽車的信賴程度[4],進而推動傳統(tǒng)交通向綠色低碳交通的轉(zhuǎn)變。
近年來,國內(nèi)外學(xué)者使用機器學(xué)習[5]、信息融合[6]等方法針對動力電池故障診斷展開了廣泛的研究,取得了系列成果。Yang 等[7]基于電動汽車電池組的真實運行數(shù)據(jù),使用組內(nèi)相關(guān)系數(shù)分析電池的端電壓,對比充、放電過程中單體電池電壓的排序差異,確定發(fā)生故障的單體電池,探究故障形成的原因。Hong 等[8]結(jié)合天氣、車輛和駕駛員信息,利用長短期記憶神經(jīng)網(wǎng)絡(luò)對電動汽車電池系統(tǒng)的電壓進行預(yù)測,實現(xiàn)對動力電池安全性能的評估。劉鵬等[9]根據(jù)實車運行數(shù)據(jù),采用快速傅里葉變換和異常系數(shù)評估方法對動力電池的電壓故障進行診斷。宋哲等[10]使用主成分分析法、支持向量機模型和粒子群優(yōu)化算法,對鋰離子電池的健康狀態(tài)進行了預(yù)測。Li等[11]將經(jīng)驗?zāi)B(tài)分解法和樣本熵相結(jié)合,根據(jù)提取到的汽車動力電池電壓信號,實現(xiàn)對電池故障的識別和定位。
當前的電動汽車動力電池故障診斷方法大都基于海量的車輛歷史運行數(shù)據(jù)構(gòu)建模型,很少有研究關(guān)注此類數(shù)據(jù)集中故障異常數(shù)據(jù)樣本占比過少的現(xiàn)象。樣本的不均衡可能影響模型的有效性和普適性[12]。針對這一問題,本文提出一種基于生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)的電動汽車電池數(shù)據(jù)增強方法。根據(jù)增強后的數(shù)據(jù),采用隨機森林(Random Forests,RF)模型進行故障診斷,使用貝葉斯優(yōu)化(Bayesian Optimization,BO)方法對模型的超參數(shù)進行優(yōu)化,提出GAN-RF-BO 電動汽車電池故障診斷框架,并將其與常用的故障診斷模型在真實的電池故障數(shù)據(jù)集上進行對比,驗證其有效性。
本文的研究數(shù)據(jù)是上海市新能源汽車公共數(shù)據(jù)采集與監(jiān)測研究中心提供的20輛純電動汽車的真實運行數(shù)據(jù),采樣時間為2021年7月至12月,采樣間隔為10 s。
本文使用的20 輛純電動汽車的運行數(shù)據(jù)共有14 787 935 條,其中電壓異常故障數(shù)據(jù)有5 376 條,占數(shù)據(jù)總量的0.35‰。20 輛車中電壓異常故障發(fā)生數(shù)量最多的車輛有643 條故障數(shù)據(jù),占該車輛全部數(shù)據(jù)的0.82‰。統(tǒng)計分析20輛純電動汽車發(fā)生電壓異常故障數(shù)量的分布情況,大部分車輛在采樣期間發(fā)生故障的數(shù)量在100~400起范圍內(nèi),如圖1所示。
圖1 電壓異常故障分布
本文采用的純電動汽車真實運行數(shù)據(jù)集包括38個數(shù)據(jù)字段,其中一些字段(如擋位、溫度探針數(shù)量等)與電池電壓異常故障沒有直接聯(lián)系,不宜引入數(shù)據(jù)增強和故障診斷模型。本文采用隨機森林算法從38個特征變量中篩選出導(dǎo)致動力電池電壓異常故障的關(guān)鍵因素。
隨機森林模型[13]從分類回歸樹(Classification and Regression Tree,CART)擴展而來,由多棵決策樹組成,適合進行分類和回歸分析。隨機森林模型在建立決策樹時,利用自助重抽樣方法(Bootsrap)構(gòu)建數(shù)據(jù)集。
自助重抽樣方法從給定的包含m個樣本的數(shù)據(jù)集合D中隨機選取1個樣本放入采樣集Di,再把該樣本放回原數(shù)據(jù)集D中。如此經(jīng)過m次操作,可以得到包含m個樣本的采樣集Di。每次抽樣未被選擇的數(shù)據(jù)稱為袋外數(shù)據(jù)(Out-Of-Bag,OOB),用于對決策樹的性能進行評估,以O(shè)OB 作為測試集進行分類預(yù)測的錯誤率稱為袋外數(shù)據(jù)誤差。計算特征重要性時,對OOB 中相應(yīng)特征變量加入噪聲,再次計算袋外數(shù)據(jù)誤差。根據(jù)2次袋外數(shù)據(jù)誤差可以計算對應(yīng)特征的重要度:
式中,Ii為特征i的重要度;N為隨機森林中決策樹的總數(shù)量;OT為決策樹T的袋外數(shù)據(jù)誤差;為決策樹T中特征i加入噪聲干擾后計算的袋外數(shù)據(jù)誤差。
特征重要度反映了特征變量與電池電壓故障的關(guān)聯(lián)性,重要度越高則關(guān)聯(lián)性越強。對于數(shù)據(jù)增強和故障診斷模型,輸入維度較低的特征變量難以提取關(guān)鍵信息,影響模型的魯棒性,過高的特征變量維度又會帶來冗余特征,增加模型的復(fù)雜度。篩選出關(guān)聯(lián)性較強的特征變量,能夠減少計算量,提高模型的精度和效率[14]。為保證數(shù)據(jù)增強和故障診斷模型的性能,本文以特征重要度0.05 為閾值,從38 個潛在特征變量中篩選出11 個關(guān)鍵特征變量,即電壓異常故障診斷關(guān)鍵影響因素,如圖2所示。
圖2 關(guān)鍵特征變量
20輛純電動汽車中動力電池電壓異常故障數(shù)據(jù)占比不足0.1%,是典型的稀缺數(shù)據(jù)。針對電動汽車真實運行數(shù)據(jù)集中動力電池電壓異常故障數(shù)據(jù)的樣本不均衡問題,本文使用生成對抗網(wǎng)絡(luò)進行數(shù)據(jù)增強。
生成對抗網(wǎng)絡(luò)是Goodfellow 等[15]根據(jù)零和博弈思想在2014 年提出的一種生成模型,已經(jīng)應(yīng)用于圖像生成[16]、交通標志識別[17]以及交通事故檢測[18]等多個領(lǐng)域。GAN的基本結(jié)構(gòu)如圖3所示,主要由生成器和判別器組成。生成器的主要作用是學(xué)習真實數(shù)據(jù)的分布,判別器根據(jù)輸入的數(shù)據(jù)判斷該數(shù)據(jù)是真實數(shù)據(jù)或是生成器生成的數(shù)據(jù)。根據(jù)判別結(jié)果,生成器G和判別器D不斷優(yōu)化,最終達到納什均衡,即判別器D 無法判斷輸入數(shù)據(jù)是真實數(shù)據(jù)還是生成數(shù)據(jù)。
圖3 GAN基本結(jié)構(gòu)
GAN優(yōu)化過程的目標函數(shù)為:
式中,E為下標中指定分布的數(shù)學(xué)期望;Pdata(x)為真實數(shù)據(jù)x的分布;Pz(z)為生成數(shù)據(jù)的分布;D(x)為判別器的判別函數(shù);G(z)為生成器生成的數(shù)據(jù)。
生成器G 的優(yōu)化目標是使生成數(shù)據(jù)的分布無限近似于真實數(shù)據(jù),判別器D的優(yōu)化目標是最大可能地判別真實數(shù)據(jù)和生成數(shù)據(jù)。
本文中GAN的生成器和判別器均采用全連接神經(jīng)網(wǎng)絡(luò),激活函數(shù)為修正線性單元(Rectified Linear Unit,ReLU)函數(shù),ReLU 函數(shù)能有效緩解梯度消失問題[19]。生成器和判別器使用Adam優(yōu)化器[20]優(yōu)化,Adam優(yōu)化器具有計算高效、適用于不穩(wěn)定的目標函數(shù)等優(yōu)點。
本文保留由隨機森林算法得到的11個關(guān)鍵特征數(shù)據(jù)字段。從14 787 935 條車輛真實運行數(shù)據(jù)中按照不同車輛的數(shù)據(jù)占比隨機抽樣獲取2 010條電壓異常故障數(shù)據(jù)和18 090 條正常運行數(shù)據(jù),得到故障數(shù)據(jù)占比為10%的原始數(shù)據(jù)集。使用Python 和Pytorch 庫構(gòu)建生成對抗網(wǎng)絡(luò),輸入原始數(shù)據(jù)集進行電壓異常故障數(shù)據(jù)的數(shù)據(jù)增強。模型批次大小,即每次訓(xùn)練選取的樣本數(shù)量設(shè)置為64 個。生成器和判別器的學(xué)習率設(shè)置為0.01,生成器和判別器隱藏層的神經(jīng)元數(shù)量設(shè)置為128 個。迭代訓(xùn)練100 000輪,最終得到包含8 040條電壓異常故障數(shù)據(jù)和12 060條正常運行數(shù)據(jù)的GAN擴充數(shù)據(jù)集。為了檢驗本文提出的GAN 的性能,使用歸一化方法處理GAN 擴充數(shù)據(jù)集和原始數(shù)據(jù)集以消除量綱影響,方便比較兩類數(shù)據(jù)集中數(shù)據(jù)的分布。歸一化處理公式為:
式中,xi、yi分別為歸一化處理前和處理后的數(shù)據(jù)。
歸一化處理能夠?qū)?shù)據(jù)縮放至[0,1]范圍內(nèi),且不改變數(shù)據(jù)的分布情況。本文中歸一化處理后的原始數(shù)據(jù)集和GAN擴充數(shù)據(jù)集的分布如圖4所示。
圖4 兩類數(shù)據(jù)集中的數(shù)據(jù)分布
箱型圖中從上至下的5 條橫線分別代表數(shù)據(jù)的最大值、上4分位數(shù)、中位數(shù)、下4分位數(shù)和最小值,三角形標識符代表數(shù)據(jù)的均值。由圖4可知,GAN擴充數(shù)據(jù)集與原始數(shù)據(jù)集僅在關(guān)鍵特征11 上存在細微差別,其余特征數(shù)據(jù)分布情況基本一致。本文提出的GAN數(shù)據(jù)增強模型能學(xué)習原始數(shù)據(jù)的分布情況,可以應(yīng)用于電動汽車動力電池電壓異常故障數(shù)據(jù)的數(shù)據(jù)增強。
根據(jù)增強后的數(shù)據(jù),使用隨機森林分類模型進行動力電池電壓異常故障診斷,采用貝葉斯優(yōu)化方法優(yōu)化模型的超參數(shù)。
隨機森林分類模型的結(jié)構(gòu)如圖5 所示。隨機森林模型可以有效處理高維數(shù)據(jù),對數(shù)據(jù)噪聲具有較高的容忍度,且不易出現(xiàn)過擬合,常用于分類和回歸分析。對于回歸問題,隨機森林模型采用平均法進行預(yù)測;對于分類問題,隨機森林模型采用投票法得出最終結(jié)果。本文使用隨機森林分類模型對電動汽車動力電池的電壓異常進行故障診斷。
圖5 隨機森林基本結(jié)構(gòu)
隨機森林分類采用投票法獲得結(jié)果,假設(shè)隨機森林模型包含n個決策樹模型{h1,h2,…,hn},m個類別集合{C1,C2,…,Cm}。為保證分類的可靠性,根據(jù)絕對多數(shù)投票法輸出結(jié)果,即當某個類別在所有決策樹中得到超過半數(shù)投票,則預(yù)測為該類別,否則拒絕分類預(yù)測:
式中,H(x)為投票結(jié)果;(x)表示決策樹hi對輸入x的類別判斷為Cj;reject表示拒絕進行分類預(yù)測。
搭建故障診斷模型時,需要對模型的超參數(shù)進行設(shè)置,但是人工設(shè)置的超參數(shù)不一定能使模型的性能達到最優(yōu),需要選擇合適的模型超參數(shù)搜索方法。貝葉斯優(yōu)化屬于全局優(yōu)化算法,是近年來機器學(xué)習領(lǐng)域中常用的超參數(shù)優(yōu)化方法之一[21]。貝葉斯優(yōu)化由概率代理模型和采集函數(shù)2 個部分構(gòu)成。概率代理模型用于代理復(fù)雜的未知目標函數(shù),以最大化采集函數(shù)為目標選擇下一個評估點[22]。本文使用高斯過程作為貝葉斯優(yōu)化的概率代理模型,概率改進函數(shù)作為采集函數(shù),對隨機森林分類模型中的決策樹的數(shù)量、決策樹的最大深度、節(jié)點拆分時考慮的特征數(shù)量以及節(jié)點拆分所需的最小樣本數(shù)進行超參數(shù)優(yōu)化,提高故障診斷模型的性能。貝葉斯優(yōu)化的流程如圖6所示。
圖6 貝葉斯優(yōu)化流程
本文采用Python 構(gòu)建隨機森林分類模型進行電動汽車動力電池電壓異常故障診斷,分別在故障數(shù)據(jù)占比為10%的原始數(shù)據(jù)集和故障數(shù)據(jù)占比為25%的GAN 擴充數(shù)據(jù)集上進行訓(xùn)練。使用準確率(Accuracy)作為模型的評價指標,準確率是所有診斷正確的類(包括正類和負類)樣本數(shù)量占正類和負類樣本總數(shù)的比例:
式中,A為診斷準確率;TP為正類判定為正類的樣本數(shù)量;TN為負類判定為負類的樣本數(shù)量;P為正類的樣本數(shù)量;N為負類的樣本數(shù)量。
訓(xùn)練模型時,按照6∶2∶2的比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集。訓(xùn)練集用于訓(xùn)練故障診斷模型,驗證集用于調(diào)試模型的超參數(shù),測試集用于檢測模型的精確度。隨機森林分類模型的待優(yōu)化超參數(shù)取值區(qū)間為:決策樹的數(shù)量[100,1 000],決策樹的最大深度[50,250],節(jié)點拆分時考慮的特征數(shù)量[1,11],節(jié)點拆分所需的最小樣本數(shù)[2,8]。以最大故障診斷準確率為優(yōu)化目標,經(jīng)貝葉斯優(yōu)化迭代150 輪,最終得到優(yōu)化后的超參數(shù)為:決策樹的數(shù)量為456,決策樹的最大深度為96,節(jié)點拆分時考慮的特征數(shù)量為3,節(jié)點拆分所需的最小樣本數(shù)為2。
為了驗證本文提出的RF-BO故障診斷模型的有效性,從車輛真實運行數(shù)據(jù)集(除去用于訓(xùn)練和數(shù)據(jù)增強的原始數(shù)據(jù)集)中按比例抽樣得到真實故障數(shù)據(jù)集,此數(shù)據(jù)集包含2 010條故障數(shù)據(jù)和6 030條正常運行數(shù)據(jù),故障數(shù)據(jù)占比為25%,用于評價故障診斷模型的泛化能力。選擇故障診斷領(lǐng)域常用的多層感知機(Multilayer Perceptron,MLP)模型、支持向量機(Support Vector Machine,SVM)模型和梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)模型,在同樣的數(shù)據(jù)集上訓(xùn)練,在同一個真實故障數(shù)據(jù)集上對比各模型的泛化性能,結(jié)果如圖7所示。
圖7 模型泛化性能對比
圖7中,RF-BO模型使用GAN擴充數(shù)據(jù)集訓(xùn)練后,故障診斷準確率可達94.73%,對比使用原始數(shù)據(jù)集訓(xùn)練的模型,診斷準確率提升14.96 百分點。MLP 模型、SVM 模型、GBDT 模型使用GAN 擴充數(shù)據(jù)集訓(xùn)練后,在真實故障集上驗證的準確率均有不同程度的提升,證明采用GAN增強動力電池電壓異常故障稀缺數(shù)據(jù)可以提高故障診斷模型的準確性。RF-BO的模型診斷準確率較MLP 模型、SVM 模型及GBDT 模型分別提升19.66 百分點、19.71 百分點和16.31 百分點,體現(xiàn)了GAN-RFBO故障診斷框架的優(yōu)越性。
本文基于20 輛純電動汽車的真實運行數(shù)據(jù),利用生成對抗網(wǎng)絡(luò)對動力電池故障數(shù)據(jù)進行數(shù)據(jù)增強,采用隨機森林模型結(jié)合貝葉斯優(yōu)化進行電池故障診斷。利用隨機森林算法計算38 個特征數(shù)據(jù)字段的重要度,保留了11 個顯著特征變量進行數(shù)據(jù)增強和故障診斷,降低了模型的復(fù)雜度,縮短了運行時間。針對數(shù)據(jù)集的數(shù)據(jù)不均衡現(xiàn)象,提出使用生成對抗網(wǎng)絡(luò)對動力電池電壓異常故障數(shù)據(jù)進行數(shù)據(jù)增強。將擴充后的數(shù)據(jù)集與原始數(shù)據(jù)集進行比較,數(shù)據(jù)分布基本一致,說明GAN數(shù)據(jù)增強方法能夠?qū)ο∪睌?shù)據(jù)樣本進行有效擴充,提高故障診斷模型的準確率。
使用隨機森林模型進行故障診斷,通過貝葉斯優(yōu)化得到最優(yōu)超參數(shù)組合。對比驗證結(jié)果表明,本文提出的RF-BO模型在診斷準確率和泛化性能上明顯優(yōu)于MLP模型、SVM模型和GBDT模型。
動力電池故障與駕駛行為、天氣條件、道路工況等多方面因素相關(guān),且不同類型故障之間存在一定聯(lián)系,本文僅根據(jù)實車運行數(shù)據(jù)對動力電池電壓異常故障展開分析,未來將重點探究不同類型電池故障之間的耦合關(guān)系,并結(jié)合駕駛行為、天氣信息等多源數(shù)據(jù),深入研究電動汽車電池故障的形成機理,提高駕駛安全性與交通安全性。