一种数据异常检测方法、装置及设备与流程

文档序号:17009640发布日期:2019-03-02 02:11阅读:124来源:国知局
一种数据异常检测方法、装置及设备与流程

本发明涉及物联网领域。更具体地,本发明涉及一种应用于物联网边缘的数据异常检测方法、装置及设备。



背景技术:

数据异常检测是以数据为驱动的物联网领域的重要研究方向之一。在物联网中,传感器采集的数据通常会首先在网关一侧汇集,然后由网关进一步向云端传送,最终用以进行以数据分析为基础的商业智能挖掘。显然,如果能在网关发出数据之前辨识出数据中的异常,避免异常数据流向云端,那么将有助于云端进行更准确的业务分析,也将大大减少云端的业务负担。

然而,由于在物联网边缘,尤其是终端传感器节点设备,通常不具备很好的硬件资源配置,这些设备在处理本身业务的同时,额外进行数据异常检测是有一定难度的。

为了解决这个问题,现有技术大多采用基于统计特征的“控制图”方法或者基于数据挖掘的“先训练,后部署”的方法。

“控制图”方法是基于待检测数据的统计特征对异常点进行估计的方法。该方法虽然算法较为轻量并且易于部署在物联网边缘,但是无法挖掘多变量序列之间的关联,因而对于物联网领域丰富多变的数据源难以表现出较优的检测效果,从而使得数据异常检测的精确性不高。

基于数据挖掘的“先训练,后部署”的方法遵循机器学习的理念,虽然可以通过收集大量数据进行模型训练,并将训练好的模型部署于设备之中,使得设备具有模式识别能力,但是,其部署后的模型无法应对数据模式的改变。如果数据的模式发生变化,那么先前部署的模型可能会过时。在这种情况下,新一轮的训练必须从头开始,以弥补训练与现实之间的差距。也就是说,只有通过不断迭代地完成“先从头训练,后部署”的过程,才能够避免所部署的模型“过时”。这不仅耗费精力,而且总是存在滞后的错误。一旦模型更新不及时,就有可能对实际应用中的数据模式发生误判。



技术实现要素:

本发明的示例性实施例在于提供一种数据异常检测方法、装置及设备,以解决传统的数据异常检测方法无法应对数据模式的改变、模型更新不及时、数据异常检测的精确性不高的问题。

根据本发明的示例性实施例,提供一种数据异常检测方法,包括:在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元;计算每一个最优匹配神经元对应的辅助神经元,所述辅助神经元包括第一辅助神经元,所述第一辅助神经元是根据所述待检测数据中第一距离不小于最优匹配神经元半径的数据子集确定的,其中,所述第一距离为所述待检测数据到所述最优匹配神经元的距离;根据每一个最优匹配神经元对应的辅助神经元确定所述待检测数据的异常度。所述方法通过使用辅助神经元,提高了检测的准确率。

可选地,所述辅助神经元还包括第二辅助神经元,所述第二辅助神经元是根据对应的最优匹配神经元的训练数据子集,以及所述待检测数据中所述第一距离小于所述最优匹配神经元半径的数据子集确定的,从而可提高检测的准确率。

可选地,计算每一个最优匹配神经元对应的辅助神经元的步骤包括:根据所述第一距离和所述最优匹配神经元半径,确定所述最优匹配神经元的第一数据子集和第二数据子集;根据所述第一数据子集和所述第二数据子集,确定所述第一辅助神经元和所述第二辅助神经元。这样,可快速、准确地得到第一辅助神经元和所述第二辅助神经元。

可选地,确定所述最优匹配神经元的第一数据子集和第二数据子集的步骤包括:将所述第一距离不小于所述最优匹配神经元半径的数据,确定为所述第一数据子集中的数据,将所述第一距离小于所述最优匹配神经元半径的数据,确定为所述第二数据子集中的数据。这样,可快速、准确地区分第一数据子集和第二数据子集中的数据。

可选地,根据所述第一数据子集和所述第二数据子集,确定所述第一辅助神经元和所述第二辅助神经元的步骤包括:计算所述第一数据子集的第一聚类中心和所述第二数据子集的第二聚类中心;将所述第一聚类中心确定为所述第一辅助神经元,将所述第二聚类中心确定为所述第二辅助神经元。这样,可快速、准确地得到第一辅助神经元和所述第二辅助神经元。

可选地,根据每一个最优匹配神经元对应的辅助神经元确定所述待检测数据的异常度的步骤包括:根据每一个最优匹配神经元对应的所述第一辅助神经元和所述第二辅助神经元的位置,分别计算所述待检测数据到所述第一辅助神经元的第二距离和所述待检测数据到所述第二辅助神经元的第三距离;对所述第二距离和所述第三距离进行加权计算,获得所述待检测数据对于每一个最优匹配神经元的子异常度;对所述子异常度进行累加计算,获得所述待检测数据的异常度。这样,可提高异常度的准确性。

