基于一维卷积神经网络与长短期记忆网络结合的电池荷电状态预测方法

2021-07-02 00:36倪水平李慧芳
计算机应用 2021年5期
关键词:神经元卷积神经网络

倪水平,李慧芳

(河南理工大学计算机科学与技术学院,河南焦作 454003)

(*通信作者电子邮箱lihuifang1112@163.com)

0 引言

美国先进电池联合会(United States Advanced Battery,USABC)将电池荷电状态(State-Of-Charge,SOC)定义为:电池在一定放电倍率下,剩余电量与在相同条件下额定电量的比值。对电池SOC的准确稳定估计有助于保护电池不会因为过冲过放而引起电池损伤,这是电池管理的重要环节[1]。影响电池SOC 的因素有很多。在电池能够正常使用的情况下,影响电池SOC预测的最主要因素是电流、电压、电阻和环境温度等。本文在室温下对电池进行循环充放电实验得到电流、电压、电阻以及对应的SOC,通过电流、电压、电阻预测电池SOC。电流、电压、电阻与电池SOC 之间具有非线性映射关系。

传统的安时积分法具有累计误差的缺陷[2],且需要提前获得电池的初始SOC[3];传统的开路电压法需要相当长的测量时间[4];现有的Kalman 滤波法的计算量大[5]且需要预先建立复杂的电池模型[6-7],这会影响电池的SOC 估计精确度。神经网络法具有较强的非线性映射能力,反向传播神经网络(Back Propagation Neural Network,BPNN)方法[8-10]被用于电池SOC 预测。随着深度学习中卷积神经网络(Convolutional Neural Network,CNN)与循环神经网络(Recurrent Neural Network,RNN)在多个领域的广泛应用,与深度学习相关的算法被用于电池SOC 的预测。RNN 可以有效保存历史输入信息,且具有时序记忆能力[11],但SimpleRNN(Simple Recurrent Neural Network)会随着时间步的延长而发生信息丢失。长短期记忆(Long Short-Term Memory,LSTM)神经网络依赖于过去样本的输入且有效解决了SimpleRNN 无法捕获长期依赖性的问题[12]。CNN 通过设置多个不同的卷积核达到充分提取输入信息中不同特征之间深层高级特征的目的[13],CNN 结合RNN 的网络模型同时具有提取输入数据中高级特征和保存历史输入信息的能力。

针对电池SOC 预测精确度与稳定性问题,本文提出一种将一维卷积神经网络(one-Dimensional Convolutional Neural Network,1D CNN)与LSTM 结 合 的1D CNN-LSTM(one-Dimensional Convolutional Neural Network combined with Long Short-Term Memory)模型预测电池SOC,利用1D CNN 提取数据的空间特征,LSTM保存历史输入信息。该方法在充分使用输入数据的特征信息的同时,又能保存历史输入信息并与当前的输入信息一起映射到当前的预测SOC。与BPNN 模型、1D CNN 模型、门控循环单元(Gated Recurrent Unit,GRU)模型、1D CNN 与GRU 结 合 的1D CNN-GRU(one-Dimensional Convolutional Neural Network combined with Gated Recurrent Unit)模型、LSTM 模型和SimpleRNN 模型相比,1D CNN-LSTM模型具有更准确稳定的SOC预测效果。

1 1D CNN-LSTM联合深度神经网络

1D CNN 与LSTM 循环神经网络联合 的1D CNN-LSTM 深度神经网络模型结构如图1所示。输入层Ct、Vt和Rt分别表示第t个样本的电流、电压和电阻。隐藏层由1D CNN 层与LSTM 层组成。一层全连接层(Fully Connected Layer,FCL)作为输出层用于回归预测,该层将输出预测值SOC。

图1 1D CNN-LSTM模型结构Fig.1 Structure of 1D CNN-LSTM model

1.1 1D CNN提取数据空间特征

CNN是由LeCun等[14]在深度学习研究中首次提出的一种成功的深度学习架构,同时也是一种有效用于特征提取和模式识别的前馈神经网络[15],最常应用在图像领域中的监督学习问题上,例如计算机视觉、图像识别等。CNN可通过卷积层的滤波器提取输入数据之间的相互关系。

CNN 使用少量参数捕捉输入数据的空间特征,并将其组合起来形成高级数据特征,最终将这些高级数据特征输入全连接层进行进一步的回归预测或分类预测。

