一种智慧轨道无人驾驶车辆故障基因识别方法及系统转让专利

申请号 : CN202011616264.1

文献号 : CN112650204B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘辉李燕飞杨睿段铸尹诗李烨郑广济

申请人 : 中南大学

摘要 :

本发明公开了一种智慧轨道无人驾驶车辆故障基因识别方法及系统,采用基于增量式网络爬虫方法获取列车历史振动数据;对所述振动数据的振动幅度EA,振动周期ET进行预处理,输出新的X;将X作为故障检测模块的输入,检测故障序列后,输出故障序列数据E;将所述故障序列数据E作为降维模型的输入,输出可编码的基因序列I1,I2,I3,I4;将所述可编码的基因序列I1,I2,I3,I4整合为DNA序列S=S1,S2,S3,...,SN,提取所述DNA序列的碱基特征,并排列组合所述碱基特征,形成可预测的预判定候选车辆部件故障基因Vs;利用所述候选车辆部件故障基因训练双向长短时记忆网络深度学习模型,得到分类模型。本发明可以准确识别车辆故障的位置及类型。

权利要求 :

1.一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,包括以下步骤:S1、采用基于增量式网络爬虫方法获取列车历史振动数据;

S2、对所述振动数据的振动幅度EA,振动周期ET进行预处理,输出新的X;

S3、将X作为故障检测模块的输入,检测故障序列后,输出故障序列数据E;

S4、将所述故障序列数据E作为降维模型的输入,输出可编码的基因序列I1,I2,I3,I4;

S5、将所述可编码的基因序列I1,I2,I3,I4整合为DNA序列S=S1,S2,S3,...,SN,提取所述DNA序列的碱基特征,并排列组合所述碱基特征,形成可预测的预判定候选车辆部件故障基因Vs;

S6、利用所述候选车辆部件故障基因训练双向长短时记忆网络深度学习模型,得到分类模型;

步骤S5之后,还包括:将所述候选车辆部件故障基因Vs作为聚类模型的输入,建立DNA序列模板库;

建立DNA序列模板库的具体实现过程包括:步骤1:将经过非负矩阵分解降维得到的预判定的候选车辆部件故障基因Vs作为随机邻接嵌入算法的输入,得到高维数据点Vi和Vj的条件概率pj|i,低维数据点vi和vj的条件概率qj|i,将条件概率最小化,得到最小化的高维数据的条件概率 和最小化的低维数据的条件概率

步骤2:依据条件概率最小化结果计算出高低维条件概率差异的最小值pij,通过梯度下降法最小化代价函数L:y y

得到最优解V ,将所述最优解V 作为tSNE聚类算法的聚类结果输出,输出的聚类信息熵簇对应DNA序列的聚类模板template:template=[CT,ZXJ,QY,ZD,LJ,SL,SB];

其中,CT,ZXJ,QY,ZD,LJ,SL,SB为DNA序列模板库中的故障类别;CT:车体故障;ZXJ:转向架故障;QY:牵引传动控制系统故障;ZD:制动系统故障;LJ:车端连接装置故障;SL:受流装置故障;SB:车辆内部设备和驾驶室设备故障;n代表数据样本数。

2.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,还包括:

S7、根据实时采集的振动数据,利用所述分类模型识别车辆故障。

3.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,步骤S1的具体实现过程包括:将故障信息公开数据集的历史振动幅度、振动周期、振动频率作为爬虫算法的输入,去除历史振动幅度、振动周期、振动频率中的重复信息,所述爬虫算法输出的信息即为列车历史振动数据。

4.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,步骤S2的具体实现过程包括:

*

1)将振动幅度EA,振动周期ET整合为矩阵X;

*

2)利用下式计算矩阵X 中任意一段数据的中值mi:mi=median[xi‑p,xi‑(p‑1),...,*

xi,...,xi+(p‑1),xi+p];其中,xi是X的第i个样本;p是相邻样本点的数量,所述相邻样本点是*

指数值差小于阈值Ξ的两个样本点;i=1,2,...,n;n为振动数据矩阵X中样本点的总数;

3)利用下式计算绝对偏差MADi:MADi=median[|xi‑p‑mi|,...,|xi‑mi|,...,|xi+(p‑1)‑mi|,|xi+p‑mi|];定义振动样本分数Z':

4)设定如下边界条件:

*

5)若振动数据矩阵X中的数据不满足所述边界条件,则判定该值为离群值,剔除该值;

*

6)重复步骤2)~5),直至遍历完矩阵X中的所有数据,得到新的矩阵X。

5.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,步骤S3的具体实现过程包括:设定初始时序差分的最小数值为Tc,设定最小阈值为Ay,当X中的振动起始数据点和振动终止数据点的时间差大于阈值Tc,且振动幅度大于最小阈值Ay时,判定当前时刻有故障发生,记录此时的数据位置和波形幅值变化情况,将被判定为有故障发生的信号数据整合为新矩阵数据E。

6.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,步骤S4的具体实现过程包括:

将矩阵E排列展开,进行非负矩阵分解降维处理,将降维后的数据分解为两个非负数矩阵J,K的乘积,其中,数据E通过基空间J映射到K;定义降维维度U,高维数据E经过降维后被A,T,C,G四种碱基元素表达的U维特征向量所映射,分别用I1,I2,I3,I4代替四种碱基表达A,T,C,G。

7.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,可预测的预判定候选车辆部件故障基因Vs=(W11,W12,...,WUU,C1,...,CU,D1,...,DU);其中,碱基Bi转移到碱基Bj的概率 ni为单个碱基点Bi在DNA序列S中出现的次数;Bi为DNA序列S中第i个数据点位置的碱基;1≤i≤U;U指碱基元素所代表特征向量的维度;N为DNA序列S的长度;nij为碱基对BiBj在DNA序列S中出现的次数;碱基含量碱基位置比 DNA序列S中碱基Bi出现的位置标记为Si,其中si是Si中的值。

8.根据权利要求1所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,步骤S6之后,还包括:

