基于改进胶囊神经网络的示功图诊断模型

2022-01-26 12:43朱刘涛王彦琦
电子科技大学学报 2022年1期
关键词:特征提取胶囊卷积

张 强,朱刘涛,王彦琦

(东北石油大学计算机与信息技术学院 黑龙江 大庆 163318)

目前,在抽油机故障监测中,示功图是十分常见的工具。示功图中展示的是载荷(P)和位移(S)之间的变化关系,是一条封闭的曲线,是通过安装在抽油机悬点处的载荷位移传感器测量得到的闭合曲线。 现阶段抽油机故障诊断主要方法是功图法[1]。但随着卷积神经网络在图像识别中的快速发展,其在抽油机故障诊断中的应用也在不断增加。文献[2-5]将卷积神经网络应用到示功图诊断中,首先将大量的示功图图像进行数字化后作为模型的输入,然后应用卷积神经网络技术搭建模型实现对示功图的智能诊断。文献[6]将深度可分离结构和注意力机制相结合,提出了一种轻量的卷积神经网络模型用于示功图的诊断。

文献[7]提出胶囊神经网络和胶囊间的动态路由算法,其主要思想是将标量神经元改为向量的形式,使得网络可以学习并保留空间位置信息,并且取消池化操作,获得了更好的效果。但提出的胶囊神经网络特征提取仅使用单层卷积结构,导致特征提取能力较弱。文献[8]提出了双层卷积结构的胶囊神经网络,特征提取能力有一定的提高,但是仍然忽略了细微特征。文献[9]提出了一种基于Inception 结构与空间注意力机制相结合的胶囊神经网络,采用多尺度特征融合的方式和Inception 结构[10]与空间注意力机制,虽然增强了特征提取的能力,但也增加了模型的参数,模型训练时间变长。

本文提出的基于改进胶囊神经网络的示功图诊断模型将fire module 模块[11]和Tanimoto 系数[12]分别应用到胶囊神经网络的特征提取部分和动态路由算法中。不仅解决了传统胶囊神经网络特征提取能力不足以及动态路由算法中相似性衡量粗糙的问题,而且通过fire module 模块中压缩再扩展的方式减少了模型的参数。随着多尺度特征的融合以及特征提取能力和相似性衡量能力的提升,势必会出现过拟合的现象。本文提出适用于胶囊神经网络的Dropout 算法,使胶囊神经网络中的向量神经元在一次动态路由算法中以一定的概率被屏蔽而不参与动态路由算法的运算,增加网络的多样性,减少模型的过拟合,提高其泛化能力。

1 基于改进胶囊神经网络的诊断模型

1.1 Fire Module

通过卷积神经网络模型的变更过程可知加深网络的层数,虽然可在一定程度上提高模型性能,但却带来了模型参数暴增的问题。SqueezeNet[13-14]从网络结构优化的角度出发,首先通过1 ×1卷积减少输入通道,然后使用多尺寸的卷积核进行卷积运算,以保留更多的信息。Fire Module 模块结构如图1 所示。

图1 Fire Module 模块结构

Fire Module[15]模块主要包含3 部分:1)利于1×1卷积操作减少通道数;2)包含多尺度特征提取的思想,通过1 ×1以 及 3×3卷积提取多尺度特征;3)将提取到的多尺度特征进行融合。Fire Module模块通过压缩再扩展,有效降低卷积操作的计算量,并且进行了特征的融合。

1.2 胶囊神经网络

胶囊网络的概念在2017 年由Hinton 提出,在胶囊神经网络中,将胶囊定义为一组神经元的集合,并且将胶囊作为网络的最终输出结果,通过胶囊的模长来表示某一实体存在的概率,胶囊的模长与其存在的概率成正比的关系。重要的是胶囊神经元中的维度数据则是表示实体的空间位置信息。并且实体的姿态发生变化不会影响胶囊神经元的模长,仅是胶囊神经元中存储的位置信息发生变化,利用这一点,胶囊神经网络实现了同变性。胶囊神经元流动过程如图2 所示。

图2 胶囊神经元的工作图

图2 中,向量ui为上一层的输出向量,将该向量分别乘上对应的权重矩阵Wij进 而得到向量Ui。Wij中蕴含着高层特征与低层之间的空间信息数据,向量Ui先进行标量加权再进行累加求和。最终对累加求和得到的结果进行非线性压缩变换,采用的压缩函数为:

式中,Sj表示累计求和的结果。非线性激活函数并不会改变胶囊神经元存储的空间信息,仅是将模长压缩到0~1 之间,以便表示实体存在概率,vj是当前胶囊的输出结果。

胶囊神经元之间采用动态路由的方式进行特征传递,通过相关性计算,特征得到很好的归类,原有动态路由算法仅仅是通过向量点乘来衡量相似性,现将Tanimoto 系数引入动态路由算法。算法过程步骤如下。

1)bij为l层 第i个 胶囊和l+1层 第j个胶囊间的特征传递参数,初始化为0;

2)利用softmax 计算两层胶囊间的权重Cij:

3)低层胶囊特征ui传递至高层胶囊,得到高层特征S j:

4)压缩高层胶囊特征,得到压缩后的特征;

5)权重更新方式为:

1.3 改进胶囊神经网络模型

为提高胶囊神经网络的特征提取能力,将Fire Moduel 模块应用于胶囊神经网络,通过Fire Moduel模块中压缩再扩展以及多尺度卷积结构,增加网络的深度,提高特征提取的能力并且实现多尺寸卷积融合,构建更加全面多样的特征提取模块,将Dropout 思想[16-17]应用于胶囊神经网络,提出适用于胶囊神经网络的算法,在胶囊神经网络中的向量神经元进入动态路由算法之前,以一定概率产生随机的0、1 矩阵,用其屏蔽向量神经元,以增加网络的多样性,防止特征提取能力太强而导致的过拟合现象。在动态路由算法中引入Tanimoto 系数,在动态路由的聚类过程中更多的考虑胶囊向量方向上的差异性,弱化胶囊长度带来的影响。模型结构如图3 所示。

图3 改进胶囊神经网络模型结构

该模型的输入是 28×28的图片,首先经过9×9的卷积对图片信息进行初步的提取,初步提取的信息经过 1×1卷积操作压缩特征通道,再由3×3与 1 ×1的卷积操作,进一步地提取特征,将提取的多尺寸特征进行融合完成特征提取部分。然后通过得到的特征图构建向量神经元,再进行Dropout操作随机使部分向量神经元神经失活,增加网络多样性,防止过拟合。网络中的特征通过改进后的动态路由算法进行特征整合。

1.4 损失函数

该模型的损失函数包含间隔损失与重构损失,间隔损失为:

式中,Lk表示间隔损失,表示第K类是否存在。若存在Lk取1,否则取0。m−是 ||Vc||上边界,避免假阴性,遗漏实际预测到的分类情况。K类不存在但预测存在,会导致损失函数很大。m+是 | |Vc||下边界,避免假阳性,K类存在但是预测不存在会导致损失函数很大。

重构损失则是通过解码器将数字胶囊层的输出进行解码重建一个 28×28的图像。计算重构图像与原始图像的距离作为损失值。解码器结构如图4 所示。

图4 解码器结构

λ为正则化系数,用于调整重构损失在总损失中所占的比例。L=Lk+λLc,其中L为 总损失,Lc为重构损失。

2 算例与实验结果分析

2.1 公开数据集实验对比

CapNets 网络在MNIST 数据集上取得了优异的分类表现,现将FDT-CapNets 与CapNets 在MNIST数据集上进行实验对比。CapNets 网络的模型结构如图5 所示。

图5 CapNets 网络结构图

MNIST 数据集包含60000 个训练样本和10000个测试样本。FDT-CapNets 与CapNets 均使用Adam优化器,学习率均为0.0001。全部样本训练迭代次数设置为30 次,每次读入数据量的大小为128。实验结果如表1 所示。

表1 实验结果

由表1 可知CapNets 在MNIST 数据集上获得了很高的训练精度与测试精度,而FDTCapNets 在该数据集上同样取得了优异的表现,并且比CapNets 的精度有所提高。图6 展示出FDTCapNets 与CapNets 在训练过程中损失函数的变化情况。

图6 MNIST 数据集上损失函数变化图

通过图6 可知FDT-CapNets 与CapNets 收敛速度相似,但FDT-CapNets 的损失函数变化更稳定并且后期的损失值更小。

2.2 油田数据集实验对比

2.2.1 数据集预处理

