提供与分配给输入数据方法和系统的异常分数相关的警报与流程



1.本发明大体上涉及软件管理系统,尤其涉及用于提供与分配给输入数据异常分数相关的警报的系统,诸如使用异常检测模型(在本文中被统称为产品系统)来检测传入数据的分布漂移。


背景技术:



2.近来,涉及人工智能、机器学习等的越来越多的计算机软件产品用于执行各种任务。这种计算机软件产品能够例如用于语音、图像或模式识别的目的。此外,这种计算机软件产品能够直接或间接地(例如通过将这种计算机软件产品嵌入更复杂的计算机软件产品中)用于分析、监控、操作和/或控制例如工业环境中的设备。本发明大体上涉及提供警报的计算机软件产品并且涉及这种计算机软件产品的管理和例如更新。
3.当前,存在支持使用异常检测模型来分析、监控、操作和/或控制设备并且支持涉及异常分数的这种计算机软件产品的管理的产品系统和解决方案。这种产品系统能够受益于改进。


技术实现要素:



4.各种所公开的实施例包括能够用于帮助提供与分配给输入数据的异常分数相关的警报和管理计算机软件产品的方法和计算机系统。
5.根据本发明的第一方面,一种计算机实现的方法能够包括:
[0006]-接收与至少一个设备相关的输入数据,其中,输入数据包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1、
……
、n;
[0007]-使用n个异常检测模型mn来为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1、
……
、sn;
[0008]-将(经过训练的)异常检测模型mn应用于输入数据以生成输出数据,该输出数据适合于分析、监控、操作和/或控制相应的设备;
[0009]-为相应的传入数据批次x确定一方面至少n个可分离类别的确定的相应的异常分数s1、
……
、sn与另一方面n个异常检测模型mn(130)的给定的相应的异常分数s1、
……
、sn之间的差异;
[0010]-如果其间的相应的确定的差异大于差异阈值,那么:向用户、相应的设备和/或连接到相应的设备的it系统提供与确定的差异相关的警报。
[0011]
作为实例,能够用第一接口接收输入数据。另外,能够用计算单元将相应的异常检测模型应用于输入数据。在一些实例中,能够用第二接口提供与分配给输入数据的异常分数相关的警报。
[0012]
根据本发明的第二方面,系统(例如计算机系统或it系统)能够被布置和配置成执行该计算机实现的方法的步骤。特别地,该系统能够包括:
[0013]-第一接口,该第一接口被配置用于接收与至少一个设备相关的输入数据,其中,
输入数据包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1、
……
、n;
[0014]-计算单元,该计算单元被配置用于
[0015]-使用n个异常检测模型mn来为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1、
……
、sn;
[0016]-将异常检测模型mn应用于输入数据以生成输出数据,该输出数据适合于分析、监控、操作和/或控制相应的设备;
[0017]-为相应的传入数据批次x确定一方面至少n个可分离类别的确定的相应的异常分数s1、
……
、sn与另一方面n个异常检测模型mn 130的给定的相应的异常分数s1、
……
、sn之间的差异;以及
[0018]-第二接口,该第二接口被配置用于在其间的相应的确定的差异大于差异阈值的情况下向用户、相应的设备和/或连接到相应的设备的it系统提供与确定的差异相关的警报。
[0019]
根据本发明的第三方面,一种计算机程序能够包括指令,该指令在被系统(例如it系统)执行时使该系统进行提供与分配给输入数据的异常分数相关的警报的所描述的方法。
[0020]
根据本发明的第四方面,一种计算机可读介质能够包括指令,该指令在被系统(例如it系统)执行时使该系统进行提供与分配给输入数据的异常分数相关的警报的所描述的方法。作为实例,所描述的计算机可读介质能够是非暂时性的,并且还能够是存储设备上的软件部件。
[0021]
前述内容已经相当宽泛地概述了本公开的技术特征,使得本领域的技术人员能够更好地理解以下详细描述。在下文中将描述形成权利要求书的主题的本公开的附加特征和优点。本领域的技术人员应当理解,他们能够容易地使用所公开的概念和特定实施例作为用于修改或设计用于实现本公开的相同目的的其他结构的基础。本领域的技术人员还应认识到,这种等效构造在其最广泛的形式上不脱离本公开的精神和范围。
[0022]
此外,在进行以下详细描述之前,应当理解,贯穿本专利文件提供了某些字词和短语的各种限定,并且本领域的普通技术人员应当理解,这种限定在许多(如果不是大多数)情况下适用于这种所限定的字词和短语的在先使用以及将来使用。虽然一些术语能够包括各种实施例,但所附权利要求能够明确地将这些术语限制于特定实施例。
附图说明
[0023]
图1示出了有助于在产品系统中提供警报的示例性系统的功能框图。
[0024]
图2示出了由于数据分布移位而导致的训练模型在时间上的退化。
[0025]
图3示出了用于二进制分类任务的示例性数据分布漂移检测。
[0026]
图4示出了比较异常分数的两个分布的示例性箱线图。
[0027]
图5示出了有助于在产品系统中提供警报和管理计算机软件产品的示例性系统的功能框图。
[0028]
图6示出了有助于在产品系统中提供警报的示例性方法的另外的流程图。
[0029]
图7示出了人工神经网络的实施例。
[0030]
图8示出了卷积神经网络的实施例。
[0031]
图9示出了能够实现实施例的数据处理系统的框图。
具体实施方式
[0032]
现在将参考附图描述与用于在产品系统中提供警报和管理计算机软件产品的系统和方法有关的各种技术,其中,相同附图标记贯穿附图表示相同元件。下文讨论的附图和用于描述本专利文件中的本公开的原理的各种实施例仅作为说明,而不应当以任何方式解释为限制本公开的范围。本领域的技术人员应当理解,能够在任何适当布置的装置中实现本公开的原理。应当理解,被描述为由某些系统元件进行的功能性能够由多个元件执行。类似地,例如,元件能够被配置成执行被描述为由多个元件进行的功能性。将参考示例性非限制性实施例描述本专利文件的许多创新型教导。
[0033]
参考图1,示出了示例性计算机系统或数据处理系统100,该计算机系统或数据处理系统有助于提供警报150,特别是提供与分配给输入数据140的异常分数相关的警报150,诸如使用异常检测模型130来检测传入数据140的分布漂移。处理系统100能够包括至少一个处理器102,该至少一个处理器被配置成执行来自处理器102所访问的存储器104的至少一个应用软件部件106。应用软件部件106能够被配置(即,编程)为使处理器102进行本文中所描述的各种动作和功能。例如,所描述的应用软件部件106能够包括和/或对应于被配置成在数据存储库108(诸如数据库)中提供和存储输出数据的应用的一个或多个部件。
[0034]
应当理解,在复杂的应用和工业环境中提供警报150能够是困难且耗时的。例如,可能需要用户或it专家的高级译码知识或需要有意识地进行对许多选项的选择,这两者都涉及许多手动步骤,这是较长但不高效的过程。
[0035]
为了实现警报150的增强提供,所描述的产品系统或处理系统100能够包括至少一个输入设备110和可选地,至少一个显示设备112(诸如显示屏)。所描述的处理器102能够被配置成通过显示设备112生成gui 114。这种gui 114能够包括gui元件(诸如按钮、文本框、图像、滚动条),该gui元件可由用户用于通过输入设备110提供能够支持提供警报150的输入。
[0036]
在示例性实施例中,应用软件部件106和/或处理器102能够被配置成接收与至少一个设备142相关的输入数据140,其中,输入数据140包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1、
……
、n。另外,应用软件部件106和/或处理器102能够被配置成使用n个异常检测模型mn 130来为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1、
……
、sn。在一些实例中,应用软件部件106和/或处理器102还能够被配置成将异常检测模型mn 130应用于输入数据140以生成输出数据152,该输出数据152适合于分析、监控、操作和/或控制相应的设备142。应用软件部件106和/或处理器102还能够被配置成为相应的传入数据批次x确定一方面至少n个可分离类别的确定的相应的异常分数s1、
……
、sn与另一方面n个异常检测模型mn 130的给定的相应的异常分数s1、
……
、sn之间的差异。另外,应用软件部件106和/或处理器102能够被配置成在其间的相应的确定的差异大于差异阈值的情况下向用户(例如经由gui 114)、相应的设备142和/或连接到相应的设备142的it系统提供与确定的差异相关的警报150。
[0037]
在一些实例中,预先提供相应的异常检测模型mn 130并且将其存储在数据存储库108中。
[0038]
处理系统100的输入设备110和显示设备112能够被视为是可选的。换句话说,处理系统100中所包括的子系统或计算单元124能够对应于所要求保护的系统(例如it系统),该系统能够包括一个或多个适当配置的处理器和存储器。
[0039]
作为实例,输入数据140能够包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1、
……
、n。数据批次能够例如包括与例如温度、压力、电流和电压、距离、速度或速率、加速度、流速、包括可见光的电磁辐射或任何其他物理量相关的所测量的传感器数据。在一些实例中,所测量的传感器数据还能够与化学量(诸如酸度、物质混合物中的给定物质的浓度等)相关。相应变量能够例如表征相应的设备142或相应的设备142所处的状态。在一些实例中,相应的所测量的传感器数据能够表征由相应的设备142进行或监控的加工或生产步骤。
[0040]
在一些实例中,相应的设备142能够是或包括传感器、致动器(例如电动机、阀或机器人)和向电动机供电的换流器、变速箱、可编程逻辑控制器(plc)、通信网关和/或通常与工业自动化产品和工业自动化相关的其他零件部件。相应的设备142能够是复杂生产线或生产工厂的一部分,例如装瓶机、输送机、焊接机、焊接机器人等。在其他实例中,能够存在与多个这种设备142的一个或多个变量相关的输入数据消息142。另外,作为实例,it系统能够是或包括制造操作管理(mom)系统、制造执行系统(mes)和企业资源计划(erp)系统、监督控制和数据采集(scada)系统或它们的任何组合。
[0041]
输入数据140能够用于通过将异常检测模型mn 130应用于输入数据140来生成输出数据152。异常检测模型mn 130能够例如将输入数据消息或相应变量与输出数据152相互关联。输出数据152能够用于分析或监控相应的设备142,例如以指示相应的设备142是否正在正常工作或相应的设备142是否正在监控正常工作的生产步骤。在一些实例中,输出数据152能够指示相应的设备142被损坏或关于由相应的设备142监控的生产步骤能够存在问题。在其他实例中,输出数据152能够用于操作或控制相应的设备142,从而例如使用输入数据140来实现反馈回路或控制回路,通过应用异常检测模型mn 130来分析输入数据消息140并且基于接收到的输入数据140来控制或操作相应的设备142。在一些实例中,设备142能够是过程自动化工厂中的阀,其中,输入数据消息包括关于作为物理变量的流速的数据,然后用异常检测模型mn 130分析该流速以生成输出数据152,其中,输出数据152包括用于阀的操作的一个或多个目标参数,例如阀的目标流速或目标位置。
[0042]
输入数据140的传入数据批次x能够与至少n个可分离类别相关。在相当简单的实例中,能够存在两个类别:类别1和类别2,类别1指示设备142或对应生产工厂处于“正常”状态,类别2指示设备142或对应生产工厂处于“不正常”状态。例如,设备142能够对应于变速箱的轴承或带式输送机,其中,类别1能够指示设备142的正确操作,并且类别2能够指示轴承不具有足够的润滑剂或带式输送机的皮带将会丢失。通常,不同的n个类别能够与所监控的设备的典型场景相关,在一些实例中,该所监控的设备能够是物理对象。因此,n个类别能够对应于物理设备142的正确操作状态和n-1种典型故障模式。在一些实例中,域模型能够将“正常”状态与“不正常”状态分开,其中,能够存在更详细地指定设备142处于何种“不正常”状态的从属类别。
[0043]
应当理解,在一些实例中,异常检测模型mn 130能够是经过训练的异常检测模型mn。这种经过训练的异常检测模型mn的训练能够例如使用参考数据集或训练数据集来完
成。能够例如通过标识与典型变量或输入数据140相关的典型场景来预先提供参考数据集。这种典型场景能够是例如在相应的设备142正在正常工作时的场景、在相应的设备142监控适当执行的生产步骤时的场景、在相应的设备142被损坏时的场景、在相应的设备142监控不适当执行的生产步骤时的场景等。作为实例,设备142能够是在其操作期间变得过热并且因此已经增加了摩擦的轴承。能够预先分析或记录这种场景,以使得能够提供对应参考数据。当接收到对应输入数据140时,能够使用n个异常检测模型mn 130将该输入数据140与参考数据集进行比较来为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数sn。
[0044]
针对输入数据的每个新的和先前未见的批次x,能够确定异常分数sn的描述性统计并且将其与为每个模型mn获得的对应描述性统计sn进行比较。因此,相应的异常分数sn或sn的描述性统计能够包括相应的异常分数sn或sn的对应中值、标准偏差和/或四分位数间距。在本文中,在描述性统计中,四分位数间距(iqr)(也被称为中间分布、中间50%或h分布)是统计离差的测量,其等于第75百分位数与第25百分位数之间的或上四分位数与下四分位数之间的差值,使得iqr=q3-q1。换句话说,iqr是从第三四分位数中减去第一四分位数;在关于数据的箱线图上能够清楚地看到这些四分位数,在图4中示出了它们的实例。这能够是被限定为25%修整范围的修整估计量并且是常用的稳健尺度测量。
[0045]
iqr能够基于将数据集划分为四分位数而被视为可变性的测量。四分位数将排序数据集划分为四个相等部分。将这些部分分开的值被称为第一四分位数、第二四分位数和第三四分位数;并且它们分别由q1、q2和q3表示。
[0046]
如果异常分数sn与n个异常检测模型mn 130的异常分数s1、
……
、sn的比较(或关于sn和sn的对应描述性统计的比较)揭示了显著差异,这能够是如下情况:如果确定的差异大于差异阈值,那么能够检测数据分布漂移并且能够向用户、相应的设备142和/或it系统发送警告,该警告能够指示数据漂移已经发生和/或异常检测模型可能不再是可信的。
[0047]
在一些实例中,能够预先确定n个异常检测模型mn 130的给定的相应的异常分数s1、
……
、sn。作为实例,所监控的设备142的典型场景能够用于确定相应的异常分数s1、
……
、sn,这种典型场景包括设备142的正常操作状态和典型故障模式。如果接收到对应输入数据140,那么这能够允许标识相应的设备142的这种典型场景。
[0048]
应当理解,在一些实例中,传入数据批次x的确定的相应的异常分数s1、
……
、sn可能无法良好地拟合于给定的相应的异常分数s1、
……
、sn,使得相应的异常分数彼此不同,并且相应的确定的差异大于差异阈值。这种情况能够由于输入数据的分布漂移而发生,并且能够指示所使用的异常检测模型mn 130可能不再对相应的设备142的输入数据140有效。在这种情况下,生成警报150并且向用户、相应的设备142和/或连接到相应的设备140的it系统提供该警报。
[0049]
作为实例,输入数据140包括关于若干变量的数据,并且存在反映n个不同场景的n个异常检测模型mn,其中,n>1,例如一个可接受的状态场景和n-1个不同损坏场景。
[0050]
另外,经过训练的异常检测模型mn 130(其中,n》1)能够对应于监督学习(sl),即,学习基于示例性输入-输出对来将输入映射到输出的函数的机器学习任务。这种监督学习从由训练示例性集合组成的标记训练数据中推断函数。在监督学习中,每个实例是由输入对象(通常是向量)和期望输出值(也被称为监督信号)组成的对。监督学习算法分析训练数
据并且产生推断函数,该推断函数能够用于映射新实例。最佳方案将允许算法正确地确定未见实例的类别标签。这需要学习算法以“合理”方式从训练数据概括到未见情况(参见感应偏置)。
[0051]
n个异常检测模型mn 130(经训练或未经训练)然后能够用于为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数sn。另外,能够将n个异常检测模型mn 130(经训练或未经训练)应用于输入数据140以生成适合于分析、监控、操作和/或控制相应的设备142的输出数据152。基于确定的相应的异常分数sn,通过将它们与异常检测模型mn 130的给定的相应的异常分数sn进行比较,能够生成警报150并且向用户、相应的设备142和/或连接到相应的设备142的it系统提供该警报。能够向用户提供与确定的差异相关的警报150(例如监控或监督涉及设备142的生产过程),使得该用户能够触发对设备142或相关生产步骤的进一步分析。在一些实例中,能够向相应的设备142或it系统提供警报150,例如以及相应的设备或it系统能够是或包括scada、mom或mes系统的场景。
[0052]
还应当理解,能够就异常检测模型mn 130的可信度而言解释异常检测模型mn 130的确定的异常分数sn。换句话说,确定的异常分数sn能够指示异常检测模型mn 130是否可信。作为实例,所生成的警报150能够包括确定的异常分数sn或关于异常检测模型mn 130的可信度(级别)的信息。
[0053]
另外,在一些实例中,能够允许关于输入数据140的异常值,使得并非每个输入数据140都能够触发警报150。例如,针对给定数量z的按顺序传入的数据批次x,如果确定的差异大于给定差异阈值,那么能够仅提供警报150。
[0054]
如上文已经提及的,图1中所图示的系统100能够对应于或包括计算单元124。另外,计算单元能够包括第一接口170和第二接口172,该第一接口用于接收与至少一个设备142的至少一个变量相关的输入数据消息140,该第二接口用于在确定的差异大于差异阈值的情况下向用户、相应的设备142和/或连接到相应的设备142的it系统提供与确定的差异相关的警报150。根据向哪个设备或系统发送警报150,第一接口170和第二接口172能够是所有不同接口中的相同接口。在一些实例中,计算单元124能够包括第一接口170和/或第二接口172。
[0055]
在一些实例中,输入数据140经历涉及确定的差异的增加的分布漂移。
[0056]
作为实例,输入数据140包括变量,其中,针对给定时间段,该变量的值围绕给定平均值振荡。由于某种原因,在稍后的时间,该变量的值围绕不同平均值振荡,使得已经发生了分布漂移。在许多实例中,分布能够涉及异常分数sn与sn之间的确定的差异的增加。作为实例,例如针对经受机械或应力的设备,变量的分布漂移能够由于磨损、老化或其他种类的劣化而发生。下文在图2的上下文中更详细地解释了导致增加的差异的分布漂移的概念。
[0057]
在一些实例中,所建议的方法能够因此检测由于输入数据140的分布漂移而导致的差异的增加。
[0058]
还应当理解,在一些实例中,应用软件部件106和/或处理器102还能够被配置成在较早传入数据批次xe的异常分数s1、
……
、sn与较晚传入数据批次x1的异常分数s1、
……
、sn之间的第二差异大于第二阈值的情况下确定输入数据140的分布漂移;并且在确定的第二差异大于第二阈值的情况下向用户、相应的设备142和/或连接到相应的设备142的it系统提供与确定的分布漂移相关的报告。
[0059]
在这些实例中,输入数据140的趋势能够用于标识分布漂移。为此,确定考虑到输入数据140的较早传入数据批次xe和较晚传入数据批次x1的第二差异。将该第二差异与第二阈值进行比较以确定是否应提供报告。例如,较早传入数据批次xe和较晚传入数据批次x1两者的相应的异常分数s1、
……
、sn涉及相对于给定的相应的异常分数s1、
……
、sn的差异,该差异小于差异阈值。然而,第二差异能够大于第二阈值,从而使得生成报告并且向将用户、相应的设备142和/或连接到相应的设备142的it系统提供该报告。在一些实例中,第二阈值能够等于差异阈值,并且较早传入数据批次xe和较晚传入数据批次x1的相应的异常分数能够在差异阈值的上边界和下边界处构成可接受偏差,但第二差异仍然能够大于第二阈值。在这种情况下,这能够在相应的设备142处发生动态变化(诸如相应的设备142的某个电气或机械部件的完全故障或断裂)时发生。作为实例,能够考虑若干较早传入数据批次xe和若干较晚传入数据批次xi,使得异常值的单次出现能够被归类并且不会导致报告的生成和提供。在其他实例中,报告能够对应于上文所提及的警报150。另外,在其他实例中,较早传入数据批次xe的异常分数s1、
……
、sn能够对应于给定异常分数s1、
……
、sn,这能够允许生成警报150的更加动态的过程。
[0060]
还应当理解,在一些实例中,应用软件部件106和/或处理器102还能够被配置成将训练数据批次xt分配给异常检测模型mn 130的至少n个可分离类别并且为n个异常检测模型mn 130的至少n个可分离类别确定给定异常分数s1、
……
、sn。
[0061]
在这些实例中,异常检测模型mn 130能够被视为训练函数,由此能够使用人工神经网络、机器学习技术等来完成训练。应当理解,在一些实例中,异常检测模型mn 130能够被训练成使得能够使用n个异常检测模型mn 130来确定相应的传入数据批次x是属于第n类别还是属于其他n-1个类别中的任一者。作为实例,能够训练(合适的)异常检测模型,异常检测模型能够区分属于类别1或其他n-1个类别中的任一者的数据分布。然后,能够训练另外的异常检测模型,另外的异常检测模型能够区分属于类别2和其他n-1个类别中的任一者的数据分布。能够针对其他n-2个类别重复该过程。
[0062]
在地面真值y={1,2,...,n}的情况下,能够针对属于y的每个类别训练n个异常检测模型。在步骤1之后,能够获得m1、m2、
……
、mn个异常检测模型,异常检测模型能够预测输入数据140的流数据批次x是属于类别1还是属于其他n-1个类别中的任一者、是属于类别2还是属于其他n-1个类别中的任一者等。
[0063]
利用经过训练的异常检测模型mn,能够针对异常分数s1、s2、
……
、sn获得描述性统计,每个模型能够基于训练数据集或训练数据批次xt而针对其类别输出该异常分数。
[0064]
例如,存在能够被视为是地面真值y的训练数据批次xt。输入能够包括数据点x(诸如要分类的数据点,例如训练数据集或历史数据)、地面真值y(例如数据点的标签,例如数据点所源自的产品)和模型m。数据批次x和地面真值y能够经由函数彼此相关。
[0065]
在一些实例中,n=1。因此,只存在一个“可分离”条款和一个异常检测模型。
[0066]
这种情况能够对应于无监督学习(ul)的实例,该无监督学习是一种从未标记数据中学习模式的算法。希望在于通过模仿,迫使机器构建其世界的紧凑内部表示,然后生成创新内容。与数据例如由人类标记为例如“汽车”或“鱼”等的监督学习(sl)相反,ul表现出捕获作为神经元偏好或概率密度的模式的自组织。监督范围中的其他级别是仅向机器赋予数字性能分数作为其指导的强化学习和标记数据的较小部分的半监督学习。ul中的两种广泛
方法是神经网络和概率性方法。
[0067]
因此,针对输入数据140的传入数据批次x,仅确定所监控的设备142是处于正常操作的“正常”状态还是处于我们的正常操作的“不正常”日期。作为实例,能够不标识或确定其他特征,诸如设备142的典型误差或故障场景。
[0068]
当初始数据集仅属于一个类别时,n=1的无监督场景能够被视为是监督设置的边界情况,使得仅存在一个异常检测模型mn 130。n=1的这种无监督场景通常意味着不存在可用于输入数据140的传入批次x的标签。
[0069]
在其他实例中,应用软件部件106和/或处理器102还能够被配置成在确定的差异小于差异阈值的情况下将相应的n个异常检测模型mn 130嵌入软件应用中,以用于分析、监控、操作和/或控制至少一个设备142,并且将软件应用部署在至少一个设备142或连接到至少一个设备142的it系统上,使得软件应用能够用于分析、监控、操作和/或控制至少一个设备142。
[0070]
软件应用能够是例如用于分析相应的设备142的状态或由相应的设备142进行的生产步骤的状态和/或为这些状态筹款的情况监控应用。在一些实例中,软件应用能够是用于操作或控制相应的设备142或由相应的设备142进行的生产步骤的操作应用或控制应用。能够将相应的n个异常检测模型mn 130嵌入这种软件应用中,例如以导出相应的设备142的状态信息或相应生产步骤顺序,从而导出用于相应生产步骤的相应的设备的操作或控制信息。然后能够将软件应用部署在相应的设备142或it系统上。然后能够为软件应用提供输入数据140,能够使用相应的n个异常检测模型mn 130来处理该输入数据以确定输出数据152。
[0071]
在一些实例中,如果例如由用户使用相应的设备142或it系统上的软件应用来进行使该软件应用可用于在相应的设备142或it系统上使用所需的活动,那么该软件应用能够被理解为被部署。软件应用的部署过程能够包括若干相互关联的活动,在这些活动之间具有可能转变。这些活动能够发生在生产者侧(例如由软件应用的开发者)或发生在客户侧(例如由软件应用的用户)或两者。在一些实例中,应用程序部署过程能够至少包括软件应用的安装和激活,并且可选地还包括软件应用的释放。释放活动能够遵循完整开发过程,并且有时被分类为开发过程而不是部署过程的一部分。该释放活动能够包括为组件准备系统(此处:例如处理系统100或计算单元124)和转移到计算机系统(此处:例如相应的设备142或it系统)所需的操作,该释放活动将在该计算机系统上在生产中运行。因此,该释放活动有时能够涉及确定系统以可容忍的性能操作所需的资源以及计划和/或记录部署过程的后续活动。针对简单的系统,软件应用的安装能够涉及建立用于执行软件应用的软件(手动地或自动地)的某种形式的命令、快捷方式、脚本或服务。针对复杂的系统,该软件应用的安装能够涉及系统的配置(可能通过向最终用户询问关于用户预期用途的问题,或直接向最终用户询问用户希望如何配置该系统)和/或使所有所需要的子系统准备好使用。激活能够是第一次启动软件应用的可执行部件的活动(这与涉及软件许可的术语激活的普遍使用相混淆,该术语激活是数字权限管理系统的功能)。
[0072]
还应当理解,在一些实例中,应用软件部件106和/或处理器102还能够被配置成在确定的差异大于差异阈值的情况下修正相应的异常检测模型mn 130,使得使用相应的经修正的异常检测模型mn 130的确定的差异小于差异阈值,以在软件应用中用相应的经修正的异常检测模型mn 130替换相应的异常检测模型mn 130并且将经修正的软件应用部署在至
少一个设备142或it系统上。
[0073]
如果确定的差异大于差异阈值,那么能够例如通过引入相对于变量的偏移或因子来修正相应的异常检测模型mn 130,使得使用相应的经修正的异常检测模型mn 130的差异小于差异阈值。为了使用经修正的经过训练的函数来确定差异,相同过程能够就相应的异常检测模型mn 130而言应用,即,使用相应的经修正后的n个检测模型mn 130来为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1、
……
、sn。作为实例,能够通过改变相应的n个检测模型mn 130的参数并且计算对应修正差异来到相应的经修正的n个检测模型mn 130。如果给定的不同参数集的修正差异小于差异阈值,那么不同参数能够用于符合差异阈值的经修正的相应的经修正的n个检测模型mn 130中。
[0074]
在一些实例中,修正相应的n个检测模型mn 130可能已经在对应于较高可信度的略低的第一差异阈值处被触发。因此,相应的n个检测模型mn 130仍然能够产生用于分析、监控、操作和/或控制相应的设备142的可接受的质量,但具有更好的、相应的经修正的n个检测模型mn 130能够是合乎需要的。在这种情况下,修正相应的n个检测模型mn 130可能已经被触发,以获得改进的、经修正的相应的经修正的n个检测模型mn130,从而导致较低修正差异。这种途径能够允许始终具有带高可信度的相应的n个检测模型mn 130,包括具有例如与磨损、老化或其他种类的劣化相关的数据分布漂移的场景。使用略低的第一差异阈值能够考虑到相应的n个检测模型mn 130的增加的差异与确定具有较低差异并且因此具有较高可信度的经修正的相应的经修正的n个检测模型mn 130之间的特定延时。这种场景能够对应于相应的n个检测模型mn 130的在线再训练或永久再训练。
[0075]
在软件应用中,然后能够用相应的经修正的n个检测模型mn 130替换相应的n个检测模型mn 130,然后能够将该相应的经修正的n个检测模型mn 130部署在相应的设备142或it系统处。
[0076]
在其他实例中,应用软件部件106和/或处理器102还能够被配置成在异常检测模型的修正花费比持续时间阈值更多的时间的情况下用备份软件应用替换所部署的软件应用,并且使用备份软件应用来分析、监控、操作和/或控制至少一个设备142。
[0077]
在一些实例中,适当地修正相应的n个检测模型mn 130能够花费比持续时间阈值更多的时间。如果缺少合适的训练数据或如果存在有限的运算能力,那么这能够例如发生在先前提及的在线再训练场景中。在这种情况下,备份软件应用能够用于分析、监控、操作和/或控制相应的设备142。备份软件应用能够例如将相应的设备142置于安全模式下,例如以避免对人员或相关生产过程的损害或伤害。在一些实例中,备份软件应用能够关闭相应的设备142或相关生产过程。在例如涉及协作的机器人或旨在用于在共享空间内引导人类机器人/设备交互的其他设备142的其他实例中或在人类和机器人/设备非常接近的情况下,该应用能够将对应设备142切换到慢模式,从而同样避免了对人员的伤害。这种场景能够例如包括具有生产或装配线的汽车制造工厂或其他制造设施,其中,机器和人类在共享空间中工作,并且其中,备份软件应用能够将生产或装配线切换到这种慢模式。
[0078]
还应当理解,在一些实例中,针对多个互连设备142,应用软件部件106和/或处理器102还能够被配置成将相应的n个检测模型mn 130嵌入相应的软件应用中,以用于分析、监控、操作和/或控制相应的互连设备142,将相应的软件应用部署在相应的互连设备142或连接到多个互连设备142的it系统上,使得相应的软件应用能够用于分析、监控、操作和/或
控制相应的互连设备(142),使用相应的异常检测模型mn 130来确定相应差异,并且在相应的确定的差异大于相应差异阈值的情况下向用户、相应的设备142和/或自动化系统提供与确定的差异和相应的互连设备142相关的警报150,对应的相应的软件应用用于针对该警报分析、监控、操作和/或控制相应的互连设备142。
[0079]
作为实例,互连设备142能够是更复杂的生产或装配机器的一部分,或甚至构成完整的生产或装配工厂。在一些实例中,将多个相应的异常检测模型mn 130嵌入相应的软件应用中,以分析、监控、操作和/或控制互连设备142中的一者或多者,其中,相应的异常检测模型mn 130和对应设备142能够交互和协作。在这种场景中,标识在互连设备122的操作期间可能发生的问题的起源能够是具有挑战性的。为了克服这种困难,确定使用相应的异常检测模型mn 130的相应差异,并且如果相应的确定的差异大于相应差异阈值,那么能够提供与相应的确定的差异和相应的互连设备142相关的警报152。该途径允许复杂生产环境中的根本原因分析,该复杂生产环境涉及嵌入部署在多个互连设备142上的对应软件应用中的多个相应的异常检测模型mn 130。因此,实现了特别高的透明度,从而允许误差的快速且高效的标识和校正。作为实例,在这种复杂生产环境中,能够容易地标识多个互连设备142当中的有问题的设备142,并且通过修正该有问题的设备142的相应的异常检测模型mn 130,能够解决该问题。
[0080]
在这些实例的上下文中,能够存在如下场景:针对每个设备142具有一个相应的异常检测模型mn 130集合,针对每个设备142具有多个相应的异常检测模型mn 130或针对多个设备142具有多个相应的异常检测模型mn 130。因此,在相应的异常检测模型mn 130与设备142之间能够存在一对一的对应关系、一对多的对应关系、多对一的对应关系或多对多的对应关系。
[0081]
还应当理解,在其他实例中,相应的设备142是生产机器、自动化设备、传感器、生产监控设备、车辆或它们的任何组合中的任一者。
[0082]
如上文已经提及的,在一些实例中,相应的设备142能够是或包括传感器、致动器(诸如电动机、阀或机器人)和向电动机供电的换流器、变速箱、可编程逻辑控制器(plc)、通信网关和/或通常与工业自动化产品和工业自动化相关的其他零件部件。相应的设备142能够是复杂的生产线或生产工厂(的一部分),例如装瓶机、输送机、焊接机、焊接机器人等。另外,作为实例,相应的设备能够是或包括制造操作管理(mom)系统、制造执行系统(mes)和企业资源计划(erp)系统、监督控制和数据采集(scada)系统或它们的任何组合。
[0083]
在工业实施例中,所建议的方法和系统能够在例如用于生产产品设备的零件(例如印刷电路板、半导体、电子部件、机械部件、机器、设备、车辆或车辆的零件,诸如汽车、自行车、飞机、轮船等)的工业生产设施或能量生成或分布设施(通常为发电厂、变压器、开关装置等)的上下文中实现。作为实例,能够将所建议的方法和系统应用于在产品设备的生产期间的某些制造步骤(诸如铣削、研磨、焊接、形成、喷漆、切割等),从而例如在汽车的生产期间监控或甚至控制焊接过程。特别地,能够将所建议的方法和系统应用于在不同位置处执行相同任务的一个或若干工厂,由此输入数据能够源自于这些工厂中的一者或若干者,这能够允许特别好的数据库进一步改进相应异常监控模型mn 130和/或设备142或工厂的分析、监控、操作和/或控制的质量。
[0084]
此处,输入数据140能够源自于这种设施的设备142,例如传感器、控制器等,并且
能够应用所建议的方法和系统来改进对设备142或相关生产或操作步骤的分析、监控、操作和/或控制。为此,能够将相应的异常检测模型mn 130嵌入合适的软件应用中,然后能够将该软件应用部署在设备142或系统(例如it系统)上,使得软件应用能够用于所提及的目的。
[0085]
还应当理解,在一些实例中,所提及的训练的收敛不是问题,使得可能不需要停止准则。这可能是由于相应的异常检测模型mn 130是相当的分析函数,因此可能仅需要有限数量的迭代步骤。关于人工神经网络,节点的最小数量通常能够取决于算法的细节,由此在一些实例中,针对本发明,能够使用随机森林。另外,所使用的人工神经网络的节点的最小数量能够取决于输入数据140的维数,例如二维(例如针对两个单独的力)或20维(例如针对20个对应物理可观察表状数据或时间序列数据)。
[0086]
在本发明的示例性实施例中,能够使用以下步骤中的一者或多者:
[0087]
1)接收输入数据,该输入数据包括传入数据点x(要分类的数据点-训练集=历史数据),可选地地面真值y(=数据点的标签,例如数据点所源自的产品)和模型m;x和y经由函数彼此相关;可选地,将输入置于一些存储装置(例如缓冲器或允许期望采样频率的低访问时间存储装置)中;数据点能够包括关于一个或若干变量的信息,诸如关于电流、电压、温度、噪声、振动、光信号等的传感器数据;
[0088]
2)可选地(如果经过训练的异常检测模型尚未可用):训练合适的异常检测模型,该异常检测模型能够区分属于类别1而不属于其他n-1个类别中的任一者的数据分布
[0089]
3)可选地(如果经过训练的异常检测模型尚未可用):训练另外的模型以区分属于类别2而不属于其他n-1个类别中的任一者的数据分布等。
[0090]
4)具有地面真值针对属于y的每个类别训练n个异常检测模型。在步骤1之后,我们具有m1、m2、
……
、mn个异常检测模型,这些异常检测模型能够预测流数据批次属于类别1或属于其他n-1个类别中的任一者;属于类别2或属于其他n-1个类别中的任一者等。
[0091]
5)利用经过训练的异常检测模型,我们针对异常分数s1、s2、
……
、sn获得描述性统计,每个模型基于训练数据集而针对其类别输出该异常分数。
[0092]
6)针对每个新的并且先前未见的传入数据批次,我们输出异常分数s1的描述性统计,并且将其与为每个模型m1、m2、
……
、mn获得的对应描述性统计s1进行比较。
[0093]
7)将新获得的异常分数与基于初始数据获得的参考异常分数进行比较。如果明显不同,那么:可选地检测数据分布漂移并且发送经过训练的ai模型可能不再值得信赖的警告。
[0094]
·
报告能够包括指示“警告”,如果确定的差值大于第一阈值(精度<98%;即,差异>2%),那么能够开始收集数据,能够对收集到的数据进行数据标记(在有监督的情况下),并且能够采用用例机器学习模型(例如经过训练的异常检测模型);
[0095]
·
如果确定的差值大于第一阈值(精度《95%,即,差异>5%),那么报告能够包括指示“误差”,并且能够用经修正的用例机器学习模型(例如经修正的经过训练的异常检测模型)替换用例机器学习模型(例如经过训练的异常检测模型)。
[0096]
实施例连同本发明具有若干优点,包括:
[0097]
·
在部署人工智能(ai)模型之后对数据分布漂移的全自动检测,
[0098]
·
不需要地面真值,
[0099]
·
不集中于计算数据分布漂移的可能贡献者,而是采用数据集的所有维度,并且
因此对多维数据集更稳健。此外,所建议的解决方案与多个变量无关,并且可能与适当的构造特征一起利用。
[0100]
在更精细的实施例中,能够应用以下考虑。为了检测数据分布漂移,利用通常用于异常检测的机器学习技术。然而,出于概括起见,能够采用执行异常检测的任何其他合适的方法。能够涵盖以下设置:
[0101]
1)ai任务在监督设置中得以解决(初始训练数据由地面真值供应),
[0102]
2)ai任务在无监督设置中得以解决(初始训练数据不具有地面真值)
[0103]
1)监督设置
[0104]
将al任务制定如下:具有数据点x和地面真值y={1,2,...n},需要能够构建决策边界的分析模型,该决策边界将不同类别1、2、
……
、n之间的流数据分开。为此,训练机器学习模型或使用任何其他分析技术来获得模型m。此处,模型m发挥从y输出属于n个类别中的一者的预测的预测子x的函数的作用。因此,获得了能够区分训练数据集内的不同数据分布的通用模型m。然而,每当输入未被包括在初始训练数据集中的数据时,该模型都可能失败。为了检测此情形,需要确定传入数据分布不同于模型之前已经看到的所有数据分布。为了执行这种检测,训练任何合适的异常检测模型,该异常检测模型能够区分属于类别1而不属于其他n-1个类别中的任一者的数据分布。然后,训练另外的模型以区分属于类别2而不属于其他n-1个类别中的任一者的数据分布等。建立以下工作流程:
[0105]
·
在具有地面真值的情况下,针对属于y的每个类别训练n个异常检测模型。
[0106]
·
在步骤1之后,具有m1、m2、
……
、mn个异常检测模型,这些异常检测模型能够预测流数据批次属于类别1或属于其他n-1个类别中的任一者;属于类别2或属于其他n-1个类别中的任一者等。
[0107]
·
利用经过训练的异常检测模型,能够针对异常分数s1、s2、
……
、sn获得描述性统计,每个模型输出基于训练数据集而在其类别上输出该异常分数。这种描述性统计可能是:s1、s2、
……
、sn的中值、标准偏差、iqr等。
[0108]
·
针对每个新的并且先前未见的传入数据批次,输出异常分数s1的描述性统计,并且将其与为每个模型m1、m2、
……
、mn获得的对应描述性统计s1进行比较。
[0109]
在图3中示出了用于二进制分类问题的这种方法的实例。已经用仅属于我们的初始数据集的类别1的数据训练了第一模型m1(“第一模型”,图3中的正方形),基于属于类别2的数据训练了模型m2(“第二模型”,图3中的圆圈)。在训练这两个模型之后,获得属于类别1和类别2的子集上的异常分数。这些异常分数被表示为s1和s2,并且分布在时间戳0与157之间。s1(0-156)和s2(0-156)的中值一起为27.4。在时间戳157处,属于其他分布的数据开始了流传输,并且已经针对训练模型m1和m2进行了检查。这些异常分数分布在时间戳157与312之间,并且能够被表示为s1(157-312)s2(157-312)。这种情况下的异常分数分布的中值为5.4。针对该实例,仅使用一个描述性统计,该描述性统计为s的中值。如图3中所图示,能够看到时间戳157处的数据分布漂移。
[0110]
为了向所建议的方法引入稳健性,针对s将描述性统计视为分布本身,并且为此,绘制了s的分布以供比较。在图4中示出了这些分布。
[0111]
能够看到异常分数主要集中于左侧框中,该左侧框是具有中值27.4并且具有4个异常值的一种模态分布。左侧框合并了具有中值5.4和2个异常值的数据分布漂移下的大部
分数据。这两种分布是完全可分离的,并且能够清楚地看到数据分布漂移。然而,在这些分布不是完全可分离的情况下,能够采用具有以下假设的统计测试:
[0112]
·
h0:s的分布是相同的。
[0113]
·
h1:h0是不正确的。
[0114]
2)无监督情况
[0115]
当初始数据集仅属于一个类别时,所建议的方法能够将无监督设置视为监督设置的边界情况。在这种情况下,上述所有事物都是适用的并且有效的。异常检测模型的数量下跌为1。
[0116]
发送警报
[0117]
在已经训练了初始模型和用于数据漂移检测的模型之后,异常检测模型能够被部署并且以针对基于初始数据获得的参考异常分数来交叉检查新获得的异常分数的自动化方式监控异常分数。如先前所描述,如果新获得的异常分数分布与参考异常分数分布明显不同,那么检测数据分布漂移,并且能够发送训练了ai模型的警告(例如相应的经过训练的异常检测模型mn可能不再是可信的)。
[0118]
为了避免(不必要的)误报,建议了以下工作流程:
[0119]
·
在具有经过训练的al模型和异常检测模型的情况下,部署了这些模型
[0120]
·
开始数据流
[0121]
·
针对每个传入数据批次,应用上述方法并且获得新异常分数
[0122]
·
如果新获得的异常分数的分布按顺序明显不同于流数据的n个传入批次的参考分布,那么向用户警告发生了数据分布漂移。
[0123]
如果异常分数分布中的差异不按顺序发生或突然发生,那么能够忽略该差异并且将该差异视为异常值。
[0124]
与其他途径相比,所建议的方法提供了这些优点:
[0125]
1)为了在部署ai模型之后检测数据分布漂移,我们的解决方案不需要任何地面真值并且以完全自动化的方式执行检测。
[0126]
2)所建议的解决方案不集中于计算数据分布漂移的可能贡献者,而是采用数据集的所有维度,并且因此对多维数据集更稳健。此外,我们的解决方案与多个变量无关,并且可能与适当的构造特征一起利用。
[0127]
3)其他途径的方法为使用一维距离和高价运算来进行它们的计算。为了检测数据分布漂移,他们建议基于经验知识来手动设置阈值,这在具有大量误报或/和漏报方面具有缺点。另外的缺点是难以自动化的手动步骤。
[0128]
4)大多数所指示的竞争者正在电子商务区域或/和计算机视觉区域中操作,并且因此提供主要基于某些用例的解决方案。所建议的方法以完全自动化的方式大规模地适用于表状和时间序列数据以及有监督和无监督的设置。
[0129]
5)其他途径通常依赖于手工制作的阈值,这些阈值是用例和数据特定的并且可能导致大量的误报/漏报检测。
[0130]
6)所建议的方法是基于a1技术,并且以完全自动化的方式执行监控和决策。该途径替代了手动阈值监控,并且提供了用于缩放和概括性的空间。
[0131]
通常,所建议的方法提供:
[0132]
·
更好的性能和效率
[0133]
·
另外,能够通过执行统计测试来提高所建议的方法的稳健性
[0134]
·
对多维数据集中的使用更稳健,并且能够降低维度
[0135]
·
部署是完全自动化的
[0136]
·
运算上高效并且能够在任何合适的边缘设备上运行
[0137]
·
适合各种西门子产品和解决方案。
[0138]
在工业实施例中,所建议的方法和系统能够在例如用于生产设备的零件(例如印刷电路板、半导体、电子部件、机械部件、机器、设备、车辆或车辆的零件,诸如汽车、自行车、飞机、轮船等)的工业生产设施或能量生成或分布设施(通常为发电厂、变压器、开关装置等)的上下文中实现。作为实例,能够将所建议的方法和系统应用于在设备的生产期间的某些制造步骤(诸如铣削、研磨、焊接、形成、喷漆、切割等),从而例如在汽车的生产期间监控或甚至控制焊接过程。特别地,能够将所建议的方法和系统应用于在不同位置处执行相同任务的一个或若干工厂,由此输入数据能够源自于这些工厂中的一者或若干者,这能够允许特别好的数据库进一步改进训练模型和/或设备或工厂的分析、监控、操作和/或控制的质量。
[0139]
此处,输入数据能够源自于这种设施的设备,例如传感器、控制器等,并且能够应用所建议的方法和系统来改进对设备的分析、监控、操作和/或控制。为此,能够将训练功能嵌入合适的软件应用中,然后能够将该软件应用部署在设备或系统(例如it系统)上,使得软件应用能够用于所提及的目的。
[0140]
作为实例,设备输入数据能够用作输入数据,而设备输出数据能够用作输出数据。
[0141]
图2示出了由于数据分布移位而导致的模型在时间上的退化。在本文中,模型能够对应于相应的异常检测模型mn 130,其中,(异常检测)模型能够是训练模型。
[0142]
在理想情况下,例如基于所采集的数据训练的模型必须对传入数据流表现得极好。然而,分析模型随着时间而降级,并且在时间t1训练的模型可能在时间t2表现得更差。
[0143]
出于说明的目的,考虑了二维数据集的类别a与b之间的二进制分类。在时间t1,数据分析者训练能够在属于类别a(参见数据点164)或类别b(参见数据点166)中任一者的数据之间构建决策边界162的模型。在这种情况下,构建决策边界162对应于将这两个类别分开的实际边界160。在部署时,模型通常表现得极好。然而,在稍后的时间t2>t1时,传入数据流或输入数据消息140可能经历数据分布中的漂移,并且由此可能对模型的性能具有影响。在图2的右手侧能够看到这种现象:属于类别b的数据点166朝向右下角漂移,而属于类别a的数据点164在相反方向上漂移。因此,先前构建的决策边界162不对应于类别a和b的新数据分布,这是由于将两个类别分开的新的真实边界160'已经移动。因此,必须尽可能快地对分析模型进行再训练或更新。
[0144]
其中,所建议的途径的一个目标能够包括开发用于根据数据流(诸如传感器数据流或输入数据消息140)中的数据分布移位来检测训练模型(例如相应的异常检测模型mn 130)的性能下降或降低的方法。要注意,在一些实例中,高数据漂移单独并不意味着训练模型(例如相应的异常检测模型mn 130)的不良预测精度。最后可能需要将该漂移与旧模型处理数据漂移(即,测量当前精度)的能力相互关联。在一些实例中,一旦检测到性能下降或更大差异,数据分析者能够基于传入数据的新特征来对模型进行再训练。
[0145]
图3示出了用于二进制分类任务的示例性数据分布漂移检测(参见以上解释)。
[0146]
图4示出了比较异常分数的两个分布的示例性箱线图(参见以上解释)。
[0147]
图5示出了有助于在产品系统中提供警报和管理计算机软件产品的示例性系统的功能框图。
[0148]
能够将所图示的示例性系统的整体架构划分为开发(“dev”)、操作(“ops”)和布置在开发与操作之间的大数据架构。在本文中,dev和ops能够被理解为在devops中,组合了软件开发(dev)和it操作(ops)的实践集合。devops旨在缩短系统开发生命周期并且提供具有高软件质量的持续交付。作为实例,能够开发或细化上文所解释的异常检测模型,然后将异常检测模型嵌入所图示的系统的“dev”区域中的软件应用中,由此在所图示的系统的“ops”区域中操作软件应用的异常检测模型。整体构思是使得能够基于来自“ops”的操作数据来调整或细化异常检测模型或对应软件解决方案,该操作数据能够由“大数据架构”处理或加工,由此在“dev”区域中进行了调整或细化。
[0149]
在右下方,即,在“ops”区域中,示出了用于具有被称为“生产性牧场目录”的各种微服务的应用程序(诸如软件应用)的部署工具。这允许数据导入、数据导出、mqtt代理和数据监控器。生产性牧场目录是“生产性集”的一部分,该部分能够属于整个“数字服务架构”的操作侧。生产性牧场目录能够提供软件应用(“应用程序”),该软件应用能够被部署为云中的云应用或边缘设备(诸如在工业生产设施或能量生成或分布设施中使用的设备和机器)上的边缘应用(如上文详细地解释的)。微服务能够例如表示这种应用或被包括在这种应用中。对应应用正在其上运行的设备(或在相应的设备上运行的应用)能够将例如作为记录或原始数据(或例如输入数据)的数据(诸如传感器数据、控制数据等)递送到图4中被称作“大数据架构”的云存储装置。
[0150]
该输入数据能够用于整个数字服务架构的开发侧(“dev”),以检查异常检测模型(参见区块“软件和ai开发”中的区块“代码协调框架”中的“您的模型”)仍然是准确的还是需要进行修正(参见在确定的差异高于某个阈值的情况下确定差异并且修正异常检测模型)。在“软件和a1开发”区域中,能够存在模板和a1模型,并且可选地,能够执行新模型的训练。如果需要修正,那么异常检测模型被相应地修正并且在嵌入应用中的“自动化ci/cd流水线”(ci/cd=持续集成/持续交付或持续部署)期间被修正,该应用在被转移到整个数字服务架构的操作侧的保护集(上文所提及的)时能够被部署为云中的云应用或边缘设备上的边缘应用。
[0151]
自动化ci/cd流水线能够包括:
[0152]
·
构建“基础图像”和“基础应用程序”-》构建应用程序图像和应用程序
[0153]
·
单元测试:软件测试、机器学习模型测试
[0154]
·
集成测试(机器上的容器技术或集,例如kubernetes集)
[0155]
·
hw(=硬件)集成测试(在真实边缘设备/边缘框上部署)
[0156]
·
能够获得适合于在生产性集中释放/部署的新图像
[0157]
例如,如果传感器或设备被损坏,具有故障,通常需要进行更换,那么异常检测模型的所描述的更新或修正能够是必要的。此外,传感器和设备是老化的,使得有时可能需要新校准。这种事件能够产生不再可信但需要更新的异常检测模型。
[0158]
嵌入这种数字服务架构中的所建议的方法和系统的优点是异常检测模型的更新
能够与传感器或设备的替换一样快速地执行,例如,针对新异常检测模型和包括新异常检测模型的相应应用的编程和部署,也只需要15分钟的恢复时间。另外的优点是能够完全自动地执行所部署的异常检测模型和对应应用的更新。
[0159]
所描述的实例能够提供一种提供与分配给输入数据的异常分数相关的警报的高效方式,诸如使用异常检测模型来检测传入数据的分布漂移,从而使得能够驱动数字变换并且赋予机器学习应用影响并且甚至能够塑造过程的能力。本发明的一个重要方面贡献在于,其有助于确保这种应用在关于车间的高度易失性环境中的可信度。本发明能够通过提供监控和警报系统来支持处理该挑战,一旦机器学习应用不以其被训练的方式工作,该监控和警报系统有助于适当地反应。因此,所描述的实例通常能够通过提高计算机软件产品的可信度并且支持使其保持最新来降低计算机软件产品的所有权的总成本。输出数据的这种高效提供和计算机软件产品的管理能够在任何行业(例如航空航天和防务、汽车和运输、消费品和零售、电子器件和半导体、能源和公共事业、机械和重型装备、船舶或医疗设备和药品)中得到利用。输出数据的这种高效提供和计算机软件产品的管理也能够适用于面临可信的和最新的计算机软件产品的需要的客户。
[0160]
特别地,以上实例同样分别适用于在本专利文件中解释的被布置和配置成执行提供输出数据的计算机实现的方法的步骤的计算机系统100、对应计算机程序产品和对应计算机可读介质。
[0161]
现在参考图6,示出了有助于提供与分配给输入数据的异常分数相关的警报(诸如使用异常检测模型来检测传入数据的分布漂移)的方法600。该方法能够从602开始,并且该方法能够包括通过至少一个处理器的操作进行的若干动作。
[0162]
这些动作能够包括:接收与至少一个设备相关的输入数据的动作604,其中,输入数据包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1、
……
、n;使用n个异常检测模型mn来为与至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1、
……
、sn的动作606;将(经过训练的)异常检测模型mn应用于输入数据以生成输出数据的动作608,该输出数据适合于分析、监控、操作和/或控制相应的设备;为相应的传入数据批次x确定一方面至少n个可分离类别的确定的相应的异常分数s1、
……
、sn与另一方面n个异常检测模型mn(130)的给定的相应的异常分数s1、
……
、sn之间的差异的动作610。并且如果其间的相应的确定的差异大于差异阈值,那么:向用户、相应的设备和/或连接到相应的设备的it系统提供与确定的差异相关的警报的动作612。在614处,该方法能够结束。
[0163]
应当理解,方法600能够包括先前相对于提供与分配给输入数据的异常分数相关的警报(诸如使用异常检测模型来检测传入数据的分布漂移)的计算机实现的方法所讨论的其他动作和特征。
[0164]
例如,该方法还能够包括在较早传入数据批次xe的异常分数s1、
……
、sn与较晚传入数据批次x1的异常分数s1、
……
、sn之间的第二差异大于第二阈值的情况下确定输入数据的分布漂移的动作;和在确定的第二差异大于第二阈值的情况下向用户、相应的设备和/或连接到相应的设备的it系统提供与确定的分布漂移相关的报告的动作。
[0165]
还应当理解,在一些实例中,该方法还能够包括将训练数据批次xt分配给异常检测模型mn的至少n个可分离类别的动作;和为n个异常检测模型mn确定至少n个可分离类别的给定异常分数s1、
……
、sn的动作。
[0166]
在一些实例中,如果确定的精度值等于或大于精度阈值,那么该方法还能够在确定的差异小于差异阈值的情况下包括将n个异常检测模型mn嵌入软件应用中,以用于分析、监控、操作和/或控制至少一个设备的动作;和将软件应用部署在至少一个设备或连接到至少一个设备的it系统上,使得软件应用能够用于分析、监控、操作和/或控制至少一个设备的动作。
[0167]
在其他实例中,如果确定的差异大于差异阈值,那么该方法还能够包括修正相应的异常检测模型mn,使得使用相应的经修正的异常检测模型mn的确定的差异小于差异阈值的动作;用软件应用中的相应的经修正的异常检测模型mn替换相应的异常检测模型mn的动作;和将经修正的软件应用部署在至少一个设备或it系统上的动作。
[0168]
还应当理解,在一些实例中,该方法还能够在异常检测模型的修正花费比持续时间阈值更多的时间的情况下包括用备份软件应用替换所部署的软件应用的动作和使用备份软件应用来分析、监控、操作和/或控制至少一个设备的动作。
[0169]
在一些实例中,针对多个互连设备,该方法还能够包括将相应的n个检测模型mn嵌入相应的软件应用中以用于分析、监控、操作和/或控制相应的互连设备的动作;将相应的软件应用部署在相应的互连设备或连接到多个互连设备的it系统上,使得相应的软件应用能够用于分析、监控、操作和/或控制相应的互连设备的动作;-确定相应的异常检测模型的相应差异的动作;并且还能够在相应的确定的差异大于相应差异阈值的情况下包括向用户、相应的设备和/或自动化系统提供与确定的差异和相应的互连设备相关的警报的动作,对应的相应的软件应用用于针对该警报分析、监控、操作和/或控制相应的互连设备。
[0170]
如先前所讨论的,与这些方法相关联的动作(除任何所描述的手动动作外,诸如通过输入设备手动进行选择的动作)能够由一个或多个处理器进行。这种处理器能够被包括在一个或多个数据处理系统中,例如,该数据处理系统执行可操作以使这些动作由一个或多个处理器进行的软件部件。在示例性实施例中,这种软件部件能够包括对应于例程、子例程、程序、应用、模块、库、执行线程等的计算机可执行指令。另外,应当理解,软件部件能够用软件环境/语言/框架(诸如java、javascript、python、c、c#、c++)或能够产生被配置成进行本文中所描述的动作和特征的部件和图形用户界面的任何其他软件工具来编写和/或产生。
[0171]
图7示出了人工神经网络2000的实施例,该人工神经网络能够用于提供与分配给输入数据的异常分数相关的警报(诸如使用异常检测模型来检测传入数据的分布漂移)的上下文中。“人工神经网络”的替代术语是“神经网络”、“人工神经网”或“神经网”。
[0172]
人工神经网络2000包括节点2020、
……
、2032和边缘2040、
……
、2042,其中,每个边缘2040、
……
、2042是从第一节点2020、
……
、2032到第二节点2020、
……
、2032的定向连接。通常,第一节点2020、
……
、2032和第二节点2020、
……
、2032是不同节点2020、
……
、2032,第一节点2020、
……
、2032和第二节点2020、
……
、2032相同也是可能的。例如,在图6中,边缘2040是从节点2020到节点2023的定向连接,而边缘2042是从节点2030到节点2032的定向连接。从第一节点2020、
……
、2032到第二节点2020、
……
、2032的边缘2040、
……
、2042也被表示为第二节点2020、
……
、2032的“输入边缘”和第一节点2020、
……
、2032的“输出边缘”。
[0173]
在该实施例中,人工神经网络2000的节点2020、
……
、2032能够被布置在层
2010、
……
、2013中,其中,这些层能够包括由节点2020、
……
、2032之间的边缘2040、
……
、2042引入的固有顺序。特别地,边缘2040、
……
、2042能够仅存在于节点的邻近层之间。在所显示的实施例中,存在仅包括没有传入边缘的节点2020、
……
、2022的输入层2010、仅包括没有输出边缘的节点2031、2032的输出层2013以及在输入层2010与输出层2013之间的隐藏层2011、2012。通常,能够任意地选择隐藏层2011、2012的数量。输入层2010内的节点2020、
……
、2022的数量通常与神经网络的输入值的数量相关,而输出层2013内的节点2031、2032的数量通常与神经网络的输出值的数量相关。
[0174]
特别地,能够将(实)数作为值分配给神经网络2000的每个节点2020、
……
、2032。此处,x(n)i表示第n层2010、
……
、2013的第i节点2020、
……
、2032的值。输入层2010的节点2020、
……
、2022的值等效于神经网络2000的输入值,输出层2013的节点2031、2032的值等效于神经网络2000的输出值。此外,每个边缘2040、
……
、2042能够包括作为实数的权重,特别地,该权重是区间[-1,20]内或区间[0,20]内的实数。此处,w
(m,n)i,j
表示第m层2010、
……
、2013的第i节点2020、
……
、2032与第n层2010、
……
、2013的第j节点2020、
……
、2032之间的边缘的权重。此外,针对权重w
(n,n+1)i,j
限定了缩写w
(n)i,j

[0175]
特别地,为了计算神经网络2000的输出值,输入值通过神经网络传播。特别地,能够通过下式,基于第n层2010、
……
、2013的节点2020、
……
、2032的值来计算第(n+1)层2010、
……
、2013的节点2020、2032的值:
[0176][0177]
在本文中,函数f是转移函数(另外的术语是“激活函数”)。已知的转移函数是阶跃函数、s型函数(例如逻辑函数、广义逻辑函数、双曲正切、反正切函数、误差函数、平滑阶跃函数)或整流器函数。该转移函数主要用于归一化目的。
[0178]
特别地,这些值通过神经网络逐层地传播,其中,输入层2010的值由神经网络2000的输入给定,其中,能够基于神经网络的输入层2010的值来计算第一隐藏层2011的值,其中,能够基于第一隐藏层2011的值来计算第二隐藏层2012的值等。
[0179]
为了设置边缘的值w
(m,n)i,j
。必须使用训练数据来训练神经网络2000。特别地,训练数据包括训练输入数据和训练输出数据(表示为ti)。针对训练步骤,将神经网络2000应用于训练输入数据以生成计算出的输出数据。特别地,训练数据和计算出的输出数据包括多个值,所述数量等于输出层的节点的数量。
[0180]
特别地,计算出的输出数据与训练数据之间的比较用于递归地调整神经网络2000内的权重(反向传播算法)。特别地,权重根据下式而改变:
[0181][0182]
其中,y是学习速率,并且能够将数字δ
(n)j
递归地计算为:
[0183][0184]
基于δ(n+1)j,如果第(n+1)层不是输出层,并且
[0185][0186]
如果第(n+1)层是输出层2013,其中,f'是激活函数的一阶导数,并且y
(n+1)j
是输出
层2013的第j节点的比较训练值。
[0187]
图8显示了卷积神经网络3000的实施例,该卷积神经网络能够用于提供与分配给输入数据的异常分数相关的警报(诸如使用异常检测模型来检测传入数据的分布漂移)的上下文中。
[0188]
在所显示的实施例中,卷积神经网络包括3000、输入层3010、卷积层3011、池化层3012、完全连接层3013和输出层3014。可替代地,卷积神经网络3000能够包括若干卷积层3011、若干池化层3012和若干完全连接层3013以及其他类型的层。能够任意地选择层的顺序,通常将完全连接层3013用作输出层3014之前的最终层。
[0189]
特别地,在卷积神经网络3000内,能够将一个层3010、
……
、3014的节点3020、
……
、3024视为布置为d维矩阵或d维图像。特别地,在二维情况下,在第n层3010、
……
、3014中用i和j编索引的节点3020、
……
、3024的值能够被表示为x
(n)[i,j]
。然而,一个层3010、
……
、3014的节点3020、
……
、3024的布置对在卷积神经网络3000内执行的计算没有影响,因而,这是由于这些仅由边缘的结构和权重给定。
[0190]
特别地,卷积层3011的特征在于基于一定数量的内核来形成卷积操作的传入边缘的结构和权重。特别地,选择传入边缘的结构和权重,使得基于前一层3010的节点3020的值x
(n-1)
来将卷积层3011的节点3021的值x
(n)k
计算为卷积x
(n)k
=kk*x
(n-1)
,其中,卷积*在二维情况下被限定为:
[0191][0192]
此处,第k内核kk是d维矩阵(在该实施例中为二维矩阵),与节点3020、
……
、3024的数量相比,该d维矩阵通常较小(例如3
×
3矩阵或5
×
5矩阵)。特别地,这意味着传入边缘的权重不是独立的,而是被选择为使得它们产生所述卷积方程。特别地,针对作为3
×
3矩阵的内核,仅存在9个独立权重(内核矩阵的每个条目对应于一个独立权重),而与相应层3010、
……
、3014中的节点3020、
……
、3024的数量无关。特别地,针对卷积层3011,卷积层中的节点3021的数量等效于前一层3010中的节点3020的数量乘以内核的数量。
[0193]
如果前一层3010的节点3020被布置为d维矩阵,那么使用多个内核能够被解释为添加另外的维度(表示为“深度”维度),使得卷积层3021的节点3021被布置为(d+1)维矩阵。如果前一层3010的节点3020已经被布置为包括深度维度的(d+1)维矩阵,那么使用多个内核能够被解释为沿着深度维度扩展,使得卷积层3021的节点3021也被布置为(d+1)维矩阵,其中,(d+1)维矩阵相对于深度维度的大小是大于前一层3010中的内核的数量的因子。
[0194]
使用卷积层3011的优点是输入数据的空间局部关联能够通过在相邻层的节点之间实施局部连接性模式来进行利用,特别是通过每个节点仅连接到前一层的节点的小区域。
[0195]
在所显示的实施例中,输入层3010包括布置为二维6
×
6矩阵的36个节点3020。卷积层3011包括布置为两个二维6
×
6矩阵的72个节点3021,这两个矩阵中的每一个都是输入层的值与内核卷积的结果。等效地,卷积层3011的节点3021能够被解释为布置为三维6
×6×
2矩阵,其中,最终维度是深度维度。
[0196]
池化层3012的特征能够在于传入边缘的结构和权重以及其节点3022的激活函数,它们基于非线性池化函数f来形成池化操作。例如,在二维情况下,能够基于前一层3011的
节点3021的值x
(n-1)
来将池化层3012的节点3022的值x
(n)
计算为:
[0197]
x
(n)
[i,j]=f(x
(n-1)
[id1,jd2],...,x
(n-1)
[id1+d
1-1,jd2+d
2-1])
[0198]
换句话说,通过使用池化层3012,能够通过用单个节点3022替换前一层3011中的邻近节点3021的数量d1
·
d2来减少节点3021、3022的数量,该单个节点被计算为池化层中的邻近节点的所述数量的值的函数。特别地,池化函数f能够是最大函数,平均值或l2范数。特别地,针对池化层3012,传入边缘的权重是固定的并且不通过训练来进行修改。
[0199]
使用池化层3012的优点是减少节点3021、3022的数量和参数的数量。这导致网络中的运算量减少并且导致对过度拟合的控制。
[0200]
在所显示的实施例中,池化层3012是最大池化,从而仅用一个节点替换四个邻近节点,值是四个邻近节点的值中的最大值。将最大池化应用于先前层的每个d维矩阵;在该实施例中,将最大池化应用于两个二维矩阵中的每一个二维矩阵,从而将节点的数量从72减少到18。
[0201]
完全连接层3013的特征能够在于以下事实:存在先前层3012的节点3022与完全连接层3013的节点3023之间的大部分边缘(特别地所有边缘),并且其中,能够单独地调整边缘中的每一个的权重。
[0202]
在该实施例中,完全连接层3013的前一层3012的节点3022被显示为二维矩阵并且另外被显示为非相关节点(指示为节点线,其中,为了更好的可呈现性而减少了节点的数量)。在该实施例中,完全连接层3013中的节点3023的数量等于前一层3012中的节点3022的数量。可替代地,节点3022、3023的数量能够不同。
[0203]
此外,在该实施例中,通过将softmax函数应用于前一层3013的节点3023的值来确定输出层3014的节点3024的值。通过应用softmax函数,输出层的所有节点3024的值之和是1,并且输出层的所有节点3024的所有值是0与1之间的实数。特别地,如果使用卷积神经网络3000来对输入数据进行分类,那么输出层的值能够被解释为输入数据落入不同类别中的一者的概率。
[0204]
卷积神经网络3000还能够包括relu(“整流线性单元”的首字母缩略词)层。特别地,在relu层中所包含的节点的数量和节点的结构等效于在前一层中所包含的节点的数量和节点的结构。特别地,通过将整流函数应用于前一层的对应节点的值来计算relu层中的每个节点的值。整流函数的实例是f(x)=max(0,x)、正切双曲函数或s型函数。
[0205]
特别地,能够基于反向传播算法来训练卷积神经网络3000。为了防止过度拟合,能够使用正则化方法,例如节点3020、
……
、3024的信息漏失、随机池化、人工数据的使用,基于l1或l2范数的权重衰减或最大范数约束。
[0206]
重要的是要注意,虽然本公开包括在完全功能系统和/或一系列动作的上下文中的描述,但本领域的技术人员应当理解,本公开的机制和/或所描述的动作的至少部分能够以计算机可执行指令的形式分布,该计算机可执行指令包含在呈各种形式中的任一者的非暂时性机器可用、计算机可用或计算机可读介质内,并且无论用于实际上进行分布的特定类型的指令或数据承载介质或存储介质如何,本公开同样适用。非暂时性机器可用/可读或计算机可用/可读介质的实例包括:rom、eprom、磁带、软盘、硬盘驱动器、ssd、闪速存储器、cd、dvd和蓝光光盘。计算机可执行指令能够包括例程、子例程、程序、应用、模块、库、执行线程等。更进一步地,该方法的动作结果能够存储在计算机可读介质中,显示在显示设备上
等。
[0207]
图9示出了数据处理系统1000(也被称为计算机系统)的框图,其中,实施例能够被实现为例如产品系统的一部分和/或由软件可操作地配置成或以其他方式配置成执行如本文中所描述的过程的其他系统。数据处理系统1000能够包括例如上文所提及的计算机或it系统或数据处理系统100。所描绘的数据处理系统包括至少一个处理器1002(例如cpu),该处理器能够连接到一个或多个桥接器/控制器/总线1004(例如北桥接器、南桥接器)。例如,总线1004中的一者能够包括一个或多个i/o总线,诸如pci express总线。在所描绘的实例中还连接到各种总线的能够包括主存储器1006(ram)和图形控制器1008。图形控制器1008能够连接到一个或多个显示设备1010。还应当注意,在一些实施例中,一个或多个控制器(例如图形、南桥接器)能够与cpu集成(在相同芯片或管芯上)。cpu架构的实例包括ia-32、x86-64和arm处理器架构。
[0208]
连接到一个或多个总线的其他外围设备能够包括通信控制器1012(以太网控制器、wifi控制器、蜂窝控制器),该通信控制器可操作以连接到局域网(lan)、广域网(wan)、蜂窝网络和/或其他有线或无线网络1014或通信装备。
[0209]
连接到各种总线的其他部件能够包括一个或多个i/o控制器1016,诸如usb控制器、蓝牙控制器和/或专用音频控制器(连接到扬声器和/或麦克风)。还应当理解,各种外围设备能够(经由各种端口和连接)连接到i/o控制器,该i/o控制器包括输入设备1018(例如键盘、鼠标、指针、触摸屏、触摸板、绘图板、轨迹球、按钮、小键盘、游戏控制器、游戏板、相机、麦克风、扫描仪、捕获运动手势的运动感测设备)、输出设备1020(例如打印机、扬声器)或可操作以向数据处理系统提供输入或从数据处理系统接收输出的任何其他类型的设备。此外,应当理解,被称为输入设备或输出设备的许多设备能够提供与数据处理系统通信的输入和接收与数据处理系统通信的输出。例如,处理器1002能够集成到壳体(诸如平板)中,该壳体包括用作输入和显示设备的触摸屏。另外,应当理解,一些输入设备(诸如膝上型计算机)能够包括多个不同类型的输入设备(例如触摸屏、触摸板、键盘)。此外,应当理解,连接到i/o控制器1016的其他外围设备1022能够包括被配置成与数据处理系统通信的任何类型的设备、机器或部件。
[0210]
连接到各种总线的附加部件能够包括一个或多个存储控制器1024(例如sata)。存储控制器能够连接到存储设备1026(诸如一个或多个存储驱动器和/或任何相关联的可移动介质),该存储设备能够是任何合适的非暂时性机器可用或机器可读存储介质。实例包括非易失性设备、易失性设备、只读设备、可写入设备、rom、eprom、磁带存储装置、软盘驱动器、硬盘驱动器、固态驱动器(ssd)、闪速存储器、光盘驱动器(cd、dvd、bluray)和其他已知光学、电气或磁存储设备驱动器和/或计算机介质。此外,在一些实例中,存储设备(诸如ssd)能够直接连接到i/o总线1004,诸如pci express总线。
[0211]
根据本公开的实施例的数据处理系统能够包括操作系统1028、软件/固件1030和数据存储库1032(其能够存储在存储设备1026和/或存储器1006上)。这种操作系统能够采用命令行接口(cli)外壳和/或图形用户界面(gui)外壳。gui外壳准许在图形用户界面中同时呈现多个显示窗口,其中,每个显示窗口向不同应用或相同应用的不同实例提供接口。图形用户界面中的光标或指针能够由用户通过指向设备(诸如鼠标或触摸屏)来操纵。能够改变光标/指针的位置和/或能够生成事件(诸如点击鼠标按钮或触摸触摸屏)以致动期望响
应。能够用于数据处理系统中的操作系统的实例能够包括microsoft windows、linux、unix、ios和android操作系统。此外,数据存储库的实例包括数据文件、数据表、关系数据库(例如oracle、microsoft sql服务器)、数据库服务器或能够存储可由处理器检索的数据的任何其他结构和/或设备。
[0212]
通信控制器1012能够连接到网络1014(不是数据处理系统1000的一部分),该网络能够是本领域的技术人员已知的任何公共或专用数据处理系统网络或网络的组合,包括互联网。数据处理系统1000能够通过网络1014与一个或多个其他数据处理系统(诸如服务器1034(也不是数据处理系统1000的一部分))通信。然而,可替代数据处理系统能够对应于被实现为分布式系统的一部分的多个数据处理系统,在该分布式系统中,与若干数据处理系统相关联的处理器能够通过一个或多个网络连接进行通信,并且能够共同执行被描述为由单个数据处理系统执行的任务。因此,应当理解,当提及数据处理系统时,这种系统能够跨若干数据处理系统实现,该若干数据处理系统组织在经由网络彼此通信的分布式系统中。
[0213]
此外,术语“控制器”意指控制至少一个操作的任何设备、系统或其部分,无论这种设备是以硬件、固件、软件实现还是以该硬件、固件、软件中的至少两者的某种组合实现。应当注意,与任何特定控制器相关联的功能性能够是集中式的或分布式的,无论是本地地还是远程地。
[0214]
此外,应当理解,数据处理系统能够被实现为虚拟机架构或云环境中的虚拟机。例如,处理器1002和相关联的部件能够对应于在一个或多个服务器的虚拟机环境中执行的虚拟机。虚拟机架构的实例包括vmware esci、microsoft hyper-v、xen和kvm。
[0215]
本领域的普通技术人员应当理解,针对数据处理系统描绘的硬件能够针对特定实现而变化。例如,该实例中的数据处理系统1000能够对应于计算机、工作站、服务器、pc、笔记本计算机、平板、移动电话和/或任何其他类型的装置/系统,该装置/系统可操作以处理数据并且进行本文中所描述的与本文中所讨论的数据处理系统、计算机、处理器和/或控制器的操作相关联的功能性和特征。所描绘的实例仅出于说明的目的而提供,并且并不意味着暗示关于本公开的架构限制。
[0216]
此外,应当注意,本文中所描述的处理器能够位于远离本文中所描述的显示器和输入设备的服务器中。在这种实例中,所描述的显示设备和输入设备能够被包括在通过有线或无线网络(其能够包括互联网)与服务器(和/或在服务器上执行的虚拟机)通信的客户端设备中。在一些实施例中,这种客户端设备例如能够执行远程桌面应用,或能够对应于用服务器进行远程桌面协议的门户设备,以便将输入从输入设备发送到服务器并且从服务器接收视觉信息以通过显示设备进行显示。这种远程桌面协议的实例包括teradici的pcoip、microsoft的rdp和rfb协议。在这种实例中,本文中所描述的处理器能够对应于在服务器的物理处理器中执行的虚拟机的虚拟处理器。
[0217]
如本文中所使用,术语“部件”和“系统”旨在涵盖硬件、软件或硬件与软件的组合。因此,例如,系统或部件能够是过程、在处理器上执行的过程或处理器。另外,部件或系统能够定位于单个设备上或分布在若干设备上。
[0218]
此外,如本文中所使用,处理器对应于经由硬件电路、软件和/或固件配置以处理数据的任何电子设备。例如,本文中所描述的处理器能够对应于微处理器、cpu、fpga、asic或任何其他集成电路(ic)或能够在数据处理系统中处理数据的其他类型的电路中的一者
或多者(或组合),该其他类型的电路能够具有控制器板、计算机、服务器、移动电话和/或任何其他类型的电子设备的形式。
[0219]
本领域的技术人员应当认识到,为了简单和清楚起见,在本文中没有描绘或描述适合于本公开的所有数据处理系统的完整结构和操作。相反,仅描绘和描述了本公开所特有的或对理解本公开所必需的数据处理系统。数据处理系统1000的其余构造和操作能够符合本领域中已知的各种当前实现和实践中的任一者。
[0220]
此外,应当理解,除非在一些实例中明确地限制,否则本文中所使用的字词或短语应当被广泛地进行解释。例如,术语“包括(comprising/comprise)”以及其派生词意味着包括但不限于。除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。另外,如本文中所使用的术语“和/或”是指并且涵盖相关联的所列项中的一者或多者的任何和所有可能的组合。除非上下文另有明确指示,否则术语“或”是包括性的,其意味着和/或。短语“与
……
相关联”和“与其相关联”以及其派生词能够意指包括、被包括在
……
内、与
……
互连、包含、被包含在
……
内、连接到或与
……
连接、耦合到或与
……
耦合、可与
……
通信、与
……
协作、交错、并置、接近于、绑定到或与
……
绑定、具有、具有其特性等。
[0221]
此外,尽管在本文中能够使用术语“第一”、“第二”、“第三”等来描述各种元件、功能或动作,但这些元件、功能或动作不应受这些术语限制。相反,这些数字形容词用于区分彼此不同的元件、功能或动作。例如,在不脱离本公开的范围的情况下,第一元件、功能或动作能够被称为第二元件、功能或动作,并且类似地,第二元件、功能或动作能够被称为第一元件、功能或动作。
[0222]
此外,诸如“处理器被配置成”进行一个或多个功能或过程的短语能够意指处理器可操作地被配置成或以可操作方式被配置成经由软件、固件和/或有线电路进行功能或过程。例如,被配置成进行功能/过程的处理器能够对应于正在执行软件/固件的处理器,该处理器被编程为使处理器进行功能/过程和/或能够对应于在存储器或存储装置中具有软件/固件的处理器,该存储器或存储装置可供处理器执行以进行功能/过程。还应当注意,被“配置成”进行一个或多个功能或过程的处理器还能够对应于被专门制造或“接通”以进行这些功能或过程的处理器电路(例如asic或fpga设计)。另外,在被配置成进行多于一个功能的元件(例如处理器)之前的短语“至少一个”能够对应于各自进行功能的一个或多个元件(例如处理器),并且还能够对应于分别进行一个或多个不同功能中的不同功能的元件(例如处理器)中的两者或更多者。
[0223]
此外,除非上下文另有明确指示,否则术语“相邻于”能够意指一个元件与另外的元件相对接近但不接触;或意指该元件与另外的部分接触。
[0224]
虽然已经详细地描述了本公开的示例性实施例,但本领域的技术人员应当理解,在不脱离本公开的最广泛形式的主题和范围的情况下,能够对本文中所公开的内容进行各种改变、替换、变化和改进。
[0225]
本专利文件中的描述不应被解读为暗示任何特定元件、步骤、动作或功能是必需的元素,其必须被包括在权利要求的范围中:专利主题的范围仅由所允许的权利要求限定。

技术特征:


1.一种计算机实现的方法,所述方法包括:-接收与至少一个设备(142)相关的输入数据(140),其中,所述输入数据(140)包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1,
……
,n;-使用n个异常检测模型mn(130)来为与所述至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1,
……
,sn;-将所述异常检测模型mn(130)应用于所述输入数据(140)以生成输出数据(152),所述输出数据(152)适合于分析、监控、操作和/或控制相应的设备(142);-为所述相应的传入数据批次x确定一方面用于所述至少n个可分离类别的确定的相应的异常分数s1,
……
,sn与另一方面所述n个异常检测模型mn(130)的给定的相应的异常分数s1,
……
,sn之间的差异;并且-如果用于所述至少n个可分离类别的确定的相应的异常分数与所述n个异常检测模型的给定的相应的异常分数之间的相应的确定的差异大于差异阈值:向用户、所述相应的设备(142)和/或连接到所述相应的设备(142)的it系统提供与确定的差异相关的警报(150)。2.根据权利要求1所述的计算机实现的方法,其中,所述输入数据(140)经历涉及确定的差异的增加的分布漂移。3.根据前述权利要求中任一项所述的计算机实现的方法,所述方法还包括:-如果较早的传入数据批次xe的所述异常分数s1,
……
,sn与较晚的传入数据批次x1的所述异常分数s1,
……
,sn之间的第二差异大于第二阈值,那么确定所述输入数据(140)的分布漂移;以及-如果确定的第二差异大于第二阈值,那么向用户、所述相应的设备(142)和/或连接到所述相应的设备(142)的it系统提供与确定的分布漂移相关的报告。4.根据前述权利要求中任一项所述的计算机实现的方法,所述方法还包括:-将训练数据批次xt分配给所述异常检测模型mn(130)的所述至少n个可分离类别;以及-为n个所述异常检测模型mn(130)确定所述至少n个可分离类别的给定异常分数s1,
……
,sn。5.根据前述权利要求中任一项所述的计算机实现的方法,其中,n=1。6.根据前述权利要求中任一项所述的计算机实现的方法,所述方法还包括,如果确定的差异小于所述差异阈值:-将所述n个异常检测模型mn嵌入软件应用中,以用于分析、监控、操作和/或控制所述至少一个设备(142);以及-将所述软件应用部署在所述至少一个设备(142)上或部署在连接到所述至少一个设备(142)的it系统处,使得所述软件应用能够用于分析、监控、操作和/或控制所述至少一个设备(142)。7.根据权利要求6所述的计算机实现的方法,所述方法还包括,如果确定的差异大于所述差异阈值:-修正相应的异常检测模型mn(130),使得使用相应的经修正的异常检测模型mn(130)
的确定的差异小于所述差异阈值;-利用所述软件应用中的所述相应的经修正的异常检测模型mn(130)替换所述相应的异常检测模型mn(130);以及-将经修正的软件应用部署在所述至少一个设备(142)或所述it系统上。8.根据权利要求6所述的计算机实现的方法,所述方法还包括,如果所述异常检测模型的修正花费比持续时间阈值更多的时间:-利用备份软件应用替换所部署的软件应用;以及-使用所述备份软件应用来分析、监控、操作和/或控制所述至少一个设备(142)。9.根据前述权利要求中任一项所述的计算机实现的方法,所述方法还包括针对多个互连设备(142):-将相应n个检测模型mn(130)嵌入相应的软件应用中,以用于分析、监控、操作和/或控制相应的互连设备(142);-将所述相应的软件应用部署在所述相应的互连设备(142)上或部署在连接到所述多个互连设备(142)的it系统上,使得所述相应的软件应用能够用于分析、监控、操作和/或控制所述相应的互连设备(142);-确定所述相应的异常检测模型的相应的差异;以及-如果相应的、确定的差异大于相应的差异阈值:向用户、所述相应的设备(142)和/或自动化系统提供与确定的差异和所述相应的互连设备(142)相关的警报(150),对应的相应的软件应用用于针对所述警报进行分析、监控、操作和/或控制所述相应的互连设备(142)。10.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述相应的设备(142)是生产机器、自动化设备、传感器、生产监控设备、车辆或生产机器、自动化设备、传感器、生产监控设备、车辆的任何组合中的任一者。11.一种系统(100),尤其是it系统,所述系统包括:-第一接口(170),所述第一接口被配置用于接收与至少一个设备(142)相关的输入数据(140),其中,所述输入数据(140)包括与至少n个可分离类别相关的传入数据批次x,其中,n∈1,
……
,n;-计算单元(124),所述计算单元被配置用于-使用n个异常检测模型mn(130)来为与所述至少n个可分离类别相关的相应的传入数据批次x确定相应的异常分数s1,
……
,sn;-将所述异常检测模型mn(130)应用于所述输入数据(140)以生成输出数据(152),所述输出数据(152)适合于分析、监控、操作和/或控制相应的设备(142);-为所述相应的传入数据批次x确定一方面用于所述至少n个可分离类别的确定的相应的异常分数s1,
……
,sn与另一方面所述n个异常检测模型mn(130)的给定的相应的异常分数s1,
……
,sn之间的差异;以及-第二接口(172),所述第二接口被配置用于在用于所述至少n个可分离类别的确定的相应的异常分数与所述n个异常检测模型的给定的相应的异常分数之间的相应的确定的差异大于差异阈值的情况下,向用户、所述相应的设备(142)和/或连接到所述相应的设备(142)的it系统提供与确定的差异相关的警报。
12.一种计算机程序产品,所述计算机程序产品包括计算机程序代码,所述计算机程序代码在被系统(100)、尤其it系统执行时,使所述系统(100)进行根据权利要求1至10中任一项所述的方法。13.一种计算机可读介质,所述计算机可读介质包括计算机程序代码,所述计算机程序代码在被系统(100)、尤其it系统执行时,使所述系统(100)进行根据权利要求1至10中任一项所述的方法。

技术总结


为了改进地提供与分配给输入数据(140)的异常分数相关的警报,诸如使用异常检测模型(130)来检测传入数据(140)的分布漂移,建议了以下计算机实现的方法:接收与至少一个设备(142)相关的输入数据(140),其中,输入数据(140)包括与至少N个可分离类别相关的传入数据批次X,其中,n∈1,


技术研发人员:

罗曼

受保护的技术使用者:

西门子股份公司

技术研发日:

2021.06.30

技术公布日:

2023/3/28

本文发布于:2024-09-23 04:29:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/82680.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   异常   模型   设备
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议