判断所述故障分类模型输出的预测序列对应的故障类别是否与所述聚类结果中的故障类别匹配,若所述故障类别从属于聚类结果中某一故障类别中的子类别,则将所述故障类别划入该故障类别中;若分类模型输出的结果无法与所述聚类结果中的故障类别匹配,则由判断是否需要更新,若需要更新,则将该分类结果的原始信号阈值设置为新的故障判定阈值,并在所述聚类结果中的故障类别中设置一个新类别,若不更新,则直接丢弃该分类结果。

9.根据权利要求1~8之一所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,步骤S6的具体实现过程包括:A)将车辆部件故障基因Vs随机划分为训练集和测试集;初始化二进制灰狼优化算法的迭代次数κ、预期精度;

B)将所述训练集、隐含层初始神经元个数Θ0作为双向长短时记忆网络深度学习模型的输入,以具有隐含层神经元个数Θκ的双向长短时记忆网络深度学习模型作为输出,训练双向长短时记忆网络深度学习模型;

C)将所述测试集、隐含层神经元个数Θκ作为二进制灰狼优化算法目标优化函数的输入,计算优化目标函数值;

D)根据所述目标优化函数值,更新双向长短时记忆网络深度学习模型隐含层神经元个数Θκ的搜索路径,使得下一次目标函数值小于当前次目标函数值,得到新的隐含层的每层神经元个数Θκ+1;

E)迭代次数加1,将新的隐含层的每层神经元个数Θκ+1作为二进制灰狼优化算法目标优化函数的输入,返回步骤C),直至二进制灰狼优化算法目标优化函数值达到预期精度或完成所设定的迭代次数,完成双向长短时记忆网络深度学习模型的训练,并获取最优参数Θoptimal,该最优参数Θoptimal对应的双向长短时记忆网络深度学习模型即分类模型。

10.根据权利要求9所述的一种智慧轨道无人驾驶车辆故障基因识别方法,其特征在于,所述目标优化函数表达式为:

式中εf为双向长短时记忆网络中第f层的神经元数量,αf为结合权重;

Accuracy的计算过程包括:每一次迭代过程中,对于测试集中的每一个样本点,当分类器的输出分类数值和测试集中该样本点的数值相同且为正时,TP的值加1;当分类器的输出分类数值和测试集中该样本点的数值相反且分类器的输出分类数值为正时,FP的值加1;当分类器的输出分类数值和测试集中该样本点的数值相反且分类器的输出分类数值为负时,FN的值加1;当分类器的输出分类数值和测试集中该样本点的数值相同且为负时,TN的值加

1;所述分类器是指每一次迭代过程中,具有隐含层神经元个数Θκ的双向长短时记忆网络深度学习模型;其中,真阳性TP、假阳性FP、真阴性TN、假阴性FN的初始值均为0。

11.一种智慧轨道无人驾驶车辆故障基因识别系统,其特征在于,包括计算机设备;所述计算机设备被配置或编程为用于执行权利要求1~10之一所述方法的步骤。

说明书 :

一种智慧轨道无人驾驶车辆故障基因识别方法及系统

技术领域

[0001] 本发明涉及故障识别领域,特别是一种智慧轨道无人驾驶车辆故障基因识别方法及系统。

背景技术

[0002] 随着道路和车辆建设关键技术的发展,高铁成为了我国交通运输的中流砥柱。近些年来,高铁的运行速度及自动化驾驶程度的提升对其安全性提出了更高的要求。列车安
全保障成为国际交通关注的重点。目前国内大多高铁的无人驾驶程度达到了GOA2(有人监
督的列车自动驾驶),如果列车的组件模块发生的故障可以被及时甚至提前诊断出来,则能
对列车的安全起到重要的保障作用。
[0003] 现阶段无人驾驶列车的故障识别手段主要有人工诊断、拆解检查、磁粉探伤、渗透探伤、超声探伤等。如公开号为CN111380708A的发明专利申请通过设置阈值并计算各轴承
转速、单车速度等数值判定列车车轴是否抱死从而进行故障诊断。公开号为CN111024416A
的发明专利申请通过设定列车部件温度阈值的方法来判定列车是否符合安全运行标准。上
述方法一般是通过设定某种阈值来判定某个部件是否出现故障,这些方法存在一定的局限
性,包括故障判定准确率不足、故障判定范围较小等,严重影响故障识别精度。

发明内容

