廉玉波,凌和平,王鈞斌,潘 華,謝 朝
(比亞迪汽車工業(yè)有限公司,深圳 518118)
電池安全作為消費(fèi)者在購買電動(dòng)汽車時(shí)最為看重的因素之一,對于電動(dòng)汽車的綜合競爭力具有至關(guān)重要的影響。而電池?zé)崾Э氐臋z測是電池安全功能的重要組成部分。熱失控是電池安全研究的主要內(nèi)容之一[1],其主要表現(xiàn)是當(dāng)電池因超出額定工況使用,如過充、過放、高溫、浸水等或由于擠壓、尖銳物體刺破等外力作用,從而使動(dòng)力電池在較短時(shí)間內(nèi)溫度快速升高,并在超過臨界點(diǎn)后發(fā)生放熱連鎖反應(yīng),溫度升高失去控制,最終引發(fā)火災(zāi)和爆炸等安全事故[2-3]。
目前針對動(dòng)力電池?zé)崾Э氐臋z測主要包括基于氣體檢測的電池?zé)崾Э貦z測技術(shù)、基于電池管理系統(tǒng)的電池?zé)崾Э貦z測技術(shù),以及基于算法的電池?zé)崾Э貦z測技術(shù)。氣體檢測方法主要是利用氣體傳感器,通過檢測電池內(nèi)部電化學(xué)反應(yīng)產(chǎn)生的二氧化碳及其他有害氣體,從而實(shí)現(xiàn)早期的熱失控預(yù)警[4-6]。基于電池管理系統(tǒng)(BMS)的電池?zé)崾Э貦z測技術(shù)是通過對電池BMS 接收的參數(shù)進(jìn)行監(jiān)控,并通過指定簡單的規(guī)則和閾值(如非工作狀態(tài)電流閾值、溫度閾值等),實(shí)現(xiàn)對電池?zé)崾Э氐脑缙跈z測[7-10]。而基于算法的檢測是在基于BMS 檢測的基礎(chǔ)上,對接收到的信號進(jìn)行數(shù)據(jù)處理,并通過算法計(jì)算得到當(dāng)前電池的狀態(tài),其主要使用的方法包括有限元分析方法以及神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、卡爾曼濾波等機(jī)器學(xué)習(xí)方法[10-16]。
以上列出的方法均存在適用性較差的問題,尤其是機(jī)器學(xué)習(xí)方法雖然準(zhǔn)確度較高,但無法處理變長數(shù)據(jù),嚴(yán)重依賴歷史數(shù)據(jù)訓(xùn)練。針對這些問題,本文中提出基于混合高斯-隱馬爾可夫模型的動(dòng)力電池實(shí)時(shí)熱失控檢測方法。
隱馬爾可夫模型(hidden Markov model,HMM)是一種基于數(shù)據(jù)驅(qū)動(dòng)的動(dòng)態(tài)概率圖模型[17],可以看作是混合高斯模型(Gaussian mixed model,GMM)在時(shí)間序列分析方面的擴(kuò)展模型。GMM 模型通過多個(gè)高斯分布去擬合一個(gè)高斯分布無法擬合的數(shù)據(jù),從而描述多峰數(shù)據(jù)的分布[18]。
對于K個(gè)高斯分布疊加而成的混合高斯分布,其概率密度函數(shù)為
式中:μk和Σk分別為第k個(gè)高斯分布的均值和協(xié)方差矩陣;N(X|μk,Σk)是混合模型的第k個(gè)分量,πk是該分量的權(quán)重,且滿足。
動(dòng)力電池的熱失控過程可以看做是一個(gè)高斯混合隨機(jī)過程,并可以由K=3 個(gè)高斯分布表示3 種安全狀態(tài):安全狀態(tài)Z1、有風(fēng)險(xiǎn)狀態(tài)Z2、熱失控狀態(tài)Z3,如圖1所示。
圖1 熱失控的高斯混合模型
但高斯混合模型沒有引入時(shí)間維度,只能分析某一個(gè)時(shí)刻的狀態(tài)或分析無時(shí)間參數(shù)的狀態(tài)量,因此不適用于時(shí)間序列分析建模的任務(wù)??梢酝ㄟ^給高斯混合模型的隱狀態(tài)增加馬爾可夫性的狀態(tài)轉(zhuǎn)移過程,構(gòu)成應(yīng)用于時(shí)間序列分析的隱馬爾科夫模型。
隱馬爾科夫模型基于如下3個(gè)假設(shè)。
(1)馬爾可夫假設(shè),即狀態(tài)構(gòu)成1 階馬爾可夫鏈:
(2)齊次性假設(shè),即狀態(tài)的轉(zhuǎn)移與具體時(shí)間無關(guān):
(3)觀測獨(dú)立性假設(shè),即觀測變量僅與當(dāng)前狀態(tài)有關(guān):
隱馬爾科夫模型由兩個(gè)隨機(jī)過程組成,分別是狀態(tài)轉(zhuǎn)移過程和觀測過程。狀態(tài)轉(zhuǎn)移過程無法被觀測,只能通過輸出的可觀測序列推斷得到。觀測過程是指系統(tǒng)處于狀態(tài)zt的情況下,系統(tǒng)表現(xiàn)出的可觀測變量為xt的過程。在滿足觀測獨(dú)立性假設(shè)時(shí),隱藏的狀態(tài)和可觀測變量之間存在發(fā)射概率P(xt|zt),對應(yīng)每種隱藏狀態(tài)和每種可觀測變量的發(fā)射概率可以用混淆矩陣B表示。對于一個(gè)HMM 系統(tǒng),可以用λ={π,A,B} 表示模型中的所有參數(shù),其中π表示模型的初始狀態(tài),如圖2所示。
圖2 熱失控的隱馬爾科夫模型
已知長度為T的觀測序列和隱藏狀態(tài)序列時(shí),可以使用BW 算法求解模型參數(shù) {π,A,B}。BW 算法的原理是EM 算法,在E 步求出聯(lián)合分布P(X,Z|λ)基于條件概率P(Z|X,λ)的期望,在M步最大化這個(gè)期望,得到更新的參數(shù)λ。如此不斷迭代,直到模型參數(shù)的值收斂。
在實(shí)際BW 算法的流程中,需要首先隨機(jī)初始化模型的參數(shù)πi,aij,bj(k)。在E 步,對于每個(gè)樣本d,分別計(jì)算其前向概率和后向概率前向概率是通過遞推得到的,每個(gè)序列的前向概率的初始值為
對于接下來的每一項(xiàng),都有:
同理,后向概率也可以從序列的末尾從后往前遞推得到。
接下來在M 步,對于全部的D條時(shí)間序列,更新模型參數(shù)πi,aij,bj(k)。
如此反復(fù)迭代計(jì)算,直到模型收斂,即可得到當(dāng)前序列下的模型參數(shù) {π,A,B}。
當(dāng)?shù)玫侥P蛥?shù)后,給出一個(gè)新的觀測序列X=(x1,x2,...,xT),可以使用Viterbi 算法求解隱藏狀態(tài)序列Z=(z1,z2,...,zT),從而達(dá)到熱失控狀態(tài)檢測的目的。
其算法首先對t=1,2,...,T時(shí)刻,初始化并遞推計(jì)算局部狀態(tài):
計(jì)算T時(shí)刻最大的前向概率αT(i),也就是可能性最大的隱藏狀態(tài)的概率,此時(shí)的ZT(i)即為T時(shí)刻的隱藏狀態(tài):
本方法的流程主要包括模型訓(xùn)練階段和模型預(yù)測階段,如圖3 所示。在模型訓(xùn)練階段,采集到歷史數(shù)據(jù)經(jīng)過特征工程,接入HMM 模型中,并通過BW算法求解參數(shù)。在模型預(yù)測階段,實(shí)時(shí)采集的信號輸入到訓(xùn)練好的HMM模型中,通過維特比算法求解當(dāng)前的隱藏狀態(tài),達(dá)到實(shí)時(shí)檢測的目的。
圖3 算法流程圖
本文使用的數(shù)據(jù)來自于實(shí)驗(yàn)室獲得的動(dòng)力電池在模擬實(shí)車運(yùn)行環(huán)境下的狀態(tài)數(shù)據(jù)。在實(shí)驗(yàn)中,對某型號三元鋰離子電池串聯(lián)組成的電池組進(jìn)行測試,其單體電壓窗口為2.8-4.2 V。圖4 所示為三元鋰離子電池在模擬實(shí)車運(yùn)行環(huán)境下典型充放電過程的電壓、電流和溫度變化曲線,模擬時(shí)長為24 h。
圖4 電池參數(shù)變化曲線(典型值)
在建模的數(shù)據(jù)準(zhǔn)備階段,需要為數(shù)據(jù)人為標(biāo)注標(biāo)簽。實(shí)驗(yàn)室模擬的車輛運(yùn)行工況下的電池?cái)?shù)據(jù)中,對于未觸發(fā)熱失控的動(dòng)力電池,可以認(rèn)為其狀態(tài)始終為安全狀態(tài)Z1,既該電池的時(shí)序數(shù)據(jù)中每個(gè)數(shù)據(jù)幀的標(biāo)簽都是Z1。為獲取熱失控實(shí)例,實(shí)驗(yàn)對少量電池采取針刺、電池內(nèi)部置入有缺陷隔膜等方式人為觸發(fā)熱失控。對于此類動(dòng)力電池的數(shù)據(jù),在檢測到溫度開始升高、且此次溫度升高最終發(fā)生熱失控的時(shí)間片段中,其標(biāo)簽均設(shè)置成熱失控狀態(tài)Z3;且把Z3之前的最后一次充放電循環(huán)的時(shí)間片段的全部標(biāo)簽,均設(shè)置為有風(fēng)險(xiǎn)狀態(tài)Z2;其余的標(biāo)簽均設(shè)置為安全狀態(tài)Z1。
基于剛體和微小變動(dòng)量假設(shè),將零件特征或要素的幾何變動(dòng)量用SDT(small displacement torsor,小變量簇)表示。SDT是由沿x,y,z軸的3個(gè)平移自由度和3個(gè)旋轉(zhuǎn)自由度相對應(yīng)的微小偏移,以dx、dy、dz、δx、δy、δz來表示。用這6個(gè)分量的變動(dòng)范圍可以描述零件特征或要素相對于其應(yīng)在位置或狀態(tài)的幾何變動(dòng)域。
由于GMM-HMM 模型無法像神經(jīng)網(wǎng)絡(luò)算法那樣,可以進(jìn)行自動(dòng)的特征提取,因此本模型的特征提取與特征選擇是影響模型最終實(shí)現(xiàn)效果的重要因素。選用機(jī)器學(xué)習(xí)特征工程、統(tǒng)計(jì)學(xué)特征和電化學(xué)特征3 種方式,同時(shí)對原始時(shí)序數(shù)據(jù)進(jìn)行處理,組合出較多的新特征。經(jīng)過對原始數(shù)據(jù)進(jìn)行處理后,得到的新特征如表1所示。
表1 處理后特征類別與描述
以上特征較為全面地反映了電池在充放電循環(huán)內(nèi)的電化學(xué)表現(xiàn),但大量的特征會(huì)降低計(jì)算效率,且將概率空間擴(kuò)張到極高維度,使模型的隨機(jī)取樣都落入高維空間的表面,導(dǎo)致無法獲得最優(yōu)解。為解決該問題,通過遞歸特征消除(recursive feature elimination)的方式逐步降低特征的維度,這是一種尋找最優(yōu)特征子集的貪心算法。遞歸特征消除的主要思想是反復(fù)構(gòu)建模型,篩選并排除掉最差的特征,在剩余的特征上重復(fù)這個(gè)過程,直到篩選出涵蓋信息量最大的少數(shù)特征。
本文中使用混合高斯模型(GMM)作為遞歸特征消除的特征篩選器,選擇GMM 的理由是GMM 與HMM 存在算法原理上的相似性,本質(zhì)都是基于圖算法的貝葉斯概率模型,都包含一個(gè)隱變量和一個(gè)可觀測狀態(tài)。常規(guī)的遞歸特征消除算法對機(jī)器學(xué)習(xí)模型訓(xùn)練得到的權(quán)重值取絕對值,并剔除掉最小絕對值的特征。但GMM 作為基模型,不存在可以量化的特征權(quán)重值,因此本文使用交叉驗(yàn)證(crossvalidation)法結(jié)合遞歸特征消除法進(jìn)行特征選擇。
原始數(shù)據(jù)經(jīng)過特征工程、統(tǒng)計(jì)學(xué)特征分析和電化學(xué)特征分析后,得到有效特征共54 個(gè),如圖5 所示。這里使用貪心算法的思想,從54 個(gè)特征中選出53個(gè)特征(共有54種組合方式)分別訓(xùn)練出GMM 模型并計(jì)算最優(yōu)誤差,選擇損失最小的模型所用的那53 個(gè)特征,回到上一步繼續(xù)削減特征的數(shù)目。如此迭代循環(huán),直到這個(gè)過程無法為降低模型誤差帶來收益為止。在特征消除的遞歸過程中,GMM 最優(yōu)模型的模型損失經(jīng)歷了逐漸下降再逐漸上升的過程,如圖6所示。
圖5 特征選擇流程
圖6 中的前期損失下降階段主要是由于特征維度的降低,模型更易收斂,最終的收斂結(jié)果雖然仍然是局部最優(yōu),但距離全局最優(yōu)越來越近。而后期損失函數(shù)的逐漸上升過程主要是由于消除了過多的特征,導(dǎo)致數(shù)據(jù)的信息丟失過多,使模型難以擬合。所以遞歸特征消除的最佳停止點(diǎn)就是損失函數(shù)從下降轉(zhuǎn)變?yōu)樯仙呐R界點(diǎn)處,在本文中最終保留了14 個(gè)特征,如表2所示。
表2 經(jīng)過特征選擇后的特征
圖6 GMM最優(yōu)模型的模型損失
為建立HMM熱失控檢測模型,提取每個(gè)三元鋰離子動(dòng)力電池組的全部時(shí)序數(shù)據(jù)作為一組原始數(shù)據(jù),將全部的電池?cái)?shù)據(jù)隨機(jī)打亂組成數(shù)據(jù)集,并將數(shù)據(jù)集的70%作為訓(xùn)練集。按照上文的GMM方法,先通過特征組合手段擴(kuò)充到54 組特征,再使用遞歸特征消除14 組特征向量并組成觀測序列,設(shè)置隱狀態(tài)數(shù)NZ為3,收斂誤差為10-4,BW算法最大迭代次數(shù)為100。輸入到模型中,使用BW 算法訓(xùn)練,得到HMM模型。圖7 所示為經(jīng)過GMM 迭代優(yōu)選后的特征,經(jīng)HMM 模型后學(xué)習(xí)得到的模型內(nèi)參數(shù)在最終結(jié)果的損失函數(shù)的降低趨勢。由圖7 可知,模型收斂的速度較快,說明上述GMM 與HMM 結(jié)合的方法確實(shí)可實(shí)現(xiàn)從非時(shí)序數(shù)據(jù)到時(shí)序數(shù)據(jù)的遷移,且在遷移后保持訓(xùn)練數(shù)據(jù)在HMM上的收斂,說明模型已經(jīng)學(xué)習(xí)到了有效的參數(shù)λ。
圖7 模型訓(xùn)練誤差下降曲線對比
模型識(shí)別使用維特比算法作為電池?zé)崾Э氐臋z測算法。選擇全部電池?cái)?shù)據(jù)的30%作為測試集,抹去其標(biāo)簽,作為新產(chǎn)生的數(shù)據(jù),以與實(shí)驗(yàn)采集頻率相同的每10 s 一幀的數(shù)據(jù)流量接入訓(xùn)練好的HMM 模型中,得到的訓(xùn)練結(jié)果見圖8。表3 為模型表現(xiàn)統(tǒng)計(jì)。由表可見,HMM 時(shí)序模型對電池?zé)崾Э氐淖R(shí)別效果較好,訓(xùn)練集準(zhǔn)確率可達(dá)100%,測試集識(shí)別率達(dá)到94.1%。
表3 模型表現(xiàn)統(tǒng)計(jì)表
圖8 HMM模型訓(xùn)練結(jié)果
為對比GMM-HMM 模型與傳統(tǒng)機(jī)器學(xué)習(xí)模型在熱失控時(shí)序檢測上的效果,對該電池型號下熱失控?cái)?shù)據(jù)在常見電池安全算法的表現(xiàn)進(jìn)行了測試與對比。其中包括傳統(tǒng)的結(jié)合雙指數(shù)內(nèi)阻等效電路模型的卡爾曼濾波方法和常見機(jī)器學(xué)習(xí)方法。
本文中選取的結(jié)合雙指數(shù)內(nèi)阻等效電路模型的卡爾曼濾波方法。首先構(gòu)建多個(gè)測試內(nèi)阻的雙指數(shù)模型,將雙指數(shù)模型輸入到擴(kuò)展卡爾曼濾波器中,使用與本文模型相同的數(shù)據(jù)進(jìn)行訓(xùn)練,得到模型參數(shù)。然后對訓(xùn)練好的雙指數(shù)模型進(jìn)行求導(dǎo),得到所述目標(biāo)電池在所述預(yù)設(shè)時(shí)間段內(nèi)的內(nèi)阻下降速度,識(shí)別所述目標(biāo)電池的熱失控狀態(tài)。
為對比本文模型與其他常見的機(jī)器學(xué)習(xí)模型的表現(xiàn),使用支持向量機(jī)(SVM)與人工神經(jīng)網(wǎng)絡(luò)(ANN)作為在同樣訓(xùn)練數(shù)據(jù)下的對比模型。由于這兩種模型無法處理變長的數(shù)據(jù),因此在數(shù)據(jù)的預(yù)處理上采用時(shí)間窗口的處理方式:將經(jīng)過與GMMHMM 模型相同的遞歸特征消除操作后,將時(shí)間序列截取為多個(gè)10 min 的時(shí)間窗口(共60 幀),每個(gè)時(shí)間窗口只對應(yīng)一個(gè)標(biāo)簽,即該窗口最后一個(gè)數(shù)據(jù)幀的標(biāo)簽。
SVM 熱失控檢測模型使用基于高斯核的“onevs-rest”多元SVM分類模型,輸入為將時(shí)間窗口平鋪后的序列,共840個(gè)特征(14個(gè)遞歸特征消除后的特征×60 幀),輸出為3 個(gè)類別(安全狀態(tài)Z1、有風(fēng)險(xiǎn)狀態(tài)Z2、熱失控狀態(tài)Z3),Gamma 值設(shè)置為0.07,懲罰系數(shù)設(shè)置為1.0,正負(fù)樣本的權(quán)重比為2∶1,并使用啟發(fā)式收縮的訓(xùn)練方法加速訓(xùn)練。
ANN 熱失控檢測模型搭建了一個(gè)5層的神經(jīng)網(wǎng)絡(luò),其輸入層包含840 個(gè)輸入,第1 個(gè)隱藏層含有168 個(gè)神經(jīng)元,第2 個(gè)隱藏層含有21 個(gè)神經(jīng)元,輸出層的神經(jīng)元個(gè)數(shù)為3,分別對應(yīng)3 個(gè)類別(安全狀態(tài)Z1、有風(fēng)險(xiǎn)狀態(tài)Z2、熱失控狀態(tài)Z3)。神經(jīng)網(wǎng)絡(luò)的最后一層的激活函數(shù)為softmax 函數(shù),其余激活函數(shù)均為sigmoid 函數(shù),損失函數(shù)使用交叉熵?fù)p失,學(xué)習(xí)率為10-3。
訓(xùn)練完畢后的模型效果對比如表4 所示。其結(jié)果說明,相比于常見的非時(shí)序機(jī)器學(xué)習(xí)算法(支持向量機(jī)和人工神經(jīng)網(wǎng)絡(luò)),HMM 模型對動(dòng)力電池的熱失控檢測準(zhǔn)確率更高,且需要的訓(xùn)練時(shí)間大大縮短。且常見的非時(shí)序機(jī)器學(xué)習(xí)算法在對數(shù)據(jù)的處理較死板,只能識(shí)別定長的時(shí)間序列數(shù)據(jù),因此需要更復(fù)雜的數(shù)據(jù)處理。在檢測效果方面,非時(shí)序機(jī)器學(xué)習(xí)算法的機(jī)器學(xué)習(xí)算法接收的數(shù)據(jù)為平鋪后的時(shí)序數(shù)據(jù),因此數(shù)據(jù)維度大大增加,再次引發(fā)上文提到的維度災(zāi)難問題,導(dǎo)致模型訓(xùn)練緩慢,收斂困難,且準(zhǔn)確率較低。而業(yè)界較為常見的卡爾曼濾波方法對實(shí)際電池?cái)?shù)據(jù)的準(zhǔn)確性表現(xiàn)較差,雖然訓(xùn)練較快且可以處理變長數(shù)據(jù),但卡爾曼濾波的模型內(nèi)部是以線性變換為主,難以反映電池?zé)崾Э氐膹?fù)雜內(nèi)部變化過程。
表4 模型效果對比
在《節(jié)能與新能源汽車技術(shù)路線圖2.0》規(guī)劃中,新能源汽車將在2035 年占汽車總銷量的50%~60%,成為主流車型[19]。而隨著消費(fèi)者對新能源電動(dòng)汽車的行駛里程以及安全性能的要求不斷提高,對電池?zé)崾Э氐膶?shí)時(shí)檢測成為電池安全的重要課題。本文中提出一種基于GMM-HMM 的電池?zé)崾Э貙?shí)時(shí)檢測方法。
(1)從實(shí)驗(yàn)室模擬的工況循環(huán)周期下動(dòng)力電池的充放電過程中取得表征電池狀態(tài)的原始特征,并使用基于GMM的遞歸特征消除方法選擇最優(yōu)特征。
(2)使用基于 HMM 的鋰電池?zé)崾Э刈R(shí)別算法,通過 Baum-Welch 算法進(jìn)行模型訓(xùn)練,分別對動(dòng)力電池3 種不同的熱失控狀態(tài)(安全狀態(tài)Z1、有風(fēng)險(xiǎn)狀態(tài)Z2、熱失控狀態(tài)Z3)進(jìn)行建模。
(3)建立 HMM 模型后,將當(dāng)前的觀測信號通過維特比算法,對觀測序列進(jìn)行解碼,計(jì)算出當(dāng)前模型是否處于熱失控狀態(tài)。模型對比結(jié)果表明,HMM 模型與卡爾曼濾波、支持向量機(jī)和人工神經(jīng)網(wǎng)絡(luò)模型相比,對鋰電池的熱失控檢測準(zhǔn)確率更高,訓(xùn)練時(shí)間短,模型收斂快,且可以處理任意變長的數(shù)據(jù)。
下一步的工作將著重于訓(xùn)練數(shù)據(jù)的增廣與多樣化處理,對模型標(biāo)定進(jìn)一步優(yōu)化,嘗試采用無監(jiān)督學(xué)習(xí)方法對模型標(biāo)簽進(jìn)行自動(dòng)標(biāo)注,從而提高模型的準(zhǔn)確率與泛化性能。