基于LSTM-RNN的质子交换膜燃料电池故障检测方法

2019-04-26 05:03王森雷卫军刘健张伯林
电子技术与软件工程 2019年4期
关键词:电堆燃料电池正确率

文/王森 雷卫军 刘健 张伯林

1 引言

燃料电池是一种将燃料中的化学能转化为电能的电化学设备。只要不断的有氢气和氧气供应,燃料电池就可以源源不断地输出电能,并且反应产物中只有纯净的水,而不含其它污染物,是真正意义上的清洁能源。根据电解质和燃料的不同可以将燃料电池分为很多种,其中,质子交换膜燃料电池(PEMFC)是非常有前景的燃料电池之一,尤其适用于移动应用场景。有效的故障诊断策略可以帮助PEMFC电堆在相对最佳和有效的条件下运行,减缓燃料电池性能的下降,增加使用的可靠性和耐久性。因此,精准的故障检测方法具有非常重要的实际意义。

目前,对于PEMFC故障检测的方法主要包括两大类:基于推理的方法和基于分类的方法。基于推理的方法主要通过已知或部分已知故障和现象之间的因果关系,运用逻辑推理进行故障排查,如故障树、模糊关系和专家系统等。这类故障检测方法的可释性强,但是模型的准确度与先验知识的正确性息息相关。同时,PEMFC电堆内部结构越复杂,模型的构建难度就越大,且模型的准确度也会随之降低很多。

基于对数据进行分类的分类算法是近几年来比较热门的分类方法,以统计学为基础,通过分析各种PEMFC相关的历史数据或特征参数,对PEMFC电堆故障进行分类预测。这类方法不再依赖于先验知识,而是根据实际采集的数据进行建模,属于一种数据驱动的故障检测方式。同时,这类故障检测方法建模与电堆内部结构复杂程度无关,简单快捷且成本低,因此,受到许多研究者的关注。常见的一些预测模型包括模糊聚类、支持向量机和神经网络等。其中模糊聚类、支持向量机等传统机器学习方法的一般建模流程为数据预处理、特征提取和选择、模型训练和验证。其中特征提取和选择是获得高准确度模型非常关键的一步,提取和选择的特征能否表征各类故障将直接影响分类超平面构建的正确性,通常特征提取和选择过程相对复杂且需要一定的领域知识,难度比较大。相比传统机器学习方法,神经网络是一种仿生物神经网络结构和功能的模型,可以自动学习到故障分类相关的特征,建立相应的预测模型,准确度得到一定的改善。因此,神经网络在复杂的非线性系统的故障诊断领域得到了广泛应用。

近年来,深度学习技术得到迅速地发展,惊人的非线性拟合能力和出色的抽象挖掘能力使得这项技术的应用领域不断拓展。其中,循环神经网络(RNN)将时序的概念引入到网络结构设计中,隐藏层之间的互连结构反映出时间序列之间的相互影响关系,但是RNN存在着梯度消失、梯度爆炸和长期记忆能力不足等问题 。长短期记忆(LSTM)模型是RNN的一种变体,它通过在网络中加入细胞结构(cell)弥补RNN的不足,从而对时序数据具有更强地适用性。LSTM模型已经被成功地应用到许多不同领域的时序数据处理当中。其中包括自然语言处理相关的语音识别、机器翻译、情感分析等,医学相关的时序 fMRI 数据分类、蛋白质二级结构序列预测等,媒体相关的视频流数据分析,金融相关的股票指数预测,环境相关的空气污染物预测等等。而在工业领域也有少量相关研究证明了LSTM的适用性,文献[12]将LSTM模型应用于故障时间序列预测,并在民航飞机故障数据上实验证明了LSTM预测模型的优越性能。文献[21]将LSTM模型应用于铁水硅含量预测,发现LSTM模型预测误差稳定,比传统的统计学及神经网络方法具有更好的预测精度。

相比其他分类器,LSTM主要具有以下三点优势:

图1:RNN网络结构图

图2:LSTM网络结构图