典型的CNN 结构由输入层、卷积层、池化层、全连接层和输出层组成。经过多个滤波器操作之后,CNN 可以通过逐层的卷积和池化操作提取数据特征。滤波器可根据输入数据的大小以及提取特征的需要设置适当的窗口大小以及窗口滑动的步幅大小。典型卷积神经网络结构如图2所示。

图2 典型卷积神经网络结构Fig.2 Structure of typical CNN

由于CNN 已经成功地应用于二维图像的处理方面,因此也可以将相同的思想用于处理一维数据[16]。在卷积层中,输入的数据信息在流向下一层之前需要经过卷积操作和激活函数的计算。该操作如式(1)所示:

式中:Wcnn表示滤波器的权重系数,即卷积核;xt表示第t个输入样本数据信息;*表示xt与Wcnn之间的离散卷积运算;bcnn为偏置参数,将在对模型进行训练时通过学习获得;σcnn表示激活函数;ht表示卷积操作结束后的输出数据。单个输入样本由电流、电压和电阻组成。含有3 个神经元节点的一维卷积层的计算过程如图3所示。

图3 一维卷积层机制Fig.3 1D convolutional layer mechanism

每个神经元均包含一个滤波器。输入数据将与每一个滤波器作卷积操作,结果将会被堆叠在一起作为输出数据。例如,当使用滤波器(-1,0),滑动窗口的步长为1,没有偏置参数时,则第1 个输出为C1×(-1) +V1× 0=-C1,第2 个输出为V1×(-1) +R1× 0=-V1;当使用滤波器(0,1),窗口的滑动步长为1,没有偏置参数时,则第1 个输出为C1×0+V1×1=V1,第2 个输出为V1×0+R1×1=R1;当使用滤波器(1,0),窗口的滑动步长为1,没有偏置参数时,则第1 个输出为C1×1+V1×0=C1,第2个输出为V1× 1+R1× 0=V1。

一个卷积层通常包含多个具有相同维度大小的不同的滤波器[16]。为获取不同的数据特征,在一维卷积层中设置相同大小的不同滤波器。滤波器的大小不能超过单个样本数据的大小。若输入的单个样本数据维度为p,滤波器窗口的高度为q,则经过一维卷积操作后输出的单个样本数据维度为p-q+1。如图3 所示,一个一维卷积层中设置3 个高度(q)均为2 的滤波器,输入的样本数据维度(p)为3,则该样本数据经过一个滤波器时输出的特征样本维度为3-2+1=2。

由于本文中样本数据的单个样本高度为3,本文将滤波器的高度设置为2。不同的滤波器会提取不同的数据特征。卷积层的卷积操作可以可视化为一个相同大小的滑动窗口,以一定的步长沿着输入数据移动。对于窗口的每次停留,输入数据被检查的部分将会和过滤器之间作内部积的计算,并将计算结果作为输出数据的一个特征元素。

对于空间维度较低的数据,可以使用卷积层来提取数据特征,而无需添加池化层。

1.2 LSTM保存历史输入信息

SimpleRNN 可有效解决非线性数值型时间序列的回归预测问题,但在对模型进行训练的过程中,随着时间步的推移,会发生梯度下降或者梯度爆炸的现象。这将会使得前期的历史输入信息发生丢失或者产生无效信息,从而导致预测结果错误。随着SimpleRNN 层的增加,网络最终将变得不可训练。为解决上述问题,Hochreiter等[17]提出了LSTM算法,该算法可以将数据信息存储到更长的时间步长。LSTM 卷积神经网络的展开图如图4 所示,其中Xn与hn分别表示模型的第n个输入数据与输入数据所对应的输出数据。

图4 LSTM循环神经网络Fig.4 LSTM recurrent neural network

对于有规律的数值型时间序列,即当时间(序列顺序)对数据很重要时,Xn表示一个数据批量,这一个数据批量组成一个样本;当序列顺序对序列数据不重要时,Xn表示单个样本点。如本文的实验数据为序列顺序不重要的序列数据,则Xn表示由电流、电压和电阻组成的单个样本,hn表示第n个样本的预测值SOC。LSTM的单元结构如图5所示。

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

LSTM单元可使用有效信息填充状态单元,也可删除无效信息。这个过程中使用的结构称为门限。门限由1个sigmoid函数点乘1 个矩阵组成。sigmoid 函数输出1 个0 到1 之间的数值来描述每个信息通过门限的程度,其中0 表示所有信息禁止通过,1表示所有信息通过。

LSTM的更新公式如式(2)~(6)所示:

其中:σ和tanh 分别表示sigmoid 激活函数和双曲正切激活函数;W和b分别表示权值矩阵和偏置参数;xt表示LSTM 单元在t时刻的输入;ht表示在t时刻xt对应单元的输出;ct表示LSTM 在t时刻的状态单元。整个LSTM 单元包括3个门限,即遗忘门ft、输入门it和输出门ot。

2 实验环境与实验数据集

2.1 实验环境

实验硬件设施使用Intel Xeon Gold 5118 CPU@2.30 GHz服务器,Window10 旗舰版64 位操作系统,16 GB 运行内存和500 GB 硬盘。编程软件为Jupyter Notebook,并以基于TensorFlow 的深度学习框架Keras 作为支撑,实现1D CNNLSTM联合神经网络仿真模型的构建。

2.2 实验数据集

本文从美国马里兰(Maryland)大学的高级生命周期工程中心(Center for Advanced Life Cycle Engineering,CALCE)[18]电池研究小组获取K2 型号LiFePO4 电池的部分测试数据作为本文的实验数据,在恒温下对K2 型号LiFePO4 电池进行恒流放电,再进行恒压充电,一次放电过程和一次充电过程为一个充放电循环。CALCE 电池研究小组已对K2 型号LiFePO4电池进行多次循环充放电实验并记录了实验数据。

获取CALCE中编号为K2-016的数据包中的部分数据,共包括16 219 个样本数据。将这16 219 个样本划分为训练集、验证集和测试集3 个数据集,其中训练集包含11 364 个样本,验证集包含2 430 个样本,测试集包含2 425 个样本。训练集的电流、电压、电阻和实际SOC 分别如图6(a)、图6(b)、图7(a)和图7(b)所示。

图7 训练集电阻和实际SOCFig.7 Resistance and actual SOC of training set

测试集的电流、电压、电阻和实际SOC 分别如图8(a)、图8(b)、图8(c)和图8(d)所示。

图8 测试集电流、电压、电阻和实际SOCFig.8 Current,voltage,resistance and actual SOC of test set

SOC 与电流、电压和电阻的关系分别如图9(a)、图9(b)和图9(c)所示。图9中的电流、电压、电阻和实际SOC 均为测试集中的数据。

图9 SOC与电流、电压、电阻的关系Fig.9 Relation between SOC and current,voltage,resistance

2.3 实验数据预处理

电池剩余电量SOC 保持在0~1的数值,而电流、电压和电阻的取值范围差别较大,为提高算法的训练速度和灵敏性,因此需要对原始训练集、验证集和测试集的输入数据(电流、电压、电阻)作标准化处理。因为在模型训练过程中使用取值范围差别较大的数据时,模型虽会自动适应这种取值范围不同的数据,但模型的学习过程将会变得困难。这里选用的数据标准化处理方法如式(7)所示:

表1 原始电流、电压和电阻Tab.1 Origin current,voltage and resistance

表2 标准化后的电流、电压和电阻Tab.2 Standardized current,voltage and resistance

3 1D CNN-LSTM模型设置

在1D CNN-LSTM 模型中,设置一层具有192 个神经元节点的1D CNN 层,一层具有64 个神经元节点的LSTM 层,一层具有一个节点的全连接层(又称为密集连接层)。为防止模型在训练过程中发生过拟合,设置LSTM 层的层间dropout 值为0.5,循环dropout 值为0.2;设置模型最大迭代步数为10 000;模型训练时的批处理大小为64。

为加快模型收敛,并降低模型学习周期,相比于Sigmoid等激活函数,采用修正线性单元(Rectified Linear Unit,ReLU)激活函数会明显减少模型整个学习过程中的计算量[19]。因此在1D CNN 层与LSTM 层均设置ReLU 非线性激活函数。ReLU函数如式(8)所示:

其中:x表示上一层神经网络的输出向量。ReLU 使得输入的正值不变,负值变为0,这种操作将减少参数间的依存关系,使神经网络具有稀疏性,缓解过拟合问题。

在模型训练、验证和测试的过程中,在前向传播的最后一步使用均方误差(Mean Square Error,MSE)作为模型误差函数。并使用平均绝对误差(Mean Absolute Error,MAE)作为验证模型电池SOC 预测效果的指标函数。MSE 与MAE 如式(9)和式(10)所示:

