廉玉波,凌和平,王鈞斌,潘 華,謝 朝
(比亞迪汽車工業有限公司,深圳 518118)
電池安全作為消費者在購買電動汽車時最為看重的因素之一,對于電動汽車的綜合競爭力具有至關重要的影響。而電池熱失控的檢測是電池安全功能的重要組成部分。熱失控是電池安全研究的主要內容之一[1],其主要表現是當電池因超出額定工況使用,如過充、過放、高溫、浸水等或由于擠壓、尖銳物體刺破等外力作用,從而使動力電池在較短時間內溫度快速升高,并在超過臨界點后發生放熱連鎖反應,溫度升高失去控制,最終引發火災和爆炸等安全事故[2-3]。
目前針對動力電池熱失控的檢測主要包括基于氣體檢測的電池熱失控檢測技術、基于電池管理系統的電池熱失控檢測技術,以及基于算法的電池熱失控檢測技術。氣體檢測方法主要是利用氣體傳感器,通過檢測電池內部電化學反應產生的二氧化碳及其他有害氣體,從而實現早期的熱失控預警[4-6]。基于電池管理系統(BMS)的電池熱失控檢測技術是通過對電池BMS 接收的參數進行監控,并通過指定簡單的規則和閾值(如非工作狀態電流閾值、溫度閾值等),實現對電池熱失控的早期檢測[7-10]。而基于算法的檢測是在基于BMS 檢測的基礎上,對接收到的信號進行數據處理,并通過算法計算得到當前電池的狀態,其主要使用的方法包括有限元分析方法以及神經網絡、支持向量機、卡爾曼濾波等機器學習方法[10-16]。
以上列出的方法均存在適用性較差的問題,尤其是機器學習方法雖然準確度較高,但無法處理變長數據,嚴重依賴歷史數據訓練。針對這些問題,本文中提出基于混合高斯-隱馬爾可夫模型的動力電池實時熱失控檢測方法。
隱馬爾可夫模型(hidden Markov model,HMM)是一種基于數據驅動的動態概率圖模型[17],可以看作是混合高斯模型(Gaussian mixed model,GMM)在時間序列分析方面的擴展模型。GMM 模型通過多個高斯分布去擬合一個高斯分布無法擬合的數據,從而描述多峰數據的分布[18]。
對于K個高斯分布疊加而成的混合高斯分布,其概率密度函數為

式中:μk和Σk分別為第k個高斯分布的均值和協方差矩陣;N(X|μk,Σk)是混合模型的第k個分量,πk是該分量的權重,且滿足。
動力電池的熱失控過程可以看做是一個高斯混合隨機過程,并可以由K=3 個高斯分布表示3 種安全狀態:安全狀態Z1、有風險狀態Z2、熱失控狀態Z3,如圖1所示。

圖1 熱失控的高斯混合模型
但高斯混合模型沒有引入時間維度,只能分析某一個時刻的狀態或分析無時間參數的狀態量,因此不適用于時間序列分析建模的任務。可以通過給高斯混合模型的隱狀態增加馬爾可夫性的狀態轉移過程,構成應用于時間序列分析的隱馬爾科夫模型。
隱馬爾科夫模型基于如下3個假設。
(1)馬爾可夫假設,即狀態構成1 階馬爾可夫鏈:

(2)齊次性假設,即狀態的轉移與具體時間無關:

(3)觀測獨立性假設,即觀測變量僅與當前狀態有關:

隱馬爾科夫模型由兩個隨機過程組成,分別是狀態轉移過程和觀測過程。狀態轉移過程無法被觀測,只能通過輸出的可觀測序列推斷得到。觀測過程是指系統處于狀態zt的情況下,系統表現出的可觀測變量為xt的過程。在滿足觀測獨立性假設時,隱藏的狀態和可觀測變量之間存在發射概率P(xt|zt),對應每種隱藏狀態和每種可觀測變量的發射概率可以用混淆矩陣B表示。對于一個HMM 系統,可以用λ={π,A,B} 表示模型中的所有參數,其中π表示模型的初始狀態,如圖2所示。

