APP下载

基于CNN-Bi-LSTM 的锂离子电池健康状态估算

2023-11-10宋婷婷

山东电力技术 2023年10期
关键词:时序充放电特征提取

李 凯,胡 丽,宋婷婷

(国网山东省电力公司潍坊供电公司,山东 潍坊 261014)

0 引言

储能系统是电力系统向高比例新能源转型的重要支撑。锂离子电池具有能量密度高、使用寿命长和环境污染小等优点,被广泛应用于电网储能系统中[1]。为保证储能系统的安全性和可靠性,高效且稳定的电池管理系统至关重要。随着电池充放电循环次数的增加,电池内部会发生不可逆的老化,导致内阻增加、容量降低、输出特性下降等,进而影响电池的使用[2]。电池健康状态(state of health,SOH)是电池管理系统中的重要参数,可反映电池的老化状态。SOH 的准确评估对实现电池安全监测和预测性维护具有重要意义。然而电池SOH 无法直接监测获取,因此,寻找精确的SOH 估算方法成为研究人员的关注热点。

SOH 估算方法通常分为两大类:基于模型的方法和基于数据驱动的方法[3]。基于模型的方法通过建立一个能够表征电池老化的等效模型并结合自适应算法实现SOH 估算。文献[4]在二阶RC 等效电路模型的基础上,应用无迹卡尔曼滤波估计欧姆内阻,并利用欧姆内阻和SOH 的对应关系实现了SOH估算。然而,由于电池退化机制的复杂性,找到能准确反映电池老化的等效模型非常困难,而简单的等效模型会导致SOH 估算不准确。

考虑基于模型的SOH 估算方法所面临的上述挑战,在拥有足够的电池老化数据时,基于数据驱动的SOH 估算方法更受关注。该方法不需要建立电池模型,聚焦于电池老化数据本身的数量和质量[5]。此外,随着机器学习和云计算技术的快速发展,相比于传统机器学习,深度学习能够自动挖掘特征因子,预测精度高,对非线性系统的分析效果更优[6]。深度学习常用的神经网络模型有卷积神经网络(convolutional neural networks,CNN)、长短期记忆(long short-term memory,LSTM)神经网络及注意力机制(attention mechanism,AM)神经网络等[7]。文献[8]基于迁移学习建立了包含LSTM 和全连接层的神经网络模型,实现了SOH 精确估算,但是输入特征数据获取过程较为复杂。文献[9]建立了基于CNN 的神经网络模型,选取锂离子电池充电过程中的电压、电流和温度数据作为输入,利用CNN 自动提取特征,完成SOH 估算,但该方法未探究电池循环老化的时序相关性。文献[10]建立了基于AM 的双向长短期记忆(bi-directional long short-term memory,Bi-LSTM)网络模型,以平均充放电数据及容量为输入特征,且充分考虑了老化序列数据的前后依赖联系,精确估算SOH,但该方法对单次充放电循环的老化特征提取不够全面。

综上所述,提出一种基于CNN-Bi-LSTM 的锂离子电池SOH 估算方法。该方法既具备强大的空间特征提取能力,又充分考虑了老化时序数据的前后关联,解决了空间和时间特征提取不充分的问题。该方法仅需要输入单个充放电采样周期内的平均电流、平均电压和平均温度数据即可高精度估算一次充放电循环后的SOH。相比于其他基于深度学习的SOH 估算方法,该方法估计精度高且特征数据获取简单,具有更高的应用价值。

1 相关方法分析

1.1 卷积神经网络

卷积神经网络[11]是一种深度学习模型,常用于处理网格数据。卷积操作是通过在网格数据上滑动卷积核来实现的,每次卷积生成的输出值是卷积核所覆盖的输入值的加权和。卷积神经网络可拥有多个卷积核,具有局部感知和权值共享的特点。因此,卷积层可以捕获位移不变性特征,提高神经网络鲁棒性。CNN 特征提取过程如图1 所示。

图1 CNN特征提取过程Fig.1 The process of CNN feature extraction

由于卷积核的初始化是随机的,所以使用多个卷积核可以学习到不同的特征,这有利于深入挖掘输入特征之间的联系,充分提取局部信息的特征。同时,卷积核的权值共享性质能大大降低网络训练参数数量,减少模型训练的内存和缩短时间成本。

1.2 LSTM循环神经网络

