异常检测系统及其指导方法

文档序号:6472132阅读:326来源:国知局
专利名称:异常检测系统及其指导方法
技术领域
本发明涉及计算机和电信网络中的异常检测,在所述计算机和电信网络中正常行为的概念会随着时间改变。更特别地,本发明尤其涉及指导异常检测机制。这种异常检测机制的一个示例基于自组织图(SOM)。
背景技术
用于检测异常情形的机制属于两种主要类别(即,基于规则的检测机制和异常检测机制)之一。基于规则的检测机制尝试识别已知是不正常的特定行为模式。因此,基于规则的检测机制有两个严重限制它们只能检测以前发生过以及已明确教给检测系统或编程于其中的问题。异常检测系统(ADS),如在本申请中使用的,改变了该检测问题它们被指导以正常行为是什么,任何显著(以预定的容限)偏离标准的都被认为是异常的。ADS机制能够检测可能出问题的情况,而无须明确训练此种情形。ADS的一种示例在参考文献1中公开。因此,ADS被定义为用目标系统的正常行为进行训练的机制。相应的,ADS将与正常行为的每个显著偏离都标记为潜在的异常。相比之下,基于规则的检测系统使用异常行为的已知模式进行训练,而且只能够检测其已被指导过的问题。
参考文献1公开了一种用于基于Unix计算机系统的ADS。该系统包括一个数据收集组件,一个用户行为可视化组件,一个自动异常检测组件以及一个用户界面。该系统通过选择对系统中的用户行为进行表征的一组特性来减少异常检测所需的数据量。自动异常检测组件用自组织图(SOM)逼近用户的日常简档,自组织图最初由TeuvoKohonen创建。SOM的关键参数是最佳映射单元(BMU)距离。SOM的BMU被用于检测与日常简档的偏离。这种偏离的测量由一个异常P值来表示。根据参考文献1,已测试ADS并发现它能够检测大范围的异常行为。
已知的基于SOM的ADS机制的问题是它们只限于检测具有已经定义好的正常行为的系统中的问题。在多数电信网络中,“正常行为”的概念最多也就是模糊。网络元件在高峰时刻的行为与其在黎明前的平静时期的行为十分不同。更准确的说,在多数情况下,是用户导致了所谓正常行为的各种变化。换言之,已知的ADS机制不能容易地帮助检测在其中正常行为随时间改变的系统或元件中的问题。

发明内容
因此,本发明的目的是提供一种用于指导ADS机制的机制,所述ADS机制依赖于在其中正常行为随时间发生显著变化的系统中的正常行为的概念。在此,“显著”表示在特定时间上正常的行为在其他时间被认为是异常的。
该目的通过以随附的独立权利要求书中公开的内容为特征的方法和设备实现。在随附的从属权利要求中公开本发明的优选实施例。
本发明部分地基于将时间用作对ADS的输入数据的分量(component)的思想。但是,如果时间被表示为从一个固定起点线性增加的量,则只在输入数据中包括时间是不够的。这是因为,这种时间的表示(presentation of time)是不重复的,并且ADS无法知道一个特定行为何时正常、何时异常。因为每天从2359到0000的跳变将在输入数据中引入严重的不连续性,因此将时间作为周期量(如24小时制时钟)引入也是不够的。
因此,本发明还基于用公式描述时间的表示,这适用于解决由诸如电信网络之类的系统的随时间变化的正常行为导致的问题。根据本发明,被用作输入数据的分量的时间的表示是1)周期的,2)连续的以及3)不模糊的(在输入数据的周期内)。这种时间(t)的表示的一个优选示例是对x还y分量的投影,以便x=sin(2πt/L),y=cos(2πt/L),其中L是变化周期的长度,典型的为24小时或一周。乍一看,这种二维时间表示会使用二维SOM图的两个维度,但这样的SOM图只为看起来清楚,在计算机存储器中,一个SOM图可以有任何多个维度。
然而,时间表示的连续性要求应当在考虑到现实约束的情况下进行解释。所有数字系统都有一个有限的分辨率,也就是说没有哪个时间表示可以精确地连续。此外,当通过忽略观测的某些最低有效位,即通过均衡,来存储观测时,可以节约一些存储器。为了本发明的目的,如果时间的表示不包含足以影响正常与异常行为的判决的不连续性,该时间的表示就是足够连续的(=“大规模连续”)。例如,在具有24小时使用周期的电信网络中,如果不出现用户行为改变如此之快,以至于一种特定的行为类型在某个时间点被认为正常而在10或15分钟后就变为异常的情况,那么大约10或15分钟的不连续性(量化)被认为是可接受的。相比之下,在规定好的时间打开和关闭(或以其他方式彻底改变其行为)的系统的时间的表示必须具有小很多的不连续性。
如果事先知道可观测元件的行为的变化较小和/或在该周期的某些部分(如夜晚)变化缓慢而在其他部分(如白天)变化显著,则可以节省一些存储器。在这种情况下,时间的表示可以使得分辨率在该周期中可变。这意味着,一个比特可以代表,例如该周期中平静部分的30分钟和该周期中较活跃部分的5-15分钟。
在某些情况下,一个单个周期(典型的为24小时)就足够了,但有时可能需要二或三个周期。例如,时间的表示可能包括一个周期为24小时的分量以及另一个周期为一周的分量。对于受季节变化影响强烈的位置或情况,可能需要一个周期为一年的第三分量。
本发明不局限于自组织图,而是可以与正如k装置(k-means)以及学习向量量化之类的其他簇(clustering)技术一同使用。
根据本发明的优选实施例,所有变量(输入数据的分量),包括时间的表示,都被缩放(scale)以便每个变量的变化都相同,最好为一。
本发明可以实现为可以访问要观测的元件的计算机系统中的软件例程。理想情况下,本发明的机制包含在一个单个网络元件中,如操作和维护中心。