圖2 熱失控的隱馬爾科夫模型
已知長度為T的觀測序列和隱藏狀態序列時,可以使用BW 算法求解模型參數 {π,A,B}。BW 算法的原理是EM 算法,在E 步求出聯合分布P(X,Z|λ)基于條件概率P(Z|X,λ)的期望,在M步最大化這個期望,得到更新的參數λ。如此不斷迭代,直到模型參數的值收斂。
在實際BW 算法的流程中,需要首先隨機初始化模型的參數πi,aij,bj(k)。在E 步,對于每個樣本d,分別計算其前向概率和后向概率前向概率是通過遞推得到的,每個序列的前向概率的初始值為

對于接下來的每一項,都有:

同理,后向概率也可以從序列的末尾從后往前遞推得到。

接下來在M 步,對于全部的D條時間序列,更新模型參數πi,aij,bj(k)。


如此反復迭代計算,直到模型收斂,即可得到當前序列下的模型參數 {π,A,B}。
當得到模型參數后,給出一個新的觀測序列X=(x1,x2,...,xT),可以使用Viterbi 算法求解隱藏狀態序列Z=(z1,z2,...,zT),從而達到熱失控狀態檢測的目的。
其算法首先對t=1,2,...,T時刻,初始化并遞推計算局部狀態:

計算T時刻最大的前向概率αT(i),也就是可能性最大的隱藏狀態的概率,此時的ZT(i)即為T時刻的隱藏狀態:

本方法的流程主要包括模型訓練階段和模型預測階段,如圖3 所示。在模型訓練階段,采集到歷史數據經過特征工程,接入HMM 模型中,并通過BW算法求解參數。在模型預測階段,實時采集的信號輸入到訓練好的HMM模型中,通過維特比算法求解當前的隱藏狀態,達到實時檢測的目的。

圖3 算法流程圖
本文使用的數據來自于實驗室獲得的動力電池在模擬實車運行環境下的狀態數據。在實驗中,對某型號三元鋰離子電池串聯組成的電池組進行測試,其單體電壓窗口為2.8-4.2 V。圖4 所示為三元鋰離子電池在模擬實車運行環境下典型充放電過程的電壓、電流和溫度變化曲線,模擬時長為24 h。

圖4 電池參數變化曲線(典型值)
在建模的數據準備階段,需要為數據人為標注標簽。實驗室模擬的車輛運行工況下的電池數據中,對于未觸發熱失控的動力電池,可以認為其狀態始終為安全狀態Z1,既該電池的時序數據中每個數據幀的標簽都是Z1。為獲取熱失控實例,實驗對少量電池采取針刺、電池內部置入有缺陷隔膜等方式人為觸發熱失控。對于此類動力電池的數據,在檢測到溫度開始升高、且此次溫度升高最終發生熱失控的時間片段中,其標簽均設置成熱失控狀態Z3;且把Z3之前的最后一次充放電循環的時間片段的全部標簽,均設置為有風險狀態Z2;其余的標簽均設置為安全狀態Z1。
基于剛體和微小變動量假設,將零件特征或要素的幾何變動量用SDT(small displacement torsor,小變量簇)表示。SDT是由沿x,y,z軸的3個平移自由度和3個旋轉自由度相對應的微小偏移,以dx、dy、dz、δx、δy、δz來表示。用這6個分量的變動范圍可以描述零件特征或要素相對于其應在位置或狀態的幾何變動域。
由于GMM-HMM 模型無法像神經網絡算法那樣,可以進行自動的特征提取,因此本模型的特征提取與特征選擇是影響模型最終實現效果的重要因素。選用機器學習特征工程、統計學特征和電化學特征3 種方式,同時對原始時序數據進行處理,組合出較多的新特征。經過對原始數據進行處理后,得到的新特征如表1所示。