其中:yk和分别表示在k时刻的实际SOC 与预测SOC。MSE和MAE 均可用来衡量预测目标与实际目标之间的偏差。MSE是实际目标和预测目标之间差的平方,然后再求和平均,平方数据更容易作微分操作,因此MSE 常被用作回归预测时的损失函数。MAE 是绝对误差的平均值,能较好地反映预测目标与实际目标之间误差的实际情况。

在1D CNN-LSTM 模型训练的过程中,使用Adam[20]优化函数更新模型的权重与偏置。Adam 的更新过程如式(11)~(15)所示:

其中:mt和nt分别表示t时刻梯度的一阶矩估计和二阶矩估计,是E[ft(θt)]和E的近似表示;分别表示对mt和nt的修正,是对期望的近似无偏估计;θt表示模型参数。Adam 函数为Keras 深度学习框架中的内置函数可直接调用,且Adam 中的参数使用文献[20]中得到的参数设置作为默认参数设置,其中学习率α为0.001,衰减因子β1和β2分别为0.9和0.999,常量ε为10-8。

③户外厕所应布置在院子角落,尽量位于居室和厨房下风向,以保证厕所面南、向阳、通风的要求,储粪池位置选择要考虑宜于清掏和出渣需要。

1D CNN-LSTM模型的训练过程如下所示。

步骤1 随机初始化模型参数。设置完成1D CNN-LSTM模型;随机初始化模型的权重和偏差。

步骤2 模型前向传播过程。计算1D CNN-LSTM 模型隐藏层与输出层的输出。

步骤3 模型反向传播过程。计算隐藏层和输出层的误差以及偏导数。

步骤4 权重训练。将通过反向传播得到的偏导数用于更新网络权重和偏差。

步骤5 判断是否达到最大迭代步数。若达到最大迭代步数,则模型训练结束,否则将目前的迭代步数增加1,并回到步骤2。

3.1 模型最佳迭代步数选择

使用训练集(11 364样本)训练设置完成的1D CNN-LSTM模型,使用验证集(2 430 样本)验证模型每一步的训练效果。为防止模型在验证集上发生过拟合,最后使用测试集(2 425样本)测试最终模型。

为确定合适的训练步数,图10 绘制训练集与验证集在模型训练过程中每一步的MSE,训练步数从0 步增加到10 000步。如图10 所示,MSE 在模型训练到300 步以后迅速下降到0.01%以下。模型的训练MSE 和验证MSE 在4 000~6 500 和8 200~8 900 这两个训练步数区间内观测到波动,MSE 突然增加,但很快稳定下来,之后又增加。说明Adam 优化算法从一个局部最优值跳跃到另一个局部最优值。训练和验证MSE均在6 500 步到8 200 步之间达到全局最小值。本文将1D CNN-LSTM模型的最佳训练步数设置为7 000步。

图10 训练步数从0到10 000时模型训练MSE值与验证MSE值Fig.10 Training MSE and verification MSE of model when training step number varies from 0 to 10 000

3.2 隐藏层中节点数量设置

1D CNN-LSTM 模型隐藏层中有1D CNN 层 和LSTM 层。1D CNN 层中神经元节点个数的设置与LSTM 层中神经元节点个数的设置都将影响模型的SOC 估计效果。分别对1D CNN 层与LSTM 层中神经元节点数量的设置进行分析。将LSTM 层的神经元节点数量设为N1,1D CNN 层的神经元节点数量设为N2。

在1D CNN-LSTM 模型隐藏层中,分析LSTM 层中设置不同神经元节点数量对1D CNN-LSTM 模型SOC 预测结果的影响,只改变N1的大小并固定模型中的其他设置。设置一层具有64 个神经元节点的1D CNN 层,滤波器高度为2;设置一层具有N1个神经元节点的LSTM 层,N1取6、64、192、320;批处理大小为64。LSTM 层中设置不同神经元节点数量的模型预测误差如图11所示。

图11 LSTM层中设置不同神经元节点数量的模型预测误差Fig.11 Model prediction error under different numbers of neuron nodes of LSTM layer

随着LSTM 层神经元节点数量N1的增加,MSE、MAE与最大误差开始呈现下降的趋势,但随着N1的持续增加,这3个指标又呈现上升的趋势。当N1为64 时,1D CNN-LSTM 模型的指标MSE、MAE 和最大误差均保持最小。LSTM 层中设置不同节点数量时的1D CNN-LSTM模型MSE、MAE和最大误差如图12所示。

图12 LSTM层中设置不同神经元节点数量时模型MSE、MAE和最大误差Fig.12 MSE,MAE and maximum error of model under different numbers of neuron nodes of LSTM layer

