一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进Elman神经网络的笔记本电脑剩余电量估计方法与流程

2021-10-24 08:09:00 来源:中国专利 TAG:神经网络 电量 笔记本电脑 剩余 改进

一种基于改进elman神经网络的笔记本电脑剩余电量估计方法
技术领域
1.本发明涉及电池技术领域,更具体地,涉及一种基于改进elman神经网络的笔记本电脑剩余电量估计方法。


背景技术:

2.笔记本电脑是一种重要的便携式办公设备,其所带电池电量有限。因此,对于电池剩余电量的准确估计,是笔记本电脑的电池管理系统和用户合理安排电脑运行任务、时间的关键,有助于克服“电量焦虑症”。
3.目前,电池剩余电量估计方法主要包括安时积分法、开路电压法、卡尔曼滤波法和数据驱动法。由于笔记本电脑自身强大的运算能力,基于数据驱动的电池剩余电量估计具有很好的应用前景。现有基于数据驱动的电池剩余电量估计方法,一般采用电池在某一时刻的电压、电流、温度作为神经网络的输入来估计电池的剩余电量,但这种方法存在以下问题:

输入的数据量过少,单个量的测量误差会对剩余电量估计精度产生很大影响;

没有考虑输入特征数据的权值分配问题,不利于估计精度的提高;

时序依赖性比较严重,难以在放电电流变化情况下对电池的剩余电量进行准确估计。


技术实现要素:

4.本发明为克服上述现有基于数据驱动的电池剩余电量估计方法存在的估计精度问题和特征权值分配问题,根据笔记本电脑进入休眠状态期间电池端电压的暂态过渡特征,提出了一种基于改进elman神经网络的笔记本电脑剩余电量估计方法。
5.本发明的技术方案如下:
6.一种基于改进elman神经网络的笔记本电脑剩余电量估计方法,所述方法适用于在笔记本电脑进入休眠状态时对电池剩余电量进行估计,具体过程为:
7.s1:构建原始数据集d
raw
,即采用多台同型号笔记本电脑的电池,使其周期性地放电,在每次放电结束时,记录放电结束前的电池电流、放电结束后一段时间内的电池端电压和平均温度作为原始数据集的输入特征数据,记录放电结束时的电池剩余电量作为原始数据集的目标值;
8.s2:对数据集进行预处理,即将所述原始数据集中的数据进行数据清洗、数据扩充和数据归一化,得到数据矩阵d
new

9.s3:对数据集进行划分,即将所述数据矩阵划分为训练集和验证集;
10.s4:构建神经网络模型结构,即搭建注意力机制层和elman神经网络,并组成带有注意力机制层的elman神经网络模型;
11.s5:训练神经网络模型,即将所述训练集中的数据导入所述神经网络模型进行网络训练,通过注意力机制层对所述训练集中的输入特征数据进行权值分配;
12.s6:优化神经网络模型,即采用蚁群算法对所述elman神经网络模型进行优化;
13.s7:评估神经网络模型并将其嵌入电池管理系统,即利用所述验证集对所述神经网络模型进行评估,若符合精度要求则将其嵌入笔记本电脑的电池管理系统,不符合精度要求则重新执行s5至s6,重新训练和优化模型;
14.s8:笔记本电脑剩余电量估计,即在笔记本电脑每次进入休眠状态时,采集休眠前的电池电流、休眠后一段时间内的电池端电压和平均温度,将采集到的数据进行归一化处理,输入所述电池管理系统中的神经网络模型,估计电池剩余电量。
15.本方案中,步骤s1所述的构建原始数据集d
raw
,具体过程为:
16.s101:选取m台同型号笔记本电脑的电池;在0至额定电流i
max
区间内构建包含n个元素的等差数列,形成放电电流集合i
dis
=[i1,i2,
···
,i
n
],将电池电量区间[0,100%]均匀划分为p个区域;
[0017]
s102:选取第1台笔记本电脑的电池进行间歇性放电实验;
[0018]
s103:从所述放电电流集合i
dis
中选取第1个元素作为放电电流i
dis

