一种基于自编码器的束流位置监测器异常检测方法及装置与流程

文档序号:16604445发布日期:2019-01-14 20:51阅读:183来源:国知局
一种基于自编码器的束流位置监测器异常检测方法及装置与流程

本发明涉及储存环束流诊断与控制技术领域,尤其涉及一种基于自编码器的束流位置监测器异常检测方法及装置。



背景技术:

储存环为一种环形加速器,广泛应用于同步辐射光源及环形对撞机中。束流位置监测器是储存环重要的束流诊断元件,在储存环中,通过分布在不同位置处的束流位置监测器对整个储存环的束流轨道进行监测。由束流位置监测器故障引起的异常数据会严重影响储存环中的束流轨道控制及束流的稳定性,并且会影响储存环模型校正的结果。因此,识别与检测故障bpm并剔除故障bpm产生的异常“坏”数据,现已成为束流轨道控制及储存环模型标定中不可或缺的环节。

当前,故障束流位置监测器的检测方法大多采用主成分分析(pca)的方法,该法利用奇异值分解(svd)对储存环历史逐圈束流位置数据进行清洗处理,从中提取出故障束流位置监测器数据的特征,在进一步的分析中以此特征为依据对束流位置监测器的逐圈束流位置数据进行二分类处理,从分类结果中识别故障束流位置监测器。由于该法基于浅层机器学习的机理将束流位置监测器的故障识别看成是一个二分类的问题,因此存在如下问题:需要做大量费时的人工故障信号特征提取工作,在束流位置监测器个数较多的储存环上应用的效率不高:且一些潜在的具有隐藏性的故障特征通过奇异值分解(svd)的方法难以分离提取,导致束流位置监测器故障识别的准确率低。由于在储存环中工作正常的束流位置监测器占大多数,因此可以将故障束流位置监测器的信号看成是逐圈束流位置数据中异常情况,可以通过异常检测的手段对故障束流位置监测器进行识别。



技术实现要素:

本发明的目的是提供一种束流位置监测器异常检测方法及装置,可以利用逐圈束流位置数据自动识别出异常束流位置监测器,无需人工特征提取,能识别隐藏性的故障特征,对束流位置监测器故障异常的识别准确率高。

本发明的目的是通过以下技术方案实现的:

一种基于自编码器的束流位置监测器异常检测方法,所述方法包括:

步骤s101、获取束流位置监测器的逐圈束流位置数据;

步骤s102、将所述逐圈束流位置数据进行预处理后作为原始输入数据输入到预先训练的自编码器模型中,通过所述自编码器模型处理输出重构输入数据;

步骤s103、计算所述原始输入数据与重构输入数据之间的重构误差;

步骤s104、通过将所述重构误差与异常阈值之间进行比较,判别所述的束流位置监测器是否异常。

所述将所述逐圈束流位置数据进行预处理,为将获取的束流位置监测器的逐圈束流位置数据进行归一化处理。

所述的预先训练的自编码器模型通过下述步骤构建:

步骤(a1)获取n组正常束流位置监测器的逐圈束流位置数据,建立训练数据集及验证数据集;

步骤(a2)获取p组异常束流位置监测器的逐圈束流位置数据,将所述n组正常数据与所述p组异常数据进行组合作为验证数据集;

步骤(a3)构建自编码器模型,所述自编码器模型为包含输入层、至少一个隐藏层以及输出层的深度神经网络模型,所述隐藏层由卷积层加池化层构成;

步骤(a4)用训练数据集对所述自编码器模型进行训练,所述训练过程中采用基于随机梯度下降的误差反向传播算法优化更新自编码器模型中的权重及偏置参数直至模型收敛;

步骤(a5)用验证数据集验证所述训练后的自编码器是否有效,并在确认有效后存储该自编码器模型。

所述重构误差由下式计算得到:

所述re为重构误差,所述x为原始输入数据,所述为重构输入数据。

所述判别所述的束流位置监测器是否异常,具体为当重构误差re超过异常阈值α时,则判定该重构误差对应的束流位置监测器处于异常状态。

一种基于自编码器的束流位置监测器异常检测装置,所述装置包括:获取模块,用于获取束流位置监测器的逐圈束流位置数据;处理模块,用于将所述逐圈束流位置数据进行预处理后作为原始输入数据输入到预先训练得到的自编码器模型中,通过所述自编码器模型处理输出得到重构输入数据;计算模块,用于计算所述原始输入数据与重构输入数据之间的重构误差;判别模块,用于将所述重构误差与异常阈值之间进行比较,判别各个束流位置监测器的是否处于异常状态。

