《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读

目录

突出

抽象

引言

1.1动机

1.2文献综述获得的结论

1.3贡献

1.4组织

2方法

2.1燃汽轮机组故障知识共享

 2.2迁移学习

2.3 基于卷积神经网络的深度迁移学习

2.4用于燃气轮机燃烧室故障检测的深度迁移学习

3实验

3.1数据描述和实验配置

3.2基于深度学习的故障检测

3.2.1源域中的卷积神经网络预训练

3.2.2 目标域中的卷积神经网络微调

3.3 与其他方法的比较

3.3.1与使用几个目标域数据的比较

3.3.2与混合源域数据和一些目标域数据的比较

3.3.3与其他简单迁移学习方法比较

3.3.4 尝试增加目标域数据

4 总结和今后的工作


作者:白明亮,杨旭生

突出

•深度迁移学习首先用于燃气轮机燃烧室的诊断。

•基于CNN的微调首先用于提取燃气轮机之间的共享特征。

•深度学习在燃气轮机诊断中的优越性得到了验证。

•详细的可视化首先揭示了如何在燃气轮机之间共享要素。

抽象

基于数据驱动的故障检测的研究需要大量的历史数据,但是,对于运行时间比较短的新型燃气轮机,可用的历史数据相当少,可用的故障数据更少针对上面提出的问题。

本文:

首先提出燃汽轮机组故障诊断的概念。

其次提出深度迁移学习首次被引入到燃气轮机燃烧室的故障检测当中。

再者卷积神经网络使用来自一个数据丰富的燃气轮机的数据进行预训练,并且预训练的CNN经过了微调,以检测另一个数据不足的燃气轮机的故障。

通过数据迁移学习,故障知识在一个数据丰富的燃气轮机和另一个数据贫乏的燃气轮机之间共享。结论是在这两台实际燃气轮机上的实验证明,所提出的方法能够获得比较好的检测性能。

进一步的对比实验证明,与直接利用数据贫乏的燃气轮机的数据,混合数据丰富的燃气轮机和数据贫乏的数据相比,所提出的方法可以显著提高检测性能。

进行详细的可视化分析,以解释共享那些常见的故障知识。这也是解释为什么深度迁移学习和燃汽轮机组故障诊断在一定程度上是有效的。

引言

1.1动机

燃气轮机的安全性和可靠性成为更具有挑战的问题,为确保安全性和可靠性,提出了一种方法就是燃气轮机的预测和健康管理(PHM)。

故障检测是PHM的第一步。

燃烧室是是燃气轮机种重要的部件之一,他在高压和高温的情况下运行,燃烧室的故障检测是燃气轮机PHM 最重要的补给舰之一。

1.2文献综述获得的结论

人工神经网络(ANN)是使用较为广泛的故障检测方法,ANN具有较强的非线性动态系统建模能力,同时保证了较强的泛化能力。 深度学习比传统的ANN和其他数据驱动方法具有更好的性能。

1.3贡献

(1)目前燃气轮机燃烧室故障检测的研究通常假设燃气轮机具有丰富的历史数据。但是,从新的燃气轮机获得大量的数据通常是非常困难的,目前,在历史数据很少的情况下,还没有关于燃气轮机燃烧室故障检测性能的相关研究,这就是本文处理的问题

(2)与目前从单台燃气轮机角度去解决故障检测问题的数据驱动方法不同,本文是通过燃汽轮机组故障指示共享的新方法,解决历史数据比较少的问题

(3)具体的做法是:从一台数据丰富的燃气轮机种穿心的提出故障指示,然后应用于另一台数据比较少的不同的燃气机,来提高故障检测性能。解决了新型燃气轮机历史数据比较少的问题。

(4)深度迁移学习是深度学习的一个分支,就是在数据丰富的域中提取只是,然后应用于数据贫乏域中,以提高数据贫乏域的性能。深度迁移学习的优势首先在燃气轮机燃烧室的故障检测中得到验证。

(5)在本文献中,深度神经网络使用数据丰富的图像数据集进行训练,然后再数据贫乏的图像数据集中进行微调,这样可以提高数据贫乏图像数据集的识别精度。本文首先将深度迁移学习引入到燃气轮机燃烧室故障检测,以解决新型燃气轮机历史数据比较少的问题。同时,CNN是一种深度神经网络,可以比传统的神经网络更好的提出和表示故障特征,提出基于CNN的深度迁移学习,用于共享燃气轮机组燃烧室故障知识。CNN的详细分层可视化以伪彩色数字进行,以揭示共享的知识。

1.4组织