以下将结合附图通过优选实施例描述本发明图1显示了自组织图;图2是图1的变形,其中在SOM的神经元周围有圆圈;图3是显示本发明优选实施例的过程图;以及图4A-4C显示不同的时间表示。
具体实施例方式
将参照自组织图(SOM)技术描述本发明的优选实施例。图1显示了一个自组织图。用SOM测试异常的目的在于测试对象当前的行为是否异常。要测试的假设是H0最新近的观测不异常。
H1最新近的观测异常。
一个对象的行为可以是非常一致的,也就是说,它集中在特性空间的一个或几个区域中。另一方面,所述行为也可以散步在特性空间中,这则表示比较不规则的行为。用SOM测试异常的思想是用一个小的对象特定SOM(object-specific SOM)来逼近对象的正常行为。假定先前行为代表对象的正常行为。在训练SOM时,可从先前行为中忽略异常观测。
图1所示的SOM是有200点人工数据的一维(8*1)SOM,通常由参考数字13表示。图2显示该相同的SOM,但带有以该SOM的神经元14作为中心绘制的圆或椭圆21。为清楚起见,图1和2只显示了两个特性11和12,但在实际情况中,可观测特性的数量可以远大于二。
在平面中,绘制了用于两个特性的200点人工数据以及用数据训练的8*1大小的图的神经元。一维SOM可以很好地逼近两个簇(每个簇都有四个椭圆21)的数据。注意,图1中的数据是二维的,以使人们清楚地看到。在计算机系统中,维度的数量可以远大于二。
SOM中一个数据点fk的最佳匹配单元(BMU)是与数据点距离最短的神经元wi。这表示为公式(1),其中dist表示距离。BMU=argmini{dist(fk,wi)}---(1)]]>这里,假定使用到BMU的欧几里德距离来测量一个观测与正常的对象特定行为偏离多少,但也可以使用其他类型的距离测量。异常P值是一个观测的异常的程度的测量。基于该值,假设H0被接受或被拒绝。将结合基于SOM的ADS的使用阶段介绍异常P值的计算。
ADS涉及三个主要阶段,设计、指导和使用。设计阶段通常涉及人类决策并包括下述步骤1.选择一组描述目标对象的特性。描述对象的特性向量由f表示。(目标对象是要观测的对象,如网络元件。)在参考文件1中有对这一步骤的详细描述。为本发明的目的,说这些特性是可以用来区分正常和异常行为的参数就足够了。
2.用公式表示用于检测异常行为的假设。目标是测试最新近的观测fn+1是否异常。要测试的假设是H0最新近的观测fn+1没有异常。替代的假设是H1最新近的观测fn+1异常。(将结合使用阶段介绍后缀n。)指导阶段通常包括下列步骤1.观测目标对象的正常行为。例如,收集特性向量的n次测量(f1,f2,...,fn)。
2.使用测量(f1,f2,...,fn)作为训练数据,用m个神经元训练SOM。在图中选择神经元的数量m远小于n,例如为n/10。
使用阶段通常包括下列步骤1.在SOM中忽略不是任何数据点(f1,f2,...,fn)的最佳映射单元(BMU)的神经元。
2.计算(f1,f2,...,fn)与受训SOM的BMU距离。这些距离表示为(D1,D2,...,Dn)。
3.计算观测fn+1的BMU距离。这个距离表示为Dn+1。
4.计算异常P值。使B为大于Dn+1的最佳映射单元距离(D1,D2,...,Dn)的数量。一个特定对象的异常P值可由下式得到Pn+1=Bn---(2)]]>5.基于异常P值接受或拒绝零假设(null hypothesis)。如果异常P值大于异常P值阈值,接受零假设H0(最新近的观测fn+1被认为正常)。另一方面,如果异常P值小于异常P值阈值,则拒绝零假设H0,并且最新近的观测fn+1被认为异常。
如果测试表明对象行为异常(H0被拒绝),则可以确定k个偏离最显著的特性。具有对BMU距离的最大绝对贡献的k个特性(特性向量的分量)就是k个最为偏离的特性。等式(3)表示如何计算最为偏离的特性。在等式(3)中,将次标md赋予特性向量的这一分量。在等式(3)中,BMU表示特性向量fn+1的最佳匹配单元,j的取值从零到特性的数目。其他k-1个最为偏离的特性也以相应方式计算。fn+1,md=argmaxj{abs(fn+1,j-BMUj)}---(3)]]>图1所示的情形可作为一个例子。图1显示了两种异常,通常表示为参考数字15。异常1的异常P值为0/200=0。由于没有哪个数据点的BMU距离大于异常1的BMU距离,分子值为零。相应的,异常2的异常P值为7/200=0.035。
如果异常P值小于异常P值阈值,则拒绝零假设并且触发一个告警。异常P值阈值可以被解释为在被监视对象的行为不偏离在指导阶段使用的该对象的较早期行为的情况下,将被拒绝的观测的比例。即,如果零假设为真告警数目=P值阈值*观测 (4)另一方面,如果零假设不为真(新数据异常),拒绝的数目(告警)会较高。
图2表示如何使用以对象特定的图的神经元为中心的d维球体(d球体)展示对象j的选定P值阈值。对于二维输入数据,d球体是圆形。这里,d表示输入数据(f1,f2,...,fn+1)的维度数。换言之,每个输入数据元素f1到fn本身是一个具有d维的向量。对象i的落在球体之外的观测数对应于等式(2)中的分子B。图2中的二维示例表示这样的情形。此处,B为13,对应于大约6.50的相当高的P值阈值。
图3是表示本发明优选实施例的流程图。参考数字302指向诸如电信网络(不同于神经网络)的物理系统的一个元件。一个物理元件可以包括几个可观测的元素。例如,如果物理系统元件302是电信交换机,它的可观测元素可以包括吞吐量、等待时间,失败呼叫的数量(百分比)等。对于每个时间单位,一个指示符收集器306收集一个指示符元组(tuple)304。各元组存储在一个指示符数据库310中。参考数字312指向用于训练神经网络(或另一种学习机制)314的数据组。数据组312应当指示物理元件302的正常行为。存储器318包含受训的神经网络。当物理元件302要被观测时,对应的受训神经网络320从存储器318中检索出来并作为一个输入加到异常检测机制322中。异常检测机制的其他输入是要测试其异常行为的指示符集324。如果异常检测机制322确定由指示器集324描述的行为是异常的,异常P值和最为偏离的指示符326存储在异常历史数据块328中。同时,将告警330给予监视装置332,如计算机屏幕。
图4A到4C代表不同的时间表示,其中一些是可接受的,一些是不可接受的。在图4A中,水平轴表示以L为单元的时间,其中L是输入数据的周期(假定为24小时)。线400表示时间的直线表示。参考数字401到403指向以24小时间隔出现的重复事件的三个实例。这种时间表示的一个问题是,时间的各个表示不相同,并且ADS无法将事件401到403识别为循环事件。
锯齿线405是时间的24小时表示,或者说,是时间的模函数。在此表示中,每天在相同时间发生的事件具有相同的表示,但是天的交替在输入数据中引入了不连续性。
在图4B中,正弦波410是周期的,连续的,但它不是模糊的。事件411和412出现在不同的时间上,但是有相同的时间表示。假定事件411在早晨是正常的,如果类似事件在晚上发生,ADS不会将该事件识别为异常。
图4C表示三个可接受的时间表示。它们都基于将时间表示为坐标对x,y的思想。圆420将时间表示为{x=sin(2πt/L);y=cos(2πt/L)},其中L是可变周期的长度,2πt/L是与x轴的夹角。只要椭圆422不是太扁以至于引入了不知一个点是在该椭圆的上半部还是下半部的模糊性,该椭圆422也是可接受的。甚至还可以使用矩形424。尽管几个点具有相同的x或y坐标,矩形的任一两点的x/y坐标对都不同。
圆420的正弦/余弦组合被认为是优选的时间表示,因为在时间上等距离的事件在时间的表示上也是等距离的。然而,正弦/余弦组合可能需要大量计算,可以使用某些近似,如具有90度相移的三角波函数对。如前所述,在某些情况下,时间的表示可能要求多个分量。例如,对于周期为24小时,一周和一年,可能需要多达三个正弦/余弦对。
尽管结合神经网络和自组织图介绍了本发明的优选实施例,但本发明不限于这些示例。作为一种替换,本发明可以一般化为如k装置和学习向量量化之类的其他簇技术,这时神经元被电波密码本向量取代。
参考文件1.Hglund,AlbertAn Anomaly Detection System forComputer Networks,Master of Science thesis,Helsinki University ofTechnology 1997参考文件1通过参考被引入此处。
权利要求
1.一种用于指导系统中的异常检测机制的方法,所述系统包括可观测元件(302),所述可观测元件中的至少一个具有周期性、与时间相关的行为,该异常检测机制包括一个计算机化学习机制(314),所述计算机化学习机制(314)具有用于定义包括输入数据分量(11,12)的输入数据的输入空间该方法包括组合指示可观测元件(302)的行为的指示符(304),并安排被组合的指示符以使每个可观测元件的指示符被分配给相同的输入数据分量;指导学习机制(314)以使学习机制的输入数据包括基于被组合的指示符(304)的输入数据分量;以及在输入空间中放置逼近输入数据的点(14);其特征在于将时间的表示(420-424)并入至少一个输入数据分量(11,12)中;其中时间的表示(420-424)在具有周期性、与时间相关行为的至少一个元件的周期(L)中是周期性的、连续的和明确的。
2.根据权利要求1所述的方法,其特征在于所述学习机制是自组织图或者包括自组织图。
3.根据权利要求1或2所述的方法,其特征在于所述时间的表示有一个第一周期和至少一个是所述第一周期的倍数的第二周期。
4.根据前述任一权利要求所述的方法,其特征在于缩放数据分量,使得每个数据分量具有相同的变化,最好为一。
5.根据前述任一权利要求所述的方法,其特征在于时间的表示具有可变的分辨率,使得根据与时间相关的行为中的变化,一个比特对应于时间的不同单元。
6.一种用于检测系统中的异常的装置,所述系统包括可观测元件(302),所述可观测元件中的至少一个具有周期性的、与时间相关的行为,该装置包括一个计算机化学习机制(314),具有用于定义包括输入数据分量(11,12)的输入数据的输入空间,用于组合指示可观测元件(302)的行为的指示符(304)并安排被组合的指示符以使每个可观测元件的指示符被分配给相同的输入数据分量的装置;用于指导学习机制(314)以使学习机制的输入数据包括基于被组合的指示符(304)的输入数据分量的装置;用于在输入空间中放置逼近输入数据的点(14)的装置;该装置的特征在于至少一个输入数据分量(11,12)包括时间的表示(420-424);其中时间的表示(420-424)在具有周期性的、与时间相关行为的至少一个元件的周期(L)中是周期性的、连续的和明确的。
7.根据权利要求6所述的装置,其特征在于所述学习机制是自组织图或者包括自组织图。
8.根据权利要求6或7所述的装置,其特征在于所述时间的表示有一个第一周期和至少一个是所述第一周期的倍数的第二周期。
9.根据权利要求6-8中任一所述的装置,其特征在于它包括在单个网络元件中。
10.一种包括用于计算机的软件的计算机可读介质,其特征在于在计算机中执行该软件导致计算机执行权利要求1所述的方法步骤。
全文摘要
一种用于指导系统中的异常检测机制的方法,所述系统包括可观测元件(302),所述可观测元件中的至少一个具有周期性、与时间相关的行为,该异常检测机制包括一个计算机化学习机制(314)。该方法包括组合指示可观测元件(302)的行为的指示符(304),并安排所述组合的指示符以使每个可观测元件的指示符被分配给相同的输入数据分量;指导学习机制(314)以使学习机制的输入数据包括基于被组合的指示符(304)的输入数据分量;以及在输入空间中放置逼近输入数据的点(14)。将时间的表示(420-424)并入至少一个输入数据分量(11,12)中,其中时间的表示(420-424)在具有周期性、与时间相关行为的至少一个元件的周期(L)中是周期性的、连续的和明确的。
文档编号G06N3/00GK1455890SQ01815447
公开日2003年11月12日 申请日期2001年9月10日 优先权日2000年9月11日
发明者阿伯特·霍格朗德, 基莫·哈托南, 安蒂·索瓦里 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1