基于记忆自编码器在车底关键部件的异常识别

2022-12-26 12:29
铁路通信信号工程技术 2022年12期
关键词:车底解码器编码器

何 琦

(中国铁路兰州局集团有限公司,兰州 730000)

1 概述

列车车底关键零部件的安装状态一直以来是检修作业的首要工作,当前,通过机器视觉智能装置是检修的主要工具[1],检测识别方法传统上通过深度学习对正常样本和故障样本进行目标分类推理,其典型缺点为:深度学习需要大量的故障样本,然而真实列车车底故障发生频率低,故障样本较少,易导致深度学习模型不收敛或者模型过拟合,不足以支撑深度学习在列车车底故障检测的应用,为此,提出一种基于记忆模块的深度自编码器故障检测方法。

此方法通过机器视觉智能装置采集的高清图像,采用多层卷积神经网络作为编码器,特征记忆机制模块作为特征最优器,多层反卷积网络作为解码器。运用最优算法迭代优化输入和输出的重构误差。此方法把列车车底的关键零部件正常图片作为自编码的输入,自编码器的输出作为正常图片的重构,输入图和重构图的差异体现关键零部件是否存在故障异常。

2 记忆自编码器原理

自编码器(Auto-Encoder,AE),是一种无监督的学习模型。它在最优化方法(如梯度下降法)与反向传播算法的基础上,以输入数据本身为监督,引导神经网络学习映射关系,获得重构输出[2]。在时序异常检测方案中,异常相比在正常时是少数,因此,如果使用自编码器重构输出与原始输入之间的差异超过特定阈值(threshold),则认为原始时间序列中存在异常。自动编码提供类似主成分分析法(Principal Component Analysis,PCA)等数据降维、压缩的功能。从自编码的网络结构可以看出,如果输入层的神经元数n大于隐藏层的神经元数m,数据就要从n维减少到m维,可以使用m维特征向量重构原始数据。这与主成分分析法的维度缩小相同,PCA是求解特征向量进行维度缩小,是线性维度缩小,自编码器是非线性维度缩小。

在半监督/无监督设定下,自编码器期望异常的重构损失大,而正常重构损失反之,因此可以区分这两种情况。但实际上无法保障这一点,自编码器也能很好地进行部分异常重构,大部分论文认为这是因为自编码器的泛化能力太强了。本文通过使用自编码器的记忆增强(Memory Augmentated AE)来解决这一问题。

记忆自编码器由编码器、记忆单元和解码器构成,其中编码器和解码器构成自编码器。自编码器是一个强大的特征压缩工具,在无监督机器学习中对高维数据进行降维建模,在机器学习中,降维是通过降低数据的维度描述的过程,通过保留一些现有特征或通过基于旧特征组合来生成数量更少的新特征来进行降维,降维的目的是对于给定一组可选的编码器和解码器,希望编码时保持信息量最大,从而在解码时具有尽可能小的重构误差。

编码器和解码器通过神经网络来实现,并采用随机梯度下降算法进行迭代最优求解,自编码器表示输入的数据和输出的数据保持一致,使编码器对数据进行特征降维,解码器对特征进行重构,并通过反向传播误差来更新网络的权重,目的是自编码器的输出重构出输入数据。

编码器和解码器自编码器如图1所示。

图1 自编码器示意Fig.1 Schematic diagram of the autoencoder

图像数据输入为X,经过编码器输出特征为Z=fe(X),特征是指把高维度的输入编码成低维度的隐变量,通过解码器解码Y=fd(Z),把编码过后的输入,解码为高维度的Y,解码器的输出尽可能的恢复编码器的输入,即X≈Y,自编码器优化的目标Min=dis(X,Y),dis(X,Y)表示X和Y之间的距离度量,常用欧式距离度量公式,Min也即为重构损失函数。

深度自编码器的编码器和解码器都是深度非线性网络,网络层数和特征图宽度、网络结构越复杂,自编码器就可以进行更多的降维,同时保持较低的重构损失,其非线性特征提取能力较强,可获得良好的数据表示。但由于网络的泛化能力过于强大,且海量正常样本的图像本身差异性较大,网络为了学习到图像的各种边缘信息,过于“完美的”逼近重构误差,正常正样本和异常负样本经过同一个自编码器,重构误差无法有效区别输入图像,导致负样本无法识别。为了克服自编码器的这个缺点,引入一种新模型的记忆体增强自动编码器(Masked Autoencoders,MAE),给定输入,掩码自编码器不会直接输入编码到解码器中,但使用它作为记忆中最相关的特征转换,在掩码自编码器中,编码器和解码器的结构与传统AE的结构相似,仅在中间增加一个记忆单元,用于特征的转换,如图2所示。