第2节主要介绍蛇毒迁移学习和CNN,并阐述基于CNN的深度迁移学习对燃气轮机燃烧室故障检测的过程,

第3部分详细介绍的深度迁移学习实验,验证了深度迁移学习的优越性,并可是花了两台不同燃气轮机的共享故障知识。

第4部分总结本文,概述了未来的研究方向。

2方法

2.1燃汽轮机组故障知识共享

由于燃烧室出口处受到高温的限制,燃烧室的健康状况通常是测量废气温度(EGT)来检测的,EGT通常是由一组均匀分布在涡轮机出口处的热电偶来测量。对于故障的燃气轮机燃烧室,EGT的圆周分布不均匀,所有热电偶传感器之间间的差异相对较大。故障并不是改变EGT的唯一因素还有环境条件和操作条件以及热气体的混合和旋转也会改变EGT的分布。这使得燃烧室的故障检测变得十分困难。图2现实的是正常数据和故障数据的示例,由于环境条件运行条件等诸多的因素,争产数据和故障数据难以区分。

在工业过程中,多个燃气轮机通常在一起工作,虽然燃气轮机再物理节后,尺寸和参数等方面存在差异,但是他们在热力学循环都是布雷顿循环,基本的工作原理和故障原理都是相似的。所以,这些燃气轮机具有类似的故障特征。

上图是(图3)燃汽轮机组故障知识的共享

燃汽轮机组是一组燃气轮机,通产是包含两个或者是两个以上的燃气轮机。

 2.2迁移学习

燃汽轮机组的故障诊断是共享不同的机器之间的故障知识,但是,因为不同的燃气轮机有不同的物理结构,参数和尺寸等的因素,所以,来自不同的燃气轮机的数据具有不同的数据分布。传统的数据驱动的方法要求数据是独立同分布的,因此不适用于燃气轮机的故障诊断。迁移学习的方法正好解决的是不同数据分布的问题。

图4通过比较传统的机器学习和迁移学习

4(a)传统的机器学习,使用来自燃气轮机A的数据的训练有素的分类器由于数据分布差异而无法对燃气轮机B井的样本进行分类。4(b)迁移学习通过映射解决了这个问题,该映射可以减少燃气轮机A和燃气轮机B之间的数据分布差异,通过迁移学习,与传统的机器学习相比,错误分类的样本数量大大减少,燃气轮机B样品的分类性能大大提高。

迁移学习的原理:可以减小源域与目标域之间的差异,从而可以在源域当中提取有用的知识并将其用在目标域,来提高目标域的分类性能。

本文是以具有丰富燃烧室数据的燃气欧伦济维源域,具有少量燃烧数据的燃气轮机维目标域,通过迁移学习,从丰富的燃气轮机中提取故障指示,应用在故障较少的燃气轮机诊断性能。

2.3 基于卷积神经网络的深度迁移学习

CNN的架构:

 CNN卷积层适应局部感知和权重共享,因此有很好的故障特征提取能力。卷积层的卷积操作可以很好的表征燃气轮机中的气体混合物。

补充知识:局部感知:普通的神经网络把输入层和隐含层进行全连接的设计,从计算的角度来讲相对较小的图像从整幅图像中计算特征时可行的。但是,更大的图像,要通过这种全连接的网络计算的时间会很长。

神经网络做的事情就是判断有没有某种特征的出现,也许并不需要每一个神经元都要去看一张完整的照片,只要是在小的范围当中判断有没有某个特征的出现就行。所以神经网络并不需要把整张图片当作时输入,只需将图片的一小部分当作输入,就足以侦测出某些特别关键的特征。

参数共享:让不同感受域的神经元共享参数,共享的参数就是权重。

共享的方法是什么样的呢?

每一个感受域都有一组参数,并且这些参数时共享的,那这些参数叫做filter,filter的作用就是去抓取特征的。

先把filter放在图片的左上角的位置,讲filter1当中的九个数值和图片工商filter左上角的九个值相乘得到3,再将图片上的filter往右移动一点,移动的距离是1 (stride=1),再将filter1的数值与这个新的filter的九个数值相乘得到-1,再往右移动一点得到的数值是-3,以此类推最后将图片上的filter移动到右下角的地方。

为什么进行权重的共享呢?权重共享使得我们能够有效的进行特征的提取,极大的减少了需要学习的自由变量的个数的,通过控制模型的规模,卷积网络对视觉的问题可以具有很好的泛化能力。

回归到本篇文章,图7 卷积运算

 上面的输出中得到的数值时stride=1的时候计算出来的。

补充知识

