【《基于LSTM神经网络电池SOC估算分析》3800字】_第1页
【《基于LSTM神经网络电池SOC估算分析》3800字】_第2页
【《基于LSTM神经网络电池SOC估算分析》3800字】_第3页
【《基于LSTM神经网络电池SOC估算分析》3800字】_第4页
【《基于LSTM神经网络电池SOC估算分析》3800字】_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录-PAGE1-基于LSTM神经网络电池SOC估算分析目录TOC\o"1-3"\h\u11865基于LSTM神经网络电池SOC估算分析 1145631.1LSTM网络原理 1253121.2网络超参数优化 5186961.3基于LSTM神经网络电池SOC估算过程 91.1LSTM网络原理传统BP神经网络在工作过程中数据从输入层经过隐含层向输出层传播,网络单独处理每一次输入数据,输出和输入之间并没有保存任何状态信息。对于传统前馈神经网络,在处理时间序列数据的过程中需要将整个时间序列当做输入变量,若序列较长计算较为复杂。为解决时间序列处理问题,循环神经网络(RNN)应运而生。循环神经网络具有记忆网络之前输入信息的记忆状态,记忆状态使得RNN可对序列数据实现更高精度预测。图3-11为RNN内部结构图。图3-11RNN结构图图3-11中x代表RNN输入,o代表RNN输出,u为输入层和隐含层之间权重,v为隐含层和输出层之间权重,w为隐含层权重。在本文中输入x为时间序列(如电压、电流、温度序列),s为循环神经网络记忆状态。将RNN按照时间序列展开,可得到如图3-12所示结构图。图3-12RNN时间序列展开从图3-12可以看出,s(t)由当前时刻的输入x(t)和上一时刻的记忆状态s(t-1)共同决定,即网络的记忆状态随着时间的推进不断更新。s(t)和o(t)更新过程如式3-1、式3-2所示:(3-1)(3-2)传统RNN存在梯度消失和梯度爆炸问题,为改进RNN处理时间序列的能力,长短时记忆循环神经网络(LSTM)应运而生。LSTM中“长时记忆”通过网络权重实现,“短时记忆”通过LSTM记忆状态实现。LSTM神经网络除了外部的RNN循环外,还具有内部LSTM单元结构,LSTM单元的存在使得LSTM神经网络能够解决RNN时间依赖问题。图3-13为LSTM单元结构示意图。图3-13LSTM单元结构图3-13中x(t)为LSTM单元输入序列数据,h(t)和h(t-1)分别为当前时刻输出和上一时刻输出,c(t)和c(t-1)分别为当前时刻和上一时刻记忆状态。LSTM具备短时记忆功能的关键在于记忆状态c(t),c(t)记忆状态贯穿整个LSTM单元结构,是记忆信息的载体。当前输入x(t)和上一时刻输h(t-1)出被用来不断更新c(t),网络最终输出h(t)从记忆状态c(t)中获取。c(t)的更新通过门限单元实现,门限单元的存在使得LSTM可对单元内部数据流动进行控制。图3-14为LSTM单元门限结构图。图3-14LSTM单元门限结构图3-14中σ代表sigmoid激活函数,激活函数f公式如下:(3-3)将sigmoid激活函数用在LSTM门限单元中与需要控制矩阵进行点乘运算,若sigmoid激活函数输入为0,则代表与其点乘矩阵携带信息全部被过滤,若输出未1,则该矩阵携带的信息可以全部保留。门限结构控制信息的通过性,常用激活函数如图3-15所示:图3-15激活函数(a)sigmoid(b)tanh(c)relu(d)preluLSTM单元数据的内部数据流动通过3个sigmoid门限结构实现,分别为遗忘门、输入门、输出门。遗忘门控制上一时刻记忆信息c(t-1)的通过性,图3-16虚线方框内为遗忘门。图3-16LSTM单元遗忘门从图中可以看出,遗忘门利用x(t)和h(t-1)通过sigmoid门限结构得到遗忘门输出f(t),f(t)与上一时刻状态矩阵c(t-1)做矩阵点乘,控制c(t-1)中每个元素的通过性,f(t)具体更新如下所示:(3-4)式3-(4)中Wf和bf分别对应遗忘门权重和偏置,LSTM单元通过f(t)实现了对上一时刻的记忆信息的筛选。图3-17LSTM单元输入门图3-17为LSTM单元输入门,从图中可以看出,输入门最终产生的矩阵与经过遗忘门处理的c(t-1)’进行矩阵加法运算,实现了c(t)的更新。输入门由sigmoid门限结构和tanh激活层组成,门限结构输出i(t)决定了h(t-1)和x(t)携带的信息加入到c(t)中的比重。tanh激活函数将输入矩阵中元素映射在[-1,1]区间,对输入数据进行非线性变换以提高模型容量。tanh激活函数、i(t)、g(t)计算如下所示:(3-5)(3-6)(3-7)其中Wi和Wg分别对应sigmoid门限结构和tanh激活层权重,bi,bg分别对应sigmoid门限结构和tanh激活层偏置。图3-18LSTM单元输出门图3-18中虚线方框内为LSTM单元输出门结构图,从图中可以看出,输出门由sigmoid门限结构和tanh激活层组成,tanh激活函数对c(t)状态进行非线性变换,将变换后的矩阵通过o(t)进行控制,得到LSTM单元最终输出h(t)。o(t)和h(t)更新如下所示:(3-8)(3-9)其中Wo为输出门sigmoid门限结构权重,bo为其偏置。1.2网络超参数优化网络超参数的是神经网络收敛的关键,与网络参数(权重和偏置)不同,网络超参数无法在训练的过程中自动更新。LSTM神经网络超参数包括网络架构(层数和隐含层节点数量)、批量大小(batchsize)、损失函数(lossfunction)、优化器(optimizer)、学习率(learningrate)和训练周期(epochs)等。各超参数之间的关系如图3-19所示:首先输入数据送入神经网络,通过层进行数据变换得到网络预测值。其次利用损失函数得到预测值和真实目标值之间的偏离程度,即网络损失值。最后利用优化器对各层权重和阈值进行微调以降低当前输入的损失值,完成误差的反向传播,实现权重和偏置的更新。图3-19网络、层、损失函数、优化器之间关系(1)批处理数量批处理是指网络在多个输入数据上计算损失值,在该批数据上更新一次权重和偏置。批处理数量影响网络的优化程度和训练速度。在训练周期不变的情况下,batchsize取值过小会造成训练速度过慢,取值过大会导致网络学习次数不足,即权重的更新次数过少。经过多次测试,本实验将batchsize取值为128,该数值可兼顾训练时间和更新次数。(2)损失函数损失函数用来衡量模型输出和预期值之间的偏差,衡量网络在训练数据上的性能。本实验选用均方误差(meansquareerror,MSE)作为损失函数,用其检测输出和预期值之间的偏差。选用平均绝对误差(meanabsoluteerror,MAE)和最大误差(maxabsoluteerror,MAX)对网络性能进行定量描述。MSE和MAE具体计算如下所示:(3-10)(3-11)其中zi为预测值,oi为目标值,n代表批处理数量。(3)优化器网络可以不断学习的本质是误差的反向传播,利用误差对网络权重和偏置进行优化。但在形如图3-20所示在b点附近,网络容易陷入局部最优点,导致网络无法找到全局最优点。图3-20全局最优点和局部最优点示意图为防止网络陷入局部最优点,提高模型收敛速度,本实验采用带动量的随机梯度下降(SGD)对网络权重和阈值调节优化。动量算法对权重优化过程中,不仅考虑当前的梯度值,还将上一次的梯度值考虑在内,梯度的具体更新过程如下所示:Step1:计算网络在批处理数据上的梯度g。(3-12)上式n为批处理数值,本实验中n取值128,L为损失函数,f(xi)代表网路的预测值,yi为目标值。Step2:计算速度v。(3-13)其中α为动量参数,ε为网络的学习率。Step3:网络参数更新。(3-14)式中θ为网络参数,对应网络权重和偏置。(4)训练周期图3-21为LSTM神经网络在恒流放电工况不同迭代周期电池SOC预测结果。图3-21恒流放电工况不同迭代次数从图3-21可以看出,随着网络在训练数据上迭代次数的增加,损失值MSE呈下降趋势。网络前100次迭代在训练集和验证集上MSE下降较快,在验证集上的损失值略低于在训练集上的损失值,造成以上现象的原因在于网络在训练集上训练过后,网络参数得到了更新,在接下来的验证集上的MSE会有所降低。网络在200~300迭代过程中,MSE下降较为缓慢,网络在训练集上的MSE略低于相同迭代次数下验证集MSE。造成以上现象的原因在于网络在训练集上训练,随着迭代的进行,在训练集上的损失值会越来越低,而网络在验证集上得到的损失值不参与网络参数更新,所以会造成网络在验证集上的损失值高于训练集上损失值。经过多次反复测试,最终确定不同数据集下网络的迭代次数如表3-8所示:表3-8迭代次数测试网络类型恒流数据集脉冲数据集NASA数据集迭代次数300350500训练时间/s85016211895(5)隐含层节点数目目前并没有LSTM隐含层节点数量具体计算公式,需要不断试验才能确定最佳节点数量。表3-9、表3-10、表3-11分别为LSTM神经网络在各工况验证集上性能测试。表3-9恒流放电工况隐含层节点152025303540455055MAE/%29.544.431.931.812.181.721.831.872.74MAX/%表3-10脉冲放电工况隐含层节点253035404550556065MAE/%29.544.431.931.812.181.721.831.872.74MAX/%表3-11NASA随机使用工况隐含层节点253035404550556065MAE/%29.544.431.931.812.181.721.831.872.74MAX/%如表3-9所示,隐含层节点数量不足(如15个)会限制了网络学习能力,导致网络无法有效表征电池放电特性。而隐含层节点过多会导致网络发生过拟合,使网络在训练数据上损失值较低,在新数据上损失值较大,即网络泛化能力降低。1.3基于LSTM神经网络电池SOC估算过程Step1:实验数据划分。1.1节对锂离子电池数据集进行详细介绍,包括恒流、脉冲、NASA随机使用数据集,将以上数据集各分为3部分:训练集、验证集和测试集。在训练集上训练网络,实现网络参数更新;在验证集上评估网络并调节网络超参数;在测试集上测试网络在新数据上的表现。测试集存在的原因是因为网络超参数的调节需要验证集估算精度作为反馈信号,该调节过程本质上是一种学习过程,会导致验证集信息泄露到网络中,因此需要测试集测试网络在从未见过数据上的表现,以验证网络的泛化能力。恒流数据集划分:选取5号实验数据作为验证集,9号实验数据作为测试集,其余数据作为训练集。脉冲数据集划分:选取6号实验数据作为验证集。选取17号、18号、19号作为测试集。将其余数据作为训练集。NASA数据集划分:NASA随机使用数据集共包括28块锂离子电池,其中1号、2号、7号、8号电池数据因电流采样间隔问题无法用于SOC预测。选用12号电池数据作为验证集。选用14号、20号、23号、25号电池数据作为测试集。将其余19块电池数据作为训练集。Step2:数据预处理。较大的输入数据(如温度)会造成较大的梯度更新,致使网络无法收敛。本实验采用离差标准化对输入数据进行进行等比压缩,将电压、电流、温度压缩在[0-1]区间。具体转换公式如下:(3-15)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论