基于卷积-双向长短期记忆网络的电池SOC预测
2022-05-26陈继斌李雯雯孙彦玺
陈继斌,李雯雯,孙彦玺,许 静,张 单
(郑州轻工业大学建筑环境工程学院,河南郑州 451002)
锂离子电池由于高能量密度、高功率密度等优点,已逐渐成为主要电源之一。然而电池在反复充放电时会退化,需要电池管理系统监控电池健康状态,防止电池过充电和过放电,以确保电池在安全范围内运行。荷电状态(State of Charge,SOC)是电池管理系统中的关键状态之一,它反映了在一个充放电循环中电池的剩余电量。目前不能直接测量蓄电池的SOC,只能根据电流、电压、内阻和其他可测量的变量来估计。SOC估计的方法有安时积分法、开路电压法、卡尔曼滤波法和神经网络法等。
安时积分法十分依赖电流传感器的精度,误差会随着时间而不断增大[1]。开路电压法需要将电池静置很长一段时间,所以无法适用于使用中的电池[2]。卡尔曼滤波法需要提前建立复杂的数学模型[3]。神经网络法无需对电池内部结构进行分析,只需建立好深度学习模型,使用大量数据对其训练即可获得较为准确的SOC预测结果,目前应用颇为广泛。
近年来,深度学习在预测和识别方面取得了不少成果,对于提升预测和识别的精度有着良好表现。深度学习方法也越来越多的应用到了SOC的预测中,如卷积神经网络(Convolutional Neural Network,CNN)[4]、长短期记忆神经网络(Long Short-Term Memory,LSTM)[5]和双向长短期记忆神经网络(Bi-directional Long Short-Term Memory,BiLSTM)[6]。面对复杂的预测问题,单一网络结构的深度学习方法往往难以平衡训练时间和精度。由于神经元节点具有独特的循环结构,多层LSTM 网络存在训练时间过长的问题。同时,提取深层抽象特征的能力也略弱于卷积神经网络。本文提出了一种基于卷积神经网络与双向长短期记忆神经网络(CNNBiLSTM)的SOC预测方法,结合了两种网络的优势,对比实验显示,新方法的预测网络精度有明显提高。
1 模型设计
1.1 卷积神经网络
CNN 是一种前馈神经网络,其模型结构主要包括输入层、卷积层、池化层、全连接层和输出层[7],具体结构如图1 所示。给定一个数据集D,它包含一个样本和一个SOC标签每 个 样 本 由n个 用表示的特征组成。
图1 卷积神经网络结构
CNN 的输入是样本xi,xi∈Rn×d,其中n是特征数,d是向量维数。卷积运算主要完成特征提取。输入滤波器特征由一组滤波器提取:
式中:ω 是卷积核;g是卷积核的大小;xi:i+g-1是一个由i到i+g-1个特征组成的向量;b是一个偏置项。卷积层之后,特征矩阵为J,J={c1,c2,…,cn-g+1}。
对于池化层,对卷积层后得到的局部特征矩阵C进行下采样,得到局部值的最优解。这里使用MaxPooling 功能,如公式(2)所示:
因为BiLSTM 输入必须是一个序列化的结构,池化会中断序列结构J,所以需要添加一个完全连接的层,将池化层之后的Mi个向量连接到一个向量Q中。采用新的连续高阶窗口Q作为BiLSTM 的输入。
1.2 双向长短期记忆神经网络
LSTM 是循环神经网络(Recurrent Neural Network,RNN)的一个变体,它有一个记忆单元,记忆单元包括遗忘、记忆和输出。遗忘门ft、记忆门it和输出门ot是根据控制最后时刻的隐藏状态ht-1和当前输入xt来计算的,能够保留重要信息,遗忘不重要信息,消除递归神经网络的梯度爆炸或梯度消失问题。其结构如图2 所示,计算公式如下:
图2 LSTM模型的网络结构
式中:Wf、Uf、Wi、Ui、Wc、Uc、Wo、Uo是权重矩阵;bf、bi、bc、bo是偏差向量;Ct和Ct-1是当前和最后一个记忆状态;tanh 和logistic都是激活函数。
BiLSTM 是前向LSTM 和后向LSTM 的组合。如果在时间t时正向LSTM 输出的隐藏状态记录为a,反向LSTM 输出的隐藏状态为b,则BiLSTM 输出的隐藏状态为:
1.3 CNN-BiLSTM 网络
本文在研究现有神经网络模型的基础上,提出了一种基于CNN-BiLSTM 网络的锂电池SOC预测方法。其总体思路是首先将归一化后的数据作为CNN 网络的输入,通过卷积网络进行特征提取,然后引入BiLSTM 网络进行特征的长期依赖性学习,再加入一个全连接层来预测SOC,通过设置dropout 参数来防止过度拟合。模型结构如图3 所示。
图3 CNN-BiLSTM网络模型结构
2 实验设置
2.1 数据预处理
为了验证模型的有效性,本文采用的实验数据集是来自马里兰大学CALCE 电池研究小组K2 锂电池测试数据[8],在2.6 A 下对蓄电池进行恒流充电,充电至电压为4.2 V,再恒压放电至电流<0.08 A,休息2 min 并测量电阻,再休息1 min,以此得到电池的各项参数。数据集共有16 241 个采样文件,包括训练集和测试集两部分。训练集包含14 000 个样本,测试集包含2 741 个样本,选取电池的电压、电流和内阻作为特征,每个样本对应于该时间点电池的电压、电流、内阻和SOC值。具体参数如图4、图5 所示。
图4 部分数据电压和电流
图5 部分数据内阻和SOC值
首先对样本数字字段进行数据标准化。数据标准化过程将消除指标之间的维度影响,解决数据指标之间的不可比较性,使指标保持在同一数量级,适合于综合比较评价。将数据全部标准化到[0,1]的范围内,经过特征缩放后,梯度下降过程更加简单,收敛速度更快。数据标准化公式如下:
式中:xi是样本在i时刻的监测数据,min(xi)和max(xi)分别是样本所有时刻数据的最小值和最大值;Z是归一化后的值。
2.2 实验过程
基于CNN-BiLSTM 的锂电池SOC预测过程如图6 所示。在训练阶段,对原始的数据集数据进行预处理,然后将预处理后的训练集样本放入模型中进行训练。CNN 用于提取预处理后训练样本的局部特征,BiLSTM 用于理解特征样本对正向和反向的长期依赖性,以便进行深度学习。最后,利用测试集对训练好的模型进行测试,得出预测误差和结果。
图6 锂电池SOC预测框架图
接下来设定实验的评价指标来反映模型的性能,并对模型的结果进行评价。评价模型性能的指标有多种,本文使用的评估指标是均方根误差(RMSE)和平均绝对误差(MAE)。RMSE和MAE用于测量估计值和实际值之间的误差,RMSE和MAE的值越小,偏差越小。RMSE和MAE公式如下:
式中:yi是真实SOC值;是预测SOC值。
将预处理后的数据输入模型进行训练。通过多次实验,最终选取卷积神经网络的卷积核个数为15,大小为[2,1],移动步长为[1,1],最大池化大小为[3,1]。激活函数选择修正线性单元(Rectified Linear Unit,ReLU)函数。双向长、短期记忆网络的隐藏层数为3,节点数分别设为50、20 和100。初始学习率设为0.001,训练轮数epoch 为20,Dropout 参数均设置为0.1。全连接层的激活函数为ReLU,设置模型的优化器为适应性矩估计(Adaptive Moment Estimation,Adam)函数来更新模型的权重与偏置,损失函数使用均方误差。
3 实验结果与分析
为了验证该算法的优越性,通过Matlab 软件同时进行了四组对比实验,分别采用GRU 模型、LSTM 模型、BiLSTM 模型和CNN-LSTM 模型进行训练和预测。数据处理和训练过程的参数设置与所提预测网络类似,这里不再赘述。最后,各模型的预测误差如表1 所示。从结果可以看出,相比于其他模型,本文提出的模型效果最好,预测误差最小。
表1 不同模型预测算法的比较 %
图7 显示了不同模型前5 轮训练在训练集上的损失函数曲线,以便我们更直观、清晰地了解本文所提出模型的预测情况。从曲线可以看出,相比于其他模型,CNN-BiLSTM 模型所需的训练时间相对较短,模型损失函数收敛得非常快,并且稳定在一个相当低的值,取得了很好的效果。
图7 不同模型的损失函数部分曲线
图8 显示了SOC循环过程中的预测结果。从图8 中可以看出,GRU、LSTM、BiLSTM 由于不能提取高级特征,其预测值与实际SOC值相差较大。相比之下,CNN-LSTM 网络和所提出的CNN-BiLSTM 网络预测的SOC更加平滑和准确。总体看来,所提出的CNN-BiLSTM 网络和CNN-LSTM 网络都产生了令人满意的结果,其中CNN-BiLSTM 网络更好一些。
图8 不同模型SOC预测的比较
实验结果基本符合预期,LSTM 的记忆门和遗忘门使得它在时间序列预测问题上有更好的表现;GRU 作为LSTM 的一种变体,结构更加简单,也可以解决时间依赖问题,效果略好于LSTM;BiLSTM 分别从正向和反向提取信息,取得了比LSTM 更好的预测效果;CNN-LSTM 结合了CNN 和LSTM 两者的优点,具有更快的训练速度和更好的效果。最后,从图中可以明显看出,本文介绍的基于CNN-BiLSTM 的SOC预测网络预测效果最好,能够进一步提高预测精度。
4 结论
本文提出了一种基于CNN-BiLSTM 网络的锂电池SOC预测方法。通过CNN 提取出锂电池数据中的高级特征,然后利用BiLSTM 解决单个CNN 不能考虑前、后时间特征的问题,同时避免了简单RNN 引起的梯度爆炸或梯度消失等问题。CNN-BiLSTM 模型的RMSE和MAE值分别为21.704 0 和18.746 4,进一步提高了精度。通过对比实验结果证明,CNNBiLSTM 预测网络模型相比于GRU、LSTM、BiLSTM 和CNNLSTM 具有更高的精确性和有效性。然而,CNN 网络在联合网络中的深度还不够。如何利用更深层次的CNN 网络来提高预测精度将是下一步工作的目标。