stride就是卷积核在输入上移动的步长。

激活函数:是用来加入非线性伊苏的,提高网络的表达能力,卷积神经网络当中用的最多的就是ReLU。

ReLU函数表达式:

 

ReLU函数的优点:

  • 计算速度鲁快,ReLU函数只有线性关系,比Sigmoid和Tanh要快很多。
  • 输入为正数的时候,不存在梯度消失问题

ReLU函数的缺点:

  • 强制性把负值置为0,可能丢掉一些特征
  • 当输入为负数时,权重无法更新,导致“神经元死亡”(学习率不 要太大)

回到文章,CNN中的池化层的池化操作可以更好地提取显著性故障特征,通常存在两种池化操作,即:最大池化和平均池化,最大池化可以提起更重要的特征。因此本文用的就是最大池化操作。

 补充知识

输入和卷积核进行卷积操作之后得到的数值进行一个合理的分组,在每组当中选取最大的数值。

池化的作用:

减少网络当中的参数计算量,从而防止过拟合。

增强网络对输入图像的变形,扭曲以及平移的鲁棒性。

帮助我们获得不因尺寸而改变的等效图片表征。因为这样我们可以勘测到图片里的物体,不管时在什么样的位置。

回到文章,CNN 在故障提取方面表相处很大的优越性,因此在工业故障诊断中得到了广泛的应用。本文使用的基于CNN 的深度迁移学习来检测燃气轮机燃烧室的故障。

2.4用于燃气轮机燃烧室故障检测的深度迁移学习

在CNN的分来过程中,特征逐渐提取。CNN的前几层提取可共享的低级特征,二最后基层可以提取可区分的高级特征,因此,CNN用于不同的任务时,可共享前面基层的参数。

基于深度迁移学习的燃气轮机燃烧室故障检测分为两个步骤:

1.预训练CNN模型,此步骤使用来自燃气轮机 A(一台具有丰富历史故障数据的燃气轮机)的 EGT 数据和相应标签来预训练 CNN 模型。

补充:转移知识用的最多的方法就是预训练模型的方法,预训练模型就是在一个比较大的模型上面训练好一个模型,因为这个模型在大的数据集上训练有一定的泛化能力。

2.微调预训练的CNN模型,该步骤冻结预训练的CNN网络中的前几层的参数,然后使用来自燃气轮机B的EGT数据和相应标签来微调预训练CNN网络中其余层的参数。( 冻结层训练可以减少训练的时间,使得搜索空间小一点)

补充:微调是怎么做的?在新的任务上构建一个新的模型(目标模型),构建的这个新的模型(目标模型)的架构和预训练模型(源模型)的架构是一样的。找到合适的模型之后,初始化这个模型。具体的初始化:所有的卷积层和全连接层权重初始的时候不是用的随机的,而是直接把预训练好的模型的权重直接复制过来。最后一层(输出层)解码器还是用的随机的。这是因为我的任务的那些标号和预训练任务的标号空间可能不是一样的。

微调:(40条消息) 迁移学习和微调在CV中的应用_一套煎饼的博客-CSDN博客

文章中的图10 所提方法的体系结构

 

 利用基于CNN 的深度迁移学习,使两台燃气轮机共享故障指示,从而解决故障诊断中故障数据较少的问题。

3实验

3.1数据描述和实验配置

本文使用的使两台燃气轮机的实际数据进行实验的,一台使T70,另一个是T130,这两天都是儋州的燃气轮机,有12个热电偶,用于测量EGT(废气温度),T70有丰富的数据T130只有少数的历史数据。

 为了表征EGT的圆周分布并更好的诊断燃烧室故障,本文使用全部12个EGT热电偶的读数进行燃烧室的故障检测。本文根据在燃烧室运行记录的实际数据。测量EGT的单位是℃,手机的历史数据中的所有异常的值都被清除了。本文删除了明显不正确的样本,并使用线性插值来替换这些删除的数据。T70和T130的EGT测量数据分别如下所示:

图11  T70的实验数据

 图12  T130的实验数据

两张图中的(a)都是正常的数据,(b)是错误数据

(什么意思?)仅演示了5000个正常和错误的数据,从两张图当中可以看出正常的数据和错误数据不易分类,两台机器的数据差异大。这与表1所示的相对较大的差异一致。

 T70是源域,T130是目标域。在实验中,故障检测性能都是由图13所示的混淆矩阵进行评估的

 图13 混淆矩阵

TP是正确分类的正常数据的数量,P是正常数据的数量,TN是正确分类的故障数据的数量,N是故障数据的数量。

