摘要 - 在电池管理系统领域,精确确定锂离子电池的健康状态(SOH)至关重要。本文提出的模型利用查找表(LUT)内存来模拟任何深度学习或机器学习模型,存储所有激活输入及其对应输出。训练完成后的操作称为LUT内存准备过程,该方法的查找过程完全且简单地取代了推理过程,通过在二值化之前离散化输入数据和特征来实现,此操作称为LUT推理方法。本文使用双向长短期记忆(LSTM)架构和标准全连接神经网络(FCNN)两种不同的神经网络架构对该过程进行评估,目的是构建一个查找表,有效建立锂离子电池SOH之间的相关性,并确保可接受的不精确程度。
根据从NASA PCoE锂离子电池数据集获得的结果,所提出的方法在性能上与初始机器学习模型大体相当。利用均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)等误差评估指标,对SOH预测的准确性进行了定量评估,上述指标在预测SOH时显示出较高的准确性。1.简介
循环计数:通过分析电池的充放电循环顺序来确定电池年龄,最直接的方法是计算电池循环总数,但电池在每个循环中的降解受充放电深度、温度和C率等特性影响。 电荷计数:也称为安培 - 小时计数,通过实际电池容量与标称容量的比值来准确测量电池容量,在低C率和受控温度下测量充放电过程中转移的电荷可精确评估剩余容量。 内部电阻法:基于电池内部电阻随年龄增长而增加的特性,通过小电流变化并应用欧姆定律计算内部电阻来估计SOH。 电化学阻抗谱(EIS)法:通过对电池施加宽频率范围的正弦电流电压信号来分析其阻抗特性,可通过奈奎斯特图辅助理解估计结果,但该方法因成本高和复杂而难以应用于在线应用。 增量容量分析(ICA)法:通过研究电荷相对于电压的变化率来评估SOH,电池老化时IC曲线形态会改变,但该方法需要相对较低的C率且BMS进行数值微分计算密集。 差分电压分析(DVA)法:与ICA法类似,在恒流充电阶段计算电压相对于电荷的变化率,通过特定化学峰之间的间隙来估计SOH。
无损内部检查法:通过超声检查或X射线技术在维护期间手动检查电池内部以获取SOH近似值,但准确表征内部信息困难,需从外部信号推断老化机制,一些研究将超声检查与机器学习结合来准确评估SOH。
基于模型的方法:通过建立电池模型并包含内部劣化过程来估计SOH,但由于电池内部化学结构复杂以及环境变量影响,建立可靠的老化模型存在困难,不同研究采用了加权安培 - 小时吞吐量模型、模拟电路模型和改进的卡尔曼滤波器、标称滤波方法、基于物理的单粒子模型等多种方法,但都存在一定局限性。 数据驱动方法:随着硬件改进和数据库增多,数据驱动方法被广泛采用,无需深入了解电池内部结构和老化机制即可预测SOH,其成功依赖于所收集信息的准确性和有用性,不同研究采用了稀疏贝叶斯预测建模、隐马尔可夫模型、高斯过程回归、基于深度学习的方法、自适应估计方法等多种方法。 本文研究内容:开发一种高效的处理方法,用预先计算的LUT内存替代经过训练的网络的推理操作来估计SOH,该方法的准确性和效率可接受,完全依赖于量化操作和每个特征所选的比特数,不依赖任何训练过的机器学习模型。2.提出的方法
机器学习目标:基于训练样本识别和构建合适的模型,建立训练数据与目标输出(用 y 表示,此处 y 为锂离子电池的 SOH 之间的关系,x 表示充电曲线的充电电压,N 为训练样本数量,这种非线性映射关系用:
量化函数:需要一个能将神经网络模型输入特征离散化到有限值范围的函数,量化过程是将浮点格式的实数转换为较窄范围的低精度值,介绍了一种常用的量化函数:其中 Q为量化算子,r为实值输入,S为缩放因子,Z为整数零点,该函数通过舍入操作将实数转换为整数,这种量化技术称为均匀量化,产生均匀分布的量化值。反量化:反量化是从量化值Q(r)恢复实数r^的过程,由于舍入操作,恢复的值与原始值不完全匹配,反量化公式:
缩放因子选择:均匀量化中缩放因子S很关键,它将指定的实数范围r划分为特定数量的分区需先确定裁剪范围([alpha,beta]),可采用信号的最小值/最大值作为裁剪范围,这是一种非对称量化策略,还介绍了对称量化技术及其量化噪声相关公式,以及信号 - 量化噪声比本研究将对特征的连续数值进行2 - 8位的量化转换。 表1.每个特征的量化比特分布以及相应的SQNR级别和所需的总内存大小。
LUT内存创建和使用
整体流程:选择的机器学习架构首先选择七个输入特征(电池的容量、环境温度、日期 - 时间、测量电压、测量电流、测量温度、负载电压和负载电流),估计模型的输入和输出变量需有一定相关性,以FCNN和LSTM模型为例,LUT估计系统由生成和推理模块组成,生成模块包括整数地址生成、分组、数字 - 模拟转换、特征归一化、模型训练和LUT填充,推理模块包括特征准备和归一化、二值化、二进制地址绑定、LUT内存推理和结果计算。 图1.新算法的流程图和特征——比特分布。(A) LUT存储器生成,(B)LUT存储器模型推断和(C)N=3的特征分布,总计=21位。
LUT生成步骤:从0到(2^{7n})线性循环遍历所有可能的地址位组合,生成的二进制地址取决于分配给七个特征的比特数,测试的比特数有2、3、4、5、6、7和8位;然后将地址位分组为七个特征组,每个特征有自己的比特数,生成特征二进制地址位;将每个特征的地址位值归一化为比特值/2n;将七个归一化特征值输入训练好的深度神经网络;将模型推断的值存储在LUT内存的给定地址;然后选择下一个地址,重复上述操作。 LUT使用步骤:从七个特征值开始,先将其归一化为(0, 1),然后根据不同配置(2、3、4、5、6和8位)进行量化,量化产生每个特征的二进制位,最后将所有位组合成一个地址,通过该地址访问LUT内存获取分析结果。该方法基于预推理过程,需(2^{n7})次迭代填充LUT内存,转换推理操作可显著提高速度,且不依赖训练好的模型。3.DNN中量化的相关工作
激活函数量化:一些研究最初对激活函数采用2位均匀量化,将精确值转换为(0; 1/3; 2/3; 1)的量化级别。还有研究提出用 -1和 +1对权重进行量化,以及采用训练后的三元量化(TTQ)用 -1、0和 +1表示权重,也有研究使用尺度参数对激活进行二值化,但在网络中求解激活时仍为全精度值,多数均匀量化技术使用线性量化器(如round()函数)对浮点数进行均匀量化。 非均匀量化:在某些情况下(如激活量化)采用非均匀量化使权重和激活的量化与其各自分布对齐,包括通过拟合先验高斯模型组合来确定量化级别,以及采用层 - 层聚类将权重转换为聚类中心,还有研究使用对数量化器用2的幂次值表示权重和激活。 深度神经网络推理算法研究:深度神经网络(DNNs)在实时应用中计算密集,对硬件资源要求高,为此人们致力于开发经济高效的DNN推理算法,包括模型压缩、复杂计算的算子优化、算子生成的张量编译器和定制DNN加速器等技术,但这些方法需重复重新设计或重新实现计算算子、加速器或模型结构。 本文研究内容:与上述方法不同,本文研究用新方法替代DNNs中的计算算子以降低推理成本和减少算子开发过程,提出通过查找表(LUT)进行DNN推理的系统,该系统在遍历七个SOH特征的每个排列后根据学习到的典型特征计算LUT。4.数据集描述
数据集来源及电池实验过程
数据集:用于估计锂离子电池SOH的信息来自NASA Prognostics Center,使用了#5、#6、#7和#18四个电池,该数据集包含18,650个锂离子电池在环境温度(约24°C)下充放电过程的操作曲线和阻抗测量数据。 图2.锂离子电池的退化与循环次数的关系。
表2.B0005电池测量特征的边界。
电池充放电过程
充电:电池以1.50A电流持续充电至电压达到4.2V,然后在4.2V恒压下充电至电流低于20mA。 放电:以2A恒定电流对四个电池放电,#5电池放电至2.7V,#6电池放电至2.5V,#7电池放电至2.2V,#18电池放电至2.5V,随着充放电次数增加,电池容量逐渐下降,当电池容量从额定容量下降30%(从1.4Ah到2.0Ah)时,认为电池达到寿命终点。 基于数据集的SOH预测及数据预处理
SOH预测:收集的数据集可用于预测电池的SOH,电池的循环次数与老化过程相关,电池退化的主要指标是容量下降,与SOH密切相关,通过公式:
计算SOH,其中(C_{Usable})为实际可用容量,(C_{Rated})为额定容量。 数据预处理:采用数据归一化技术,使用最小 - 最大方法将数据缩放到0 - 1范围内,公式为:5.背景和初步情况
研究目的及模型结构介绍:本研究旨在验证全连接神经网络(FCNN)和长短期记忆(LSTM)模型在新开发技术中的应用。表3展示了FCNN和LSTM的模型结构,FCNN模型有五层,LSTM模型有九层,同时还将讨论量化概念及其产生的误差。 表3.训练模型规范。
FCNN模型介绍:FCNN是一种具有无环图结构的人工神经网络,是最基本和简单的神经网络形式,是机器学习的重要组成部分,为多种架构奠定基础。它由输入层、隐藏层和输出层组成,隐藏层通过调整网络参数确定,其节点数量取决于数据集的特征数量,在处理标准矩形数据时,通常2 - 5个隐藏层就足够了。模型的计算负载受隐藏层和节点数量影响,目标是找到性能满意且节点数量最少的模型。在回归问题中,输出层通常只有一个节点用于生成连续数值预测;在二元分类问题中,输出层一个节点用于估计成功概率;在多项输出问题中,输出层节点数量与预测的类别数量相同,层和节点对神经网络模型的复杂性和性能起关键作用。 LSTM模型介绍:LSTM是循环神经网络(RNN)架构的一种变体,用于处理顺序数据,它与简单RNN的区别在于对自环权重的调节,LSTM能动态调整自环权重,有效捕捉和保留顺序输入数据(如时间序列、文本和语音信号)之间的长期关系。LSTM模型通过记忆电池和输入、忘记、输出三个门来控制信息流动,这些门由sigmoid函数构建,通过反向传播训练,门的开闭根据当前输入和先前隐藏状态动态调整,电池以循环方式相互连接,状态电池的自环由忘记门调节,输出门可抑制LSTM电池的输出。图3展示了FCNN和LSTM模型的示意图,表3列出了本研究中使用的FCNN和LSTM模型的结构组件。图3.(A) FCNN神经网络模型和(B)LSTM神经网络模型。
6.模型及硬件配置
硬件和软件环境:硬件包括64位操作系统、x64处理器、Intel Core i5 - 9400T CPU和8GB RAM,使用Kaggle Notebooks(版本5.5.0)和基于Jupyter(版本4.7.1)的云计算环境运行机器学习代码,主要编程语言为Python(版本3.7)。 数据集使用:预测锂离子电池的SOH使用四个数据集,DS0005用于训练和验证,DS0006、DS0007和DS0018用于测试,通过网格搜索和交叉验证获取最优模型参数。 性能评估指标:使用均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)三个指标定量分析SOH预测模型及其量化近似器(QA)的准确性,这些指标值越接近0,预测准确性越高。 模型训练:将训练数据集分为训练和测试数据,评估FCNN和LSTM两种机器学习模型,训练数据与验证数据比例为2:1,在Kaggle环境中基于Jupyter和Python 3.7进行模拟,每个模型评估五次取平均值,表4展示了训练过程中的批大小、轮数、时间和损失函数,LSTM模型由于尺寸大,收敛时间比FCNN模型长。
表4.B0005电池数据集的训练参数。
7.评估结果和讨论
方法验证及结果比较:通过使用FCNN和LSTM学习模型进行训练和推理,证明了所提方法在提取结果方面的效率。将训练好的FCNN和LSTM模型的原始预测与不同量化比特的LUT预测进行比较,展示结果。 图4.实际B0006电池SOH及其估计SOH。该模型在B0005电池上进行了训练。
表5.在B0005电池上训练并在其他电池上测试时,使用实际模型验证(测试)而不进行量化,FCNN训练模型的估计误差结果。
不同电池的SOH估计及误差分析
无量化情况:对FCNN和LSTM学习模型进行SOH估计,训练使用B0005电池,预测使用B0006、B0007和B0018电池,无量化时通过实际模型验证测试电池,结果显示SOH估计与实际SOH模式相似但有偏差,不同电池类型的两种训练模型的误差估计不同,FCNN和LSTM模型在不同电池上的RMSE、MAE和MAPE指标表现各有优劣。 图5.在(A)FCNN和(b)LSTM模型上测试了没有量化和比特b=2、3、4、5、6、7和8有量化的预测SOH。
表6.当在B0005电池上训练并在B0006、B0007和B0018电池上测试时,FCNN和LSTM训练模型承受了RMSE、MAE和MAPE错误,每个电池都有一组不同的量化比特。
图6.在B0005电池数据集上训练的B0006电池的SOH预测,该图显示了原始SOH及其2位和5位量化版本。
不同量化水平情况:构建不同量化水平下不同电池的SOH预测,以说明量化的准确性,使用RMSE、MAE和MAPE作为误差评估指标,结果显示随着量化比特数增加,量化方法的SOH预测准确性降低,但使用5比特及以上量化时误差变得不重要,电池类型和训练模型的差异不重要,主要区分因素是量化比特数,对B0006电池测试数据进行分析,不同量化比特下FCNN和LSTM模型的误差指标变化符合规律,且无量化和不同量化比特下的预测结果在图5展示,图6展示了2比特和5比特时原始估计和量化估计的比较,表明使用5比特以上能得到与预测较好的一致性。图7.量化对B006电池上训练的(A)FFNN和(B)LSTM)模型SOH预测误差的影响。
8.总结
提出一种用于电池健康估计的神经网络模型的替代和近似方法,通过对所有电池SOH特征进行量化,并使用预推理训练FCNN和LSTM网络,创建了一个独特的LUT内存网络替代模型。 实验数据及结论:分别从NASA收集训练数据和测试数据来训练和测试组合模型,实验结果表明,与所模拟的算法和模型相比,该方法更优,但与无量化的实际推断SOH估计相比,其准确性受一定影响。量化比特从b = 2到b = 8时,预测准确性误差提高了65倍,平均b = 3比特是一个较好的量化水平,对应的RMSE、MAE和MAPE误差精度分别为0.0098006、0.0080317和0.0096645。研究还发现b = 5比特可对七个SOH电池预测特征进行量化,共35比特,不过b = 3比特时结果也令人满意,共21比特,这表明存储2MB的LUT的操作是合理的,其结果与完整推理模型几乎一样准确。