[0019]
s104:将所选取的电池以所选定的电流i
dis
进行恒流放电,每次放出电池额定容量1/p的电量后停止放电,并维持停止放电状态t秒,将放电电流i
dis
、停止放电t秒内的电压平均温度t
p
保存为输入特征数据,将当前剩余电量soc
p
保存为目标值,构成一条样本数据如下:
[0020][0021]
其中,p为电池以放电电流i
dis
放出1/p额定容量的次数,u
t
表示电池停止放电后第t个时刻的端电压;
[0022]
s105:将步骤s104重复执行p次,直至电池剩余电量为零,将期间保存的所有数据整合成数据集d,可得到:
[0023][0024]
s106:采用恒流恒压充电方式将该电池充到满电量;
[0025]
s107:依次从放电电流集合i
dis
中选取第2至n个元素作为放电电流i
dis
,循环执行步骤s104至s106,直至集合i
dis
中的所有放电电流都被选中过,将所有数据集d都保存到原始数据集d
raw
中;
[0026]
s108:依次选取第2至m台笔记本电脑的电池,循环执行步骤s103至s107,直至所有m台笔记本电脑的电池都完成放电实验,将所有数据集d都保存到原始数据集d
raw
中。
[0027]
本方案中,步骤s2所述的对数据集进行预处理,具体过程为:
[0028]
s201:对步骤s1获取的电池原始数据集d
raw
进行数据清洗,得到第一数据集;
[0029]
s202:将所述第一数据集的第一列记为目标值l
soc
,第二到最后一列记为特征值矩阵f,所述特征值矩阵的每一行都为一个特征向量:
[0030][0031]
其中,为电池以i
dis
放电且停止放电后剩余电量为soc
p
、平均温度为t
p
情况下的特征向量;
[0032]
s203:对所述特征向量中的放电电流i
dis
和停止放电后t秒内的平均温度t
p
的数据样本进行扩充,即将i
dis
和t
p
复制(c

1)份后再放回到原来的特征向量中,得到:
[0033][0034]
s204:将所有的特征向量进行归一化处理,把数据映射到0~1范围之内,得到新特征向量
[0035]
s205:将所述新特征向量与目标值l
soc
一一对应,组成新的数据矩阵d
new

[0036]
本方案中,步骤s4所述的构建神经网络模型结构,具体由以下几部分组成:
[0037]
s401:搭建注意力机制层,确定c个全连接层及其对应的激活函数层,并将其一一组合,其中最后一个全连接层对应的激活函数层为softmax函数层;
[0038]
s402:确定elman神经网络及其所含的输入层、隐藏层、承接层和输出层各自对应的神经元,其中所述输入层的输入通道数目对应注意力机制层的输出通道数目,输出层对应的值为电池的剩余电量;
[0039]
s403:根据所述elman神经网络中的输入层、隐藏层、承接层和输出层各自对应的神经元,确定所述elman神经网络中的权值和阈值;
[0040]
s404:将s401搭建的注意力机制层和s402、s403搭建的elman神经网络组合起来,形成带有注意力机制层的elman神经网络模型。
[0041]
本方案中,步骤s5所述的训练神经网络模型,具体步骤如下:
[0042]
s501:将一维卷积层用作嵌入层,生成一个嵌入函数来捕获不同输入特征数据之间的依赖关系,将步骤s2得到的数据矩阵d
new
经过一维卷积层,得到降维后的数据矩阵
[0043]
s502:将步骤s3得到的训练集的数据导入网络模型训练,训练集中的输入特征数据通过注意力机制层进行权值分配;
[0044]
s503:对步骤s4所述的注意力机制层,将其最后一层全连接层的输出设置为e
t
,即
[0045]
e
t
=w
t
×
θ(w
t
‑1×
x
t
‑1 b
t
‑1) b
t
[0046]
其中,w
t
为最后一层全连接层的权值,b
t
为最后一层全连接层的偏置,w
t
‑1为倒数第二层全连接层的权值,b
t
‑1为倒数第二层全连接层的偏置,x
t
‑1为倒数第二层全连接层的输入,θ(
·
)为倒数第二层全连接层对应的激活函数层;
[0047]
s504:设最后一层全连接层对应的softmax函数层的权值输出为
[0048]
[0049]
s504:将s501得到的与s504注意力权值进行聚合得到该注意力机制层的最终输出为
[0050][0051]
s505:将带有权值的输入特征数据输入至elman神经网络。
[0052]
本方案中,步骤s6所述的采用蚁群算法优化神经网络模型,具体步骤如下:
[0053]
s601:将elman神经网络的隐藏层和输出层的权值和阈值,以及隐藏层神经元个数作为蚁群算法的待优化参数;
[0054]
s602:设置蚁群算法的初始化参数,包括蚂蚁最大迭代次数g
max
、蚂蚁个数k、信息素强度τ
ij

