基于GAN-CNN-LSTM的锂电池SOH估计
2021-07-29杨春德
张 岸,杨春德
(1.重庆邮电大学理学院,重庆 400065;2.重庆邮电大学计算机科学与技术学院,重庆 400065)
锂电池作为能量储存和提供的一种重要的载体[1],具备储存方便、使用寿命长等特点,普遍用作新能源汽车的动力源[2],此外,还被广泛应用在通信、航空航天等领域[3-5]。锂电池在使用过程中,使用寿命会随SOH降低衰减,当SOH降低到一定程度时,供电设备将无法正常运行。如果不能及时准确估计锂电池SOH,则可能会造成经济上的损失甚至带来一系列安全问题。因此对锂电池SOH估计的研究具有重要意义,如今已经出现了越来越多的锂电池SOH估计方法。
锂电池SOH的估计方法主要有两类:基于模型的估计方法和基于数据驱动的估计方法[6-8]。前者主要通过对电池内部的化学与物理特性进行分析,并在此基础上建立相应的物理和数学模型,对锂电池的SOH进行估计[9-10];后者主要利用神经网络、支持向量回归和高斯回归等方法对SOH进行估计。文献[11]提出了基于循环神经网络(RNN)的SOH估计算法。文献[12]将粒子群优化算法(PSO)与LSTM 相结合,并加入注意力机制(AM),提出了基于PA-LSTM 的SOH估计算法。文献[13]研究了LSTM 网络结构,提出了基于AST-LSTM 的SOH估计方法。数据驱动的方法虽然不需要考虑锂电池内部的复杂变化,但是如果没有足够多的数据支撑,SOH估计的准确率将会较低,这成了锂电池SOH估计的一大难题。为了解决这一难题,在锂电池数据不充分的情况下,研究出一种具有高准确率的SOH在线估计方法很有必要。
本文提出的基于GAN-CNN-LSTM 的锂电池SOH估计模型,在现有研究基础上实现了进一步的创新:(1)通过GAN 对原有的锂电池数据进行数据增强,扩充了训练集,解决了训练模型时数据不充分的问题;(2)利用CNN 与LSTM 提取锂电池输入数据在时间与空间上的特征。相比于其他基于数据驱动的方法,该方法具有更高的准确率,具有一定的应用价值。
1 相关方法分析
1.1 GAN
GAN 由生成器G和判别器D组成[14],其模型结构见图1。随机噪声z输入到生成器得到生成的数据G(z)。判别器D可判断输入的数据是真实的数据x,还是生成数据G(z)。在GAN 的训练过程中,生成器的目的是使G(z)更接近于x,而判别器的目的则是尽可能地区分出输入的数据是G(z)还是x。生成器和判别器在对抗训练的过程中不断地优化和调整自身参数,最终生成器能够生成趋近于真实的数据。
图1 GAN模型结构图
GAN 模型的目标函数V(G,D)见公式:
式中:z服从于先验分布Pz;x服从真实锂电池数据分布Pdata;E(·)为期望值的计算;D(x)为判别器判断x为真实数据的概率;D[G(z)]为判别器判断G(z)为真实数据的概率。
在训练生成器G时,G尽可能地使D[G(z)]趋近于1,也就是使目标函数最小化。在训练判别器D时,D尽可能地使D[G(z)]趋近于0,使D(x)趋近于1,也就是使目标函数最大化。
1.2 CNN
CNN 作为比较重要的神经网络之一,因其具有较好的特征提取的能力,被广泛地应用于图像处理。与传统的多层感知机相比,CNN 卷积层中的权值共享使训练的参数大幅度减少,这在一定程度上降低了神经网络的复杂度,同时也减少了过拟合的现象。
如图2 所示,CNN 主要由卷积层和池化层构成[15]。卷积层通过利用卷积核提取数据特征,池化层对卷积层提取的特征进行压缩,能够减少运算量。
图2 CNN 结构图
1.3 LSTM
LSTM[16]是循环神经网络(RNN)的一种变体,其解决了RNN 所存在的梯度爆炸与梯度消失的问题,通常用于时间序列预测。LSTM 由三个门组成,分别是输入门、输出门和遗忘门,其网络结构如图3 所示。
图3 LSTM网络结构图
LSTM 各个模块的计算公式为:
式中:st,yt,jt其中分别为LSTM 的输入门、遗忘门和输出门;Ws和bs,Wy和by,Wj和bj,以及Wc和bc分别为输入门、遗忘门、输出门以及单元状态的权重和偏置;mt-1为上一时刻的输出;it为t时刻的输入;ct为单元状态;为候选状态;mt为t时刻的输出。
2 GAN-CNN-LSTM 模型与算法建立
本文使用GAN 对锂电池历史数据进行数据增强,通过CNN 对输入的锂电池数据进行特征提取,并利用LSTM 对锂电池SOH进行估计,最终建立的基于GAN-CNN-LSTM 的SOH估计模型如图4 所示。
图4 基于GAN-CNN-LSTM的锂电池SOH估计模型图
基于GAN-CNN-LSTM 的锂电池SOH估计过程具体如下:
(1)利用GAN 对锂电池数据进行数据增强。本文的GAN网络的生成器和判别器网络的结构如图5 所示。
图5 生成器网络(左)和判别器网络(右)结构图
在生成器中,维度为(150,128)的随机噪声经过两层全连接层并通过维度转换变成了(165,3,128)的张量,然后经过两个卷积核大小为4、步长为2 的转置卷积层后,分别输出(330,3,128)、(660,3,1)的张量,即为生成的锂电池数据样本。因为生成器网络的学习率通常设置较小,并且ReLU 函数的收敛速度较快,因此在生成器网络的前两层(全连接层和第一层转置卷积层)均采用了ReLU 激活函数。而sigmoid 激活函数在特征相差较为明显时效果较好,并且训练网络时对输入的数据进行了归一化处理,为了使生成器的输出在0~1 之间,生成器网络的输出层使用了sigmoid 激活函数。
在判别器中,输入为(660,3,1)的张量,经过三个卷积核大小为4、步长为2 的卷积层后,输出(82,3,128)的张量,为了将多维的张量一维化,在卷积层与全连接层中加入一层flatten层,最终经过全连接层后输出一维的标量,即为判别器的判别结果。由于ReLU 激活函数在输入小于0 时梯度会变成0,会使负值的梯度变成0,此时神经元会失活,因此判别器的所有网络层均使用不易使神经元失活、收敛速度较快的Leaky ReLU 激活函数。
(2)通过CNN 对输入数据进行特征提取。卷积层的滤波器个数为64,卷积核大小为4,步长为4,使用ReLU 激活函数。为了筛选主要特征和减少运算量,卷积层后面加入一维最大池化层。
(3)使用LSTM 对锂电池SOH进行估计。本文的模型采用了两层LSTM 网络,LSTM 的神经元个数均为64。为了防止出现过拟合的现象,在每一层LSTM 后面分别加入一层dropout 层,其中dropout 值为0.1,由全连接层输出锂电池容量的估计结果。最终由计算公式得到预测的SOH,SOH的计算公式为:
式中:Qt为t时刻的容量值;Q0为锂电池的初始容量值。
GAN-CNN-LSTM 模型完整的训练与估计过程如图6 所示,大致可分为以下四步:
图6 GAN-CNN-LSTM模型的训练与预测过程
(1)将锂电池数据集划分为训练集和测试集。
(2)将锂电池的训练集加入到GAN 中,得到扩充后的数据集。
(3)将(2)得到的数据集输入到CNN-LSTM 模型中进行训练,模型的损失函数为MSE,训练过程中使用Adam 优化器调整模型的参数。
(4)得到训练好的CNN-LSTM 模型,将测试集数据输入到训练好的模型中,输出估计的SOH。
最终得出基于GAN-CNN-LSTM 的SOH估计算法见下文。
基于GAN-CNN-LSTM 的SOH估计算法:
(1)将锂电池数据集划分为训练集和测试集。
(2)将(1)中的训练集数据进行归一化处理,x*=,使得所有数据在[0,1]之间。
(3)从锂电池的数据集中取出容量大小为m的样本
(4)从先验分布pz(z)中取出容量为m的样本
(5)将从步骤(3)取出的样本作为输入,输入到生成器G中,得到m个生成样本
(6)将步骤(5)和步骤(3)的样本输入到判别器D中,输出判别的结果。判别器根据随机梯度上升的方法来更新判别器网络参数。
(7)从先验分布中另外再取出容量大小为m的样本生成器根据随机梯度下降的方法来更新生成器网络参数。
(8)反复迭代步骤(3)至步骤(7),使得模型训练稳定。得到训练好的网络,对生成器的生成数据进行反归一化处理,最终生成样本容量大小为m的生成锂电池样本,补充到原来的数据集,得到扩充后的锂电池数据集。
(9)将步骤(8)中扩充后的数据加入到CNN-LSTM 模型进行训练。
(10)训练CNN-LSTM 模型:(a)对输入的数据进行归一化;(b)训练CNN-LSTM 模型;(c)如果模型的loss 下降,则继续重复(b)步骤,如果loss 不继续下降,则开始下一个步骤。
(11)得到训练好的CNN-LSTM 模型。
将(1)中的测试集数据输入到训练好的CNN-LSTM 模型中,并对CNN-LSTM 的输出进行反归一化,得到SOH的估计值。
3 实验与结果分析
由于GAN-CNN-LSTM 的锂电池SOH的估计模型是GAN、CNN 与LSTM 三个模型的融合,并且LSTM 是RNN 的变体,为了验证GAN-CNN-LSTM 模型的有效性,分别利用RNN、LSTM、CNN-LSTM 模型做了对比实验,通过实验结果进行比较和分析,以验证模型的有效性。
3.1 数据集介绍
本文实验采用美国宇航局(NASA)公开的锂电池老化实验数据集[13],电池为额定容量2 Ah 的18650 锂电池。在锂电池充电时,首先以1.5 A 电流的恒流模式进行充电,直至充电电压达到4.2 V,然后以恒压模式充电,直至充电电流下降到20 mA。在锂电池放电时,以2 A 的电流大小进行恒流放电,直至达到各个电池的截止电压。本文从NASA 数据集中选用了B0005、B0006、B0018 三个锂电池单体,三个均为18650 锂电池。B0005、B0006、B0018 对应的放电截止电压分别为2.7、2.5、2.5 V,B0005、B0006、B0018 的初始容量分别为1.8、2.0、1.8 Ah。因为三个锂电池单体分别对应着不同的充放电实验条件,将三个单体的数据作为数据集能够检验模型的泛化性。本文从中提取了锂电池每个充放电循环的电压、电流、温度和容量数据,将电压、电流、温度数据作为输入,分别将数据集的充放循环的前70%,50%,30%的数据作为训练集,并从剩余的充放电循环开始预测锂电池的SOH。
3.2 评价指标
为了更加直观地表征出所提模型与其他模型的性能,通过计算MAE,MAPE与RMSE的评价指标来进行评估。RMSE,MAPE,MAE的计算公式分别如式(9)~(11)所示。
3.3 结果分析
四个模型在B0005 号锂电池单体上分别从充放电循环总数的30%,50%,70%开始进行容量估计,估计结果如图7 所示,其中紫色的曲线表示锂电池真实容量的变化曲线,红色的曲线为GAN-CNN-LSTM 模型估计的容量曲线,黑色、蓝色、绿色曲线分别表示CNN-LSTM、LSTM、RNN 模型估计的容量曲线。
图7 各模型在B0005测试集上容量的估计结果
从图7 中可以看出,LSTM 在不同的锂电池单体上的容量总体预测效果要优于RNN。由于CNN 能够更好地提取数据的局部特征,CNN-LSTM 与LSTM 相比具有更好的拟合性。本文提出的方法通过利用GAN 对锂电池数据进行数据增强,扩充了数据集,与没有进行数据增强的CNN-LSTM 相比,GAN-CNN-LSTM 在拟合的效果上明显更好。
为了更直观地看出各个模型方法的SOH估计误差,根据实验结果绘制SOH估计在每一个循环的估计误差图,如图8所示。由图中的结果可以看出,对比其他的几种模型方法,本文中所提出的GAN-CNN-LSTM 模型在各个锂电池单体上容量估计的误差曲线最接近于0,即容量的估计值最接近于真实值。
图8 各模型在B0005测试集上容量的估计误差
表1~3 为以上模型在B0005,B0006,B0018 号锂电池单体分别从充放电循环总数的30%,50%,70%开始进行SOH估计的MAE、MAPE、RMSE。由表中的结果可以看出,GAN-CNN-LSTM 模型的三个评价指标值都是最小的,即SOH估计的准确度最高,充分体现了本文模型的优越性与所提出方法的合理性。
表1 不同方法在各锂电池单体的SOH 估计的MAE 对比
表2 不同方法在各锂电池单体的SOH 估计的MAPE 对比
表3 不同方法在各锂电池单体的SOH 估计的RMSE 对比
4 总结
本文提出基于GAN-CNN-LSTM 的锂电池SOH在线估计的方法,通过GAN 对锂电池的历史数据进行数据增强,利用CNN 与LSTM 相结合建立起锂电池SOH的估计模型,提出的锂电池SOH在线估计方法在NASA 数据集上验证模型的有效性,与基于LSTM、RNN、CNN-LSTM 的锂电池SOH估计方法相比,该方法具有更高的准确率,这在一定程度上解决了锂电池的SOH估计的准确率较低的问题,具备一定的工程应用价值。