可选的,所述处理模块中将所述圈束流位置数据进行预处理,被配置为将获取的束流位置监测器的逐圈束流位置数据进行归一化处理。

作为本发明的改进,还包括自编码器模型构建模块,用于通过以下步骤构建所述的自编码器模型:

步骤(a1)获取n组正常束流位置监测器的逐圈束流位置数据,作为训练数据集;

步骤(a2)获取p组异常束流位置监测器的逐圈束流位置数据,将所述n组正常数据与所述p组异常数据进行组合作为验证数据集;

步骤(a3)构建自编码器模型,所述自编码器模型为包含输入层、至少一个隐藏层以及输出层的深度神经网络模型,所述隐藏层由卷积层加池化层构成;

步骤(a4)用训练数据集训练所述自编码器模型,所述训练过程中采用基于随机梯度下降的误差反向传播算法优化更新自编码器模型中的权重及偏置参数直至模型收敛;

步骤(a5)用验证数据集验证所述训练后的自编码器是否有效,并在确认有效后存储该自编码器模型。

所述计算模块通过下式计算重构误差:

所述re为重构误差,所述x为原始输入数据,所述为重构输入数据。

所述判别模块中,判别所述的束流位置监测器是否异常,具体为当重构误差re超过异常阈值α时,则判定该重构误差对应的束流位置监测器处于异常状态。

通过上述本发明提供的技术方案可以包括以下有益效果:

(1)本发明采用深层神经网络的自编码器模型可以直接自动提取和学习逐圈束流位置数据中的信号特征,无需人工提取故障束流位置监测器的信号特征;

(2)通过深层神经网络能够提取出隐藏性的故障信号特征,更能够刻画数据的丰富内在信息,可以避免漏检测,故障识别准确率高;

(3)将束流位置监测器的故障识别问题转化为异常检测问题,采用基于自编码器的非监督学习方法,通过重构误差与异常阈值之间的比较进行故障识别,可以提高效率,减小研发成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明实施例提供的基于自编码器的束流位置监测器异常检测方法流程图;

图2为本发明实施例提供的基于自编码器的束流位置监测器异常检测装置结构图。

具体实施方式

为使得本发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域的技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面将结合附图1-附图2,对本发明实施例提供的束流位置监测器异常检测方法进行详细介绍。

参照附图1,为本发明实施例提供的一种基于自编码器的束流位置监测器异常检测方法的流程图,包括以下步骤:

步骤s101,获取束流位置监测器的逐圈束流位置数据;

具体的,在本发明实施例中,所述逐圈束流位置数据为数组数据,该数组为储存环中各个束流位置监测器采集的一段时间内连续圈的逐圈束流位置数据,比如储存环中有m个束流位置监测器,每个束流位置监测器采集n圈的逐圈束流位置数据,这样逐圈束流位置数据数组的大小为m×n,其中m和n都为正整数。

步骤s102,将所述逐圈束流位置数据进行预处理后作为原始输入数据输入到预先训练的自编码器模型中,通过所述自编码器模型处理输出重构输入数据。

具体的,在本发明实施例中,将逐圈束流位置数据进行预处理,得到归一化的逐圈束流位置数据,然后对归一化的逐圈束流位置数据采用预先训练好的自编码器模型,经自编码器处理后得到重构的逐圈束流位置数据。

可选的,所述自编码器模型的训练过程可以为:

步骤(a1)获取n组正常束流位置监测器的逐圈束流位置数据,建立训练数据集及验证数据集;

步骤(a2)获取p组异常束流位置监测器的逐圈束流位置数据,将所述n组正常数据与所述p组异常数据进行组合作为验证数据集;

步骤(a3)构建自编码器模型,所述自编码器模型为包含输入层、至少一个隐藏层以及输出层的深度神经网络模型,所述隐藏层由卷积层加池化层构成;

步骤(a4)用训练数据集对所述自编码器模型进行训练,所述训练过程中采用基于随机梯度下降的误差反向传播算法优化更新自编码器模型中的权重及偏置参数直至模型收敛;

步骤(a5)用验证数据集验证所述训练后的自编码器是否有效,并在确认有效后存储该自编码器模型。

步骤s103,计算所述原始输入数据与重构输入数据之间的重构误差;

具体的,所述重构误差可由下式计算得到:

所述re为重构误差,所述x为原始输入数据,为对应束流位置监测器采集的逐圈束流位置数据;所述为重构输入数据,为自编码器模型输出得到的结果。通过重构误差的计算过程,可以得到每个束流位置监测器在采集逐圈束流位置数据后所对应的重构误差。

步骤s104,通过将所述重构误差与异常阈值之间进行比较,判别所述的束流位置监测器是否异常。