可选地,所述方法还包括:当接收到对检测模型的训练请求时,根据所述第一辅助神经元或第一辅助神经元和第二辅助神经元,对所述检测模型中的在数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正;对所述神经元的位置经过修正的检测模型进行训练,得到更新后的检测模型。这样,通过对检测模型进行增量式训练,可将在检测过程中通过辅助神经元检测到的新数据模式及时加入到新一轮的模型训练过程中,对检测模型进行更新,从而减小因检测模型未更新或更新不及时而导致发生检测错误的可能性,进而提高后续检测的准确率。

可选地,对所述检测模型中的在所述数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正的步骤包括:分别计算在所述数据异常检测过程中作为最优匹配神经元的神经元的所述第一数据子集的第一集合势和所述第二数据子集的第二集合势;在所述检测模型中,根据所述第一辅助神经元和所述第二辅助神经元以及所述第一集合势和所述第二集合势,对在所述数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正。这样,可提高对检测模型中的神经元的位置修正的准确性。

可选地,根据所述第一辅助神经元和所述第二辅助神经元以及所述第一集合势和所述第二集合势,对在所述数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正的步骤包括:根据所述第一集合势和所述第二集合势,将所述第一数据子集和所述第二数据子集中的集合势较大的数据子集对应的辅助神经元的位置确定为作为对应的最优匹配神经元的神经元的位置。这样,可进一步提高对检测模型中的神经元的位置修正的准确性。

可选地,根据所述第一辅助神经元和所述第二辅助神经元以及所述第一集合势和所述第二集合势,对在所述数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正的步骤包括:根据所述第一集合势和所述第二集合势,在超空间中获取所述第一辅助神经元和所述第二辅助神经元的基数加权位置,将所述基数加权位置确定为作为对应的最优匹配神经元的神经元的位置。这样,可进一步提高对检测模型中的神经元的位置修正的准确性。

根据本发明的示例性实施例,提供一种数据异常检测装置,包括:确定模块,被配置为在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元;神经元计算模块,被配置为计算每一个最优匹配神经元对应的辅助神经元,所述辅助神经元包括第一辅助神经元,所述第一辅助神经元是根据所述待检测数据中第一距离不小于最优匹配神经元半径的数据子集确定的,其中,所述第一距离为所述待检测数据到所述最优匹配神经元的距离;和异常度计算模块,被配置为根据每一个最优匹配神经元对应的辅助神经元确定所述待检测数据的异常度。所述装置通过在数据异常检测过程中使用辅助神经元,提高了检测的准确率。

可选地,所述辅助神经元还包括第二辅助神经元,所述第二辅助神经元是根据对应的最优匹配神经元的训练数据子集,以及所述待检测数据中所述第一距离小于所述最优匹配神经元半径的数据子集确定的,从而可提高检测的准确率。

可选地,所述神经元计算模块包括:数据子集确定模块,被配置为根据所述第一距离和所述最优匹配神经元半径,确定所述最优匹配神经元的第一数据子集和第二数据子集;和神经元确定模块,被配置为根据所述第一数据子集和所述第二数据子集,确定所述第一辅助神经元和所述第二辅助神经元。这样,可快速、准确地得到第一辅助神经元和所述第二辅助神经元。

可选地,所述数据子集确定模块包括:子集确定子模块,被配置为将所述第一距离不小于所述最优匹配神经元半径的数据,确定为所述第一数据子集中的数据,将所述第一距离小于所述最优匹配神经元半径的数据,确定为所述第二数据子集中的数据。这样,可快速、准确地区分第一数据子集和第二数据子集中的数据。

可选地,所述神经元确定模块包括:聚类中心计算模块,被配置为计算所述第一数据子集的第一聚类中心和所述第二数据子集的第二聚类中心;和神经元确定子模块,被配置为将所述第一聚类中心确定为所述第一辅助神经元,将所述第二聚类中心确定为所述第二辅助神经元。这样,可快速、准确地得到第一辅助神经元和所述第二辅助神经元。

可选地,所述异常度计算模块包括:辅助距离计算模块,被配置为根据每一个最优匹配神经元对应的所述第一辅助神经元和所述第二辅助神经元的位置,分别计算所述待检测数据到所述第一辅助神经元的第二距离和所述待检测数据到所述第二辅助神经元的第三距离;子异常度计算模块,被配置为对所述第二距离和所述第三距离进行加权计算,获得所述待检测数据对于每一个最优匹配神经元的子异常度;和累加计算模块,被配置为对所述子异常度进行累加计算,获得所述待检测数据的异常度。这样,可提高异常度的准确性。