表1 處理后特征類別與描述
以上特征較為全面地反映了電池在充放電循環內的電化學表現,但大量的特征會降低計算效率,且將概率空間擴張到極高維度,使模型的隨機取樣都落入高維空間的表面,導致無法獲得最優解。為解決該問題,通過遞歸特征消除(recursive feature elimination)的方式逐步降低特征的維度,這是一種尋找最優特征子集的貪心算法。遞歸特征消除的主要思想是反復構建模型,篩選并排除掉最差的特征,在剩余的特征上重復這個過程,直到篩選出涵蓋信息量最大的少數特征。
本文中使用混合高斯模型(GMM)作為遞歸特征消除的特征篩選器,選擇GMM 的理由是GMM 與HMM 存在算法原理上的相似性,本質都是基于圖算法的貝葉斯概率模型,都包含一個隱變量和一個可觀測狀態。常規的遞歸特征消除算法對機器學習模型訓練得到的權重值取絕對值,并剔除掉最小絕對值的特征。但GMM 作為基模型,不存在可以量化的特征權重值,因此本文使用交叉驗證(crossvalidation)法結合遞歸特征消除法進行特征選擇。
原始數據經過特征工程、統計學特征分析和電化學特征分析后,得到有效特征共54 個,如圖5 所示。這里使用貪心算法的思想,從54 個特征中選出53個特征(共有54種組合方式)分別訓練出GMM 模型并計算最優誤差,選擇損失最小的模型所用的那53 個特征,回到上一步繼續削減特征的數目。如此迭代循環,直到這個過程無法為降低模型誤差帶來收益為止。在特征消除的遞歸過程中,GMM 最優模型的模型損失經歷了逐漸下降再逐漸上升的過程,如圖6所示。

圖5 特征選擇流程
圖6 中的前期損失下降階段主要是由于特征維度的降低,模型更易收斂,最終的收斂結果雖然仍然是局部最優,但距離全局最優越來越近。而后期損失函數的逐漸上升過程主要是由于消除了過多的特征,導致數據的信息丟失過多,使模型難以擬合。所以遞歸特征消除的最佳停止點就是損失函數從下降轉變為上升的臨界點處,在本文中最終保留了14 個特征,如表2所示。

表2 經過特征選擇后的特征

圖6 GMM最優模型的模型損失
為建立HMM熱失控檢測模型,提取每個三元鋰離子動力電池組的全部時序數據作為一組原始數據,將全部的電池數據隨機打亂組成數據集,并將數據集的70%作為訓練集。按照上文的GMM方法,先通過特征組合手段擴充到54 組特征,再使用遞歸特征消除14 組特征向量并組成觀測序列,設置隱狀態數NZ為3,收斂誤差為10-4,BW算法最大迭代次數為100。輸入到模型中,使用BW 算法訓練,得到HMM模型。圖7 所示為經過GMM 迭代優選后的特征,經HMM 模型后學習得到的模型內參數在最終結果的損失函數的降低趨勢。由圖7 可知,模型收斂的速度較快,說明上述GMM 與HMM 結合的方法確實可實現從非時序數據到時序數據的遷移,且在遷移后保持訓練數據在HMM上的收斂,說明模型已經學習到了有效的參數λ。

圖7 模型訓練誤差下降曲線對比
模型識別使用維特比算法作為電池熱失控的檢測算法。選擇全部電池數據的30%作為測試集,抹去其標簽,作為新產生的數據,以與實驗采集頻率相同的每10 s 一幀的數據流量接入訓練好的HMM 模型中,得到的訓練結果見圖8。表3 為模型表現統計。由表可見,HMM 時序模型對電池熱失控的識別效果較好,訓練集準確率可達100%,測試集識別率達到94.1%。

表3 模型表現統計表