本文基于混淆矩阵,定义了三个指标,以进一步评估故障检测性能。

 好的故障检测算法应该使以上三个指标尽可能地大,对于理想的故障检测算法,上述三个指标全部等于1.

补充

解释上面的三个式子的含义:

TP/P:召回率表现出在实际样本中,分类器能预测出多少。模式正确识别出为正类样本的数量占正类总样本数量的比值。一般情况下,召回率越高,说明更多的正类样本被模型预测正确,模型的效果越好。

TN/N:特异性,模型识别为负类样本的数量占总的负类样本的比值

(TP+TN)/(P+N):精确率,表示模型的精度,精度越高,说明模型的效果越好

前面的两个公式只是计算某一分类的特性,而精确率时判断模型的总体标准。

回到文章

3.2基于深度学习的故障检测

深度迁移学习在燃气轮机燃烧室故障检测当中的应用设计到两个步骤。首先,CNN使用第3.2.1节当中T70 燃气轮机的数据进行预训练。然后,在第3.2.2节使用来自T130燃气轮机的一些数据对预训练的CNN进行微调。

3.2.1源域中的卷积神经网络预训练

使用T70 作为源域来预训练CNN模型。T70数据的80%作为训练集剩下的20%作为测试集。训练集训练CNN,测试集用于评估未见过样本的分类准确性。在划分训练集和测试集的时候用到分层随机拆分将原始数据集转换成具有80%样本的训练集和20%样本的测试集。但是分层随机拆分对数据划分不敏感。本文章设计了CNN结构,具有四个卷积层和一个最大池化层和连个全连接层,还使用了正则化系数为0.0001和L2正则化(帮助我们在训练的过程中,防止过拟合,降低模型的复杂程度)

补充

为什么进行正则化:让模型不过于依赖样本数据

正则化的主要思想:降低模型的复杂度

正则化的主要目的:防止过拟合

正则化实现的思路:最小化损失函数+最小复杂度

正则化的最终目标:提升模型泛化能力

正则化的方法:参数正则化,经验正则化

1.参数正则化:参数正则的L2/L1,番薯正则化是目前用的最多的。参数正则化方法的核心就是对损失函数添加惩罚项

 L2/L1正则化都是通过添加一个惩罚项,来调节模型参数(权重),使loss最小

LI范数,表示某个向量中所有元素绝对值的和

L2范数,表示某个向量中所有元素平方和再开根,也就是欧氏距离

\lambda是正则化率,引入这个的目的使避免离群值的影响,来调整正则化项的整体就变成:

 在这里插入图片描述

常用的最小二乘法就是L2的一个具体的应用

L2正则化,让L2范数的规则项||w||^2最小,可以使得每个w的每个元素都接近于0,惩罚项就是

在这里插入图片描述

 L2实现,直接在原来的损失函数基础上加上权重参数的平方和,这样调节权重w变小,实现最小化LOSS损失+复杂度的小目标。

在这里插入图片描述

在这个过程中,更小的权重,即表示的模型的复杂度不高,对数据的拟合就不会过于强烈降低了模型的复杂程度。L2正则化的思想就是量化模型复杂度:L2=所有特征权重的平方和

在这里插入图片描述

 加入正则化结果:测试LOSS明显减少,训练损失有所上升,特征权重的绝对值降低(模型的复杂度降低)

从贝叶斯的角度理解,L2正则化其实是加入了数据的先验知识,认为权重参数服从高斯分布的,所以在损失函数中加入这样的先验知识,让模型的表现更好。

正则化系数:建议一开始将正则化系数设置为0,先确定一个比较好的学习率,然后固定该学习率,给\lambda一个值,然后根据验证准确性,将\lambda的值增大或者减小10倍(增减10倍是粗调节),打不过确定了合适的值之后,在进一步的细调节。各层的详细信息表3所示

表3 CNN的参数

数据可以直接输入到CNN当中,无需进行降维。CNN可以通过逐层学习和表示从这些特征当中提取有用的信息。本文CNN的输入被指定为12个EGT热电偶的读书。注意,在输入到CNN之前,训练样本通过以下式子归一化到[0,1].

(什么意思?)CNN的训练超参数是通过试错测试确定的。CNN使用带有动量优化器的迷你批次随机梯度下降(SGD)进行训练,学习速率为0.01,学习速率衰减为0.05, 动量系数为 0.9,批大小为 8,epoch 为 50。