可选地,所述装置还包括:位置修正模块,被配置为当接收到对检测模型的训练请求时,根据所述第一辅助神经元或第一辅助神经元和第二辅助神经元,对所述检测模型中的在数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正;和模型训练模块,被配置为对所述神经元的位置经过修正的检测模型进行训练,得到更新后的检测模型。这样,所述装置通过对检测模型进行增量式训练,可将在检测过程中通过辅助神经元检测到的新数据模式及时加入到新一轮的模型训练过程中,对检测模型进行更新,从而减小因检测模型未更新或更新不及时而导致发生检测错误的可能性,进而提高后续检测的准确率。

可选地,所述位置修正模块包括:集合势计算模块,被配置为分别计算在所述数据异常检测过程中作为最优匹配神经元的神经元的所述第一数据子集的第一集合势和所述第二数据子集的第二集合势;和位置修正子模块,被配置为在所述检测模型中,根据所述第一辅助神经元和所述第二辅助神经元以及所述第一集合势和所述第二集合势,对在所述数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正。这样,可提高对检测模型中的神经元的位置修正的准确性。

可选地,所述位置修正子模块包括:第一修正模块,被配置为根据所述第一集合势和所述第二集合势,将所述第一数据子集和所述第二数据子集中的集合势较大的数据子集对应的辅助神经元的位置确定为作为对应的最优匹配神经元的神经元的位置。这样,可进一步提高对检测模型中的神经元的位置修正的准确性。

可选地,所述位置修正子模块包括:第二修正模块,被配置为根据所述第一集合势和所述第二集合势,在超空间中获取所述第一辅助神经元和所述第二辅助神经元的基数加权位置,将所述基数加权位置确定为作为对应的最优匹配神经元的神经元的位置。这样,可进一步提高对检测模型中的神经元的位置修正的准确性。

根据本发明的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现根据本发明的数据异常检测方法的步骤。

根据本发明的示例性实施例,提供一种数据异常检测设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据本发明的数据异常检测方法的步骤。

附图说明

通过下面结合示例性地示出实施例的附图进行的描述,本发明示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:

图1示出根据本发明示例性实施例的数据异常检测方法的流程图;

图2示出根据本发明示例性实施例的分层自组织映射网络模型的示意图;

图3示出根据本发明示例性实施例的辅助神经元和最优匹配神经元的示意图;

图4示出根据本发明示例性实施例的数据异常检测装置的框图;

图5示出根据本发明示例性实施例的另一数据异常检测装置的框图;

图6示出根据本发明示例性实施例的数据异常检测设备的示意图;和

图7示出根据本发明示例性实施例的包含数据异常检测设备的检测网络的示意图。

具体实施方式

现将详细参照本发明的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。

本发明示例性实施例适用于物联网领域,尤其适用于物联网边缘设备,以在发出数据之前精确地辨识出数据中的异常,避免异常数据流向云端。

图1示出根据本发明示例性实施例的数据异常检测方法的流程图。

参照图1,在步骤s101,在预先确定的检测模型的每一深度包括的神经元中,确定待检测数据的最优匹配神经元。

作为示例,当物联网边缘设备(例如,智能手机、智能电器、网关设备等)需要对外发送数据时,可在对外发送数据之前,首先对数据进行异常检测,以确保对外发送的数据不存在异常。预先确定的检测模型可以是使用预先确定的训练数据进行训练得到的,预先确定的训练数据可以是历史上收集的没有异常的数据,训练方法可包括,但不限于,现有的模型训练方法、本文以及将来提出的模型训练方法,检测模型可包括分层自组织映射网络模型。作为示例,检测模型可以是使用历史上收集的检测过程(将数据异常检测过程简称为检测过程)中没有异常的数据进行训练得到的分层自组织映射网络模型。作为示例,检测模型可以是如图2所示的分层自组织映射网络模型,每一层中的圆圈表示该层的神经元,黑色实心圆圈表示该层的最优匹配神经元,空心圆圈表示该层的除了最优匹配神经元之外的神经元。

作为示例,在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元时,可采用深度遍历的方式依次计算检测模型的每一深度的最优匹配神经元,得到所有的最优匹配神经元。例如,依次找出分层自组织映射网络模型的每一层神经元中的最优匹配神经元。

作为示例,针对检测模型的一个深度,在确定待检测数据在检测模型的当前深度的最优匹配神经元时,可首先计算检测模型的当前深度中的各个神经元到待检测数据的距离,然后根据当前深度中的各个神经元到待检测数据的距离确定待检测数据的最优匹配神经元。其中,各个神经元到待检测数据的距离的计算方法可包括,但不限于,欧式距离计算方法。例如,可计算神经元到待检测数据的直线距离。其中,在根据当前深度中的各个神经元到待检测数据的距离确定待检测数据的最优匹配神经元时,可首先对当前深度中的各个神经元到待检测数据的距离进行数值大小比较,然后将比较得到的当前深度中的到待检测数据的距离最小的神经元确定为待检测数据在当前深度的最优匹配神经元。

