版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于生成式对抗网络的传感器异常状态检测研究案例概述目录TOC\o"1-3"\h\u29367基于生成式对抗网络的传感器异常状态检测研究案例概述 132231.1基于生成式对抗网络的异常检测方法 1190521.1.1生成式对抗网络 1233631.1.2用于图片异常检测的AnoGAN方法 3173241.2传感器的异常检测方法研究 530301.2.1温度传感器数据预处理 5308761.2.2生成式对抗网络(GAN)的构建及训练 6179621.2.3传感器异常检测模型 11在进行液压系统设备状态检测时,因为包含状态特征的信息由传感器测量,当传感器发生故障时,会对状态识别的准确度造成很大的影响;同时传感器作为设备系统中的一份子,也需要对其健康状态进行检测。考虑到现实生活中含有传感器故障的有标记的数据十分稀少,而进行人工标记成本又太高,所以本章从传感器输出的正常测量数据样本出发,提出了基于生成式对抗网络的传感器异常状态检方法,此方法中的模型仅使用正常样本进行训练,不需要异常样本。1.1基于生成式对抗网络的异常检测方法1.1.1生成式对抗网络生成对抗网络(GAN)是一类隐式的生成模型[20]。它不需要计算出明确的概率分布密度函数,而是基于博弈论场景,通过对抗的方式进行训练,最终可以网络生成服从真实数据分布的样本。生成式对抗网络包含有两个子网络,其中一个是生成网络,另一个是判别网络,如图4-1所示。图4-1生成式对抗网络图判别网络的目标是区分样本x的来源,假设真实分布为,生成网络为,判别网络为,用标签1表示样本来源于真实分布,标签0表示样本来自生成网络,则判别网络实际上是一个二分类器,其输出为一个概率值,该值表示样本属于真实数据分布的概率。判别网络的目标函数如下(式4-1)即要求交叉熵最小,根据最大似然估计的原理,并取对数将连乘变为求和,则该式可进一步可以转化为下面的式子(式4-2)其中z是已知分布的噪声数据,表示生成网络学习到的分布。生成网络的目标函数与判别网络相反,即根据一个已知分布的一组随机数据样本,通常为标准正态分布,将其映射成与真实样本的分布一致的伪真实样本,让判别网络将自己生成的样本判断为真实样本,生成网络的目标函数如下(式4-3)然后将生成网络和判别网络合并,整个生成式对抗网络的目标函数如4-4所示,它是一个最小和最大的博弈,根据博弈论的观点,最终双方会形成一个纳什平衡点,在此平衡点之下,任何一方都无法通过改变自己的决策而提高收益。(式4-4)GAN的训练相比单目标网络复杂得多,因为两个子网络的优化目标刚好相反,训练过程往往不太稳定,需要多番尝试和调整。通常在训练初始阶段,判别网络的能力不能太强,否则生成网络基本学不到什么,生成能力得不到提高,随着训练次数增加,判别网络的能力也不能太弱,否则生成网络生成的数据相较于真实数据也不会太好。GAN的训练方法有很多技巧,例如使用LeakyReLU替代ReLU函数,将判别网络的学习率设置为小于生成网络的学习率的值,向标签中添加随机噪声,将标签变得平滑等。一个典型的GAN网络的训练过程如表4-1所示[14]。表4-1生成式对抗网络的训练过程输入:训练集D,对抗训练迭代次数T,小批量样本数M,每次迭代时判别网络的训练次数K随机初始化和t←从1到T://以下进行判别网络的训练k←从1到K:从训练集D中采集M个样本,1<m<M从分布N(0,1)中采集M个样本,1<m<M使用随机梯度上升更新,梯度为结束循环//以下进行生成网络的训练从分布N(0,1)中采集M个样本,1<m<M使用随机梯度上升更新,梯度为结束循环输出:生成网络1.1.2用于图片异常检测的AnoGAN方法GAN用于异常检测的方法是由ThomasSchlegl等人首次提出的[21],作者使用该方法实现了图像异常检测。这种方法是通过GAN训练得到一个生成网络和一个判别网络,生成网络学到映射,实现潜在空间样本到真实数据样本的映射,但是GAN网络不能自动完成反向映射,该反向映射是指给定一个未知的图片,需要找到潜在空间内一点,使得同十分相似,其相似程度依赖于符合真实样本分布的程度,这个反向映射可以通过下述方法寻找。因为潜在空间内的点拥有平滑的过渡,相近的两个采样点将生成十分相似的图片,所以为了找到最好的,可以首先在潜在空间内采样一个点,然后通过空间内部的坐标变换不断寻找,直到最优解。因此作者定义了一个损失函数,且在生成网络输入端增加了一层全连接层,整个生成网络变成了。此时从潜在空间随机采样一个点,将其输入到新的生成网络得到,根据可以求损失函数的梯度,利用梯度下降和反向传播更新网络参数得到,参数更新过程中冻结原生成网络,只更新添加的全连接层的参数,假设与最相似的是,则在潜在空间的位置可以通过上诉方法不断迭代的得到(迭代过程中)。损失函数由两部分组成,残余损失(residualloss)和判别损失(discriminationloss),残余损失强迫生成图像与输入图像逐渐相似,判别损失强迫生成图像符合真实的样本分布。(1)残余损失(residualloss):用来衡量输入图片同生成网络生成图片之间的差异。表达式如下:(式4-5)(2)判别损失(discriminationloss):基于特征匹配技术,使用了判别网络中更富有特征的中间层的输出,替代了原判别网络计算的交叉熵损失的标量输出,定义的判别损失表达式如下:(式4-6)其中是判别网络中的某个中间层的输出,用来指定输入图像的统计信息。总的损失定义为两个损失分量的加权和,表达式如式4-6所示:(式4-7)在每次的迭代中,损失函数计算与的匹配度,因此,通过该损失函数可以定义一个异常分数,表示输入图片对于正常图像的拟合程度,该异常分数计算方式如下:(式4-8)其中残余得分和判别得分分别由残余损失和判别损失定义。待测图片的异常分数为最后一次迭代后所对应的损失,此时输入图片对应到潜在空间的。相比异常图片产生的较大的异常分数,正常图片只会产生较小的异常分数,所以可以使用异常分数进行异常诊断,此外通过残余损失还可以定位异常的区域。1.2传感器的异常检测方法研究1.1节所阐述方法完成的是图像异常的检测,其并不适用于传感器的序列数据。因此本节对该方法进行了修改,提出了一种基于生成式对抗网络的传感器异常检测方法,旨在通过传感器的输出数据判断该传感器是否处于异常状态。下面对该方法进行详细的阐述,并以液压系统中温度传感器TS1为对象进行实验。1.2.1温度传感器数据预处理在液压系统中,温度传感器的采样频率为1Hz,在持续时间为60秒的一个工作周期内,传感器输出一个长度为60的温度序列。图4-2(a)(b)(c)(d)是四个典型的样本温度序列示意图,其中纵坐标为温度值,横坐标为序列采样点。(a)(b)(c)(d)图4-2典型温度样本序列图从以上图中可以发现样本拥有十分类似的温度变化分布特征,但是每个样本的温度数值范围存在差异,即样本特征的数值不相同,为了统一这种差异,我们将每个温度样本数据进行标准化处理,得到均值为0,方差为1的样本,使得特征具有相同的尺度。图4-2四个样本经标准化处理后如图4-3所示。(a)(b)(c)(d)图4-3经标准化处理后得温度序列样本1.2.2生成式对抗网络(GAN)的构建及训练假设温度传感器序列样本为X,则X为一维的序列数据。在特定的一个工作周期内,该温度传感器各数据点之间存在着联系,当下的采样值不仅与当前时刻测量对象的状态相关,而且也和过去时刻测量对象的状态相关。所以我们不仅要获得局部的特征描述,而且还要获得特征之间的联系,表示为特征之间的先后顺序。因此我们可以使用一维卷积层处理每个卷积窗口大小时间段的局部模式,但是卷积层对时间步上的顺序不敏感,无法建模更长时间范围内数据采样点之间的联系,而循环神经网络(RNN)正好可以解决这方面的问题,所以为了使生成网络产生的数据更好的模拟X的分布,我们结合一维卷积层和长短期记忆网络(LSTM)层构建生成式对抗网络的生成网络部分。生成网络各层的结构参数见表4-1,基于Keras的生成网络的伪代码见表4-2。表4-1生成网络各层的结构参数编号网络层卷积核卷积步长输出维度1全连接层1//3602重构层//360x13卷积层161360x1284卷积层261360x2565卷积层351360x1286卷积层451360x2567卷积层531360x1288卷积层631360x2569LSTM层//360x6410展平层//2304011全连接层2//51212输出层//60生成网络接受一组长度为60的潜在空间(标准正态分布)的噪声数据,然后进行上采样,接着依次进入6个一维卷积层,完成序列数据局部特征模式的学习,随后进入LSTM层,获得这些局部特征之间的顺序信息,最后通过展平以及全连接层进行数据维度的调整,得到同真实传感器数据相同维度的输出,网络训练完成后,生成网络学习到真实数据的分布,产生同真实数据几乎一致的输出。生成网络各中间层均使用LeakyReLU函数激活,这是一种常用的搭建生成网络的技巧,而输出层不使用激活函数,因为在实验训练过程中发现输出层不使用激活函数时,网络产生的数据同真实数据相似程度更高。表4-2生成网络伪代码及说明model=Sequential()#初始化模型model.add(Dense(self.latent_dim*6,input_shape=(self.latent_dim,)))#全连接层,self.latent_dim是输入数据的维度model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Reshape((self.latent_dim*6,1)))#重构层model.add(Conv1D(128,kernel_size=6,padding="same"))#卷积层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Conv1D(256,kernel_size=6,padding="same"))#卷积层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Conv1D(128,kernel_size=5,padding="same"))#卷积层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Conv1D(256,kernel_size=5,padding="same"))#卷积层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Conv1D(128,kernel_size=3,padding="same"))#卷积层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Conv1D(256,kernel_size=3,padding="same"))#卷积层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(LSTM(64,return_sequences=True)#LSTM层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Flatten())#展平层model.add(Dense(512))#全连接层model.add(LeakyReLU(alpha=0.2))#LeakyReLU激活model.add(Dense(60))输出层对于判别网络,其只需要判断数据的来源,即来自真实的样本数据还是生成网络产生的数据,常见的卷积网络就能完成该功能。所以我们利用一维卷积层构建了的生成式对抗网络的判别网络部分,该网络结构参数如表4-3。向判别网络输入查询数据,经过四层一维卷积层提取特征,接着经过全连接层,得到样本的特征表示,随后将这些特征表示输入到输出层,输出层使用sigmoid函数,得到一个概率值标量输出,通过该概率值可以区别输入数据的来源。判别网络中间各层同样使用LeakyReLU激活,损失函数为二元交叉熵损失。表4-3判别网络各层结构参数编号网络层卷积核卷积步长输出维度1重构层//60x12卷积层15160x643卷积层25160x1284卷积层33160x645卷积层43160x1286展平层//76807全连接层1//5128全连接层2//329输出层//1最后将上述两个子网络结合,生成网络的输入作为GAN的输入,将判别网络的输出作为GAN的输出。输入数据噪声先经过生成网络得到一个输出,然后将得到的生成网络输出输入到判别网络,其实际上GAN是生成网络和判别网络的堆叠,其损失函数为二元交叉熵损失。网络结构如图4-1所示。生成式对抗网络的训练需要不断交替训练判别网络和生成网络,首先从训练集中随机选择一个批量的数据,将其标签设置为真(比如1),然后从潜在空间中的噪声数据中随机采样相同批量噪声,将其标签设置为假(比如0),但是在实际处理过程中通常对真标签和假标签进行平滑处理,即真为0.9,假为0.1,或者真为0.8,假为0.2。然后将得到的两组数据以及对应标签输入到判别网络中进行训练,将得到的损失相加后得到判别网络的损失,随后将之前的批量噪声输入到对抗网络中,设置其标签为真,以欺骗判别网络。得到对抗网络的损失后,通过反向传播更新生成网络的参数,上述参数更新过程中冻结判别网络的权重,判别网络不参与这一步的参数更新。对抗网络经过上诉步骤不断的训练,直到判别网络不能很好的辨别输入数据是生成网络生成的假数据还是训练集中的真实数据。对抗网络训练使用SGD优化器,判别网络使用0.0003的学习率,生成网络使用0.0005的学习率,并且设置学习率衰减decay为,具体衰减方式如式4-8所示,其中表示初始学习率,表示迭代次数,表示每经过一次批量计算,的值就加一。在训练过程中使用学习率衰减可以在前期获得较快的速度进行梯度下降,而后期随着学习率的减小,梯度更新步长减小,有助于接近最优结果。我们在梯度下降过程中引入动量法加速学习,动量法SGD梯度下降步骤如表4-4所示[22]。(式4-9)表4-4动量法SGD假设学习率为,动量参数为,网络初始参数为,初试速度为while(没有达到停止准则)do:抽取训练集中的含有m个样本的小批量,将对应的目标为梯度估计:速度更新:应用更新:endwhile我们设置每批大小为64,使用GPU(GTX1050)训练2000轮,耗时1小时22分13秒,训练过程中每50轮观察一次生成网络的学习效果,轮次和对应生成效果图如图4-3所示。从中可以发现随着训练轮数不断增加,网络生成的数据与真实数据之间的差距在逐渐减小,当经过2000轮的训练后,我们将一组标准正态分布的噪声数据输入到生成网络中,网络生成的数据如图4-4所示,可以发现图4-4与1.2.1节当中标准化后的样本已经十分相似。图4-3训练轮次及对应的生成网络学习效果图4-4生成网络生成的数据示例1.2.3传感器异常检测模型传感器的异常状态包含有漂移、偏差、精度下降、完全失效和大幅度的尖峰[23]。当传感器出现这些异常状态时,它所测量的物理量的输出同正常情况下的输出相比,会有显著的差异。在1.2.2节中已经完成了生成式对抗网络设计及训练,它已经能够很好的描述温度传感器正常状态下测得的温度序列数据的分布特征,并且能够模拟真实样本生成和真实温度序列数据分布基本一致的序列。借鉴AnoGAN方法,当输入一个由待测传感器产生的温度序列数据时,需要找到潜在空间的点,该点通过不断迭代寻找,迭代更新时的所用的损失函数如式4-7所示。经过多次迭代后,最后一次迭代时的与已经十分接近,我们将最后一次迭代的输入生成网络计算得到G(),由生成网络的特点可知G()同真实数据序列分布一致。然后我们通过式4-8计算待测数据的异常分数,如果为传感器正常时测得的数据序列,那么与G()会有相同的分布,异常分数值较小;如果为传感器异常时测得的数据序列,那么与G()会有较大的差异,异常分数变大。所以通过异常分数的大小可以判断传感器是处于正常状态还是异常状态。温度传感器异常分数的计算过程如图4-5所示,此模型接受一个待测的输入数据,然后输出一个异常分数。该模型首先从潜在空间内随机采样一个序列,然后将输入到一个全连接层得到输出,经过训练好生成网络得到,同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年公司设计与运营分析报告
- 2026年小学道德与法治项目化教学
- 聊城大学《地方政府学》练习题及参考答案
- 2026年餐厅市场风险及对策研究
- 2026年国外设计管理专业发展现状
- 2026年中班保育员班级工作计划下学期
- 2026年项目式教学初中数学 下学期
- 2026年保育下半年工作计划
- 2026年维修工安全事故案例分享会
- 2026年舞蹈工作计划及目标
- 人工智能赋能绿色制造
- 黑龙江省齐齐哈尔市2024年中考数学试卷含真题解析
- 2025年浙江衢州龙游县事业单位选调工作人员10人高频重点提升(共500题)附带答案详解
- 地球历史及其生命的奥秘知到智慧树章节测试答案2024年秋
- 学校食堂从业人员培训计划
- 《儿童铁缺乏和缺铁性贫血防治专家共识2023》解读
- JG∕T 197-2018 预应力混凝土空心方桩
- 预防艾滋病梅毒和乙肝母婴传播项目培训
- 用电简单版的协议书
- 我们身边的知识产权智慧树知到期末考试答案章节答案2024年湘潭大学
- 习近平法治思想概论智慧树知到期末考试答案章节答案2024年湘潭大学
评论
0/150
提交评论