[0055]
s603:算法开始时,在k个位置点上随机放置k个蚂蚁,每个位置上的元素包括隐藏层和输出层的权值和阈值,以及隐藏层神经元个数。此时,各路径上的信息素相等,设为:
[0056]
τ
ij
(0)=δ
[0057]
其中,δ为一个数值较小的常数;
[0058]
s604:每只蚂蚁根据路径上剩余的信息素和启发式信息,独立选择下一个定位点,即更新蚂蚁的位置,其中蚂蚁k从点i移动到点j的概率为:
[0059][0060]
其中,j
k
表示蚂蚁k未访问过的节点,τ
ij
(t)表示时间t时由位置点i到位置点j的信息素强度,η
ij
是一个启发式因子,也是位置点i和位置点j之间距离的倒数,表示蚂蚁k从位置点i移动到位置点j的期望水平的启发因子,而α,β为两常数,分别表示信息素和启发式因子的加权值;
[0061]
s605:当所有蚂蚁完成搜索后,更新信息素,可得到:
[0062][0063]
其中,k为蚂蚁个数,ρ(0<ρ<1)表示该信息素在路径上的蒸发系数,一般设置为0.5,为第k只蚂蚁在路径i到j留下来的信息素,定义为:
[0064][0065]
其中,q是一个常数,c
k
为蚂蚁k从i到j的完整路径总长度。
[0066]
s606:当所有蚂蚁用转移概率完成对下一个定位点的搜索后,记录这次最好的搜索结果,并更新位置的元素信息量;
[0067]
s607:采用方差sse作为该算法的评价函数,具体表达式为:
[0068][0069]
其中,soc
pre
为网络输出的剩余电量估计值,soc
real
为对应剩余电量的真实值。
[0070]
s608:若满足终止条件,则结束搜索过程,输出的权重和阈值以及神经元数量的最佳值,得到优化后的elman神经网络模型。
[0071]
与现有技术相比,本发明技术方案的有益效果是:
[0072]
本发明利用笔记本电脑的休眠状态,将休眠前一采样时刻的放电电流数据、休眠期间电池端电压的暂态过程数据、休眠期间的电池平均温度作为神经网络的输入,增加了输入数据的数量,避免了单一数据对剩余电量估计精度的不利影响;搭建了注意力机制层,能够对输入特征数据进行合理的权值分配,有效解决模型的注意力分散问题,提高了估计结果的准确性;采集笔记本电脑休眠期间电池端电压数据,使电池剩余电量估计不受电池放电电流变化的影响。
附图说明
[0073]
图1为本发明提出的一种基于改进elman神经网络的笔记本电脑剩余电量估计方法流程图;
[0074]
图2为本发明提出的带有注意力机制层的elman神经网络的原理图;
[0075]
图3为本发明提出的elman神经网络原理图;
[0076]
图4为本发明提出的采用蚁群算法优化elman神经网络的流程图。
具体实施方式
[0077]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0078]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0079]
实施例1
[0080]
在一个具体的实施例中,如图1所示,一种基于改进elman神经网络的笔记本电脑剩余电量估计方法,包括以下步骤:
[0081]
s1:构建原始数据集d
raw
,即采用多台同型号笔记本电脑的电池,使其周期性地放电,在每次放电结束时,记录放电结束前的电池电流、放电结束后一段时间内的电池端电压和平均温度作为原始数据集的输入特征数据,记录放电结束时的电池剩余电量作为原始数据集的目标值;
[0082]
s2:对数据集进行预处理,即将所述原始数据集中的数据进行数据清洗、数据扩充和数据归一化,得到数据矩阵d
new

[0083]
s3:对数据集进行划分,即将所述数据矩阵划分为训练集和验证集;
[0084]
s4:构建神经网络模型结构,即搭建注意力机制层和elman神经网络,并组成带有
注意力机制层的elman神经网络模型;
[0085]
s5:训练神经网络模型,即将所述训练集中的数据导入所述神经网络模型进行网络训练,通过注意力机制层对所述训练集中的输入特征数据进行权值分配;
[0086]
s6:优化神经网络模型,即采用蚁群算法对所述elman神经网络模型进行优化;
[0087]
s7:评估神经网络模型并将其嵌入电池管理系统,即利用所述验证集对所述神经网络模型进行评估,若符合精度要求则将其嵌入笔记本电脑的电池管理系统,不符合精度要求则重新执行s5至s6,重新训练和优化模型;
[0088]
s8:笔记本电脑剩余电量估计,即在笔记本电脑每次进入休眠状态时,采集休眠前的电池电流、休眠后一段时间内的电池端电压和平均温度,将采集到的数据进行归一化处理,输入所述电池管理系统中的神经网络模型,估计电池剩余电量。
[0089]
本方案中,步骤s1获得原始数据集的方法d
raw
,具体步骤如下:
[0090]
s101:选取m台同型号笔记本电脑的电池;在0至额定电流i
max
区间内构建包含n个元素的等差数列,形成放电电流集合i
dis
=[i1,i2,
···
,i
n
],将电池电量区间[0,100%]均匀划分为p个区域;
[0091]
s102:选取第1台笔记本电脑的电池进行间歇性放电实验;
[0092]
s103:从所述放电电流集合i
dis
中选取第1个元素作为放电电流i
dis

