摘 要
点焊机是一种重要的焊接设备,广泛应用于航空航天、原子能、电子技术、汽车和轨道客车制造等工业部门,其利用效率的高低直接决定企业的生产成本。然而,目前对普通点焊机运行过程的研究主要面向设备的故障诊断和维护,而缺乏针对点焊机加工过程中的运行状态变化规律及其识别方法的支持。为此,本论文从点焊机加工过程模式识别的角度,提出一种基于隐马尔科夫算法的点焊机运行状态识别,研究内容如下。
首先,介绍点焊机的结构,分析点焊机的运行状态,并对运行状态进行分类,明确了点焊机状态识别的目的,即是对点焊机运行过程中的隐藏状态进行识别。提出基于HMM算法的点焊机运行状态识别,并对HMM算法在实际应用中存在的问题进行分析,为下文研究奠定基础。
其次,针对基于HMM算法的点焊机运行状态识别存在对初始模型敏感,容易陷入局部极值点的不足,提出一种基于改进遗传算法和HMM算法的点焊机运行状态识别,其中改进遗传算法用于优化HMM初始模型,而HMM则为分类器。同时对标准遗传算法存在早熟和局部搜索能力弱的问题也进行改进。通过应用案例验证所提出算法的有效性。
在此基础上,针对基于HMM算法的点焊机运行状态识别,在利用EM算法进行模型参数估计时,需要遍历所有的观测序列,造成冗余状态转移,影响算法的计算效率,提出基于Aitken-IEM算法的点焊机运行状态识别。在参数估计过程中利用IEM算法选择部分观测序列来重估HMM的参数,当算法的收敛速度比较缓慢时,切入Aitken算法进行提速。通过应用案例对所提出算法的有效性进行验证。
最后,针对基于HMM算法的机床运行状态识别,当观测序列更新时,Baum-Welch算法需要从头开始参数估计,提出一种改进HMM增量学习方法,同时针对Viterbi算法在运行状态识别时存在的问题,也提出相应的改进方法。通过应用案例验证所提出算法的有效性。
关键词:普通点焊机,状态识别,隐Markov算法,遗传算法,增量学习
目录
摘要 3
ABSTRACT 4
1 绪论 12
1.1 论文选题背景 12
1.2 国内外相关领域的研究现状分析 13
1.2.1 数字装备运行状态识别研究 13
1.2.2 基于几种典型方法的数字装备运行状态识别研究 18
1.2.3 点焊机运行状态识别研究 24
1.2.4 基于HMM的点焊机运行状态识别研究 25
1.2.5 现状分析 31
1.3 论文研究的目的意义及课题来源 32
1.3.1 论文研究的目的意义 32
1.3.2 论文的课题来源 32
1.4 论文研究内容的安排 33
1.5 本章小结 34
2 点焊机运行状态识别研究 35
2.1点焊机的结构 35
2.2 运行状态分析 36
2.2.1 点焊机工作方式分析 36
2.2.2 运行状态影响因素分析 36
2.3 运行状态分类 37
2.4 HMM点焊机运行状态识别 38
2.4.1 HMM的定义 38
2.4.2 HMM点焊机运行状态识别的可行性 39
2.4.3 HMM点焊机运行状态识别的实现过程 39
2.4.4 HMM算法实现中的问题 42
2.4 本章小结 46
3 基于改进遗传算法和HMM算法的点焊机运行状态识别研究 47
3.1 点焊机运行状态识别的初始模型选取分析 47
3.2 点焊机运行状态识别的初始模型选取方法 48
3.3基于改进遗传算法(IGA)和HMM算法的点焊机运行状态识别 55
3.4 应用案例 57
3.4.1 实验环境及数据采集 57
3.4.2 实验过程及结果分析 59
3.5 本章小结 67
4 基于Aitken-IEM算法的点焊机运行状态识别研究 68
4.1 点焊机运行状态识别的训练算法分析 68
4.2 点焊机运行状态识别的模型参数训练算法 68
4.3 基于Aitken-IEM算法的点焊机运行状态识别 73
4.4 应用案例 74
4.4.1实验环境及数据采集 74
4.4.2 实验结果分析 75
4.5 本章小结 81
5 基于改进HMM增量学习算法的点焊机运行状态识别研究 82
5.1 点焊机运行状态实时识别过程分析 82
5.2 点焊机运行状态实时识别过程的增量学习算法 82
5.2.1 增量Baum-Welch算法 83
5.2.2 增量Viterbi算法 86
5.3 基于改进HMM增量学习算法的点焊机运行状态识别 87
5.4 应用案例 88
5.4.1实验描述及数据采集 89
5.4.2 实验结果分析 89
5.5 基于IGA-HMM、Aitken-IEM及改进HMM增量学习算法的点焊机运行状态识别比较 94
5.6 本章小结 95
6 结论与展望 96
6.1 结论 96
6.2 展望 96
致谢 98
参考文献 99
附录 110
A. 攻读博士学位期间发表的论文目录 110
B. 攻读博士期间参加的科研项目 110
1 绪论
1.1 论文选题背景
点焊作为一种经济、快速的连接方式,广泛应用于航空、航天、原子能、电子技术、汽车和轨道客车制造以及轻工业等工业部门,具有能量集中、变形小、辅助工序少、无需填加焊接材料、生产效率高、操作简便和易于实现自动化等特点[1]。点焊是焊件装配成搭接接头,并压紧在两电极之间,利用电阻热融化母材金属,形成焊点的电阻焊方法[2]。点焊设备主要由焊接电源、电极头、压力机构等部分构成。
点焊过程属于动态变化过程,表现在:随着加热的不断进行,熔核将产生从无到有、从小到大的变化。焊接时,焊接电流、电极间电压、动态电阻、电极位移等工艺参数的变化都可以反映熔核的形成过程,同时也会引起点焊机运行状态的变化。但是这些工艺参数与点焊机运行状态之间的关系却难以用数学公式清晰的加以描述,因此可以将点焊机加工过程中某个监测信号的特征量作为焊接过程运行状态识别的依据,即采用监测信号的特征分量来描述点焊机的运行过程。基于该思想,目前提出了多种基于单个监测信号的点焊机运行状态识别方法,并在实际生产中得到成功应用,但是也存在诸多不足。其原因在于:焊接过程是一个集电、热、力综合作用的过程,随着加工任务、材料、工艺参数如焊接电流、压力大小的变化都可能造成点焊机运行状态的改变。根据焊接过程中监测信号的某个特征量来间接的反映点焊机运行状态,由于焊接过程的复杂性,该方法只能在局部范围内提供有用的信息,导致其监测效果不够理想,严重影响了其进一步应用,如利用监测结果来进行运行状态识别。所以,单个参数的监测结果无法全面的反映焊接过程中的众多因素产生的影响。为了克服这一方法存在的不足,有必要利用各种监测信号提供的结果,为点焊机运行过程分析可靠信息。
目前,对点焊机运行过程进行监测,主要分为两种情况:一是数控系统完全开放的点焊机,只需要获取加工代码,在代码中插入宏指令,就可以全面、准确的获取焊接过程中的电流、电压等动态参数。另一种是数控系统未完全开放或者普通点焊机,获取上述动态参数的方法十分有限,通常是利用传感器来对焊接过程进行监测,在对获取的动态参数进行处理分析后,存储到电脑中,为下一步的分析奠定基础。
综上所述,焊接过程中引起点焊机运行状态变化的因素众多,要实现点焊机运行状态识别,可以将监测到的动态信号进行分析处理后,作为运行状态识别的输入参数,根据点焊机运行状态的估计结果,可以对点焊机运行过程进行更好的控制,使点焊机运行达到最优。同时,为设备管理、车间管理及生产管理提供依据。
1.2 国内外相关领域的研究现状分析
1.2.1 数字装备运行状态识别研究
数字装备运行状态识别就是根据装备的运行状态信息,判断其当前所处的状态。一般地,完整的运行状态识别过程主要包括信号获取、特征提取以及状态识别三部分,如图1.1所示。
(1)信号获取
信号获取是状态识别的第一步,数字装备监测信号从不同的角度反映了装备状态的变化。在加工过程中,反映其运行状态的信号很多,包括:电机功率、声发射信号、振动信号、切削力、温度、扭矩等。这些信号可以通过数控系统提取或利用相关的传感器来进行检测,信号检测直接决定监测系统的成败。在对数字装备的监测中,针对不同的目的和不同装备的特点,人们研究出了多种不同的方法。以下列举几种常用的手段:
①声音监测法
通过声音信号来监测设备的类型和加工类型是目前比较热门的一个课题,设备发出的声音信号不仅含有其运行状态信息,而且还包含有能反映设备自身结构的信息,这些信息包含设备中齿轮啮合、轴承转动,以及加工过程中刀具切割工件时产生的声音,不同的设备结构有不同的特点,不同的加工状态更会有不同的声音,于是可以通过声音信号获取这些信息[3]。
Delgado-Arredondo[4]提出了基于声音和振动信号的感应电动机故障检测方法。Ubhayaratne [5]将音频信号用于监测钣金冲压的刀具磨损。常飞[6]针对简便故障的准确预测问题,提出了一种基于Mel频率倒谱系数(MFCC)特征提取的故障预测方法。首先通过监测对象上安装的声传感器获得机器当前运行的声音信号;然后声音信号经过预处理后,将其进行Mel变换,获得其MFCC特征向量;最后经SVM分析器对机器运行时的测试数据和所存机器正常运行样本数据进行聚类分析,给出机器的健康评价。朱国奎[7]提出以铣削声音为监测信号的方案,搭建基于铣削声音信号的刀具状态监测平台,设计了基于LanVIEW的实验数据采集系统软件平台,并通过小波变换对实验结果进行了论证。郭庆[8]针对钻头磨损在线监测,提出基于钻头工作声音信号累积功率谱的失效监测法。采用驻极体声电转换器采集声信号,根据钻头磨损的慢变性,提出基于累积功率谱提取能量特征集的方法,并使用BIF特征选择结合Fisher准则筛选最优特征集,解决特征数量较多的问题。最后,利用二分类逻辑回归实现特征集与磨损量之间的数学建模,以h函数值作为失效判断的依据。
②电流监测法
因为机械设备都需要电机提供动力,当设备状态发生大的变化时,电机提供的动力改变,电机电流信号中会出现相应的改变,直接从电流的频率分布、能量波动等信号上就可以反映出来[3]。其所依据的原理是电机在为设备提供动力的同时,随着设备故障的出现、状态的改变,必然会引起电流的变化,并且这种变化会沿着电源电缆传输,只需要对供电电流信号进行检测分析,就能判断电机及其拖动设备状态的改变。
Patra[9]提出基于人工神经网络的电机电流信号来预测钻头磨损。Liu[10]提出基于进给电机电流信号的铣削力重构。Moorthy[11]提出基于支持向量机的多分辨率电机电流信号特征分析。毛新勇[12]就主轴电流中存在的时变非线性干扰,基于切削力信号的时频分析,应用小波重构切削力波动的表征量,在实际加工中无需测力仪,直接基于主轴电流信号实现对切削力的实时监测。万晓慧[13]采用倒频谱法对不锈钢点焊过程中有、无飞溅的电流信号进行变换,分析比较两种情况下电流信号的倒频谱图,发现它们的倒频谱图在对称性、尖峰个数和大小方面具有明显差异。该方法可以提取出点焊过程飞溅的特征量,为检测焊接过程是否发生飞溅提供了一种方法。
张勇[14]基于TMS320LF2407A型DSP,研制了一套焊接电流的信号采集、液晶显示及分析系统,实现了点焊电流信号采集、快速傅里叶变换、波形及频谱图的液晶显示以及数据存储。实验结果表明,系统的软、硬件设计是合理的,可在点焊过程中对电流波形进行实时显示和分析处理。刘鹏飞[15]以混沌理论和相空间重构理论为基础对点焊焊接过程中电流信号的时间序列进行了特征分析,分别对电流信号时间序列的最佳时间延迟 、关联维数 、嵌入维数 及最能体现混沌特征的Lyapunov指数进行了定量化的计算,发现点焊焊接过程中电流信号在某些情况下具有混沌特征。分析了影响电流信号的因素个数,给出了混沌意义上的最大电流信号时序的预测尺度。李全宝[16]针对实际加工中遇到电流信号处理的问题,利用互相关分析方法对电流信号进行处理,提取电流信号和铣削力信号的频谱特征,实验结果表明此方法对电流信号的处理效果显著,能够对铣削力信号进行监测。张捷[17]提出基于伺服电机电流的切削力监控方法,该方法通过对伺服电流信号进行时域、频域分析,给出实时提取切削刃力波动表征信号的方法。
③切削力监测
刀具作为切削过程的直接执行者,在切削过程中不可避免的存在受力磨损和破损等现象。如果不对磨钝的刀具采取措施,可能会导致工件报废,甚至损坏设备。因此对刀具工况的监测具有重要意义。
Zhang[18]提出利用切割芯片进行超精密光栅铣削的刀具磨损状态监测方法。Ratava [19]利用加速度传感器来对中断切削时刀具状态进行监测。夏海涛[20]提出基于切削力实现铣刀实时监测的方法。在考虑切削参数一定时,建立了切削力与后刀面磨损量(VB值)的数学模型。通过提取切削力信号方差,建立了监测模块。何光伟[21]为研究刀具磨损监测,在数控加工中心进行铣削实验,运用kistler三向测力仪测量铣削过程中的切削力和力矩。对切削力和力矩进行统计处理,计算切削力、力矩与铣刀径向磨损之间的相关性系数。郑建明[22]从时域、频域提取了切削力信号特征参数随着刀具磨损量增加的变化规律,提取了切削力信号的峰值因子、Kurtosis系数和频段带能量组作为刀具磨损量监测特征参数,并将各个特征量构成的特征矢量输入改进的多层反传神经网络进行融合,实现钻削过程刀具磨损量的智能识别。
李文德[23]研究了一种基于声表面波原理的切削力测量智能刀具,能在切削加工中实现主切削力的实时测量,并具有无线、无源的测量优势,能够适应复杂的加工环境。建立了切削力与声表面波谐振器石英基片应变的关系模型,分析了声表面波谐振器谐振频率,得到了切削力与声表面波谐振频率偏移量的关系。倪寿勇[24]提出一种用于旋铣公益的压电式刀齿三向切削力在线测试系统。结合旋铣工艺运动特征对测试系统进行性能要求分析和结构设计,并运用有限元法分析测力仪结构设计的合理性,通过静态加载试验和锤击模态试验获得测力仪的主要性能参数,将测试系统用于旋铣工艺刀齿切削力的测量。董嵩松[25]对目前的刀具监测方法进行了分析,并建立了五轴铣削加工时平头立铣刀磨损状态监测系统。
④功率监测
功率监测法是利用电动机的功率监测法原理工作的。即当数字装备在工作时,主轴电动机的负荷及其电流,电压与电流间的相位置角将会发生变化,导致功率变化。利用这一变化规律可实现对装备加工过程的自动检测。对于一个基于功率信息的状态监测系统,首先需要通过一定的方法获得功率信息,目前获取功率信息的主要方法是使用传感器,可通过电流和电压传感器分别得到电流和电压数值,而后计算得到功率值;也可直接通过功率变送器或者传感器直接获得功率信息。获得功率信息后需要对其进行处理,而后对信号进行检验,判断其是否发生异常,并根据监测结果做出响应[26]。
郭兴[27]提出一种基于人工神经网络的铣刀破损功率监测方法,建立了一个铣刀破损功率监测系统,实验表明:该神经网络方法能够灵活地检测出道具破损,且具有在较宽的工作范围内识别铣刀破损的特点。王旭红[28]针对深孔加工过程功率监测信号含有大量脉冲干扰和随机非平稳噪声的特点,采用自适应滤波方法对监测到的功率信号进行消噪。
(2) 特征提取
特征提取是从信号中获取信息的过程。通过对信号的分析与处理,从大量信号中提取出与装备加工状态变化相关的参数,目的在于提高信号的信噪比,增强系统的抗干扰能力。提取的特征参数的品质对检测系统的性能和可靠性具有重要的影响。目前,关于信号的特征提取开展了大量的研究。
郑海波[29]在其博士论文中指出:特征提取是当前机械故障诊断研究中的“瓶颈”问题,为此利用非平稳、非高斯信号处理理论中最受关注的小波变换、时频分布和双谱理论,对非平稳、非高斯的机械振动信号的特征提取与故障诊断问题进行了深入研究。文中提出了一种基于小波神经网络故障诊断系统,并利用该系统对变速箱三挡齿轮故障程度进行了估计;同时提出基于小波包能量分布的齿轮故障特征信号提取方法,可以将齿轮啮合振动信号、干扰振动信号以及故障冲击振动信号从原始齿轮振动信号中分离出来。王奉涛[30]把局域波时频分析方法和人工智能方法引入到故障诊断领域,以解决复杂设备的故障诊断问题。文中引入了时频局部能量的概念,提出了一种基于时频局部能量的特征提取方法,同时还提出了一种基于小波包分解的频带局部能量特征提取方法。
胡晓依[31]指出机械故障诊断的关键是如何从故障振动信号中提取故障特征,而机械故障振动信号本质上是非高斯、非平稳信号,为此研究了适合于机械故障特征提取的非高斯、非平稳信号处理方法,包括基于STFT的振动信号解调及频谱细化分析方法;提出了基于正交镜像堆成滤波器组(QMF)的振动信号分解方法,并构造了一种具有线性相位的两通道QMF滤波器组;提出了基于最优频域紧支小波滤波器预处理的谱相关密度解调分析方法。于成龙[32]以特征提取的典型方法主成分分析(PCA)和线性判别分析(LDA)为主,将特征提取与特征选择结合起来进行研究,设计与提出基于主成分分析的特征选择算法和基于线性判别分析的高维特征选择算法。王维智[33]针对深度学习方法大多采用特征变换、非线性操作和特征选择(约简)的多层迭代模型,所解决的问题也多集中在具有二维空间结构意义的领域,而对于一般的向量特征却无有效应对方法的问题,构建了一个通用有效的级联深度模型,同时通过组合一种通用的特征变换方法和所提出的特征选择方法,实现了一个多层的级联深度特征学习模型。
童楚东[34]针对多变量统计过程监测(MSPM)方法存在的特征提取、数据降维和多工况或多模态过程监测的问题,以数据特征提取和信息融合为研究主线,针对不同的问题,提出了不同的过程监测方法。如针对主成分分析(PCA)算法存在的截断信息丢失问题,提出一种基于四子空间的监测统计量融合为一个概率型的指标。孟庆丰[35]针对动态信号的复杂性和特征提取的多学科交叉融合特性,研究了离散Fourier变换中存在的谱泄露效应多多频信号的频率、幅值和相位估计精度的影响,提出了一种迭代插值FFT方法;提出用指数衰减正弦波作为字典原子来分解信号,并结合匹配追踪和遗传算法给出了一种自适应信号分解方法。
(3)状态识别
状态识别实质上是通过建立合理的模型,根据特征提取所获得的特征参数对加工过程的状态进行分类判断。到目前为止,专家学者们针对数字装备运行状态识别开展了大量的研究,取得了相当丰富的成果。
Tangjitsitcharoen[36]为了实现机床智能化,开发了数控车削加工过程中的切削状态监测与检测系统,以提高加工过程的稳定性。该方法利用功率谱密度或PSD来动态测量切削过程的切削力。实验结果表明,当切削状态为连续切屑形成、断屑形成和颤振时,PSD有三种类型。Cao[37]提出了一种基于提升方法和马氏距离(MD)的新方法,通过在铣削过程中产生的声发射(AE)信号来检测刀具破损。该方法由三个阶段组成。首先通过研究声发射信号的特殊性,利用提升方法构造了具有冲击特性的双正交小波,并利用小波变换将声发射信号分量与原始信号分离开来。然后采用希尔伯特变换解调信号包络的小波系数和提取刀具状态的特征。最后通过MD直接识别刀具状态。Bhuiyan[38]介绍了一种独立监控刀具状态的切削形成效果的新技术,通过将芯片形成与其它发生频率分开来完成。Karam[39]建立了一个基于人工神经网络的在线认知系统,能够预测车削过程中刀具的寿命。Li[40]提出了一种有效识别孤立(不与其它特征相互作用)和相互作呕用的旋转几何CAD模型轧机/车削零件的方法。
Torabi[41]对铣削过程的最新建模技术进行综述,并详细介绍了基于Al建模技术的最新进展和应用。Hou[42]根据铣削力特征与刀具破损的影响关系,建立了破损刀具的铣削力模型,提出了铣削刀具破损状态的识别方法。在铣削力模型中,分别对摩擦力和剪切力进行处理,描述了刀具侧面摩擦应力分布,然后通过实验对力模型进行标定和验证。Hong[43]提出基于小波包变换和Fisher线性判别的微铣削刀具磨损监测。王海丽[44]采用机床主电机功率法和声发射(AE)法来获取切削过程中发出的刀具磨损和破损信号,建立了刀具状态试验系统。在试验数据的基础上,建立了功率信号的自回归时序模型,在提取作为刀具磨损特征量的模型参数时考虑了切削用量的影响。针对刀具破损时功率信号时域幅值变化的随机性,提出用延时方法处理功率信号,数据分析结果表明,这种方法是可行的。张桂香[45]针对优质超硬材料难加工的问题,分析了电火花磨削特性,研究了电火花磨削加工状态识别及检测方法,研制了间隙电压采样电路和专用模数转换卡及伺服控制系统,解决了电火花磨削加工过程中的关键问题,实现了加工过程的智能控制。
孙岳[46]对介观尺度下三向正交的高速微铣削力混合信号提出一种有效的分离算法,从而获得高速微铣削力的真实信号及机床振动信号并基于此对机床状态进行分析。算法首先以信息量为处理标准将观测信号初步分离,再将分离得到的各分量信号作为行向量构造矩阵,最后对该矩阵进行以高斯性最大为度量的分离,逐一得到各激励源信号,并对其快速傅里叶变换得到频谱,结合机床结构及介观尺度下高速微铣削加工特点,识别微铣削力信号及机床状态信息。毕果[47]利用声发射信号、振动信号和磨削力三种过程信号,提取和筛选全面、互补的特征参数,基于D-S(Dempster-Shafer)证据理论,进行决策层信息融合,实现精密磨削砂轮磨损状态的在线识别。林景栋[48]通过以热室圆盘锯床切削工艺为背景,针对热室圆盘锯床在无法安装测量装置传感器的情况下需要对切削状态进行检测识别的问题进行了研究。通过结合热室圆盘锯床结构特征,选取伺服电机转矩、切削深度和实时切削速度作为状态识别辅助变量,在分析了高斯过程二元分类方法和锯床工艺的基础上设计了一种基于高斯过程分类的切削状态识别器,通过样本数据进行训练后,对热室圆盘锯床的切削状态进行了分类和识别。
钟利民[49]提出了一种利用决策回归树(CART)算法来识别砂轮钝化状态的方法。对磨削过程中产生的声发射信号使用小波分析进行多尺度分解,提取各层小波能量将其作为砂轮钝化状态所对应的多个特征,然后通过CART算法构建出一个多分类决策树,对砂轮所处的各种钝化状态实现了精确分类。黄广奕[50]以端面铣刀为研究对象,提出了一种基于二进制粒子群算法的铣削力信号特征优选方法。该算法采用相关准则给定适应度函数,以此计算粒子适应值。通过二进制编码方式,寻找全局最优解作为最优特征构成特征子集。最后将优选的铣削力信号特征子集输入到三层BP神经网络进行模式识别。王志强[51]针对微铣刀磨损状态在线检测提出了一种新的方法。首先,通过采集待测刀具的铣削振动信号,并采用长度分形维数法提取其特征参量,同时设定微铣刀不同的磨损状态作为参考样本;然后,采集不同样本的多段时域信号,并提取特征参量,进而根据区间估计法确定参考样本的聚类域;最后,将待测刀具的特征参量与参考样本的聚类域进行比较来判断刀具的磨损状态。
1.2.2 基于几种典型方法的数字装备运行状态识别研究
(1)神经网络
Konrad[52]提出了一种用于检测铣削故障的新方法,根据测得的切削力来估计每个刀片的铣削力,使用分类器来进一步来处理估计参数的模式,从而确定铣削过程的状态。Ozel[53]利用神经网络建模来预测加工时间内的各种切削条件下的表面粗糙度和刀具端面磨损。Zawada-Tomkiewicz[54]利用神经网络来分类车刀磨损。Seong[55]将多层感知器(MLP)与反向传播算法相结合,提出一种混合神经网络,用于异常状态的监测与诊断。同时,利用自组织特征图(SOFM)对切削力信号进行分类与预测。Liu[56]提出了基于增量学习算法的Ellipsoid ARTMAP(EAM)网络模型,用于在线学习与刀具状态监测。EAM模型的主要特征是将超椭球用于几何表示的类别,可以鲁棒和准确的描述样本分布。同时,基于自适应谐振策略可以实现局部和单调更新超椭球节点。因此,该模型具有强大的增量学习能力,保证构建的分类器能够在不遗忘旧知识的情况下学习新知识。Fu[57]利用从端铣获得的振动信号构建深度神经网络,以建立切削状态监测的特征空间。通过贪心分层策略对网络进行预处理,并采用反向传播方法对标准样本进行微调。
张毅[58]以车削加工过程为对象,研究恒切削力加工过程中当切削深度发生突变时,如何减少系统输出切削力超调的问题。将预测控制策略与神经网络理论相结合,在神经网络学习时,使切削进给在切削深度发生突变前提前发生相应变化,提出了恒力切削过程的神经网络预测控制算法。胡艳娟[59]建立线性回归铣削力预测模型和BP神经网络铣削力预测模型,对铣削力进行预测,获得预测值与实验值的拟合曲线,然后通过线性回归理论对实验采集的铣削力数据进行去除异常数据点,再将实验数据放入BP神经网络预测模型中进行训练及铣削力的预测,获取预测值与实验值的拟合曲线,结果表明BP神经网络铣削力预测模型更合适,并通过线性回归理论去除异常点后的数据,使得BP神经网络预测更加精确。李鹏阳[60]将仿生学中的脉冲耦合神经网络(PCNN)引入刀具磨损检测中,利用刀具磨损区域灰度强度明显高于刀体和背景区域灰度强度的特点,通过空间邻域和灰度相似集群像素获得分割的二值图像,从而达到对刀具磨损区域进行检测的目的。张义民[61]基于斜角切削理论,建立铣削力计算模型,求解得到铣削力。构建薄板手里变形的挠度函数,结合刀具的受力求解刀具-工件耦合变形的铣削力让刀误差。采用神经网络拟合方法,求出输入铣削参数与输出最大让刀误差的函数关系。考虑刀具参数、材料参数、工件参数以及加工工况等随机参数对金属切削的影响,利用蒙特卡洛方法,对输入参数进行抽样,将参数样本代入神经网络拟合的函数模型中,获得铣削让刀误差样本,并分析其概率特性,从而提出一种铣削让刀误差的概率分布预测方法,较确定性计算铣削让刀误差的方法更加符合实际。
金成哲[62]针对传统切削公式无法精确预测微细铣削零件表面粗糙度的问题,提出一种基于人工神经网络的表面粗糙度预报方法,利用试验选择不同切削参数组合进行铣削试验,将结果分为两部分,一部分数据用作BP神经网络的训练样本并最终建立预报模型,另一部分用作测试样本,与相同切削参数条件下的神经网络预测值进行对比。从而证明BP神经网络对于微细铣削表面粗糙度值具有很高的预测精度。高世龙[63]以加工表面粗糙度与切削用量三要素的关系为对象,采用正交试验方法,利用立方氮化硼刀具对冷作模具钢Cr12MoV进行硬态干式车削试验,测量得到选定参数条件下的加工表面粗糙度值,并应用人工智能神经网络方法建立了加工表面粗糙度预测模型。崔伯第[64]采用PCBN刀具进行高速硬车削AISI P20淬硬钢的切削试验,并通过方差分析研究切削速度、进给量、切削深度和刀尖圆弧半径对切削力的影响。基于获得的试验数据,应用人工神经网络方法建立高速硬车削P20淬硬钢时的切削力预测模型。
石建[65]为了实现砂轮磨损状态在线检测,提高砂轮磨损状态检测的准确性,研究了法向磨削力与砂轮磨损的对应关系;利用小波分解系数统计法对声发射(AE)信号进行了分析;把法向磨削力和统计小波分解系数的特征作为识别砂轮磨损状态的参数指标,建立了基于神经网络(BP)的砂轮磨损状态识别模型。张绍武[66]对插铣铣削力进行了理论分析,并基于正交试验方法对铣削力进行了测量试验,然后利用遗传算法对BP神经网络的权值和阈值进行优化,建立了预测铣削力的遗传神经网络模型,最后将经过遗传算法优化的BP网络与未优化的进行对比分析。刘学士[67]为了克服传统BP神经网络的学习速率慢,容易陷入局部极小点等缺点,采用遗传算法对BP神经网络的初值空间进行遗传优化。用遗传算法来优化BP神经网络的权重和阈值,得到最佳的初始权值矩阵,并按照误差前向反馈算法沿负梯度方向搜索进行网络学习的方法对磨削力进行预测。王民[68]利用模糊集理论,将专家知识转化为神经网络可直接处理的模糊if-then规则,利用专家知识作为典型样本对模糊神经网络进行训练,这样节省了大量获取样本的时间,同时又不降低网络的准确性。将之应用于镗削加工中颤振的判别,取得了良好的效果。
(2) 支持向量机
Bhat[69]提出了一种基于内核的支持向量机(SVM)对刀具磨损状态进行分类的新技术,该技术应用于从加工表面图像的灰度共生矩阵(GLCM)中提取特征。通过高斯和多项式内核将刀具状态划分为锋利、半空和钝的状态。结果表明所提出的方法对于在线判别刀具状态是有效的。Yang[70]结合留一技术和Nelder-Mead技术,提出了一种基于改进最小二乘支持向量机方法的新型刀具磨损状态预测模型。其中留一技术用于调整最小二乘支持向量机的正则化因子和径向基核函数,以提高全局搜索能力,而Nelder-Mead则用于改善局部搜索能力。Garcia-Nieto[71]以粒子群(PSO)和支持向量机(SVM)为基础,建立了一种新的实用的混合回归模型,以预测铣削刀具的磨损,以及铣削刀具的输入和输出。Kong[72]提出了基于内核主成分分析和v-支持向量机回归的刀具磨损监测。
聂鹏[73]根据声发射信号的非稳态、非线性的特点,提出一种基于EEMD应用于刀具磨损状态识别的方法。通过EEMD获取无模态混叠的IMF分量;通过敏感度评估算法从所有IMF分量重提取敏感的IMF;提取敏感IMF的能量作为支持向量机(SVM)分类器的输入,将刀具分成正常切削、中期磨损和重度磨损3种状态。通过比较EEMD与应用EMD等方法的分类准确率,确立了基于EEMD的方法在提取刀具磨损状态特征信息的优势。江雁[74]针对刀具磨损监测中信号的非平稳特性和小样本建模中神经网络容易陷入局部值的问题,提出基于多传感器信号,运用集合经验模态分解和支持向量机相结合的算法,实现对刀具磨损多状态的识别。首先对振动信号进行集合经验模态分解,将其分解为若干个本征模态函数之和,然后计算得到三向切削力信号的均值和各本征模态函数分量的能量百分比作为磨损状态分类特征,最后运用支持向量机和Elman神经网络对刀具在不同磨损状态下的特征数据样本进行训练和识别。
刘路[75]提出一种基于超球面支持向量机的刀具磨损状态识别方法。该方法提取切削力与震动信号中的多项特征,对各项特征分别进行刀具磨损量相关性分析,选择与刀具磨损变化量最相关的均值、均方值、小波系数能量以及小波系数近似熵组成特征向量。采用超球面支持向量机作为分类器,实现了刀具磨损状态的自动识别。吴石[76]为了预测薄壁件铣削过程颤振的发生,提出了一种应用小波系数特征和多类支持向量机进行铣削颤振预报的党阀。首先基于连续小波变换分别提取高、低频段铣削振动信号的特征,然后利用多类超球支持向量机进行稳定铣削状态、铣削颤振孕育状态、铣削颤振状态识别。为了简化支持向量机进行多类分类时所带来的计算复杂性,该算法使每一类样本都获得一个超球支持向量机,在特征空间中以测试样本与超球中心距离、超球半径作为决策函数来进行识别。何栋磊[77]为了分析铣削加工中复杂的声发射信号和克服EMD方法的模态混叠缺陷,在原始集合经验模态分解的基础上,提出一种改进的EEMD方法应用于铣刀磨损的状态监测。通过引入白噪声准则和中值滤波优化EEMD的算法,并基于香农熵从分解得到的IMF分量重提取有效分量,剔除虚假分量。最后将有效IMF分量的能量作为特征向量输入支持向量机分类器来识别铣刀的磨损状态。
张栋梁[78]为了表征、获取与识别刀具的磨损状态,提出一种基于混沌时序分析方法与支持向量机的刀具磨损状态识别方法。该方法利用混沌时序分析方法重构了刀具声发射信号的相空间,并提取了嵌入维数与Lyapunov系数建立了特征空间。使用支持向量机作为分类器,实现了刀具磨损状态的识别。李威霖[79]针对刀具磨损状态先验样本少和常规神经网络识别模型收敛速度慢、易陷入局部极小值等问题,提出了基于最小二乘支持向量机的刀具磨损状态识别方法,并针对支持向量机的惩罚因子和核参数对模型识别精度影响较大的问题,提出一种根据个体适应度来调整惯性权重的自适应粒子群算法进行自动参数寻优。以车削加工为研究对象,采集加工过程中的切削力信号,应用小波包分析技术提取反映刀具磨损状态的特征信息作为识别模型的输入,然后利用训练好的自适应粒子群算法优化后的LS-SVM识别模型进行刀具磨损量识别。关山[80]针对刀具磨损声发射信号的非平稳特征,提出了基于奇异值分解和最小二乘支持向量机的刀具磨损状态识别方法。该方法首先对声发射信号进行经验模态分解,将其分解为若干个固有模态函数之和,利用固有模态函数构造初始特征向量矩阵,然后对初始特征向量矩阵进行奇异值分解,计算奇异谱,将奇异谱作为特征向量,送入最小二乘支持向量机训练、识别。
(3) 聚类分析
Nuawi[81]提出了一种可用于预测广义加工状态的识别方法。该方法依赖于I-kaz系数的值,该值可以是在切割过程中获得每个信号的特征,同时该方法适用于将加工过程中获取的信号用于在特定切割条件下的一组聚类。陈爱弟[82]研究了在加工过程中刀具磨损实时监测和预报。针对神经网络在监测刀具磨损量中存在的缺点,在选择合适的模糊聚类标准样本的基础上,利用模糊聚类方法,加以适当推理。实验分析表明,该方法在刀具磨损量在线监测中具有较好的容错性和可分析性。在标准样本合适的条件下,利用模糊聚类方法能够正确地进行在线监测和预报刀具磨损量。陈洪涛[83]将模糊聚类分析原理应用于数控车削加工刀具磨损检测,对数控车削加工刀具磨损的各阶段力信号和振动信号进行采集,通过小波滤波及功率谱的谱分析,找到车削加工过程中刀具磨损的典型参数变化。通过提取信号特征值进行模糊聚类,实现了数控车削加工刀具磨损的状态识别。
徐创文[84]依据刀具磨损主轴振动加速度信号所建立的自回归模型,提取了12个反映刀具磨损状态的特征参数,提出用模糊聚类模式识别铣削刀具磨损状态。试验结果表明:建立的刀具振动加速度时间序列信号自回归模型所提取的模型参数估计特征量,含有丰富的刀具磨损运行状态信息。在此基础上,利用模糊聚类分析相似尺度来衡量事物之间的亲疏程度,并以此来实现分类。徐创文[85]对XKA714数控铣床采集的刀具运行状态振动信号进行计算、检验、分析样本自相关函数和样本偏相关函数的截尾性、拖尾性和周期性以及模型参数估计等时间序列相关分析,可判断动态数据序列适于AR(p)模型。以阶数p取12的模型参数作为特征向量提取,并采用模糊聚类分析方法确定刀具运行状态特征向量样本的亲疏关系,实现对铣削刀具的初始磨损阶段、正常磨损阶段和剧烈磨损阶段运行状态的识别。
刘建萍[86]利用K-means方法对样本聚类后建立的改进型模糊神经网络模型,对刀具后刀面磨损量进行在线工况实时识别。仿真结果表明该工况辨识模型精度高,收敛速度快,实用性强,适宜于复杂的、非线性加工系统建模。闫杉[87]提出了一种基于非线性回归模型的刀具寿命自适应在线预测方法,即通过提取与刀具磨损相关的功率信号特征和声发射信号特征,利用Kmeans聚类分析对半精铣削过程进行分类,针对不同类别的加工过程分别建立刀具寿命非线性预测模型,实现自适应的刀具状态在线预测及刀具寿命的估算。刘建萍[88]提出了一种集合多种智能的间接检测刀具磨损状态方法的模糊数据融合方法。尽管这些方法具有算法实现较为简单、处理速度较优的优点,但单一的信号检测及单一的只能建模方法难以获得全面的加工状态信息和准确的识别结果。为此,利用F推理技术对上述方法的冗余和互补信息进行数据融合,应用Makino-Fanuc74-A20型加工中心的测试数据验证了该方案的可行性,并将刀具后刀面磨损的预测值与基于机器视觉检测的实测值进行比较。实验结果分析表明,多参数模糊融合识别方法能快速获得切削刀具磨损状态更加准确的预测值。
(4)贝叶斯分类
赵月南[89]针对传统异步电机故障诊断方法中故障特征频率容易被基频淹没、抗干扰能力差、误判率高的问题,建立了基于定子电流信号Hilbert边际谱特征的贝叶斯网络电机故障诊断模型。将异步电机定子电流进行了希尔伯特-黄变换,提取出了Hilbert边际谱特征。在贝叶斯网络诊断模型的构建过程中,采用新型元启发式布谷鸟算法学习各节点间的依赖关系,采用Levy飞行机制优化搜索路径从而提高了搜索效率,并在布谷鸟搜索算法中引入竞争机制,提高了贝叶斯网络结构学习效率。苏艳琴[90]提出了一种粗糙集和贝叶斯网络进行融合的装备故障诊断方法,获得最小属性集的贝叶斯网络故障诊断模型及诊断规则,并应用于某型机载电台状态中进行验证,结果表明该方法不仅有效,而且得到的诊断规则也比单纯应用贝叶斯网络要优。
李郁侠[91]分析了故障诊断信息的主要来源,对比了各个信息的相同点和不同点,建立了面向元件的故障诊断模型,该模型简化了以往的故障诊断计算的复杂度,使得故障诊断的效率可以显著提高,提出了新的故障诊断方法。该方法首先通过计算各个元件的贝叶斯疑似度获得可疑故障元件,并结合了基于综合阻抗的故障线路识别方法,能够对故障线路具体相别进行识别,然后提出保护动作的时序约束,对保护动作信息进行识别,从而提高故障诊断的准确性。张超[92]结合最小熵原理法(MEPA)的数据离散功能,粗糙集理论(RST)的数据分析和容错能力,以及朴素贝叶斯网络分类器(NBNC)的并行推理能力,采用串行集成思想,提出了一种基于MEPA-RST-NBNC的复杂设备智能故障诊断方法。首先利用MEPA实现连续条件属性的离散化,形成离散化诊断决策表;然后利用RST分辨矩阵实现故障特征的简化,并采用最大聚类比原则提取出最佳约简;最后根据约简诊断决策建立NBNC模型来实现高效快速的诊断推理。故障诊断实例表明该方法不仅克服了RST诊断法的规则搜索和临界误判问题,而且避免了NBNC诊断法的维数灾难问题,具有较强的工程实用性。
刘希亮[93]针对齿轮泵信号具有复杂性和模糊性的特点,提出了一种基于多传感器信息融合的贝叶斯网络故障诊断方法。分析了齿轮泵振动和压力信号特点,以此为基础提取了振动信号的能量特征、分形特征和压力信号的高频压力脉冲3种特征属性,构建了多故障贝叶斯网络对特征进行融合,设计了贝叶斯分类器,通过最大后验概率准则识别故障类型。张家良[94]针对复杂装备传动系统的故障诊断问题,提出了一种非线性频谱特征与贝叶斯网络相结合的故障诊断方法。为了克服基于Volterra级数的广义频率响应函数所存在的计算量膨胀问题,采用一维的非线性输出频率响应函数获取传递频谱特征。针对非线性频谱故障征兆与多故障模式之间存在不确定性,采用朴素贝叶斯网络进行故障识别。建立了数字装备伺服传动系统模型,重点研究了伺服传动系统永磁同步电动机定子过热与机电过载故障的诊断问题。
(5)粗糙集
陈果[95]针对转子故障诊断问题,在综合粗糙集理论、遗传算法及神经网络学习算法各自优点的基础上,提出了一种新的粗糙集-遗传算法-神经网络(RS-GA-NN)集成分类器模型。在该模型中,利用粗糙集理论的离散和约简算法实现对样本数据的特征选取;利用神经网络实现样本特征向量与故障之间的非线性映射;利用遗传算法实现对神经网络的结构优化以使神经网络的泛化能力达到最优。郭小荟[96]提出一种基于粗糙集-神经网络集成的智能故障诊断模型。在数据采集和预处理的基础上,利用粗糙集(RS)理论对原始故障诊断样本进行离散化处理,并根据条件属性(集)对决策属性的正域的大小来选择属性,提取出对故障诊断贡献最大的最小故障特征子集,从而确定神经网络的拓扑结构;通过网络训练建立故障特征与故障之间的映射关系,采用神经网络集成的方法实现故障的诊断。
谭天乐[97]提出了体重基于粗糙集理论的故障诊断新方法,研究了粗糙集理论在故障诊断中的实用性,在前向推理和反向推理的基础上,给出了针对故障点建立决策表以及利用粗糙集约简所获得的诊断规则进行正、反向故障诊断的步骤,讨论了这种故障诊断方法的诊断性能及其在计算上的复杂度。通过这种方法能够进行故障的寻找和定位,实例分析的结果说明了利用粗糙集进行知识发现以及建立智能故障诊断系统的可行性和有效性。瞿金秀[98]提出一种基于多小波和邻域粗糙集的机械故障诊断模型。首先,采用多小波包对原始振动信号进行分解,分别提取原始信号和各分解频带信号的时域特征组成原始特征;然后,采用邻域粗糙集方法筛选出敏感特征作为多分类支持向量机的输入,实现机械设备不同状态的自动识别。模型应用结果表明相比于传统小波包,多小波包分解能够提取到更丰富的故障信息和获得较高的识别精度;邻域粗糙集能够从大量的原始特征中选择出敏感特征,减少分类算法的复杂性,进一步提高分类准确率。
1.2.3 点焊机运行状态识别研究
Wan[99]研究了一种基于动态电阻的点焊质量监测系统。Wan[100]在另一篇文章中则比较了两种类型的神经网络在小尺度电阻点焊中对焊接质量预测的差异。Yao[101]提出了一种基于PZT的主动感测方法来实时监测多点焊接的结构健康状况。瞿敏[102]指出GMAW电弧声信号作为焊接过程的伴生物之一蕴含了丰富的电弧信息,它与电弧行为、熔滴过渡方式、焊接参数、电弧稳定性等密切相关,是研究GMAW焊接过程稳定性及焊接质量监控的重要信息源。文章以焊接过程电弧声信号为研究对象,利用RBF人工神经网络及SVM模型建立电弧声信号与焊接状态的映射关系,实现焊接过程状态的模式识别。徐祥建[103]指出在点焊过程中,当电极磨损程度不大时,对焊点质量的影响不明显,但当磨损达到一定程度时,就会严重影响焊点的质量,甚至造成焊件被烧穿。因此文章以评判电极头的磨损程度为目标,基于支持向量机(SVM),以焊点压痕的表面图像为信息源,对电极头磨损程度进行预测。
梁芬[104]在结合分析焊接机器人故障模式及故障树分析法特点的基础上,将故障树分析法应用于焊接机器人故障诊断中。根据维修经验找出系统可能发生的各种故障原因,由总体至部分,按树枝状结构,采用自上而下逐层细化的分析方法,探讨了新型焊接机器人机械及电气控制系统的故障树类型。刘诚[105]研究了电阻点焊工艺参数监测方法,并设计开发了基于LabVIEW的点焊设备状态监测系统,实现了对电网电压、电极间电压、原边电流、副边电流和可控硅触发角与导通角等参数的采集,并对焊接电流、电极间电压的有效值进行了精确计算,实现了数据采集、传输、分析处理、显示和存储等功能,为点焊设备的工作状态监测提供了可靠依据。兰虎[106]针对焊接过程熔透状态的模式识别,以MIG焊平板对接射流过渡过程电弧声信号为研究对象,采用现代数字信号处理与分析技术,探寻了电弧声与熔透状态的相关性,在此基础上抽取和量化了可表征熔透状态的电弧声信号特征,构造其联合特征向量,并采取主成分分析(PCA)进行特征空间的降维压缩。利用BP、RBF神经网络等机器学习模型,建立了电弧声与熔透状态间的映射模型。
王瑞杰[107]采用模态分析的研究方法,研究了点焊接头的疲劳损伤与寿命预测方法。在实验结果的基础上,结合损伤力学、模态分析理论和有限元方法建立了固有频率变化与疲劳损伤的关系和点焊试样的疲劳寿命预测模型,并基于焊点弹塑性有限元分析结果,利用局部法估算了点焊试样的疲劳寿命。杨乃文[108]针对生产过程中经常出现的电极轴向错位、工件表面未处理、工件翘曲和工件导电不良四种故障状态,通过对实时采集的电极位移信号波形的时域分析,提取了五个能表征故障状态的特征参量,建立了基于模糊相似优先比案例推理的点焊过程诊断模型。
1.2.4 基于HMM的点焊机运行状态识别研究
1.2.4.1 HMM的基本理论与算法
(1)HMM基本概念
HMM是建立在马尔科夫模型的基础之上。马尔科夫模型是一个随机过程,由马尔科夫链和对应的状态转移矩阵组成,其中马尔科夫 (Markov) 链指的是具有马尔科夫性质的离散时间随机过程。而HMM则是一个双重随机过程,第一个随机过程是马尔科夫链,描述状态的转移变化,用转移概率表示;第二个随机过程则是观测过程,描述状态序列与观察序列之间的关系,体现在观测符号矩阵中。HMM的状态是随机的甚至是不可见的,这些内在的状态只能通过服从一定规律的随机观测序列才能体现出来。其观察到的事件与状态并非一一对应,而是通过一组概率分布想联系。这样,站在观察者的角度,就只能看到观察值。由于不像马尔科夫模型中每个时刻的观测值和状态有一一对应关系,因此不能直接看到状态,而是通过一个随机过程去感知状态的存在及其特性,因此称之为“隐”马尔科夫模型。下面以球和缸(Ball and Urn)实验来说明HMM概念。
一房间有 只缸,每只缸中有 种不同颜色的球。根据某一概率分布随机地选择一个初始缸,根据不同颜色球的概率分布从中随机取出一个球,并报告球的颜色。然后根据某一概率分布随机地选择另一只缸,再根据不同颜色球的概率分布从中随机取出一个球,在报告球的颜色,…。对房间外的观察者,可观察的过程是不同颜色的球的序列,而缸的序列是不可观察的。
这里每只缸对应HMM模型中的状态,球的颜色对应于状态的输出符号,从一只缸转向另一只缸对应于状态转换,从一只缸中取球对应于一个状态输出观察符号。
需要说明的是:①不能直接观察缸间的转移;②从缸中所选取的球的颜色和缸并不是一一对应的;③每次选取哪个缸由一组转移概率决定。
根据球和缸实验,HMM的基本原理可用图1.3所示[109]。由图可知,HMM可分为两部分,一个是马尔科夫链,由初始状态概率 和序列 描述,产生的输出为状态序列,另一个是随机过程,由序列 描述,输出为观测序列。
一个HMM由五元组参数 组成,其中 表示状态空间维数, 表示观测空间维数, 表示初始概率分布, 表示状态转移概率矩阵, 表示观测符号概率矩阵。由于状态空间维数 和观测空间维数 隐含于模型的另外三个参数中,故可将五元组参数简记为三元组参数 。表1.1为HMM基本概念中的符号及其相关含义。
表1.1HMM符号定义
HMM模型
(2) HMM基本算法
HMM由三个基本问题构成,一是概率计算问题,即给定一组观测序列 和模型参数 ,如何有效的计算衡量观测序列与模型匹配程度的条件概率 ;二是解码问题,解决的是在已知观测序列 和模型参数 的条件下,如何选择一个对应的隐含状态序列 ,使得 能够最为合理的解释观测序列 ,实现基于最大似然准则上的最优;三是模型训练问题,也就是参数估计问题,目的在于寻找使得条件概率 值最大的HMM参数 。
①前向-后向算法
前向-后向算法是解决概率推理问题最常用的算法,其基本思想是定义前向变量,通过对每个时刻和每个状态的顺序递归建立第 个时刻的前向变量与第 个时刻的前向变量之间的关系,从而得到每个时刻的前向变量值,最后根据前向变量的定义得到 的计算结果。前向算法示意图如图1.4所示[110]。
同理,通过定义后向变量,根据其定义和递归迭代公式也可得到每个时刻的后向变量和 的计算结果。图1.5描述了 时刻到 时刻后向算法的递推关系。
②Viterbi算法
Viterbi算法是解决第二个问题最常用的方法,它以寻找使得 最大的状态序列 为最优准则,属于一种动态规划方法。其基本思想为:首先定义变量 和 ,然后根据这两个变量的定义,可以得到它们的初始条件分别为 和 ,递归公式分别为 和 ,其中 。当到达最大时刻 时算法终止,同时得到极大值 和 。最后通过状态序列路径回溯就可以得到最优状态序列 ,其中每个时刻的状态 的估计公式为 。Viterbi算法的实现过程如图1.6所示,图中红线表示最优状态序列路径。
③参数估计
参数估计是实现HMM建模最重要的问题之一,然而给定有限观测序列作为训练数据,目前尚未有最优的模型参数估计方法,但存在局部最优方法,最常用的为Baum-Welch方法。Baum-Welch算法的实现过程如算法1.1所示[110]。
④ EM算法
EM(Expectation Maximum)是一种用于参数学习的MLE(极大似然估计,Maximum Likelihood Estimation)方法,是HMM参数估计的一种有效方法。设 为原来的模型参数, 为待估计的模型参数, 为观测序列, 为隐藏的状态序列。定义辅助函数为
EM算法利用辅助函数 对模型参数进行迭代估计,以逐步改善估计精度,其实现过程为:
Step1 选择初始模型 ;
Step2 步:求 函数;
Step3 步:极大化 函数,求模型参数 。
由此可见,EM算法的初始值是随机选择的,故EM算法对初值是敏感的; 步求 的极大化,得到 ,每次迭代使得似然函数增大或达到局部极值。
1.2.4.2 HMM的应用
目前,HMM的应用领域也在不断扩大,例如,DNA序列比对[111-113]、慢性病流行病学研究[114]、汉字识别[115]、手语识别[116,117]、身份认证系统[118]、车牌自动识别[119,120]、入侵检测[121]、文本信息抽取[122]、图像去噪[123]、自动控制[124]、股市分析[125]、雷达制导[126]、天气预报[127]、地震预测[128]等,几乎信号处理和模式识别领域的各个方面都能找到HMM的踪影。
1.2.4.3国内外研究现状
近年来,HMM在点焊机状态识别方面的成功应用已有不少文献报道。
Hwang[129]提出了一种基于正常运行数据的随机模型的似然变化的设备状态监测方法。由于HMM具有准确和可靠的诊断性能,文章将其组成随机模型。通过观察未知状态下输入数据训练正常HMM的可能性的变化,从似然值的突变中可以精确地检测到缺陷。因此,尽管该方法不能确定缺陷的类型,但是能利用正常模式检测缺陷。同时缺陷数据也可以使用该模型,在这种情况下,不仅可以检测缺陷,还可以进行正确的缺陷识别。Song[130]对VPPAW中的声音特征进行了研究,并采用HMM来处理穿透识别中的复杂问题。首先介绍了包含三个模块的试验系统,其次测量声压的空间分布,确定最佳角度。再次,提出了基于VPPAW特殊双声源特性的声音机制,然后选取5个特征来描述声音特点,最后HMM用于数据处理,并证明了识别效果。Xue[131]为了在野外环境中进行焊缝的无损检测(NDT),提出了一种通过在结构化光器件上定义级联空间-时间隐马尔科夫模型(HMM)的方法。首先,利用在条纹的空间特征上定义的空间HMM(S-HMM)提取投影在焊缝上的结构光条纹。然后定义测量功能,以根据提取的条纹来检测视频帧中焊珠的候选位置。最后,基于候选位置并利用焊缝的连续特性,定义了时间HMM(t-HMM),以精确定位和测量视频序列中的焊珠。
Jager[132]指出利用高速摄像机记录激光焊接过程中激光等离子体辐射,并利用模式识别系统对记录的序列进行分析是研究热点。但是由于原始数据的维度高,无法进行有效的学习,因此需要进行降维。在激光焊接过程中最常用的降维技术是使用分段对象的几何信息。而本文则提出了从人脸识别和采用外貌特征描述的相关特征记录图像的思想,因为从工业激光焊接应用的代表性数据集中于比较集合和外观特征的分类性能。HMM用于反映时间依赖性,并执行将无标记序列分类为无错误和错误类。Wang[133]指出电阻点焊(RSW)广泛应用于现代工业尤其是汽车制造业,然而RSW的质量受到很多因素的影响,变得难以控制。因此提出了使用光栅唯一传感器实时测量电极位移,并通过基于LabVIEW开发的系统来监测唯一信号。其中一组样本是在电极压力和焊接时间固定,而焊接电流不同的情况下采集到的,并分析了电极位移曲线的波动特性,基于电极位移的波动特性,以电极位移作为观测和拉伸剪切建立HMM状态模型。
Zhang[134]提出了一种具有交叉结构(CSL)和隐马尔科夫模型(HMM)的视觉焊接检测系统。考虑到CSL投影的激光条纹可以反映焊缝的形状,同时捕获水平和垂直焊接线。而HMM则用于滤除焊件表面的各种噪声,然后精确检测激光条纹,保证焊缝位置的精度。Lv[135]基于小波变化的多尺度分析和HMM理论,提出了气体钨弧焊中弧形声信号和穿透状态之间的预测模型。吕娜[136]再起博士论文中,设计新型的小波分析隐马尔科夫模型WA-HMM熔透状态预测模型,结合小波分析与隐马尔科夫模型的优良辨识性能,得到WA-HMM型6状态由跨越二阶差分MFCC预测模型,识别率最高达到95.83%。王先锋[137]在其博士论文中,通过试验获得不同焊接电流条件下使用单加速度计监测的下电极振幅曲线,其值随着焊接电流的增加为增加,且一次出现“无点焊”、“粘连焊点”、“小焊点”、“合格焊点”和“飞溅”。当飞溅发生时下电极振幅发生较大跳变,因此通过设定阈值来监测飞溅的发生。而对于“虚焊”(包括“无焊点”和“粘连焊点”)、“小焊点”和“合格焊点”采用HMM进行在线分类评估,即采用下电极振幅为观测值和熔核直径为状态值分别进行HMM建模,再利用HMMs对待检测样本进行模式识别。
1.2.5现状分析
国内外相关领域研究现状表明,现有的运行状态识别针对数字装备(包括点焊机)进行了分析,而点焊过程是“点焊机-工件-焊枪”密切作用的系统,当前研究忽略了对点焊过程中其他因素的分析与研究;当前的加工任务、工艺参数、工人的操作等对点焊机运行状态变化具有重要影响,而如何从模式识别的角度,实现点焊机运行状态识别还未展开深入研究。因此,本论文拟提出建立点焊机运行状态识别模型,分析加工过程中各因素对运行状态变化产生的影响,其中涉及一系列关键的科学问题亟需解决:
①目前对点焊过程的相关研究,主要集中于焊接质量,缺少从模式识别的角度对整个加工过程中点焊机运行状态变化进行建模分析。
②目前关于点焊机运行过程的研究,多数仅关注于对点焊机的监测、状态评估及健康管理,而缺少对点焊机正常运行时状态作进一步分类。
③点焊过程中,加工任务、工艺参数、工人操作等因素与点焊机运行状态具有密切联系,那么如何通过加工过程中监测信号来建立其与点焊机运行状态之间的映射关系模型,需要深入的分析与研究,以寻找合理有效的方案。
④现有的基于HMM算法的点焊机运行状态识别研究,缺少针对隐藏状态变化和监测信号不断更新的研究,那么如何根据实际加工情况,建立动态的运行状态识别模型,需要进一步的研究。
1.3论文研究的目的意义及课题来源
1.3.1 论文研究的目的意义
HMM是一种动态模式识别工具,能够对一段时间跨度上的信息进行统计建模和分类。传统的运行状态识别方法是停留在静态观测的基础之上,比如模型状态数是事先确定的,观测序列的长度是有限长的,这些假设忽略了点焊过程中加工任务、工艺参数等因素变化对模型状态数及状态识别过程的影响,没有揭示系统潜在状态所发生的变化特征,因而也难于把握点焊过程中运行状态的变化。研究HMM运行状态识别方法,在一个动态的环境中对点焊机加工过程进行观测、评估,以便对点焊机“微观”状态变化进行区分,为设备管理提供理论依据。
因此,本论文拟针对加工过程中的普通点焊机,将对点焊机状态静态识别的研究向动态过程进行延伸,揭示点焊机在加工过程中运行状态变化规律等理论,研究面向点焊机加工过程中运行状态识别方法。具体研究目的意义如下:
(1)建立点焊机运行状态与加工过程中监测信号的映射关系模型及变化规律模型,揭示其运行状态变化的规律;
(2)研究加工任务、工艺参数等因素对点焊机运行状态变化产生的影响,建立具有动态特性的点焊机运行状态识别模型;
(3)提出基于HMM算法的点焊机运行状态离线识别与增量学习识别。
2点焊机运行状态识别研究
2.1点焊机的结构
点焊机广泛应用于轨道列车车顶、车顶骨架、底架骨架、底架边梁、侧墙等部件的焊接加工。图2.1为不锈钢车顶点焊机,该点焊机主要包括机器人系统、进给系统、气压系统、冷却系统及辅助系统五部分。
(1) 机器人系统主要由机器人和焊接设备两部分组成。其中机器人由机器人主体和控制柜组成,而焊接设备则由焊接电源、焊接工装工具等部分组成。焊接机器人通过地面导轨纵向进给,并利用机械臂来调整位置,然后进行焊接。
(2) 进给系统包括控制器、伺服控制器和伺服电机三大部分,其作用:一是按照给定的速度运动及运动控制;二是按照给定的位置定位。它接受来自控制装置的位置控制信息,将其转化为相应坐标轴的进给运动和精确的定位运动,驱动执行机构运动。
(3) 气压系统主要由控制装置、加压压力控制单元、加压气缸等部分构成。控制装置向加压压力单元输出加压压力数值以及加压启动信号,而加压压力控制单元则按照输入压力信号的大小成比例地向加压气缸提供一定压力大小的压缩空气,加压气缸带动焊枪电极移动,向焊接工件施加所需的加压压力。
(4) 冷却系统主要包括水冷却腔、水冷管等部分。冷却水通过焊接臂上的水冷管进入电极头冷却腔,及时带走电极头中大量的热量,降低电极头温度。
(5) 辅助系统主要作用是根据进给系统输出的指令;冷却系统的启停指令;机器人系统机械臂的松开、夹紧等辅助指令所提供的信号,带动机器人系统、气压系统等装置完成规定动作。
2.2 运行状态分析
2.2.1 点焊机工作方式分析
图2.1中的点焊机系采用双面双点焊接方式。不锈钢车体两侧各有一台点焊机,通过地面导轨进行纵向进给,焊接机器人则通过机械臂来调整位置,然后进行焊接。焊接头是两个铜电极,焊接时两个电极加压工件使工件在两电极的压力下形成一定的接触电阻,而焊接电流从一电极流经另一电极时在两接触电阻点形成瞬间的热熔接,且焊接电流瞬间从另一电极沿工件流至此电极形成回路,不伤及被焊工件的内部结构。加工时需要不断冷却,通过水循环进行冷却。
2.2.2 运行状态影响因素分析
在焊接过程中,影响点焊机运行状态变化的因素主要包括以下三个方面:
(1)加工任务的影响
点焊机的加工任务会随着加工工件的不同而发生变化。一般地,一个工件通常由若干个不同的加工特征(如孔、型腔、端面等)组成,因此,点焊机的功率消耗也会因加工不同特征而呈现动态变化。其原因是:不同加工特征所采用的工艺参数、冷却策略等不同,工艺参数不同将影响点焊机的运行参数及加工负载大小;冷却策略将影响冷却系统的使用等。因此,点焊机加工任务的动态变化会带来点焊机运行状态的变化。
(2)工艺参数的影响
①焊接电流。焊接电流是点焊机实现焊接的根本要素,熔核的形成正是依赖“电能-热能”的转变才得以实现。有研究认为当焊接时间和电极力保持不变时,焊点熔核大小与焊接电流有效值密切相关。因此,焊接电流的变化会带来运行状态变化。
②电极间电压。电极间电压反映了点焊过程中金属在固态与液态之间的相互转化,也反映出电源电压的波动情况,以及焊接次级回路阻抗变化和装配间隙不合适等引起熔核变化。因此电极间电压也可用于揭示运行状态的变化。
③动态电阻。动态电阻综合考虑电极间电压和焊接电流对熔核的影响,与熔核生长的状态密切相关。动态电阻不仅能够灵敏地反映焊接区热量波动、表面状态、压力波动、分流、电极磨损、电磁性物质伸入等影响因素的变化,而且还可以直接真实的反映点焊熔核的形成过程。因此根据实时得到的动态电阻,可以判断其运行状态变化。
④电极位移。电极位移能够真实的反映焊点熔核的形成过程。它与焊接电流,焊接时间,电极压力等规范参数密切相关。因此电极位移也可反映点焊机运行状态的变化。
⑤电极压力。电极力不仅影响焊接区的接触电阻、内部电阻及热源强度的分布、焊接区的塑性变形,同时也影响电极散热效果和使用寿命。因此电极压力也可用于判断运行状态的变化。
因此,对同一加工任务的同一加工特征进行加工,由于工艺参数的变化,也会导致点焊机运行状态的变化。
(3)工人操作的影响
在点焊过程中,点焊机的运行状态除了受到加工任务、工艺参数的影响,还与工人的操作有关。在不同操作方式下,如通过按钮调节焊接机器人的机械臂移动,点焊机的运行状态也会发生变化。
上述分析表明:点焊机的运行过程受到多种因素的影响,从而导致其运行状态变化具有复杂性。
为了便于下文研究,此处对运行状态的范围作出限制,即是:焊枪第一次接触工件到熔核全部行程的过程。所以本论文中的运行状态仅考虑点焊机的加工过程,而未将开机状态、开启辅助设备状态及空载状态涵盖在内,原因在于,这些状态受到加工任务、工艺参数的变化的影响并不大,同时这类运行状态很容易进行判断,而无需模式识别方法。
2.3 运行状态分类
本章2.2小节分析了点焊过程中引起点焊机运行状态变化的主要因素,包括:加工任务、工艺参数及工人的操作。不难发现,由工人操作所带来的运行状态变化是显示的,因为这类变化是可以直接通过观察进行判断,如工人通过操作按钮控制焊接机器人的机械臂向下或向上移动,在上述两种情况下,点焊机的运行状态均发生了变化,且二者处于不同的状态,所以对于这类状态变化无需借助识别算法进行判断。而由加工任务、工艺参数带来的点焊机运行状态变化则是隐含的,因为面对不同的加工任务、选择不同的工艺参数,机械臂的位置都可能发生变化,但是站在观察者的角度,可能无法感知这种变化,或者即使能够观察这种变化,但是却无法得知引起其变化的原因。同时这类变化对于点焊机加工过程中设备的利用率分析具有重要意义,所以有必要对这类状态进行深入研究。综上所述,点焊机的运行状态可以分为两类:显示状态和隐藏状态。对于前者,观察者可以直接对其进行判断,所以对于这类运行状态的识别本论文将不予考虑。但对于后者,观察者无法直接通过观察来判断其是否发生变化,而是需要借助识别算法来对这类运行状态变化作进一步的分类,以便提高状态识别的准确率。所以,本论文拟针对点焊机运行过程中的隐藏状态,利用识别算法对其进行识别。
2.4HMM点焊机运行状态识别
由于点焊机的运行过程具有双重特性,一方面,其运行状态是隐藏的,不能直接通过观察对其进行判断;另一方面,其加工过程中监测到的电流、功率等信号是可以通过传感器检测到的,且二者之间存在着某种对应关系,即监测信号能以一定概率反映出点焊机当前的运行状态。点焊机运行过程的这种特性与HMM建模过程是一致的,所以本论文将利用HMM算法来对点焊机的运行状态进行识别。
2.4.1 HMM的定义
根据文章1.2.4小节讨论的球和缸实验,就可以给出HMM的定义,或者说,一个HMM可以由下列参数描述:
① :点焊机实际可划分的状态数目。记 个状态为 , 时刻点焊机所处的状态为 ,则有 。
② :点焊机每个状态对应的可能的观察值数目,即是对加工过程中的电流等信号进行特征提取时,所选取的特征分量的个数。记 个观察值为 ,记 时刻点焊机的某个状态对应的观察值为 ,则 。
③ :初始状态的概率矢量,即是在点焊机运行过程中,开始选取某个状态的概率。 ,其中 。
④ :状态转移矩阵,即是在点焊机运行过程中,从当前时刻的某个状态转移到下一个时刻的另一个状态的概率。 ,其中 , 。
⑤ :观察值概率矩阵,即是在某个状态下,所选取的某个特征分量,如电流信号的幅值,所出现的概率。 ,其中 , 。
这样,点焊机运行状态识别的HMM算法可分为两部分,一个是Markov链,由 和 决定,对应的输出为点焊机所有状态构成的序列 ;另一个是随机过程,由 决定,对应输出为加工过程信息,如电流信号序列 , 为观察序列的长度,其组成如图2.2所示。
2.4.2 HMM点焊机运行状态识别的可行性
HMM作为一种统计模式识别方法,其最重要的功能就是模式分类。对于点焊机运行状态识别问题,实质上就是一类模式识别问题。和语音信号相比,点焊机运行过程所获取的监测信号(如电流、电压、功率等)与语音信号具有如下的相似之处:
①二者都有一个类似的基本的潜在随机过程,而且都是不能直接观察到的。例如,点焊机运行过程中的潜在状态和语音中的因素。点焊机的运行状态掩盖在所获取的监测信号之中,同样,对于语音而言,通常也只能观测到一些语音片段,而实际的因素则隐含在这些语音片段中。
②在一定时间跨度上,参数空间都随时间变化,于是形成了一个多变量的动态模式。语音信号具有较强的时变特性,而在点焊机的运行过程,所表现出来的动态变化,也具有很强的时变特性,因此,二者在瞬态时间序列特性上具有相似性。对于说话人识别问题,一个说话人可以由一系列的语音特征来刻画,同样,对于点焊机的运行过程,其所处的状态也可以由一系列的特征矢量来表示。因此,运行过程的状态识别,类似于语音识别中的说话人识别。
③在点焊机的运行过程中,抽取的信号又非常类似于语音识别中的孤立词识别。为了提高模型的泛化特性,对于某个需要识别的单词,在建立模型时,往往需要多次观测多个样本。对于点焊机运行状态能识别,要建立某个运行状态下HMM模型,也必然要抽取该状态下的若干次时域信号波形来建立模型。
2.4.3 HMM点焊机运行状态识别的实现过程
在点焊机运行状态识别中,首先要建立一种对应关系,例如,使一个状态对应一个HMM,这里的状态指的是点焊过程中所包含的全部可能的状态,这些状态按照一定的先后顺序出现,这就形成了HMM中的状态序列,这是观察不到的。对应的观察过程就是点焊机加工过程中所获取的监测信号所对应的特征集,如电流信号的幅值。为了建立上述对应关系,首先需要对该状态的一组观测样本进行学习,也就是在状态序列缺失的情况下进行HMM的参数估计。在学习了每个状态的模型参数后,就可以进行识别。也就是对一组观测样本,找到最大可能产生该观测样本的那个模型作为该状态的代表。图2.3为点焊机运行状态识别技术的实现过程。
可见,点焊机运行状态识别过程主要由特征提取、模式训练和模式匹配三个方面组成。
①特征提取
特征提取是从加工过程中的监测信号中提取出对点焊机运行状态识别有用的信息,通过对监测信号进行分析处理,去掉对运行状态识别无关的冗余信息,获得影响运行状态识别的重要信息。
②模型训练及模式匹配
模型训练就是按照一定的准则,从大量已知模式中获取表征该模式本质特征的模型参数,而模式匹配则是根据一定准则,使未知模式与模型库中的某一个模型获得最佳匹配。
HMM模型是点焊机运行状态时变特征的参数表示法。它由相互关联的两个随机过程共同描述信号的统计特性,其中一个是隐藏的具有有限状态的马尔科夫链,另一个是与马尔科夫链的每一状态相关联的观测矢量的随机过程。隐藏马尔科夫链的特征要靠观测到的信号特征来揭示。这样,监测信号中某一段的特征就由对应状态观测符号的随机过程描述,而信号随时间的变化由隐藏马尔科夫链的转移概率描述。
基于HMM的点焊机运行状态识别系统的基本思想:在训练阶段,用HMM的训练算法(如Baum-Welch算法),建立系统中每个状态所对应的HMM模型,记为 。在识别阶段,使用识别算法(如Viterbi算法)计算各个概率 ,其中 为待识别的观测值序列。最后选取最大的 所对应的识别结果。其具体实现流程如下:
Step1 获取原始信号,并将原始信号分成两部分,其中一部分作为训练数据,用于模型参数训练,剩余部分则作为测试数据,用于状态识别;
Step2 对训练数据进行预处理、状态划分及特征提取,得到特征向量集;
Step3 设置初始模型;
Step4 将特征向量集与初始模型一起输入到参数训练算法中,利用训练算法,得到每个状态对应的模型参数;
Step5 对测试数据进行预处理及特征提取,得到相应的特征向量集;
Step6 将特征向量集输入到模型参数中,利用识别算法计算其在每组模型参数下的对数似然概率值,其中最大值即为测试数据当前所处的状态;
Step7 得到状态识别结果。
其流程图如图2.4所示。
图2.4表明,点焊机运行状态识别过程包括三个部分:
①初始模型的选取。HMM初始模型可表示为 ,其中 和 的维度由点焊机运行过程中的隐藏状态确定,即是对点焊机实时状态的划分; 的维度由隐藏状态数目 和观测状态符号数 共同确定,后者反映的是对监测信号进行特征提取时,所选取的特征分量的个数;
②模型参数训练。HMM通常利用某种训练准则来完成参数训练,其目的在于建立每种运行状态对应的模型参数库。该过程的输入参数为训练数据的特征向量集和初始参数 ,输出则为每种运行状态对应的模型参数库,即 ;
③状态识别。目的在于对于未知状态的数据,判断其归属于已有点焊机运行状态的类别。实现过程是:将测试数据输入到上述模型参数库中,计算其在每种运行状态下的对数似然概率值,依据其值的大小来判断所处状态。
需要指出的是,在利用HMM算法来解决点焊机运行状态识别时,还存在以下两个难点需要突破:
①对点焊机实时状态的划分,即确定HMM的状态数。本章2.2节的分析表明,点过程具有动态性,表现在加工任务和工艺参数在不断变化,所以在加工过程中,点焊机的隐藏状态是变化的,那么本论文拟建立具有动态特性点焊机运行状态识别模型。
②点焊机加工过程的监测信号获取。获取加工过程中的监测信号,不仅需要考虑准确性、实时性,而且还要尽可能降低生产成本。在加工过程中,反映点焊机运行过程的信号很多,如电流、电压、功率等。为了全面的分析点焊机的运行过程,有必要全面的考虑这些信号,因此,本论文研究的是具有多组观测序列的状态识别问题。
结合①和②,即本论文研究的是具有动态特性和多组观测序列的点焊机运行状态识别问题,表2.1对其进行简要的分析。
关键点 产生原因 优势 难点
动态特性 加工任务、工艺参数、材料等的影响 可以全面的分析加工过程中点焊机运行情况 ①多因素共同作用,识别难度大;
②难以确定初始模型的维度
多组观测序列 反映点焊机加工过程的监测信号很多,如电流、电压、功率等动态参数 可以从多个侧面来反映点焊机的运行情况 ①特征分量的选取,不同信息表征运行状态的特征不一样,若考虑所有的特征分量,可能造成维数灾难;
②需要考虑信息融合的问题
2.4.4 HMM算法实现中的问题
2.4.4.1 HMM拓扑结构和初始模型的选取
(1) HMM拓扑结构选取
HMM拓扑结构主要包括模型状态数和HMM的类型。其中状态数的选取是难点,因为没有明确的规则,一般通过实验或经验确定。而HMM的类型不仅与状态数有关,还与实际研究的问题相联系。
①状态数的选取
模型状态数是对点焊机实时状态一种划分。如果状态数太多,不仅会影响算法的计算效率,还会影响识别准确率,反之,若状态数太少,则不能准确地反映实际运行过程。因此,准确的确定状态数是至关重要的。通过文献综述,目前状态数的选取方法大致可以分为两类:固定状态数法和自适应调整状态数法,前者的模型结构比较简单,不能适应更多形态的样本,并且在训练过程中,对被建模对象本身的依赖性比较大,而后者能够根据样本形态自动对状态数作增加或者减少,但是存在算法复杂、计算量大等问题。
② HMM的类型
HMM由两部分组成,即Markov链和随机过程。其中Markov链由 和 描述,不同的 和 决定了不同的Markov链结构,从而得到不同的HMM结构。其中最典型的两种是:遍历HMM和左-右型HMM。前者的 Markov链是从任一状态出发,在下一时刻可到达任一状态,对应于转移矩阵 中各元素均大于零(没有零值),且起始与终止状态是任意的。而后者的各状态只能向其右侧编号更高的状态转移(即按时间顺序由编号低向编号高的状态转移),也可向自身转移, 为上三角矩阵,表示终止状态的最后一行除最后一个元素外全部为零(终止状态没有自转移时,则最后一行全为零),即 。同时,这种类型的HMM的初始状态概率分布 在 时为0, 时为1;状态转移从状态1开始。
不难看出,HMM的类型受到状态数的影响;HMM的类型与研究对象的特点密切相关,不同类型的HMM应用于不同场合;在实际应用中,HMM的类型可在典型Markov链的基础上进行修改。
(2)初始模型的选取
HMM模型参数的训练,是由给定的初始值反复迭代计算以得到最终的模型参数。BW重估算法可用于参数训练,但是训练结果与初始值相关,不同的初始值将会产生不同的结果。同时基于最大似然估计的BW算法可给出似然函数的局部极大值,而不是全局最优解。因而选取合适的HMM初始模型,使所得到的局部极大值与全局最大值尽可能接近。此外,好的初始值能够提高算法的计算效率,减少迭代次数。目前,常用的几种初始模型选取方法包括:经验法、分段 均值聚类算法、遗传算法优化初始参数法以及利用随机松弛算法优化HMM初始参数的方法。
上述四种方法中,经验法简单,但是缺乏科学性与通用性;分段 均值聚类算法实现过程简单,但是算法计算量大;利用遗传算法的全局搜索特性可以寻找到较优的初始模型参数,但是遗传算法存在着“早熟”等问题;随机松弛算法具有较强的全局搜索能力,但是存在两个难点,一是如何设计扰动,而是如何控制降温规范;此外,HMM有多种类型,针对不同的形式,应采用不同的初值选取方法。
综上,对于点焊机运行过程而言,其运行状态数目是一个有限值,本章2.3.3节指出,面对不同的加工任务、工艺参数,运行状态数目可能不同,其根源在于加工环境不一样,但是其状态数目都可以事先加以确定。同时,在运行过程中,点焊机是从当前状态开始向其它状态进行转移,故在模型状态数确定的情况下,Markov链的形状也随之确定。然而,初始模型的选取过程则复杂的多,通常采用的均匀选取和随机选取方法仅能提供一组初始值,但是无法保证得到较好的训练模型,所以要得到好的初始模型,通常需要对其进行优化选取。
基于上述分析,初始模型的选取对点焊机运行状态识别过程的影响更大,对于该问题,论文将在第3章开展进一步的研究。
2.4.4.2 HMM模型参数训练
(1)训练准则的选取
BW算法为对HMM的最大似然(Maximum Likelihood, ML)估计,即给定观测序列 ,使 为最大来求取 。但是ML不是唯一及所有情况下均适用的准则。其前提是模型分布已知,同时HMM中有很多假设不符合实际情况,如输出独立假设、Markov假设等,从而降低了ML估计的合理性。目前,常用的训练准则有:最大似然(ML)、最大互信息(MMI)、最小分类误差(MCE)、最大模型距离(MMD)、贝叶斯分类器(BC)。ML是一种常用的参数训练方法,但是仍然存在诸多不足,为此,提出了后面四种改进方法,其中MMI和MCE可在不准确的模型情况下准确得到分布参数,BC可用于不完整训练数据的情况,MMD能够体现模型间的差异;针对ML存在的问题,可以考虑对其进行改进,或者将其与其它算法相结合,以提高其性能。
(2)数据下溢
计算HMM的三个问题时,需使用前向及后向概率。由上所述,它们可以通过递推
得到,如 。其中, 与 均小于1(甚至远小于1),因而 比 小得多,因而随着 增大迅速减小 ,而在实际应用中观测序列的长度可以很大,这样得到的 可能非常小。即使采用双精度, 很大时几乎所有 都趋于零,甚至超出计算机数值表示的动态范围。 也存在类似的问题。这就是计算下溢问题。目前处理数据下溢的方法包括采用放大因子进行尺度调整和将概率取对数。
(3) 多输出(观测矢量序列)情况
针对单观测序列提供的状态转移统计信息不充分,实际中需要使用多观测序列。那么对于多个观测序列训练HMM时,要对BW算法的重估公式加以修正。对多观测序列的详细介绍可参考文献[110,138]。
(4) 训练数据不足
根据HMM的定义,一个HMM模型 包含很多待估参数,为给出模型参数的良好估计,要求有很多的训练数据,但这在实际中往往难以做到。另一方面,数据不足使一些出现次数很少的观测矢量未包含在训练数据中,导致训练处的模型中会有不少为零的概率值。这样HMM的一些参数估值不准确,用其进行模式识别,将会产生很高的误识率。为解决上述问题,提出了减小模型尺寸、增加约束条件以及相对可靠性度量三种方法,详细内容可参考[110,138]。
(5) EM算法
文献[139]给出EM算法的直观解释,如图2.5所示。图中上方红色曲线为 ,下方蓝色曲线为 。由图2.5可知 为对数似然函数 的下界,且两个函数在点 的函数值相等。EM算法找到下一个点 使函数 极大化,也使函数 极大化。这时,由于 ,函数 的增加,保证对数似然函数 在每次迭代中也是增加的,EM算法在点 重新计算 函数值,进行下一次迭代,在这个过程中,对数似然函数 不断增大。图2.5说明EM算法不能保证找到全局最优值。对于该问题,本文将在第4章进行进一步研究。
(6)增量学习
传统HMM的参数训练过程是在离线状态下完成的,但是将其应用于增量学习时,还存在以下问题:①难以解决训练序列的长度 非常大的情况。由后向变量 的递推过程可知,当观测序列的长度无穷大时,此时无法准确估计 的值;②当有新数据到达时,需要从头开始重新学习,极大地浪费了学习时间,存储空间以及计算资源。
增量学习则是上述问题的最有效的解决方法。增量学习(Incremental Learning, IL)体现了在不遗忘旧知识的前提下,从未来新数据中获取新知识的思想。目前,基于HMM的增量学习包括:模型拓扑结构的增量学习,即对模型中节点个数的调整;模型参数的增量学习,即对模型参数 进行调整。而对于HMM的增量学习方法,已存在三种方式:增量BW算法(IBW)、追加训练(AT)和集成训练(ET)。
综上,对于点焊机运行状态识别过程,模型参数训练具有极其重要的作用,一方面,训练算法的计算效率直接影响识别过程的时间复杂度;另一方面,模型参数训练结果会影响识别准确率。在建立点焊机训练参数模型库时,由于传统的训练算法(如EM算法)存在陷入局部极值点的可能,且在全局最优点邻域附近的收敛速度较慢;同时,当观测序列不断更新时,训练算法无法实时估计模型参数。所以,针对EM算法和增量学习算法存在的问题,论文将分别在第4和第5两章开展进一步的研究。
3 基于改进遗传算法和HMM算法的点焊机运行状态识别研究
点焊机运行状态识别的目的就是对隐藏状态进行判断。隐藏状态反映了点焊机实际运行状况,是对加工过程的真实反映。由于运行状态是“隐藏的”,所以需要将其显示出来,所采用的方法就是HMM算法。基于HMM算法的点焊机运行状态识别包括三个步骤:初始模型选取、建立训练参数模型库及运行状态识别。文章2.4小节指出HMM算法存在对初始模型模型敏感,容易陷入局部极值点的不足,所以本章针对该问题开展研究。
3.1 点焊机运行状态识别的初始模型选取分析
HMM初始模型 分别由初始状态、隐藏状态及观测状态确定。
(1)初始状态。初始状态是将运行过程中的某个状态作为状态变化的起点。在点焊机加工过程中,初始状态可选定为焊枪准备焊接时所对应的隐藏状态,这样不仅能保证隐藏状态的变化趋势与焊接过程中工艺参数的变化一致,同时也能保证加工结束后又能返回到初始状态,为下文模型初始参数设置提供依据。
(2)隐藏状态。隐藏状态是对点焊机实际运行过程的真实反映,受到加工任务、材料及加工任务等因素的影响。以工艺参数中的焊接电流为例,在焊接过程中,焊接电流会发生突变,突变的次数通常与点焊机的隐藏状态对应。一般地,焊接电流的变化范围为几千安培到上万安培。若在完成某项加工任务时,焊接电流发生了5次突变(电流从最小变到最大过程),则可认为在该过程中点焊机的隐藏状态数为5。所以要确定隐藏状态,不仅需要分析各个参数变化的情形,还要考虑多参数共同作用的情况。本文为了简化问题研究的难度,仅考虑单个参数的情形。
根据隐藏状态,便可确定初始状态概率矩阵 , 表示点焊机隐藏状态间的所有状态转化的集合,则 ,其中 表示由 时刻的状态 向 时刻的状态 转移的概率,同时还需满足 。
(3)观测状态。观测状态是对点焊机隐藏状态的一种显示表示,与点焊机运行过程中的监测信号有关,这些信号蕴含了点焊机的真实运行状况。监测信号不能直接用于反映实际加工过程,因为信号中的有用信息需要通过特征提取出来,特征提取过程中的特
征选取则决定了观测状态矩阵 , ,其中 表示 时刻状态 中特征分量 出现的概率,同时还满足 。
所以,要确定点焊机的初始模型,不仅需要确定初始状态,还需要对点焊机实时状态进行划分,同时还需要选取能够反映点焊机运行状态变化的特征。
3.2 点焊机运行状态识别的初始模型选取方法
文献[140~144]考虑了将遗传算法(Genetic Algorithm, GA)融入到HMM模型参数训练过程,利用GA来优化HMM初始模型,取得了较好的效果。但由于GA存在早熟现象,且在最优解附近时,算法的收敛速度较慢,所以有必要对该问题进行进一步的研究。同时结合点焊机运行状态识别的初始模型选取过程,为了达到较为理想的初始模型优化效果,基于标准遗传算法(Standard Genetic Algorithm, SGA)设计了改进遗传算法(Improved Genetic Algorithm, IGA),下面对该算法进行说明。
(1) 编码方式
由于遗传算法无法对点焊机运行状态识别的初始模型进行处理,必须通过编码将其表示成基因结构数据。根据上文分析可知,初始状态概率 中仅含有一个非零元素,故无需对其进行优化。
由点焊机的工作原理可知,在点焊过程中,焊接电流对运行状态变化所产生的影响最大。焊接电流的突变次数通常与点焊机的隐藏状态数是对应的,同时焊接电流的变化方式(如小幅度突变、中等幅度突变和较大幅度突变等)则决定了隐藏状态间的转移关系。如焊接时,焊接电流从 变化到 ,可选择的变化方式有如下三种:① ;② ;③ ,方式①~③分别对应较大幅度、中等幅度和较小幅度。通过分析焊接电流的变化方式,即可得到隐藏状态间的转移关系,从而得到状态转移矩阵。所以,状态转移矩阵中的元素反映了加工过程中工艺参数等因素的实际变化情况。
若点焊机的隐藏状态数目为 ,从而初始状态 的维度为 ,由 ,则有
其中 表示点焊机从状态 到状态 的转移概率,满足 , , 。
同时,通过对点焊机运行过程中获取的监测信号进行特征提取,选取其中能够反映运行状态变化的特征,则特征分量数目决定了观测矩阵的维度。若特征分量的个数为 ,
则观测矩阵 的维度也为 ,由 ,从而
其中 表示状态 中,特征分量 出现的概率,满足 , , , 。
上述分析表明,本小节中需要编码的基因来自于矩阵 和 中的元素。由于 和 均为概率值,其取值范围为0~1,同时 和 中元素个数分别为 和 ,若采用二进制编码,则可能造成编码的染色体过长,影响算法的计算效率,所以文中采用实数编码。将 和 中所有元素编码为一个染色体,如图3.1所示。
(2) 适应度函数
适应度函数用来评价种群中染色体的优良程度,为后续进行染色体选择提供依据。在点焊机运行过程中,隐藏状态间的转移关系由工艺参数等影响因素决定。在熔核形成过程,焊接电流的变化应具有较大的幅度,而熔核形成后,焊接电流的变化幅度则相对较小。据此分析,前者对应的隐藏状态间的转移概率较大,而后者的转移概率则较小。转移概率的大小与转移矩阵 中的元素 相对应,也即是图3.1中所示的基因。所以,个体的适应度不仅体现了隐藏状态间的转移关系,还反映出焊接过程中工艺参数的变化。
类似的, 反映了监测信号中某个特征分量对当前状态影响的程度,即是特征选取时,需基于重要程度来对特征分量进行排序。由于 来自于监测信号,对应的是观测序列 。 、 及初始状态概率 共同构成了模型参数 , 。
所以,设计适应度函数时,需要体现出模型 与观测序列 的关系,故可将适应度函数表示为
(3.3)
式中, 可通过前向或后向算法进行计算。考虑到概率 的值远小于1,且适应度必须为正值,所以本章设计的适应度函数为
(3.4)
(3) 遗传操作
①选择算子
选择过程主要完成从当前种群中选出若干个优良染色体并将其复制到下一代种群,体现了适者生存、优胜劣汰的原则。文章3.1小节完成了对初始参数 和 的编码。 中的元素 反映了点焊过程中工艺参数等对熔核形成的影响程度大小, 的值越大,表明由 的过程中,工艺参数等因素的变化就越明显,而这种变化是有利于熔核的形成,反之则表明其对熔核形成过程的作用并不大。 中的元素 则是监测信号对点焊机当前状态的反映。若第 个特征能够充分体现点焊机的状态,则应加大其概率,反之则应减小其概率值。所以,设计选择算子时,不仅需要体现出加工过程中工艺参数等对熔核形成过程的影响,也即是对隐藏状态变化的影响,还应选取那些最能体现点焊机运行状态的特征量。
②交叉算子
交叉环节通过相邻两个互相配对的染色体按照交叉方式及交叉概率,交换其部分基因,从而组合出新染色体,交叉环节影响遗传算法的全局搜索能力。文章3.2小节设计的选择算子,不仅体现了加工过程中,工艺参数等对隐藏状态的影响,还对那些能够反映点焊机运行状态的特征进行了区分。所以,在交叉过程中,应使对点焊机运行状态变化产生较大影响的基因尽可能全部遗传到下一代,同时也应增强那些对运行状态变化影响不大的基因,以保持算法在搜索空间具有各个方向的均匀性。
③变异算子
变异环节依据变异概率对染色体中的基因实施变异,从而产生新染色体,变异环节主要增强遗传算法的局部搜索能力。在焊接过程中,工艺参数等对熔核形成的作用不同,正是这种差异使得点焊机运行过程中的隐藏状态也不尽相同。交叉过程使隐藏状态中具有较大概率的基因得以遗传到下一代,增强了算法的全局搜索能力,这对整个算法的收敛是有益的,但是却对那些重要程度不是那么高的参数有所忽略,从而导致算法的局部搜索能力减弱,故所设计的变异算子应加大这些参数的作用。
(4) 终止条件
在利用改进遗传算法来优化点焊机运行状态识别的初始模型时,当概率值最大元素的适应度达到给定的阈值,或者概率值最大元素的适应度和种群适应度不再上升,或者迭代次数达到预设的代数,算法终止。本章采用预设迭代次数作为算法的终止条件。
(5) 改进遗传算法收敛性分析
(6) 改进遗传算法流程
(7) 改进遗传算法性能测试
3.3基于改进遗传算法(IGA)和HMM算法的点焊机运行状态识别
点焊机运行状态识别的目的就是对加工过程中的隐藏状态进行判断。由于隐藏状态受到加工任务、工艺参数等因素的影响,且不能直接对其进行判断,所以选取对隐藏状态具有较强分类能力的HMM算法,目的在于:①区分不同因素对点焊机运行状态变化造成的影响;②区分同一个参数条件下,隐藏状态间存在的差异。考虑到HMM算法存在的不足,即对初始模型敏感,容易陷入局部极值,本章3.2小节设计的改进遗传算法,通过将算法融入到点焊机运行过程中,分析了工艺参数变化与隐藏状态间的关系,以及监测信号与隐藏状态间的关系,选取那些对隐藏状态变化具有较大影响的参数,从而实现了对初始模型的优化。
基于上述分析,本小节将改进遗传算法融入到HMM运行状态识别过程中,提出一种新的运行状态识别算法,称为IGA-HMM,其流程如图3.7所示,主要包括:初始模型参数优化、参数训练与状态识别。
(1) 初始模型参数优化。目的在于:防止BW算法在搜索时陷入到局部极小值。将初始模型参数 ( 无需优化)编码为一个染色体,输入到遗传算法中,通过遗传操作(选择、交叉和变异),得到进化后的子代个体,然后计算个体的适应度。重复上述过程,直至遗传算法达到终止条件,即达到最大进化代数时,即停止搜索,并输出其结果,解码后,并进行归一化处理,即可得到优化后的模型参数 ,然后与 一起构成BW算法的初始模型。
(2) 参数训练。目的在于:建立点焊机每种状态对应的模型参数库。对预处理后的训练数据进行特征提取,得到每种状态对应的训练参数集,并与优化后的初始模型一起输入到BW算法中进行计算,当BW算法满足终止条件,即达到最大迭代步数时,则停止迭代,并输出结果,从而得到了点焊机每种状态对应的训练参数集。
(3) 状态识别。目的在于:对未知状态的测试数据进行状态判别。先对测试数据进行特征提取,并把得到的特征向量输入到模型参数库中,通过Viterbi算法计算其在每种模型下的对数似然概率值,那么其中的最大者所对应的模型状态即为测试数据的当前状态,从而实现了状态识别。
4 基于Aitken-IEM算法的点焊机运行状态识别研究
点焊机运行状态识别的训练参数模型库建立不仅与初始模型的选取相关,还受到训练算法的影响。第3章针对点焊机运行状态识别过程中存在对初始模型敏感的问题,提出了一种初始模型选取方法,并通过应用案例验证了所提出算法的有效性。文章2.4小节则指出EM算法存在局部收敛速度慢的不足。所以,在第3章的基础上,即以优化后的初始模型作为EM算法的初始训练参数,同时对点焊机运行状态识别的训练算法进行分析与优化,然后将所提出的算法运用于点焊机运行状态识别,以此来验证算法的有效性。
4.1 点焊机运行状态识别的训练算法分析
在点焊机运行状态识别过程中,训练算法的作用在于:建立每个运行状态对应的训练参数模型库,即是构建运行状态识别的模板。训练算法的输入参数为初始模型和特征量,则影响训练算法的因素包括工艺参数、监测信号等。
(1) 工艺参数等的影响。在焊接过程中,随着熔核从无到有、从小到大的变化,工艺参数也会随之发生变化。在熔核形成过程中具有决定性作用的焊接电流则会从几千安培变化到上万安培。在此过程中,焊接电流发生突变的时刻通常与点焊机运行状态变化相对应,所以焊接电流突变的次数与隐藏状态数目是对应的。类似的可以分析其它参数变化与隐藏状态间的关系。基于上述分析,可以初步确定点焊机运行过程中的隐藏状态。根据隐藏状态数目便可确定初始状态转移矩阵的维度。
(2) 监测信号的影响。在点焊机运行过程中,能够反映运行状态变化的信号很多,如电流信号、电压信号、功率信号等,但是无论选取何种信号,都需要对其进行特征提取,以便选取那些能够反映当前状态的特征量。由于单一特征无法准确的反映状态变化,所以需要选取多个特征。同时,特征量的数目也是确定初始状态矩阵维度的要素。
综上所述,通过点焊过程中的工艺参数等因素的分析,可以确定隐藏状态,而利用监测信号,可以为训练算法提供特征向量集。所以训练参数模型是工艺参数、状态监测等因素共同作用的结果,只有准确的对其进行分析,才能获得每个状态对应的模型参数,从而为运行状态识别奠定基础。
4.2 点焊机运行状态识别的模型参数训练算法
EM(Expectation Maximization)算法是实现极大似然估计的一种有效方法,它通过迭代方式得到数据不完备或存在缺失情况下的参数估计。EM算法的每次迭代包含两个操作,其一是“E(Expectation)步”,计算完备数据对数似然函数关于未知数的期望;其二为“M(Maximization)步”,通过最大化辅助函数来获得新模型的最优参数。目前,EM算法已经应用于遗传学[149-150]、信号处理[151-152]、模式识别[153-154]等领域。但是当数据量很大或者数据快速更新时,EM算法的速度会大大降低,为此提出了一系列的改进方法。
文献[155-160]针对数据量很大或数据快速更新时,EM算法存在收敛速度慢的问题,提出了相应的优化方法。结果表明:通过设置阈值或者与其它算法相结合,在一定程度上可以改善EM算法的性能,即提高算法的局部收敛速度。但是上述方法对于点焊机运行状态识别过程的参数训练并不完全适用,因为在加工过程中,观测序列是不断进行更新,而传统的EM算法主要应用于静态模型参数估计,所以本小节对传统的EM算法进行了改进以解决优化目标中的观测序列更新问题,在此基础上,结合Aitken加速算法,以解决优化目标中的迭代步长固定不变的问题。
(1)改进EM算法
文章4.1小节的分析表明:训练算法受到工艺参数等因素变化和监测信号的影响。具体表现在:工艺参数等决定了隐藏状态而监测信号则影响观测序列。由于不同参数对焊接过程的作用不同,那么与之对应的隐藏状态对运行过程的贡献也有差异。通过选取那些对熔核形成有利的参数,并抛弃不利因素,便可以优化焊接结果。类似的,通过设置某种规则对隐藏状态进行筛选,选出那些对训练过程有用的状态,同时忽略用处较小者,这样减少了隐藏状态数目,从而减少状态间的转移次数,提高了算法的计算效率。这正是本章对EM算法进行改进的基础。
在利用EM算法来建立训练参数模型库时,需要对监测信号进行特征提取,并将其作为EM算法的输入参数,然后通过E步和M步的反复迭代,最终得到模型参数的估计值。通过对E步和M步分析发现,M步在更新每个运行状态对应的模型参数时,需要利用 和 来进行计算模型参数值,其中变量 和 的表达式如公式(4.1)和(4.2)所示。
计算结果表明, 和 的值越大,观察序列 对训练参数模型估计的影响就越大,反之亦然。去掉那些小概率值对应的观察序列(对于观察序列 ,若第 次舍去序列 ,则将 看作相邻序列,然后利用前、后向算子计算 和 ),以加快M步的运算速度。现以 为例加以说明。
由于观察序列 对应的所有 的概率之和等于1,所以 的取值只有两种情况,大于等于平均概率值 ( 为独立的观察序列的个数,其值由观测序列的长度 来决定),或者小于该值。如果 远小于平均概率值,则意味着该观察序列对估计模型训练参数的影响很小,同时也意味着其余观察序列对估计参数值时所起到的作用更大。
(2) Aitken 算法[161]
在点焊机运行过程中,工艺参数等因素导致了隐藏状态的变化。通过对工艺参数的分析,确定了隐藏状态数目,同时通过对监测信号的特征提取,确定了观测状态数目,二者的共同作用下产生了初始模型参数 和 。IEM算法正是利用加工过程中各工艺参数对点焊机运行状态的影响程度不同,仅选取那些对运行过程作用较大的参数,以此来减少隐藏状态,进一步减少状态间的转移次数,以达到提高算法收敛速度的目的。但由于IEM算法在本质上是一种梯度下降算法,且在整个过程中算法均以相同的步长进行搜索,这就导致在最优解附近算法的收敛速度过慢,更有甚者跳不出局部极值点,这些都不利于进一步的参数估计。因此,本小节引入了Aitken加速算法,用以加快IEM算法的后期收敛速度。
设 为IEM估计算法中 的收敛值,即
并设 的映射为 , 为 在 处的梯度。由 在 附近的泰勒展开,有如下近似公式
于是可得
其中 是Aitken第 次迭代的估计值, 是以 为初始值通过IEM算法得到的第 次的估计值。
Aitken算法的第 次估计是按照以下步骤进行的:
Step1 是Aitken第 次迭代的估计值;
Step2 以 为IEM算法的初始值,进行迭代近似计算,第 步从估计值 开始;
Step3 然后以 代入公式(4.9)进行计算得到第 步的Aitken估计值 ;
Step4 重复以上的步骤直至收敛为止。
(3) Aitken- IEM算法
IEM算法通过设置阈值,把加工过程中受工艺参数影响较小的隐藏状态节点去掉,这样减少了状态间的转移次数,但是从算法的角度看,该方法并不能从本质上提升算法的性能,即无法改变梯度算法存在的在最优解附近收敛速度慢的问题。Aitken算法具有较好的加速搜索能力,可以考虑将其与IEM算法相结合,以充分发挥二者的优势,基于此,本章提出Aitken- IEM算法。该算法的基本思想是:在点焊机运行状态识别的训练参数估计过程中,首先利用IEM算法选择部分观测序列来重估模型参数,当IEM算法的收敛速度变慢时,则切入Aitken算法进行提速。如果Aitken算法在 附近无法稳定收敛,则需转入IEM算法进行最后的稳定收敛过程。
IEM算法收敛速度开始进入缓慢的判定准则如下:
而判定Aitken算法出现小范围的振荡,可以根据似然函数 的数值来判定,当 出现振荡而非稳定增加时就可以切入IEM算法完成最后的收敛过程。
(4)Aitken- IEM算法性能测试
4.3 基于Aitken-IEM算法的点焊机运行状态识别
在点焊机运行过程中,其运行状态变化受到加工任务、工艺参数等因素的影响。由于每个因素对点焊机运行过程的作用方式均不相同,从而导致隐藏状态间的转移概率值并不相等,即存在着差异。从生产过程来看,有的因素引起运行状态的变化并不明显,甚至在一定范围内可认为是不变的,那么这类变化就可判定为冗余,可将其去掉。同时,由于IEM算法的结构决定了该算法在迭代搜索过程中容易陷入局部极值点,使得在最优解附近的收敛速度过程,影响了算法的计算效率。
基于此,本章提出了基于Aitken-IEM算法的点焊机运行状态识别。该算法的基本思想是:首先将第3章优化后的HMM初始模型输入到改进EM(IEM)算法中,得到每种运行状态对应的模型参数库,然后利用Viterbi算法对点焊机运行过程中的隐藏状态进行判断。算法的基本流程如下:
Step1 将原始信号分成两部分,一部分用于模型参数训练,另一部分则作为测试数据;
Step2 对训练数据集进行预处理及特征提取,得到每种状态对应的特征向量集;
Step3 将第3章优化后的初始模型及特征向量输入到Aitken-IEM算法中,得到每种状态对应的训练参数集;
Step4 对测试数据进行预处理及特征提取后,输入到每种状态对应的训练参数集中,利用Viterbi算法计算其在每种状态下对应的对数似然概率值;
Step5 得到状态识别的结果。
其流程图如图4.2所示。
4.4 应用案例
5 基于改进HMM增量学习算法的点焊机运行状态识别研究
第3章和第4章分别对点焊机运行状态识别过程中的初始模型选取和训练参数模型的建立进行了研究。需要指出的是:这两章均是在离线条件下讨论点焊机运行状态识别问题,即实验数据获取、模型参数训练以及状态识别均是离线的,这样虽然实现了点焊机的运行状态识别,但是无法将其应用到实时加工过程中,因为在点焊过程中,通过传感器监测到的信号是实时变化的,即观测序列的长度是变化的。同时HMM算法对历史数据无“记忆”性,即观测数据每更新一次,就需要重新对模型参数进行一次估计,这样不利于处理大批量的数据,还降低了状态识别过程的效率,同时增加了计算机的存储负担。基于此,在第3章对初始模型优化的基础上,本章提出利用增量学习算法来解决点焊机运行状态实时识别问题。
5.1 点焊机运行状态实时识别过程分析
在实际加工过程中,有的加工任务会持续较长时间,在此期间,点焊机不能停机,否则可能会造成零点不稳,需要重新调整,费时费力。这种情况下,工艺参数等导致运行状态变化的因素也是持续的,随着加工过程的不断推进,点焊机的隐藏状态也会不断发生变化。一般地,该变化具有这样的特点:①隐藏状态数目是一个有限值,不可能无限增加;②所谓的变化仅是上述有限状态间的不断转换。所以,要分析这类运行过程,存在一个难点:隐藏状态数目较多,且状态间的转换关系也较复杂。
此外,对焊接过程的监测也是持续的,那么获取的监测信号具有长度较长和实时变化的特点。对于所选取的监测信号而言,每种信号所包含的特征是不会发生变化的,只是特征向量的长度发生变化而已。
综上所述,要完成点焊机运行状态的实时识别,则要求识别算法(包括模型参数训练与运行状态识别)应具有较高的时间响应度。所以,本章拟利用增量学习算法来解决点焊机运行状态实时识别问题。
5.2 点焊机运行状态实时识别过程的增量学习算法
增量学习算法是对上述问题的一个良好补充,它能够充分利用历史信息来解决当前的运行状态识别问题。用符号描述为: 时刻的状态识别模型为 , 时刻新到达的数据集为 ,则 时刻的模型 与 和 的关系可表述为
公式(5.1)表明,将 作为 时刻的训练初始模型,在新数据集 上再训练直至收敛,得到新模型 。
目前,增量学习算法在模式识别中受到了广泛关注,如文献[163-165]研究了增量BW(Incremental Baum-Welch, IBW)算法,该算法仅需利用当前时刻的模型参数来更新新到达的数据,而无需从头开始重新训练,这就减少了参数训练时间。文献[166]则引入了增量Viterbi(Incremental Viterbi)算法,该算法在处理长观测序列问题上,与标准Viterbi算法相比,能够极大地减少存储空间。但是上述研究并未把IBW和增量Viterbi算法相结合,同时在该过程还存在冗余状态转移关系,基于此,本小节分别对增量BW算法和增量Viterbi算法进行了优化。
5.2.1 增量Baum-Welch算法
(1)前向-后向算法
在对点焊机运行状态进行识别时,首先需要利用前向-后向算法建立每个隐藏状态对应的训练参数模型库。上文的分析表明,在运行过程中,隐藏状态受到工艺参数等因素变化的影响,但由于不同因素对点焊机运行过程的作用机理并不相同,那么对应的隐藏状态也不能合并为同一种状态。例如焊接电流的变化确定了 个隐藏状态,电极间压力确定了 个隐藏状态,则在模型参数训练过程中,需要建立的模型库的个数为 ,这样可以保证每个状态都能够获取到独一无二的特征,并为后文的状态识别奠定基础。
前向-后向算法是用来计算给定一个观测序列 和一个训练参数模型 时,由运行状态模型 产生序列 的概率 。该算法的实质是计算未知状态的观测序列在已知状态下的概率,通过比较概率值的大小,可以对点焊机当前的运行状态作出判断。由于前向算法和后向算法在定义方式和计算方法上具有相似性,所以这里仅以前向算法为例加以说明。
前向算法是一种典型的网格结构,如图5.1所示。图5.1表明:前向算法在迭代计算过程中,需要遍历当前时刻下点焊机所有的状态,完成该算法所需的乘法次数为 ,加法次数为 ,算法的复杂度为 。当点焊机实时状态划分过多及观测序列的长度较长时,会导致算法时间复杂度增加,这都不利于实时参数训练。同时,在搜索网格中也存在着概率值很小的状态节点,且这些节点对前向概率值的贡献很小,故认为是冗余的转移关系。因而传统前向算法生成的搜索网格在实际应用中还存在需要优化和改进的方法,为此,本小节提出一种优化搜索网格的方法。
(2) 搜索网格优化和设计实现
①优化思想
优化的基本思想是:将搜索网格中数值小于设定阀值的状态节点去掉,并将连接这些节点的状态转移关系也进行删除,这就对原来的状态节点进行了优化,去除其中冗余的转移关系。
②设计实现方法
优化设计思想的实现方法分为如下步骤进行:
Step 1 计算时刻 时,各个状态对应的前向概率 ;
Step 2 判断 是否小于给定阀值 (文中取 ),若是,则将该状态节点删除,同时剪掉与该状态相关的转移关系;反之,则继续完成状态转移;
Step 3 重复上述步骤,直到 ,这样就得到了优化后的搜索网格。
③优化算法的特点分析
优化后的前向算法示意图如图5.2所示。由图5.2可知,当观测值序列保持不变时,通过删除状态节点,即减少点焊机状态数目 ,其目的是减少需要搜索的候选分支个数,从而减低算法的时间复杂度。例如,在时刻2时,计算得到 ,这样就可将该节点删除,同时还将与该状态相关的转移关系删掉,这样就减少了状态间的转移次数。对于其余时刻,也可作出类似的分析。
对于后向算法,也可进行类似的分析,此处就不做详细阐述。
(3) 增量BW算法
在实时加工过程中,随着工艺参数的不断调整,如熔核形成过程,则焊接电流会不断增加,而熔核冷却则焊接电流也会随之减小,那么点焊机的运行状态也会不断变化。需要指出的是,在该过程中,隐藏状态的数目是一个有限值,且状态间的转移也不会无限延伸,只是会随着加工过程的推进而不断调整。那么在建立这类状态的训练参数模型库时,需要将实时性考虑在内。
BW算法可用于建立训练参数模型库,但是还存在这样的不足:①该算法仅适用于确定长度的观测序列,当新数据到达时,需要从头开始重新训练,浪费了大量的时间和存储空间;②该算法是基于梯度下降的搜索算法,在最优解的收敛速度较慢。
增量学习则是解决问题①的有效方法,可以应对这种数据随时间的不断产生和数据量巨大的问题。Chis和Harrison[163]研究了改进BW算法的增量学习算法, 并建立了基于HMM的增量存储负荷模型,同时得到了HMM增量学习算法的重估公式:
由式(5.3)和(5.4)可知,在利用 时刻新到达的数据进行参数估计时,只需计算出 , ,以及 的值,而无需从头开始重新计算。这样减少了算法的迭代次数,从而提高了收敛速度。
增量学习算法在一定程度上能够有效地解决数据实时更新的问题,但是该算法的自动学习是在已有的模型参数上进行的,而无法解决由于状态空间改变带来的数据更新问题。基于此,本文提出了一类改进增量学习算法,该算法以增量学习为基础,同时将上一节优化的前-后向算法加入到参数学习的过程中,以此来提高参数学习的效率。
5.2.2 增量Viterbi算法
增量BW算法解决了训练参数不断更新的问题,建立了每种运行状态对应的训练参数模型库。在实时加工过程,由于监测信号不断更新,虽然选取的特征相同,但是构成特征的向量在数值上却存在差异。所以,要解决这类问题,①需要建立已有信号的特征库;②对于新增加的信号,应充分利用已有结果来加以分析,而不是从头开始。基于此,在进行状态识别时,识别算法不仅具有实时处理数据的能力,还能充分利用历史信息来分析新到达的数据,即具有增量学习的能力,以此来提高算法的计算效率。
Viterbi算法是常用的状态识别方法,用于解决给定一个观测值序列 和模型 时,确定一个最优的状态序列 。经典Viterbi算法也是一种格型算法,其计算的复杂度为 。但是,该算法在处理实时更新的数据时,也存在计算量大的问题。
为此,Bobbin[166]提出了一种增量Viterbi算法。该算法的基本过程如下,对于路径矩阵
以 中的 时刻作为初始时刻来研究在未来某个时刻 回溯到 时刻的最优路径。设 时刻的可达集 ,其中 ,并初始化,即 。
对于 时刻,首先计算 ,并设 ,然后根据 来建立一个新的可达集 。文章是利用‘Multiple-Root-States’的值是否为真来进行回溯,即当 时,定义‘Multiple-Root-States’为真,而当 时,定义‘Multiple-Root-States’为假。当‘Multiple-Root-States’为真时,利用 来更新 的值,同时以 为初始时刻来计算下一时刻的可达集。
根据上述方法,就可以不断的更新路径矩阵 。在路径更新时,该方法仅需要当前时刻的信息,而无需全部时刻的信息,这体现了增量Viterbi算法的‘无记忆性’。在路径更新过程中,该算法的时间复杂度为 。
本小结借鉴了文献[166]的思想。设 时刻的状态集为 ,其中 。对于 时刻新到达的数据,首先利用 计算,而在时刻 ,对于某个状态 , 可以转化为 ,即将其转化为一个寻找局部最优解的问题,然后得到 。
由于 。
若 ,则对 进行更新;
若 ,则对 不进行更新。
其中 为预设的阀值,其值由后文给出。从而得到 时刻的状态集为 。对于 可进行类似的分析,这就解决了状态的实时更新问题,同时算法的时间复杂度为 。
与文献[166]相比,文章的不同之处在于:
①将全局最大问题转化为若干个局部极大问题,即将其转化为寻找相邻两个状态间的转移概率的最大值,故对于某些情况下,无需遍历所有的状态,这在一定程度上降低了算法的计算量;
②对于当前状态是否需要更新,只需判断当前时刻相邻的两个状态对应的 值之差是否大于给定的阀值即可,而无需考虑路径对应的布尔数。
5.3 基于改进HMM增量学习算法的点焊机运行状态识别
点焊机在实时加工过程中,其工艺参数等因素会不断进行调整,随之带来隐藏状态和监测信号的变化。一般的,工艺参数的变化范围是固定的,那么对应的隐藏状态的个数也是有限的,只是在不同工艺参数条件下,隐藏状态有所不同,而这种差异对于运行状态识别具有重要作用,不能简单的加以合并处理。同时,随着工艺参数的重复调整,隐藏状态数、状态间转移关系也不会再发生变化。但是监测信号却会发生变化,即观测序列的长度不再是事先确定的。为了解决上述问题,文章5.2小节分别研究了增量BW算法和增量Viterbi算法,而运行状态识别是上述两种算法共同作用的结果,所以需要将其联合起来考虑。
基于此,本章提出一种基于改进HMM增量学习算法的点焊机运行状态识别,其流程如图5.3所示。参数训练与状态识别均采用增量学习的方式。在参数训练时,首先对实时采集到的信号进行预处理,然后根据事先确定的模型状态数,得到点焊机每种运行状态对应的训练数据集,并分别进行特征提取,得到响应的特征向量集,最后与初始模型参数一起输入到增量BW算法中进行训练,并且对前向-后向算法存在的冗余转移关系进行了优化,得到每种运行状态对应的模型参数集。而在状态识别时,则将测试数据与每种状态对应的模型参数一起输入到增量Viterbi算法中,计算出对数概率值,其中最大的对数概率值对应的状态即为当前的运行状态。
5.4 应用案例
5.5 基于IGA-HMM、Aitken-IEM及改进HMM增量学习算法的点焊机运行状态识别比较
第3章~第5章提出三种点焊机运行状态识别方法,即:基于改进遗传算法(IGA)和HMM算法的点焊机运行状态识别、基于Aitken-IEM算法的点焊机运行状态识别和基于改进HMM增量学习算法的点焊机运行状态识别。以下将分析这三种算法的相同点与不同点。
(1)三种算法的相同点分析
①都是针对点焊机运行状态识别过程中,传统HMM模型在参数训练(主要是BW算法)和状态识别(主要是Viterbi算法)过程中存在的某些不足之处所提出的一种优化方法;
②所提出的算法并未对HMM模型的结构进行改进,只是对HMM的一些局部特征(或不足)进行了优化;
③所提出算法在一定程度上能够提升传统HMM的性能;
④所提出算法是针对某一类特殊问题提出来的,其通用性还有待进一步的验证。
(2)三种算法的不同点分析
①改进遗传算法。目的在于:减小初始模型参数对BW算法产生的影响。由于BW算法是一种基于迭代的梯度下降算法,受模型的初始值影响较大,而已有的成果中对此也有相当多的研究,其中利用遗传算法来优化初始模型参数便是其中之一,其思想是:将遗传算法的全局寻优能力融入到BW算法中,在参数训练之前,首先对初始模型参数进行优化,使得模型的初始值在数值上具有一定的差异。受此启发,本文提出一种利用改进遗传算法来优化HMM初始模型参数的方法,该方法通过对编码机制、适应度函数设计、选择方式、交叉算子和变异算子的改进,使得遗传算法的性能得到了提升,并把该方法优化后的模型参数作为BW算法的初始值,这样,在一定程度上降低了初始参数对BW算法的影响。
②Aitken-IEM算法。目的在于:解决EM算法的计算效率受到模型状态数和观测序列长度影响的问题。其基本思想是:通过设置适当的参数,只选择部分观测序列来重估HMM参数,当IEM算法在迭代速度变慢时,则切入Aitken算法进行加速,这样保证在参数训练过程中,算法都能以较快的速度搜索,从而提高了算法的收敛速度,同时利用优化的初始模型,降低了算法在搜索过程中陷入局部极值的可能性,这样也改善了算法的收敛速度。
③改进HMM增量学习算法。目的在于:解决观测序列实时更新的问题。传统的HMM在输入新的观测序列时需要从头开始重新来重估模型参数,这在一定程度上加重了计算的负担,同时实时性也受到了影响。基于此,文章利用改进增量学习算法来解决观测序列的更新问题,同时,针对BW算法在参数训练时,前向、后向算法存在冗余的转移关系,即在某些时刻,一些状态节点对应的前向、后向概率值相当小,故可认为这些概率值对最终的累加结果所产生的影响几乎可以忽略,那么便可将这些状态节点删除,从而减少了状态之间的转移次数,降低了算法的时间复杂度。
因此,本文中提出的三种改进算法,从三个不同的点来解决了HMM算法在点焊机运行状态识别过程中存在的问题。应用案例表明,三种算法都是有效的。
6 结论与展望
6.1 结论
点焊机加工过程中产生了大量的历史状态数据,通过分析这些数据,可以对点焊机的运行状态进行全面地、综合地分析,从而为设备管理、车间管理及生产管理提供数据支持。本论文从模式识别的角度,围绕影响点焊机焊运行状态变化的因素、基于HMM算法的点焊机运行状态识别,以及HMM算法在运行状态识别中存在的问题展开研究,主要研究结论如下:
①提出了一种基于改进遗传算法(IGA)和HMM算法的点焊机运行状态识别。通过对标准遗传的编码方式、适应度函数以及遗传算子(选择、交叉及变异)的改进,避免遗传算法存在的早熟现象;同时利用改进遗传算法来优化HMM初始模型,改善了BW算法的局部搜索能力。通过应用案例,不仅验证了算法的有效性,还表明该算法的性能要优于基于AGA-HMM算法和GA-HMM算法的点焊机运行状态识别。
②提出了一种基于Aitken-IEM算法的点焊机运行状态识别。该算法通过设置阈值,仅选择部分观测序列来估计模型参数,增加了IEM算法的搜索能力。同时引入Aitken算法来改善IEM算法后期收敛速度。通过将该算法应用于点焊机运行状态识别实验,验证了该算法是有效的,与此同时,通过与基于HMM(ECM)算法和HMM算法的点焊机运行状态识别比较,表明该算法的性能要优于后两种算法。
③提出了一种基于改进HMM增量学习算法的点焊机运行状态识别。该算法通过设置阈值,将前向-后向算法中的冗余状态转移关系去掉,这样不仅解决了训练参数实时更新的问题,还对前向-后向算法进行了优化,提高了参数学习的效率;同时也对增量Viterbi算法进行改进,将全局最大化问题转化为若干个局部极大值问题,在一定程度上降低了算法的时间复杂度,提升了识别效率。通过应用案例,验证了算法的有效性。通过将该算法与基于增量学习算法的点焊机运行状态识别、基于BW算法的点焊机运行状态识别比较,表明算法的收敛速度得到了提高;同时与基于增量Viterbi算法的点焊机运行状态识别和基于Viterbi算法的点焊机运行识别比较,说明该算法的识别准确率得到了提高。