LSTM[12]是一种改进的循环神经网络(recurrent neural network,RNN),被用于解决长时间序列预测中产生的梯度爆炸和梯度消失问题。LSTM 在RNN基础上增加了三个门结构,传统LSTM 单元结构[13]如图2 所示,分别为遗忘门、更新门和输出门,使LSTM 具备选择性记忆能力,因此能够学习长时间的依赖关系。图2 中Ct-1为第t-1 次迭代的细胞状态向量,ht-1为t-1 次迭代后的输出向量,xt为第t次迭代的输入向量,ft为第t次遗忘门输出向量,σ为sigmoid 函数,tanh 为tanh 函数,it为第t次输入门输出向量,at为第t次候选细胞状态向量,ot为第t次输出门输出向量,ht为第t次迭代的输出向量,Ct为第t次迭代的细胞状态向量。

图2 LSTM单元结构Fig.2 LSTM cell structure

LSTM 单元迭代的第一步是经过遗忘门遗忘掉部分长期记忆信息,激活函数采用的是sigmoid 函数,其读取ht-1和xt,输出一个元素值均介于0 到1的向量ft。

式中:Wf为遗忘门的权重矩阵;bf为遗忘门的偏置项。当ft的元素值为1 时表示完全记忆,当元素值为0 时表示完全遗忘。下一步,遗忘门的输出至更新门,更新门的作用是更新单元当前的长时记忆状态,通过sigmoid 函数来确定本次迭代保存的信息数量,并通过tanh 函数来建立一个候选细胞状态向量at。

式中:Wi和WC分别为输入门和候选细胞状态权重矩阵;bi和bC分别为输入门和候选细胞状态偏置项。因此可得到状态更新公式为

式中:⊙为阵列乘法,即向量各元素相乘。

最后,由输出门结合更新后的长时记忆变量、上一次迭代的输出和本次迭代的输入得到本次迭代的输出,通过sigmoid 函数来确定本次迭代输出信息数量为

式中:Wo和bo分别为输出门的权重矩阵和偏置项。

1.3 Bi-LSTM 循环神经网络

Bi-LSTM[14]具有两个独立的LSTM,两个LSTM连接到同一个输出层。输入序列分别以正序和逆序输入两个LSTM 神经网络进行特征提取,对提取的两个特征向量进行合并,合并结果为最终的Bi-LSTM 输出。Bi-LSTM 不仅可以追溯电池老化过程的历史,还可以考虑未来的老化信息。结合上述LSTM 的原理,Bi-LSTM 向前迭代过程的LSTM 单元输出状态表达式为

Bi-LSTM 向后迭代过程的LSTM 单元输出状态表达式为

向前和向后过程输出状态一一对应加权合并,得到Bi-LSTM 的输出状态表达式为

式中:wt为向前LSTM 第t次迭代的输出权重矩阵;vt为向后LSTM 第t次迭代的输出权重矩阵;bt为Bi-LSTM 第t次迭代的偏置向量。

2 基于CNN-Bi-LSTM 的锂离子电池SOH估算

将CNN-Bi-LSTM 用于锂离子电池SOH 估算,CNN 可设置多个卷积核而具备多次提取特征的能力,能够反复挖掘网格输入数据间的联系,从有限的输入数据中自动提取出SOH 的强相关特征。锂离子电池随着充放电循环次数的增加而逐渐老化,该过程可认为是一个时间序列过程。Bi-LSTM 可以对CNN处理过的老化序列数据进行二次挖掘,双向抓取序列特征,充分考虑SOH 中隐含的时序联系。CNN-Bi-LSTM 模型分别从空间和时间两个维度上挖掘老化特征,最终实现高精度SOH 估算。此外,选取的输入特征为平均放电电压、平均放电温度和平均充电电流,这些特征具有监测难度低和数据处理简单的优点。该模型基本框架如图3 所示,输入网格数据首先经过卷积层,该层作用是按时间方向自动提取输入网格数据的空间特征。为不破坏老化特征输入数据的时序相关性,选用一维卷积神经网络,设计卷积核宽度为1,长度为输入特征数。卷积后会经过Flatten 层,该层作用是对卷积后的多维数据结构进行降维,转换为二维数据。之后的Bi-LSTM 层会对经卷积特征增强后的时序老化数据进行二次特征提取,前后双向充分抓取老化序列数据的时序特征。

图3 CNN-Bi-LSTM 神经网络模型基本框架Fig.3 The basic framework of the CNN-Bi-LSTM neural network model

所建立的CNN-Bi-LSTM 神经网络共12 层,可被划分为空间特征提取和时序特征提取两大部分,网络结构具体设置如表1 所示。