同理,分析1D CNN 层中设置不同神经元节点数量对1D CNN-LSTM 模型SOC 预测结果的影响,只改变N2的大小并固定模型中的其他设置。设置一层具有64 个神经元节点的LSTM 层;设置一层具有N2个神经元节点的1D CNN 层,滤波器高度为2,N2取6、64、192、320;批处理大小为64。

1D CNN 层中设置不同节点数量时的模型MSE、MAE 和最大误差如表3 所示。随着1D CNN 层神经元节点数量N2的增加,MSE、MAE 与最大误差开始呈现下降的趋势;但随着N2的持续增加,这3 个指标又呈现上升的趋势。虽然当N2为192 时,1D CNN-LSTM 模型的指标MAE 较N2为64 时有所升高,但模型的指标MSE 与最大误差均下降,当模型指标MSE较小时,模型具有更好的稳定性。为提高1D CNN-LSTM 模型预测准确度与稳定性,并避免由于模型过于复杂而导致模型过拟合,应适当地增大N1和N2。

表3 1D CNN层中设置不同节点数量时的MSE、MAE和最大误差Tab.3 MSE,MAE and maximum error of model under different numbers of neuron nodes of 1D CNN layer

通过上述分析,本文将模型中的1D CNN 层神经元节点数量设置为192,LSTM层神经元节点数量设置为64。

3.3 批处理大小设置

批处理大小为一次训练时的样本数量,将整个样本分成几个小批量,输入到1D CNN-LSTM 模型中。在模型训练过程中分析不同批处理大小对1D CNN-LSTM 模型SOC 预测结果的影响,将只改变批处理大小的设置并固定模型中的其他设置。根据上述对隐藏层节点数量设置的研究,设置一层具有192个神经元节点的1D CNN 层,滤波器高度为2;设置一层具有64 个神经元节点的LSTM 层;批处理大小取64 和192。设置不同批处理大小的模型预测误差如图13所示。

图13 设置不同批处理大小的模型预测误差Fig.13 Predicted errors under different batch sizes

设置不同批处理大小的1D CNN-LSTM模型MSE、MAE和最大误差如表4 所示。随着批处理大小的增加,模型的MSE、MAE 和最大误差均呈现升高趋势,即模型的SOC 预测效果在变差。因此本文将批处理大小设置为64。

表4 设置不同批处理大小时的模型MSE、MAE和最大误差Tab.4 MSE,MAE and maximum error of model under different batch sizes

3.4 隐藏层层数设置

在1D CNN-LSTM 模型隐含层中,分析隐藏层中层数的设置对1D CNN-LSTM 模型SOC 预测结果的影响,只改变隐藏层的层数设置并固定模型中的其他设置。设1D CNN 层的层数为M1,设LSTM层的层数为M2。

分析1D CNN 层与LSTM 层的层数的设置对模型SOC 预测结果的影响,只改变M1与M2的大小并固定模型中的其他设置。设置M1层具有192 个神经元节点的1D CNN 层,滤波器高度为2;设置M2层具有64个神经元节点的LSTM 层;批处理大小取64;M1取1和2。M2取1和2。如图14为M1与M2分别取不同值时模型的预测误差。

图14 设置不同隐藏层数量时的模型预测误差Fig.14 Prediction errors under different hidden layer numbers

设置不同隐藏层层数时的模型MSE、MAE 和最大误差如表5 所示。当M1与M2均为1 时,1D CNN-LSTM 模型的3 个指标均保持最小;当M1为1 且M2为2 时,模型的3 个指标均升高;当M1为2且M2为1时,模型的MSE、MAE和最大误差升高的幅度更明显。M1和M2数量的增加并没有提高模型的预测精确度。

表5 设置不同隐藏层层数时的模型MSE、MAE和最大误差Tab.5 MSE,MAE and maximum error of model under different hidden layer numbers

通过实验分析,本文将在1D CNN-LSTM 模型中设置一层1D CNN层与一层LSTM层。

4 对比实验分析

对比分析1D CNN-LSTM 模型与1D CNN 模型、BPNN 模型、1D CNN-GRU 模型、LSTM 模型、GRU 模型和SimpleRNN 模型的电池SOC预测效果。

BPNN 模型、1D CNN 模型与1D CNN-LSTM 模型的SOC预测误差如图15所示。

图15 1D CNN-LSTM模型、1D CNN模型和BPNN模型的预测误差Fig.15 Prediction errors of 1D CNN-LSTM model,1D CNN model and BPNN model