图3:质子交换膜燃料电池故障检测整体流程图

图4:燃料电池系统结构图

(1)相比传统推理的方法,LSTM能够更加准确且自动地从数据中提取特征,模型构建简单高效、高准确度。同时,LSTM学习的是数据集的概率分布,所提取的特征比经验更符合数据本身的概率分布。

(2)相比传统机器学习方法,LSTM是一种深度学习的方法,可以自动学习到数据更深层次、更具体的特征,因而具有更好的非线性拟合能力和分类能力。

(3)相比于其它深度学习方法,属于循环神经网络的LSTM具有长久的时间记忆性,隐藏层的结构设计体现了时间序列之间的相互影响关系,具有更好的时序数据处理能力。

利用LSTM-RNN在分析时序数据方面的天然优势,本文提出将该方法应用于质子交换膜燃料电池故障检测,并进一步地运用贝叶斯优化方法选取最佳LSTM模型参数,以获得简单快捷且具有更高准确度的故障检测方法。本文采集实际PEMFC电堆系统输出的电压、电流、母线电压和母线电流四类数据展开实验,无需嵌入其它复杂昂贵的传感器监测,降低了故障检测的成本。同时,本文将LSTM模型与RNN、SVM及神经网络这三种常见的数据驱动模型进行实验对比。实验结果证明,LSTM 模型应用于质子交换膜燃料电池故障检测的准确度得到提升。

2 基于LSTM-RNN的质子交换膜燃料电池故障检测方法

本文将在这节内容中描述LSTM-RNN 神经网络模型的结构、LSTM-RNN应用于质子交换膜燃料电池故障检测的方法和模型参数的调优。

2.1 LSTM-RNN神经网络模型

RNN最关键的网络结构设计(如图1所示)在于隐藏层的信息不仅传递到输出层,还传递到下一时刻的隐藏层,从而允许信息的持久化。在训练网络时,每次误差的反向传递不仅依赖于当前的网络状态,还依赖于之前的网络状态。这种互相影响的链式结构特征正好反映出时间序列之间的相互影响关系,进而表现出对时间序列很好的适用性。

但是由于梯度消失的问题,RNN未能真正表现出长久的时间记忆性,也就是在时间间隔增大时,RNN会失去学习久远信息的能力。因此,有了LSTM模型的出现。

LSTM将简单的RNN细胞替换成具有存储功能的LSTM细胞,具体结构如图2所示,由输入门it,忘记门ft、输出门ot和细胞状态ct四部分组成。细胞状态贯穿在整个链上,就像传送带一样传递着信息流。三种门结构则选择性地让信息通过,对网络中的信息流进行控制。其中,输入门决定让多少新信息加入到细胞状态中;忘记门决定从细胞状态中丢弃什么信息;输出门基于细胞状态决定最终输出什么信息。各个部分的函数表达式如下:

其中,it、ft、ot分别为输入门、忘记门和输出门;W为权值矩阵;U为隐藏层状态权值矩阵;b为偏置项;ct为t时刻的细胞状态;ht为t时刻的隐藏层状态;δ是激活函sigmoid。

2.2 基于LSTM-RNN的质子交换膜燃料电池故障检测方法

本文基于LSTM-RNN在分析时序数据方面的优势,提出数据驱动的质子交换膜燃料电池故障检测方法,以期获得具有更高准确度的分类器,算法的整体流程如图3所示。

传感器采集的数据是一种持续的动态数据,本文按选定时间窗口长度L将所采集的数据分割成样本序列。在t+1时刻,将传感器采集到的数据进行归一化处理,消除不同维度之间的量纲影响。然后将归一化后的数据与t时刻LSTM的输出一起输入到LSTM,重复此操作直到长度为L的数据都输入到模型中。最后通过输出层得到最终的分类结果,输出层为softmax层,输出样本属于各个类别的概率。

2.2.1 数据集介绍