在步骤s102,计算每一个最优匹配神经元对应的辅助神经元。

其中,辅助神经元包括第一辅助神经元,第一辅助神经元是根据待检测数据中第一距离不小于最优匹配神经元半径的数据子集确定的,其中,第一距离为待检测数据到最优匹配神经元的距离(其中,为了与其他距离进行区别,将待检测数据到最优匹配神经元的距离称为第一距离)。另外,辅助神经元还可包括第二辅助神经元,第二辅助神经元是根据对应的最优匹配神经元的训练数据子集,以及待检测数据中第一距离小于最优匹配神经元半径的数据子集确定的。此时,每一个最优匹配神经元的辅助神经元可包括第一辅助神经元和第二辅助神经元,如图3所示。作为示例,在对每一个最优匹配神经元计算对应的辅助神经元时,可计算每一个最优匹配神经元的第一辅助神经元和第二辅助神经元。

作为示例,可以在步骤s101中每确定了一个最优匹配神经元时,就为该最优匹配神经元执行步骤s102中的计算对应的辅助神经元的步骤。作为另一示例,也可以在步骤s101中所有深度的最优匹配神经元确定之后,在步骤s102中为所有深度的最优匹配神经元各自执行计算对应的辅助神经元的步骤。

作为示例,在计算每一个最优匹配神经元对应的辅助神经元时,可首先根据第一距离和最优匹配神经元半径,确定最优匹配神经元的第一数据子集和第二数据子集,然后根据第一数据子集和第二数据子集,确定第一辅助神经元和第二辅助神经元。

对最优匹配神经元半径的计算时间可不进行限制。作为示例,可在检测模型训练完成之后,在进行数据异常检测之前,计算检测模型中的所有神经元的神经元半径,从而在最优匹配神经元确定时,就可确定最优匹配神经元半径,而不需要在检测过程中计算最优匹配神经元半径,提高了检测速率。作为另一示例,也可在进行数据异常检测过程中确定了最优匹配神经元之后,计算确定的最优匹配神经元的最优匹配神经元半径,从而减少计算量。

作为示例,在确定了最优匹配神经元之后计算最优匹配神经元半径时,可根据最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离统计量进行计算。其中,检测模型在训练阶段经过了多次迭代,训练数据子集是指在检测模型的训练阶段最后一次迭代中选择了该最优匹配神经元的训练数据集。例如,可对最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离的均值和标准差进行加权计算,获得最优匹配神经元的覆盖半径。具体地,可根据公式r=davg+k·dstd计算最优匹配神经元半径,其中,r表示最优匹配神经元半径,davg表示最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离的均值,dstd表示最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离的标准差,k表示权重系数。

作为示例,在确定最优匹配神经元的第一数据子集和第二数据子集时,可根据待检测数据到最优匹配神经元的第一距离与最优匹配神经元半径r的大小关系进行确定。例如,具体地,将第一距离不小于最优匹配神经元半径r的数据,确定为第一数据子集(如图3中所示的待检测数据(模式b))中的数据,将第一距离小于最优匹配神经元半径r的数据,确定为第二数据子集(如图3中所示的待检测数据(模式a))中的数据。另外,第二数据子集还包括最优匹配神经元的训练数据子集。为了方便描述,将最优匹配神经元的第一数据子集记为dsbmn1,将最优匹配神经元的第二数据子集记为dsbmn2。

作为示例,在根据第一数据子集和第二数据子集,确定第一辅助神经元和第二辅助神经元时,可首先计算第一数据子集的聚类中心(为便于描述,将第一数据子集的聚类中心记为第一聚类中心)和第二数据子集的聚类中心(为便于描述,将第二数据子集的聚类中心记为第二聚类中心),然后根据第一聚类中心和第二聚类中心,确定第一辅助神经元和第二辅助神经元。例如,可将第一聚类中心确定为第一辅助神经元,将第二聚类中心确定为第二辅助神经元。

在步骤s103,根据每一个最优匹配神经元对应的辅助神经元确定待检测数据的异常度。

作为示例,在根据每一个最优匹配神经元对应的辅助神经元确定待检测数据的异常度时,可根据每一个最优匹配神经元对应的辅助神经元计算待检测数据对于每一个最优匹配神经元的子异常度,并根据这些子异常度计算待检测数据的异常度。具体地,可首先根据每一个最优匹配神经元对应的第一辅助神经元和第二辅助神经元的位置,分别计算待检测数据到第一辅助神经元的第二距离和待检测数据到第二辅助神经元的第三距离,然后对第二距离和第三距离进行加权计算,获得待检测数据对于每一个最优匹配神经元的子异常度,最后对所有的子异常度进行累加计算,获得待检测数据的异常度。其中,为了与其他距离进行区别,将待检测数据到第一辅助神经元的距离称为第二距离,将待检测数据到第二辅助神经元的距离称为第三距离。为了方便描述,将第二距离记为dbmn1,将第三距离记为dbmn2。

