王小聪,郝正航,陈卓
(贵州大学电气工程学院,贵阳550025)
在“双碳目标”下构建以新能源为主的新型电力系统,储能在新型电力系统中发挥支撑作用,新型电力系统需增加“储能”为新的基本要素[1]。锂离子电池作为常用储能元件被引入电动汽车[2]、大型储能系统以及分布式电源等装置中以实现电能的存储和转化[3]。
电池管理系统(battery management system,BMS)是储能系统中电池组的重要组成部分,主要负责电池单体的状态监测和能量管理,能有效延长电池循环寿命,保证充放电安全[4]。荷电状态(state of charge,SOC)是BMS 最重要的参数之一,被定义为剩余容量占其标称容量的百分比,但该值不能直接通过测量得到,需要通过其他变量(如电流、电压和容量)间接估计[5]。其表达式为:
式中:Ct为0—t时间段内以恒定电流It放电的放电容量;Cmax为电池以恒定电流It放电的最大放电容量[6]。SOC 还用于主动均衡,确保电池容量的一致性,提高电池组的能量可用性[7-8]。然而精确估计电池荷电状态是一个巨大的挑战,往往需要依靠电池管理系统(BMS)通过设计的估算方法获取[9-10]。
随着科学技术的不断发展,电池的SOC估计方法不断升级,深度学习技术通过电池测量数据建立了电池可测变量到SOC值的映射关系,用于模拟电池高度非线性特性[11-13]。Zhao Minghang 等人提出的逐通道不同阈值的深度残差收缩网络(deep residual shrinkage networks with channel-wise thresholds,DRSN-CW)作为数据噪声处理及特征提取的基础模型[14],应用于电网故障诊断领域,并取得不错的预测效果,但该模型对于处理时序性数据的性能较弱,且无记忆功能,不能自动更新模型运行状态。Zhang Zhijin 等人提出一种自适应DRSN-GPReLU 模型,用于在可变工况下进行轴承故障诊断,优化了模型中的激活函数,可以更好地过滤振动信号,使信号数据更加紧凑[15];F. Yang等人提出了长短期记忆神经网络(long short-term memory,LSTM)[16],该网络在从时间序列数据中捕获长期依赖性方面有更大的优势,并解决了传统反向传播训练过程中RNN 中存在的梯度消失现象,预测结果性能也有提升[17],但该模型欠缺对数据噪声的处理,对于训练数据质量要求较高,模型泛化能力较差。王磊等人提出基于DRSN-CW 和LSTM结合的混合模型轴承故障诊断,首次将该模型应用于轴承故障诊断预测中,在其预测准确性和模型的降噪能力也得到提升[18]。
目前在锂电池SOC 预测领域Song Xiangbao 等人提出的卷积神经网络与长短期记忆神经网络CNN-LSTM 相结合的混合模型[19],在SOC 预测精度上也较低,且该混合模型中欠缺对数据噪声的处理功能以及具有对数据特征提取的优化空间。为了提升锂电池SOC的估算精度以及抗噪性,本文提出了一种融合DRSN-CW 网络与LSTM 网络优点的混合神经网络模型,且该模型首次运用于锂电池SOC估算领域。该混合模型同时具备DRSN-CW 模型的自适应去噪功能以及LSTM 网络对时序性锂电池数据的记忆自动更新的优点[20]。在DRSN-CW 模型中的全连接层,通过数据的全连接变换,将DRSNCW 模型的输出层的数据匹配到预先调试好数据接口的LSTM 网络中,实现锂电池数据在两个模型间的传输,经过DRSN-CW 模型处理后的数据按LSTM 网络的数据输入格式需求输入到LSTM 网络中进一步学习提取时序特征数据,最后通过全连接层将SOC 预测结果输出。本文还运用了不同温度、不同工况下的锂电池数据集训练模型,从而提高了该模型对预测不同状态下锂电池SOC的精度及泛化能力。
为了提高电池SOC 估算精度,本文设计了DRSN-CW-LSTM 深度学习混合模型,结合了深度残差收缩模块以及长短期记忆神经网络的优点,将两个模块有机结合起来,在保留其优点的同时该模块具备了更深的网络结构,对于大批量数据的预测结果更加稳定。
逐通道不同阈值的深度残差收缩网络(DRSNCW)是ResNet 的一种变体,把噪声处理和特征提取融入到一个网络模块中,使用自适应软阈值模块(残差收缩层)通过在不同数据输入通道中设置不同的阀值,且该模块通过数据训练自动更新阀值,达到消除数据噪声和进行特征提取的作用,这也是该网络结构区别于CNN 等常规卷积网络的最主要的优点。这个深度残差收缩网络的结构如图1 所示,DRSN-CW 由单个输入层、一个卷积层、多个残差收缩层、多个全连接层、单个输出层构成。
图1 DRSN-CW模块结构图Fig.1 Structure diagram of DRSN-CW module
该模块用于消除电池实时采样过程中出现的数据噪声,同时与CNN 相比特征提取能力更好。其中卷积核步幅默认为1,B、C、W和H分别为电池数据的批量样本数、通道数量、宽度和高度,K为卷积层中卷积核的数量。在DRSN-CW 模块中,输入电池数据格式为B×C×W×H,其中B为输入模型的电池数据的批量大小,C为将原数据分为C个通道进行输入的通道数,W为一个数据样本中电池特征数据(如电池电流、电压等),H为一个数据样本中电池的采样时间点数量。经过卷积层提取特征,在逐通道不同阀值的残差收缩基础模块中(residual shrinkage building unit with channel-wise thresholds,RSBU-CW)进行噪声处理,然后经过数据归一化处理(batch-normalization,BN)、ReLU 激活函数和全局均值化,最后经过全连接层将预测结果输出。该模型中运用的电池数据由于该模块对电池这类的时序数据做特征提取时会忽略时间维度信息,所以本文运用LSTM 与该模块结合,将数据的时序信息最大程度的保留下来用作模型训练,从而提升SOC预测的精度。其中数据归一化处理是为了缩小不同特征间的取值范围差距,解决数据指标之间的不可比较性,使指标保持在同一数量级,适合于综合比较评价。将数据全部标准化到[0,1]的范围内,经过特征缩放后梯度下降过程更加简单,收敛速度更快。数据标准化公式如下[21]。
式中:为归一化后的值;xi为样本数据在i时刻的值;xmax、xmin分别为样本数据在所有时刻中的最大、最小值。
长短期记忆神经网络由 Hochreiter 等人提出,是RNN 最流行的变体之一[22-23]。LSTM 网络使用隐藏记忆信息而不是普通的隐藏节点,避免了这些缺点,与经典RNN 相比能够有效捕捉时序数据间的关联信息,缓解梯度消失或爆炸现象[24]。同时LSTM 的结构更复杂,它的核心结构由4 个部分组成:遗忘门、输入门、细胞状态、输出门,其结构图如图2所示。
图2 LSTM结构原理图Fig.2 Structure schematic of LSTM
t时刻LSTM单元信息传递步骤如下。
式中:⊙为哈达玛积;xt为在时间t的单位输入;ht为相应的单位输出;Ct为隐藏单元存储器;ft、it、Ct、Ot、ht、分别为当前时刻的遗忘门(forget)、输入门(input)、细胞状态(cell)、输出门(output)、隐藏单元向量(hidden)、当前未更新的细胞状态[25],遗忘门的作用就是决定上一时刻的输出信息需要丢弃多少,输入门的作用在于将当前时刻的有用信息提取出来进行输入。输出门则是综合当前时刻信息和过去时刻信息后决定输出的信息。细胞状态则是可以看作一个存储库,存着各个时刻的有用信息,隐藏单元向量则是输入到下一时刻的信息。σ、tanh 为激活函数,其中σ为sigmoid 函数,tanh为双曲正切函数;W、V分别为输入信息xt与上一时刻隐藏状态ht-1的权重向量,b为其偏置向量,其下标f、o、i、c代表的是状态信息进入到LSTM模型中的不同阶段,代表状态信息在模型的不同阶段所学习到的权重矩阵和偏置参数[26]。对于LSTM的数据传输过程如图3所示。
图3 LSTM的数据传输过程图Fig. 3 Data transmission process diagram of LSTM
各网络层中的参数设置介绍如下,卷积层中卷积核尺寸为3×3,stride设置为1,padding设置为1,目的是不改变数据输入输出维度,增强数据特征趋势,然后将该数据作为DRSN-CW 的输入,在该模块中设置2 个深度残差收缩模块,其中的卷积层和上述设置一样,目的是保证数据输入输出维度不变情况下进行数据噪声处理及特征提取,并保留住了数据的时序信息,将该输出数据维度变换为LSTM的三维输入格式,LSTM 层主要参数为输出神经元数量256,隐藏层数为2 层,batch_first 设置为True,数据在该模块中进行时序信息训练,最后输出到全连接层(层数为4 层),其输入神经元数量为256,输出为1,即代表SOC的输出预测值。
为了兼顾电池数据的空间和时间特征,本文将逐通道不同阈值的深度残差收缩网络(DRSN-CW)与长短期记忆神经网络(LSTM)进行结合,从而提出基于数据驱动的锂离子电池SOC 估算的混合模型,实现锂离子电池SOC的精确预测,该模型在此之前也从未应用于电池SOC估算领域。其中,第一层为序列输入层,电池变量包括电压(V)、电流(I)、温度(T)、电池容量(C)和电池能量(Wh);第二层将特征矩阵作为输入,在DRSN-CW 网络中进行噪声处理和特征提取,数据经过特征抽取、全局均值化、数据归一化处理后,进入LSTM 网络;第三层为DRSN-CW 处理过后的数据,通过变换数据维度处理成LSTM 能够接受的三维数据格式,进入LSTM 网络进一步提取特征并输出到下一层;第四层为全连接层,将LSTM 输出的三维数据,变换数据维度并输入到全连接层进行SOC的预测输出。其深度学习网络的整体结构如图4所示。
图4 DRSN-CW-LSTM网络结构模型Fig. 4 Structural model of DRSN-CW-LSTM network
为了对本文所提出的深度学习混合模型进行性能评价,参考回归模型评价指标,选用平均绝对误差(mean absolute error,MAE,其值用PMAE表示)和均方根误差(root mean square error,RMAE,其值用PRMSE表示)作为模型预测值与实际值之间误差的评价指标[27],其表达式分别为:
式中:yi为实际值;为预测值;n为样本总量,i为第i个样本。
本节利用马里兰大学CALCE 锂电池公开数据集以及麦克马斯特大学LG 锂电池公开数据集进行实验,在DRSN-CW-LSTM 模型上训练锂电池公开数据集。
本文运用了马里兰大学CALCE 电池研究小组公布的CS2锂电池公开数据集[28]和麦克马斯特大学(McMaster University)LG 锂电池公开数据集来验证本文所提出的模型预测性能。CS2 锂电池数据集采用了相同的标准恒流、恒压协议,恒流速率为0.5 C/s,直到电压达到4.2 V,然后持续保持4.2 V,直到充电电流降到0.05 A 以下,且这些电池的放电截止电压为2.7 V。在该数据集中使用CS2_35、CS2_36、CS2_37 和CS2_38 电池组数据,该实验数据是通过卡迪克斯电池测试仪(CADEX Battery Tester)中的电压、电流、温度传感器对电池电压、电流,温度等数据进行采集,电压、电流传感器精度为0.1%。其特性基本参数如表1所示。
表1 电池公开数据集Tab.1 Battery data set
LG 锂电池数据集在实验温度-20 ℃~40 ℃范围内,选用混合驾驶工况循环进行电池充放电实验,测试精度为0.1%,经过整理提取可用样本七十多万条。读取原始数据,进行初步整理,为了更清楚地观察与分析数据,将两组电池公开数据集运matplot 模块进行绘图展示,图5、图6 分别为CS2和LG 电池数据的部分数据展示,因为CS2 电池组数据的放电深度为70%,所以图5 数据中电池荷电状态范围在10%~80%范围内。
图5 CS2的电池数据集Fig.5 Battery data set for CS2
图6 LG的电池数据集Fig. 6 Battery data set for LG
由于对于两组公开数据集的数据预处理目的都是一样的,这里选择LG 锂离子电池数据集进行预处理阐述,首先将原始数据集用温度标签分为两个CSV 文件,一个包含(-20 ℃、-10 ℃、40 ℃)的电池充放电数据,另一个包含(0 ℃、10 ℃、25 ℃)充放电数据,对批量数据的缺失值进行均值填补,保证数据训练过程不会报错,然后提取特征值和标签序列,由于所提出的DRSN-CW-LSTM 模型中设计了数据标准化层,所以这里不需要进行数据标准化处理。将数据通过sklearn 模块分为训练集和测试集,70%作为训练集,30%作为测试集,构建数据迭代器,批量大小设置为50,目的是将数据分大小、批次输入模型进行训练。原始数据通过变换数据维度,形成45 625 个样本,把样本按7:3 分配为训练集和测试集,将分配后的数据进行维度变换并且将数据转换为深度学习模型所需要的张量类型,最后形成卷积层输入所需要的三维数据格式,至此数据就已经处理完毕,其中训练数据集包含31 937个样本,测试集包含13 688个样本。
本实验基于CPU(Intel(R) Core(TM) i7-7660U 2.50 GHz)、RAM 内存(16 GB)、Windows10 操作系统和python 语言环境的实验设备,在Pytorch 深度学习框架下进行模型搭建及数据处理工作。将预处理后的电池数据输入模型进行训练,通过设置不同的超参数,进行实验结果验证。将卷积层的输入的通道数量设置为2,输出通道设置为4,卷积核大小为3,移动步长为1,填充数为1,最大池化大小为2,并设置2 个深度残差收缩网络模块,一个残差收缩模块中包含两个卷积单元、两个数据归一化处理单元和两个(rectified linear unit,ReLU)激活单元,激活函数选择修正线性单元ReLU 函数,其中卷积层数据输入结构为31 937×2×8×5,31 937 代表输入数据样本数量,2 代表输入通道数,8 代表时间为维度,5 代表电池电压、电流、温度等5 个特征数,经过第一层卷积层数据变换为31 937×4×8×5 输入进DRSN-CW 模块中进行噪声处理及特征提取,通过对内部的超参数的设置,使其输入与输出的维度保持不变。LSTM 网络的隐藏层数为2,输入通道数为5,输出神经元数量256,数据需要经过变换成3 维数据格式输入LSTM 网络,由以上设置可知,LSTM 的数据输出结构为31 937×32×256。设置4 层全连接层,每层输出的隐含神经元数量分别为16×128、8×64、4×32、1,激活函数为ReLU,从而实现SOC 的输出预测。在模型训练过程中使用适应性矩估计(adaptive moment estimation,Adam)函数来优化网络权重和偏差。初始学习率设为0.000 1,迭代次数(epoch 值=100),丢弃(Dropout)参数均设置为0.1。选用Adam 优化器,与以固定学习速率更新权重的传统随机梯度下降(stochastic gradient descent,SGD)方法不同,Adam优化器通过计算梯度的一阶矩估计和二阶矩估计来独立确定自适应学习速率。该算法的另一个优点是易于实现并且计算效率高,损失函数使用均方误差(MSE)来观察模型收敛情况[28-29]。
为了验证所提出的DRSN-CW-LSTM 网络模型的有效性,本节利用LG 锂离子电池公开数据集和CS2 锂电池公开数据集,来验证不同深度学习模型在该数据集上的预测性能。从图6 和图7 中可知,CS2锂电池数据集、LG 锂电池数据集在4种不同深度模型上的荷电状态预测曲线,且在本文提出的DRSN-CW-LSTM 深度学习模型中的跟随曲线效果最好,结合表1 中的MAE 和RMSE 评价指标可知,在CS2 锂电池数据集上运用DRSN-CW-LSTM 深度学习网络模型进行SOC 预测,其MAE 和RMSE 的值分别为2.81%、4.13%,在 LG 锂电池数据集上MAE 和RMSE 的值分别为3.28%、4.35%,这两个评价指标在两组公开数据集上的预测误差都控制到了5%以下,具体结果预测曲线如图7、图8所示。
图7 不同深度学习模型在CS2电池数据集上的预测曲线Fig. 7 Prediction curves of different deep learning models on the CS2 battery dataset
图8 不同深度学习模型在LG电池数据集上的预测曲线Fig. 8 Prediction curves of different deep learning models on the LG battery dataset
根据深度学习中回归模型的评价指标,通过不同深度学习模型在两组公开数据集上进行测试,其结果如表2所示。
表2 不同深度学习模型在两组数据集上的预测误差结果Tab.2 Prediction error results of different deep learning models on these two datasets
其中结果表明,对于具有噪声处理功能的DRSN-CW 模型预测结果相比无噪声处理功能的ResNet 模型,其预测精度提升了5%左右,且本文所提出的DRSN-CW-LSTM 网络模型比CNN-LSTM网络模型预测精度高。
综上所述,本文提出的一种基于深度学习的DRSN-CW-LSTM 网络的锂离子电池SOC 估算方法,使得电池管理系统能够基于传感器所测得的电压、电流和温度等电池特征数据,进行SOC 预测。该混合模型估算方法结合了逐通道不同阈值的深度残差收缩网络(DRSN-CW),增强了模型的自适应抗噪声能力和特征提取功能,从而提高SOC估算精度。实验结果表明,本文提出的基于该混合模型的锂离子电池SOC 估算方法在马里兰大学CALCE 电池组的CS2 电池数据集和麦克马斯特大学的LG 锂电池数据集上所实现的SOC 估算平均绝对误差(MAE)的平均值分别小于等于2.81%和 3.28%,均方根误差(RMSE)的平均值分别小于等于4.13%和4.35%,该混合模型不仅能够实现锂离子电池SOC 估算,而且融合了LSTM 网络模型特有的优点,对时序数据具有状态记忆功能,可以随着电池在使用过程中的容量变化,不断更新模型中的细胞状态,从而减少了电池衰减对SOC 预测精度的影响。因为电池原始数据的复杂性,使得训练过后的模型适用于不同温度和不同工况下的锂离子电池SOC估算,具有较强的鲁棒性和较广的适用范围。
下一步将继续开展该深度学习混合模型对更多不同实验状态下的锂离子电池数据的估算性能的提升研究,进一步验证该算法在不同锂离子电池容量状态下预测性能的有效性,而且由于数据量的限制以及模型深度的可叠加性可知,该模型的预测精度可随模型深度以及数据量的增加还具有提高空间。除此之外,将考虑开展该算法的实用性研究,并在储能装置的电池控制器中嵌套算法,进行算法实验验证。