预训练的CNN在T70中的检测性能如表4所示,T70的精度为0.9948,这是足够精确的,并且意味着所研究的T70 不会发生过拟合(T70不会发生过拟合的原因是文章设计的CNN 结构采用了正则化,并且预训练的CNN模型是在足够大的数据集上训练出来的,在数据较多的情况下就可防止过拟合出现)。这些试验结果表明CNN对T70获得了优异的检测性能

 

补充

过拟合就是模型容量太大而数据比较简单的情况下会出现过拟合的状况,这个模型的容量就是相当于模型的复杂度。随着模型容量的增加,训练误差和泛化误差的差值过大,所以会导致了过拟合。

回到文章

3.2.2 目标域中的卷积神经网络微调

以T130 燃气轮机维目标域,利用在T70当中提取的故障指示,帮助T130 提高检测性能。T130有3000个样本品,包括2500个普通样本和500个故障样本,T130的5%用作训练集,以微调预先训练的CNN模型,其余95%用作测试集。此处还是用分层随机拆分(什么意思?)训练集和测试集。

补充:

分层拆分保证拆分后的数据集标签列比例还一样。比如在原来数据集中正负样本比例是2:1,那么在拆分后的测试集和训练集中,正负标签也是2:1。
可以用来修正随机拆分后的测试集和训练中比例不一样的问题。
如果正样本特别少,并且测试集也很少,那么测试集有可能抽不到正样本,可以使用分层采样。

回到文章,基于CNN的深度喜欢迁移学习要求冻结前几层,并对卷积层和全连接层进行微调。为了确定冻结的层数,冻结卷积层的数量分别设置1,2,3和4。在微调过程中,使用带有动量优化器的迷你处理SGD(随机梯度下降),超参数通过试错测试确定。故障检测性能与冻结卷积层数的关系如图5 所示。

 微调过程的训练超参数列于表46

由上图可知当冻结的层数在2个卷积层的时候,微调CNN获得了最佳的整体精度,正态数据精度和故障数据精度。因此T130燃气轮机的最佳微调策略是冻结前面的两个卷积层并微调其余层。

 图14 最佳迁移学习框架

补充

此处为什么冻结最大池化层,是因为不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。所以冻不冻结无所谓

tf.keras.layers.MaxPool2D(
    pool_size=(2, 2),#池化核的尺寸,默认是2×2 strides=None, #移动的步长,默认是池化核尺寸,即2
    padding='valid' #是否填充,默认是不填充, data_format=None, **kwargs
)
这个函数给出了4个关键参数,都是由默认值的,这意味着如果一个参数不给,也是可以的。

3.3 与其他方法的比较

为了验证深度迁移学习的优越性和必要性,将给予CNN的深度迁移学习预两种非迁移方法进行比较。

方法1使用来自目标域的一些数据,即Titan 130燃气轮机数据的5%,来训练用于Titan 130燃气轮机燃烧室故障检测的分类器。方法1与第3.3.1节中提出的方法进行了比较。

方法2将T70燃气轮机的训练数据与5%的Titan 130燃气轮机数据混合,对Titan 130燃气轮机燃烧室的故障检测进行分级机,方法2与第3.3.2节中提出的方法进行了比较。

第3.3.3节将基于CNN的深度迁移学习与其他简单的迁移学习方法进行了比较,以进一步验证其优越性

3.3.4节演示了随着新型燃气轮机(即Titan 130燃气轮机)数据的增加,故障检测性能的变化,进一步验证了所提方法在故障数据少的情况下的优越性

3.3.1与使用几个目标域数据的比较

本节提出基于CNN的深度迁移学习与方法1进行比较,即使用一些目标域数据进行训练。T130的5%数据作为训练数据集来训练CNN模型,然后再测试集(T130的95%的数据)中评估性能

表6使用一些目标数据训练CNN的故障检测性能

 建议的方法就是冻结前两层,对剩下的层进行参数的训练( 目标域中的CNN微调)

方法1所提出的方法的整体精度是比文章中提出的方法的精度差的很多,这是因为方法1的训练数据集当中的故障数据比较少,因此很难学到故障只是,建议的方法是用的T70的数据,具有丰富的故障指示,显著提高了故障数据的准确性。

为了验证从源域当中引流故障知识的必要性,并测试在5%T130的数据的情况下,不良性能是否是有特定分类器引起的,本文使用了对CNN之外的其他的分类器进行训练。对比的性能见表7

表7

 建议的方法的整体精度是比较好的,说明不良性能不是有特定的分类器的过拟合引起的。故障检测性能差的原因是训练数据的数量非常的少分类器无法从中得到足够的故障信息。比较表6和表7 当仅有几个目标域数据训练分类器时,CNN获得了最佳的整体精度。这进一步表明了CNN具有很轻的故障提取能力。