[0093]
s104:将所选取的电池以所选定的电流i
dis
进行恒流放电,每次放出电池额定容量1/p的电量后停止放电,并维持停止放电状态t秒,将放电电流i
dis
、停止放电t秒内的电压平均温度t
p
保存为输入特征数据,将当前剩余电量soc
p
保存为目标值,构成一条样本数据如下:
[0094][0095]
其中,p为电池以放电电流i
dis
放出1/p额定容量的次数,u
t
表示电池停止放电后第t个时刻的端电压;
[0096]
s105:将步骤s104重复执行p次,直至电池剩余电量为零,将期间保存的所有数据整合成数据集d,可得到:
[0097][0098]
s106:采用恒流恒压充电方式将该电池充到满电量;
[0099]
s107:依次从放电电流集合i
dis
中选取第2至n个元素作为放电电流i
dis
,循环执行步骤s104至s106,直至集合i
dis
中的所有放电电流都被选中过,将所有数据集d都保存到原始数据集d
raw
中;
[0100]
s108:依次选取第2至m台笔记本电脑的电池,循环执行步骤s103至s107,直至所有m台笔记本电脑的电池都完成放电实验,将所有数据集d都保存到原始数据集d
raw
中。
[0101]
本方案中,步骤s2所述的数据预处理方法步骤如下:
[0102]
s201:对步骤s1获取的电池原始数据集d
raw
进行数据清洗,得到第一数据集;
[0103]
s202:将所述第一数据集的第一列记为目标值l
soc
,第二到最后一列记为特征值矩阵f,所述特征值矩阵的每一行都为一个特征向量:
[0104][0105]
其中,为电池以i
dis
放电且停止放电后剩余电量为soc
p
、平均温度为t
p
情况下的特征向量;
[0106]
s203:对所述特征向量中的放电电流i
dis
和停止放电后t秒内的平均温度t
p
的数据样本进行扩充,即将i
dis
和tp复制(c

1)份后再放回到原来的特征向量中,得到:
[0107][0108]
s204:将所有的特征向量进行归一化处理,把数据映射到0~1范围之内,得到新特征向量
[0109]
s205:将所述新特征向量与目标值l
soc
一一对应,组成新的数据矩阵d
new