作为示例,在对第二距离和第三距离进行加权计算时,可根据公式sd=(1-p)·dbmn1+p·dbmn2进行计算。其中,sd表示待检测数据对于检测模型中的一个最优匹配神经元的子异常度,p表示权重系数,dbmn1表示待检测数据到第一辅助神经元的第二距离,dbmn2表示待检测数据到第二辅助神经元的第三距离。具体地,第二辅助神经元可调整检测模型中的神经元的位置,并代表数据模式的细微迁移,而第一辅助神经元可检测出检测过程中形成的全新数据模式,并可对数据的异常进行修正。例如,当这种全新数据模式累积到一定程度时,有理由相信数据产生了新的行为,应对数据异常的判断标准做出调整。

其中,card(dsbmn1)表示dsbmn1中元素的个数,card(dsbmn2)表示dsbmn2中元素的个数。

作为示例,在对子异常度进行累加计算时,可根据公式进行计算,其中,a表示异常度,b表示包括所有最优匹配神经元的集合,sd表示一个最优匹配神经元的子异常度。

作为示例,当接收到对检测模型的训练请求时,可对检测模型进行训练(例如,增量式训练)。作为示例,对检测模型的训练请求可以是用户发送的检测模型训练命令,也可以是在预设的模型训练周期时间自动触发的训练请求、在数据异常检测过程中检测到异常(例如,检测到数据模式的变化)时自动触发的训练请求等。

作为示例,在对检测模型进行训练时,可首先根据第一辅助神经元或第一辅助神经元和第二辅助神经元,对检测模型中的在数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正,以将检测过程中通过辅助神经元检测到的新数据模式加入到新一轮的模型训练过程中,然后对神经元的位置经过修正的检测模型进行训练,得到更新后的检测模型,从而及时更新检测模型,进而提高数据异常检测的准确率。

作为示例,在对检测模型中的在数据异常检测过程中作为最优匹配神经元的那些神经元的位置进行修正时,可首先分别计算在数据异常检测过程中作为最优匹配神经元的那些神经元的第一数据子集的第一集合势和第二数据子集的第二集合势,然后在检测模型中,根据第一辅助神经元和第二辅助神经元以及第一集合势和第二集合势,对在数据异常检测过程中作为最优匹配神经元的那些神经元的位置进行修正。

作为示例,在根据第一辅助神经元和第二辅助神经元以及第一集合势和第二集合势,对在数据异常检测过程中作为最优匹配神经元的那些神经元的位置进行修正时,可首先对第一集合势和第二集合势进行比较,然后根据比较结果,将集合势较大的那个数据子集对应的辅助神经元的位置确定为作为最优匹配神经元的神经元的位置。

作为另一示例,在根据第一辅助神经元和第二辅助神经元以及第一集合势和第二集合势,对在数据异常检测过程中作为最优匹配神经元的那些神经元的位置进行修正时,可首先根据第一集合势和第二集合势,在超空间中获取第一辅助神经元和第二辅助神经元的基数加权位置,然后将基数加权位置确定为作为最优匹配神经元的神经元的位置。

根据本发明示例性实施例的数据异常检测方法可通过在检测模型中使用不影响检测模型的结构的辅助神经元,来分析待检测数据并感知待检测数据中的数据模式的变化,提高了对待检测数据的异常的识别效果,并可通过对数据的异常进行合理的量化,提高了数据异常检测的准确率。另外,根据本发明示例性实施例的数据异常检测方法还可将神经元的位置经过修正的检测模型作为进行新一轮的模型训练的初始模型,即从数据异常检测过程中产生的适应模型(例如,在步骤s102中计算了每一个最优匹配神经元对应的辅助神经元的检测模型)开始训练,而不是从头(例如,随机初始化的分层自组织映射网络模型或深度神经网络模型等)开始训练,使得能够将检测过程中通过辅助神经元检测到的新的数据模式,加入到新一轮的模型训练过程中,并及时更新检测模型,进而提高数据异常检测的准确率。其中,在新一轮的模型训练中使用的训练方法可以包括,但不限于,现有的模型训练方法。

以上已经结合图1至图3对根据本发明示例性实施例的数据异常检测方法进行了描述。在下文中,将参照图4和图5对根据本发明示例性实施例的数据异常检测装置及其模块进行描述。

图4示出根据本发明示例性实施例的数据异常检测装置的框图。