为了说明所提方法的优越性,表8给出了分类精度的提高,即所提方法的江都减去用少量目标域数据训练的分类器的精度。

表8 深度迁移学习的分类准确性改进

 表8表明,所提方法在提高正常数据精度或保持正常数据精度不变的同时,能够显著提高整体精度和故障数据精度。

上面的对比实验,使用几个目标域数据进行训练无法获得良好的故障检测精度,基于CNN的深度迁移学习可以从源域数据中提取故障指示,显著提高故障检测精度。

3.3.2与混合源域数据和一些目标域数据的比较

使用几个目标域数据进行训练会导致性能不佳,因为训练数据包含的数据故障比较少,因此,源域数据的训练集和目标域数据的训练集混合在一起以训练分类器。具体,源域数据的训练集是T70的80%,这里采用的T70的训练数据与3.2.1节源域预训练实验中使用的训练数据完全相同。目标域数据训练集是T130的5%,这里采用的Titan 130燃气轮机的训练数据与3.3.1节中几个目标域数据实验的训练数据完全相同。这样的方法长治为简单混合法。CNN和另外的7个分类器用于简单混合实验。

表9中可以看出,所提出的基于CNN的深度迁移学习方法明显优于所有使用简单混合的分类器。

为了进行比较,表10给出了深度学习的分类精度 减去简单混合的分类精度

表10表明,采用 简单混合法,可显著提高8个分类器的整体精度、正态数据精度和故障数据精度(什么意思?)

 为了进一步说明简单混合物的弱点,表11给出了用几个目标域数据减去简单混合物的训练的分类精度,表11 表明,与具有少数目标域数据的训练相比,简单混合物在整体准确性和正常数据准确性方面显著降低。

 这是因为源域数据和目标域在数据分布上是不同的。虽然与使用少数目标域数据进行训练相比,简单混合可以在一定程度上提高故障数据的准确性但它只直接使用源域中的故障数据,而不考虑数据分布差异。因此,简单的混合也获得了比所提出的方法差得多的故障数据精度。

为了进一步讨论简单混合物的失败并解释数据分布差异,直接使用3.2.1节中预先训练的CNN模型对目标域数据的测试集进行分类,整体精度是0.4347,正常数据精度为0.3474,故障数据精度为0.8716.直接预测的分类精度差,在一定程度上表明了大数据分布的差异。

在上面的实验当中,分层洗牌分裂(用于从Titan 130燃气轮机中选择5%(考虑了样本的比例)的数据作为训练集。分层混洗拆分使选定的子集(即训练集和测试集)具有与原始整个数据集相同的类分布,这通常对不同的数据组合不敏感。

补充:

分层洗牌分裂 sk-learn中StratifiedShuffleSplit()函数 实现对数据集的划分

这个是用来打乱数据集的,否则容易发生过拟合,是模型的泛化能力下降,不仅要进行随机打乱,最后选取的测试集和训练集的时候还要考虑样本类别的比例,也就是我们所说的分层抽样)

函数作用描述 
1.其产生指定数量的独立的train/test划分数据集划分成n组。 
2.首先将样本随机打乱,然后根据设置参数划分出train/test对。 
3.其创建的每一组划分将保证每组类比比例相同。即第一组训练数据类别比例为2:1,则后面每组类别都满足这个比例。

回到文章,为了进一步验证5%子集(即训练集)的不同组成不敏感,本文进行了5次分层洗牌拆分,生成了5个不同的T1305%子集,分别作为训练集进行实验。所执行的实验包括使用5%子集来训练CNN(即使用几个目标域数据作为训练集来训练CNN),将5%子集与Taurus 70燃气轮机数据的训练集混合(即简单混合),并使用5%子集对由丰富的Taurus 70燃气轮机数据预训练的CNN进行微调(即提出的基于CNN的微调深度转移学习方法)。计算五个实验的平均值,并计算标准推导。

表12 平均值接近每个实验的值,并且标准推导很小,这进一步表明,采用的分层洗牌分割对5%子集的不同组成不敏感 ,对训练集划分的不敏感型进一步验证了所提出的基于CNN的微调深度学习学习方法与使用少量目标域数据和简单混合相比的优势

 基于以上分析,在T130燃气轮机故障数据很少的情况下,用几个T130燃气轮机数据进行训练,将Taurus 70燃气轮机与T130燃气轮机数据混合在一起,无法获得良好的检测精度。深度迁移学习可以从Taurus 70燃气轮机中提取有用的知识,并在故障数据很少的情况下显着提高检测精度