卫星:为把普洱的生态环境优势转变为发展优势,推动绿色发展制度化、常态化、长效化,我们主要做了以下工作:

如图2所示,记忆单元M定义为N个行向量的矩阵,每个行向量mi表示记忆项,此记忆项保存了每次训练中与正样本最相关的向量,维度为C,与编码器输出特征Z的维度相同,因此最终输出如公式(1)所示。

图2 记忆自编码器示意Fig.2 Schematic diagram of memory autoencoder

其中w是一个行向量,是针对特征Z的记忆力权重,w权重矩阵计算如公式(2)所示。

通过公式(2),分别计算出每个wi的softmax损失函数。特征Z与记忆项mi的余弦相似度如公式(3)所示,求出Z与mi间的夹角余弦。

在训练阶段,记忆单元M,保存与编码器输出的特征最相似的特征向量,记录正常数据的正常模式。矩阵M在批训练中,迭代更新,训练算法采用随机梯度下降算法(Stochastic Gradient Descent,SGD)[3],SGD梯度下降最优化是一种一阶优化算法,随机选择训练样本,在更新参数时计算函数的一阶导数,目标是在每次迭代中使梯度沿最陡斜率的方向行进,在目标函数的梯度相反的方向上更新网络参数[4]。在测试阶段,正常数据从记忆单元M中选择与之最相似的行向量来获得重建,重建误差最小;异常数据也从记忆单元M中选择与之最相似的行向量来重建,由于记忆单元M记录的都是正常数据的正常模式,找出与异常最相似的特征后重建的数据必然是正常数据,重建误差增大,从而把异常数据识别出来。

3 异常识别原理

根据记忆自编码器原理,结合列车车底关键零部件分布特性,构建针对列车车底关键零部件状态异常识别框架,如图3所示。

图3 车底关键零部件异常识别原理Fig.3 Schematic diagram of abnormal identification of key components under a train

以车底关键零部件螺母开口销缺失异常状态为例,开口销完好图片预先通过记忆自编码器进行模型训练。在测试阶段,开口销完好和缺失图片分别输入记忆自编码器,经过编码器和解码器重构图片,把输入图和重构输出图的灰度值进行余弦距离相似度计算,相似度满足一定阈值,判别为异常识别。由于记忆自编码器模型是开口销完好图片训练,重构的图片必然和完好图片的差异最小,开口销缺失图片重构的图片和输入图片差异较大,根据阈值即可检测异常图片。

卷积神经网络(Convolutional Neural Networks,CNN)已在机器视觉领域有广泛应用,表现出泛化能力强、识别精度高等特点。相较于全连接神经网络,若使其处理大尺寸图像则有很明显的缺点:将图像展开为向量会丢失空间信息[5];由于参数过多使得效率低下,训练困难;大量的参数很快会导致网络过拟合。而使用卷积神经网络就可以很好解决上述问题,其整个网络几乎可以近似地表示所有函数,但是卷积神经网络在视觉处理方面比全连接网络有很大进步。主要有两个优点:稀疏连接和参数共享。这两个特征都大大减少了网络的自由参数数量。稀疏连接是基于图像总是具有局部相关性,图像的一个特征很可能与局部像素有关(这与人的视觉认识也是一致的)。卷积神经网络的各层神经元是三维排列的,层中神经元只与前一层的一块区域连接,而非全连接。

卷积层是构建卷积神经网络的核心层,它产生了网络中大部分的计算量。卷积作用类似于滤波器的作用。卷积层的参数由可学习的滤波器集合组成。每个滤波器在空间上都很小(宽度和高度),但深度和输入数据是一致的。网络可以让滤波器学习特定类型的视觉特征,如位置边界或第一层颜色斑点,甚至是网络更高层的蜂窝形状或轮子形状的图案。反卷积并不是严格意义上的对应过程的逆运算。卷积与相应的反卷积所使用的稀疏矩阵数字上没有对应关系,只是在阶数上维持了转置关系。但是阶数相同,这足以保证卷积和对应反卷积的连接模式不变。连接模式是指输出特征图的所有像素和输入特征图的像素之间的线性关系不变。反卷积操作可以视作对应卷积相对于输入的梯度,实际上,反卷积运算通常是梯度代入计算。本文采用深度卷积神经网络作为编码器和解码器。定义Conv(k, s, c)和Dconv(k, s, c)分别表示卷积和反卷积,其中k指卷积核尺寸,s指卷积核滑动步数,c指卷积核数量。完整的网络模型如图4所示。

