论文部分内容阅读
摘要:针对航空修理工厂存在海量不规整的维修信息,导致飞机故障检测和修理工作量巨大、耗时耗力的问题,采用字符串正向最大逐字匹配的分词算法、局部敏感哈希函数以及深度置信网络等技术手段,研究飞机智能故障诊断系统,以故障知识库为输入,训练模型,根据故障现象找出故障类型和位置,为装备的维修性、可靠性改进提供科学依据,提高企业修理效能。
关键词:深度学习;智能故障诊断;关键技术
在航空装备修理中,对具有明显征兆或潜在故障的预测和诊断是永恒的主题之一[1-2]。装备厂家、部队、修理企业在长期的航空装备维修过程中都总结了大量的故障描述、故障原因及处理方案等,如何很好地管理这些信息,并以丰富多元的知识表达形式对修理企业积累的故障诊断经验、技能进行提炼和刻画,并形成故障诊断预测知识库系统,从而为修理业务提供智能的决策支持,为装备的教学提供形象而系统的故障分析素材,为修理专家的维修知识提供可视化的经验提炼和预防性维修知识,甚至于为装备的维修性、可靠性改进提供科学的依据,将是一个具有较大意义的研究课题。
1 问题描述
某工厂现有的信息管理数据库系统包含海量故障信息,其中飞机故障信息模块数据已经超过3万条。但现有数据库的故障管理板块只有简单的“增、删、改、查”功能,并且信息存储形式零散、數据描述不规范,不便于管理与利用,导致飞机故障检测和修理工作量巨大、耗时耗力,已不能满足大数据时代维修人员的需求。由于前期数据库的故障信息是手工输入,存在语言词汇多样化、输入格式不规范的问题,对于同一种故障部位、故障类型在数据库中存在多种描述,并且故障描述的字段无统一格式,故障类型隐含在故障描述中,并未作为属性单独划分。部分故障信息的例子(匿去了发现时间、处理方案等字段信息)见表1。如故障Ⅲ***1、***3、***5所示,“裂”“裂纹”“裂开”实际上都属于同一种故障现象的不同描述;如故障ID***2、***4所示,“第1墙”“一墙”“第一墙”也都指机翼上的同一构件。
智能故障诊断系统,即从非结构化的故障描述中提取故障类型、识别同一类或物件的不同描述,清理出一个纯净的故障知识库。再基于深度学习的方法,设计一个故障诊断系统,以故障知识库为输入,训练一个模型,对一定的故障现象找出故障类型和位置,提醒维修人员做好技术和相关备件、工具、耗材等器械准备。
2 关键技术
2.1 故障信息的预处理
目前封装好的分词器[3-4]大部分是简单地使用单字法和二分法对汉语分词,导致切分出来的词失去了原有的意义或者切分出很多无用词条,产生冗余,降低效率。在实际的匹配过程中,只需保证故障描述中所有的故障类型、故障部位名都能被准确提取出来,而其他具体的数值等是与类名无关的词(停用词)[5]。无论分词结果如何都不影响最终的匹配,只需要一种针对飞机维修的轻量级分词技术。因此,本系统使用基于字符串正向最大逐字匹配的分词算法。
该分词算法的主要思想是基于分词词典,从左往右扫描材料文本字符串,将文本中的字符串逐一与词典中的词条进行匹配。开始时选取文本字符串中第一个字作为匹配字段,与分词词典中的词条匹配,如果该词存在于词典中,则将其进行标记;如果该词不存在于词典中,则将该字作为前缀,与其下一个字组成新的字段与词典中的词条进行匹配,依次逐字增加直至匹配结束,每轮匹配结束后,从匹配结果中取最大的匹配成功的匹配字段,从词典中将匹配到的最长匹配字符串切分出来,然后继续扫描,重复上述操作,如表2所示。
这种分词算法的主要优点是可以根据需求对字典进行修改,加入更多与飞机有关的生僻术语,以达到更好的分词效果。分词完成后,删除与匹配无关的停用词元,以提高匹配效率。现存停用词表很多,但都不是面向飞机维修,因此系统对基于改良的停用词表进行删除操作,达到了更好地精度。
2.2 故障类型与故障部位的匹配
由于飞机的故障部件、故障类型的种类数目巨大,每种类别又有多个同义词,如果线性地匹配词元和词库的近义词,即对每一个词元都遍历一次词库来查找同义词,则所需的时间代价非常大,计算机难以承受这样的负荷。并且,故障描述是手工输入,描述词汇种类繁多,一个大类不一定完全包含其所有在故障描述中出现的同义词。如图1所示,对于故障部位[第1墙]:(第1墙)(1墙)(第一墙),如果故障描述中出现了一个新词“一墙”也指同一部位,那么使用精确匹配将无法得到匹配结果,这条数据的属性值就会异常缺失甚至整条数据丢失,大量的数据丢失会导致系统性能降低;但使用模糊匹配则能将“一墙”与(第一墙)匹配上,最终都能通过指针指向大类[第1墙],成功提取出正确的故障类型。因此,系统设计了一个检索数据结构和快速近似匹配的算法——局部敏感哈希(LSH,LocalitySensitive Hashing)函数。
局部敏感哈希[6]主要运用于高维海量数据的快速近似查找,即比较数据点之间的距离或者是相似度。其主要思想是,如果高维空间的两点距离很近,那么设计一种哈希函数对这两点进行哈希值计算,使得它们的哈希值有很大的概率是一样的;如果两点之间的距离较远,那么它们哈希值相同的概率会很小。当同义词词库中不存在某条故障描述的故障类型或故障部位名时,也能通过哈希函数的计算,将它们以高概率映射到与它们意思相近的词所在的哈希桶中。不同于树形结构的搜索方法可以得到精确的结果,LSH算法所得到的是一个近似的结果,在同义词匹配中,并不需要非常高的精确度,即使得到近似解,其近似程度几乎和精准解一致[7]。同时,哈希表是各种存取、查找结构中速度最快的一种,LSH利用了哈希表内的冲突加快了匹配速度,并且可以通过对桶内的属性建立索引进一步加快匹配速度,即使在数据量很大的情况下,LSH也能保持理想的匹配时间。因此,LSH匹配技术是目前最适合该项目的技术。
LSH是向量空间模型[8]下的算法,系统使用信息摘要算法[9](MD5,Message-digest Algorithm 5),先将需要匹配的词元和类名、同义词进行编码,转换为可以处理的向量,将每个词语编码成相同长度的独一无二的指纹(fingerprint),这样除了可以得到唯一的编码,还同时对数据进行了加密处理,提高了保密性要求。 编码之后,将同义词库中的每个词通过哈希函数计算到不同的哈希桶中,每个桶都附加一个指针指向该词对应的大类,如图2所示,完成哈希表的初始化。再将一条故障描述的所有指纹使用同样的哈希函数映射到该哈希表中,最后指纹指向的大类就是这条故障描述的故障类型和故障部位,结合原始故障记录的部分属性,按照对应属性存入新的故障信息表中,这样便完成了历史数据的导入。
2.3 基于深度学习的智能故障诊断系统
当一架飞机进入维修厂进行检修时,需要经过一系列复杂的过程(如除漆、无损检测、整体排查等)以及专业的判断,才能诊断出故障及故障区域,这十分消耗时间与人力,成为维修工厂无法提高生产效率的一大障碍。基于深度学习[10-12]的智能故障诊断与定位系统,能大大提高工厂的效率与故障排查的准确性。
利用深度置信网络进行粗粒度的故障部位预测的模型训练过程如图3所示,该过程大体可以分为两个部分。
1)逐层对RBM进行无监督的训练。首先将飞机自身的属性如飞机编号、飞机类型、作战区域、飞行里程和飞行高度等作为输入参数输入到可视层,训练第一个RBM的参数矩阵WO。
2)运用反向传播算法微调网络,使网络结构达到最優,优化深度置信网络的故障识别能力。在最高层,DBN可以利用带标签数据通过BP算法对判别性能做调整。DBN的BP算法只需要对权值参数空间进行一个局部的搜索,这比前向神经网络训练更快,而且收敛的时间也更少,详细的训练过程如图4所示。
在训练过程中,首先将可视向量值映射至隐层单元;然后由隐层单元重建可视单元;这些新可视单元再次映射至隐层单元,因此获取了新的隐层单元。以上后退和前进的步骤就是Gibbs采样[13],而隐层激活单元和可视层输入之间的相关性差别就作为权值更新的主要依据。具体步骤如下。
步骤1:将数据向量x和第一层隐藏层hl作为一个RBM,训练出这个RBM的参数(连接x和hl的权重,x和hl各个节点的偏置等),使其达到稳定状态。
步骤2:固定第1个RBM的参数,将hl视作可见向量,将h2视作隐藏向量,训练第二个RBM,得到其参数,直至稳定状态。
步骤3:重复执行步骤2,直至最后一个RBM。
步骤4:在DBN的最后一层设置BP网络,接收RBM的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器。
当该故障部位的预测模型训练成功后,可利用飞机的一系列自身属性预测故障部位。在输入飞机属性参数后,模型可以预测该飞机可能发生故障的部位,并将结果及时报告给机务人员,机务人员可以重点排查这些预测的部位,提高排故检故的效率。
对于细粒度故障类型的诊断,其方式与粗粒度故障部位的预测基本相同,不同的是输入的参数不再是飞机自身的属性而是故障的表象,如裂纹、老化、磨损等,通过相同的方式重新训练深度置信网络,得到故障类型诊断的模型,从而实现智能的故障诊断与定位。
3 总结
基于深度学习的智能故障诊断系统仍有提高的空间,如BP神经网络训练需要一个有标签的样本集、合适的隐藏层数避免学习过程较慢、适当的参数不致于学习收敛于局部最优解等,但其在一定程度上解决了航空装备修理中故障诊断分析困难、诊断经验无法管理、诊断知识共享不易的问题,在航空修理厂的故障识别、定位、诊断,人员的培训、航空修理业务流程重组和优化中都具有较大的推广价值。
参考文献
[l]唐民锋.美国军用航空装备维修保障体制[J].航空维修与工程,2016,298(4):20-23.
[2]马乃苍,贾向军,祝华远.航空装备维修思想的发展探讨[J].航空科学技术,2003(6):27-29.
[3]刘岩.基于MMSEG算法的中文分词器的设计与实现[D].湖南大学,2016.
[4]章登义,胡思,徐爱萍.一种基于双向LSTM的联合学习的中文分词方法[J/OL].计算机应用研究,2019(10):1-7[201808-03].
[5]官琴,邓三鸿,王昊.中文文本聚类常用停用词表对比研究[J].数据分析与知识发现,2017(3):72-80.
[6]吴瑾,彭延国,崔江涛.基于局部敏感哈希的安全相似性查询方案[J].密码学报,2018(2):197-205.
[7] HAR-PELED S,INDYKP,MOTWANI R.Approximate nearestneighbor: Towards removing the curse ofdimensionality[J].Theory of Computmg,2012, 8:321-350.[DOI: 10.4086/toc.2012.v008a014]。
[8]唐果.基于语义领域向量空间模型的文本相似度计算[D].云南大学,2013.
[9]林平.密码学中信息摘要算法MD5的改进[J].福建工程学院学报,2011(6):602-603.
[10]段艳杰,吕宜生,张杰,赵学亮,王飞跃.深度学习在控制领域的研究现状与展望[J].自动化学报,2016(5):643-654.
[11]王俊,郑彤,雷鹏,魏少明.深度学习在雷达中的研究综述[J/OL].雷达学报,2018 (4):395-411.
[12]宋征宇.运载火箭远程故障诊断技术综述[J].宇航学报,2016,37(2):135-144.
[13] Denis Marcotte,Denis Allard.Gibbs sampling on large lattice withGMRF[J].Computers and Geosclences,2018.
关键词:深度学习;智能故障诊断;关键技术
在航空装备修理中,对具有明显征兆或潜在故障的预测和诊断是永恒的主题之一[1-2]。装备厂家、部队、修理企业在长期的航空装备维修过程中都总结了大量的故障描述、故障原因及处理方案等,如何很好地管理这些信息,并以丰富多元的知识表达形式对修理企业积累的故障诊断经验、技能进行提炼和刻画,并形成故障诊断预测知识库系统,从而为修理业务提供智能的决策支持,为装备的教学提供形象而系统的故障分析素材,为修理专家的维修知识提供可视化的经验提炼和预防性维修知识,甚至于为装备的维修性、可靠性改进提供科学的依据,将是一个具有较大意义的研究课题。
1 问题描述
某工厂现有的信息管理数据库系统包含海量故障信息,其中飞机故障信息模块数据已经超过3万条。但现有数据库的故障管理板块只有简单的“增、删、改、查”功能,并且信息存储形式零散、數据描述不规范,不便于管理与利用,导致飞机故障检测和修理工作量巨大、耗时耗力,已不能满足大数据时代维修人员的需求。由于前期数据库的故障信息是手工输入,存在语言词汇多样化、输入格式不规范的问题,对于同一种故障部位、故障类型在数据库中存在多种描述,并且故障描述的字段无统一格式,故障类型隐含在故障描述中,并未作为属性单独划分。部分故障信息的例子(匿去了发现时间、处理方案等字段信息)见表1。如故障Ⅲ***1、***3、***5所示,“裂”“裂纹”“裂开”实际上都属于同一种故障现象的不同描述;如故障ID***2、***4所示,“第1墙”“一墙”“第一墙”也都指机翼上的同一构件。
智能故障诊断系统,即从非结构化的故障描述中提取故障类型、识别同一类或物件的不同描述,清理出一个纯净的故障知识库。再基于深度学习的方法,设计一个故障诊断系统,以故障知识库为输入,训练一个模型,对一定的故障现象找出故障类型和位置,提醒维修人员做好技术和相关备件、工具、耗材等器械准备。
2 关键技术
2.1 故障信息的预处理
目前封装好的分词器[3-4]大部分是简单地使用单字法和二分法对汉语分词,导致切分出来的词失去了原有的意义或者切分出很多无用词条,产生冗余,降低效率。在实际的匹配过程中,只需保证故障描述中所有的故障类型、故障部位名都能被准确提取出来,而其他具体的数值等是与类名无关的词(停用词)[5]。无论分词结果如何都不影响最终的匹配,只需要一种针对飞机维修的轻量级分词技术。因此,本系统使用基于字符串正向最大逐字匹配的分词算法。
该分词算法的主要思想是基于分词词典,从左往右扫描材料文本字符串,将文本中的字符串逐一与词典中的词条进行匹配。开始时选取文本字符串中第一个字作为匹配字段,与分词词典中的词条匹配,如果该词存在于词典中,则将其进行标记;如果该词不存在于词典中,则将该字作为前缀,与其下一个字组成新的字段与词典中的词条进行匹配,依次逐字增加直至匹配结束,每轮匹配结束后,从匹配结果中取最大的匹配成功的匹配字段,从词典中将匹配到的最长匹配字符串切分出来,然后继续扫描,重复上述操作,如表2所示。
这种分词算法的主要优点是可以根据需求对字典进行修改,加入更多与飞机有关的生僻术语,以达到更好的分词效果。分词完成后,删除与匹配无关的停用词元,以提高匹配效率。现存停用词表很多,但都不是面向飞机维修,因此系统对基于改良的停用词表进行删除操作,达到了更好地精度。
2.2 故障类型与故障部位的匹配
由于飞机的故障部件、故障类型的种类数目巨大,每种类别又有多个同义词,如果线性地匹配词元和词库的近义词,即对每一个词元都遍历一次词库来查找同义词,则所需的时间代价非常大,计算机难以承受这样的负荷。并且,故障描述是手工输入,描述词汇种类繁多,一个大类不一定完全包含其所有在故障描述中出现的同义词。如图1所示,对于故障部位[第1墙]:(第1墙)(1墙)(第一墙),如果故障描述中出现了一个新词“一墙”也指同一部位,那么使用精确匹配将无法得到匹配结果,这条数据的属性值就会异常缺失甚至整条数据丢失,大量的数据丢失会导致系统性能降低;但使用模糊匹配则能将“一墙”与(第一墙)匹配上,最终都能通过指针指向大类[第1墙],成功提取出正确的故障类型。因此,系统设计了一个检索数据结构和快速近似匹配的算法——局部敏感哈希(LSH,LocalitySensitive Hashing)函数。
局部敏感哈希[6]主要运用于高维海量数据的快速近似查找,即比较数据点之间的距离或者是相似度。其主要思想是,如果高维空间的两点距离很近,那么设计一种哈希函数对这两点进行哈希值计算,使得它们的哈希值有很大的概率是一样的;如果两点之间的距离较远,那么它们哈希值相同的概率会很小。当同义词词库中不存在某条故障描述的故障类型或故障部位名时,也能通过哈希函数的计算,将它们以高概率映射到与它们意思相近的词所在的哈希桶中。不同于树形结构的搜索方法可以得到精确的结果,LSH算法所得到的是一个近似的结果,在同义词匹配中,并不需要非常高的精确度,即使得到近似解,其近似程度几乎和精准解一致[7]。同时,哈希表是各种存取、查找结构中速度最快的一种,LSH利用了哈希表内的冲突加快了匹配速度,并且可以通过对桶内的属性建立索引进一步加快匹配速度,即使在数据量很大的情况下,LSH也能保持理想的匹配时间。因此,LSH匹配技术是目前最适合该项目的技术。
LSH是向量空间模型[8]下的算法,系统使用信息摘要算法[9](MD5,Message-digest Algorithm 5),先将需要匹配的词元和类名、同义词进行编码,转换为可以处理的向量,将每个词语编码成相同长度的独一无二的指纹(fingerprint),这样除了可以得到唯一的编码,还同时对数据进行了加密处理,提高了保密性要求。 编码之后,将同义词库中的每个词通过哈希函数计算到不同的哈希桶中,每个桶都附加一个指针指向该词对应的大类,如图2所示,完成哈希表的初始化。再将一条故障描述的所有指纹使用同样的哈希函数映射到该哈希表中,最后指纹指向的大类就是这条故障描述的故障类型和故障部位,结合原始故障记录的部分属性,按照对应属性存入新的故障信息表中,这样便完成了历史数据的导入。
2.3 基于深度学习的智能故障诊断系统
当一架飞机进入维修厂进行检修时,需要经过一系列复杂的过程(如除漆、无损检测、整体排查等)以及专业的判断,才能诊断出故障及故障区域,这十分消耗时间与人力,成为维修工厂无法提高生产效率的一大障碍。基于深度学习[10-12]的智能故障诊断与定位系统,能大大提高工厂的效率与故障排查的准确性。
利用深度置信网络进行粗粒度的故障部位预测的模型训练过程如图3所示,该过程大体可以分为两个部分。
1)逐层对RBM进行无监督的训练。首先将飞机自身的属性如飞机编号、飞机类型、作战区域、飞行里程和飞行高度等作为输入参数输入到可视层,训练第一个RBM的参数矩阵WO。
2)运用反向传播算法微调网络,使网络结构达到最優,优化深度置信网络的故障识别能力。在最高层,DBN可以利用带标签数据通过BP算法对判别性能做调整。DBN的BP算法只需要对权值参数空间进行一个局部的搜索,这比前向神经网络训练更快,而且收敛的时间也更少,详细的训练过程如图4所示。
在训练过程中,首先将可视向量值映射至隐层单元;然后由隐层单元重建可视单元;这些新可视单元再次映射至隐层单元,因此获取了新的隐层单元。以上后退和前进的步骤就是Gibbs采样[13],而隐层激活单元和可视层输入之间的相关性差别就作为权值更新的主要依据。具体步骤如下。
步骤1:将数据向量x和第一层隐藏层hl作为一个RBM,训练出这个RBM的参数(连接x和hl的权重,x和hl各个节点的偏置等),使其达到稳定状态。
步骤2:固定第1个RBM的参数,将hl视作可见向量,将h2视作隐藏向量,训练第二个RBM,得到其参数,直至稳定状态。
步骤3:重复执行步骤2,直至最后一个RBM。
步骤4:在DBN的最后一层设置BP网络,接收RBM的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器。
当该故障部位的预测模型训练成功后,可利用飞机的一系列自身属性预测故障部位。在输入飞机属性参数后,模型可以预测该飞机可能发生故障的部位,并将结果及时报告给机务人员,机务人员可以重点排查这些预测的部位,提高排故检故的效率。
对于细粒度故障类型的诊断,其方式与粗粒度故障部位的预测基本相同,不同的是输入的参数不再是飞机自身的属性而是故障的表象,如裂纹、老化、磨损等,通过相同的方式重新训练深度置信网络,得到故障类型诊断的模型,从而实现智能的故障诊断与定位。
3 总结
基于深度学习的智能故障诊断系统仍有提高的空间,如BP神经网络训练需要一个有标签的样本集、合适的隐藏层数避免学习过程较慢、适当的参数不致于学习收敛于局部最优解等,但其在一定程度上解决了航空装备修理中故障诊断分析困难、诊断经验无法管理、诊断知识共享不易的问题,在航空修理厂的故障识别、定位、诊断,人员的培训、航空修理业务流程重组和优化中都具有较大的推广价值。
参考文献
[l]唐民锋.美国军用航空装备维修保障体制[J].航空维修与工程,2016,298(4):20-23.
[2]马乃苍,贾向军,祝华远.航空装备维修思想的发展探讨[J].航空科学技术,2003(6):27-29.
[3]刘岩.基于MMSEG算法的中文分词器的设计与实现[D].湖南大学,2016.
[4]章登义,胡思,徐爱萍.一种基于双向LSTM的联合学习的中文分词方法[J/OL].计算机应用研究,2019(10):1-7[201808-03].
[5]官琴,邓三鸿,王昊.中文文本聚类常用停用词表对比研究[J].数据分析与知识发现,2017(3):72-80.
[6]吴瑾,彭延国,崔江涛.基于局部敏感哈希的安全相似性查询方案[J].密码学报,2018(2):197-205.
[7] HAR-PELED S,INDYKP,MOTWANI R.Approximate nearestneighbor: Towards removing the curse ofdimensionality[J].Theory of Computmg,2012, 8:321-350.[DOI: 10.4086/toc.2012.v008a014]。
[8]唐果.基于语义领域向量空间模型的文本相似度计算[D].云南大学,2013.
[9]林平.密码学中信息摘要算法MD5的改进[J].福建工程学院学报,2011(6):602-603.
[10]段艳杰,吕宜生,张杰,赵学亮,王飞跃.深度学习在控制领域的研究现状与展望[J].自动化学报,2016(5):643-654.
[11]王俊,郑彤,雷鹏,魏少明.深度学习在雷达中的研究综述[J/OL].雷达学报,2018 (4):395-411.
[12]宋征宇.运载火箭远程故障诊断技术综述[J].宇航学报,2016,37(2):135-144.
[13] Denis Marcotte,Denis Allard.Gibbs sampling on large lattice withGMRF[J].Computers and Geosclences,2018.