基于深度学习的故障诊断技术研究

基于深度学习的故障诊断技术研究

ID:34258946

大小:4.96 MB

页数:71页

时间:2019-03-04

上传者:beiai1218
基于深度学习的故障诊断技术研究_第1页
基于深度学习的故障诊断技术研究_第2页
基于深度学习的故障诊断技术研究_第3页
基于深度学习的故障诊断技术研究_第4页
基于深度学习的故障诊断技术研究_第5页
资源描述:

《基于深度学习的故障诊断技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

国内图书分类号:TH181学校代码:10213国际图书分类号:621密级:公开工程硕士学位论文基于深度学习的故障诊断技术研究硕士研究生:张士强导师:闫纪红教授申请学位:工程硕士学科:机械工程所在单位:机电工程学院答辩日期:2018年6月授予学位单位:哈尔滨工业大学 ClassifiedIndex:TH181U.D.C:621DissertationfortheMasterDegreeinEngineeringRESEARCHONFAULTDIAGNOSISTECHNOLOGYBASEDONDEEPLEARNINGCandidate:ZHANGShiqiangSupervisor:Prof.YanJihongAcademicDegreeAppliedfor:MasterofEngineeringSpeciality:MechanicalEngineeringAffiliation:SchoolofMechatronicsDateofDefence:June,2018Degree-Conferring-Institution:HarbinInstituteofTechnology 哈尔滨工业大学工程硕士专业学位论文摘要我国工业领域逐渐趋于自动化、大型化、系统化。在无人化工厂的进程下,机械设备的组成越来越复杂,功能越来越完善,设备安全问题逐渐受到人们的重视。通过对机械设备所采集的振动信号进行特征提取从而进行故障诊断是最为常用的方法。然而如今机械设备的发展逐渐趋于高精、高速、高效,伴随着数据采集与存储技术的不断发展,获取的故障信号逐渐呈现“机械大数据”的特点,传统的故障诊断方法很难对海量的故障数据进行处理,深度学习算法是人工智能的分支,因其多隐层网络与自适应的特征提取能力而能够挖掘数据更深层次的本质特征,利用原始信号的所有特征,不舍弃原始数据信息,相对于传统方法更精确地刻画故障数据从观测值到故障类别之间复杂的映射关系。因此,本文对基于深度学习的故障诊断技术进行研究。首先,从深度置信网络(DeepBeliefNet,DBN)的原理出发,利用标准手写数字集对DBN的限制波尔兹曼机(RestrictedBoltzmannMachine,RBM)部分的特征提取能力与经BP微调之后的网络的分类能力进行研究,并通过实验深入分析了隐层节点数、学习率与迭代次数对特征提取能力的影响,确定主要参数的设置方式,为基于DBN的故障诊断技术奠定基础;然后,研究了基于DBN方法进行故障诊断的应用过程,对不同长度划分样本下的数据集的计算能力进行研究,通过参数寻优的方法改善手动调节参数没有依据的问题,并对世界公认的故障诊断领域标准轴承数据集—凯斯西储大学轴承数据集进行计算,并与其他方法进行对比,获得更高的准确率。在此基础上,针对DBN网络训练时间过长的问题,搭建分布式并行计算平台,实现了Matlab计算环境的计算机集群分布式计算环境的搭建,并通过DBN参数寻优的过程进行验证,得出基于并行计算环境可以有效提高DBN网络训练的计算效率。最后,基于JavaWeb开发故障诊断系统,建立了在线故障诊断的初步模型,实现了对于实时上传的数据可根据诊断模型获取设备状态并可视化呈现,为日后的实际应用做出了初步探索。关键词:深度置信网络;故障诊断;并行计算;参数寻优I 哈尔滨工业大学工程硕士专业学位论文AbstractWiththegrowingdevelopmentofChina'smanufacturingindustry,theindustrialfieldhasgraduallybecomeautomated,largeandsystematic.Intheprocessofunmannedfactory,thecompositionofmachineryandequipmenthasbecomemoreandmorecomplicated,functionshavebecomemoreandmoreperfect,andthesafetyofequipmenthasbeenreceivingincreasingattention.Faultdiagnosisisthemostcommonlyusedmethodforfeatureextractionfromvibrationsignalscollectedbymechanicalequipment.However,today'sdevelopmentofmechanicalequipmenttendstobehigh-precision,high-speed,andhigh-efficiency,accompaniedbycontinuousdevelopmentofdataacquisitionandstoragetechnologies.Thefaultsignalgraduallyexhibitsthecharacteristicsof"mechanicalbig-data".Traditionalfaultdiagnosismethodsaredifficulttodealwithmassivefaultdata.Thedeeplearningalgorithmisabranchofartificialintelligencebecauseofitsmulti-hiddenlayernetworkandadaptivefeatureextractioncapability.Theabilitytominetheessentialcharacteristicsofthedataanduseallthecharacteristicsoftheoriginalsignalwithoutdiscardingtheoriginaldatainformationaccuratelycharacterizesthecomplicatedmappingrelationshipbetweentheobserveddataandthefaultcategorycomparedtothetraditionalmethod.Thispaperdealswiththefailurebasedondeeplearning.Diagnostictechniquesarestudied.Firstly,fromtheprincipleofDeepBeliefNets(DBN),theuseofstandardhandwrittendigitsetsforDBNrestrictionsThefeatureextractioncapabilitiesoftheRestrictedBoltzmannMachine(RBM)partandthenetworkfine-tunedbyBPTheclassificationabilityisstudied,andtheinfluenceofthenumberofhiddenlayernodes,thelearningrateandthenumberofiterationsonthefeatureextractionabilityisanalyzedthroughexperiments,andthesettingmethodofthemainparametersisdetermined,whichlaysthefoundationfortheDBN-basedfaultdiagnosistechnology.Then,theapplicationprocessoffaultdiagnosisbasedonDBNmethodwasstudied,thecomputationalabilityofdatasetsunderdifferentlengthsofdividedsampleswasstudied,theproblemofnobasisformanualadjustmentofparameterswasimprovedthroughparameteroptimizationmethods,andtheworldrecognizedfailures.Diagnosticfieldstandardbearingdatasets-CaseWesternReserveUniversitybearingdatasetsarecalculatedandcomparedwithothermethodstoobtainhigheraccuracy.II 哈尔滨工业大学工程硕士专业学位论文Basedonthis,aimingattheproblemofexcessivelylongtrainingtimeinDBNnetwork,adistributedparallelcomputingplatformissetup,andthecomputerclusterdistributedcomputingenvironmentofMatlabcomputingenvironmentissetup,andtheprocessofDBNparameteroptimizationisvalidated.TheparallelcomputingenvironmentcaneffectivelyimprovethecomputationalefficiencyofDBNnetworktraining.Finally,basedontheJavawebdevelopmentfaultdiagnosissystem,apreliminarymodelofonlinefaultdiagnosiswasestablished,andthereal-timeuploadeddatacanbeobtainedaccordingtothediagnosticmodeltoobtaintheequipmentstatusandvisuallypresented,andapreliminaryexplorationwasmadeforpracticalapplicationinthefuture.Keywords:Deepbeliefnetwork,faultdiagnosis,parallelcomputing,parameteroptimizationIII 哈尔滨工业大学工程硕士专业学位论文目录摘要...........................................................................................................................IAbstract.........................................................................................................................II第1章绪论.................................................................................................................11.1课题的来源.......................................................................................................11.2研究目的与意义...............................................................................................11.3国内外研究现状及分析...................................................................................21.3.1传统故障诊断概述及研究现状................................................................21.3.2基于深度学习的故障诊断研究现状........................................................31.3.3并行计算的研究现状................................................................................41.3.4国内外文献综述的简析............................................................................51.4主要研究内容...................................................................................................6第2章深度置信网络原理及分类能力研究.............................................................82.1深度学习简介...................................................................................................82.2深度置信网络简介...........................................................................................92.2.1受限玻尔兹曼机........................................................................................92.2.2DBN结构及训练方式..............................................................................122.3深度置信网络分类能力研究.........................................................................132.3.1DBN特征提取能力探究..........................................................................132.3.2DBN分类能力的探究..............................................................................182.4本章小结.........................................................................................................19第3章基于深度置信网络的故障诊断研究...........................................................203.1基于深度置信网络的故障诊断概述.............................................................203.1.1深度置信网络主要参数设置..................................................................203.1.2故障诊断过程..........................................................................................223.2数据集描述与数据预处理.............................................................................233.2.1数据集描述及分析..................................................................................233.2.2FFT变换..................................................................................................253.2.3归一化处理..............................................................................................263.3基于深度置信网络故障诊断方法的应用.....................................................273.3.1不同样本长度下的分类能力研究..........................................................273.3.2参数寻优—网格搜索算法......................................................................28IV 哈尔滨工业大学工程硕士专业学位论文3.3.3特征提取与分类结果分析......................................................................303.3.4与其他方法的对比..................................................................................333.4本章小结.........................................................................................................35第4章基于MatlabMPI并行计算平台的搭建......................................................364.1并行计算简介.................................................................................................364.1并行化编程实现-Parfor..................................................................................364.2并行计算环境的搭建.....................................................................................374.2.1计算机集群硬件环境配置......................................................................374.2.2分布式并行计算环境部署流程..............................................................384.2.3建立无密码互访机制..............................................................................394.2.4NFS文件共享系统安装与配置..............................................................404.2.5MatlabMPI的安装与配置.......................................................................404.2.6NFS性能调优..........................................................................................414.3并行计算应用.................................................................................................414.3.1阶乘计算测试..........................................................................................414.3.2网格搜索算法计算..................................................................................424.4本章小结.........................................................................................................43第5章故障诊断系统的设计与实现.......................................................................445.1系统设计需求分析.........................................................................................445.2系统环境总体设计.........................................................................................445.2.1系统环境与平台......................................................................................445.2.2系统开发工具及设计流程......................................................................445.3系统功能总体设计.........................................................................................485.3.1系统总体架构设计..................................................................................485.3.2系统总体功能设计..................................................................................485.3.3数据库设计..............................................................................................495.4系统功能实现.................................................................................................505.4.1用户登录模块..........................................................................................505.4.2故障实时监测模块..................................................................................515.4.3故障信息历史查询模块..........................................................................525.4.4用户管理模块..........................................................................................535.4.5模型上传模块..........................................................................................545.4.6系统帮助模块...........................................................................................54V 哈尔滨工业大学工程硕士专业学位论文5.5本章小结.........................................................................................................55结论........................................................................................................................56参考文献....................................................................................................................58哈尔滨工业大学学位论文原创性声明和使用授权说明........................................62致谢........................................................................................................................63VI 哈尔滨工业大学工程硕士专业学位论文第1章绪论1.1课题的来源本课题来源于国家自然科学基金中美(NSF-NSFC)合作项目:面向环境可持续性的数字化制造装备设计、制造与运行的基础理论研究,2015-2018。1.2研究目的与意义制造业是我国发展的基础,正是不断提升的制造技术促使我国整体实力的蓬勃发展。随着“工业互联网”、“工业4.0”的提出,我国相继提出了《中国制造2025》计划,积极探索与推进智能制造,提出“未来制造”的解决方案。工业自动化、智能化、集成化是必然的发展趋势,现代机械设备逐渐趋于高精尖的发展方向,功能和结构越来越复杂,组件之间的联系越来越密切。随着工业一体化进程的发展,各机械设备组成的完整生产系统的耦合性不断增加,发展水平不断提升的同时,也存在着安全隐患,某一重要零件的损坏,极有可能导致机械设备无法正常工作,甚至导致生产系统的崩溃,所引发的后果不堪设想。在这样的背景下,深入研究适合于机械设备发展趋势的故障诊断方法并提供可靠、精准、实时的设备状况对于现代化制造模式具有非常重要的意义[1]。机械设备高速、高精、高效的发展进程决定着其越来越复杂的机械构成[2]。随着数据获取与存储技术的快速发展,越来越多的传感器组成、连续的信号采集、高采样频率的设置都造成了采集的反映机械设备健康状况的数据具有大容量、异构型与高速率的“机械大数据”的特点,在这样的背景下,传统的故障诊断技术如专家系统[3]、模糊诊断技术[4]、神经网络技术[5]等对于有效提升机械设备健康状况的能力明显下降。为了提高机械设备的可靠性与安全性,在当前大数据技术在机械领域日益发展的背景下,不断探索新的故障诊断技术以适应发展新趋势并保证精准的故障状态识别是现在主要的发展方向。深度学习是机器学习的分支,以对数据强大的特征提取能力逐渐走进人们的视野,近年来发展迅速,在语音、图像等方面取得了很广泛的应用[6]。同时,在故障诊断领域也有越来越多的应用[7]。对于“机械大数据”的发展趋势,深度学习以其强大的提取能力和无监督训练过程体现了自身的优势。深度学习算法相较于传统的故障诊断方法更能满足复杂数据背景下多样性、非线性、高维数据的诊断分析需求。现有的利用深度学习进行故障诊断的方法虽越来越完善,但是算1 哈尔滨工业大学工程硕士专业学位论文法的参数选择仍是一个难点,对于手工选取参数并调节的情况很难考虑到各参数之间的联系,而且多次重复实验耗时耗力。因此,深入研究深度学习算法,建立相对完善的参数选择机制,不断提高算法的计算准确率,并利用相关技术将训练模型集成为一套故障诊断系统,提供高精度、实时性的设备健康状况具有非常重要的研究价值。1.3国内外研究现状及分析1.3.1传统故障诊断概述及研究现状机械设备运行过程中的振动数据等刻画着机械设备内在的情况,故障诊断技术的实质是对机械运转过程中所采集的数据进行分析,了解和掌握设备在运行过程中的状态,并对设备状态、故障类型、故障深度进行识别,针对具体情况对设备的诊断与维修提供决策[8]。故障诊断技术发展至今,越来越受到人们的重视,不断产生新的研究方法。主要分为基于知识的方法、基于解析模型的方法和基于信号处理的方法[9]。基于知识的方法将人工智能与故障诊断相结合,通过浅知识或深知识进行诊断推理,但由于需要较多的经验知识或专家经验,相对较难实现[10]。基于解析模型的方法要求建立机械设备数据与故障类型之间的数学模型,求得观测值与实际值之间的差值,并与事先建立好的决策函数进行对比,以确定设备是否发生故障,但数学建模的过程相对困难,这就对该方法造成了一定的限制[11]。基于信号处理的方法对机械设备的数据进行信号处理,获得其统计学特征,从而进行故障诊断[12],该方法克服了数学建模复杂的过程。故此,在故障领域,基于信号处理的方法以其完善的理论与便捷的操作而应用方面最为广泛。故障诊断问题从本质上可以看作一种以计算机信息处理技术为基础的判别与分类问题[13],通过传感器对机械设备采集的故障信号进行特征提取和状态识别从而实现故障诊断的目的。近年来故障诊断发展过程中,诸多学者提出了多种故障诊断方法。国外方面,Jayaswal等[14]利用快速傅里叶变换分析齿轮振动信号,构建齿轮振动信号与故障信息之间的映射关系,实现了齿轮的故障识别。但仅仅通过FFT的分析仍不足以对振动信号做出较为精准的分类。Jinane等[15]提出了一种新的特征提取方法,即全局谱分析(GlobalSpectrumAnalysis),来分析轴承振动信号,利用包络监测与FFT结合处理数据,通过PCA提取特征,最后对提取的特征进行分类,获得了较好的结果。KankarPK等[16]运用连续小波变换有效的提取轴承的故障特征信息。Christelle等通过对轴承采集的信号提取标准差、波峰2 哈尔滨工业大学工程硕士专业学位论文因子等六个主要特征,通过贝叶斯网络进行分类。LeiLu等[17]采用经验模态分解(EMD)结合遗传算法实现对振动信号进行特征提取的动态搜索策略,利用SVM进行故障分类,取得了很好的分类结果。国内方面。相关学者为了提高算法准确率与计算复杂度做出了大量研究。雷亚国等[18]为克服故障诊断对经验知识的依赖,直接从时域信号种提取联合特征,选择敏感特征并通过RBF径向基函数神经网络减小网络规模,提高了计算准确率。赵志宏[19]基于小波包变换、Hilbert-Huang变换等实现特征提取并将基于SVM、K近邻等方法进行分类,获得更高的识别率。刘蕴哲等[20]从轴承数据的时域、频域中通过基于距离的评估方法选取主要特征以降低各特征之间的耦合性,并结合概率神经网络提高了诊断精度,与传统神经网络、支持向量机相比具有较好的效果。GuangzhuChen[21]等提出了基于粗糙集理论(RS)和支持向量机(SVM)的RS-SVM多传感器数据融合故障诊断方法,有效避免了数据维数灾难,降低了SVM计算复杂度。吕中亮[22]对于非平稳的机械故障信号提出变分模态分解方法,结合优化多核支持向量机实现了对旋转机械的故障诊断方法,在参数选择上做出了进一步的探索。综合相关学者的研究可知,基于振动信号处理的故障诊断方式最为广泛,但相关学者的研究都有一个共性的问题,在对原始信号进行特征提取、特征选择、特征融合的过程中,造成了原始信息的消减,对部分特征的舍弃难免会造成分类准确率的降低。并且在“机械大数据”的发展趋势下,传统故障诊断方法的计算能力明显不足,因此,利用深度学习算法的故障诊断技术应运而生。1.3.2基于深度学习的故障诊断研究现状近年来,随着深度学习研究的浪潮,以2006年和2012年为两个重要的时间节点,在深度学习领域不断涌现出大量的研究。深度学习算法具有多隐层的网络结构,能对大量数据有效分析并获得固有的特性,建立数据与特征之间的映射关系,深度学习算法无监督训练的方式克服了传统方法的诸多不便,应用非常广泛。最早应用在计算机视觉[23]、语音[24]、图像识别[25]、自然语言处理[26]等其他领域。近年来,越来越多的学者将深度学习与故障诊断相结合,深度学习算法在机械故障诊断领域的研究也逐渐增多。国外方面,Tran等[27]将DBN模型作为分类器对压缩机阀门的故障进行分类,并与传统方法进行对比,得到DBN具有较高的分类准确率的结论。Jia等[28]基于DNN提出了新的智能诊断方法,克服了传统方法依赖于专家经验和专门知识的缺点,并通过滚动轴承和行星齿轮箱的数据集进行验证,获得了更高的分类结果。Shao[29]等提出了一种新的滚动轴承智能故障诊断方法—集成深层自动编3 哈尔滨工业大学工程硕士专业学位论文码器(EDAES),并对轴承振动信号进行分析,消除了对人工特征提取的依赖。Jing[30]等利用卷积神经网络直接从振动信号的频域提取特征,并通过PHM2009变速箱挑战数据和行星齿轮箱试验台验证所提出算法的高计算准确率。Lu等[31]利用DNN方法对标准轴承数据集的频域数据进行计算,并对结果进行可视化,得到的较好的分类准确率。国内方面,孙文珺[32]结合稀疏自编码和去噪自编码构建深度神经网络,利用大量无标签振动信号进行无监督学习,实现了大数据特征提取与故障诊断。王丽华等[33]利用堆叠降噪自编码器(SDAE)以电流信号和振动信号作为模型输入,结合softmax分类器实现了高效的电机故障诊断技术。张绍辉[34]利用稀疏自编码深度学习模型对机械设备产生的多路信息进行特征融合,并结合平方预测误差指标实现了对设备故障监测。雷亚国[35]等利用堆叠自编码器对行星齿轮故障数据进行分析,与传统方法相比体现出了深度学习算法的自适应提取特征的能力。王兴清等[36]将希尔伯特包络谱和DBN相结合,对轴承故障的频域数据进行诊断,与传统方法相比降低了诊断的复杂度。陈志强等[37]提出了基于多层神经网络(MLNN)的分类模型,以较高的准确率实现了齿轮箱的故障诊断。仲志丹等[38]将卷积神经网络(CNN)和支持向量机(SVM)相结合,实现了对抽油机井的故障诊断。综合国内外基于深度学习的故障诊断研究现状可知,相对于传统故障诊断方法,基于深度学习的故障诊断方法取得了长足的进步,但仍存在一定问题,随着网络层数的增加,维度灾难是不可避免的问题,计算时间无疑巨幅增加。同时,综合主要学者的研究,第一,虽获得了较高的准确率,但故障诊断结果仍不够精确;第二,在参数的设置上较为困难,多根据经验值或经过单一重复实验进行设定,这就造成了网络训练的整个过程时间成本高的问题。因此,利用深度学习有利优势的同时,提高准确率与降低网络训练时间成本也是必不可少的环节。1.3.3并行计算的研究现状随着大数据的发展趋势,对算法的计算能力逐渐提出更高的要求,近年来,我国在诸多领域开始应用并行计算。齐林海[39]对于电压降计算问题,基于MapReduce框架实现并行计算,而且取得了很好的效果。潘沙等[40]在航天领域基于MPI技术对计算流体力学方法实现了并行计算,提高算法计算效率的同时,增加了问题求解的规模。刘卫东等[41]对牵引供电问题,利用计算机集群中的多个Cluster通过消息传递界面实现并行计算,并对大规模计算效率的提高起到了良好的效果。彭安帮等[42]针对供水调度问题,结合PSO算法,设计了基于Fork/Join并行计算平台,有效利用多核计算平台提高了计算效率。张强等[43]对于对全球电4 哈尔滨工业大学工程硕士专业学位论文离层建模并对观测大数据进行计算的过程中,采用多核处理单元并行处理,计算性能有效提升。赵辉等[44]针对避雷器数据计算过程复杂、耗时长的问题,基于OpenMP技术实现了多核并行计算,利用计算机多个物理核心进行计算,有效地提升了系统的执行效率。由上述研究可知,利用并行计算处理大规模数据计算已成为一种新的提高计算效率的趋势,但将并行计算应用在故障诊断领域的应用还比较少。故此,本文针对深度学习算法计算时间成本高的问题,将并行计算应用在基于深度学习的故障诊断上以提高计算效率。1.3.4国内外文献综述的简析纵观国内外在本课题研究方向上的研究可以发现,对故障诊断的研究已经成为当前智能制造研究领域的重要方向之一。利用深度学习算法进行故障诊断的方法已逐渐成为该领域研究的热点,无论在算法研究还是故障识别准确率上都有很大的进步。但仍存在部分问题,具体如下:(1)未有效利用原始数据的全部信息、识别准确率不够精确。随着科技的不断进步,在智能制造环境下多种类型感知设备的互联与信息交换,会产生大量多源异构数据,数据量大、数据类型多、产生速率高。这样的背景下,传统的故障诊断方法多依赖特征提取知识与专家经验,而且在特征提取与选择的过程中,造成了原始信息的缺失,导致不能对原始数据的全部信息有效利用;另一方面,现有的研究中,已有部分将深度学习算法应用在故障诊断问题上,但故障识别准确率仍不够精确,通过对算法的研究以提高准确率是值得研究的问题。(2)参数选择较为困难、整体训练时间成本较高。通过相关文献可知,已有很多学者将深度学习算法或改进之后的深度学习算法应用于对故障数据进行分类,而且取得了可观的分类结果,但仍存在以下问题。第一,在网络训练的过程中,参数设置是最为重要的过程,多数研究均手动调节参数或根据经验值设定,忽略了多参数之间的耦合性。第二,在机械大数据的趋势下,对原始监测数据的处理过程必须依赖于高速的计算平台和硬件基础,传统的计算环境会大大降低算法的效率而无法进行高效的故障诊断。现在的基于深度学习算法的故障诊断技术普遍存在一个问题,就是计算时间成本较高,如何结合云计算模式的主要优势,搭建并行计算环境,并于故障诊断的算法进行实际的结合以提高计算效率是亟待研究的问题。(3)基于深度学习算法的故障诊断实际应用问题。虽很多学者将深度学习应用在故障诊断领域,并且取得了一定的成果,但相比深度学习在语音、图像领域的应用,在故障领域的应用凤毛麟角,现在的研究多为对标准故障数据、仿真5 哈尔滨工业大学工程硕士专业学位论文数据集以及实验数据进行分类与识别,多出现于在算法的实现及验证上,然而分类模型对于没有深度学习与故障诊断基础的用户很难掌握,如何对分类模型进行封装,并为用户提供便捷的操作、直观的结果呈现是值得研究的方向。1.4主要研究内容在机械大数据的趋势下,传统的故障诊断方法越来越难对故障信息进行准确地描述。近年来,深度学习以其强大的特征提取能力得到了广泛的研究与应用。鉴于此,本文对基于深度学习的故障诊断方法进行研究,选择合适的算法应用到故障诊断技术中进行验证,并充分利用计算机集群分布式并行计算的优越条件,实现对故障诊断并行化研究,最后将基于深度学习的故障诊断技术集成在现有的云制造平台上,完成对故障诊断系统的开发。本文的主要研究内容如下:(1)深度学习算法理论研究与特征提取能力的验证深度学习的主要优势在于自动提取特征的能力,其深层的网络可以最大似然的学习到数据固有的本质,将深度学习算法应用在故障诊断领域已成为新的研究方向。本文对深度学习算法进行了详尽的分析,并对深度置信网络的原理与训练过程进行具体的阐述,通过手写数字集对算法的特征提取能力及分类能力进行验证,从迭代次数、隐层节点数等方面对比其对分类结果准确率的影响,确定主要参数,为后续的研究奠定基础。(2)基于深度学习算法的故障诊断技术的实现利用深度学习算法可以更有效地获取故障数据最本质的特征,其无监督的训练过程可以自适应的提取特征,更适合于当今“机械大数据”的发展趋势。利用故障诊断领域世界公认的凯斯西储大学轴承数据集,应用深度置信网络进行具体分析。首先,讨论对原始信号划分样本的不同长度对分类结果的影响,然后,利用深度置信网络对该数据集进行网络训练、故障分类、结果可视化并得出结论。最后,对于上述对分类结果影响较大的参数组成的集合利用网格搜索法进行参数寻优,获得最佳参数集合,减少训练误差并提高分类模型的准确率。(3)故障诊断技术的并行化研究机械大数据的背景下不仅对算法有了更高的要求,对计算机硬件及计算环境的要求同样较高。目前为止,利用深度学习算法进行故障诊断的研究不断涌现,但都存在着手工选择参数困难而且模型训练时间成本高的问题。因此,本文研究Matlab环境下计算机集群分布式并行计算环境的搭建,并实现深度学习算法参数寻优过程的并行计算过程,不仅提高计算效率,有效解决了利用深度学习完成故障诊断的完整模型训练过程的时间成本高的问题。6 哈尔滨工业大学工程硕士专业学位论文(4)基于深度学习的故障诊断系统开发在云制造平台的基础上,本研究将基于上述完成的并行计算环境下对于轴承故障诊断的深度学习算法,建立故障诊断模型,并利用Html、Javascript、CSS、Servlet、Ajax等技术在前端Web界面实现故障实时监测的功能,在此基础上完成基于深度学习的故障诊断系统的开发、调试与运行。7 哈尔滨工业大学工程硕士专业学位论文第2章深度置信网络原理及分类能力研究2.1深度学习简介“深度学习之父”Hinton教授于2006年提出深度学习方法[45],在机器学习领域掀起了一场新的革命。诸多学者开始投身于深度学习的研究中,历经十余年的发展,深度学习的理论与实践都取得了长足的进步,2012年,hinton团队利用1200层神经网络在Imagenet比赛中获得冠军。2016年3月,谷歌AlphaGo战胜当今人类围棋最高水平,2017年10月,谷歌推出AlphaGoZero以100:0完胜AlphaGo。与此同时,深度学习在各行各业的发展都是迅速的,而且算法与结构都不断的改进。深度学习是机器学习领域的最新成果,通过模拟人脑神经网络的构成与处理外界信号输入的方式建立一个深层神经网络模型,不断从低层提取特征,形成更抽象、高层的特征表达。深度学习网络是多隐层网络,包括数据接收层、多隐层、分类输出层,层间无向对称连接,层内互相独立无连接。这种方式非常接近人脑的内部结构,可以对数据进行较好的特征提取与本质刻画。如图2-1所示,相比较于传统方法具有很多优点:深度学习可以省略复杂的特征提取、特征选择与建立模型的过程,对原始数据进行简单的预处理之后通过深度学习自适应的提取特征,完成网络的训练与测试,最终获得分类模型。深度学习相对于传统神经网络优势在于其网络的“深度”,由多隐层组成的深层网络可以实现特征的逐层变换,随着网络节点数的不断减少,实现特征从高维到低维的映射,不仅可以有效挖掘出大数据中潜在的信息,而且可以获取较高的识别精度。相对于传统方法需要专家经验、手动提取特征等问题,对于趋于“机械大数据”的故障诊断问题具有更高的研究价值。深度学习的算法数据输入预处理深度学习输出结果数据输入预处理特征提取特征选择建立模型输出结果传统算法图2-1深度学习算法与传统算法的比较应用较为广泛的深度学习模型为:深度置信网络(DeepBeliefNets,DBN)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)和堆叠自动编码器(Stacked8 哈尔滨工业大学工程硕士专业学位论文AutoEncoder,SAE)[46],由于深度置信网络应用最为广泛,理论研究较为成熟,本文重要对深度置信网络进行研究。2.2深度置信网络简介深度置信网络(DBN)是无监督特征学习与有监督参数调整的整体,其主要构成部分由多个限制波尔兹曼机堆叠而成[47],作为概率生成模型,区别于传统的判别模型,生成模型考虑P(Observation|Label)和P(Label|Observation)组成的联合概率分布,通过堆叠RBM的CD快速学习算法与贪婪学习方式可以从原始数据中发现更深层次的数据分布特征,并逐层特征提取得到原始数据低维的特征表达。DBN接收原始数据作为输入,通过逐层的RBM进行特征提取,并通过BP反向微调参数获得低维、精准的特征矩阵。2.2.1受限玻尔兹曼机2.2.1.1RBM原理简述受限玻尔兹曼机(RBM)是DBN的基本组成部分包括可视层h与隐含层v两层,其中h层作用为接收训练数据,v层作用为特征提取结果。RBM满足一个重要的性质—神经元之间的条件独立性,即可视层与隐藏层之间各神经元互相连接,但二者内部各神经元互相独立。当可视层神经元具有确定状态时,与之相关联的隐藏层的神经元的状态不受该层其他神经元状态的影响。正是因为这个性质,RBM在训练时不必每次只计算一个神经元,而是整层神经元同时计算,加大了算法的并行性,从算法层面提高了计算效率。图2-2为一个完整的RBM结构,上下两层代表隐藏层与可视层,每个神经元代表一维向量。h1h2h3V1V2V3V4V5图2-2受限玻尔兹曼机网络结构图RBM是基于能量的模型,之所以选用能量模型,原因由以下三点:第一、RBM是无监督学习的过程,其目的就是最大可能的拟合原始数据。第二、对于未知数据概率分布形式的输入数据,学习难度非常高,但根据统计力学可知,能9 哈尔滨工业大学工程硕士专业学位论文量模型可以有效地模拟各类数据分布形式[48]。第三,能量模型为无监督学习过程提供了目标函数与目标解。可视层与隐藏层之间的能量模型可以表示为:mnmn,Ebv(v,h)chWvhiijjijij(2-1)ijij11,1式中:m、n—可视层、隐含层的节点数;b、v—可视层的偏置、神经元;c、h—隐含层的偏置、神经元;W——可视层与隐含层的连接权重。w1,1w2,1wm,1w1,2w2,2wm,2w(2-2)www1,n2,nm,n其中W表示第m个显元与第n个隐元之间的连接权重。mn联合概率分布似然函数为:E(v,h)pe(v,h)(2-3)条件概率分布似然函数为:pp(v|h)(v|h)i(2-4)iRBM中,隐含层神经元被开启的概率为:mpwv(h1|v)ii,(c)jij(2-5)j式中:(x)为sigmoid激活函数。1(x)(2-6)x1e相应的,隐含层神经元未被开启的概率为:pp(h0|v)1(h1|v)(2-7)ii由于双向连接,可视层被开启的概率为:nph(vb1|)iiwh,()ijj(2-8)j同时,可视层未被开启的概率为:ph(vp1|)1h(v0|)(2-9)iij若可视层输入数据x(i1,2,..,m;j1,2...,s;m为输入维数,s为样本数),引i用参考文献[49]中对原始输入曲线定义为:10 哈尔滨工业大学工程硕士专业学位论文12sxxx...iiix(i1,2,...,m)(2-10)is根据公式2-5可以得到由受限玻尔兹曼机提取的隐含层特征,jy(i1,2,...n;j1,2,...,s;n)为提取特征维数,s为样本数。i根据公式2-8可以得到由隐含层特征重构的可视层的数据jxj'(i1,2,..,m;1,2...,s;m)为重构数据维数,s为样本数i则将重构曲线定义为12syyy...iiix',(i1,2,...,m)(2-11)is2.2.1.2RBM训练过程RBM训练的最终目的就是为了求得最佳的网络参数,以对数据的本质特征进行精准的表达。为了快速训练RBM,Hinton提出了对比散度(ContrastiveDivergence,CD)算法[50],进而,进行k次采样过程便得到了CD-k算法,一般情况下,当k设置为1时,便可达到很好的效果,其结构图2-3如图所示。P(h|v)hhvvP(v|h)图2-3CD算法结构利用CD算法求解{w,b,c}的过程为:(1)初始化权重w与偏置b、c;(2)显示层v接收原始数据,通过公式2-5计算隐层h;(3)利用隐含层h,利用公式2-8对原始数据进行重构,得到v';(4)通过v'计算h';(5)利用公式2-12至2-14更新参数{w,b,c}。TTww[p(h1|v)-p(h'1|v')v'](2-12)bb(vv')(2-13)cc(hh')(2-14)式中:为学习率;实际计算中,将输入数据划分为若干个batch进行计算以提高对参数{w,b,c}更新的效率,同时增加迭代次数可以经过大量的计算使参数的最终结果更好的拟合原始数据,划分批次为n、迭代次数为m的RBM计算过程如图2-4所示。11 哈尔滨工业大学工程硕士专业学位论文输入数据数据分批,批次n、迭代次数m各批次数据作为可视层单元V由可视层计算隐含层单元H由隐含层计算可视层单元V由可视层计算隐含层单元H更新参数w,b,c下一批次数据作N达到训练批次n?为可视层VYN达到迭代次数m?Y结束算法图2-4RBM计算过程2.2.2DBN结构及训练方式深度置信网络主要通过堆叠RBM逐层提取特征,每一层RBM的输出作为下一层RBM的输入,如此反复直到网络训练结束为止,在自下而上的无监督过程中,RBM可以不断地从大量数据中挖掘出深层次的特征并有效的表达。在获取数据的低维特征之后,仍需要结合分类器对数据进行具体的分类,对分类器的选择应根据实际需要,DBN网络使用Softmax分类器。DBN的结构图如图2-5所示。由图可以看出,深度置信网络由多个RBM组成的无监督特征提取部分和BP有监督反向微调部分组成。DBN在训练模型的过程中主要分为两个步骤:第1步:预训练阶段。在该阶段,主要通过堆叠RBM进行预训练,整个过程是一个无监督的过程,每一各RBM在训练过程中都分为正向计算与反向重构的过程,通过分批训练与多次迭代的方式自下而上的注意计算以确保每一层RBM局部最优[51];第2步:微调阶段。堆叠RBM提取特征之后,需要在最顶层加上一个BP12 哈尔滨工业大学工程硕士专业学位论文神经网络,结合带标签的数据自上而下地进行有监督训练,微调所有参数,以保证整体的全局最优。输出数据标签BPW2反向传播V2H1RBMW1微调V1H0RBMW0微调V0输入数据图2-5深度置信网络结构2.3深度置信网络分类能力研究深度置信网络是特征提取与分类器共同工作的深层神经网络。DBN的特征提取能力由其主要组成部分RBM所展现出来的,RBM的条件独立性、二值状态值与二分图结构图的主要特点决定着其强大的学习能力。同时,利用BP神经网络进行反向网络参数调整的过程、Softmax分类器的使用也促使其分类能力较好。因此,本节首先通过手写数字集对RBM的特征提取能力进行测试,然后通过BP微调后的网络对DBN的分类能力进行测试。2.3.1DBN特征提取能力探究DBN卓越的特征提取能力主要体现在堆叠RBM上,MNIST手写数字集是通用的数据集,样本数量与样本种类大,适合对算法特征提取能力进行验证,本节利用MNIST数据集对RBM特征提取能力进行研究。MNIST数据集共70000个样本,其中60000个作为训练集,其余为测试集。每一个样本数据由原始图像的灰度值转化而来,数据集中每个样本对应一个标签,共十类标签。考虑到计算时间的影响,本实验从各类样本中选取部分字符,构成6000个样本组成的训练集与1000个样本组成的测试集构成的小样本手写数字集。主要代码为:minitrain_x=[];minitrain_y=[];13 哈尔滨工业大学工程硕士专业学位论文tr_rand=randperm(600);te_rand=randperm(100);fori=1:10s=num2str(i);n=num2str(i-1);eval(['label_'s'=find(train_y(:,'s')==1);']);eval(['train_'n'=train_x(label_'s',:);']);eval(['label_'s'=find(test_y(:,'s')==1);']);eval(['test_'n'=test_x(label_'s',:);']);eval(['minitrain_x=[minitrain_x;train_'n'(tr_rand,:)];']);eval(['minitest_x=[minitest_x;test_'n'(te_rand,:)];']);end2.3.1.1网络节点数对特征提取能力的影响深度置信网络的分类机理可以概括为接收原始数据作为输入,通过堆叠RBM进行无监督的自适应的提取特征,再利用BP反向微调,以保证通过特征提取与反向微调构成的特征学习的过程能最大程度的从原始数据中学习到最本质的区别,并结合分类器进行更准确的分类。由RBM的原理可知,堆叠RBM的输入层接收原始数据进行特征提取,输出层直接对应各类标签,由此可知,模型输入层节点数对应原始数据的特征维度,模型输出层对应原始数据的类别。故设置参数时,输入节点数根据输入数据的维度定为784,输出节点数由分类结果定为10。本节主要讨论网络隐层节点数对特征提取能力的影响,对节点数为10、20、50、100、200、400、500、784的情况分别进行实验,并按照公式2-10、2-11绘制原始曲线与重构曲线,结果如图2-6所示,通过原始曲线与重构曲线的对比可以得到RBM的特征提取能力。(a)隐层节点数为10重构曲线(b)隐层节点数为50重构曲线14 哈尔滨工业大学工程硕士专业学位论文(c)隐层节点数为200重构曲线(d)隐层节点数为400重构曲线(e)隐层节点数为500重构曲线(f)隐层节点数为784重构曲线图2-6不同隐层节点数重构曲线图由不同网络隐层节点数得到的对比图可知,随着网络节点数的不断增加,重构曲线与原始曲线重合度越来越高,故此可知RBM对原始数据的特征提取能力越来越强。但随着网络节点数的增加,网络的结构越来越复杂,而且计算时间显著提升,综合考虑特征提取能力与计算时间,最终选择隐层节点数为500,RBM在保证特征提取能力的同时又节省了计算时间。2.3.1.2学习率对特征提取能力的影响学习率的高低对分类结果的影响较为显著,为有效的说明学习率特征提取能力的影响,本节对除学习率以外的参数设置与上一节保持相同,隐层节点数根据上一节结论设置为500,对于学习率的设置选择其他文献中常设置的0.008、0.01、0.05、0.1,从而分别进行实验,计算结果如图2-7所示。15 哈尔滨工业大学工程硕士专业学位论文(a)学习率为0.008重构曲线(b)学习率为0.01重构曲线(c)学习率为0.05重构曲线(d)学习率为0.1重构曲线图2-7不同学习率的重构曲线图由以上原始曲线与重构曲线的对比图可知,当学习率大于0.01时,随着学习率的改变,原始曲线与重构曲线之间的误差的变化没有明显的趋势,当学习率设定为0.1时,RBM网络对原始数据的特征提取能力较好,由于从图中无法准确的得到原始数据与重构数据之间的差别,故通过回归评价指标—均方根误差[52](公式2-15)计算二者之间的偏差,误差值越小证明二者的误差越小,从而判定学习率对特征提取能力的影响。n12RMSE()xiiy(2-15)ni1式中:xi—原始数据;yi—重构数据;N—数据的特征维度。为消除DBN算法随机性对结果的影响,采用20次重复实验所得结果的均值作为最后的结论,由此得到不同的学习率与RMSE值的对比结果见表2-1。16 哈尔滨工业大学工程硕士专业学位论文表2-1不同学习率对应RMSE值学习率设置RMSE值时间/s0.0080.0150177.790.010.0132158.350.050.0133122.250.10.012998.96综合原始曲线与重构曲线的差异与上表结果可知,不同学习率的设置对RBM特征提取能力具有一定的影响,而且经过实验可知,其他参数如隐层节点数、动量参数等参数的变化对RBM特征提取能力都具有一定的影响,在当前网络的设置下,学习率设置为0.1时,可使其具有较好的特征提取效果,具体学习率的设置方式及考虑其他参数影响下的参数设置在后文中进行阐述。2.3.1.3迭代次数对特征提取能力的影响由于RBM的特征提取能力主要是通过迭代不断优化网络参数{w,b,c},故此迭代次数对其特征提取能力的提升不言而喻。本节主要在设置不同迭代次数的情况下,讨论其对RBM的特征提取能力的影响,分别设置迭代次数1、10、20、50、100、150、200、300、500、1000,其他参数的设置与上文中其他研究保持一致,接下来首先通过原始数据与重构数据的对比可以定性的描述不同迭代次数对特征提取能力的影响,如图2-8给出了部分迭代次数对应的原始数据与重构数据的对比结果,然后通过RMSE值的计算,从定量的角度准确的表达迭代次数的设置对RBM特征提取能力的影响。(a)迭代次数为1重构曲线(b)迭代次数为10重构曲线17 哈尔滨工业大学工程硕士专业学位论文(c)迭代次数为100重构曲线(d)迭代次数为500重构曲线图2-8不同迭代次数的重构曲线图由图2-8可以看出,迭代次数不断增加的过程中,原始数据与重构数据之间的误差逐渐减小,由隐层提取的特征对可视层的数据的表征能力越来越强,为了定量评估原始数据与重构数据之间的差异,通过计算二者的RMSE并通过网络训练时间进行分析,计算结果见表2-2。表2-2不同迭代次数对应RMSE值迭代次数RMSE时间/s10.05390.768100.02944.038200.02378.335500.016218.6191000.011949.7461500.010877.6923000.0104139.1675000.0097217.419由表2-2可以看出,迭代次数逐渐增加的过程中,原始数据与重构数据的RMSE逐渐降低,但当迭代次数在150次以后,RMSE值降低的幅度逐渐减缓,但计算时间显著提高,为充分提高DBN的综合性能,选择迭代次数为150次比较合理。2.3.2DBN分类能力的探究本节对DBN分类能力的研究主要通过对手写数字的分类结果反应DBN的分类能力,由前文可知DBN的分类能力主要由堆叠RBM的特征提取与BP反向微调共同体现。在前文中已对RBM的特征提取能力进行了研究,故本节中对BP微调前后的特征矩阵对原始数据的重构能力进行对比。然后,通过计算不同网络深度对分类结果的影响进行研究。18 哈尔滨工业大学工程硕士专业学位论文利用手写数字集,深度置信网络参数根据前文置为,输入节点数根据数据维度设置为784,输出节点数根据数据类别设置为10,隐层节点数设置为500,最大迭代次数设置为150次,学习率为0.1,首先,利用仅堆叠RBM得到的特征矩阵对原始数据进行重构,然后,对RBM提取的特征矩通过BP微调,利用微调后得到的特征矩阵对原始数据进行重构,最后,分别绘制两种方式得到的重构曲线与原始数据的对比图,如图2-9所示。(a)BP微调前重构曲线(b)BP微调前重构曲线图2-9微调前后的重构曲线对比对比微调前后数据的均方根误差,可以得到由未微调的0.0108降到0.0053,故此可以得出,BP反向微调可以使DBN网络整体上趋于全局最优,对原始信号的特征提取能力具有很大的提升。2.4本章小结本章首先对深度学习和深度置信网络(DBN)的模型进行了主要的介绍,对受限玻尔兹曼机(RBM)与DBN的网络组成以及DBN的训练方式做出了详细的分析。其次,利用手写数字集对DBN的特征提取能力与分类能力进行了研究,对于特征提取能力主要从网络节点数、学习率、迭代次数三分方面进行探讨。通过原始曲线与重构曲线的对比以及RMSE(均方根误差)值的比较得出当节点数设置为500、学习率设置为0.01、迭代次数设置为150次时可以获得较好结果结论。对于深度置信网络的分类能力从BP反向微调进行讨论,通过定量与定性的分析得出经过BP反向微调,深度置信网络具有更好的分类能力。19 哈尔滨工业大学工程硕士专业学位论文第3章基于深度置信网络的故障诊断研究3.1基于深度置信网络的故障诊断概述3.1.1深度置信网络主要参数设置在利用DBN算法解决实际问题的过程中,参数设置的过程最为重要,不同的参数设置很有可能导致结果的好与坏,本节主要介绍对于DBN的主要参数的设置方式。3.1.1.1DBN参数初始化设置DBN参数之前需要对RBM网络中的{w,b,c}进行初始化,式中w为各层网络之间计算的连接权值,b为显层(数据输入层)的偏置值,c为隐层(数据输出层)的偏置值。结合Hinton2006年发表的论文[48]以及经验值的设定,采用以下公式对连接权值w进行正态分布N(0,0.1)初始化,对显层偏置值b与隐层偏置值c采取初值为0的初始化方式。W=0.1randn(m,n)(3-1)b=zeros(n,1)(3-2)c=zeros(m,1)(3-3)式中:m为RBM结构中输入层的特征维度;n为RBM结构中输出层的特征维度;对于偏置值b、c的设置可以采用上述初始化为0,也可以与权重初始化方式相同,采用正态随机分布初始化。具体设置需要根据具体计算情况不断改变,不同的设置对结果会产生细微的差别,当需要对程序进行优化时,可以考虑对此项设置进行修改。3.1.1.2DBN网络结构的设置对于网络结构的设置主要分为网络深度和网络各层节点数两部分。深度学习区别于传统神经网络主要在于其网络的深度。所谓深度即为网络的层数的多少,随着隐层数目的增加可以降低各层节点数之间的差距[53],从而提高特征提取能力,但是也造成了网络的结构较长,训练时间显著增长的同时可能由于参数设置不当导致训练误差逐层累积,造成训练误差过大或者过拟合的现象。参考Hinton的论文以及经验设置,对网络深度设置为五层网络,即由输入层、3个隐层、输出层组成。网络各层节点数的设置对于特征提取能力的影响在前文中已经做出讨论,输20 哈尔滨工业大学工程硕士专业学位论文入层节点数根据待训练的数据的特征维度确定,输出层节点数则根据要求分类的种类数设置,隐层可以通过恒值型、升值型、降值型、中凸型与中凹型等方式设定网络节点数[54],至今在设置网络节点数没有较为成熟的研究,部分可参考BP神经网络的节点数设置验公式进行设置,但对于不同的情况需要改变节点数的设置。3.1.1.3训练学习率的设置不同学习率对DBN网络的训练准确率具有明显的影响,若设置的过高,虽然可以加快网络训练的速度,但是可能导致过拟合现象,即对训练集的识别具有较高的准确率而对测试集的识别准确率很低;若学习率设置的很低,虽然可以保证网络训练比较稳定,但是训练时间会很长,当迭代次数设置较少时网络可能不收敛。因此对于不同的网络训练过程,恰当的学习率设置是必要的,然而对学习率的设置方法暂时也没有成熟的规则,根据上文对不同学习率对RBM特征提取能力的影响情况,结合经验值设定,可以对学习率设置为0.1,实际设置需要结合具体情况。深度置信网络包括两部分学习率,RBM预训练部分的学习率可根据上文的设置方式,对于BP反向微调部分的学习率可采取动态学习率的设置,可以避免固定学习率造成的局部最优值,设置方法可分为指数式下降、等差下降等。3.1.1.4迭代次数的设置迭代次数对分类准确率的影响与其他很多参数相关,如权重与偏置的初始化方式、学习率等都有关联性,如对w、b、c的初始化方式为正态分布随机初始化,且其他参数设置相同的情况下,提高迭代次数会对则会对准确率的提高有明显效果,而将w、b、c初始化为0,则提高迭代次数对提高准确率没有明显的效果。学习率的大小直接关系着网络收敛的速度,因此学习率设置较小时,应经过多次迭代才可以使网络逐渐收敛。综上,设置迭代次数时,应综合考虑其他参数的设置、分类准确率、计算时间等综合因素,设置最佳的迭代次数。3.1.1.5其他参数的设置动量参数可以加快学习速度,网络训练过程中,权重更新方向不仅仅和梯度有关系,而且和上一次更新的权重有关系,即动量积累了历史的梯度方向,若当前梯度与历史方向相似则加强趋势,若相反则减弱趋势。动量参数的设置可以一定程度的稳定学习率对训练结果带来的影响,根据经验值可设定为初始值为0.50.9。21 哈尔滨工业大学工程硕士专业学位论文训练批量可以将原始数据分批进行训练,DBN采用吉布斯采样方法对原始数据进行分批训练,用以产生多变量概率分布的样本,经过多次操作可以接近于对真实样本的分布,从而更好的对原始数据进行特征提取,训练批量的设置应满足以下几点要求:(1)每一批的数据量应包含数据种类数,每一类必须有一个样本,故设置最小值为分类的类别数;(2)设置训练批量就是为了对原始数据进行分批,故该参数必须能被原始数据样本数整除。(3)合理的范围。设置过大,对于大数据的一次性输入可能导致内存溢出的问题,同时计算完一次数据集的迭代次数减少,对参数的修正变得缓慢。设置的过小,导致计算极为缓慢。故此在合理的范围内适当的增加批量大小合理使用内存、减少训练时间并有效提高准确率。另外对权值衰减、稀疏度设置等可根据经验值设定。3.1.2故障诊断过程基于深度置信网络的故障诊断方法克服了传统的特征提取的复杂的过程,直接从经过简单数据预处理之后的高度保留原始数据特征的数据集中进行训练与分类,集无监督训练与有监督微调为一体,更方便、更准确地识别故障结果。利用深度置信网络进行故障诊断的过程见表3-1。表3-1利用DBN进行故障诊断的过程,步骤主要内容1确定故障类型与故障诊断任务对原始数据进行预处理,包括FFT变换、归一化,并对处理好的数据按照2一定长度划分样本长度,划分训练集与测试集3初始化DBN,设置网络节点数、训练学习率、迭代次数、动量参数等4堆叠RBM逐层特征提取,初步得到权重矩阵5通过BPNN反向微调整个网络以优化参数6使用Softmax分类器对测试集分类在DBN完成对故障数据的训练与分类之后,通过对原始数据与分类结果的可视化对比可以直观的看出DBN的分类能力,但由于数据维度高,不能直接进行可视化,因此,需要使用PCA方法从各层得到的特征矩阵中选取前三个主要特征绘制三维散点图,从而观察DBN的分类能力。22 哈尔滨工业大学工程硕士专业学位论文3.2数据集描述与数据预处理3.2.1数据集描述及分析利用故障诊断领域公认的轴承数据集进行计算,并与现研究的具有代表性的结果进行对比,可以有效验证算法的有效性,本节选择凯斯西储大学轴承数据集(CWRU数据集),该数据集是世界公认的故障诊断标准数据集,在机械故障诊断领域顶级期刊《mechanicalsystemandsignalprocessing》上多次被用作为验证分类准确率。该数据集包括由通过电火花方式在轴承内圈、外圈、滚珠上引入0.007-0.040英寸的故障,并记录的0到3英制马力(电机转速为1797-1720RPM)的三种负载下的轴承振动数据,采样频率为12Khz。本文对内圈故障、滚珠故障、外圈故障数据进行详细划分,每类故障分为三种故障深度,结合正常数据组成十类故障数据。选取1-3hp每一类负载下的数据分别构造数据集A、B、C,并由A、B、C组成的数据集D,包括三种负载情况,构成多工况的实验数据,更能表现机械故障实际复杂的情况。对故障数据采用2048个数据点进行样本划分,对每类故障信号可以划分得到50个样本,十类故障共500个样本。选取其中60%作为训练集,40%作为测试集。A、B、C、D四个数据集的详细情况见表3-2。表3-2数据集类型描述故障深度/数据集A/数据集B/数据集C/数据集D/故障类型标签英寸样本数量样本数量样本数量样本数量正常030+2030+2030+2090+601内圈0.0070.00730+2030+2030+2090+602内圈0.0140.01430+2030+2030+2090+603内圈0.0210.02130+2030+2030+2090+604滚珠0.0070.00730+2030+2030+2090+605滚珠0.0140.01430+2030+2030+2090+606滚珠0.0210.02130+2030+2030+2090+607外圈0.0070.00730+2030+2030+2090+608外圈0.0140.01430+2030+2030+2090+609外圈0.0210.02130+2030+2030+2090+6010以数据集A为例,利用Matlab绘制该十类故障信号时域波形图,由时域波形图3-2可知,仅有滚珠故障深度0.021英寸、滚珠故障深度0.014英寸、内圈故障深度0.014英寸三类故障由于其它故障具有明显区别,其他故障类型在波形23 哈尔滨工业大学工程硕士专业学位论文上几乎一致,为降低程序计算符合,在保留原始信号全部信息的基础上,对振动信号的频域信号进行分析,下一节将对故障数据进行快速傅里叶(FFT)变换。(a)正常数据(b)内圈故障深度0.007英寸(c)外圈故障深度0.007英寸(d)滚珠故障深度0.007英寸(e)内圈故障深度0.014英寸(f)外圈故障深度0.014英寸(g)滚珠故障深度0.014英寸(h)内圈故障深度0.021英寸(i)滚珠故障深度0.021英寸(j)外圈故障深度0.021英寸图3-2十类轴承故障时域图24 哈尔滨工业大学工程硕士专业学位论文3.2.2FFT变换对故障数据经过FFT变换,可以在保留原始信息的前提下更好的对故障信息进行表达,将复杂的信号转化为由正弦信号叠加而成的信号,进而通过深度置信网络更加精确的获得其“构造”,故此,利用DBN进行故障诊断前需对原始数据首先进行FFT变换获得其频域数据,通过对上述十类故障的FFT变换得到对应的频谱图,如图3-3所示。与时域波形图对比可知,由频域数据绘制的频谱图更加直观的刻画了故障信号的组成,但各类故障信号的频谱仍较为相似,如何利用DBN从频域数据中提取各类故障的特征并精准的分类是下一步要研究的问题。(a)正常数据(b)内圈故障深度0.007英寸(c)内圈故障深度0.014英寸(d)内圈故障深度0.021英寸(e)外圈故障深度0.007英寸(f)外圈故障深度0.014英寸(g)外圈故障深度0.021英寸(h)滚珠故障深度0.007英寸25 哈尔滨工业大学工程硕士专业学位论文(i)滚珠故障深度0.014英寸(j)滚珠故障深度0.021英寸图3-3十类轴承故障频域图3.2.3归一化处理深度置信网络采用sigmoid激活函数,该激活函数对数据的输入要求为取值在[0,1]之间,这就需要对原始数据进行归一化操作。归一化操作是机器学习过程中常见的数据预处理方式,不仅可以将不同量纲的数据归一化到同一水平下,而且可以对样本的统计分布特性进行归纳,通过相应的算法将数据映射到[0,1]之间,使最优解的寻优过程变得平缓,更容易收敛到最优解。参考其他文献,总结归一化常见的方法见表3-3。表3-3归一化方法类别方法名称公式取值范围x1峰值归一化x'[-1,1]max(x)x2一次缩放归一化x'[-1,1]max(x)min(x)mx3和值归一化x'[-1,1]xxmin(x)4线性归一化x'[0,1]max(x)min(x)xx5标准差归一化x'[-1,1]2xmax(x)min(x)6平移缩放归一化x'[0,1]3max(x)min(x)由上述对归一化的介绍可知,多数归一化方法都可以对待处理的数据映射到[-1,1]之间,由此可知,当数据集中的数据全部大于0时,归一化之后的数据全部可以保证在[0,1]之间,当数据集中的数据正负交替时,结果均会在[-1,1]之间。故障信号的数据范围即正负交替,显然在上述归一化方法中,只有线性归一化与平移缩放归一化满足要求。但由平移缩放归一化的推导公式可知,当信号的正区26 哈尔滨工业大学工程硕士专业学位论文间的幅值的绝对值小于负区间的幅值的绝对值时,并不能保证得到的归一化的结果完全落在[0,1]之间,因此,本文在处理故障数据时选用线性归一化方法。3.3基于深度置信网络故障诊断方法的应用3.3.1不同样本长度下的分类能力研究利用不同长度对故障数据进行划分样本,由于获得的样本数量以及样本长度两方面的不同,会导致分类准确率的差异。对于样本长度,若长度太小,会造成不能完整的包含一个周期的信号特征。根据故障信号采样周期、采样频率与主轴转速可以计算出一个周期内包含的数据点数为:60/1797*12000≈401,即样本长度大于401时可以保留一个周期完整的特征,为了便于数据存储与计算,对于大于401的样本长度从512起,以256为步长递增,同时参考文献[34]、[44]与其他学者对此数据集分类过程中对故障数据划分的长度,对于数据集A,主要对表3-4中8种长度的样本构成的不同数据集进行分类。表3-4样本划分长度设置样本长度512768102412801536179220482400样本数量200015001000800700600500500根据上述DBN网络节点数的设置规则,输入层与输出层分别根据数据维度与输出类别确定,网络层数设置为5层网络,隐层节点数分别设置为[500、200、100]。网络初始化的过程中,对权值与偏置按上文规则进行设置,训练学习率为0.1。对于数据集A进行计算,经过上文提到的FFT变换、归一化预处理后,利用DBN网络进行训练与分类,算法迭代150次,为消除算法随机误差,将20次实验结果的平均值作为最终结果,计算结果见表3-5。表3-5不同样本长度分类准确率序号样本长度识别准确率151298.91%276899.09%3102499.36%4128099.22%5153699.51%6179299.95%7204899.97%8240099.94%27 哈尔滨工业大学工程硕士专业学位论文由表3-5得到的计算结果可知,随着对故障数据进行划分的样本长度的增加,为了直观地看出不同长度样本对分类结果的影响,以图3-4表示不同样本长度对应的分类准确率。DBN故障诊断的准确率逐渐增加,但当长度过大时会造成样本数量变少,可能在网络训练过程中造成过拟合,综合识别准确率与样本数量,本文选用2048对原始数据划分样本。图3-4不同样本长度分类准确率3.3.2参数寻优—网格搜索算法网格搜索算法将问题的可行解空间划分为网格,逐一尝试每一个网格子空间并记录,从中选择最优的可行解。使用“网格搜索”来寻找最优的模型参数。实际上就是尝试模型参数所有可能取值的组合。具体做法是,在各参数的上下限内,将参数的取值空间以一定的精度等分划分,取出每个子空间中的可行解,逐一尝试(遍历),其中是模型表现最好的一组参数即为本次计算所得最优参数,网格搜索算法流程如图3-5所示。DBN算法中涉及到很多参数,如网络深度、网络节点数、学习率、动量参数、训练批量以及BPNN中涉及的各参数。本节选取了第2章计算得到的RBM中对特征提取能力影响较大的参数,所需调试的参数为学习率和训练批量b,性能指标为原始数据与重构数据之间的RMSE值。首先,对学习率和训练批量b的取值空间做出如下划分:,i1,2,3,...,N(3-4)minimaxmaxmin(3-5)iminNbbb,i1,2,3,...,N(3-6)minimaxb式中:min、max——学习率划分下限、上限;28 哈尔滨工业大学工程硕士专业学位论文i、N——学习率取值空间、划分数量;b、b——训练批量划分下限、上限;minmaxb、N——训练批量取值空间、划分数量;ib在本次参数寻优过程中,设置min、max、N分别为0.01、1、100,bmin、b根据数据集样本数分别设置为1、300,对训练批量的划分需依照训练批maxb量的设置原则,故N设置为18。将、b的所有取值排列组合,构成可行解空bii间,根据图3-5的算法流程计算训练网络的RMSE值,取使RMSE最小的参数组合[i,bi]为最优参数集合。对于利用2048划分样本长度的数据集A,经过网络法参数寻优之后得到最优超参数集合为[0.0120],即训练批量为20,学习率为0.01,RMSE值为0.0091,最终模型分类结果经计算20次取平均值为100%,对于参数寻优之前不仅在识别准确率上有所提高,对参数的选择也更为方便与准确。开始设置目标值初值,设置为当前最优解对待调参数搜索空间进行划分Y遍历所有结束可行解集合?N选出一个组合构成一个可行解基于该可行解计算目标值目标值小N于最优解?Y更新最优解图3-5网格搜索算法流程29 哈尔滨工业大学工程硕士专业学位论文3.3.3特征提取与分类结果分析通过原始数据与重构数据的曲线对比可以直观的看出特征提取能力,利用PCA分别对原始数据、第一隐层提取的特征矩阵、第二隐层提取的特征矩阵,第三隐层提取的特征矩阵进行主成分分析,并选择前三个主要成分,通过绘制三维散点图对其进行可视化,可以清楚的看出经过逐层的特征提取之后,在各层之间表现出来的分类能力。在可视化散点图中,利用红色的“*”表示正常数据,利用绿色的“●”表示内圈0.007英寸深度故障,利用蓝色的“>”表示内圈0.014英寸深度故障,利用绿色的“■”表示内圈0.021英寸深度故障,利用品红色的“◆”表示滚珠0.007英寸深度故障,利用青色的“▼”表示滚珠0.014英寸深度故障,利用蓝色的“✶”表示滚珠0.021英寸深度故障,利用黑色的“★”表示外圈0.007英寸深度故障,利用黑色的“<”表示外圈0.014英寸深度故障,利用红色的“▲”表示外圈0.021英寸深度故障。数据集A,负载为0hp,分为内圈三类不同深度故障、外圈三类不同深度故障、滚珠三类不同深度故障和正常数据,分类结果可视化如图3-5所示:(a)原始数据PCA主成分可视化(b)第一隐层PCA主成分可视化(c)第二隐层PCA主成分可视化(d)第三隐层PCA主成分可视化图3-5数据集A可视化结果30 哈尔滨工业大学工程硕士专业学位论文数据集B,负载为1hp,分为内圈三类不同深度故障、外圈三类不同深度故障、滚珠三类不同深度故障和正常数据,分类结果可视化如图3-6所示:(a)原始数据PCA主成分可视化(b)第一隐层PCA主成分可视化(c)第二隐层PCA主成分可视化(d)第三隐层PCA主成分可视化图3-6数据集B可视化结果数据集C,负载为2hp,分为内圈三类不同深度故障、外圈三类不同深度故障、滚珠三类不同深度故障和正常数据,分类结果可视化如图3-7所示:(a)原始数据PCA主成分可视化(b)第一隐层PCA主成分可视化31 哈尔滨工业大学工程硕士专业学位论文(c)第二隐层PCA主成分可视化(d)第三隐层PCA主成分可视化图3-7数据集C可视化结果数据集D综合0-2hp的三种负载,分为内圈三类不同深度故障、外圈三类不同深度故障、滚珠三类不同深度故障与正常数据,分类结果可视化如图3-8所示:(a)原始数据PCA主成分可视化(b)第一隐层PCA主成分可视化(c)第二隐层PCA主成分可视化(d)第三隐层PCA主成分可视化图3-8数据集D可视化结果32 哈尔滨工业大学工程硕士专业学位论文由A、B、C、D四个数据集经过DBN特征提取与分类后的结果可视化图中可以看出,原始数据通过PCA降维获得其主成分之后的可视化图中,各特征交织在一起,很难区分出各类故障。而通过DBN逐层特征提取,对于各数据集可见随着隐层数量的逐渐增加,各类故障之间的区分越来越大,基本上都可以有效的分类。从以上各层特征提取结果可视化可以看出DBN可以有效将各类故障区分开,下面以故障识别准确率为主要指标对故障信号处理结果进行分析。对于经过RBM特征提取和BP反向微调之后的模型,分别将训练集和测试集输入到模型中,经过计算得到分类结果,利用分类结果与故障标签进行对比,分类正确的个数与样本总数的比值即为分类准确率,与当前研究最具有代表性的研究成果[55]相比,四种数据集分类结果见表3-6,由分类结果可知,本文的研究结果均高于该文献中的研究成果。表3-6轴承数据结果对比数据集A数据集B数据集C数据集D方法训练集测试集训练集测试集训练集测试集训练集测试集本文方法100%100%100%100%100%100%100%99.98%文献方法100%99.95%99.94%99.61%99.94%99.74%99.85%99.68%对比数据集A、B、C与D,由各数据集的特征提取结果可视化与分类结果可知,DBN不仅对于单工况下的故障数据集具有较好的分类效果,随着网络深度的逐渐增加效果越来越好,体现了深度学习网络深度的重要性。另外,对于综合A、B、C各类工况信息的数据集D也具有很好的分类效果,说明深度置信网络对于复杂的故障数据具有较强的特征提取与分类的能力。3.3.4与其他方法的对比通过无监督训练与有监督微调的方式对轴承故障数据进行训练、分类,最终训练集分类准确率为100%,测试集分类准确率99.68%。与其他学者在该方面的研究主要得到以下三点对比。(一)识别准确率在故障诊断的研究中很多学者通过不同的方法对CWRU数据集进行分类,分类结果见表3-7。相比与其他学者的研究,本文利用深度置信网络算法,无监督地自适应的提取特征并有监督的微调参数,直接从原始数据中进行计算,不需要手动提取特征,不仅算法使用更加便捷,相比之下准确率也维持在较高的水平。对于凯斯西储大学轴承数据,,本文在算法与程序上的修改以及使用参数寻33 哈尔滨工业大学工程硕士专业学位论文优的方式,分类准确率达到了100%。表3-7轴承数据集的对比结果分类方法数据集A数据集B数据集C数据集D多重分形+SVM89.1%///SS+DPSOM///95.8%Time+MLP95.7%99.6%99.4%/PSO+WKLFDA97.2%///小波+EMD+SVM98.9%///DNN99.9%99.6%99.7%98.6%DBN+参数寻优100%100%100%99.98%(二)大数据下的计算能力对于凯斯西储大学标准轴承数据集,相对实际情况较为理想的数据集,传统的方法已无法高精度的进行故障识别,在面对“机械大数据”背景的数据,如何刻画这种复杂的映射关系是一个极具挑战的任务,传统的方法需要依靠大量的先验知识,完成此项任务非常困难。深度学习算法作为大数据环境下应运而生的产物可以更好的解决这个问题,其他学者的研究多为单机计算,没有通过计算机分布式并行计算解决深度学习网络训练整体时间长的案例,本文利用分布式并行计算环境对基于深度学习算法的故障诊断技术进行计算,将在第四章中进行具体描述。(三)网络参数选择对比其他学者的研究可知,其他人在网络参数的设置上多为参考其他文献、多次单一实验确定参数,忽略了参数之间的复杂的联系,本文首先研究了单一实验下不同参数对分类结果的影响,对于影响效果较大的参数使用网格搜索算法进行参数寻优,其他参数的设定根据经验值设定,有效的考虑了各参数之间互相影响的因素,同时为参数的选择提供了一定的参考。无论在大数据环境下的计算,还是利用参数寻优都会带来利用深度学习算法进行故障诊断必然会面对的问题—计算时间长,为解决这个问题,本研究将配置并行计算环境,提高计算效率的同时,也在大数据发展的背景下实现了很大的一步跨越。34 哈尔滨工业大学工程硕士专业学位论文3.4本章小结本章首先介绍了利用DBN深度学习算法进行故障诊断过程中的参数设置方式与主要过程。利用CWRU轴承数据集,通过DBN深度学习算法对其进行故障诊断。首先,经过FFT变换与归一化的数据预处理,利用堆叠RBM进行特征提取,然后,利用BP神经网络进行反向微调,最终得到分类结果。讨论了对于利用不同长度划分样本构造数据集对识别结果的影响,得到使用2048划分样本长度为较好的结果,且识别准确率99.97%。最后,针对利用DBN故障分类过程中参数设置过程中各参数互相关联的问题,使用网格法进行参数寻优,将准确率提升到了100%,并与其他相关的研究在识别准确率、大数据计算能力、网络参数选择三方面进行对比,得到利用DBN+网格法参数寻优的优越性。35 哈尔滨工业大学工程硕士专业学位论文第4章基于MatlabMPI并行计算平台的搭建4.1并行计算简介由前文可知通过DBN+参数寻优的方式更容易获得相对于其他方法更为精确的结果,但该方法的计算过程通常由于参数维度高而需要耗费大量的计算时间才能求解,因此,获得高精度的结果必须依赖于高性能的计算方式。尽管当前计算机性能已有极大的提升,但利用单机计算的方式仍无法满足逐渐趋于“大数据”的发展趋势。并行计算方式可以有效利用计算机的硬件优势,提高计算机系统的综合性能。并行计算环境的研究一直是高性能计算研究领域的热点之一,现已在诸多领域的问题建模上都有所应用,但在基于深度学习的故障诊断领域仍没有具体的研究。综上所述,本文展开对并行计算的研究,并应用于基于深度学习的故障诊断技术。并行计算(ParallelComputing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理单元来并行计算。并行计算的设计过程中,对程序的编写、调试与性能优化是最为困难的部分。为方便并行计算环境的应用,不断涌现出新的并行计算环境的构架方式。当前应用较为广泛的方式为:PVM和MPI。PVM(ParallelVirtualMachine)是基于消息传递的软件包,基于网络连接将异构的计算机网络组建起来,形成虚拟单个大型计算机使用。MPI(MessagePassingInterface)时一个基于信息传递应用接口的并行编程技术,可实现多主机联网协作进行并行计算。二者都提供基于消息传递的编程模型,但MPI为消息传递标准,提供对C、C++、Fortan等语言的支持,并具有较高的通讯性能[56],研究与应用都更为广泛。本论文研究的故障诊断方法是在Matlab编程环境中实现的,MatlabMPI是消息传递接口的Matlab实现,通过MatlabMPI可以有效地在Matlab编程环境下实现并行计算。4.1并行化编程实现-Parfor程序计算过程中对于计算开销最大的一般都发生在重复循环的迭代过程中,因此将循环的部分进行并行处理可以很大程度的节省计算时间。Parfor是MATLAB集成的一种并行计算实现方法,具有较高的执行数据并行任务的级36 哈尔滨工业大学工程硕士专业学位论文别,在单机模式下使用较为方便地实现单机多核心并行计算。若要实现单机多核心并行计算方式需要利用Parfor编程思想,即在算法可以并行、开启多核心计算池的前提下,将循环体的For循环改写为Parfor循环,便可以在单机模式下将原来的单核心计算改为多核心并行计算。For循环内的每次循环互相“串联”,仅利用单个核心,对CPU与内存的利用率很低,但Parfor可以将整个“串联”的任务划分为n个互相独立且与执行顺序无关的子任务,然后将每个任务分给每个任务节点(核心)进行计算,实现各任务的“并联”每个节点计算结束更新并行池中的结果集合,最后汇总各节点的计算结果,由此完成整个并行计算的任务。表4-1Parfor变量的类型及使用规则:变量类型使用规则循环变量每个节点内部循环设置的变量,各节点之间相互独立Sliced变量每个节点的循环体内只能呈现一个Sliced。临时变量临时变量需要在循环之前进行定义,而且没有Sliced的限制简约变量一般各节点之间的计算需要相互独立,但并行计算需要对每个循环中设置同一个简约变量,每个循环可以对该变量修改。广播变量开始循环之前对其幅值,在Parfor循环中对其操作Parfor使用主要步骤如下:(1)worker配置。首先,打开并行计算池,并设置参与计算的计算机物理核心数量,该数量可以在计算机-设备管理器-处理器中查看。(2)查看pool属性。利用p=gcp或者p=gcp('nocreate')获得当前pool的属性,包括连接情况、woker数量、部署形式、默认退出时间等。(3)修改配置项。对parfor并行池的参数进行修改。(4)程序修改。结合上述各变量的设置规则对程序进行修改。(5)关闭pool。使用delete(gcp('nocreate'))可以实现对pool的关闭。4.2并行计算环境的搭建4.2.1计算机集群硬件环境配置综合现有的计算机集群设备,为了充分利用多核心处理器的有效计算能力,通过局域网连接多个计算机服务器,集群内各节点的网关、子网掩码、dns设置相同,固定IP依次排列。基于云平台的配置,计算机集群中包括4台机架式服务器,服务器信息如表4-2所示。37 哈尔滨工业大学工程硕士专业学位论文表4-2基本硬件配置名称配置规格2U机架式服务器处理器IntelXeonE52620v42.1GHz/8c/8GT/20ML3内存64GBDDR41×200GSSD1×300G15KSAS热插拔硬盘3×4TBSAS热插硬盘拔硬盘网络主板集成两个千兆以太网口每台服务器安装LinuxCentOS-7系统,为了避免不同版本之间的兼容性出现的问题,在各机上统一安装MatlabR2014a版本,平台架构如图4-1所示。计算机集群通过SSH安全协议进行内网互通,通过安装Linux系统并划分主从节点之后,在计算机集群中配置NFS分布式共享文件系统,安装MatlabMPI,完成环境下的集群分布式并行计算环境,结合中Parfor的编程思想充分利用计算机的多个物理核心,实现计算机集群下的分布式并行计算。客户机服务器局域网集群MasterMatlabMPISlave1SSHSlave2Slave3NFS共享文件系统Matlab2014a图4-1分布式并行计算平台架构4.2.2分布式并行计算环境部署流程计算机集群与分布式并行计算环境的搭建主要流程如图4-2所示,并主要通过如下步骤进行详细的配置。38 哈尔滨工业大学工程硕士专业学位论文各节点安装LinuxCentOS7NFS网络文件共享系统的系统与环境搭建安装与配置分配Master、SlavesMatlabMPI的安装、部署与相关配置共享工作空间的是设置MATHWORKS_R2014ANFS网络文件共享系统环境构建性能调优多节点SSH远程登陆MatlabMPI实例调试无密码访问图4-2计算机集群分布式并行计算环境搭建流程图4.2.3建立无密码互访机制由于需要搭建分布式的系统集群,所以集群中各设备间需要建立远程访问与控制机制,传统的远程访问机制需要输入登陆IP与密码,这就为实现并行计算需要的多次自动访问并进行计算的初衷相违背,搭建分布式集群的重要技术基础就是建立远程无密码的互访机制,通过无密码访问,集群内的各节点可以通过安全协议访问其他计算机开放的共享资源,并具有读与写的操作权限,由此建立起各节点之间的通讯。本节对计算机集群之间的通讯协议采用SSH文件传输协议,相较于传统的RSH、Telnet方法,SSH具有私钥加密和公钥加密的方式,保证通讯的安全性[57],并利用MD5和SHA-1算法对数据进行hash,在主节点与从节点之间对原数据与hash后的数据进行对比,以保证数据的完整性。配置SSH免密码访问机制的主要流程如图4-3所示:千兆交换机MasterSlave1Slave2Slave3系统:CentOS7系统:CentOS7系统:CentOS7系统:CentOS7192.168.0.16192.168.0.17192.168.0.18192.168.0.19SSH安全协议图4-3网络环境设置39 哈尔滨工业大学工程硕士专业学位论文4.2.4NFS文件共享系统安装与配置在建立了无密码访问机制之后,计算机集群内各节点可以相互访问,这就需要建立一块虚拟的文件存储空间,NFS(NetworkFileSystem)为较好的表现形式,各节点可以通过局域网访问NFS目录,而且对于实际需求,要求各节点有权限对该目录中的文献进行读与写的操作。NFS文件共享系统的组成包括开放文件共享系统的服务端与多个即时读取NFS文件的客户端,如图4-4所示。这里选Master为服务端,slave1、slave2、slave3为客户端。NFS文件共享系统的配置主要包括服务器端和客户端的配置,主要步骤如下:服务端配置:首先,关闭防火墙、并通过setenforce0将Selinux的运行模式为由强制模式转换为许可模式。其次,利用yuminstallyrpcbindnfsutils命令安装NFS及其所依赖的软件包。然后建立共享文件目录为/share,并更改此文件夹权限为最高权限。然后对/etc下的exports文件进行修改,设置/share的属性,使其具有较高的使用权限。最后将文件共享系统服务设置为开机自启。客户端配置:首先,执行与服务端相同的配置,然后,使用mount命令将计算机集群中mater节点上的/share目录挂在到自身节点上。NFS服务器配置属性并共享192.168.0.16/share目录挂载服务器挂载服务器挂载服务器端的/share端的/share端的/share目录到本地目录到本地目录到本地的/mnt目录的/mnt目录的/mnt目录下下下NFS客户端NFS客户端NFS客户端192.168.0.17192.168.0.18192.168.0.19图4-4NFS共享文件系统4.2.5MatlabMPI的安装与配置消息传递接口(MPI)现已成为构建多核心并行计算的标准。MPI已被证明是实现并行程序的有效模型,并被许多世界上最苛刻的应用程序(天气建模、武器模拟、飞机设计等)所使用,但目前为止,MPI多使用与c与fortran语言中。MatlabMPI将Matlab脚本实现MPI的一个子集,允许任何Matlab程序在并行计算机上运行。MatlabMPI是类似于MPI的接口,实现Matlab环境下多机之间的信息共享,实现多机并行计算的功能。其主要配置过程为:40 哈尔滨工业大学工程硕士专业学位论文1)对MatlabMPI_v1.2.tar.gz文件解压到MatlabMPI文件夹,并利用root权限将文件复制到共享文件系统目录中。2)修改Matlab启动配置文件,将其默认工作空间设置为NFS共享文件系统目录。3)配置/MatlabMPI/src下的MatMPI_Comm_settings.m文件,设置无密码访问机制。4)修改Matlab程序,利用eval(MPI_Run('basic',n,machines))命令进行并行计算。4.2.6NFS性能调优MatlabMPI的实现主要通过计算机集群中构成的文件共享系统(NFS),NFS的通讯能力对MPI的计算能力的影响无疑是巨大的,在构建NFS文件共享系统时,仅利用最简单的挂在方式将master节点上的/share目录挂在到本机上。通过实例计算的过程中发现,以上挂载方式导致的通信开销非常大,具体可以对一些参数进行修改,从而达到提高通信效率的作用。默认文件系统挂载方式为:mount-oacdirmin=0.1,rw,sync,hard,intr,rsize=8192,wsize=8192,nfsvers=2,udp ode-a:/export/gigabit/wulf/gigabit根据本研究设备信息与实际算例分析,对挂载方式提出了如下修改方式:sudomount-tnfs-oacdirmin=0rw,sync,hard,intr,rsize=32768,wsize=32768,nfsvers=4udpinspur1:/share/share4.3并行计算应用4.3.1阶乘计算测试以10+E10阶乘计算为例,实验环境为:intelRXeonRCPUE52699()()v4@2.2Ghz,通过单机多核心并行计算方式进行测试。主要代码如下:parpool('local',12);%根据计算机核心数开启并行计算池…%初始化值tic%开始计时parfori=1:10000000000%对原来的for循环改为parfor循环41 哈尔滨工业大学工程硕士专业学位论文…%循环体内的程序endtoc%计时结束delete(gcp('nocreate'))%关闭并行池对于该实验,利用本计算机进行单核心计算的情况下计算时间为29.575s,按照以上配置的单击多核心计算环境计算之后得到结果为4.92s,计算效率提高了约6倍,由于实验的例子计算量不是特别大而且多核心之间需要进行通讯,所以对于12核心的并行,计算时间有所延长,对于理论与实际时间出现偏差的原因为各核心之间建立通信域的过程需要一定的初始化的时间。多核心的并行计算随着任务的逐渐加大规模而逐渐体现出其计算优势。4.3.2网格搜索算法计算网格搜所算法的占用的计算机资源与参数划分的精度s、选取参数的个数tt都具有较大的关系,算法复杂度为O(n)s。故对于待调参数维数较高的模型,若想取得较精确的最优参数(网格划分程度高),其计算量巨大,如果利用传统的方式进行计算不仅会占用很长的时间,而且会导致相当大的开销,因此对于参数寻优过程使用并行计算的方式求解是一个很好的思路。通过MatlabMPI进行并行计算的主要代码为:MPI_Init;%对MPI环境进行初始化comn=MPI_COMM_WORLD;%创建通信域comn_size=MPI_Comn_size(comn);%线程的数量my_rank=MPI_Comn_rank(comn);%本机器的线程编码%根据线程数量划分每个线程的任务rank1=0;%线程号rank2=1;rank3=2;rank4=3;if(my_rank==rank1)%执行rank1的任务;Elseif(my_rank=rank2)%执行rank2的任务;……EndEnd42 哈尔滨工业大学工程硕士专业学位论文MPI_Finalize;%结束MatlabMPI对第3章中基于DBN的轴承故障诊断方法的参数寻优过程,若通过单核心计算方式需要耗时约374400s。通过上述搭建的环境对该任务进行并行计算,利用计算机集群的四台服务器可将时间减少至18263.41s,性能提升约20.5倍。由此可知,对于本文应用的DBN+参数寻优的方式,可以在搭建的分布式计算环境下实现算法的并行计算,大大提高了计算效率,为获得更为精确的结果做出了突出贡献。4.4本章小结本章实现了Matlab编程环境下基于MatlabMPI的并行计算环境的搭建,综合使用单机多核心计算与计算机集群分布式计算的模式,并针对DBN算法的网格搜索参数寻优过程,实现了并行计算的高效率方法,对于求解最优参数集合与网络训练的总时间大大减少,在获取网络最优参数的角度解决了计算时间较长的问题。43 哈尔滨工业大学工程硕士专业学位论文第5章故障诊断系统的设计与实现5.1系统设计需求分析利用DBN方法进行故障诊断的最终目的就是对故障进行分类,为使用者提供良好的帮助,在前述章节使用DBN进行模型训练、分类都是利用故障数据进行离线学习的过程。开发故障诊断系统的目的利用DBN训练好的模型在线监测设备健康状况并做出预警。这就对系统的设计具有以下几点要求。(1)实时性。系统的开发应满足对于故障数据进行分类,并实时的显示给用户,对于出现故障的情况及时做出反馈。(2)稳定性。系统能够安全、稳定的运行是实现一切功能的前提,因此,对不同的使用者赋予不同的使用权限,(3)兼容性。传统的系统无法脱离算法运行环境,在其他终端上不方便使用,开发一个兼容多种设备的系统是必要的要求。(4)友好性。利用DBN进行故障诊断是一个较为复杂的过程,开发一个较为友好的界面,通过直观的展示将DBN动态分类的结果展示出来,让使用者即使不具备故障诊断以及深度学习算法方面的知识与经验也可以使用由DBN训练得到的结果对故障进行分类。5.2系统环境总体设计5.2.1系统环境与平台此故障诊断系统是在Windows1064bit操作系统下开发而成,根据系统功能的需求以及DBN算法编写环境,本系统的开发环境如下:(1)硬件需求。Windows1064bit操作系统、CPU型号:Intel(R)Pentium(R)G620及以上、CPU主2.6GHz频:及以上、安装内存:8Gb及以上;(2)运行环境。JavaTMSERuntimeEnvironmentbuild1.8.0_161-b12;Tomcat9.0RuntimeEnvironment;5.2.2系统开发工具及设计流程本系统主要通过Eclipseoxygen.3a64bit、MatlabR2018a、SQLSERVER2012等工具开发而成。本系统是基于web的实时监测系统,通过Eclipse创建JavaEEWebProject,44 哈尔滨工业大学工程硕士专业学位论文正确配置相关信息后创建一个DynamicWebProject,如图5-1所示,该项目主要由前端展示给用户的客户端程序与后端进行程序扩展的服务器程序,二者由服务器内Servlet程序相连接,Servlet可以获得用户在前端的请求,调用服务器内的其他程序完成这一请求并做出相应的响应,从而建立起了前端与后端之间的交互,并在web页面上显示动态的展示效果,其工作模式为:1、用户操作客户端,通过post或get方法发出请求;2、请求通过服务器达到servlet,并由servlet做出相应操作;3、servlet将响应结果通过服务器传给客户端;4、客户端获得相应结果,在web页面动态显示。客户端服务器SQLSERVERHTTP请求HTML界面容器Servlet服务器响应MATLABHtml+javascript+css图5-1基于web项目构架客户端程序在Webcontent中开发,用于显示给用户的关于分类结果、相关信息等的Web页面,使用到的技术为Html+Javascript+CSS,其中,Html为网页页面展示的编写语言,Javascript用于在页面中实现交互性实例,Css为实现网页内容的样式设置,基于这套完整的体系可以为用户提供更好的使用感受。服务器端程序在JavaResources中开发,分为Servlet程序的编写与执行用户请求的扩展程序的编写。编写Servlet程序首先要新建一个类,使之继承于Httpservlet类,并通过以下代码实现其Doget方法,并在该方法中编写调用Java程序的代码。对于Dopost的代码与一下代码基本一致,在此不再赘述。protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//编写调用java程序的代码;}最后应在WEB-INF下的web.xml文件中对servlet进行配置,主要通过如下代码对servlet程序名、所属类、路径进行配置。SQLConnect45 哈尔滨工业大学工程硕士专业学位论文ajax.servlet.SQLConnectSQLConnect/SQLConnect扩展程序的编写主要使用java语言编写,主要包括调用matlab程序的class与连接数据库实现增删改查的class。主要实现步骤如下:(1)java调用matlab的m文件进行计算。通过java程序调用matlab程序是由于java代码实现的计算对于DBN训练好的模型对故障数据进行分类的计算能力显然不够。实现Java调用matlab的过程应保证matlab自带的java版本于windows系统的java版本保持一致,考虑到云平台所用java版本为1.8.0,故选择matlab2018a。首先,使用deploytool工具通过LibraryCompiler生成m文件对应的jar包,将该jar包复制到java工作目录中,并在程序中通过import引用该jar包于matlab安装目录下的javabuilder.jar,然后新建实例调用matlab生成的jar中的类实现相应的功能。Java首次调用matlab的过程,需要调用matlab运行环境,需要较长时间,调用成功之后每次可直接使用。(2)java连接SQLServer2012数据库实现增删改查。利用数据库对数据的高效管理对于系统的管理与运维都具有很大的好处。在java程序中连接sqlserver2012通过JDBC(JavaDataBaseConnectivity)进行连接,主要分三部完成。首先,对SQLServer2012进行正确的配置,在SQLServer2012配置管理器中将mssqlserver的协议选项卡下的TCP/IP协议设置为启动,并正确配置其ip地址于端口号。然后,在eclipse中导入外部驱动程序sqljdbc42.jar,并将其放在正确的目录下,在程序中引入连接sql所依赖的jar包,并通过以下程序实现于sqlserver的连接。StringdriverName"com.microsoft.sqlserver.jdbc.SQLServerDriver";StringdbURL"jdbc:sqlserver://localhost:1433;DatabaseNamediagnose";StringuserName"sa";StringuserPwd"*****";Class.forName(driverName);conn=DriverManager.getConnection(dbURL,userName,userPwd);46 哈尔滨工业大学工程硕士专业学位论文……故障诊断系统最主要的功能体现在其实时性,即前端实时显示后端经过计算得到的分类结果,其中前端与后端进行交互主要由Servlet和Ajax技术结合实现,Servlet的实现方式上文已做出介绍,Ajax是一种与服务器之间进行数据交互的技术,是异步Javascript和Xml的集合,提供了异步更新的机制,可以通过局部刷新的方式改变网页的部分内容,主要通过Qjuery框架实现,Qjuery具有更好的可扩展性和可操作性,主要实施步骤如下:1、引用Qjuery-3.3.1.js包,放在项目根目录下,并在Javascript中设置路径;2、由以下程序实现数据的异步更新;$.ajax({url:"diagnose",//调用函数的路径设置type:"POST",//向制定资源发出请求async:true,//开启异步模式data:{"param":index},success:functiondata{Functiona();//执行返回数据成功的函数},error:function(){Functionb();//执行返回数据失败的函数}});47 哈尔滨工业大学工程硕士专业学位论文5.3系统功能总体设计5.3.1系统总体架构设计本系统沿用云制造平台的B/S(Brower/Server)架构,故障诊断系统综合考虑设计需求,从实际出发,以数据库管理、人机交互界面的管理、模型库的管理为整体的架构,利用后端技术在服务器中加载DBN分类模型对故障数据进行实时分类,并通过互联网传递到客户端,最后,利用前端技术在客户端可视化显示故障诊断分类结果,供使用者进行其他相关操作,具体系统架构图如图5-2所示。本文在服务器实现功能的部分选择通过Java调用Matlab生成的Jar文件实现高效率的计算、通过Java链接SQLServer数据库实现高效率的数据存储、读取与分析;前端部分选择通过Eclipse编写的Html、Js、Css文件在Web上呈现友好的界面。前端与后端的交互上选择Servlet实现用户请求与服务器响应的传递,并通过Ajax技术利用Jquery实现了数据的高效率实时传输。用户MATLAB模型库用户ServletAjax客户端服务器人机交互界面Java程序QjuerySQL数据库图5-2系统设计架构图5.3.2系统总体功能设计故障诊断系统主要分为五部分,主要由故障实时监测、故障处理、故障信息管理、用户管理与系统帮助五部分组成,其中最核心的部分为故障实时监测部分,通过该部分实时监测后,形成待处理故障任务与故障信息,在故障处理和故障信息管理中使用,前端为用户推送故障信息,在后端统计入数据库,以便随时查看与分析。用户管理与系统帮助即为系统管理员与普通用户之间的操作与为用户提供使用帮助的部分,功能总体设计如图5-3所示。48 哈尔滨工业大学工程硕士专业学位论文故障诊断系统故障实时监测故障处理故障信息管理用户管理系统帮助故故关实故故故障障权用使于时障障障信信限户用本监预核处息息设设帮系测警对理查分置置助统询析图5-3故障诊断系统功能结构图5.3.3数据库设计设备状态表。包含储存设备振动信号的数据库、时间、设备状态、故障类型、故障深度等相关信息。设备状态表中不设置主键,此表主要用于实时记录DBN分类模型对故障数据实时监测的结果,并可供客户端查询设备健康历史状况,设备状态表结构见表5-1。表5-1设备状态表结构字段名字段类型字段长度允许为空故障数据库Char20否时间Datetime10否设备状态Char10否故障类型Char10否故障深度Char10否用户信息表。用户信息表包括用户名、密码、邮箱、备注、权限等信息,主要记录对本系统具有使用权限的用户的相关信息,用户的权限又分为管理员与普通用户,不同的权限对系统中的部分功能的使用具有一定的影响。用户信息表结构见表5-2。表5-2用户信息表结构字段名是否主键字段类型字段长度允许为空用户名是Char10否密码否Char10否邮箱否Char20否备注否Char30是权限否Char10否49 哈尔滨工业大学工程硕士专业学位论文振动信号表。此表用来储存反应设备故障信息的振动信号,字段名包括ID、列1、列2…列1024,并设置ID列为主键,暂将CWRU数据集存入该表中,前端可实时获得此表中的数据输入到故障诊断模型实现故障诊断。振动信号表结构见表5-3。表5-3振动信号采集表结构字段名是否主键字段类型字段长度允许为空ID是Char10否列1否float10否列2否float10否…否float10否列1024否float10否故障处理任务表。故障任务处理表主要保存经过前端实时故障诊断得到的发生故障的设备信息,包括故障类型、故障深度、时间、待处理等字段,不设置主键。为前端用户核对故障类型与处理设备故障提供数据支持。故障处理任务表见表5-4。表5-4故障处理任务表结构字段名字段类型字段长度允许为空故障类型Char10否故障深度Char10否时间Datetime10否待处理Char10否5.4系统功能实现5.4.1用户登录模块用户登陆界面如图5-4所示,通过用户登陆的信息获取用户类型,对于普通用户和管理员在系统内相关功能的权限具有一定的差别,本系统的用户主要是由管理员创建或者由用户申请并由管理员审核通过,当用户点击提交后,网页会提交表单数据到后台,并通过后台连接数据库,记录对应的username、email、password字段,并由管理员审核通过或者禁用。当用户点击登陆后,后台获得web页面上用户输入的username与password文本框对应的value值,并在SQLServer2012数据库中对应的表中查询是否存在此项记录,若存在则跳转到故障诊断系统主界面,若不存在则提示“用户名错误或密码错误”。50 哈尔滨工业大学工程硕士专业学位论文图5-4系统登陆界面5.4.2故障实时监测模块故障实时监测模块是整个系统核心的部分,实现的功能为对于数据库实时传输的故障数据通过经过DBN训练后的模型进行故障类型识别,并将识别结果动态的更新到前端页面上,实现故障实时监测的功能。页面中包括两个控件按钮,其中【连接数据库】用来连接数据库,此操作是进入该页面后优先执行的操作,其原理是通过JDBC建立于数据库的连接,以便后续对数据库的相关操作,单击后若连接成功则弹出窗体显示“连接数据库成功”并在标签中同步显示连接状态,提示信息如图5-5所示。图5-5数据库连接成功提示框【开始监测】执行的功能为实时获取数据库中的故障数据,利用DBN模型分类,并在Highchart中实时更新故障诊断结果与所对应的时间,且当鼠标悬停于图表上时会自动提示当前状态,当出现异常状态时弹窗提示“设备出现异常”并在图表上提示故障类型,同时将历史监测结果存在数据库中,以便查看和处理。其原理是利用Servlet的Post、Get方法和AJAX技术共同实现数据的实时传输,并通过Highcharts实时插入即时时间与分类结果组成的点[x,y],每次结果之间进51 哈尔滨工业大学工程硕士专业学位论文行连线,由此实现故障诊断结果的动态可视化呈现,故障监测界面如图5-6所示。当出现故障时通过自建的Aert样式以更加直观的方式提示用户当前的故障状态,并调用百度语音SDK实现语音提醒功能。图5-6故障诊断系统监测界面5.4.3故障信息历史查询模块本部分主要为用户提供近期的故障诊断信息历史记录,用户可根据需要查询相应记录,并对于不同权限的用户可以执行不同的操作,如管理员可以执行故障信息的查询、删除等操作,而普通用户仅可以实现对故障信息的查询功能。具体实现方法为将根据客户端的请求,服务器端响应通过查询SQL数据库得到的结果,并在页面中的表格内显示给用户。对于权限的设置为当用户登陆时获取其用户信息,并根据数据库中保存的用户权限信息对网页部分功能进行限定,以保证系统运行的稳定性。52 哈尔滨工业大学工程硕士专业学位论文图5-7故障信息历史查询模块5.4.4用户管理模块该模块是面向管理员的功能,管理员用户具有更高的权限,例如,管理员用户具有普通用户无法进行的添加、删除、设置为管理员、撤销管理员、审核等权限。在该模块可以查询系统用户的基本信息,对个人的基本信息进行管理,通过权限设置对系统用户进行权限管理与审核,决定用户使用范围,同时,确保系统的稳定运行。图5-8用户管理模块53 哈尔滨工业大学工程硕士专业学位论文5.4.5模型上传模块该模块主要实现的功能为将DBN训练好的模型加载到后台服务器中,并存放在项目可以读取到的固定的位置,同时,也可上传相应的Java文件与Servlet程序,这样,就可以为用户提供一个良好的使用环境,对不了解DBN与Java程序的用户,只需要上传不同的DBN模型与对应的程序文件,即可实现对于不同数据集的故障诊断实时监测功能,但是本部分的功能只有管理员具有使用的权限。图5-9模型上传模块5.4.6系统帮助模块系统帮助模块分为对系统的介绍、使用说明、与相关DBN知识的介绍以及反馈功能,使用户通过阅读帮助模块可以简单的对基于DBN的故障诊断方法具有简单的了解,这也为实际的操作提供了一个感性的认识,当出现故障问题时,对用户的操作也具有一定的指导意义。最后用户可针对使用感受等在反馈中提出宝贵意见,以便于系统的不断升级,更好的实现各方面的功能。54 哈尔滨工业大学工程硕士专业学位论文图5-10系统帮助模块5.5本章小结本节基于DBN分类模型设计与实现了了云平台下的故障诊断系统,首先通过需求分析对系统的主要功能进行设计,其次,基于DBN程序的编写环境与页面开发环境确定了系统搭建的架构,然后对实现本系统所需要的关键技术进行具体的介绍,对系统搭建的主要流程进行规划。最后,完成了基于深度学习的故障诊断系统的设计与开发,以轴承数据及为例,实现了故障在线实时监测的核心功能,同时实现了系统中的其他功能如历史故障信息查询、诊断模型选择等,为系统的使用者提供便利的条件,为日后的应用于工程实践搭建好了平台。55 哈尔滨工业大学工程硕士专业学位论文结论本文以“机械大数据”背景下机械设备的故障诊断为主要研究问题,深入研究了基于深度学习方法的故障诊断技术,解决了传统故障诊断方法不能有效利用故障数据全部信息,以及深度学习算法中网络训练时间长的问题,并做出了在实际应用中的探索。本文的主要研究成果如下:(1)针对传统故障诊断方法中故障数据未有效利用问题,给出了一种基于深度置信网络(DBN)+参数寻优的故障诊断方法。在对DBN深度学习网络的参数设置问题进行了深入研究的基础上,引入网格法对DBN学习网络的参数进行优化,提高了模型的分类准确率,并利用凯斯西储大学轴承数据集对所提出的故障诊断方法进行了验证,并与文献中的研究成果进行了对比,结果表明,所提出的方法具有更高的准确性。该方法以原始数据为输入,避免了传统故障诊断方法中由于特征提取、特征选择所带来的信息缺失问题。(2)针对深度学习算法网络训练时间长的问题,本文结合深度置信网络的程序编写的Matlab环境,研究了将参数寻优过程进行计算机集群并行计算方法的研究,给出了基于MatlabMPI的分布式计算环境构建方案。利用机架式服务器的优越条件,在Matlab编程环境下,搭建了基于MatlabMPI的计算机集群分布式计算环境,极大地提高了深度学习网络的训练效率,解决了制约深度学习方法应用的瓶颈问题,为实现基于机械大数据的故障诊断奠定了基础。(3)针对其他方法仅通过算法对故障进行分类与验证,并没有相关应用的问题。本文首先通过HTML+JavaScript+CSS技术实现Web客户端页面的开发,其次,并构建了Matlab+Java+SQLServer三层架构,实现了通过Java程序调用Matlab故障诊断模型与SQLServer数据库实现具体的应用。最后,利用Servlet与AJAX等技术实现了客户端与服务器端的实时数据交互,开发了基于深度学习的故障诊断系统,实现了故障诊断实时监测等功能。由于研究时间有限,本文中的研究工作还存在一些不足,后续的研究工作还可以从以下几方面进行展开:(1)结合实验室设备,采集故障诊断数据,并对综合振动信号、能耗信号、噪声信号等多源数据进行故障诊断,实现多源异构信号的故障诊断方法。(2)本文将并行计算应用在实现算法的参数寻优上,对算法层面上的并行计算研究是值得研究的方向。56 哈尔滨工业大学工程硕士专业学位论文(3)本文所开发的故障诊断系统仅是对工程实践的初步探索,在今后的研究中可以结合实际案例,开发更为全面、系统的应用。57 哈尔滨工业大学工程硕士专业学位论文参考文献[1]付阶辉.基于Petri网的故障诊断方法研究[D].东南大学,2004.[2]雷亚国.基于深度学习理论的机械装备大数据健康监测方法[J].机械工程学报,,2015,(21):49-56.[3]高松,刘志刚,徐建芳,何士玉,高仕斌.基于模型诊断和专家系统的牵引变压器故障诊断研究[J].铁道学报,2013,35(07):42-49.[4]符向前,蒋劲,孙慕群,匡美珍.水电机组故障诊断系统中的模糊诊断技术研究,[J].华中科技大学学报,2006,(01):81-83.[5]禹建丽,卞帅.基于BP神经网络的变压器故障诊断模型[J].系统仿真学报,,2014,26(06):1343-1349.[6]刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研,2014,31(07):1921-,1930.[7]樊雅琴,王炳皓,王伟,唐烨伟.深度学习国内研究综述[J].中国远程教育,2015,(06):27-33.[8]XiongJ,ZhangQ,LiZ.AnInformationFusionFaultDiagnosisMethodBasedonDimensionlessIndicatorswithStaticDiscountingFactorandKNN[J].IEEESensorsJournal,2016,16(7):2060-2069.[9]林国杨.循环水泵振动故障分析及治理[J].南京航空航天大学,2016.[10]VenkatasubrarnanianV,RengaswamyR,SN.Areviewofprocessfaultdetectionanddiagnosis:PartII:Qualitativemodelsandsearchstrategies[J].Computers&ChemicalEngineering,2003,27(3):313-326.[11]朱永娇.刘洪刚基于定性模型和定量知识集成的智能故障诊断方法研究[J].科学技术与工程,2007,7(13):3007-3110.[12]张登峰,王执锉.控制系统故障诊断的理论与技术闭[J].数据采集与处理,,2002,17(3):293-299.[13]李兆飞.振动故障分形特征提取及诊断方法研究[D].重庆大学,2013:1-2.[14]JayaswalP,WadhwaniAK,MulchandaniKB.Rollingelementbearingfaultdetectionviavibrationsignalanalysis[J].InternationalJournalofScienceandTechnology,2008:7-20.[15]HarmoucheJ,DelphaC,DialloD.Improvedfaultdiagnosisofballbearingsbasedontheglobalspectrumofvibrationsignals[J].IEEETransactionsonEnergyConversion,2015,30(1):376-383.58 哈尔滨工业大学工程硕士专业学位论文[16]KankarPK,SharmaSC,HarshaSP.Faultdiagnosisofballbearingsusingcontinuouswavelettransform[J].AppliedSoftComputing,2011,11(2):2300-2312.[17]LeiLu,JihongYan,ClarenceW.deSilva.Dominantfeatureselectionforthefaultdiagnosisofrotarymachinesusingmodifiedgeneticalgorithmandempiricalmodedecomposition[J].JournalOfSoundAndVibration,2015,344:464-483.[18]雷亚国,何正嘉,訾艳阳.基于特征评估和神经网络的机械故障诊断模型[J].,西安交通大学学报,2006,(05):558-562.[19]赵志宏.基于振动信号的机械故障特征提取与诊断研究[D].北京交通大学,2012.[20]刘蕴哲,胡金海,任立通,姚凯翔,段进峰,陈林.基于特征选择与概率神经网络的轴承故障诊断研究[J].机械传动,2016,40(10):48-53.[21]GuangzhuChen,YuanfangWu,LinFu,NanBai.Faultdiagnosisoffull-,hydraulicdrillingrigbasedonRS–SVMdatafusionmethod[J].Journalofthe,BrazilianSocietyofMechanicalSciencesandEngineering,2018,(40):1-11.[22]吕中亮.基于变分模态分解与优化多核支持向量机的旋转机械早期故障诊断方法研究[D].重庆大学,2016.[23]卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016,31(01):1-17.[24]Wang,Chien-Yao,Wang,Jia-Ching;Santoso.AndriSoundEventRecognitionUsingAuditory-Receptive-FieldBinaryPatternandHierarchical-DivingDeepBeliefNetwork[J].Ieee-AcmTransactionsOnAudioSpeechAndLanguageProcessing,2018,26:1336-1351.[25]Best-Rowden,Lacey,Jain,AnilK.LearningFaceImageQualityFromHumanAssessments[J].IeeeTransactionsOnInformationForensicsAndSecurity,2018,13:3064-3077.[26]Chaturvedi,Iti;Cambria,Erik;Welsch,RoyE.Distinguishingbetweenfactsandopinionsforsentimentanalysis:Surveyandchallenges[J].InformationFusion,2018,44:65-77.[27]AlThobianiF.Anapproachtofaultdiagnosisofreciprocatingmpressor,valvesusingTeager–Kaiserenergyoperatoranddeepbeliefnetworks[J].Expert,SystemswithApplications,2014,41(9):4113-4122.[28]JiaF,LeiY,LinJ,etal.Deepneuralnetworks:Apromisingtoolforfault,,59 哈尔滨工业大学工程硕士专业学位论文characteristicminingandintelligentdiagnosisofrotatingmachinerywithmassivedata[J].MechanicalSystemsandSignalProcessing,2016,(72):303-315.[29]Shao,Haidong;Jiang,Hongkai;Zhang,Haizhou.MechanicalsystemsAndsignalprocessing.2018,100:743-765.[30]Jing,Luyang;Zhao,Ming;Li,Pin.Aconvolutionalneuralnetworkbasedfeaturelearningandfaultdiagnosismethodfortheconditionmonitoringofgearbox.,Measurement.2017,(111):1-10.[31]LuW,WangX,YangC,etal.Anovelfeatureextractionmethodusingdeepneuralnetworkforrollingbearingfaultdiagnosis[C].ControlandDecisionConference(CCDC),201527thChinese.IEEE,2015:2427-2431.[32]孙文珺.基于深度学习模型的感应电机故障诊断方法研究[D].东南大学,2017.[33]王丽华,谢阳阳,张永宏,赵晓平,周子贤.采用深度学习的异步电机故障诊断方法[J].西安交通大学学报,2017,51(10):128-134.[34]张绍辉.基于多路稀疏自编码的轴承状态动态监测[J].振动与冲击,2016,,35(19):125-131.[35]雷亚国,贾峰,周昕.基于深度学习理论的机械装备大数据健康监测方法[J].机械工程学报,2015,51(21):49-56.[36]Wang,Xingqing;Li,YanfengRui,Ting.journalofvibroengineering,2015:17(3):1295-1308.[37]ChenZhiqiang,LiChuan,Sanchez,Rene-Vinicio.Multi-layerneuralnetworkwithdeepbeliefnetworkforgearboxfaultdiagnosis[J].JournalOfVibroengineering,2015,17(5):2379-2392.[38]仲志丹,樊浩杰,李鹏辉.CNN-SVM模型在抽油机井故障诊断中的应用[J].,河南理工大学学报(自然科学版).2018,(04)Z:112-117.[39]齐林海,艾明浩.一种基于云计算的电压暂降并行计算方法[J].中国电机工程学报,2014,34(31):5493-5499.[40]潘沙,李桦,夏智勋.高性能并行计算在航空航天CFD数值模拟中的应用[J].计算机工程与科学,2012,34(08):191-198.[41]刘卫东,王勇.基于MPI方法实现牵引供电计算的并行仿真[J].电气化铁道,2004,(03):1-3.[42]彭安帮,彭勇,周惠成.跨流域调水条件下水库群联合调度图的多核并行计算研究[J].水利学报,2014,45(11):1284-1292.[43]张强,赵齐乐.OpenMP并行计算在全球电离层反演中的应用[J].武汉大学学60 哈尔滨工业大学工程硕士专业学位论文报,(信息科学版),2018,43(02):227-233.[44]赵辉,孙红艳.多核并行计算在避雷器试验管理系统中的应用研究[J].福建电脑,2017,33(12):22.[45]Hinton,GeoffreyE.;Osindero,Simon;Teh,Yee-Whye.Afastlearningalgorithmfordeepbeliefnets[J].NeuralComputation,2006,18:1527-1554.[46]刘林凡.深度学习在故障诊断中的研究综述[J].新型工业化,2017,7(04):45-48.[47]刘方园,王水花,张煜东.深度置信网络模型及应用研究综述[J].计算机工程与应用,2018,54(01):11-18.[48]夏创文.高速公路网运行监测若干关键技术研究[D].华南理工大学,2013.[49]葛强强,基于深度置信网络的数据驱动故障诊断方法研究[D],哈尔滨工业大学.2016,116.[50]HintonGE.Trainingproductsofexpertsbyminimizingcontrastive,divergence[J].NeuralComputation,2002,14(8):1771-1800.[51]赵旻昊.基于深度学习的数据融合在FPSO监测预警系统上的应用[D].天津大学,2014.[52]张伟.基于卷积神经网络的轴承故障诊断算法研究[D].哈尔滨工业大学,2017.[53]陈康.基于深度学习的重载车辆齿轮箱的云故障诊断研究[J].自动化应用,,2017(12):34-38.[54]单外平.基于深度信念网络的变速器故障分类识别研究[D].华南理工大学,2015.[55]FengJia,YaguoLei,JingLin,XinZhou,NaLu.Deepneuralnetworks:A,promisingtoolforfaultcharacteristicminingandintelligentdiagnosisofrotatingmachinerywithmassivedata[J].MechanicalSystemsAndSignalProcessing,2016,(72):303-315.[56]廖湘科,沈志宇.异构并行计算与PVM[J].全国计算机新技术与高层次计,,算机继续教育研讨会,1995.[57]娄旭伟.云制造环境下生产资源虚拟化的研究与实现[D].哈尔滨工业大学,2017.61 哈尔滨工业大学工程硕士专业学位论文致谢转眼间,研究生生活即将结束,在这两年的学习时光中,我收获了很多知识,提升了很多能力,结识了很多朋友。纵然伴随离别的伤感,但是可以在走向社会的同时利用所学会的知识和技能回报社会与国家的大力培养使我内心非常激动。在此,我要感谢在这两年生活中帮助过我的的老师、同学和亲人。首先,我要感谢我尊敬的导师闫纪红教授。老师严于律己、求真务实的工作作风深深地影响着我,使我可以充分利用两年的宝贵时间潜心科研、拓宽视野、提升素质。感谢老师在科研方面提供的优质资源与悉心指导,正是这些让我在科研的道路上少走弯路。老师的一言一行都向我传递着“规格严格,功夫到家”的精神,不仅在科研上激励着我,为人处世上也为我指引了方向,我相信这必将成为我人生中最为宝贵的精神财富。同时,感谢课题组郭超众老师、赵立忠老师、卢磊老师在科研以及生活中对我的帮助,各位老师勤于治学的精神、平易近人的态度深深感染着我,感谢各位老师的指导和帮助。另外,我要感谢课题组的傅梓敏、张晨旭、张艳玲,师姐孟悦、师弟张明阳、李柏林、师妹胡媛媛,科研之旅与你们一起同行是我的荣幸,正是你们的陪伴与帮助才使我可以快速的进步,也为我的科研生活增加很多乐趣。感谢我的室友陈广勇、吴君斌、金登峰,感谢你们的支持与关心,感谢16S0826班的所有同学,很开心与你们共同学习、共同进步,这两年宝贵的经历必将成为我记忆中无法抹去的一部分。感谢我的父母与亲人,谢谢你们的理解与支持,谢谢你们的奉献与温柔,我的成功也是你们的成功,我必将用我一生的精力与完成你们的梦想,报答你们的无私大爱与养育之恩。最后,感谢百忙之中评阅论文的各位专家与教授、感谢您们对本文提出的宝贵意见。63

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