本文通过采集质子交换膜燃料电池电堆的输出电压、电流、母线电压和母线电流四类数据。为了获得质子交换膜燃料电池不同运行状态的数据,本文通过改变操作条件手动引发电堆故障,例如,增加负载引发过载故障,设置电堆不同的工作温度制造不同的温度异常,改变电堆的工作压力,制造不同的压力异常。最终,根据电堆的不同运行状态,将采集的数据分为正常、温度异常、压力异常、过载等,图4为燃料电池电堆系统结构,图5为燃料电池测试系统实物。

定义数据集格式为:[data,label]

其中,data为某种电堆运行状态的采集数据;label为人工标注的data所属状态类别。

定义data的格式为:[time_step,sensor]

其中,time_step为观测时间窗口内电堆运行状态的采样点数,维度为L;sensor为采集信息的种类,本系统由4种参数构成,维度为4。

2.2.2 网络训练

网络训练指的是通过学习训练集中的数据分布获取构建网络所需的所有参数的过程。首先,将训练集数据按式(6)进行最大最小归一化处理,其中xt为t时刻传感器所采样的特征向量,min(x)为训练集数据各维度最小值向量,max(x)为训练集数据各维度最大值向量。

表1:LSTM参数设置表

表2:数据集样本类别分布情况表

表3:SVM参数设置表

表4:RNN和BP神经网络的参数设置表

图5:燃料电池测试系统实物

为了适应LSTM隐藏层输入的特点,应用数据分割的方法对训练集数据进行处理,按时间窗口长度L将数据分割成data形式的样本序列,取时间窗口最后一个时刻的电堆运行状态为data对应的label。