图4 车底关键零部件异常识别网络模型Fig.4 Abnormal identification network model diagram of key components under a train

4 测试与验证

列车车底主要包括制动装置、传动装置、牵引装置、轮轴、车钩装置等,这些装置中共同的关键零部件之一为螺栓螺母。螺栓螺母缺失和开口销缺失关系到列车安全运行。但此类异常,实际车辆发生故障的频率很低,相关车辆专业提供的故障样本较少。传统的基于分类算法[6],由于数据稀疏,模型收敛欠佳。基于记忆自编码器的算法优点为无需大量负样本,数据标注简单。因此,本文选用螺栓螺母缺失和开口销缺失对算法方法进行验证[7]。

选择某个路局的机务段进行验证,通过某个厂家的机器视觉装置采集高清图像。图像数据共3 500张,每张图像都含有关键零部件的螺栓和螺母,其中故障图片15张。图像实例如图5所示。

图5 车底关键零部件螺栓Fig.5 Bolts of key components under a train

一个关键区域包括多个螺栓螺母,螺栓螺母的目标检测采用传统的端到端的图像检测算法。本文处理的输入图片是如图5所示红框的已经检测成功的小图。

本文的试验环境为window10,intel i7处理器,内存32 G,显卡RTX2080Ti,算法框架为darknet开源深度学习框架。选择 2 500张图片进行训练,剩余1 000张图片进行测试。由于记忆自编码器对训练方法有一定要求,否则训练难以收敛,本文主要采用如下的训练方法。

使用截断的正态分布(也叫作高斯分布)来初始化网络的权值和偏移量,初始化范围[-0.005,0.005]。

学习率调整。每个批学习,学习率降低2%,从而加速收敛,训练后期学习率降低为0.5%,从而稳定地落入局部最优点。使用Adam,Adagrad等自适应优化算法,就可以实现学习率的自适应调整。从而保证准确率的同时加快收敛速度。

数据增强。为了增强网络模型对正常样本的差异性的稳定和普适,对正常样本进行图像数据的旋转、图像多尺度处理、图像数据的放射变换、图像数据的软曝光、图像数据增加噪点等个数据增强的方法。

在每个卷积后,加入一个激活函数。激活函数选择tanh非线性函数,一方面可以增加模型的非线性元素,另一方面可以降低梯度弥散问题。

采用动量的随机梯度下降[8]用于改善SGD更新时可能产生的收敛震荡现象。通过积累前几轮的动量信息辅助参数更新,动量因子采用动态更新,初始值设置0.5,之后随着训练轮数增长,每100轮调整一次,逐渐变为0.9。

如表1所示,对验证测试进行统计,15个故障,漏识别1个,漏检率为8.3%。经过分析,记忆自编码器对螺栓螺母完好的图片重构误解较小,对螺栓螺帽缺失和开口销缺失图片重构误差较大。当输入图和重构图进行余弦相似度计算,阈值选择0.9,开口销缺失图片。漏识别一个,如果阈值选择0.8,所有异常图片均能识别成功,但是误报会增加。

表1 异常识别统计Tab. 1 Statistical list of abnormal identification

典型的故障识别图片如图6所示。

图6 典型车底关键零部件故障Fig.6 Typica fault of key components under a train

5 结论

针对列车车底关键零部件安装状态的检测功能,提出基于记忆自编码的异常检测算法。该算法通过在传统自编码的网络模型中添加记忆单元,可以有效降低异常识别的漏检率,算法在某路局大量测试和验证。验证表明,基于本文提供的方法,可对车底关键零部件的螺栓螺母缺失和开口销缺失进行异常识别,具有较高的识别准确率和实用性。针对列车车底制动装置、传动装置、牵引装置、轮轴、车钩装置等其他如螺栓松动、线缆断裂、闸瓦磨损异常、异物覆盖等异常类型也具有普适性。

猜你喜欢
车底解码器编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
科学解码器(一)
科学解码器(二)
科学解码器(三)
爱的贴“条”
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
车底的猫
基于双增量码道的绝对式编码器设计
寒风中,那车底下的小狗
应用旋转磁场编码器实现角度测量