一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于检测系统的异常操作的方法与流程

2022-10-27 00:15:58 来源:中国专利 TAG:
用于检测系统的异常操作的方法


背景技术:

1.存在应用于工业系统和过程的许多异常检测解决方案。然而,一般来说,它们要么应用于网络通信领域(realm),要么应用于过程数据领域,这使得每个系统在它能够检测什么方面,以及尤其是在它能够诊断什么方面受到限制(例如,区分安全问题与故障)。一个代表性示例是nist报告nistir 8219(美国国家标准和技术研究所题为“保护制造业工业控制系统:行为异常检测(securing manufacturing industrial control systems: behavioral anomaly detection)”的报告),其中提出了应用于工业控制系统的三个行为异常检测解决方案。它们中的两个聚焦于网络通信,并且另一个基于过程数据。


技术实现要素:

2.在一个方面中,利用计算机系统检测与物理系统相关联的异常动作的计算机实现的方法包括:由计算设备开发多个矢量,该多个矢量中的每个矢量指示系统内特定时间处出现(occur)的事件,利用计算设备将预定义的持续时间内出现的每个矢量组合到多个主矢量之一中,以及利用计算设备执行聚类分析,以将该多个主矢量中的每个主矢量分组到多个状态之一中。该方法还包括:利用计算设备至少部分地基于在预定义的持续时间内出现的一个或多个事件来确定实时主矢量,利用计算设备将该实时主矢量分类为实时状态,以及当该实时状态不匹配多个状态之一时指示该实时状态是异常的。
3.在另一方面中,一种利用引擎控制系统检测与引擎相关联的异常动作的计算机实现的方法包括:由计算设备开发多个矢量,该多个矢量中的每个矢量指示引擎内特定时间处出现的操作状况、状态、警报状况、网络数据和过程数据之一,利用计算设备将在预定义的持续时间内出现的每个矢量组合到多个主矢量之一中,以及利用计算设备执行聚类分析,以将该多个主矢量中的每个主矢量分组到多个状态之一中。该方法还包括:使用计算设备至少部分地基于在预定义的持续时间内出现的一个或多个事件来确定实时主矢量,使用计算设备将该实时主矢量与多个主矢量进行比较,使用计算设备将该实时主矢量分类为实时状态,以及当该实时状态不匹配多个状态之一时指示该实时状态是异常的。
4.在另一方面中,一种计算装置包括处理器。该计算装置还包括:存储指令的存储器,当被处理器执行时,该指令将该装置配置成开发多个矢量,该多个矢量中的每个矢量指示在该系统内特定时间处出现的事件,将在预定义的持续时间内出现的每个矢量组合到多个主矢量之一中,以及执行聚类分析,以将该多个主矢量中的每个主矢量分组到多个状态之一中。该装置还操作来将相关联的用户动作与多个状态中的每个状态相关联,至少部分地基于在预定义的持续时间内出现的一个或多个事件来确定实时主矢量,将该实时主矢量分类为从多个状态中选择的实时状态,将实时用户动作与关联于实时状态的相关联的用户动作进行比较,以及当该实时用户动作不匹配该相关联的用户动作时指示异常用户动作已经出现。
附图说明
5.为了容易地标识对任一个特定元素或行为(act)的讨论,参考数字中的一个或多个最高有效数字指代那个元素在其中首次引入的图号。
6.图1图示了便于异常检测系统的操作的示例计算机系统的功能框图。
7.图2图示了其中可以实现异常检测系统的数据处理系统的框图。
8.图3是图示了异常检测系统的一部分的流程图。
9.图4是多个主矢量的三维图,其示出了那些主矢量到状态中的聚类。
10.图5是图示了适合于针对异常检测系统训练分类器中使用的模型训练流水线的操作的流程图。
11.图6是图示了异常检测系统的流程图。
12.图7是图示了图6的异常检测系统的操作的流程图。
具体实施方式
13.如本文中使用的,术语“部件”和“系统”旨在涵盖硬件、软件或硬件和软件的组合。因此,例如,系统或部件可以是过程(process)、在处理器上执行的过程或处理器。另外地,部件或系统可以定位在单个设备上,或者跨若干设备来分布。
14.另外,在被配置成执行多于一个功能/过程的元素(例如,处理器)之前的短语“至少一个”可以对应于一个或多个元素(例如,处理器),其每个执行功能/过程,并且也可以对应于分别执行一个或多个不同功能/过程中的不同功能/过程的两个或更多元素(例如,处理器)。
15.而且,应该理解的是,本文中使用的词语或短语应该被广义地解释,除非在某些示例中明确地限制。例如,术语“包括”和“包含”以及其派生词意指没有限制的包括。单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。另外,本文中使用的术语“和/或”指代并涵盖一个或多个相关联的所列项目的任何和所有可能的组合。术语“或”是包含性的,意指和/或,除非上下文另有明确指示。短语“与
……
相关联”和“与之相关联”以及其派生词可以意指包括、被包括在
……
之内、与
……
相互连接、包含、被包含在
……
之内、和或与
……
连接、和或与
……
耦合、与
……
可通信、与
……
合作、交错、并置、接近、被绑定到
……
或与
……
绑定、具有、具有
……
的特性等等。
16.而且,虽然术语“第一”、“第二”、“第三”等可以在本文中用来指代各种元素、信息、功能或行为,但是这些元素、信息、功能或行为不应该受这些术语的限制。更确切地说,这些数字形容词用来将不同的元素、信息、功能或行为彼此区分开。例如,在不脱离本公开的范围的情况下,第一元素、信息、功能或行为可以被称为第二元素、信息、功能或行为,并且类似地,第二元素、信息、功能或行为可以被称为第一元素、信息、功能或行为。
17.此外,术语“邻近”可以意指:元素相对靠近另外的元素,但是不与其接触;或者该元素与另外的部分接触,除非上下文另有明确指示。另外,短语“基于”旨在意指“至少部分地基于”,除非另有明确地声明。
18.参照图1,描述了示例系统100,其使得能够实现本文中描述的异常检测系统300、600的操作。系统100采用至少一个数据处理系统102。数据处理系统可以包括至少一个处理器116(例如,微处理器/cpu)。处理器116可以被配置成通过从存储器126执行对应于一个或
多个应用130(例如,软件和/或固件)或其各部分的计算机/处理器可执行指令128来执行本文中所描述的各种过程和功能,所述指令128被编程为使至少一个处理器执行本文中所描述的各种过程和功能。
19.此类存储器126可以对应于内部或外部易失性或非易失性处理器存储器118(例如,主存储器、ram和/或cpu缓存),其包括在处理器中和/或与处理器进行操作连接。此类存储器也可以对应于与处理器进行操作连接的非暂时性非易失性存储设备120(例如,闪存驱动器、ssd、硬盘驱动器、rom、eprom、光盘/驱动器或其他非暂时性计算机可读介质)。
20.所描述的数据处理系统102可以选择性地包括与处理器116进行操作连接的至少一个输入设备114和至少一个显示设备112。例如,显示设备可以包括lcd或amoled显示屏、监视器、vr头戴式耳机、投影仪或能够显示来自处理器的输出的任何其他类型的显示设备。例如,输入设备可以包括鼠标、键盘、触摸屏、触摸板、轨迹球、按钮、键区、游戏控制器、游戏手柄、照相机、扩音器、捕获运动姿势的运动感测设备、或者能够向处理器提供用户输入或其他信息的其他类型的输入设备。
21.数据处理系统102可以被配置成执行便于本文中所描述特征的一个或多个应用130。此类应用例如可以对应于作为下面描述的异常检测系统300、600的一部分而包括的部件。
22.例如,如图1中所图示的,至少一个处理器116可以经由包括在至少一个存储器或数据存储104中的(例如,包括在一个或多个应用130中的)可执行指令128进行配置,以操作异常检测系统300、600、图形用户接口(gui)或者其他程序、系统或软件。
23.虽然该方法被描述为按顺序执行的一系列行为,但是要理解的是,该方法可不受顺序的次序限制。例如,除非另有声明,否则一些行为可以以不同于本文中描述次序的次序出现。此外,在一些情况下,行为可与另一行为同时出现。另外,在一些实例中,可能不需要所有行为来实现本文中描述的方法。
24.应该领会到,这个所描述的方法可以包括与先前关于数据处理系统100所描述的特征相对应的另外的行为和/或替代行为。
25.同样重要的是要注意,虽然本公开包括在全功能系统和/或一系列行为的上下文中的描述,但是本领域技术人员将领会到,本公开和/或所描述行为的机制的至少部分可以能够以包含在存储设备120内的计算机/处理器可执行指令128(例如,软件/固件应用130)的形式进行分配,该存储设备120对应于采用多种形式中的任何形式的非暂时性机器可用、计算机可用或计算机可读介质。计算机/处理器可执行指令128可以包括例程、子例程、程序、应用、模块、库等等。另外,应该领会到,计算机/处理器可执行指令可以对应于源代码、字节码、操作时码、机器码、汇编语言、java、javascript、python、julia、c、c#、c 或可以被编程/配置成使至少一个处理器执行本文中描述的行为和特征的任何其他形式的代码,和/或可以从上述代码生成。更进一步地,所描述/要求保护的过程或功能的结果可以存储在计算机可读介质中、显示在显示设备上等等。
26.应该领会到,与上面描述方法、特征和功能相关联的行为(除了任何描述的手动行为)可以经由一个或多个处理器116的操作、由一个或多个数据处理系统102来执行。因此,要理解的是,当提到数据处理系统时,此类系统可以跨在分布式系统中进行组织的若干数据处理系统来实现,所述数据处理系统直接或经由网络相互通信。
27.如本文中使用的,处理器对应于经由硬件电路、软件和/或固件被配置成处理数据的任何电子设备。例如,本文中描述的处理器可以对应于微处理器、cpu、gpu或任何其他集成电路(ic)或能够在数据处理系统102中处理数据的其他类型的电路中的一个或多个(或组合)。如先前讨论的,被描述或要求保护为被配置成执行特定所描述/要求保护的过程或功能的处理器116可以对应于执行以软件形式存储在存储器126中的计算机/处理器可执行指令128的cpu,以执行此类所描述/要求保护的过程或功能。然而,还应该领会到,此类处理器可以对应于与处理电路(例如,fpga或asic ic)硬连线的ic,以执行此类所描述/要求保护的过程或功能。而且,应该理解的是,对处理器的引用可以包括被配置成执行本文中描述的功能的多个物理处理器或核。此外,应该领会到,数据处理系统和/或处理器可以对应于进行操作来控制至少一个操作的控制器。
28.此外,还应该理解到,所描述或要求保护为被配置成执行特定所描述/要求保护的过程或功能的处理器可以对应于处理器116与加载/安装到所描述存储器126(易失性和/或非易失性的)中的可执行指令128(例如,软件/固件应用130)的组合,所述可执行指令128当前正在执行和/或可用于由处理器执行,以使处理器执行所描述/要求保护的过程或功能。因此,断电或正在执行其他软件但具有以(当由用户、硬件和/或其他软件启动时)可用于由处理器执行的方式加载/存储在与该处理器操作连接的存储设备120中(诸如在硬盘驱动器或ssd上)的所描述软件的处理器也可以对应于所描述/要求保护的处理器,该处理器被配置成执行本文中所描述/要求保护的特定过程和功能。
29.图2图示了数据处理系统200的另外的示例,可以利用该数据处理系统200实现本文中所描述的数据处理系统102的一个或多个实施例。例如,在一些实施例中,至少一个处理器116(例如,cpu/gpu)可以连接到一个或多个桥/总线/控制器202(例如,北桥、南桥)。例如,总线之一可以包括一个或多个i/o总线,诸如pci快速总线。在所描绘的示例中,连接到各种总线的还可以包括处理器存储器118(例如,ram)和图形控制器204。图形控制器204可以生成驱动显示设备112的视频信号。还应该注意到,以cpu/gpu或其他处理器形式的处理器116可以在其中包括存储器,诸如cpu缓存存储器。另外,在一些实施例中,一个或多个控制器(例如,图形、南桥)可以与cpu集成(在同一芯片或管芯上)。cpu架构的示例包括ia-32、x86-64和arm处理器架构。
30.连接到一个或多个总线的其他外围设备可以包括通信控制器214(以太网控制器、wifi控制器、蜂窝控制器),其进行操作来连接至网络222,诸如局域网(lan)、广域网(wan)、互联网、蜂窝网络和/或任何其他有线或无线网络或通信设备。数据处理系统200可以进行操作来与连接到网络210的一个或多个服务器224和/或任何其他类型的设备或其他数据处理系统通信。例如,在一些实施例中,数据处理系统200可以进行操作来与存储器126通信。数据库的示例可以包括关系数据库(例如,oracle、microsoft sql server)。而且,应该领会到,在一些实施例中,此类数据库可以由处理器116来执行。
31.连接至各种总线的另外的部件可以包括一个或多个i/o控制器212,诸如usb控制器、蓝牙控制器和/或专用音频控制器(连接至扬声器和/或扩音器)。还应该领会到,各种外围设备可以(经由各种端口和连接)连接至(多个)i/o控制器,包括输入设备114和输出设备206(例如,打印机、扬声器)、或进行操作来向数据处理系统提供输入和/或从数据处理系统接收输出的任何其他类型的设备。
32.而且,应该领会到,称为输入设备或输出设备的许多设备可以既提供与数据处理系统200的通信的输入又接收其输出。例如,处理器116可以集成到包括触摸屏的外壳(诸如平板设备)中,该触摸屏用作输入设备和显示设备两者。另外,应该领会到,一些输入设备(诸如膝上型计算机)可以包括多种不同类型的输入设备(例如,触摸屏、触摸板和键盘)。而且,应该领会到,连接到i/o控制器212的其他硬件208可以包括被配置成与数据处理系统通信的任何类型的设备、机器、传感器或部件。
33.连接至各种总线的另外的部件可以包括一个或多个存储控制器210(例如,sata)。存储控制器210可以连接到存储设备120,诸如一个或多个存储驱动器和/或任何相关联的可移动介质。而且,在一些示例中,诸如nvme m.2 ssd的存储设备120可以直接连接到诸如pci快速总线之类的总线202。
34.应该理解到,数据处理系统200可以直接或通过网络222与一个或多个其他数据处理系统连接,该其他数据处理系统诸如是服务器224(其可以以组合来对应于较大的数据处理系统)。例如,较大的数据处理系统可以对应于被实现为分布式系统的一部分的多个较小的数据处理系统,其中与若干较小的数据处理系统相关联的处理器可以通过一个或多个网络连接进行通信,并且可以共同执行被描述为由单个较大的数据处理系统执行的任务。
35.根据本公开的实施例的数据处理系统可以包括操作系统216。此类操作系统可以采用命令行界面(cli)外壳和/或图形用户接口(gui)外壳。gui外壳允许在图形用户接口中同时呈现多个显示窗口,其中每个显示窗口提供到不同应用或同一应用的不同实例的接口。图形用户接口中的光标或指针可以由用户通过诸如鼠标或触摸屏之类的定点设备来操纵。光标/指针的位置可以改变和/或可以生成诸如点击鼠标按钮或触摸触摸屏之类的事件来驱使期望的响应。可以在数据处理系统中使用的操作系统的示例可以包括microsoft windows、linux、unix、ios、macos和android操作系统。
36.如本文中使用的,处理器存储器118、存储设备120和存储器126可以全部对应于先前描述的存储器126。而且,先前描述的应用130、操作系统216和数据220可以存储在这些存储器中的一个或多个、或任何其他类型的存储器或数据存储中。因此,处理器116可以被配置成从/在处理器存储器118、存储设备120和/或存储器126中管理、检索、生成、使用、修正和/或存储应用130、数据220和/或本文中描述的其他信息。
37.此外,应该领会到,数据处理系统可以包括虚拟机架构或云环境中的执行可执行指令的虚拟机。例如,处理器和相关联的部件可以对应于在物理数据处理系统200的一个或多个物理处理器中操作的虚拟机的一个或多个虚拟机处理器的组合。虚拟机架构的示例包括vmware esci、microsoft hyper-v、xen和kvm。另外,所描述的可执行指令128可以被捆绑为容器,所述容器在容器化环境中是可执行的,诸如由处理器116执行的docker。
38.而且,应该注意到,本文中所描述的处理器可以对应于位于数据处理系统中的远程处理器,诸如远离本文中所描述的显示和输入设备的服务器。在此类示例中,所描述的显示设备和输入设备可以包括在通过有线或无线网络(其可以包括互联网)与服务器(其包括远程处理器)通信的客户端数据处理系统(其可以具有其自己的处理器)中。在一些实施例中,此类客户端数据处理系统例如可以执行远程桌面应用或者可以对应于执行与服务器的远程桌面协议的门户设备,以便从输入设备向服务器发送输入,以及从服务器接收视觉信息以通过显示设备来显示。此类远程桌面协议的示例包括teradici的pcoip、微软的rdp和
rfb协议。在另一示例中,此类客户端数据处理系统可以执行web浏览器或瘦客户端应用。来自用户的输入可以从web浏览器或瘦客户端应用发送,以在服务器上评估、由服务器渲染(render),并且图像(或图像系列)被发送回到客户端数据处理系统,以由web浏览器或瘦客户端应用来显示。而且,在一些示例中,本文中描述的远程处理器可以对应于在服务器的物理处理器中执行的虚拟机的虚拟处理器的组合。
39.本领域普通技术人员将领会到,为数据处理系统描绘的硬件和软件可以针对特定实现方式而变化。所描绘的示例仅出于解释的目的而提供,并且不旨在暗示相对于本公开的架构限制。而且,本领域技术人员将认识到,为了简单和清楚,本文中没有描绘或描述适合于供本公开使用的所有数据处理系统的完整结构和操作。替代地,仅描绘和描述了本公开所独有的或理解本公开所必要的数据处理系统的这么些。数据处理系统200的结构和操作的其余部分可以符合本领域中已知的各种当前实现方式和实践中的任一个。
40.图3至图6图示了用于计算受监视以确定异常活动是否已经出现或正在出现的过程或系统的分立式状态表示的方法和检测系统300。系统可以包括多个不同的工业系统或引擎,诸如涡轮发电机系统等等。在一个应用中,图3的检测系统300在操作燃气涡轮引擎的计算机控制系统中实现,该燃气涡轮引擎生成用于分配到电网或到另一负载的电力。为了帮助理解,本说明书的剩余部分将涉及检测系统300的实现方式的这个具体示例。然而,应该清楚的是,本发明不限于这个单一应用。
41.使用一个或多个计算机或计算机系统来实现检测系统300,并且使用不同数据源的组合来构建或训练检测系统300。在一些示例中,可以包括网络数据、过程数据、日志数据、操作状况数据、状态数据或警报状况的历史日志数据或事件数据312是可用的。对于许多涡轮发电机系统,事件数据312可以可用于许多年的操作。
42.事件数据312经受事件嵌入302的过程,诸如源自自然语言处理(nlp)领域的过程,以用于将单词变换到定义长度的数字矢量中。这些nlp方法适用于事件数据312,诸如日志和计算机网络数据。此外,如果与某些分立化方法(诸如符号聚合近似(sax))进行组合,这些nlp可以应用到过程数据。替代地,可以应用诸如自动编码器之类的降维方法来将时间系列样本数据变换到定义长度的数字矢量中。因此,为了不失一般性来进行简化,图3的描述将基于事件数据。
43.图3图示了与方法和检测系统300相关联的基本数据处理流水线。事件嵌入302可以采用多个嵌入方法(诸如word2vec),以将预定义长度的数字矢量与每个感兴趣实体相关联。在nlp领域中,实体对应于单词,并且在这里描述的应用中,实体对应于事件或事件数据312。矢量以此类方式来定义,即它们之间的距离指示实体之间的相似性。矢量越接近,相似性越大。在这种情况下,相似性对应于相似上下文中的频繁出现,其中实体上下文继而由在其附近出现的一组其他实体来定义。余弦距离通常用于测量矢量之间的距离。为各个实体获得的事件嵌入302的结果也可以被组合以形成实体集合的嵌入。例如,那些集合可以对应于nlp领域中的句子。
44.一旦事件嵌入302完成,对结果进行分析以执行时间窗口嵌入304的过程。来自事件嵌入302的矢量根据它们出现的时间进行分组。具体地,固定的预定义持续时间(例如,五分钟或更短、一分钟或更短、三十秒或更短、十秒等)用来对矢量进行分组。在其他结构中,预定义持续时间可以是固定的时间窗口。例如,时间窗口可以是从下午1:00到下午1:05。一
旦矢量按预定的持续时间分组,它们就被组合到多个主矢量中,其中每个主矢量对应于预定义持续时间窗口之一中的事件。时间窗口嵌入304或集合嵌入的一个过程是要仅将对应的实体嵌入或矢量进行平均。与标准平均相比,使用例如术语频率-逆文档频率(tf-idf)的加权平均可以改善结果。然而,可以采用nlp(用于直接嵌入单词或句子)或其他领域中采用的其他嵌入方法。例如,可以采用基于变换器(transformer)深度神经网络的方法,诸如bert。
45.一旦时间窗口嵌入304的过程完成,可以对主矢量执行聚类306的过程,以形成系统状态的分立式表示,如图4中所图示的。聚类306的过程可以采用标准聚类方法,诸如k-means和dbscan。当然,如果期望的话,可以采用其他聚类方法。
46.图4图示了对三维时间窗口嵌入进行聚类从而产生五个不同的簇402a-402e或系统状态的样本结果。图4中的点中的每一个表示针对三个所选标度(scale)用曲线图表示的主矢量之一。当然,可以采用许多不同的参数或值来建立簇402a-402e或系统状态。
47.返回到图3,在聚类306完成之后,系统状态的分立式表示是可用的。具体而言,建立了多个状态或簇402a-402e。此时,可以执行动作关联308的可选步骤。历史数据314可以用来将操作员或系统动作与每个状态或簇402a-402e相关联。所述动作可以包括所采取的特定动作、在每个状态下出现一个或多个动作的概率、或者其组合。在一个示例中,对于特定的状态或簇402a,可能的是,第一动作具有第一出现概率,第二动作具有第二出现概率,以及第三动作具有第三出现概率。
48.一旦聚类306完成,并且在动作关联308完成的情况下,检测系统300可以用于执行异常检测310。如将关于图5和图6更详细地讨论的,异常检测310可以仅基于系统的实时或当前状态的分析,或者基于用户所采取的实时动作与状态或簇402a-402e所关联的动作相比的比较。在基于用户的实时动作的异常检测310的情况下,异常检测310可以基于概率阈值。
49.在继续进行之前,应该注意到,术语“实时”或“实时数据”意味着指代正在分析的新数据或近期数据。该数据可以是被呈现以进行审查的较旧数据。因此,出于本说明书的目的,来自几乎任何时间段的未分析数据可以被认为是实时数据。
50.图5图示了可以用来训练分类器506的模型训练流水线500,所述分类器506然后可以用于异常检测310。如图5中图示的,日志508被用作事件数据312。日志508只是系统(例如,涡轮发电机系统)的操作的历史数据。日志508中的数据被提供用于事件嵌入302、时间窗口嵌入304和聚类306,如关于图3所描述的。聚类306最终导致许多系统状态504或多个系统状态504。
51.日志508中包含的数据的一部分可以重复使用,如同其是实时数据,以便开发和测试分类器506。如果用于测试,数据再次被提供用于事件嵌入302和时间窗口嵌入304,使得数据被转换成多个主矢量。
52.系统状态504和主矢量中的每一个被提供用于分类器训练502。在训练和测试期间,可以包括机器学习或其他基于ai的技术的分类器506分析每个主矢量,并且将预测的系统状态分配到那个主矢量。然后,可以通过聚类306将分配的预测系统状态与针对那个主矢量确定的系统状态进行比较,并且调整分类器506,直到它们匹配。使用这个过程产生分类器506,其能够预测实时主矢量的系统状态,而没有执行聚类分析。
53.图6图示了可以用来检测系统状态和用户动作两者中的异常的检测系统600。检测系统600从新日志610接收实时数据,并且通过事件嵌入302和时间窗口嵌入304来处理那个数据,以为实时数据中的每个时间窗口产生实时主矢量。
54.该实时主矢量在状态异常检测例程606中被使用,以确定系统的当前或实时状态本身是否异常。状态异常检测例程606利用分类器506来将预测的状态分配到通过时间窗口嵌入304生成的实时主矢量中的每一个。异常判定608然后将那些状态与系统的已知操作状态进行比较,并且如果不存在匹配,则预测的状态被标识为异常。换句话说,检测系统600包括基于状态表示本身的异常检测。换句话说,如果时间窗口嵌入没有足够靠近在训练期间标识的簇中的任一个,则它就被认为是异常的。
55.在一些结构中,提供可选的第二异常检测例程604作为检测系统600的一部分。在第一异常判定608之后,如果异常判定608指示没有异常,则可以发起第二异常检测例程604,或者可以不管异常判定608的结果如何来发起第二异常检测例程604。为了执行第二异常检测例程604,将实时主矢量从时间窗口嵌入304传递到分类例程602。分类例程602包括分类器506,并且对实时主矢量进行分类,以确定预测的实时状态。替换地,预测的实时状态可以从状态异常检测例程606传递。此外,每个状态的相关联的用户或系统动作从动作关联308传递到分类例程602。然后,这个信息连同与实时主矢量相关联的实际或实时动作612一起被第二异常检测例程604使用。对于其中实时主矢量被分类的状态,在实时动作612与相关联的用户或系统动作之间进行比较。如果比较示出动作不匹配,则实时动作被认为是异常的。如所讨论的,相关联的动作可以是两个或更多动作的概率。在这种情况下,可以设置阈值来确定动作是否不匹配。
56.在这种情况下,异常不是基于与通常不同的事件本身的时间窗口,而是基于与结果得到的分立式状态相关联的其他信息。例如,每次操作员或用户执行某个动作时,系统处于第一状态中,如果当系统处于第二状态中时现在执行这个同一动作,则这可以被认为是异常。
57.这里定义的状态也可以应用于异常检测的替代设置中。这样做的一种方式将是对状态之间的转变(transition)进行建模,例如以马尔可夫链的形式,并且使用与这个转变相关联的信息,例如在马尔可夫链的情况下的转变概率,以检测异常。在这种情况下,可以定义阈值,使得具有低于该阈值的概率的转变将被视为异常。
58.检测系统600可以用来检测许多不同系统中的状态异常和用户动作异常两者,所述系统包括关于图3讨论的涡轮发电机。继续那个示例,图5的布置可以使用存储的数据日志508,其包括事件数据312以及与事件数据312相关联的用户或系统动作数据。该数据用来训练图6的检测系统600中使用的分类器506。虽然实际操作数据用于训练,但是其他类似的数据(例如来自类似引擎的数据)可以用于训练。
59.在涡轮发电机的操作期间,不断收集数据并将数据存储在新日志610中。可以对那个数据进行实时分析,以检测异常,或者可以在收集数据之后定期审查那个数据。如已经描述的,数据被转换成实时主矢量,并且被分析以确定是否存在异常状态。例如,涡轮发电机可以具有正常操作状态、基本负载状态、负载跟随状态等等。此外,容纳检测系统600的控制系统可以具有在线状态、离线状态和任何数目的其他状态。如果这些是仅有的状态,并且实时主矢量不符合这些状态中的任何状态,则检测系统600会将那个状况标识为异常状态。
60.此外,检测系统600可以确定实时主矢量落在哪种状态下,并且可以包括相关联的用户或系统动作。这些将是由系统或操作员在特定状态中的操作期间通常采取的动作。如所提到的,动作可以是特定的动作,或者可以是特定动作的概率。此外,多个动作可以与给定的状态相关联。
61.新日志610包含由系统和用户采取的实际动作,并且这些实际或实时用户和系统动作可以与特定状态的相关联的用户和系统动作进行比较。如果实时用户和系统动作与相关联的用户和系统动作不匹配(或者落在可接受的限制之内),则检测系统600可以将该动作标识为异常动作。
62.检测系统600提供了将多个源(可能地是异构数据源)组合到标准表示中的简单方法,该标准表示可以全面地描述系统或关注过程的状态,以用于正确评估异常。与现有解决方案相比,这可在更大检测率和更低错误警报率方面潜在地提供更好的性能,并且为更好地诊断异常的性质提供信息。
63.在框702中,异常检测例程700由计算设备开发多个矢量,该多个矢量中的每个矢量指示系统内特定时间处出现的事件。在框704中,异常检测例程700利用计算设备将在预定义持续时间内出现的每个矢量组合到多个主矢量之一中。在框706中,异常检测例程700利用计算设备来执行聚类分析,以将多个主矢量中的每个主矢量分组到多个状态之一中。在框708中,异常检测例程700利用计算设备至少部分地基于在预定义持续时间内出现的一个或多个事件来确定实时主矢量。在框710中,异常检测例程700利用计算设备将实时主矢量分类为实时状态。在框712中,当实时状态与多个状态之一不匹配时,异常检测例程700指示该实时状态是异常的。
64.虽然已对本公开的示例性实施例进行了详细描述,但是本领域技术人员将理解,在不脱离本公开以其最广泛形式的精神和范围的情况下,可以对本公开进行各种改变、替代、变化和改进。
65.不应将本技术中的任何描述解读为暗示任何特定元素、步骤、行为或功能是必须包括在权利要求范围中的必要元素:专利主题的范围仅由授权的权利要求来限定。此外,这些权利要求中没有一个旨在调用装置加功能的权利要求结构,除非确切的词语“用于
……
的装置”后面是分词。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献