[0004] 本发明所要解决的技术问题是,针对现有技术不足,提供一种智慧轨道无人驾驶车辆故障基因识别方法及系统,准确识别车辆故障的位置及类型。
[0005] 为解决上述技术问题,本发明所采用的技术方案是:一种智慧轨道无人驾驶车辆故障基因识别方法,包括以下步骤:
[0006] S1、采用基于增量式网络爬虫方法获取列车历史振动数据;
[0007] S2、对所述振动数据的振动幅度EA,振动周期ET进行预处理,输出新的X;
[0008] S3、将X作为故障检测模块的输入,检测故障序列后,输出故障序列数据E;
[0009] S4、将所述故障序列数据E作为降维模型的输入,输出可编码的基因序列I1,I2,I3,I4;
[0010] S5、将所述可编码的基因序列I1,I2,I3,I4整合为DNA序列S=S1,S2,S3,...,SN,提取所述DNA序列的碱基特征,并排列组合所述碱基特征,形成可预测的预判定候选车辆部件故
障基因Vs;
[0011] S6、利用所述候选车辆部件故障基因训练双向长短时记忆网络深度学习模型,得到分类模型。
[0012] 本发明的分类模型基于数据驱动手段来识别车辆的振动信号中蕴含的故障信息,可以实现车辆设备的故障诊断,准确识别出故障类型。
[0013] 优选的,还包括:
[0014] S7、根据实时采集的振动数据,利用所述分类模型识别车辆故障。故障的识别可以降低行业有关人员的经验门槛,使其在没有经验的情况下也能准确的完成故障诊断和设备
维修。
[0015] 步骤S1的具体实现过程包括:将故障信息公开数据集的历史振动幅度、振动周期、振动频率作为爬虫算法的输入,去除历史振动幅度、振动周期、振动频率中的重复信息,所
述爬虫算法输出的信息即为列车历史振动数据。运用爬虫技术手段可以快速获取海量公开
数据集的信息,能够在较低的成本下完成数据采集工作。
[0016] 步骤S2的具体实现过程包括:
[0017] 1)将振动幅度EA,振动周期ET整合为矩阵X*;
[0018] 2)利用下式计算矩阵X*中任意一段数据的中值mi:mi=median[xi‑p,xi‑(p‑1),...,*
xi,...,xi+(p‑1),xi+p];其中,xi是振动数据矩阵X的第i个样本;p是相邻样本点的数量,所述
相邻样本点是指当两个样本点数值差小于阈值Ξ时,该两个样本点为相邻样本点;i=1,
2,...,n;
[0019] 3)利用下式计算绝对偏差MADi:MADi=median[|xi‑p‑mi|,...,|xi‑mi|,...,|xi+(p‑1)‑mi|,|xi+p‑mi|];定义振动样本分数Z':
[0020] 4)设定如下边界条件:
[0021]
[0022]
[0023] 5)若振动数据矩阵X*中的数据处于所述边界条件外,则判定该值为离群值,剔除该值;
[0024] 6)重复步骤2)~5),直至遍历完矩阵X*中的所有数据,得到新的矩阵X。
[0025] 上述离群值检测可以有效判定数据是否离群,剔除离群值从而减少不利数据对后续建模的负面影响。
[0026] 步骤S3的具体实现过程包括:设定初始时序差分的的最小数值为Tc,设定最小阈值为Ay,当X中的振动起始数据点和振动终止数据点的时间差大于阈值Tc,且振动幅度大于
最小阈值Ay时,判定当前时刻有故障发生,记录此时的数据位置和波形幅值变化情况,将被
判定为有故障发生的信号数据整合为新矩阵数据E。基于时序差分和阈值判别的故障检测
手段能够有效判定出数据波段中故障信息对应的位置,便于后续的降维和特征提取工作的
进行。
[0027] 步骤S4的具体实现过程包括:
[0028] 将矩阵E排列展开,进行非负矩阵分解降维处理,将降维后的数据分解为两个非负数矩阵J,K的乘积,其中,数据E通过基空间J映射到K;定义降维维度U,高维数据E经过降维
后被A,T,C,G四种碱基元素表达的U维特征向量所映射,分别用I1,I2,I3,I4代替四种碱基表
达A,T,C,G。。基于非负矩阵分解降维的振动数据编码可将原始振动信号转换为由A,T,C,G
四种碱基元素表达的U维特征向量,避免丢失有效信息。
[0029] 可预测的预判定候选车辆部件故障基因Vs=(W11,W12,...,WUU,C1,...,CU,D1,...,DU);其中,碱基Bi转移到碱基Bj的概率 ni为单个碱基点Bi在DNA序
列S中出现的次数;Bi为DNA序列S中第i个数据点位置的碱基;1≤i≤U;U指碱基元素所代表
特征向量的维度;N为DNA序列S的长度;nij为碱基对BiBj在DNA序列S中出现的次数;碱基含
量 碱基位置比 DNA序列S中碱基Bi出现的位置标记为Si,其中si是Si中
的值。对可编码基因序列碱基对进行特征提取可以找出其中最具代表性的特征,用低维度
的数据表达尽可能多的高维度信息,这也可以避免建模过程中模型过拟合。
[0030] 步骤S5之后,还包括:将所述候选车辆部件故障基因Vs作为聚类模型的输入,建立DNA序列模板库。搭建模板库可以帮助行业有关人员对比当前故障和历史故障的异同,从而
采取更精准的维修操作。
[0031] 建立DNA序列模板库的具体实现过程包括:
[0032] 步骤1:将经过非负矩阵分解降维得到的预判定的候选车辆部件故障基因Vs作为随机邻接嵌入算法的输入,得到高维数据点Vi和Vj的条件概率pj|i,低维数据点vi和vj的条
件概率qj|i,将条件概率最小化,得到最小化的高维数据的条件概率 和最小化的低维数
据的条件概率
[0033] 步骤2:依据条件概率最小化结果计算出高低维条件概率差异的最小值pij,通过梯度下降法最小化代价函数L:
y y
得到最优解V ,将所述最优解V作为tSNE聚类算法的
聚类结果输出,输出的聚类信息熵簇对应DNA序列的聚类模板template:
[0034] template=[CT,ZXJ,QY,ZD,LJ,SL,SB];
[0035] 其中,CT,ZXJ,QY,ZD,LJ,SL,SB为DNA序列模板库中的故障类别;CT:车体故障;ZXJ:转向架故障;QY:牵引传动控制系统故障;ZD:制动系统故障;LJ:车端连接装置故障;
SL:受流装置故障;SB:车辆内部设备和驾驶室设备故障;n代表数据样本数。非负矩阵分解
降维和t‑SNE聚类相结合的方法避免了车辆故障有效信息大量丢失的不利情况,柔和聚类
可以得到更可靠的模板库信息。
[0036] 步骤S6之后,还包括:判断所述故障分类模型输出的预测序列对应的故障类别是否与所述聚类结果中的故障类别匹配,若所述故障类别从属于聚类结果中某一故障类别中
的子类别,则将所述故障类别划入该故障类别中;若不匹配,则更新补充所述聚类结果中的
故障类别:若分类模型输出的结果无法与所述聚类结果中的故障类别匹配,则由判断是否
需要更新,若需要更新,则将该分类结果的原始信号阈值设置为新的故障判定阈值,并在所
述聚类结果中的故障类别中设置一个新类别,若不更新,则直接放弃该分类结果。模板库比
对机制帮助有关人员快速识别当前故障和历史故障之间的异同,模板库更新机制帮助完善
模板库的内容,从而容纳更多故障信息。步骤S6的具体实现过程包括:
[0037] A)将车辆部件故障基因Vs随机划分为训练集和测试集;初始化二进制灰狼优化算法的迭代次数κ、预期精度;
[0038] B)将所述训练集、隐含层初始神经元个数Θ0作为双向长短时记忆网络深度学习模型的输入,以具有隐含层神经元个数Θκ的双向长短时记忆网络深度学习模型作为输出,
训练双向长短时记忆网络深度学习模型;
[0039] C)将所述测试集、隐含层神经元个数Θκ作为二进制灰狼优化算法目标优化函数的输入,计算目标优化函数值,另外,每一次迭代过程中,具有隐含层神经元个数Θκ的双向
长短时记忆网络深度学习模型(即分类器)会输出一次分类数值;
[0040] D)根据所述目标优化函数值,更新双向长短时记忆网络深度学习模型隐含层神经元个数Θκ的搜索路径,使得下一次目标函数值小于当前次目标函数值,得到新的隐含层的
每层神经元个数Θκ+1;
[0041] E)迭代次数加1,将新的隐含层的每层神经元个数Θκ+1作为二进制灰狼优化算法目标优化函数的输入,返回步骤C),直至二进制灰狼优化算法目标优化函数值达到预期精
度或完成所设定的迭代次数,完成双向长短时记忆网络(BiLSTM)深度学习模型的训练,并
获取最优参数Θoptimal,该最优参数Θoptimal对应的双向长短时记忆网络深度学习模型即分
类模型。双向长短时记忆网络深度学习模型具有优秀的数据拟合能力,经过二进制灰狼优
化算法优化过参数的双向长短时记忆网络深度学习模型具有更小的分类误差,可以更准确
的识别车辆故障。
[0042] 所述目标优化函数表达式为:
[0043]
[0044]
[0045] 式中εf为双向长短时记忆网络中第f层的神经元数量,αf为结合权重。
[0046] 对于二分类问题,其样本分类有四种结果,真阳性(TP)、假阳性(FP)、真阴性(TN)、假阴性(FN),具体的混淆矩阵解释如下:
[0047]
[0048] Accuracy的计算过程包括:每一次迭代过程中,对于测试集中的每一个样本点,当分类器的输出分类数值和测试集中该样本点的数值相同且为正时,TP的值加1;当分类器的
输出分类数值和测试集中该样本点的数值相反且分类器的输出分类数值为正时,FP的值加
1;当分类器的输出分类数值和测试集中该样本点的数值相反且分类器的输出分类数值为
负时,FN的值加1;当分类器的输出分类数值和测试集中该样本点的数值相同且为负时,TN
的值加1;所述分类器是指每一次迭代过程中,具有隐含层神经元个数Θκ的双向长短时记
忆网络深度学习模型;其中,真阳性TP、假阳性FP、真阴性TN、假阴性FN的初始值均为0。。以
双向长短时记忆网络每层神经元个数和分类精度的组合为目标函数,可以兼顾模型的分类
精度和简化性。
[0049] 本发明还提供了一种智慧轨道无人驾驶车辆故障基因识别系统,其包括计算机设备;所述计算机设备被配置或编程为用于执行本发明所述方法的步骤。
[0050] 与现有技术相比,本发明所具有的有益效果为:
[0051] 本发明在现有无人驾驶车辆故障诊断技术的基础上,提供了一种智慧轨道无人驾驶车辆故障基因识别方法。爬虫手段与现有数据库的结合为大量历史数据需求提供了保
障,数据预处理、事件检测、故障检测、基因信号转化、可编码的基因序列特征提取、故障模
块的DNA序列模板库搭建、深度学习人工智能建模等模块相互配合,可以准确识别车辆故障
的位置及类型。
[0052] 本发明搭建了可编码故障模块的DNA序列模板库,对应机车车辆的七大部件(车体、转向架、牵引传动控制系统、制动系统、车端连接装置、受流装置、车辆内部设备和驾驶
室设备)。故障模板库的搭建为相关人员提供了技术指导,精准完善的故障信息更有利于工
作人员进行无人驾驶车辆的故障检修。
[0053] 本发明提出了一种无人驾驶车辆故障诊断多分类建模方法,在高铁列车的各大部件上安装振动传感器,采集实时振动数据信号,并建立双向长短时记忆网络模型以进行设
备故障的分类,便于帮助行业相关人员识别车辆出现的故障类型,从而进行相应的故障修
复工作。
[0054] 本发明围绕浅层数据预处理、故障检测、基因信号转化、可编码的基因序列特征提取、建立故障模块的DNA序列模板库搭建了闭环反馈结构,对于新出现的故障可以通过有监
督的自学习模型反馈到模板库当中进行更新,进一步提高故障识别的准确率,基于时效性
的兼顾,本发明的模型可以被嵌入到Apache Spark大数据平台中进行训练,提高训练速度。