参照图4,数据异常检测装置包括确定模块41、神经元计算模块42和异常度计算模块43。作为示例,当物联网边缘设备(例如,智能手机、智能电器、网关设备等)需要对外发送数据时,在对外发送数据之前,需要首先通过数据异常检测装置对数据进行异常检测,以确保对外发送的数据不存在异常。其中,数据异常检测装置可包括在物联网边缘设备中,也可以与物联网边缘设备分开。

确定模块41,被配置为在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元。

其中,预先确定的检测模型可以是使用预先确定的训练数据进行训练得到的,预先确定的训练数据可以是历史上收集的没有异常的数据,训练方法可包括,但不限于,现有的模型训练方法和后续将要提出的模型训练方法,检测模型可包括分层自组织映射网络模型。作为示例,检测模型可以是使用历史上收集的检测过程中没有异常的数据进行训练得到的分层自组织映射网络模型。作为示例,检测模型可以是如图2所示的分层自组织映射网络模型,每一层中的圆圈表示该层的神经元,黑色实心圆圈表示该层的最优匹配神经元,空心圆圈表示该层的除了最优匹配神经元之外的神经元。

作为示例,确定模块41在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元时,可采用深度遍历的方式依次计算检测模型的每一深度的最优匹配神经元,得到所有的最优匹配神经元。例如,依次找出分层自组织映射网络模型的每一层神经元中的最优匹配神经元。

作为示例,针对检测模型的一个深度,确定模块41在确定待检测数据在检测模型的当前深度的最优匹配神经元时,可首先计算检测模型的当前深度中的各个神经元到待检测数据的距离,然后根据当前深度中的各个神经元到待检测数据的距离确定待检测数据的最优匹配神经元。其中,各个神经元到待检测数据的距离的计算方法可包括,但不限于,欧式距离计算方法。例如,可计算神经元到待检测数据的直线距离。其中,在根据当前深度中的各个神经元到待检测数据的距离确定待检测数据的最优匹配神经元时,可首先对当前深度中的各个神经元到待检测数据的距离进行数值大小比较,然后将比较得到的当前深度中的到待检测数据的距离最小的神经元确定为待检测数据在当前深度的最优匹配神经元。

神经元计算模块42,被配置为计算每一个最优匹配神经元对应的辅助神经元。

其中,辅助神经元包括第一辅助神经元,第一辅助神经元是根据待检测数据中第一距离不小于最优匹配神经元半径的数据子集确定的,其中,第一距离为待检测数据到最优匹配神经元的距离(其中,为了与其他距离进行区别,将待检测数据到最优匹配神经元的距离称为第一距离)。另外,辅助神经元还可包括第二辅助神经元,第二辅助神经元是根据对应的最优匹配神经元的训练数据子集,以及待检测数据中第一距离小于最优匹配神经元半径的数据子集确定的。此时,每一个最优匹配神经元的辅助神经元可包括第一辅助神经元和第二辅助神经元,如图3所示。作为示例,神经元计算模块42在对每一个最优匹配神经元计算对应的辅助神经元时,可计算每一个最优匹配神经元的第一辅助神经元和第二辅助神经元。

作为示例,神经元计算模块42包括:数据子集确定模块,被配置为根据第一距离和最优匹配神经元半径,确定最优匹配神经元的第一数据子集和第二数据子集;和神经元确定模块,被配置为根据第一数据子集和第二数据子集,确定第一辅助神经元和第二辅助神经元。

其中,对最优匹配神经元半径的计算时间可不进行限制。作为示例,可在检测模型训练完成之后,在进行数据异常检测之前,计算检测模型中的所有神经元的神经元半径,从而在最优匹配神经元确定时,就可确定最优匹配神经元半径,而不需要在检测过程中计算最优匹配神经元半径,提高了检测速率。作为另一示例,也可在进行数据异常检测过程中确定了最优匹配神经元之后,计算确定的最优匹配神经元的最优匹配神经元半径,从而减少计算量。

作为示例,在确定了最优匹配神经元之后计算最优匹配神经元半径时,可根据最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离统计量进行计算。其中,检测模型在训练阶段经过了多次迭代,训练数据子集是指在检测模型的训练阶段最后一次迭代中选择了该最优匹配神经元的训练数据集。例如,可对最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离的均值和标准差进行加权计算,获得最优匹配神经元半径。具体地,可根据公式r=davg+k·dstd计算最优匹配神经元半径,其中,r表示最优匹配神经元半径,davg表示最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离的均值,dstd表示最优匹配神经元的训练数据子集中所有数据到最优匹配神经元的距离的标准差,k表示权重系数。