实验所使用的数据集是某一油厂在实际生产中所测得的实际数据。首先将载荷与位移数据从数据库读出,将载荷与位移数据按照一定的组合方式绘制出示功图,如图 7 所示。由于实际生产中处于异常工作的抽油机较少,因此异常示功图的数据量较少,为避免模型在训练过程中由于数据集分布不均导致的过拟合,对现有数据进行水平翻转以及在90°、−90°与180°中随机选取一个数作为旋转度数,对图片进行旋转,通过该操作平衡数据集中各类示功图的数量,消除因数据不平衡造成的模型泛化能力下降的问题。

图7 数据集中5 种数据类型对应的示功图

将数据集进行预处理后可以得到“正常”“气体影响”“充不满”“活塞脱出”“抽油杆断”5 个类别的示功图数据,共7500 张。数据集样本分布如表2 所示。

表2 数据样本分布表

为方便训练时计算损失函数,将示功图标签进行独热编码,随机抽取70%的数据作为训练数据集以训练模型,剩余30%的数据作为测试集以验证模型的学习效果。数据读取时,将数据的像素值除以255 进行归一化操作,提高模型的收敛速度。

2.2.2 实验分析

2.2.2.1 对比模型

为检验模型性能,将模型与CapNets、LeNet5网络以及VGG16 进行对比。LeNet5 网络和VGG16的模型如图8 和图9 所示。

图8 LeNet5 网络结构图

图9 VGG16 网络结构图

LeNet5 网络包含3 层卷积结构与2 层全连接层,卷积核大小均为 5 ×5,VGG 网络由13 层卷积核和3 层全连接层构成。3 个模型的激活函数均为ReLU 函数。

2.2.2.2 实验结果分析

在示功图数量为5250 的训练集上进行实验验证,模型均使用Adam 优化器,学习率均为0.0001。全部样本训练迭代次数设置为30 次,每次读入数据量的大小为128。测试数据集的大小为2250,每次读入批次大小为128,取多次测试结果的均值作为最后的测试结果。

为验证改进的胶囊神经网络(FDT-CapNets)中每一部分的改进对网络的影响,在现有的训练集与测试集上,对每一部分的改进进行实验对比验证,实验结果如表3 所示。

表3 分步改进实验结构表

表3 中的F-CapNets 代表Fire Module 模块与CapNets 的 融 合,FT-CapNets 代 表Fire Module模块与Tanimoto 系数与CapNets 的融合。可知引入Fire Module 模块后,训练与测试的精度均高于CapNets,并且训练时间有所下降,实验证明Fire Module 模块的引入不仅提高了特征提取能力而且减少了参数,加快了模型训练时间。由于Fire Module 模块与Tanimoto 系数的同时应用,在提高特征质量的前提上又采用了更优的相似性衡量方式使得模型的精度进一步提高。Dropout 的引入使得在FT-CapNets 的基础上取得了更好的效果,并且对网络的耗时未产生影响。

为验证FDT-CapNets 网络在精度上的有效性,将FDT-CapNets 与双卷积胶囊神经网络(CapNets)、VGG16 和LeNet5 进行实验对比。训练结果如表4所示。

表4 实验对比结果

从表4 可以得出,FDT-CapNets 与CapNets 的正确率均高于VGG16、LeNet5,并且FDT-CapNets在训练精度上比CapNets 取得了更好的效果。

在测试集上,改进的胶囊神经网络取得了优于双层卷积胶囊神经网络,VGG16 与LeNet5 的准确率、测试准确率分别为97.05%、95.12%、94.53%、93.06%。

为了清晰地展示各个模型的训练过程,图10显示了损失函数随迭代次数的变化情况。

图10 3 种模型的损失函数变化图

由图10 可知,LeNet5 网络的收敛速度在三者之间速度最慢,在迭代670 步之后CapNets 与FDCapNets 的损失函数达到收敛趋于平稳不再继续下降。FDT-CapNets 的损失函数的总体波动比CapNets波动更小,更加趋于平稳。

3 结束语

本文提出的改进的胶囊神经网络模型,在特征提取上采用了Fire Moduel 模块,提高了特征提取的能力,并压缩了模型参数,加快了模型的训练速度。Tanimoto 系数的应用在提取到的特征更丰富时获得了更好的模型精度。Dropout 的应用提高了模型的泛化能力与多样性。

猜你喜欢
特征提取胶囊卷积
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
时光胶囊
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
我有一颗神奇胶囊
服用胶囊的小细节