表1 CNN-Bi-LSTM 网络结构Table 1 The CNN-Bi-LSTM network structure

2.1 空间特征提取

利用CNN 实现空间特征的自动提取。第1 层为输入层,输入为(N,1,3)的张量,N为超参数batch的大小;第2 层为一维卷积层,包含256 个卷积核,卷积核大小为(1,3),用于自动提取输入网格数据特征,选择ReLU 作为激活函数可以提高神经网络学习效率,且避免了梯度消失问题;第3 层同为一维卷积层,但包含128 个卷积核,其他设置与第2 层相同,输入数据在经过两次卷积后,输出(None,1,128)的张量,None为不确定值;第4 层为Flatten 层,输出(None,128)的张量;第5 层为RepeatVector 层,将二维数据复制30 次输入LSTM 层,输出(None,30,128)的张量,第4、5层是一维卷积层到LSTM 层的必要过渡。

2.2 时序特征提取

利用Bi-LSTM 实现时序特征的充分提取。第6层是LSTM 层,神经元个数为100,激活函数为tanh,输出(None,30,100)的张量;第7 层是Dropout 层,Dropout值设置为0.2,Dropout 层可以提高模型泛化能力,防止过拟合;第8、9 层与第6 层相同,LSTM 层的激活函数均为tanh,原因是以tanh 作为激活函数的神经网络训练速度更快,其可以利用GPU 加速训练;第10 层为Bi-LSTM 层,神经元个数为128,激活函数为ReLU,输出(None,256)的张量,用于双向提取老化序列数据的时序特征;第11 层为全连接层,含有100 个隐藏节点,激活函数为ReLU,输出(None,100)的张量;第12 层为输出层,本质是一个全连接层,输出(None,1)的张量。

2.3 模型训练及测试

CNN-Bi-LSTM 模型训练和测试完整过程如图4 所示,具体步骤如下。

图4 模型训练与SOH估算流程Fig.4 Model training and SOH estimation process

第1 步:处理锂离子电池老化数据,从中获取平均放电电压、平均放电温度和平均充电电流,并根据SOH定义将数据中给出的放电容量计算转化为SOH。对输入特征数据进行筛选、降维和归一化处理,其中筛选过程为将数据集中阻抗等多余数据、重复数据和未完全充放电的数据进行删除;降维过程为将每一次的电池充放电数据取平均。归一化过程为找到训练集中最大值和最小值,对所有数据进行归一化。划分训练集和测试集,并把训练集打乱,提高模型泛化能力。

第2 步:初始化CNN-Bi-LSTM 神经网络参数,设置神经网络超参数,设计优化函数、目标函数以及性能指标。以平均绝对误差SME最小作为目标函数,并选用Adam 自适应优化器,数据遍历次数设置为300 次,batch 大小设置为8。

第3 步:输入训练数据,完成模型训练,并保存。

第4 步:加载训练好的模型,对测试数据进行SOH 估算,并对估算结果进行分析,检验CNN-Bi-LSTM 神经网络的性能。

3 实验验证

3.1 实验平台

采用Jupyter Notebook 编程软件在Python 3.8.13环境下构建CNN-Bi-LSTM 神经网络,基于tensorflow 2.5.0 框架完成数据处理、神经网络训练和SOH 估算。

3.2 实验数据

利用美国国家航空航天局(national aeronautics and space administration,NASA)艾姆斯研究中心[15]数据存储库中的锂离子电池老化数据集,验证文中提出的方法。选择两个电池的寿命周期数据集,分别为B0005 和B0006。所有电池的充放电过程都是在室温下进行的,每个数据集都记录了电池的充电、放电、温度和阻抗等信息,电池的额定容量为2 Ah。循环老化充电过程是保持1.5 A 的电流恒流充电,直到电池电压达到4.2 V,然后继续恒压充电,直到充电电流降至20 mA 充电完成;放电过程是保持2 A 电流恒流放电,当电压分别达到2.7 V 和2.5 V 放电完成。SOH 有多种定义方式,主要有基于内阻、容量和循环次数三种。考虑到验证数据集中包含放电容量数据,从容量角度定义SOH 更为精确且参数易获取[16],因此本文从容量角度定义SOH。

式中:SOH为电池健康状态指标;Qi为第i次充放电循环中的放电容量;Qfre为电池的额定容量。