圖8 HMM模型訓練結果
為對比GMM-HMM 模型與傳統機器學習模型在熱失控時序檢測上的效果,對該電池型號下熱失控數據在常見電池安全算法的表現進行了測試與對比。其中包括傳統的結合雙指數內阻等效電路模型的卡爾曼濾波方法和常見機器學習方法。
本文中選取的結合雙指數內阻等效電路模型的卡爾曼濾波方法。首先構建多個測試內阻的雙指數模型,將雙指數模型輸入到擴展卡爾曼濾波器中,使用與本文模型相同的數據進行訓練,得到模型參數。然后對訓練好的雙指數模型進行求導,得到所述目標電池在所述預設時間段內的內阻下降速度,識別所述目標電池的熱失控狀態。
為對比本文模型與其他常見的機器學習模型的表現,使用支持向量機(SVM)與人工神經網絡(ANN)作為在同樣訓練數據下的對比模型。由于這兩種模型無法處理變長的數據,因此在數據的預處理上采用時間窗口的處理方式:將經過與GMMHMM 模型相同的遞歸特征消除操作后,將時間序列截取為多個10 min 的時間窗口(共60 幀),每個時間窗口只對應一個標簽,即該窗口最后一個數據幀的標簽。
SVM 熱失控檢測模型使用基于高斯核的“onevs-rest”多元SVM分類模型,輸入為將時間窗口平鋪后的序列,共840個特征(14個遞歸特征消除后的特征×60 幀),輸出為3 個類別(安全狀態Z1、有風險狀態Z2、熱失控狀態Z3),Gamma 值設置為0.07,懲罰系數設置為1.0,正負樣本的權重比為2∶1,并使用啟發式收縮的訓練方法加速訓練。
ANN 熱失控檢測模型搭建了一個5層的神經網絡,其輸入層包含840 個輸入,第1 個隱藏層含有168 個神經元,第2 個隱藏層含有21 個神經元,輸出層的神經元個數為3,分別對應3 個類別(安全狀態Z1、有風險狀態Z2、熱失控狀態Z3)。神經網絡的最后一層的激活函數為softmax 函數,其余激活函數均為sigmoid 函數,損失函數使用交叉熵損失,學習率為10-3。
訓練完畢后的模型效果對比如表4 所示。其結果說明,相比于常見的非時序機器學習算法(支持向量機和人工神經網絡),HMM 模型對動力電池的熱失控檢測準確率更高,且需要的訓練時間大大縮短。且常見的非時序機器學習算法在對數據的處理較死板,只能識別定長的時間序列數據,因此需要更復雜的數據處理。在檢測效果方面,非時序機器學習算法的機器學習算法接收的數據為平鋪后的時序數據,因此數據維度大大增加,再次引發上文提到的維度災難問題,導致模型訓練緩慢,收斂困難,且準確率較低。而業界較為常見的卡爾曼濾波方法對實際電池數據的準確性表現較差,雖然訓練較快且可以處理變長數據,但卡爾曼濾波的模型內部是以線性變換為主,難以反映電池熱失控的復雜內部變化過程。

表4 模型效果對比
在《節能與新能源汽車技術路線圖2.0》規劃中,新能源汽車將在2035 年占汽車總銷量的50%~60%,成為主流車型[19]。而隨著消費者對新能源電動汽車的行駛里程以及安全性能的要求不斷提高,對電池熱失控的實時檢測成為電池安全的重要課題。本文中提出一種基于GMM-HMM 的電池熱失控實時檢測方法。
(1)從實驗室模擬的工況循環周期下動力電池的充放電過程中取得表征電池狀態的原始特征,并使用基于GMM的遞歸特征消除方法選擇最優特征。
(2)使用基于 HMM 的鋰電池熱失控識別算法,通過 Baum-Welch 算法進行模型訓練,分別對動力電池3 種不同的熱失控狀態(安全狀態Z1、有風險狀態Z2、熱失控狀態Z3)進行建模。
(3)建立 HMM 模型后,將當前的觀測信號通過維特比算法,對觀測序列進行解碼,計算出當前模型是否處于熱失控狀態。模型對比結果表明,HMM 模型與卡爾曼濾波、支持向量機和人工神經網絡模型相比,對鋰電池的熱失控檢測準確率更高,訓練時間短,模型收斂快,且可以處理任意變長的數據。
下一步的工作將著重于訓練數據的增廣與多樣化處理,對模型標定進一步優化,嘗試采用無監督學習方法對模型標簽進行自動標注,從而提高模型的準確率與泛化性能。