附图说明

[0055] 图1为本发明实施例方法原理图。

具体实施方式

[0056] 如图1所示,本发明实施例实现过程包括:
[0057] 1、采用基于增量式网络爬虫的方法采集CRH高铁列车历史振动数据;
[0058] 2、将所述振动数据振动幅度EA,振动周期ET作为HI模块的输入进行浅层预处理,校正所述的离群值,输出新的X;
[0059] 3、将所述校正后的振动数据X作为故障检测模块的输入,检测故障序列后,输出故障序列数据E;
[0060] 4、将所述故障序列数据E作为降维模型的输入,输出可编码的基因序列I1,I2,I3,I4;
[0061] 5、将所述可编码的基因序列I1,I2,I3,I4整合为DNA序列S=S1,S2,S3,...,SN进行DNA序列的碱基特征提取,并排列组合以形成可预测的预判定候选车辆部件故障基因Vs;
[0062] 6、将所述候选车辆部件故障基因Vs作为聚类模型的输入,建立DNA序列模板库;
[0063] 7、将所述预判定候选车辆部件故障基因的部分数据Vs、双向长短时记忆网络(BiLSTM)深度学习模型隐含层初始神经元个数Θ0作为二进制灰狼优化算法(BGWO)的输
入,以具有隐含层神经元个数Θκ的双向长短时记忆网络深度学习模型作为输出,训练双向
长短时记忆网络深度学习模型,得到分类模型;
[0064] 8、依据实际需要来进行人工监督的基因模板库刷新;
[0065] 9、本发明的模型可以被嵌入到Apache Spark大数据平台以提升故障诊断的速度。
[0066] 步骤1:各型号列车部件历史故障数据采集
[0067] 我国高铁的统称为CRH(和谐号),其旗下涉及多个子公司,每个公司引进及联合生产其代表性车型。本发明的CRH高铁列车数据采集模块采用增量式网络爬虫的方法,联合机
车车辆生产公司进行各型号部件历史故障传感器信息数据的采集。相比起周期性爬行和刷
新页面的网络爬虫,增量式网络爬虫只会在需要的时候爬行新产生或发生更新的页面。增
量式网络爬虫的优势在于它并不重新下载没有发生变化的页面,这样可以有效减少数据下
载量,及时更新已爬行的网页,减小时间和空间上的耗费。爬虫的步骤可以总结为如下4个
部分:发送URL请求‑‑获得响应‑‑解析内容‑‑存储内容(参见Thelwall M.A web crawler 
design for data mining[J].Journal of Information Science,2001,27(5):319‑
325.)。
[0068] 首先,增量式网络爬虫进行一次遍历后,引擎会根据这次的遍历结果来进行数据更新。当下一次对同样网络范畴更新后的数据进行再次网络获取时,网络列表列表中的url
会被进行逐一的正反馈分析。如果待获取的url没有被获取过,则直接获取。如果待获取的
url曾经被获取过,则会根据上一次遍历的时间便签判断待获取url的本地存储是否过期,
若已经过期,则会对url进行重新获取的操作,若没有过期,则跳过该url直接判断下一条
url。这其中的核心就是去重,准确的去重可以保证增量式网络爬虫的高效进行。本案例中,
爬虫过程描述如下:
[0069] 对国内各高铁生产公司的故障信息公开数据集进行爬虫,爬虫对象为公开数据集中各型号列车下可获取设备组件故障信号的历史振动幅度、振动周期、振动频率等信息。爬
取列车故障信号时其核心步骤为信息的去重,根据上述原理判定本次爬取的信息是否与已
爬取到的数据库中信息重复,旧的数据库信息是否过期,若已过期或不重复,则爬取信息,
否则不爬取。最后将爬取完的信息整合为振动幅度A、振动周期T矩阵。
[0070] 步骤1爬虫技术爬取到的信息包括车辆部件的振动幅度A、振动周期T信号,再结合机车车辆生产公司可获得的各型号部件历史故障数据形成最终的振动幅度EA,振动周期ET
数据,将它们整合得到集合矩阵X。
[0071] 步骤2:振动信号数据浅层预处理
[0072] 步骤1采集到的原始列车振动信号集合矩阵X中存在不利于故障诊断的消极信息,为了保证后续事件检测、特征提取、DNA序列模板库以及深度学习建模模块的高效准确,这
些原始振动信号需要通过数据预处理环节来提高利用率。离群值校正是一种有效的数据预
处理方法。收集到的原始列车各部件振动信号可以被按顺序的进行过滤,经过过滤处理,可
以筛掉由于仪器故障或者数据传输过程产生的异常值,同时还可以修补某些原因造成的数
据缺失。处理后的数据更易被转化为DNA序列,且保证途中不因为异常值而产生DNA序列的
错误转换。为了保证模型的公平性,在这里仅有训练集部分的振动信号数据被进行离群值
校正。
[0073] A1.HI离群值校正模型参数初始化。定义滑动窗口w的长度w=2p+1,其中p是相邻点的数量。定义区分异常值和正常点的评估参数α。滑动窗口的长度需要通过后续的验证集
实验来根据具体数据确定,同时,评估参数α则保持原始默认值。
[0074] A2.经过步骤1增量式网络爬虫获取的振动幅度EA,振动周期ET数据的整合矩阵X*=xi(i=1,2,...,n)输入到HI离群值校正模型中。
[0075] A3.在滑动窗口中,计算本地数据(即矩阵X*的数据)的中值:
[0076] mi=median[xi‑p,xi‑(p‑1),...,xi,...,xi+(p‑1),xi+p]    (1)
[0077] 式中,xi是输入的振动数据矩阵X*的第ith个样本,p是样本相邻点的数量,即样本点距离小于阈值Ξ的点对的个数。
[0078] A4.计算滑动窗口中本地数据的中值绝对偏差:
[0079] MADi=median[|xi‑p‑mi|,...,|xi‑mi|,...,|xi+(p‑1)‑mi|,|xi+p‑mi|]    (2)
[0080] MADi表示滑动窗口中第i个本地数据样本的中值绝对偏差。
[0081] A5.定义振动样本分数Z':
[0082]
[0083] 如果振动样本的分数计算结果Z'超过设定的经验阈值TR,则用本地数据中值mi来代替当前振动样本,MADi表示滑动窗口中第i个本地数据样本的中值绝对偏差。
[0084] A6.给定本地数据的左、右边界条件,如式(4)、(5)所示:
[0085]
[0086]
[0087] 若本地数据处于左、右边界条件外,则判定该值为离群值,并剔除该值,遍历完全部数据以剔除其中所有离群值。至此,得到离群值校正后的新的振动样本数据X作为当前输
出,为后续的事件检测和高准确度的DNA序列转化做好准备。
[0088] 步骤3:无人驾驶车辆故障检测
[0089] 原始振动样本数据振动幅度EA,振动周期ET的不同表达往往对应的不同的实际故障类型,可设定一个统一的发生阈值或是波动动态来判定故障是否发生。在本发明中,故障
的判定条件为:根据历史经验设定故障发生的振动幅度EA信号阈值(振动幅值最小阈值判
别大小为15mm,两次连续达到振幅阈值的振动时间间隔(时序差分的最小数值)为0.2s,则
判定有故障发生。)。根据历史经验设定故障发生的振动信号阈值,具体表现为振动幅度EA,
振动周期ET。开启基于时序差分和阈值判别的故障检测模块,从而判定是否产生故障,完成
有无故障发生的二分类过程。
[0090] 在本发明中,时序差分模块指的是车辆发生故障时两次较大幅度振动的时间序列样本点的时间差,阈值判别模块是指车辆发生故障时振动信号达到的某个幅值大小。在这
一环节,设定初始时序差分的的最小数值为Tc,设定最小阈值判别的数值大小为Ay,当振动
起始和终止数据点的时间差大于阈值Tc且振动信号幅值大于最小阈值Ay,则判定当前有故
障发生,记录此时的数据位置和波形幅值变化情况,将经过故障检测模块判定为发生故障
的信号数据整合记为新矩阵数据E。
[0091] 本实施例中,振动幅值最小阈值判别大小为15mm,两次连续达到振幅阈值的振动时间间隔(时序差分的最小数值)为0.2s,则判定有故障发生。
[0092] 最后为了完成有效的闭环检测诊断,对检测出故障的数据样本的起始和终止位置标记为1,而其他没有达到判定标准的数据点全部标记为0。当遇到新的故障类型时,其波动
状态不一定满足判定条件,则将其输入到步骤8的自学习模块中进行基因库的更新,继而返
回来更新步骤3的判定条件。而满足条件的波动状态则输入到后续中进行特征提取、故障识
别。
[0093] 步骤4:基因序列信号转化
[0094] 基因数据在数学表现上是高维或超高维的矩阵,为了有效利用这些数据,需要对其进行降维处理。其中,非负矩阵分解(NMF)降维就是一个使用非常广泛的方法(参见Cai 
D,He X,Han J,et al.Graph regularized nonnegative matrix factorization for 
data representation[J].IEEE transactions on pattern analysis and machine 
intelligence,2010,33(8):1548‑1560.)。它相比传统的降维方法具有计算量小、可解释性
强的特点。能有效的降低数据的维度且保持关键信息不丢失。
[0095] 给定一个步骤3事件检测后得到的故障数据矩阵E=[e1,e2,e3,...,en]∈Rg×h,其中矩阵的每一列代表一个振动数据样本,g×h为矩阵大小。NMF算法的目的是将故障数据矩
g×r
阵E分解为两个非负数矩阵J,K的乘积。具体的,J=[j1,j2,j3,...,jr]∈R ,K=[k1,k2,
r×k
k3,...,kr]∈R 。J代表一个基空间,它的每一列可以当成时基向量,而K则可以看作J在基
空间映射的组合系数。一般来说他们满足以下条件:
[0096] r<<min(g,h)           (6)
[0097] E≈JK                  (7)
[0098] 在NMF算法中,一组高维数据E通过基空间J映射到K,本质上可以看作是一种矩阵投影。在本发明中对应的则是数据类型维度的转化,振动信号被映射成一组低维度的基因
表达,这些基因代表发生故障部件的表达情况。
[0099] 在步骤4中,故障信号数据矩阵E被排列展开,将矩阵E排列展开,进行非负矩阵分解(NMF)降维处理,处理后数据分解为两个非负数矩阵J,K的乘积,其中,数据E通过基空间J
映射到K。根据先验知识和需要保留信息的程度来定义降维维度U,高维数据E经过降维后可
被A,T,C,G四种碱基元素表达的U维特征向量所映射,也就是后续步骤需要的经过转化的基
因序列信号。为了方便表示,分别用I1,I2,I3,I4代替四种碱基表达“A,T,C,G”。经过预处理
后的振动信号被转化为可编码的基因序列。
[0100] 步骤5:可编码的基因序列特征提取
[0101] 将经过步骤2、3、4振动信号数据浅层预处理、基于时序差分和阈值判别的故障检测、基因序列转化的这些U维特征向量信号I输入到故障特征提取模块。该环节通过计算转
化后基因序列中碱基的含量、位置以及转移概率几个特征来进行独立的无人驾驶车辆部件
故障的DNA序列特征提取。
[0102] B1.首先定义一个整合过I1,I2,I3,I4等碱基表达的编码DNA序列S=S1,S2,S3,...,SN,其长度为N,如果该DNA序列中第k(1≤k≤N)个数据点位置的碱基为Bi(1≤i≤U),则记为
Sk=Bi;对于连续两个点碱基的情况,如果第l(1≤l≤N‑1)个数据点位置的碱基为Bi,第l+1
个数据点位置的碱基为Bj,记为SlSl+1=BiBj(1≤i,j≤U)。
[0103] B2.定义碱基转移概率Wij。首先将ni定为单个碱基点Bi在DNA序列S中出现的次数,此外,对于连续两个点碱基的情况,定义nij为碱基对BiBj在DNA序列S中出现的次数。具体计
算式为:
[0104]
[0105] 对于特殊情况,如果碱基Bi没有出现在DNA序列S当中,或者出现但是只出现在最后一次,那么此时可以视Wij的分子分母为0,即Wij=0。
[0106] 补充说明, 这是因为:
[0107]
[0108]
[0109] 所以可将Wij视为碱基Bi转移到碱基Bj的概率,即碱基转移概率向量。
[0110] B3.定义碱基含量Ci。DNA序列S中碱基Bi(1≤i≤U)的含量可以表示如下:
[0111]
[0112] 对于U维碱基来说,其含量向量为C1,C2,C3,...,CU。
[0113] B4.定义碱基位置比Di。将DNA序列S中碱基Bi(1≤i≤U)出现的位置标记为Si,叠加表达式如下:
[0114]
[0115] 转化得到碱基位置比Di,数学表达式如下所示:
[0116]
[0117] 对于U维碱基来说,其位置比向量为D1,D2,D3,...,DU。
[0118] 可编码基因序列经特征提取后,可得到能利用的U维向量。将上述步骤计算得到的基转移概率向量、碱基含量向量、碱基位置比向量进行整合可得到Vs=(W11,W12,...,WUU,
C1,...,CU,D1,...,DU)。这些特征向量被定义为预判定的候选车辆部件故障基因。
[0119] 步骤6:建立故障模块的DNA序列模板库
[0120] 步骤5提取出的候选故障基因特征向量Vs在此环节被输入到(t分布随机邻域嵌入)t‑SNE聚类模型当中,经过精细的聚类划分来建立故障模块的DNA序列模板库。模板库对
应到高铁列车的7大板块,分别是车体(CT)库、转向架(ZXJ)库、牵引传动控制系统(QY)库、
制动系统(ZD)库、车端连接装置(LJ)库、受流装置(SL)库、车辆内部设备和驾驶室设备(SB)
库。其中括号中的简写代表获取基因序列表达的标签。值得一提的是,如过直接用非负矩阵
分解(NMF)将振动信号降到3维空间则会丢失大量关键信息,所以在本发明中先用NMF降到
一个中小型的多维空间U,并用多维碱基特征来表达,最后再利用tSNE聚类方法得到最后的
聚类结果,这样可以达到柔和聚类的效果。每个聚类结果对应一个部件的故障,聚类出的结
果被输送到步骤7的分类器模型当中进行训练,然后再利用DNA序列模板进行二次的详细划
分。t‑SNE是一种可以探索高维数据的非线性降维的算法,在本发明中车辆故障模块t‑SNE
的DNA序列聚类方法如下:
[0121] C1.首先通过随机邻接嵌入(SNE)转化数据,数据间的高维欧几里得距离被转化后表示为相似的条件概率,具体的,数据点Vi、Vj的条件概率pj|i的数学计算给出如下:
[0122]
[0123] 式中,Vi,Vj是DNA序列S中的数据点,σi是以数据点Vi,Vj为中心的高斯方差。
[0124] C2.高维数据点到低维数据点的转化。同样的,对于低维数据点vi,vj而言,其条件概率qj|i的计算方法也是类似的:
[0125]
[0126] 在这一过程当中,随机邻域嵌入算法尝试将条件概率的差异最小化。对于t‑SNE来说,设v服从t分布,则可以得到:
[0127]
[0128] 其中,z为预判定的候选车辆部件故障基因的序号。
[0129] C3.测量高低维度条件概率差异之和的最小值。在这一环节中,SNE使用梯度下降法来最小化Kullback‑Leibler差异距离,同时SNE的代价函数将注意力投放到了映射数据
的局部结构,更进一步的,运用t‑SNE的重尾分布来减轻优化该函数的拥挤问题。为了使P和
Q的分布尽可能接近,则需要使KL的散度尽可能的小,并计算pij:
[0130]
[0131]
[0132] KL散度的值越小,两个分布之间的距离越近。当散度KL=0,时,则说明P和Q的分布是相同的。如果降维后特征空间中的点的概率分布近似于原始特征空间中的点的概率分
布,则可以得到定义良好的聚类,此处通过梯度下降法最小化代价函数:
[0133]
[0134] C4.迭代寻优,对变量目标函数L进行寻优,不断更新低维数据点,直至得到对应所y
求的最优解V,该最优解为可以表达为CT、ZXJ、QY、ZD、LJ、SL、SB的几簇。
[0135]
[0136] 其中,y为迭代过程中迭代次数,ymax为最大迭代总次数,η为学习率,α(y)为学习动量,低维数据的集合V=(v1,v2,v3,...,vn)。
[0137] 此环节需要大量历史故障数据作为支撑。模板库对应故障分类,一种基因特征表y
现对应到一种部件的故障,最后系统发出诊断预警报告。最终得到的最优解V聚类结果可
以表达为CT、ZXJ、QY、ZD、LJ、SL、SB的几簇,可视化表达为7个高铁机车大件的DNA序列的聚
类模板。模板的大类标签的表达如下所示:
[0138] template=[CT,ZXJ,QY,ZD,LJ,SL,SB]    (21)
[0139] CT:车体;ZXJ:转向架;QY:牵引传动控制系统;ZD:制动系统;LJ:车端连接装置;SL:受流装置;SB:车辆内部设备和驾驶室设备。至此,故障模块的DNA序列模板库搭建完成。
[0140] 具体地,模板库的搭建可以总结为:
[0141] 步骤1:将经过非负矩阵分解降维得到的预判定的候选车辆部件故障基因Vs作为随机邻接嵌入(SNE)算法的输入来分别得到高维数据点Vi、Vj和低维数据点vi,vj的条件概
率pj|i和qj|i,并进一步将条件概率最小化得到最小化的高维数据的条件概率 和最小化
的低维数据的条件概率
[0142] 步骤2:依据条件概率最小化结果计算出高低维条件概率差异的最小值,并计算通过梯度下降法最小化代价函数L,其中n为数据样本的数量,最后根据上
y y
述结果来计算得到最优解V ,也就是说将最优解V作为tSNE聚类算法的聚类结果输出。这些
输出的聚类信息熵簇对应7个轨道无人驾驶车辆大件的DNA序列的聚类模板。
[0143] 步骤7:车辆故障识别的人工智能建模
[0144] 将转化后的可编码预判定的候选车辆部件故障基因Vs归一化后输入模型以训练车辆故障诊断识别分类器,即做故障的多分类。具体的建模过程如下:
[0145] D1.数据集划分。按照训练集、测试集分别70%,30%的比例将输入模型的数据Vs进行划分,此外,分类模型的评价指标设定为分类准确性(Accuracy),数值越接近1代表模
型的性能越好。
[0146] D2.建立与DNA序列特征模板库映射关系的双向长短时记忆网络(BiLSTM)深度学习模型,并进行网络模型参数优化。双向长短时记忆网络模型中每层神经元个数的选择不
同会对模型性能产生很大影响。为了进一步提升BiLSTM模型的分类精度,二进制灰狼优化
算法(BGWO)被用于进行BiLSTM模型每个隐含层中神经元个数的参数寻优。优化过程与
BiLSTM建模过程同时进行。具体实施细节如下:
[0147] 1)选定优化算法并进行参数初始化:选择二进制灰狼优化算法进行BiLSTM模型的参数优化。二进制灰狼优化算法的迭代次数设置为500,分类精度为 当达到预设迭代次
数或满足预期精度时迭代停止。
[0148] 2)设定优化变量:将双向长短时记忆网络深度学习模型隐含层的每层神经元个数Θ设置为需要优化的变量。在本环节中,BiLSTM的循环结构被设定为6层,上一隐含层的输
出作为下一隐含层的输入,继而学习可编码数据的深度特征表示。
[0149] 3)模型训练:将所述训练集、双向长短时记忆网络深度学习模型隐含层初始神经元个数Θ0作为二进制灰狼优化算法的输入,以具有隐含层神经元个数Θκ的双向长短时记
忆网络深度学习模型作为输出,训练双向长短时记忆网络深度学习模型。
[0150] 4)执行模型的参数单目标优化为了进一步提升模型性能,将二进制灰狼优化算法(参见Mirjalili S,Mirjalili S M,Lewis A.Grey wolf optimizer[J].Advances in 
engineering software,2014,69:46‑61.)用来优化模型隐含层神经元个数以提高分类精
度。将所述测试集、隐含层的每层神经元个数Θκ和分类准确性(Accuracy)作为二进制灰狼
优化算法目标优化函数的输入,计算目标优化函数值,另外,每一次迭代过程中,具有隐含
层神经元个数Θκ的双向长短时记忆网络深度学习模型(即分类器)会输出一次分类数值;
其中κ表示当前迭代次数,0≤κ≤500。
[0151] 为了兼顾模型的分类精度和简化性,设置优化目标函数为最小化神经元个数和分类准确性(Accuracy)的加权结合,优化目标函数的表达式如下:
[0152]
[0153] 式中εf为双向长短时记忆网络中第f层的神经元数量,αf为结合权重。
[0154] 对于二分类问题,其样本分类有四种结果,真阳性(TP)、假阳性(FP)、真阴性(TN)、假阴性(FN),具体的混淆矩阵解释如下:
[0155]
[0156]
[0157] Accuracy的计算方法可以被解释如下:对于每一个样本点,当分类器的输出分类数值和测试集数值相同且为正时,记TP+1;当分类器的输出分类数值和测试集数值相反且
分类器的输出分类数值为正时,记FP+1;当分类器的输出分类数值和测试集数值相反且分
类器的输出分类数值为负时,记FN+1;当分类器的输出分类数值和测试集数值相同且为负
时,记TN+1;此处的分类器不是最终的分类模型,该分类器仅输出训练过程中的分类结果。
[0158] 5)根据所述计算的目标优化函数值来更新双向长短时记忆网络深度学习模型隐含层的每层神经元个数Θκ的搜索路径,使得下一次目标函数值小于此次目标函数值,得到
新的隐含层的每层神经元个数Θκ+1。
[0159] 6)搜索迭代次数It=It+1,将新的隐含层的每层神经元个数Θκ+1和分类准确性(Accuracy)作为二进制灰狼优化算法目标函数的输入,返回步骤4),直至二进制灰狼优化
算法目标函数值达到预期或完成所设定的迭代次数,完成双向长短时记忆网络深度学习模
型的训练,并获取最优参数Θoptimal,该最优参数Θoptimal对应的双向长短时记忆网络深度学
习模型即分类模型。
[0160] 其中,当真实标签和预测标签吻合时,就说明模型分类正确,准确的完成了设备的故障诊断。分类结果可以对应步骤6模板库中的template=[CT,ZXJ,QY,ZD,LJ,SL,SB]七类
故障。判断所述分类模型输出的分类结果对应故障类别是否与模板库中的故障类别匹配,
若所述故障类别从属于模板库中某一故障类别中的子故障,则将所述故障类别划入该故障
的模板库中,记为旧类故障 若所述故障类别不属于模板库中的任何一类,则进行步骤
8的有监督的DNA基因模板库自学习在线更新。DNA序列模板库为模型的训练指引了方向。
[0161] 步骤8:有监督的DNA基因模板库自学习在线更新
[0162] 对于未达到初始事件检测模块阈值判定的新故障,该部分经过增量式网络爬虫得到的振动信号被输入到步骤8中进行有监督的DNA基因模板库自学习在线更新。这一步需要
人工监督凭借以往经验来判断故障类型且测定该故障发生时传感器可接受到的振动信号
(振动幅值A,振动周期T)。继而进行初始时序差分的最小数值Tc,最小阈值判别的数值Ay的
刷新。若通过了人工检验,则通过新的一次训练来补充完善步骤6的故障模块的DNA序列模
板库,并将该类故障标记为新类故障
[0163] 例如,原本一个时间差0.2s内振动幅值超过最小判别阈值15mm(初始阈值)的情况被作为了判定条件之一,如果确实有一个未知的故障发生,对应过来的电压阈值仅为
14.9mm,首先进行人工监督检验,如果通过检验,那么就需要调整刷新之前设定的初始值
15mm,将其定义为新的14.9mm,此后振动幅值的阈值判定条件更新为14.9m;如果未通过检
验,则直接放弃该结果。
[0164] 如果遇到阈值太低甚至和噪声波动幅值相近的小幅值故障则不计入刷新范围,对应这种小幅值的故障需建立新的更精细的模型方法来检验,甚至可以考虑不诊断。
[0165] 步骤9:并行式大数据平台嵌入
[0166] 综合本发明提出方法的时耗性以及实际工程中铁路设备维修的实时性需要,可将模块嵌入并行式大数据平台以加快模型训练和自学习更新速度,从而更大程度上的满足应
用需求。可用的大数据并行计算框架平台包括MapReduce、Apache Spark等(参见Zaharia 
M,Xin R S,Wendell P,et al.Apache spark:a unified engine for big data 
processing[J].Communications of the ACM,2016,59(11):56‑65.)。这些大规模数据处
理的分析引擎和集群计算系统具有高效性、易用性、通用性和兼容性等特征,可以极大的满
足使用需求。