本发明属于锂离子电池的健康管理领域,涉及一种基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法。
背景技术:
1、锂离子电池因能量密度高、无记忆性以及寿命长的特点,已成为新能源领域的核心支柱。由于锂离子电池在新能源领域的广泛使用,确保其安全运行尤为重要。电池健康管理系统(battery management system,bms)作为安全管理锂离子电池的重要系统之一,其参数荷电状态(state of charge,soc)、健康状态(state of health,soh)、终点寿命(endof life,eol)和剩余寿命(remaining use life,rul)是估计和预测锂离子电池状态的核心健康指标(标签)。
2、然而,锂离子电池性能受到不同材料体系、构型和容量等内部因素,以及不同温度、电流和电压的外部因素影响,导致个体差异存在显著差异,同时受限于锂离子电池有限数量的标签,导致传统电池建模研究集中于单一种类和特定任务分析,忽视了不同电池类型与多种应用场景下普适性模型构建的需求,即缺乏一个通用预训练模型对不同锂离子电池的各项健康指标进行估计和预测。
3、目前对锂离子电池的健康管理建模主要有三类模型:机理模型,数据驱动模型和融合建模方法。机理模型通过表征锂离子电池内外部电化学特性的方式进行建模,但是由于锂离子复杂的内外部环境,导致难以建立准确反映不同电池动态特性的通用模型。数据驱动模型能够直接从训练数据中获得锂离子电池的状态信息,但受限于锂离子电池的标签数量限制,往往数据驱动模型规模较小并且模型泛化性不强。融合建模方法则是基于机理模型和数据驱动模型进行融合,旨在保证模型物理的合理性,同时发挥数据驱动模型处理大量观测数据、捕捉复杂非线性关系的能力,但由于融合建模通常涉及较为复杂的模型结构和算法设计,可能导致模型理解和解释难度增加。
4、基于上述,亟需一种基于bert架构的锂离子电池健康管理预训练大模型和多任务微调方法。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法。该方法通过bert(bidirectional encoder representationsfrom transformers)对锂离子电池电流、电压和环境温度数据进行自监督预训练,并基于预训练模型对不同健康任务进行微调,完成准确的多任务估计和预测。
2、为达到上述目的,本发明提供如下技术方案:
3、基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法,该方法包括以下步骤:
4、s1:收集属于无标签数据的锂离子电池电流、电压和环境温度数据,包括充放电时刻和静置时刻,将其作为预训练数据;收集有标签数据,包括荷电状态soc、健康状态soh、终点寿命eol或剩余寿命rul值,将其作为微调数据;
5、s2:对收集到的数据进行数据预处理,包括处理缺失值和处理异常值操作,并随机对部分处理好的电压数据做掩码处理;
6、s3:在预训练模型阶段,基于bert模型架构,在输入层搭建全连接前馈层和位置嵌入层,同时搭建多头自注意力层、残差连接和层归一化层,以及全连接前馈层组成的bert模块,最后输出层搭建全连接前馈层用以输出掩码电压,完成预训练模型构建;
7、s4:在微调阶段,根据相应任务对预训练模型进行相应微调,微调最后的全连接前馈层或者嵌入不同的全连接前馈层,获得最终相应任务的结果。
8、进一步,所述s1具体包括以下步骤:
9、s11:收集到的锂离子电池的类型包括磷酸铁锂、三元锂和钴酸锂,同时采集的个体数量至少保证每种类型大于等于100个单体;
10、s12:无标签数据指锂离子电池正常运行时的电压、电流和环境温度采样数据,同时为保证数据数量和质量,采用高采样率进行数据采样,并要求对同一个电池的电压、电流和环境温度进行对齐;
11、s13:标签数据指锂离子电池运行时除了收集必要的电压、电流和环境温度数据,还包括相应任务下的荷电状态soc、健康状态soh、终点寿命eol或剩余寿命rul的标签值,同时收集的标签数据数量远小于无标签数据数量。
12、进一步,所述s2具体包括以下步骤:
13、s21:考虑实际传感器影响,为了避免模型训练因传感器数值造成的异常,对连续大于五次采样缺失值进行删除,对少于五次的采样缺失值采用线性插值法进行数据插补;对数据异常值进行删除处理,若数据异常值连续出现在同一时间段内五次及以上,则删除该时间段内所有数据;
14、s22:基于收集到的锂离子电池电压数据,随机对15%数据量的电压进行处理;其中70%电压数据替换成[mask]标记,后续用来进行预测;10%电压数据替换成异常值;10%电压数据替换成正常电压段内的随机值;10%电压数据不再做额外处理。
15、进一步,所述s3具体包括以下步骤:
16、s31:在输入层搭建全连接前馈层和位置嵌入层;全连接前馈层将电压、电流和环境温度数据分别映射至m维度的高维空间,公式如下:
17、
18、s32:对于单个输出节点,其中zj代表j个神经元的输出值,wij是从输入层的第i个神经元到当前层第j个神经元的权重,xi是第i个神经元,即输入的第i个电流、电压或环境温度数据,bj是第j个神经元的偏置信息,n代表输入序列特征长度;对于所有输出节点,z则是所有输出神经元的集合,是一个m*1的输出向量,x是一个n*1的输入向量,w是一个m*n的权重矩阵,其中wij=wij,b是一个m*1的偏执向量;
19、s33:为了让模型处理前后时序信息,加入一层位置嵌入层,其中每一个离散的位置被编码为连续的高维向量空间,维度同输入层的全连接反馈层一致;对编码后的位置向量,以及电压、电流和环境温度编码向量直接相加,作为模型处理好的输入;
20、s34:搭建多头自注意力层、残差连接和层归一化层,以及全连接前馈层组成的bert模块;其中多头自注意力层允许模型关注不同位置的输入编码向量,并计算自注意力权重,从而捕捉序列间的有效信息和依赖关系,具体公式如下:
21、
22、s35:z表示输入数据编码的高维度向量,wq、wk、wk均为权重矩阵,设有h个头,输入的高维度向量z首先被线性映射为q、k和v矩阵,分别代表查询query、键key和值value;映射操作由权重矩阵wq、wk、wk完成,这些矩阵是模型学习的参数;kt是k的转置矩阵,softmax函数为归一化函数,具体公式如下:
23、
24、对于输入向量中的每一个元素zi,首先计算其指数然后除以所有元素指数求和的总和,以此来得到一个归一化的概率值。
25、s36:在多头自注意力层之后,建立残差连接和层归一化层,残差连接直接将输入与变换后的输出相加,层归一化对每个样本的每个特征进行标准化处理,使得每一层的输入具有稳定的分布,简式如下:
26、z'=layernorm(z+multiheadattention(z))
27、其中layernorm为层归一化函数,利用每个特征上的均值和方差进行归一化:
28、
29、μ为特征均值,σ2为特征方差,ε是一个很小的数(10-5),为了防止除以零的情况。multiheadattention则是s34搭建的多头自注意力层。
30、s37:全连接前馈层通常包含两个线性变换,中间夹带一个激活函数,用于对自注意力层输出的特征进行进一步的非线性变换和信息整合,公式如下:
31、
32、其中,ffn(z')为z'经过线性变换和激活函数的输出,全连接反馈层的线性变换基础公式见s31,和是可学习的矩阵,b1和b2是偏置项;gelu是激活函数,gelu利用高斯分布的累积分布特性来调整输入值,在较小的输入值附近呈现线性行为,在较大的输入值处逐渐饱和,用以引入非线性,具体公式如下:
33、
34、其中,gelu(x)是x经过gelu函数的输出,x是输入数据(即),tanh则为双曲正切函数。
35、s38:经过全连接反馈层后,再次建立残差连接和层归一化层;整合多头自注意力层、残差连接和层归一化层,以及全连接前馈层作为bert模块,该bert模块允许多次重叠,即上一个bert模块的输出作为下一个bert模块的输入,最后输出结果为每个对应位置输入的特征编码,该特征编码为综合该输入所有电压、电流和环境温度数据信息的特征;
36、s39:在最后一个bert模块后,基于数据预处理的掩码电压数据位置,利用特征编码搭建相应位置的全连接反馈层作为模型输出,结合正确的电压和模型输出的电压进行误差回传迭代训练;其中损失函数采用均方误差损失函数mse计算每次迭代后的损失,公式如下:
37、
38、其中yi为预测第i个电压的真值,为预测第i个电压的预测值,m为需要被预测的电压数量。
39、采用自适应矩估计优化器进行参数更新,通过对每个参数计算不同的自适应学习率来实现更快的收敛和更好的泛化能力,具体公式如下:
40、
41、其中gt是计算的梯度,β1是衰减因子,用于控制历史梯度的权重,β2也是衰减因子,用于控制历史梯度平方的权重,和是梯度的偏差纠正后的移动平均值,θt是更新的参数,η为学习率,ε是一个很小的数(10-5),用以避免除以零的情况;设置模型相关参数,直到模型迭代完毕,即预训练模型构建完成,保存模型参数。
42、进一步,所述s4具体包括以下步骤:
43、s41:微调阶段,使用特定任务相关的数据对其进行微调以适应具体任务的需求,特定任务标签数据无需过多,只需要1-10个电池周期循环量的数据;
44、s42:若对电压重构,则无需对预训练模型架构进行更改,只对最后一层全连接前馈层进行参数微调;将需要重构的任务数据输入至模型,冻结除最后一层全连接前馈层的其余参数,在模型计算损失函数后,利用反向传播算法更新最后一层全连接前馈层的参数,完成微调;若对soc进行估计,同样无需预训练模型架构进行更改,只对最后一层全连接前馈层进行参数微调;将需要估计的任务数据输入至模型,冻结除最后一层全连接前馈层的其余参数,原先模型输出值由电压改变成标签值soc,利用该soc值在模型计算损失函数后,结合反向传播算法更新最后一层全连接前馈层的参数,完成微调;若对soh、rul和eol进行估计预测,首先冻结预训练模型所有参数,对最后一层特征编码进行全部拼接,然后多加一层全连接反馈层用以降维,输出的值同标签值soh、rul和eol进行误差损失计算,利用反向传播算法更新加入的全连接前馈层的参数;
45、s43:微调完毕后,后续直接使用本任务下的数据进行相关任务估计或预测。
46、本发明的有益效果在于:本发明能够解决锂离子集中于单一种类和特定任务分析建模的问题,同时避免了标签数据稀少导致泛化性弱的问题。在自监督思想基础上训练一个具有通用锂离子电池知识的预训练模型,利用少量标签数据进行微调,能够精准快速的对同锂离子电池的各项健康指标进行估计和预测。
47、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
1.基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法,其特征在于:该方法包括以下步骤:
2.根据权利要求1所述的基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法,其特征在于:所述s1具体包括以下步骤:
3.根据权利要求1所述的基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法,其特征在于:所述s2具体包括以下步骤:
4.根据权利要求1所述的基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法,其特征在于:所述s3具体包括以下步骤:
5.根据权利要求1所述的基于bert架构锂离子电池健康管理预训练大模型的多任务微调方法,其特征在于:所述s4具体包括以下步骤: