文章信息
- 杨济海, 刘洋, 刘杰, 余伟, 李石君
- YANG Jihai, LIU Yang, LIU Jie, YU Wei, LI Shijun
- 基于并行的F-LSTM模型及其在电力通信设备故障预测中的应用
- Parallel-Based F-LSTM Model and Its Application in Power Communication Fault Prediction
- 武汉大学学报(理学版), 2019, 65(3): 263-268
- Journal of Wuhan University(Natural Science Edition), 2019, 65(3): 263-268
- http://dx.doi.org/10.14188/j.1671-8836.2019.03.005
-
文章历史
- 收稿日期:2018-10-21
2. 武汉大学 计算机学院,湖北 武汉 430072
2. School of Computer Science, Wuhan University, Wuhan 430072, Hubei, China
电力通信网是电力系统中重要的支撑系统,它存储了包括业务运行、设备连接、设备告警等大量数据。电力通信网设备时序故障预测的任务是利用设备历史告警数据,预测设备在未来的一定时间内是否发生故障,这对电力通信网设备的管理和维护、以及提高电力通信网的系统可靠性具有重要的意义。对电力通信网设备故障的正确预测能够加强电力系统的稳定性、安全性、可靠性,促进电力行业的可持续发展[1]。
目前,对电力通信网设备故障预测的方法主要有两类。第一类是基于统计学习的方法,如灰度预测技术[2]。灰度预测模型的基础是灰色理论,即历史数据累加后具有指数函数规律,灰色理论模型不擅长对长期故障的预测。第二类是机器学习方法,如支持向量机[3]、神经网络[4]、Xgboost[5]。这类方法的优点在于易于分析、可解释性好,但是需要人工分析并提取特征,同时模型只考虑了当前时间设备发生故障的相关特征,缺少对设备历史状态信息的考虑,这是非时序的预测,并不能做到对设备未来状态进行分析。
电力通信网中设备告警数据具有数据量大、频闪数据多、非法数据多等特点,现有的预测还只是基于简单的统计分析,没有考虑时序相关因素的影响。为了解决现有方法的缺陷,本文使用基于时序关系的序列模型,提高设备故障预测的准确率。序列模型的输入是设备的历史告警数据,在对设备故障分析中,不仅考虑了设备的属性特征,同时考虑了设备告警时序特征,能够更加精确的对设备状态做出判断。
循环神经网络(recurrent neural network,RNN)是一个广泛应用的序列模型,在图像字幕,语言翻译、手写识别领域取得了重大成果[6],它可以周期性捕获时间动态,与前馈神经网络不同,RNN通过记忆单元保留任意长的上下文窗口的状态,但RNN能够保存记忆的长度很有限。LSTM(long short-term memory)网络架构一定程度上解决了标准RNN网络中梯度消失的问题,与标准RNN相比,LSTM考虑的上下文信息更长[7],提高了预测的准确性。但是本文对设备故障预测的特征包括两类,一类是与设备告警信息相关的时序特征(350维),另一类是与设备属性相关的非时序特征(约50 000维),时序特征数量占比很小,如果将所有特征都输入给LSTM,LSTM的学习过程中的计算量很大,同时并不能很好的学习到设备发生故障的时序规律。为了解决LSTM模型缺陷,本文结合LSTM网络与前向神经网络,提出一种基于LSTM的模型,即Forward-LSTM(F-LSTM)模型,对设备故障的时序特征和非时序特征利用不同的网络训练,探索一种新的故障预测方法。
1 F-LSTM模型本文提出的F LSTM模型如图 1所示。F LSTM网络架构由四部分组成:第一部分,静态/时序特征提取和特征预处理;第二部分,使用全连接网络提取设备属性特征并传递给LSTM;第三部分,通过LSTM网络捕获告警时序信息与设备故障的关系;第四部分,计算模型输出。
1.1 特征对设备故障预测的特征包括非时序特征和时序特征两部分。非时序特征是指故障相关的设备属性特征,由于这部分数据不会随时间发生改变又称静态数据。本文从同类型设备中选取10 000个告警数据分布均匀的设备,然后提取设备位置信息、所属系统、所属站点、所属机房、生产厂家、厂家设备类型、投运日期、调度等级、运行状态、维护单位、维护人、设备类型、制造国家、制造时间、最后同步时间等关键信息,并对离散特征进行OneHot编码,得到非时序静态特征约50 000维。
除了静态数据之外,设备在运行过程中会产生大量的告警数据,这些数据是时序变化的,从中提取设备故障的时序特征。在提取特征之前,需要进行数据预处理,包括删除告警的发生或者结束时间为非法时间的记录、删除告警的结束时间早于告警的开始时间的记录、删除告警类型的信息未定义的记录、删除频闪告警记录。之后需要选取时间窗口大小,本文选取的时间窗口为1小时,即统计每个设备每个小时的告警信息特征(2016—2017年)。设备的告警类型A1,A2,…,Am,时序特征包括:每种告警在该时间窗口内出现的次数CA1,CA2,…,CAm;每种在该时间窗口内发生的告警的持续时间(结束时间与开始时间之差)LA1,LA2,…,LAm;时间窗口的中心时间点距离设备上一次故障的时间长度W;三种告警级别提示、次要、重要、紧急在该时间窗口内分别发生的总次数L1,L2,L3,L4。最终得到时序特征350维。
1.2 前向全连接神经网络通过1.1节分析,电力设备故障相关特征中,大部分信息都是静态数据,为了减少LSTM网络训练的计算复杂度,加快网络学习,提高预测的准确度,本文提出将静态特征和时序特征分别采用不同的网络并行学习。对于静态数据使用前向全连接神经网络(forward full connection neural networks,FC)捕捉与设备发生故障的关系。这样F-LSTM网络中的时序连接部分,只考虑了时序特征的影响,更好的学习时序规律,提高模型预测的准确度。前向神经网络每一层的计算:
(1) |
其中,ReLU为激活函数,dropout为随机失活策略,Wf为非时序特征,Xf为网络权重参数,bf为网络偏差参数,A为输出。
1.3 LSTM网络学习故障的时序规律在对当前时间段的设备故障预测时,为了考虑历史故障信息,本文使用LSTM网络模型学习设备发生故障的时序规律,LSTM模型比一般的RNN模型更加稳定,并且可以更好的学习长期依赖。LSTM的主要创新之处在于利用存储记忆单元ct保存过去的状态信息,存储记忆单元ct由几个控制门进行访问。每次有新的输入时,如果输入门被激活,它的信息将被累积到单元中。此外,如果忘记门ft处于打开状态,则可以在此过程中“忘记”过去的状态ct-1。最后输出门ot控制存储单元ct是否会传播到最终状态ht。存储单元和门控制信息流在一定程度上解决了普通RNN模型梯度消失的问题,更易于学习长期的依赖,能够很好地解决序列相关的预测问题[8]。LSTM网络通过使用递归方程计算更新[9]:
(2) |
其中,σ和tanh分别是sigmoid、tanh激活函数,it、ft、ot、ct分别是输入门、忘记门、输出门、存储记忆单元,°表示矢量逐元素乘积,xt为每个时间窗口的时序特征,W和b为参数矩阵,ht为输出。
1.4 模型复杂度分析这里对比LSTM模型与F-LSTM模型的复杂度,主要分析两个模型的参数数量以及迭代一次的计算量。其中F-LSTM模型的计算量主要集中在FC与LSTM部分,LSTM模型的计算量主要集中在LSTM部分。
假设时序特征维度为n,非时序特征维度为m,LSTM隐藏层状态为H维,FC网络层数为L,第i层的神经元个数为Li。则LSTM模型参数数量为nLSTM = 8( m+ n) H,F-LSTM 模 型 参 数 数 量 为
假设时序长度为T,batch为N,则LSTM模型一次迭代的乘法的计算量为TLSTM= 8N(m+n)
HT,F -LSTM模型一次迭代的乘法的计算量为TF-LSTM =
电力通信网络中设备故障时序预测的任务是预测下一个时间片段是否会发生故障,这是一个二分类的问题,本文组合时序特征通过前向神经网络的输出与时序特征通过LSTM模型每一时间段的输出,使用sigmoid的激活函数输出每一时间段的设备故障预测概率值:
(3) |
其中,xs为每个时间窗口对时序特征和非时序特征的训练输出A、ht的拼接的结果,Ws、bs为模型矩阵参数。F-LSTM模型在每个时间窗口都会输出设备故障概率值,从而在每一步中产生局部的误差信息,在设备故障预测时,应该重点关注最后一步的输出,本文通过权重来控制损失函数关注的对象:
(4) |
(5) |
其中,J为损失函数,N为batch的个数,yt、ythat 分别是每个时间窗口设备故障的真实值和预测值,T为输入序列的长度,表示对当前窗口预测时,考虑了时间长度的历史信息,α∈ [0, 1]为超参数,表示在序列的中间步骤中其预测结果的相对重要性。在真正的预测阶段,只需要最后步骤的输出。
2 实验现有的故障预测方法大部分是基于传统的机器学习模型,通过设备的当前告警信息,预测设备是否发生故障。文献[5]表示,在故障预测领域,Xgboost[10]模型表现最好,本文将通过对比Xgboost模型和F-LSTM模型在提取的数据集上的预测能力,证明序列模型能够提高设备故障的准确率;通过对比LSTM模型和F-LSTM模型在数据集上的训练速度和预测精度,分析对时序特征和非时序特征分开训练后的结果。
2.1 数据集本文使用的数据是某省份电力通信网系统中2016-2017年约100万条告警记录的数据,通过1.1节的介绍,提取需要的时序和静态特征,并预留两个月的数据作为测试集,其余数据作为训练集。本文采用模型的评估指标如下:Precision、Recall、F1,
其中,TP、FP、FN、TN的说明见表 1。
故障预测问题召回率是很重要的指标,因为我们希望模型尽可能的把故障提前预测出来,从而采取一定的维修措施。
2.2 加权的交叉熵损失函数本文采用带权重的损失函数,将对于设备故障的预测重点考虑最近的告警信息。其中F-LSTM模型在每个时间窗口产生的误差信息权重不同,网络在反向梯度更新时,学习的重点由权重决定。在加权的交叉熵损失函数(4)式中,α∈ [0, 1]。若α = 0,则表示每个时间窗口的同等重要;若α = 1,则表示模型只关心最后一个时间窗口的损失,而其他时间窗口的误差信息将不会影响网络参数的更新。本文对α 进行超参数测试,结果如表 2所示,最终α取0.9,表示在设备故障预测时,模型比较关心当前时间窗口的误差信息,同时其他时间窗口可以更新前面层的网络参数。其中全连接部分使用三层网络,每个隐藏层大小分别为512,256,128;时序连接部分中,隐藏状态为256维;时序长度选择100 h。
α | Precision | Recall | F1 |
0.1 | 0.793 | 0.812 | 0.802 |
0.3 | 0.843 | 0.845 | 0.844 |
0.5 | 0.859 | 0.873 | 0.895 |
0.7 | 0.876 | 0.893 | 0.866 |
0.9 | 0.886 | 0.904 | 0.895 |
1.0 | 0.870 | 0.891 | 0.880 |
Xgboost模型将时序特征和非时序特征合并作为模型的输入,预测当前窗口设备是否故障,从本质上讲,这是一个数学模型,学习的是设备故障的判断规则。本文对Xgboost模型的重要参数采用网格搜索策略进行超参数优化,取值如表 3所示。本文中F-LSTM利用历史的100 h的告警信息,预测下一个时间窗口是否发生故障。F-LSTM模型中全连接部分使用三层网络,每个隐藏层大小分别为512,256,128。时序连接部分中,隐藏状态为128和256两种变体,F-LSTM模型的隐藏层数选择2层。我们使用反向传播(BPTT)[11]最小化加权的交叉熵损失和(4)式,计算模型参数梯度,通过优化器RM SProp[12]对F-LSTM模型参数持续更新,其中学习率为10-3、衰减率0.9。损失函数超参数α为0.9。
参数 | 值 |
max_depth | 15 |
min_child_weight | 6 |
colsample_bytree | 1.05 |
gamma | 0.1 |
n_estimators | 100 |
reg_alpha | 0.01 |
F-LSTM模型考虑了设备历史的状态信息,如表 4所示设备故障预测准确率要远远优于Xgboost模型;F -LSTM的隐藏层大小决定了模型的复杂度,改变隐藏层大小可以改变模型的预测能力;其中,LSTM_base模型是只使用时序部分对设备故障进行预测。因此,非时序特征可以增加模型的预测能力。
模型 | Precision | Recall | F1 |
Xgboost | 0.826 | 0.855 | 0.840 |
LSTM_base(128) | 0.812 | 0.832 | 0.822 |
LSTM_base(256) | 0.824 | 0.845 | 0.834 |
F⁃LSTM(128) | 0.863 | 0.891 | 0.876 |
F⁃LSTM(256) | 0.886 | 0.904 | 0.895 |
注:128和256代表时序连接部分隐藏状态的大小 |
LSTM模型需要将时序特征和非时序特征组合作为输入,LSTM同样利用历史信息预测下一个时间窗口是否发生故障,不同的是F-LSTM模型中对时序特征和非时序特征利用两个网络训练。全连接部分使用三层网络,每个隐藏层大小分别为512,256,128。时序连接部分中,隐藏状态为256维。LSTM模型和F-LSTM模型的隐藏层数选择两层。同时为了考虑时序长度对问题的影响,我们做了三组对比试验,时序长度选择20、60、100 h。其中,损失函数超参数α为经过交叉验证取值为0.9,见2.2节。
如表 5所示,与LSTM模型相比F-LSTM模型的在设备故障预测准确率上有一定的提升,原因在于,F-LSTM模型对时序特征单独训练,更好地关注了时序因素的影响,反之,LSTM并没有很好地学习到设备故障的时序规律;另外,F-LSTM大大减少了模型计算量,与LSTM相比大大减小了训练时间。
时序长度/h | 模型 | 训练时间/min | 平均损失 | Precision | Recall | F1 |
20 | LSTM(256) | 7 432 | 2.213 | 0.848 | 0.864 | 0.856 |
F⁃LSTM(256) | 785 | 1.743 | 0.852 | 0.883 | 0.867 | |
60 | LSTM(256) | 8 934 | 1.928 | 0.851 | 0.875 | 0.863 |
F⁃LSTM(256) | 997 | 1.560 | 0.862 | 0.890 | 0.876 | |
100 | LSTM(256) | 10 043 | 1.780 | 0.853 | 0.872 | 0.862 |
F⁃LSTM(256) | 1 389 | 1.453 | 0.886 | 0.904 | 0.895 |
对于设备故障预测问题,现有的方法大都采用传统的机器学习方法,而传统学习方法缺少对时序因素的考虑,无法做到对未来某一段时间设备状态进行预测。本文基于此,提出利用序列模型预测设备故障,但是主流的序列模型(LSTM)会因为存在大量的设备属性非时序特征而带来大量的计算。为了解决这个问题,本文采用基于LSTM的优化模型(F-LSTM)对设备故障进行预测,F-LSTM模型利用LSTM网络学习设备发生故障的时序规律,利用前向神经网络学习设备属性对发生故障的影响因素,二者相互并行计算,加快了模型训练的速度。同时采用带权重的损失函数,控制模型学习的重点。试验结果表明,与Xgboost模型相比,F-LSTM模型提高了设备故障预测的能力;F-LSTM模型与LSTM模型相比,大大减小了模型计算量,加快了网络学习速度,同时也提高了设备故障预测的能力。
[1] |
罗珊. 电力系统设备故障诊断与监测分析[J]. 科技创新与应用, 2012(7): 73. LUO S. Fault diagnosis and monitoring analysis of power system equipment[J]. Technological Innovation and Application, 2012(7): 73. (Ch). |
[2] |
WANG M, KONG B, LI X, et al. Grey prediction theory and extension strategy-based excitation control for generator[J]. International Journal of Electrical Power & Energy Systems, 2016, 79: 188-195. DOI:10.1016/j.ijepes.2016.01.014 |
[3] |
CHEN K Y, CHEN L S, CHEN M C, et al. Using SVM based method for equipment fault detection in a thermal power plant[J]. Computers in Industry, 2011, 62(1): 42-50. DOI:10.1016/j.compind.2010.05.013 |
[4] |
ILLIAS H A, CHAI X R, MOKHLIS H. Transformer incipient fault prediction using combined artificial neural network and various particle swarm optimization techniques[J]. Plos One, 2015, 10(6). DOI:10.1371/journal.pone.0129363 |
[5] |
ZHANG D, QIAN L, MAO B, et al. A data-driven design for fault detection of wind turbines using random forests and XGboost[J]. IEEE Access, 2018, 6: 21020-21031. DOI:10.1109/ACCESS.2018.2818678 |
[6] |
LIPTON Z C. A Critical Review of Recurrent Neural Networks for Sequence Learning[DB/OL].[2018-09-30]. https://arxiv.org/pdf/1506.00019v2.pdf.
|
[7] |
SHI X J, CHEN Z R, WANG H, et al. Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting[DB/OL][2018-09-30]. https://www.researchgate.net/publication/278413880_Convolu-tional_LSTM_Network_A_Machine_Learning_Approach _for_Precipitation_Nowcasting.
|
[8] |
HOCHREITER S, SCHMIDHUBER J. Long short term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735 |
[9] |
GRAVES A. Generating Sequences with Recurrent Neural Networks[DB/OL].[2018-10-11]. https://arxiv.org/pdf/1308.0850v5.pdf.
|
[10] |
CHEN T Q, GUESTRIN C. Xgboost: A scalable tree boosting system[C]//Proceedings of the 22nd ACM SIG KDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2016: 785-794. DOI: 10.1145/2939672.2939785.
|
[11] |
LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436. DOI:10.1038/na-ture14539 |
[12] |
TIELEMAN T, HINTON G. Divide the Gradient by a Running Average of Its Recent Magnitude[R].[2017-04-21]. https://zh.coursera. org/learn/neuralnetworks/lecture/YQHki/rmsprop-divide-the-gradient-by-a-running-average-of-its-recent-magnitude.
|