[0110]
本方案中,步骤s3所述将数据矩阵划分为训练集和验证集,具体方法为:
[0111]
将数据矩阵中80%的数据作为训练集,而剩下的20%作为测试集。
[0112]
本方案中,图2为注意力机制层的框图,图3为elman神经网络结构图,步骤s4所述的构建神经网络模型结构,具体方法如下:
[0113]
s401:搭建注意力机制层,确定2个全连接层及其对应的激活函数层,并将其一一组合,其中最后一个全连接层对应的激活函数层为softmax函数层;
[0114]
s402:确定elman神经网络及其所含的输入层、隐藏层、承接层和输出层各自对应的神经元,其中第1层全连接层对应的激活函数层确定为tanh函数层,第2层全连接层对应的激活函数层确定为softmax函数层;
[0115]
s403:根据所述elman神经网络中的输入层、隐藏层、承接层和输出层各自对应的神经元,确定所述elman神经网络中的权值和阈值;
[0116]
s404:将s401搭建的注意力机制层和s402、s403搭建的elman神经网络组合起来,形成带有注意力机制层的elman神经网络模型。
[0117]
本方案中,步骤s5所述的训练神经网络模型,具体步骤如下:
[0118]
s501:将一维卷积层用作嵌入层,生成一个嵌入函数来捕获不同输入特征数据之间的依赖关系,将步骤s2得到的数据矩阵d
new
经过一维卷积层,得到降维后的数据矩阵
[0119]
s502:将步骤s3得到的训练集的数据导入网络模型训练,训练集中的输入特征数据通过注意力机制层进行权值分配;
[0120]
s503:对步骤s4所述的注意力机制层,将其最后一层全连接层的输出设置为e
t
,即
[0121]
e
t
=w
t
×
θ(w
t
‑1×
x
t
‑1 b
t
‑1) b
t
[0122]
其中,w
t
为最后一层全连接层的权值,b
t
为最后一层全连接层的偏置,w
t
‑1为倒数第
二层全连接层的权值,b
t
‑1为倒数第二层全连接层的偏置,x
t
‑1为倒数第二层全连接层的输入,θ(
·
)为倒数第二层全连接层对应的激活函数层;
[0123]
s504:设最后一层全连接层对应的softmax函数层的权值输出为
[0124][0125]
s504:将s501得到的与s504注意力权值进行聚合得到该注意力机制层的最终输出为
[0126][0127]
s505:将带有权值的输入特征数据输入至elman神经网络。
[0128]
本方案中,如图4所示,步骤s6所述的采用蚁群算法对网络模型进行优化,具体步骤如下:
[0129]
s601:将elman神经网络的隐藏层和输出层的权值和阈值,以及隐藏层神经元个数作为蚁群算法的待优化参数;
[0130]
s602:设置蚁群算法的初始化参数,包括蚂蚁最大迭代次数g
max
、蚂蚁个数k、信息素强度τ
ij

[0131]
s603:算法开始时,在k个位置点上随机放置k个蚂蚁,每个位置上的元素包括隐藏层和输出层的权值和阈值,以及隐藏层神经元个数。此时,各路径上的信息素相等,设为:
[0132]
τ
ij
(0)=δ
[0133]
其中,δ为一个数值较小的常数;
[0134]
s604:每只蚂蚁根据路径上剩余的信息素和启发式信息,独立选择下一个定位点,即更新蚂蚁的位置,其中蚂蚁k从点i移动到点j的概率为:
[0135][0136]
其中,j
k
表示蚂蚁k未访问过的节点,τ
ij
(t)表示时间t时由位置点i到位置点j的信息素强度,η
ij
是一个启发式因子,也是位置点i和位置点j之间距离的倒数,表示蚂蚁k从位置点i移动到位置点j的期望水平的启发因子,而α,β为两常数,分别表示信息素和启发式因子的加权值;
[0137]
s605:当所有蚂蚁完成搜索后,更新信息素,可得到:
[0138][0139]
其中,k为蚂蚁个数,ρ(0<ρ<1)表示该信息素在路径上的蒸发系数,一般设置为0.5,为第k只蚂蚁在路径i到j留下来的信息素,定义为:
[0140][0141]
其中,q是一个常数,c
k
为蚂蚁k从i到j的完整路径总长度。
[0142]
s606:当所有蚂蚁用转移概率完成对下一个定位点的搜索后,记录这次最好的搜索结果,并更新位置的元素信息量;
[0143]
s607:采用方差sse作为该算法的评价函数,具体表达式为:
[0144][0145]
其中,soc
pre
为网络输出的剩余电量估计值,soc
real
为对应剩余电量的真实值。
[0146]
s608:若满足终止条件,则结束搜索过程,输出的权重和阈值以及神经元数量的最佳值,得到优化后的elman神经网络模型。
[0147]
本方案中,步骤s7所述的评估神经网络模型并将其嵌入电池管理系统,具体过程如下:
[0148]
设定一个误差基准值ε,将测试集的输入特征数据输入训练好的神经网络模型,得到剩余电量的估计值l
pre_soc
,将剩余电量估计值l
pre_soc
与真实值l
soc
相比,若满足条件|l
pre_soc

l
soc
|<ε,则输出神经网络模型,并将其嵌入电池管理系统,否则返回步骤s4;
[0149]
本方案中,步骤s8所述的笔记本电脑剩余电量估计,具体过程为:
[0150]
电池管理系统实时检测电池单元的电压、电流和温度,当检测到电流突变至0时,说明该电池开始进入休眠状态,电池管理系统记录下该电池在休眠前一个采样时间的电流i
dis
、停止放电t秒内的电压和平均温度t
p

[0151]
然后,将i
dis
,和t
p
按照步骤s2所述预处理方法进行处理;
[0152]
最后,将处理后的数据输入至步骤s7所输出的神经网络模型,得到笔记本电脑剩余电量的估计值。
[0153]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