作为示例,数据子集确定模块可包括:子集确定子模块,被配置为将第一距离不小于最优匹配神经元半径的数据,确定为第一数据子集中的数据,将第一距离小于最优匹配神经元半径的数据,确定为第二数据子集中的数据。具体地,将第一距离不小于最优匹配神经元半径r的数据,确定为第一数据子集(如图3中所示的待检测数据(模式b))中的数据,将第一距离小于最优匹配神经元半径r的数据,确定为第二数据子集(如图3中所示的待检测数据(模式a))中的数据。另外,第二数据子集还包括最优匹配神经元的训练数据子集。为了方便描述,将最优匹配神经元的第一数据子集记为dsbmn1,将最优匹配神经元的第二数据子集记为dsbmn2。

作为示例,神经元确定模块包括:聚类中心计算模块,被配置为计算第一数据子集的第一聚类中心和第二数据子集的第二聚类中心;和神经元确定子模块,被配置为将第一聚类中心确定为第一辅助神经元,将第二聚类中心确定为第二辅助神经元。

异常度计算模块43,被配置为根据每一个最优匹配神经元对应的辅助神经元确定待检测数据的异常度。

作为示例,异常度计算模块43可包括:辅助距离计算模块,被配置为根据每一个最优匹配神经元对应的第一辅助神经元和第二辅助神经元的位置,分别计算待检测数据到第一辅助神经元的第二距离和待检测数据到第二辅助神经元的第三距离;子异常度计算模块,被配置为对第二距离和第三距离进行加权计算,获得待检测数据对于每一个最优匹配神经元的子异常度;和累加计算模块,被配置为对子异常度进行累加计算,获得待检测数据的异常度。

作为示例,子异常度计算模块可被配置为:根据公式sd=(1-p)·dbmn1+p·dbmn2计算待检测数据对于每一个最优匹配神经元的子异常度,其中,sd表示待检测数据对于检测模型中的一个最优匹配神经元的子异常度,p表示权重系数,dbmn1表示待检测数据到第一辅助神经元的第二距离,dbmn2表示待检测数据到第二辅助神经元的第三距离。

其中,card(dsbmn1)表示dsbmn1中元素的个数,card(dsbmn2)表示dsbmn2中元素的个数。

作为示例,累加计算模块可被配置为:根据公式计算待检测数据对应的异常度,其中,a表示异常度,b表示包括所有最优匹配神经元的集合,sd表示一个最优匹配神经元的子异常度。

此外,作为示例,数据异常检测装置还可包括适配接口,适配接口可被配置为兼容多种类型的模型。数据异常检测装置还可包括存储模块,该存储模块可被配置为至少存储数据异常检测过程中的与检测模型有关的数据。

图5示出根据本发明示例性实施例的另一数据异常检测装置的框图。

本发明示例性实施例中,数据异常检测装置还可包括模型生成模块50,其中,模型生成模块50可包括:位置修正模块51和模型训练模块52。其中,模型生成模块50可用于数据异常检测装置中的检测模型的训练,也可用于对其他模型进行适配。在其他示例性实施例中,模型生成模块也可以被设置为与数据异常检测装置分开。

作为示例,当接收到对检测模型的训练请求时,模型生成模块50可对检测模型进行训练(例如,增量式训练)。作为示例,对检测模型的训练请求可以是用户发送的检测模型训练命令,也可以是在预设的模型训练周期时间自动触发的训练请求、在数据异常检测过程中检测到异常(例如,检测到数据模式的变化)时自动触发的训练请求等。

位置修正模块51,被配置为当接收到对检测模型的训练请求时,根据第一辅助神经元或第一辅助神经元和第二辅助神经元,对检测模型中的在数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正。

作为示例,位置修正模块51可包括:集合势计算模块,被配置为分别计算在数据异常检测过程中作为最优匹配神经元的神经元的第一数据子集的第一集合势和第二数据子集的第二集合势;和位置修正子模块,被配置为在检测模型中,根据第一辅助神经元和第二辅助神经元以及第一集合势和第二集合势,对在数据异常检测过程中作为最优匹配神经元的神经元的位置进行修正。

作为示例,位置修正子模块可包括:第一修正模块,被配置为根据第一集合势和第二集合势,将第一数据子集和第二数据子集中的集合势较大的数据子集对应的辅助神经元的位置确定为作为最优匹配神经元的神经元的位置。

作为另一示例,位置修正子模块可包括:第二修正模块,被配置为根据第一集合势和第二集合势,在超空间中获取第一辅助神经元和第二辅助神经元的基数加权位置,将基数加权位置确定为作为最优匹配神经元的神经元的位置。

模型训练模块52被配置为对神经元的位置经过修正的检测模型进行训练,得到更新后的检测模型。

此外,作为示例,模型生成模块50还可包括模型适配模块,模型适配模块可被配置为对从第三方输入的模型进行调整,使得从第三方输入的模型能够被数据异常检测装置加载以用于数据异常检测。从第三方输入的模型可包括自组织映射网络模型或深度神经网络模型等可进行增量式训练的模型。