为获取训练和测试所需的平均放电电压、平均放电温度和平均充电电流数据,对B0005 号电池和B0006 号电池老化数据集进行筛选、降维和归一化,分别得到了167 条数据集。选取数据的前75%(即前125 条)作为训练集,后25%(即后42 条)作为测试集。B0005 和B0006 电池的循环老化容量衰减曲线如图5 所示。

图5 电池容量衰减曲线Fig.5 Battery capacity degradation curve

3.3 评价标准与结果分析

选用平均绝对误差SME和均方根误差SRME来评价分析CNN-Bi-LSTM 神经网络模型的性能。二者越接近于零,代表模型估算的结果越接近真实值。SME和SRME的表达式如下:

式中:n为测试样本数;yi为SOH 真实值为SOH估算值。

图6(a)与图6(b)分别为CNN-Bi-LSTM、CNNLSTM 和Bi-LSTM 在B0005 号电池测试集上的估算结果对比与误差对比;图7(a)与图7(b)分别为CNNBi-LSTM、CNN-LSTM 和Bi-LSTM 在B0006 号电池测试集上的估算结果对比与误差对比。三种模型均在相同超参数设置下完成训练。由图6 和图7 可知,本文提出的CNN-Bi-LSTM 在两个测试集上的SOH估算结果都更接近真实值,且大部分数据点相对误差保持在2%以内,误差波动较小,未出现较大的偏差。原因在于CNN-Bi-LSTM 不仅能够从简单的输入数据中自动提取空间特征,而且可以从前和后两个方向充分考虑SOH 的时序关联性,深入挖掘时间特征。

图6 B0005号电池测试结果Fig.6 Battery B0005 test results

图7 B0006号电池测试结果Fig.7 Battery B0006 test results

表2 中分别给出了三种不同的神经网络模型在不同数据集上的估算性能指标。与Bi-LSTM 相比,CNN-LSTM 在B0005 号电池和B0006 号电池的测试结果中SME分别降低了1.69 和0.23,SRME分别降低了1.52 和0.23。结果表明,CNN 的应用十分重要,其从有限的输入数据中提取有效特征是高精度估算的关键。与CNN-LSTM 相比,CNN-Bi-LSTM 在B0005号电池和B0006 号电池的测试结果中SME分别降低了0.07 和0.35,SRME分别降低了0.19 和0.39。结果表明,双向提取时序关联信息能够进一步提高模型精度。文中所提出的方法,除个别点之外,估算结果相比于其他两种方法更接近真实值。应用文中方法所得到的模型在两组老化测试集上的SME和SRME分别在1.07 和1.32 以下,证明文中方法在大大降低输入特征数据监测量及处理难度的同时,又能保证模型精度,具有高鲁棒性和强适应性。

表2 模型评价结果对比Table 2 Model evaluation results comparison

由表2 可得,在两次测试集上,基于CNN-Bi-LSTM 模型的SOH 估算结果评价指标SME和SRME均为最低,这意味着相比于其他两种模型,本模型拥有更高的准确率和精度。

4 结束语

提出一种基于CNN-Bi-LSTM 的锂离子电池SOH 估算方法。该方法将循环充放电的平均放电电压、平均放电温度和平均充电电流作为输入数据,即可估算出一次充放电循环后的SOH 值。该方法结合了CNN 强大的网格数据特征提取能力及Bi-LSTM 全面的时序记忆能力,充分挖掘了输入数据的空间特征和电池老化过程的时序特征。此外,该方法输入特征数据获取简单,减少了老化数据监测和处理设备的内存占用。该模型在NASA 两组老化测试集上的平均绝对误差和均方根误差分别在1.07 和1.32 以下,优于其他两种对比模型,证明了模型的合理性及估算SOH 的精确性。所提方法可以有效应用于电网储能系统电池健康状态管理。本研究目前仅在NASA 两组老化测试集上验证了所提方法的正确性,为保证实际应用的泛化性能,下一步需要在规模更大和多样性更丰富的数据集上进行验证。

猜你喜欢

时序充放电特征提取
基于Sentinel-2时序NDVI的麦冬识别研究
V2G模式下电动汽车充放电效率的研究
基于SG3525的电池充放电管理的双向DC-DC转换器设计
基于Daubechies(dbN)的飞行器音频特征提取
基于FPGA 的时序信号光纤传输系统
Bagging RCSP脑电特征提取算法
一种毫米波放大器时序直流电源的设计
锂离子电池充放电保护电路的研究
基于MED和循环域解调的多故障特征提取
V2G充放电机的设计及其仿真