3.3.3与其他简单迁移学习方法比较

本节将基于CNN的深度迁移学习与其他简单的深度迁移学习方法相比较,以进一步验证优越性比较的方法包括转移自适应增强(TrAdBoost,域适配多层感知器(DAMLP),易迁移学习(EasyTL)和源域适应极限学习机(DAELM-S)。这四种比较方法都已成为众所周知的迁移学习方法,并在各种应用中获得了良好的性能。所提到的这四种方法都是讲知识从T70转移到T130当中。

表13 善妒迁移学习与其他简单迁移学习方法相比较

 从表中看出,所以的基于CNN 的微调方法明显由于其他简单的迁移学习方法,这些简单的迁移学习方法在一定程度上提高T130的分类精度,但他们在T70和T130之间传递知识的能力相对较差,

3.3.4 尝试增加目标域数据

上述实验都是用T130的5%的数据作为训练集来验证深度学习的优越性,本届将研究精度随T130数据的增加而变化。在3.2.1节,T130的5%数据直接用作训练集,而不是用T70的任何数据。在表6表7中的各种分类器中,CNN、MLP和SVM获得了相对较好的性能。这里使用CNN,MLP和SVM,将并将10%,15%,20%,25%的目标域数据(即Titan 130燃气轮机数据)用作训练集来研究增加目标域数据的影响。随着目标域内数据量的增加,故障检测精度的变化如图15所示。

 当目标域数据较少时,所提出的基于CNN的微调方法明显优于CNN,MLP和SVM。随着目标域数据的增加,微调方法虽然优势逐渐降低,但仍优于常规方法。当目标域数据的百分比增加到25%时,传统方法的性能变得接近所提出的微调方法。因此,所提出的微调方法是提高故障数据较少的燃气轮机故障检测性能的有效方法。

在增加目标域数据的实验中,采用分层洗牌分割,从T130的数据中选择10%,15%、20%和25%的数据子集作为训练集。分层混洗拆分使选定的子集(即训练集和测试集)具有与原始整个数据集相同的类分布,这通常对不同的数据组合不敏感。为了进一步验证对训练集10%、15%、20%和25%子集(即训练集)不同组成的不敏感性,本文进行了5次分层混洗拆分,生成了5个不同的10%、15%、20%和25%子集的Titan 130燃气轮机,并分别作为训练集进行实验。(随T130的数据进行了一个分割,然后洗牌了5次,生成了5个不同的这样的子集,并作为训练集进行实验)MLP、SVM、CNN和所提出的微调方法的5项实验的相应结果如表14,表15、表16、表17所示。表14、表15、表16、表17中还给出了每个分类器的五个实验的平均值和标准推导。

 从上面的表中可以观察到平均值接近每个实验的值,并且苏哦有的四个分类器的标准推到都很小,这进一步表明,所采用的分层洗牌分割对10%、15%、20%和25%子集的不同组成不敏感。这表明所提出的微调方法的超城市与不同的数据集划分无关。

 3.3.5计算时间分析

在工业应用中时,应考虑消耗的时间。本文使用训练模型来检测测试集中样本的健康状态。实验在CPU环境和GPU环境中进行。使用的CPU是Intel (R) Core (TM) i5-9400F CPU @2.90GHZ,具有8 GB内存,使用的GPU是NVIDIA GeForce GTX 1650,具有4 GB图形内存。实验进行10次,平均值用作最终消耗的时间。结果示于表18中。

 表18所提出方法的计算时间

所提出方法的消耗时间相对较小。对于 CPU,检测一个样本需要 0.001395 秒,即 1.395 毫秒。随着GPU的加速,检测一个样本只需要0.000755秒,即0.755毫秒。燃气轮机数据每分钟收集一次。与数据采集间隔相比,所提出的微调方法所消耗的时间非常小。这意味着所提出的基于CNN的微调方法可用于燃气轮机的实时在线故障检测。

3.4 可视化分析

为了解释为什么深度学习是有效的,以及共享那些常识,输出特征图是可视化的。本文中的CNN包含4个Conv层和2个FC层(见表3),转化层逐层提取特征。FC2层是具有softmax功能的最终输出层,这使得FC 1层包含所有提取的特征,用于故障检测。本文在图16、图17图18、图19、图20所示的伪彩色图中可视化了所有卷积层和FC1。 请注意图16,图17,图18,图19,图20中每层的输出被归一化为区间[0,1],以便于通过等式进行比较。

        

 泰T130燃气轮机的Conv 1和Conv 2特征图使用Taurus 70燃气轮机数据训练获得的参数,与Taurus 70非常相似。因此,前两个卷积层提取可共享的低级特征。因此,卷积层1和卷积层2的参数被冻结。

 图18 和图19中,T130燃气轮机的Conv 3和Conv 24特征图使用预训练的参数,这些参数是通过训练T70燃气轮机数据获得的,与T70的参数有很大不同。因此,Conv 3和Conv 4提取了独特的高级特征。通过微调Conv 3和Conv 4的参数,减少了两台燃气轮机之间的差异。

图20 显示了FC1层的特征图。FC1层是紧挨着最终分类层FC2之前的层,它表示最终提取的特征用于故障检测。图20(a)和图20(b)显示了Taurus 70燃气轮机的提取特征。CNN成功提取了金牛座70型燃气轮机的法线图(图20(a))和故障图(图20(b))。图20(a)和图20(b)有显著差异,因此Taurus 70燃气轮机的检测性能优异。

 CNN使用金牛座70燃气轮机的丰富数据进行预训练后,如果预训练的CNN直接用于泰坦130燃气轮机,上述实验表明故障检测精度并不令人满意。为了解释它,图20(a*)和图20(b*)可视化了使用Taurus 70燃气轮机数据的预训练CNN直接用于Titan 130燃气轮机故障检测的情况。在直接使用预训练CNN的情况下,T130的正常模式(图20(a*))与T70燃气轮机的正常模式(图20(a))和泰坦130的故障模式(图20(b*))的故障模式也与T70燃气轮机的故障模式(图20(b))有很大不同.这表明两种燃气轮机之间存在很大的差异.直接使用CNN预先训练的Taurus 70燃气轮机数据对于泰坦130燃气轮机的故障检测是不可行的.

由于两台燃气轮机之间存在很大差异,因此必须对某些网络层进行微调以减少差异.图20(a')和图20(b')显示了T130燃气轮机经过微调后的FC1特征图。图20(a)和图20(a')的模式非常相似,图20(b)和图20(b')的模式非常相似。这意味着通过微调,两台燃气轮机的特征图之间的差异大大减少,从T70燃气轮机中提取的故障知识成功地应用于Titan 130燃气轮机。因此,微调的CNN可以准确地检测出Titan 130燃气轮机的故障。

 为了定量表征两台燃气轮机之间的差异以及两台燃气轮机的FC1特征图之间的差异,本文使用了最大均值差(MMD),MMD测量两个数据集之间的数据分布差异,较大的MMD值表示两个数据集之间的数据差异较大。本文计算了原始T70与原始T130之间的MMD数据以及两台燃气轮机特征图之间的MMD 。实验结果在表19

 两台机器的原始数据的MMD为0,1585,这表明两台机器直接按的数据分布差异较大,巨大的差异导致由T130燃气轮机数据和T70 数据混合组成的数据集分布不完全相同。分类器通常设定数据集独立同分布。因此T130 数据和T70数据的混合会损害分类器的学习能力,从而导致3.3.2中简单混合物的诊断性能不佳。

FC1层的特征图表示最终提取的用于故障检测的特征。当预训练的CNN参数直接用于T130燃气轮机的诊断时,T130燃气轮机和T70燃气轮机之间的FC1特征图为0.1207,相对较大.当预训练的CNN进行微调时,即冻结前两个卷积层的参数,并对其余层的参数进行微调,两个燃气轮机的FC1特征图之间的差异显着减小。MMD仅为0,0345.是表19 当中最小的数值。

 因此,两台燃气轮机的训练数据的简单混合或直接使用Titan 130燃气轮机的预训练CNN参数由于差异较大,无法获得令人满意的结果。当使用基于CNN的迁移学习时,通过冻结前几个卷积层来共享共同特征,并且通过微调其余层,大大减少了两个燃气轮机之间的显着特征差异。通过迁移学习,大大降低了两台燃气轮机之间的MMD,显著提高了诊断精度。

补充

伪彩色图像的含义是,每个像素的颜色不是由每个基色分量的数值直接决定,而是把像素值当作彩色查找表(color look-up table,CLUT)的表项入口地址,去查找一个显示图像时使用的R,G,B强度值,用查找出的R,G,B强度值产生的彩色称为伪彩色

4 总结和今后的工作

未来,我们希望基于卷积神经网络的深度迁移学习能够应用于各种工业设备的故障诊断,如柴油机汽轮机核电站、蓄电池、风力发电机光伏阵列等。

随手笔记,论文小白,如果有误,还请指正,非常感谢~

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值