然后逐步将一组样本序列对应时刻的特征向量和上一时刻LSTM模型的输出同时输入到LSTM。在一组样本序列输入完毕后,由最终时刻的隐藏层输出经过权值矩阵计算得到网络输出y。再经过softmax层将y映射成概率分布y',即样本序列属于不同类别的概率。假设原始网络输出y=[y1, y2, …, ym],m为样本序列类别数,那么经过softmax处理后输出y'=[y1', y2', …, ym'],计算公式如下:

表5:不同算法的微平均、宏平均和正确率

图6:不同学习率的训练损失

图7:不同学习率的训练正确率

图8:不同算法的模型正确率

图9:不同算法的宏平均和微平均

由于故障检测属于多分类问题,所以采用分类交叉熵函数(categorical crossentropy)作为误差计算公式,表达式如下:

给定网络随机初始化种子seed、学习率learning_rate、隐藏层特征维度hidden_size、整体样本迭代次数epoch和每次迭代批大小batch_size,以最小化损失函数为目标,计算误差函数对权值矩阵的梯度,应用Adam优化算法不断迭代更新权值矩阵,进而得到最终的网络模型。

2.3 模型参数调优

超参数的设置是否合理极大地影响了模型的最终效果,包括对训练集数据概率分布的拟合程度和对未知数据预测的泛化能力。超参数调优可以看作是以超参数为自变量的性能函数f(x)最优化问题。

其中,x为某一超参数组合;A为超参数组合取值空间。

对于超参数调优而言,目标函数f(x)是未知的且为非凸函数,因此,它又被认为是一个黑盒优化问题,即优化的目标函数通常不满足凸优化条件,无法通过求导或凸优化方法求得最优解。目前,在众多机器学习超参数优化方法中应用较为广泛的分别是网格搜索、随机搜索和贝叶斯优化。网格搜索的核心是通过遍历搜索范围内所有的超参数组合确定最优值。这样的搜索方案虽然简单,但随着超参数个数的增加,超参数的组合近似爆炸性增长,十分消耗计算资源和时间,所以不适用于超参数较多的情况。随机搜索认为在样本集合足够大的条件下,随机采样也可以找到目标函数的全局最优解或最优解的近似。因此,随机搜索不再遍历所有超参数组合,而是以随机选取的方式选择超参数组合,并从选择的组合中返回最优结果。由于随机因素的存在,随机搜索的结果不太稳定,可能出现效果特别好,也可能出现效果特别差。贝叶斯优化算法的基本思想是基于数据使用贝叶斯定理估计目标函数的后验分布,然后再根据分布选择下一个采样的超参数组合。相比于前两个方法搜索的盲目性,贝叶斯优化充分利用已知点的信息学习目标函数后验分布,再基于超参数每个取值点的均值和方差,有目的的搜索下一个采样点。如此不仅大大减少了采样次数和寻优时间,而且结果更易接近全局最优。

在LSTM模型构建时涉及众多的超参数,因此,本文采用贝叶斯优化算法对模型的多个关键超参数进行调整:以参数为自变量,最小化负的测试集正确率为目标函数,即最大化测试集正确率,选择最佳结果作为参数设置,具体如表1所示。

学习率也是LSTM的关键超参数之一,它的设置极大地影响了网络的收敛效果。如果学习率太小,网络的收敛速度就非常慢;反之,如果学习率太大,网络容易在局部最优点附近来回跳动,导致不收敛。在网络训练初期,损失函数下降得快,应该设置大的学习率,而随着网络训练次数增加,损失函数下降的速度逐渐减缓,则应该调整成小的学习率。因此,本文初始设置学习率为0.001,随着训练迭代次数的增加,逐步降低学习率。

3 实验与结果分析

本节将使用实验采集到的数据验证质子交换膜燃料电池电堆故障检测网络的性能,并把SVM、RNN和BP神经网络设为对照组,通过对比实验证明LSTM网络应用于电堆故障检测的优势。

3.1 数据集准备和评估指标

3.1.1 数据集准备

本文采集了约9万个数据,每个数据都包含电堆的电压、电流、母线电压和母线电流4个维度的值。根据电堆的运行状态对这些数据进行人工标注,包括正常、高温异常、低温异常、过压异常、欠压异常、过载和启动异常,共7种标签。综合考虑故障检测的及时性、稳定性和时间消耗,本文将时间窗口长度L设置成10,并按2.2.1节数据集格式存储。数据集以7:3的比例随机分成训练集和测试集,用训练集训练网络模型,测试集测试训练好的模型性能,各个类别样本分布情况如表2所示。

3.1.2 评估指标

常见的二分类器评估指标有准确率(Precision,P)、召回率(Recall,R)以及这两个指标的调和函数F值(F-measure),计算公式为(10)~(12)。

其中,TP为正确预测为正样本的个数,TN为正确预测为负样本的个数,FP为错误预测为正样本的个数,FN为错误预测为负样本的个数。

类似地,在多分类问题中则用这三个指标的平均值做为分类器的评估指标。根据平均值的计算方式不同,可以分为宏平均(Macroaverage)和微平均(Micro-averaging)。宏平均先计算每一个类别i对应的准确率Pi,召回率Ri和Fi值,然后求所有指标的算术平均值Macro_P、Macro_R和Macro_F,计算公式为(13)~(15);微平均则先计算所有类别总的Micro_P和Micro_R,然后再计算Micro_F,计算公式为(16)~(18)。 电堆故障检测属于多分类问题,所以本文使用宏平均和微平均做为评估指标。

其中m为类别数,Pi、Ri和Fi的计算公式如(10)~(12)。

此外,本文还计算了模型的正确率(Accuracy),作为模型整体准确度的一个评价标准,计算公式为(19)。

3.2 对照实验设置

SVM是故障检测领域常见的机器学习算法之一,以最大化支持向量到分类平面的距离为核心。为了解决数据非线性可分问题,SVM一方面引入惩罚因子和松弛项,降低部分支持向量到分类平面距离要求;另一方面引入核函数,隐性地将低维非线性可分特征映射到更高维线性可分特征空间中。RNN和BP神经网络均属于深度学习领域的方法,其中RNN和LSTM一样也是循环神经网络,而BP神经网络是目前使用最广泛的神经网络之一,能够学习和存储大量的输入输出映射关系,具有很好的非线性拟合能力。学习过程主要是通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

为了对比各方法在空间燃料电池故障分类方面的性能,SVM的参数设置也采用贝叶斯优化方法进行调整,将RNN和BP神经网络的关键参数设置与LSTM一样。本文SVM参数设置如表3所示,RNN和BP神经网络参数设置如表4所示,其中BP神经网络使用sigmoid激活函数。

3.3 结果分析

本文测试了不同学习率对网络收敛效果的影响,包括减少损失函数和提高模型正确率两个方面。测试结果如图6和图7所示,从中可以看出学习率设置成过大的固定值0.001时,网络在局部最优点来回跳动,损失函数和模型正确率都出现明显的震荡现象,网络不收敛。相反,学习率设置成固定值0.0001时,网络收敛的速度明显变慢且收敛效果不佳,损失值和正确率都不如动态调整学习率的好。显然,动态调整学习率的效果最佳,初始学习率大,损失函数下降得快,正确率提升快,迭代一定次数后,调整成小学习率,网络收敛更稳定,且收敛结果更优。

为了证明LSTM模型对空间燃料电池故障序列的分类性能,本文依据3.1的评估指标和3.2的对照实验设置,进行10次重复实验,取测试集的平均值作为最终结果,记录在表5中,对比结果如图8和图9所示。

从表5、图8和图9可以看出,LSTM的模型性能最佳,正确率达95%以上,比正确率第二的RNN高出近3%,宏平均和微平均也都在0.95以上,高于其它对比算法。同时,可以看出RNN和SVM模型分类效果相近,BP神经网络的分类效果稍差些。结果证明,LSTM模型能够充分挖掘空间燃料电池故障序列的特性,具有很强的时间序列适用性。

为了进一步分析LSTM模型对不同故障的分类效果,本文测试了LSTM模型的混淆矩阵,横轴为样本的真实标签,纵轴对应预测标签,结果如表6所示。

从表6可以看出,LSTM模型对故障1和6的分类正确率达100%,故障2的达99%以上,故障5的97%以上。相比于其它类别,标签值为3和4的分类正确率稍差,说明模型对过压异常和欠压异常数据特征挖掘不够,区分能力稍弱。

进一步地,本文测试了同为深度学习方法的LSTM、RNN和BP神经网络的模型训练情况,结果如图10和图11所示。

从图10和图11可以看出,针对训练集LSTM和RNN的训练效果相近,BP神经网络的效果较差。而测试集中,LSTM模型的正确率高出RNN近3%,宏平均和微平均也明显高于RNN。由此,证明了本文的LSTM模型泛化能力比RNN强,对数据特征表征更准确,更真实地拟合了数据的分布情况。

表6:LSTM模型混淆矩阵

图10:不同算法的训练损失

图11:不同算法的训练正确率

4 结语

本文针对空间燃料电池故障序列的时间特性,利用LSTM模型对故障序列进行分类检测。实验证明,LSTM模型具有很好的时间记忆性,能够充分挖掘故障序列时间特性。对比LSTM和其它算法的分类结果,可以看出LSTM的分类正确率、宏平均和微平均都是最优的,并且LSTM比RNN具有更好的泛化能力,对数据集的分布拟合得更准确。由此,说明了本文所提方法的可行性和优越性。

另外,本文还证明了不同学习率对LSTM模型训练效果的影响,动态调整学习率不仅可以加快模型的收敛速度,提高模型的稳定性,而且可以使模型收敛到更优的结果。同时,本文还具体分析了LSTM模型对不同故障分类的效果,发现模型对过压故障和欠压故障的分类效果稍差,需要在后续工作中改进。

猜你喜欢
电堆燃料电池正确率
门诊分诊服务态度与正确率对护患关系的影响
燃料电池题解法分析
试驾丰田氢燃料电池车“MIRAI未来”后的六个疑问?
燃料电池的维护与保养
生意
品管圈活动在提高介入手术安全核查正确率中的应用
锌溴液流电池的电堆制备及性能评价
燃料电池电堆冷却液加热的实验研究
质子交换膜燃料电池低温起动方法的仿真研究
Hyundai公司的iX35燃料电池车