基于SDAE-Transformer-ECA网络的锂电池剩余使用寿命预测
2023-10-20宋兴海张小乾梁惠施史梓男李棉刚贡晓旭
宋兴海,张小乾,梁惠施,史梓男,李棉刚,周 奎,贡晓旭
(1西南科技大学,四川 绵阳 621010;2清华四川能源互联网研究院,四川 成都 610213)
锂离子电池(简称锂电池)以其能量密度高、功率大和自放电率低等优势而广泛应用于储能领域[1-2]。然而,锂离子电池在长时间使用中会发生性能和寿命的衰减,且成组电池中个别电芯性能的衰减极易导致严重安全隐患,这已成为锂电池安全性与可靠性的持续挑战。因此,准确预测锂电池剩余使用寿命(remaining useful life,RUL)[3]对完善电池管理策略,降低电池运行风险、提高电池运行稳定性具有重要的意义。在过去的几十年中,众多研究人员已经开发了许多方法和技术来预测锂电池的RUL,这些方法大致可分为基于模型的方法[4]和基于数据驱动的方法[5]。
基于模型的方法是透过电池的内部机理,来搭建锂电池退化模型[6],然后进行优化求解的一类算法。如文献[7]提出了一种基于可在线实现的分数阶等效电路模型(fractional equivalent circuit model,FOECM)的RUL预测算法,但是这类等效电路算法模型复杂,且是基于特定的测试条件和电池构造的模型,因此适应性较差。文献[8]通过电化学模型研究锂电池的退化规律,来实现RUL 的预测,但电化学模型参数难以估计,且模型受到多种因素的影响,例如电池状态和外部环境等。文献[9]构建了基于模型的无迹粒子滤波和最优组合策略结合的RUL预测方法,此类改进粒子滤波的算法一定程度上克服了粒子退化和粒子多样性匮乏等问题,但模型的建立和求解过程存在大量的运算增加了模型的复杂度。总的来说,基于模型的算法存在参数难以估计、受多种因素影响以及模型过于复杂等问题,因此在实际工程应用中难以实现。
相比之下,基于数据驱动的方法不需要考虑锂电池内部特性,它通过分析锂电池历史运行数据探究电池老化的内在规律[10],从而实现锂电池RUL预测,因此更多学者用此类算法做研究。如文献[11]提出了一种以支持向量机(support vector machine,SVM)算法进行在线估计的RUL 方法。文献[12]采用高斯过程回归(Gaussian process regression,GPR)和主成分分析(principal component analysis,PCA)结合的方法实现了锂电池RUL预测。文献[13]针对核函数难以确定的问题,提出采用平方指数协方差函数和周期协方差函数的和作为GPR 模型的协方差函数,进行了RUL预测。文献[14]针对网络训练时间长、模型调参困难以及预测结果不稳定等问题,利用相关向量机(relevance vector machine,RVM)实现了RUL预测,并通过量子粒子群对RVM进行了优化,保证了预测输出结果的稳定性。然而,这些传统的方法往往存在特征设计困难和泛化性不足等问题。随着软硬件设施的快速发展,深度学习算法靠着其处理复杂非线性关系的强大能力,受到了各大领域的广泛关注。目前也有很多研究者采用此类算法进行电池RUL预测研究,主要关注网络构建、数据去噪和数据增强3个方面。
网络构建方面,文献[15]利用循环神经网络(recurrent neural network,RNN),以容量老化数据作为输入,较好地对电池老化状态做出了预测,但是RNN 本身存在过度拟合和梯度消失的劣势。文献[16]设计了长短期记忆递归神经网络(long short term memory recurrent neural network,LSTM-RNN)来构造明确面向容量的RUL 预测器,该方法减小了RNN 的梯度消失,缺点是该网络结构复杂且训练参数较多。文献[17-18]以门控卷积单元(gate recurrent unit,GRU)作为RUL 预测的主干网络,使得模型在训练时间较短的情况下,仍能保持不错的精度,但此类网络能够储存的长期依赖性和记忆能力更弱。文献[19]设计了一种堆叠双向长短期记忆(bi-directional long short-term memory,Bi-LSTM)网络的SOH 估计方法,该方法能够有效地适用于快速充电器,但由于Bi-LSTM 需要在每个时刻保留原始序列和反向序列的全部信息,导致其计算量和存储复杂度大幅增加,不利于工程应用。
数据降噪方面,一方面电池容量因其与电池寿命的强相关性,常常作为电池RUL 预测中非常重要的一个特征,另一方面,电池在充放电过程中大多存在容量恢复现象,该现象的直接影响是给容量数据的长周期下降趋势叠加了短周期上升的噪声,将严重影响将容量作为直接特征的电池RUL 预测效果。考虑到该问题,目前已有一些文献通过分离、去除的特征选择方法进行了研究。如文献[20]通过小波分解将序列分解成波动部分和平滑下降部分来分别预测,取得了不错的RUL 预测结果,但小波分解对数据信号的平滑性要求很高且参数选择敏感。文献[21-22]分别用经验模态分解(empirical mode decomposition,EMD)和集合经验模态分解(ensemble empirical mode decomposition,EEMD)对电池数据去噪处理,这两种方法比小波分解适应性更强,但容易出现模态混叠现象。文献[23]使用变分模态分解(variational modal decomposition,VMD)对RUL 进行预测能够有效避免模态混叠现象,并且对噪声的鲁棒性强,其缺点在于需要人工确定模态个数,寻优过程比较困难。
数据增强方面,注意力机制可以通过加权考虑序列中的每个元素,从而使得序列中有用信息在训练过程不会丢失。该方法一定程度上缓解了序列长距离依赖性,因此一些文献也采用此类算法进行电池RUL预测研究。如文献[24]提出了一种具有注意力机制的Bi-LSTM模型,实现了RUL的在线预测。文献[25]提出了一种深度神经网络和双重注意力机制的混合模型,通过注意力捕获电池容量再生现象,从而实现了RUL 的预测。综上所述,找到一种匹配的注意力机制能够减少噪声对模型的影响,提升模型的效率和准确性。
综上所述,尽管大多数现有的深度学习算法在锂电池RUL 预测研究中都表现出了良好的性能,但它们仍存在以下两个主要问题。
(1)因为数据的长期依赖性,导致网络容易出现梯度消失和梯度爆炸等问题,而且计算量和存储复杂度也会增加。
(2)电池容量原始数据一般存在容量恢复现象和数据采集误差等噪声污染,这些噪声会严重影响数据驱动方法的性能。
因此,本文提出了一种基于SDAE-Transformer-ECA 的锂电池RUL 预测网络,以实现提高锂电池RUL预测的准确性。该工作的主要贡献如下:
(1)采用变形器(Transformer)[26]网络来捕获序列数据之间的长期依赖性。Transformer 利用自注意力机制使输入序列中的所有元素进行信息聚合,从而捕获数据的全局特征。它与RNN、GRU 和LSTM算法相比,在处理长序列数据、建模全局信息需求和计算效率等方面更具优势。
(2)针对容量数据存在的噪声干扰,利用堆叠去噪自编码器(stacked denoising auto encoder,SDAE)[27]对容量数据进行重构,使其在去噪的同时丰富数据的特征。SDAE是使用去噪准则来处理无监督目标,指导学习更高级表示特征的一种方法,其在特征提取、噪声处理、自适应性及运算速度等方面均优于VMD。
(3)在Transformer 模型中嵌入高效通道注意力[28](efficient channel attention,ECA),使模型可以更好地捕捉输入数据中的通道间关系,从而提高了模型的表示能力。
本文采用美国马里兰大学先进生命周期工程中心(Center for Advanced Life Cycle Engineering,CALCE)和美国航空航天局(National Aeronautics and Space Administration,NASA)公开的两个公共电池容量数据集对所提模型的准确性和泛化性进行了验证,验证结果表明本文模型的准确性和泛化性均优于RNN、LSTM、GRU 和Bi-LSTM 四种现有算法。
1 基本理论
1.1 SDAE网络
SDAE是堆叠自编码器的一种改进版本,在机器学习领域具有广泛的应用价值。它通过加入噪声的训练方式提高模型鲁棒性,从而有效避免了过拟合现象。同时,其本身是一个深层次的特征提取器,能够使模型更准确地学习到数据的抽象表示,从而提高模型的泛化性。因此本文使用SDAE网络对锂电池容量数据进行去噪和丰富特征。SDAE网络的具体结构如图1所示。
图1 SDAE网络结构Fig.1 SDAE network structure
该网络训练过程如下:
第2步:根据式(2)对信号x͂进行编码,得到第一个隐层特征h1:
式中,σE为编码部分的激活函数;W1为连接输入层到第1个隐藏层的权重矩阵;b1为编码过程的偏差。
第3 步:根据式(3)对隐层特征h1进行解码重构,得到重构后的输出̂:
式中,σD为解码部分的激活函数;W2为隐藏层到输出层的权重矩阵;b2为解码过程的偏差,本文中采用的激活函数均为ReLU函数。
第4步:采用最小均方差式(4)作为优化代价函数,然后采用梯度下降方法更新权重和偏置。
式中,J(,̂)为重构误差;n为样本数量。
依次重复前面第2~4 步进行迭代,直到更新出最后一层DAE模型的最优权重Wk和偏置bk以及隐藏特征hk。
1.2 Transformer网络
Transformer 是一个利用注意力机制来提高模型训练速度的网络,其编码器部分类似一个大型的多层感知机(multilayer perceptron,MLP),数据可以同时输入,并行运算。它在处理长序列数据上的能力相当出色,并且能够有效解决梯度爆炸的问题,因此可用于锂电池的RUL 预测。Transformer网络的编码结构如图2所示。
图2 Transformer网络编码结构Fig.2 Transformer network encoder structure
Transformer的算法步骤如下:
(1)通过位置编码为输入向量嵌入位置信息,使模型能够捕捉容量输入序列的顺序;
(2)通过多头自注意力计算每个输入向量与所有输入向量的相似度,然后加权求和得到每个输入向量的新表示;
(3)由前馈网络对自注意力处理后的向量进行非线性变换,使学习到的特征更为抽象;
(4)最后由线性层进行特征映射得到预测序列结果。
在网络中层间采取的残差连接和归一化操作,目的是解决梯度爆炸和保证输出规范化。
在本文中,使用不同频率的正弦和余弦函数进行位置编码,具体如下:
式中,PE 表示位置编码矩阵;s表示Transformer模型中每个位置向量的维度;t表示位置编码的位置;k是0~(s/2-1)之间的整数值,表示编码向量的维度索引。
多头自注意力旨在使模型能够同时关注多个重点区域,忽略序列之间的距离。多头自注意力的数学表达式如下:
式(7)中,Q(query)、K(key)、V(value)是输入序列由3 个线性映射层映射得到的3 个向量,其维度分别是dq、dk、dv;Concat表示拼接函数,作用将所有head的输出结果拼接起来。
式(8)中,W Q i∈Rs×dk、W K i∈Rs×dk、W V i∈Rs×dk、W iO∈Rhdv×s分别表示第i个head 的Q、K、V向量对应的权重矩阵和降维得到最终输出的权重矩阵。一般地,自注意力头数设置为8,即h=8,而dk=dv=s/h。Scaled dot-product注意力定义如下:
式中,dh=s/h;softmax 为激活函数;KT为K的转置,该注意力的定义避免了梯度消失。
Transformer 的前馈网络由两个线性变换层和一个激活函数组成,其中第一个全连接层的激活函数为ReLU激活函数。可以表示为:
式中,W3、W4为分别为两个线性层的权重;b3、b4为两个线性层的偏置。
1.3 ECA网络
为防止在捕获锂离子电池数据信息时,因输入特征的长期相关性导致的信息冗余和局部丢失等问题,本模型引入了与Transformer 内部的注意力不同的注意力机制——ECA。ECA 是通过分析压缩和激励网络(squeeze-and-excitation networks,SE-Net)[29]并对SE模块改进得到的一种模型,是一种高效的通道注意力模块。它考虑到降维操作会对通道注意力的预测产生负面的影响,且获取的通道依赖性效率低,因此通过一维卷积避免降维的同时可以捕获通道之间的相关性,得到具有通道注意力的特征︵X*。如式(11)所示:
式中,σ为激活函数;C1D 代表一维卷积;k为卷积核大小;X*为多通道的特征。
2 SDAE-Transformer-ECA模型构建
2.1 SOH和RUL定义
SOH 指的是电池的健康状态,一般以百分比的形式表示电池从寿命开始到寿命结束期间所处的状态,这是定量描述当前电池的性能状态,基于容量的定义如式(12)所示:
式中,LBCt为锂电池当前最大允许放电容量;LBC0为锂电池标称容量。
一般地,电池的失效阈值为额定容量的70%~80%。锂电池的RUL 是电池在当前条件下的最大可用容量衰减到失效阈值所经历的充电/放电循环的次数。如式(13)定义:
式中,NEOL为SOH值首次失效阈值时经历的总循环次数;n为电池当前充放电循环次数,本文设定的失效阈值是额定容量的70%。
2.2 SDAE-Transformer-ECA模型架构
本工作将SDAE、Transformer 和ECA 三个网络进行组合搭建构成SDAE-Transformer-ECA网络模型,三个网络分别进行去噪并特征丰富、捕获序列时序特征和特征整合,利用该网络对电池容量序列数据进行合理预测,具体的预测流程如图3所示。
图3 SDAE-Transformer-ECA网络整体流程Fig.3 Overall flow chart of SDAE-Transformer-ECA network
SDAE-Transformer-ECA模型的训练流程如下:
Step1:选择电池容量作为表征电池老化的健康特征;
Step2:取训练集中t个循环的容量序列X=(xj+1,xj+2,…,xj+t)作为输入,预测下一个循环的容量,其中j=0, 1, 2 …。为减小输入数据分布对网络的影响,首先需要对数据进行归一化处理,归一化的方法如下:
Step5:利用ECA注意力对捕获的时序特征X *进行自注意力通道间的交互、整合,从而实现权重的重新调配得到;
SDAE-Transformer-ECA模型的预测流程如下:
Step1:将测试集的前i~t+i个循环的容量作为模型输入,预测t+i+1 个循环的容量,其中i=0, 1,2 …
Step2:将预测t+i+1的容量结果与失效阈值进行对比,若低于失效阈值则RUL 值为i,否则将t+i+1 的容量预测值回填至原输入序列,输入序列向前滑窗1 个循环,即i+1~t+i+1 个循环的容量序列作为模型输入,进行迭代循环预测。
Step3:对预测容量和RUL值进行评价指标的计算,作为预测模型性能的评价标准。
3 实验验证与结果分析
3.1 数据集和评价指标
本文使用CALCE公共数据集的电池容量数据,来对SDAE-Transformer-ECA 模型进行实验验证。该数据集没有采取人为清洗的数据,目的是使搭建的网络能够适用于实际工程应用。其中,CACLE选取的4个电池分别是CS2_35、CS2_36、CS2_37、CS2_38,它们的充电截至电压为4.2 V,放电截至电压为2.7 V,额定容量为1.1 Ah。最后本工作采取留一评估法来评估本文模型,选取其中一个电池作为测试集,其余电池作为训练集,所有电池在经历10次迭代之后取平均得分。
为定量评估本文模型的有效性,本文选取领域内3个常见指标对所提预测模型进行评估。
电池RUL预测的相对误差(relative error,RE)计算公式如式(15)所示:
式中,RULpr、RULtr分别是电池容量衰退至失效阈值时对应放电循环次数的预测值和真实值。
电池剩余容量预测的平均绝对误差(mean absolute error,MAE)计算公式如式(16)所示:
电池剩余容量预测的均方根误差(root mean square error,RMSE)响应误差分布计算公式如式(17)所示:
以上3 个指标中,RE 与电池的RUL 结果呈高度相关,因此本文将其作为最主要的评价指标。
3.2 参数设置
本文所有实验结果均在具有12th Gen Intel(R) Core (TM) i5-12490F@2.50GHz CPU, 16 GB RAM 和NVIDIA GeForce RTX 3070 GPU (8 GB 缓存)、python3.7、pytorch1.8.0 软硬件设施上实验得到。本文模型的函数及训练得到的关键参数见表1。
表1 SDAE-Transformer-ECA模型参数Table 1 SDAE-Transformer-ECA Model parameter
采样窗口(s)可以设置为序列长度的5%~10%。在本文的实验中,对于CALCE和NASA,s分别固定在64和16。
3.3 对比分析
为了验证本文所提算法的预测能力及有效性,本文基于CACLE 四种电池与RNN、LSTM、GRU和Bi-LSTM等4种现有算法进行对比分析,对比结果见表2,其中最优值由粗体进行显示。
表2 CACLE性能评价Table 2 CACLE performance evaluation
对于RE、MAE和RMSE而言,其值越小,代表模型的预测准确性越高。表2给出了不同算法下4 种电池预测结果误差的平均值,结果显示本文所提模型的误差均低于4种现有算法,具有较高准确性。本文所提的SDAE-Transformer-ECA模型的平均RE、平均MAE 和平均RMSE 分别为1.15%、2.45%和3.29%,与次优算法Bi-LSTM相比,平均RE 相对降低了62.67%,平均MAE 相对降低了40.68%,平均RMSE相对降低了34.33%。
另外本文进行了模型消融实验,从表2 后3 行结果可以看出Transformer 本身不能直接用于电池的RUL 预测,这是因为在电池容量变化的时间序列中,存在一些噪声和不规律性,如果直接将电池容量序列作为模型的输入,会使得模型学到这些噪声和不规律性,并且不能很好地区分这些变化是由于电池健康状态的衰减造成,还是由于其他原因导致的。而当SDAE对输入容量序列进行特征提取和去噪之后,Transformer 网络就可以完成电池RUL 的预测任务且精度超过了RNN,预测结果也较为稳定。考虑到Transformer 的自注意力是按照位置计算的,它会将所有的通道考虑在内,忽略通道之间的相关性。因此利用ECA 注意力机制来捕获和利用通道之间的相关性,帮助Transformer 更好地表达输入序列的特征和减少计算量,表2 中后两行的结果验证了加入ECA 的有效性。
图4 是 基 于CS2_35、CS2_36、CS2_37 和CS2_38 4 种电池不同算法下的容量预测结果,从图中可以看出本文模型的预测结果更接近于真实的电池容量退化曲线,预测的结果更稳定。
图4 不同算法的4组电池容量预测结果对比Fig.4 Comparison chart of 4 groups of battery capacity prediction results of different algorithms
图5 是本文模型及4 种对比算法的容量误差对比,从图5中的误差结果可以看出,本文所提模型的容量预测值和真实值相当接近,误差曲线也较为平稳,具有较高的精度和适应性。
图5 本文模型及4种对比算法的容量误差对比Fig.5 Comparison chart of capacity error of the model and four comparison algorithms
图6 是本文模型对于4 种电池的RUL 预测结果,从图可以看出,当CS2_35、CS2_36、CS2_37和CS2_38 4 种电池RUL 预测起点为64 时,预测值与真实值之间的绝对误差分别是20、1、6 和0,该结果表明本文所提的SDAE-Transformer-ECA模型具有可接受的准确性。
图6 4种电池的RUL预测结果Fig.6 RUL prediction results for four types of batteries
3.4 模型泛化性验证
在NASA所提供的电池数据集上进行了本文所提的SDAE-Transformer-ECA模型的泛化性,该实验数据与CALCE 数据在类似实验条件下取得,但电池的特性不同,所以选用本数据可以更好地反映模型的泛化性。本节选取B0007号电池的数据进行验证,该电池的充电截止电压为4.2 V,放电截止电压为2.2 V,额定容量为2 Ah。图7 是本文模型与4 种对比算法的容量预测对比及容量误差对比。本文模型对B0007电池的预测结果较为稳定,RE、MAE 和RMSE 分别是1.98%、3.12%和4.16%,与另外4种算法对比,预测准确性较高,因此证明了本文模型的泛化性。
图7 本文模型与4种对比算法的容量预测对比及容量误差对比Fig.7 ln this paper, the capacity prediction comparison chart and capacity error comparison chart of the model and the four comparison algorithms are compared
4 结 论
为了提高锂电池RUL 预测的准确性,本文将SDAE、Transformer 和ECA 相结合,提出了SDAE-Transformer-ECA预测模型。实验验证和分析得到如下结论:①SADE是一个很好的特征降噪网络,能够有效减少容量恢复等噪声对数据驱动的影响,提高预测精度;②Transformer 通过内部注意力和残差网络能够高效捕获时序特征及减小梯度爆炸;③ECA网络能够捕获和利用通道之间的相关性,提高预测精度和效率。从实验结果来说,本文所提的SDAE-Transformer-ECA模型能够很好地描述锂离子电池的衰减特性。
实际工程数据采集困难且工况复杂多变,而公共实验数据和工程实际数据相比,分布上存在着巨大差异,这些因素造成了模型的一对一。考虑到这些问题,本研究后续将尝试提取满足实际工程需求的新特征,并利用知识迁移的方法来提高模型的泛化能力。