具体的,可通过如下过程判别所述束流位置监测器是否异常:如果重构误差re大于异常阈值α则判定此时x所对应的束流位置监测器为异常状态;反之如果re小于异常阈值α则判定此时x所对应的束流位置监测器为正常状态。

所述异常阈值α可由如下过程得到:首先对计算得到的重构误差进行从小到大的排序;重构误差数组的大小乘以0.9后取整数;然后利用所得到的整数值对排序后的重构误差进行索引,经过索引所得的重构误差值即作为异常判别阈值。

参照图2,为本发明实施例提供的一种基于自编码器的束流位置监测器异常检测装置包括获取模块201、处理模块202、计算模块203、判别模块204。

获取模块201,用于获取束流位置监测器的逐圈束流位置数据;

本发明实施例中,所述逐圈束流位置数据为数组数据,该数组为储存环中各个束流位置监测器采集的一段时间内连续圈的逐圈束流位置数据,比如储存环中有m个束流位置监测器,每个束流位置监测器采集n圈的逐圈束流位置数据,这样逐圈束流位置数据数组的大小为m×n,其中m和n都为正整数。

处理模块202,用于将所述逐圈束流位置数据进行预处理后作为原始输入数据输入到预先训练得到的自编码器模型中,通过所述自编码器模型处理输出得到重构输入数据;

在本发明实施例中,将逐圈束流位置数据进行预处理,得到归一化的逐圈束流位置数据,然后对归一化的逐圈束流位置数据采用预先训练好的自编码器模型进行处理,经自编码器处理后得到重构的逐圈束流位置数据。

可选的,自编码器模型的训练过程可以为:步骤(a1)获取n组正常束流位置监测器的逐圈束流位置数据,建立训练数据集及验证数据集;步骤(a2)获取p组异常束流位置监测器的逐圈束流位置数据,将所述n组正常数据与所述p组异常数据进行组合作为验证数据集;步骤(a3)构建自编码器模型,所述自编码器模型为包含输入层、至少一个隐藏层以及输出层的深度神经网络模型,所述隐藏层由卷积层加池化层构成;步骤(a4)用训练数据集对所述自编码器模型进行训练,所述训练过程中采用基于随机梯度下降的误差反向传播算法优化更新自编码器模型中的权重及偏置参数直至模型收敛;步骤(a5)用验证数据集验证所述训练后的自编码器是否有效,并在确认有效后存储该自编码器模型。

计算模块203,用于计算所述原始输入数据与重构输入数据之间的重构误差;

具体的,所述重构误差可由下式计算得到:

所述re为重构误差,所述x为原始输入数据,为对应束流位置监测器采集的逐圈束流位置数据;所述为重构输入数据,为自编码器模型输出得到的结果。通过重构误差的计算过程,可以得到每个束流位置监测器在采集逐圈束流位置数据后所对应的重构误差。

判别模块204,用于将所述重构误差与异常阈值之间进行比较,判别各个束流位置监测器的是否处于异常状态。

具体的,本实施例中,可通过如下过程判别所述束流位置监测器是否异常:如果重构误差re大于异常阈值α则判定此时x所对应的束流位置监测器为异常状态;反之如果re小于异常阈值α则判定此时x所对应的束流位置监测器为正常状态。

所述异常阈值α可由如下过程得到:首先对计算得到的重构误差进行从小到大的排序;重构误差数组的大小乘以0.9后取整数;然后利用所得到的整数值对排序后的重构误差进行索引,经过索引所得的重构误差值即作为异常判别阈值。

本发明实施例,获取束流位置监测器的逐圈束流位置数据,对所述逐圈束流位置数据进行预处理后作为原始输入数据输入到预先训练得到的自编码器模型,通过所述自编码器模型处理输出重构输入数据,计算所述原始输入数据与重构输入数据之间的重构误差,通过将所述重构误差与异常阈值之间进行比较,判别对应的束流位置监测器是否异常,所述重构误差超过所述阈值的束流位置监测器判定为处于异常或故障状态。本发明基于自编码器算法,通过自编码器自动提取束流位置监测器采集的逐圈束流位置数据中的隐藏特征,进行束流位置监测器异常的检测,解决了储存环束流位置监测器异常及故障自动识别的问题,提高效率,减小研发成本,且该方法准确率及可靠性高,实用性强。

本领域普通技术人员可以理解实现上述实施方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,附图2所示异常检测装置对应的程序可存储在设备的可读存储介质内,并被爱设备中的至少一个处理器所执行,以实现上述异常检测方法,该方法包括图1中方法实施例所述的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储器(read-onlymemory,rom)或随机存储器(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1