根据本发明示例性实施例的数据异常检测装置可通过在检测模型中使用不影响检测模型的结构的辅助神经元,并使用确定模块41和神经元计算模块42来分析待检测数据并感知待检测数据中的数据模式的变化,提高对待检测数据的异常的识别效果,并可通过异常度计算模块43对数据的异常进行合理的量化,提高数据异常检测的精确性。另外,根据本发明示例性实施例的数据异常检测装置还可通过模型生成模块50将神经元的位置经过修正的检测模型作为进行新一轮的模型训练的初始模型,即从实际的数据异常检测过程中产生的适应模型(例如,在图1的步骤s102中计算了每一个最优匹配神经元对应的辅助神经元的检测模型)开始训练,而不是从头(例如,随机初始化的分层自组织映射网络模型或深度神经网络模型等)开始训练,使得能够将检测过程中通过辅助神经元检测到的新模式,加入到新一轮的模型训练过程中,并及时更新模型,进而提高数据异常检测的准确率。其中,在新一轮的模型训练中使用的训练方法可包括,但不限于,现有的模型训练方法。

此外,根据本发明的示例性实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,其中,程序被执行时实现根据本发明的数据异常检测方法的步骤。

作为示例,程序被执行时可实现以下步骤:在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元,计算每一个最优匹配神经元对应的辅助神经元,根据每一个最优匹配神经元对应的辅助神经元确定待检测数据的异常度。

接下来,结合图6对根据本发明的示例性实施例的数据异常检测设备进行描述。

图6示出根据本发明示例性实施例的数据异常检测设备的示意图。

参照图6,根据本发明示例性实施例的数据异常检测设备6,包括存储器61、处理器62及存储在存储器上并可在处理器62上运行的计算机程序,其中,所述处理器62执行所述计算机程序时实现根据本发明的数据异常检测方法的步骤。

作为示例,处理器62可被配置为执行包括以下数据异常检测方法的步骤的程序:在预先确定的检测模型每一深度包括的神经元中,确定待检测数据的最优匹配神经元,计算每一个最优匹配神经元对应的辅助神经元,根据每一个最优匹配神经元对应的辅助神经元确定待检测数据的异常度。

以上已参照图1至图6描述了根据本发明示例性实施例的数据异常检测方法、装置及设备。然而,应该理解的是:图4至图5中所示的数据异常检测装置及其模块可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图6中所示的数据异常检测设备并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。

接下来,为便于更好地理解本申请,对根据本发明示例性实施例的包含数据异常检测设备的网络环境进行示例性地简要描述。

图7示出根据本发明示例性实施例的包含数据异常检测设备710的检测网络的示意图。

参照图7,检测网络700可包括数据异常检测设备710、终端设备720和数据中心730。此外,检测网络700还可选择性地包括第三方设备740。数据异常检测设备710可设置在终端设备720中,也可与终端设备720分开设置。为方便描述,在图7中假设数据异常检测设备710与终端设备720分开设置。终端设备720可以是任何需要对其数据进行检测的设备,例如,物联网边缘设备(诸如,智能手机、智能电器、网关设备等)。数据中心730可设置在云端,也可设置在检测网络的本地系统中。

第三方设备740可通过其中的第三方训练模块为数据异常检测设备710提供例如经过第三方训练的检测模型。第三方训练模块可用于进行模型训练。第三方设备740可作为组件设置在其他设备中(例如,物联网边缘设备(诸如,智能手机、智能电器、网关设备等)),也可以是独立存在的设备。另外,需要说明的是,检测网络并不必然包括第三方设备740,例如,数据异常检测设备710可仅使用本身包括的检测模型。

当终端设备720需要向数据中心730发送数据时,首先将数据发送到数据异常检测设备710,数据异常检测设备710对终端设备720发送的数据进行数据异常检测,得到终端设备720发送的数据的异常度。如果异常度在预设的可接受范围内,则将终端设备720发送的数据发送到数据中心730。如果异常度超出了预设的可接受范围,则不向数据中心730发送终端设备720发送的数据。另外,当异常度超出了预设的可接受范围时,可发出检测到异常的通知。

此外,数据异常检测设备710可基于数据异常检测过程中的检测数据来更新检测模型(例如,基于数据异常检测过程中的检测数据对检测模型进行增量式训练),以及时应对数据模式的改变,从而提高数据异常检测的精确性。此外,数据异常检测设备710还可从第三方设备740获得检测模型(通过第三方设备中的第三方训练模块训练得到的检测模型),并对获得的检测模型进行适配,使其能够被加载用于数据异常检测。

需要说明的是,以上参照图7描述的检测网络并不限于包括以上描述的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。

尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。

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