与1D CNN-LSTM模型相比,1D CNN模型与BPNN模型不依赖于过去样本的输入,图15 中显示这两种模型预测误差值具有较大波动。1D CNN-LSTM 模型因为有LSTM 层的存在而具有保存历史输入信息的能力。相比之下,1D CNN-LSTM 模型的SOC 预测值更准确和平滑。1D CNN-LSTM 模型的最大预测误差为0.99%。与1D CNN 模型和BPNN 模型相比,1D CNN-LSTM模型的最大预测误差率分别降低了1.05个百分点和1.31个百分点。

1D CNN-LSTM 模型与1D CNN-GRU 模型因为有LSTM 与GRU 的存在才具有保存历史输入信息的能力。LSTM 与GRU均是为了优化SimpleRNN 而提出的循环神经网络结构。针对本文的电池SOC 预测问题,LSTM 与GRU 具有不同的预测效果。在本文的实验中,1D CNN-LSTM 模型比1D CNN-GRU 模型更适合电池SOC 的预测。与1D CNN-GRU 模型相比,1D CNN-LSTM 模型的最大预测误差率降低了1.95 个百分点。1D CNN-LSTM 模型和1D CNN-GRU 模型的电池SOC 预测误差如图16所示。

图16 1D CNN-LSTM模型和1D CNN-GRU模型的预测误差Fig.16 Prediction errors of 1D CNN-LSTM model and 1D CNN-GRU model

1D CNN-LSTM 模型、1D CNN 模型、BPNN 模型、1D CNNGRU 模型、LSTM 模型、GRU 模型和SimpleRNN 模型的MSE、MAE 和最大误差如表6 所示。BPNN 模型为典型的非线性映射模型,全部由全连接层组成,该模型不具有从输入数据中提取高级数据特征的能力,也不具有保存历史输入信息的能力。1D CNN模型由一维卷积层和全连接层组成,该模型则能够从输入数据中提取高级数据特征。由表6 可知,LSTM 模型、GRU 模型和SimpleRNN 模型的MSE、MAE 和最大误差均较大,其最大误差分别达到了27.61%、62.75%和47.84%,因此仅使用循环神经网络的模型不能降低SOC 的预测误差,可将CNN 与RNN 相结合达到降低电池SOC 预测误差的目的。1D CNN-LSTM 模型由一维卷积层与LSTM 层和全连接层组成,1D CNN-GRU 模型由一维卷积层与GRU 层和全连接层组成,由表6 可知,与1D CNN 模型、BPNN 模型、1D CNN-GRU 模型、LSTM 模型、GRU 模型和SimpleRNN 模型相比,1D CNN-LSTM模型的最大预测误差率分别降低了1.05、1.31、1.95、26.62、61.76 和46.85 个百分点。对比模型的具体参数设置如表7所示。

表6 七种电池SOC预测模型的MSE、MAE和最大误差Tab.6 MSE,MAE and maximum error of 7 kinds of battery SOC prediction models

上述7 种电池SOC 预测模型的输出层中均设置一层仅含有一个节点且无激活函数的全连接层输出预测值SOC,且所有模型均具有相同的优化函数、隐层激活函数、误差函数和批处理大小。7种电池SOC预测模型设置如表7所示。

表7 七种电池SOC预测模型设置Tab.7 Settings of 7 kinds of battery SOC prediction models

5 结语

针对电池的SOC 预测稳定性及准确度问题,本文提出一维CNN 与LSTM 结合的SOC 预测模型,该方法通过一维CNN有效地提取数据的高级数据特征,达到充分获取输入数据中重要信息的目的,并通过使用LSTM 循环神经网络保存历史输入信息,使前期的输入信息与当前的输入一起映射到当前的输出。通过分析模型中隐藏层层数、1D CNN 层与LSTM 层神经元节点数、和批处理大小的变化对1D CNN-LSTM 模型SOC 预测效果的影响,最终确定模型的最优设置。1D CNNLSTM 模型的MSE、MAE 和最大预测误差分别为0.002 9%、0.402 7%和0.99%。满足电池SOC 的估计要求。为进一步降低电池SOC 的预测误差,可进一步考虑将注意力机制应用于电池SOC 的预测,注意力机制具有关注输入数据中重要信息的能力,并结合循环神经网络达到降低电池SOC 预测误差的目的。

猜你喜欢
神经元卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
AI讲座:神经网络的空间对应
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
三次样条和二次删除相辅助的WASD神经网络与日本人口预测