于 地
(长春光华学院,吉林 长春 130033)
随着信息技术的快速发展,机械设备愈加复杂化、智能化,使设备具有更完善、精确的性能[1]。但在机械设备愈加复杂的过程中,增大了机械设备运行状态的不确定性,需要在机械设备运行过程中对机械设备的零件性能、设备精度、部件磨损程度等进行检测,以提升机械设备运行的安全性与可靠性。但现有故障诊断工作以假设故障样本为同分布的方式进行,样本数量较少,难以对多工况机械故障进行精准诊断。据此,本文提出具有域自适应能力的基于少参数CNN网络LiNet算法的机械故障诊断方法,并对该方法进行验证,旨在为提升机械故障诊断实效提供方法借鉴与参考。
卷积神经网络(Convolutional Neural Network,CNN)由卷积层、池化层、激活层构成,具有较强的特征提取能力,被广泛应用于工业生产、科学研究等领域[2]。在CNN网络运行过程中,全连接层可以接收压缩信号特征,经过多个卷积池化处理后,输出到全连接层,并对输出数据信息进行分类和更新。
CNN算法流程如下:
第一,对特征图、激活函数进行点积计算,利用非线性激励函数映射输入,公式表示为:
卷积层运行中,需要利用激活函数增强网络表达能力,激活函数公式表示为:
卷积层操作如图1所示。
图1 卷积层操作示意图
第二,在池化层,对提取到的特征进行向下采样,公式表示为:
第三,利用全连接,对特征进行分类,分类使用softmax激活函数[3]。全连接公式表示为公式(4),softmax函数表示为公式(5)。
为有效对多工况机械故障进行检测,应用LiNet算法对CNN的批归一化层进行优化,挖掘其自适应能力,使算法更适用于图像识别[4]。
首先,输入信号,对批归一化层的神经元进行表达,公式表示为:
式中,j表示目标信号;表示目标信号j在批归一化层中第i个神经元的表达。
其次,应用目标域计算批归一化层的统计量,确保CNN网络的算法更适用于目标域数据计算。
LiNet算法总体结构与CNN网络部分结构相似,包括特征提取和模式识别。特征提取是应用2个light_module、1×1结构卷积核进行特征提取;模式识别是参数压缩后,将提取特征输入到池化层进行识别[5]。
在LiNet算法具体应用中,主要包括数据准备、方法训练、方法测试[6]。数据准备方面,需要收集足够的数据样本,将样本按照比例划分为测试集、训练集。为保证算法具有轻量化特征,能够更精准地诊断机械故障,在LiNet算法中引入叠加light_module模块[7]。该模块可以用1×1结构卷积核代替3×3卷积核,有效减少了参数的总数量。同时,压缩light_module模块中的输入通道数量,进一步减少参数总量。方法训练方面,对训练集参数进行训练,若训练集、测试集的负载工况不同,则对批归一化层进行更换,保证训练集和测试集的输入参数分布呈对齐的状态。方法测试即对方法的应用结果进行诊断。
基于CNN网络LiNet算法的损失函数是输出概率分布与目标类概率分布间的交叉熵Loss(θ)[8],公式表示为:
式中,θ表示参数集;yi表示目标分布;hθ(xi)表示模型输出的分布;m表示样本个数。
在训练过程中,需要对CNN网络中的不同层的反向传播进行描述。
卷积层反方向传播描述δl-1,公式表示为:
式中,δl表示第l层的误差矩阵;rot180(WL)表示对WL(权重矩阵)反转180°;zl表示第l层的输出特征图。
池化层反方向传播描述ρl-1,公式表示为:
式中,upsample(δl)表示降采样函数。
需要指出的是,在卷积层反方向传播描述后,需要对批归一化层进行反方向传播描述,该描述过程如下:
式中,ki表示归一化处理后的样本值;yi表示ki缩放后的输出;γ、β均表示尺度因子;σ表示方差;xi表示批归一化层输入;μ表示样本均值;表示归一化处理的方差。
通过多次样本训练,可以提升算法的泛化能力。为扩大训练样本数量,本研究在数据增强技术中引入LiNet,并设置不同机械故障类型下的机械设备振动信号,应用算法对不同振动信号进行重叠采样分析,在增加数据集数量的基础上,提升算法的精准性[9]。
为验证算法的可行性、有效性,采集工业齿轮箱的模拟运行数据,提取数据中有关齿轮、轴承的多类型故障信息。其中,齿轮故障类型包括齿轮缺损、汽轮断齿、齿面磨损、齿根磨损,轴承故障类型包括滚动体故障、轴承内圈故障、轴承外圈故障、轴承内外圈联合故障[10]。
为保证验证的可靠性,将试验工况分为1 200 r/min且无负载工况、1 800 r/min且有负载工况(负载的力矩为7.34 N·m)。
为对两种工况下的故障进行充分检测分析,在验证前,设置了4个数据集,具体如表1所示。
表1 数据集
需要指出的是,每个数据集中含有4种不同故障状态,在故障诊断过程中,应用LiNet对神经元输出层进行替换[11]。
通过测试,基于CNN网络LiNet算法的故障诊断方法的检测结果为:工况1状态下,能够100%检测出数据集1中的轴承故障,且能够99.51%检测出数据集2中的齿轮故障;工况2状态下,能够100%检测出数据集3中的轴承故障,且能够99.84%检测出数据集4中的齿轮故障。由此可以看出,基于CNN网络LiNet算法的故障诊断方法对于轴承的故障诊断精度达到100%,对于齿轮的故障诊断精度达到95%以上。同时,数据集1检测时间为6 s、数据集2检测时间为80 s、数据集3检测时间为20 s、数据集4检测时间为84 s。综合来看,基于CNN网络LiNet算法的故障诊断方法用时较短、精度较高,且具有较高的稳定性,实现了算法的轻量化目标。另外,通过算法训练发现,LiNet算法的收敛速度较快,并具有一定泛化能力、域自适应能力[12]。验证结果表明,基于CNN网络LiNet算法的故障诊断方法能够精准提取到故障信息数据,可以在实际机械故障检测中进行深度应用。
综上所述,故障诊断系统的应用能够为机械设备安全、高质量运行提供保障。为了对多工况机械故障进行精准诊断,本文提出了基于少参数CNN的多工况机械故障诊断方法。在机械设备运行数据特征提取过程中,设计light_module模块,减少参数量,同时应用目标域样本计算的方式,保证数据分布对齐,实现系统的域自适应设计,使故障诊断系统的应用范围更加广泛。算法验证结果表明,基于CNN网络LiNet算法的故障诊断方法能够精准提取到故障信息数据,可以在实际机械故障检测中进行深度应用。但整体而言,本文未对故障位置、故障原因进行细致分析,未以故障模式分类为视角,对故障检测系统进行设计,需要在后续研究中补充和完善。