首页 / 利用未被标记的传感器数据对工业系统中的罕见故障的自动实时检测、预测和阻止

利用未被标记的传感器数据对工业系统中的罕见故障的自动实时检测、预测和阻止实质审查 发明

技术领域

[0001] 本公开总体上涉及工业系统,更具体地,涉及利用未被标记的传感器数据对工业系统中的罕见故障的自动实时检测、预测和阻止。

相关背景技术

[0002] 本文描述的工业系统包括操作复杂系统的大多数行业,包括但不限于制造业、主题公园、医院、机场、公共设施、采矿、油气、仓库和运输系统。
[0003] 两个主要故障类别由故障在故障时间方面离其症状有多久来定义。快速类型的故障涉及在时间方面接近的症状和故障,例如传送带上的过载故障。缓慢(或慢性)类型的故障涉及比故障早很久(或远早于故障)的症状。这种类型的故障通常具有较宽的负面影响并且可能使整个系统关闭。这种类型的故障可涉及坝上的断裂和裂纹,或由于金属疲劳引起的断裂。
[0004] 复杂系统中的故障是罕见的,但是这种故障的成本在财务成本(例如,操作、维护、修理、物流等)、信誉成本(例如,营销、市场份额、销售、质量等)、人力成本(例如,调度、技能集合等)以及责任成本(例如,安全性、健康等)方面可能是巨大的。

具体实施方式

[0031] 下面的详细描述提供了本申请的附图和示例实现方式的细节。为了清楚起见,省略了附图之间的冗余元件的附图标记和描述。在整个描述中使用的术语作为示例提供,并不旨在是限制性的。例如,术语“自动”的使用可包括全自动实现方式或包括对实现方式的某些方面的用户或管理员控制的半自动实现方式,这取决于实践本申请的实现方式的本领域的普通技术人员所需的实现方式。选择可以由用户通过用户界面或其他输入装置进行,或者可以通过所需算法来实现。可以单独地或组合地使用本文描述的示例实现方式,并且可以根据所需的实现方式通过任何手段来实现示例实现方式的功能。
[0032] 为了解决相关技术的问题,示例实现方式涉及如下几种技术。
[0033] 利用监督学习技术解决无监督学习任务:示例实现方式涉及通常在监督学习模型中可用的用于使模型评估、特征选择和可解释AI自动化的通用技术,来解决无监督学习任务。
[0034] 故障检测:示例实现方式利用异常检测模型使手动过程自动化以准确、高效和有效地检测故障;利用所引入的通用框架和解决方案架构来应用监督学习技术(特征选择、模型选择和可解释AI)以优化和解释异常检测模型。
[0035] 故障预测:示例实现方式引入用于导出最优特征窗口内的信号/特征并且通过使用导出的特征和历史故障来在给定所需响应时间的情况下在最优故障窗口内预测罕见故障的技术。
[0036] 故障阻止:示例实现方式引入用于识别预测故障的根本原因,通过结合领域知识来使故障补救建议自动化,并且利用优化的数据驱动方法来抑制警报的技术。
[0037] 图1示出了根据示例实现方式的用于检测、预测和阻止工业系统中的罕见故障的解决方案架构。
[0038] 传感器数据100:收集来自多个传感器的时间序列数据,该时间序列数据将是该解决方案中的输入。时间序列数据是未被标记的,这意味着不需要手动过程来给传感器数据做标记或加标签以指示每个数据点是否对应于故障。
[0039] 故障检测110涉及被配置为基于输入的传感器数据检测故障的以下组件。特征工程111用于导出将用于构建故障检测模型和故障预测模型的特征/信号。该组件涉及三个子组件:传感器选择、特征提取和特征选择。故障检测112被配置为利用异常检测技术来检测工业系统中的罕见故障。检测到的罕见故障被用作构建故障预测模型的目标。检测到的历史罕见故障也用于形成构建故障预测模型的特征。
[0040] 故障预测120涉及被配置为利用上述特征和检测到的故障来预测故障的以下组件。特征变换器121将来自特征工程模块的特征和检测到的故障变换为可以由长短期记忆(LSTM)自动编码器和LSTM故障预测模块使用的格式。自动编码器122用于对从特征工程组件111导出的特征和检测到的罕见故障进行编码,以去除时间序列数据中的冗余信息。被编码的特征保持时间序列数据中的信号,并且将用于构建故障预测模型。故障预测模块123涉及具有LSTM网络架构的深度递归神经网络(RNN)模型,该模型用于利用被编码的特征(作为特征)、原始特征(作为目标)和检测到的故障(作为目标)构建故障预测模型。预测到的故障124是故障预测模块123的一个输出,该输出被表示为指示是故障的可能性的分数。预测到的特征125是故障预测模块123的另一个输出,该输出是具有与特征工程模块111的输出格式相同的一组特征。检测到的故障126是通过将故障检测模型应用于预测到的特征125并生成检测到的故障分数的输出。集成故障127将预测到的故障124和检测到的故障126的输出集成以形成单个故障分数。可以使用不同的集成技术。例如,预测到的故障125和检测到的故障126的平均值可以用作单个故障分数。
[0041] 故障阻止130涉及被配置为识别根本原因、使补救建议自动化和抑制警报的以下组件。进行根本原因分析131以自动确定预测到的故障的根本原因。补救建议132被配置为通过结合领域知识来自动生成针对预测到的故障的补救动作。在示例实现方式中,生成警报以通知操作者,使得他们可以基于故障的根本原因来补救或避免故障。警报抑制133被配置为抑制警报以避免淹没操作者的警报队列,这通过自动化数据驱动优化技术来完成。警报134是解决方案的最终输出,其包括预测到的故障分数、根本原因和补救建议。
[0042] 在下文中,详细讨论解决方案架构中的每个组件。首先,描述用于通过使用监督学习技术来解决无监督学习任务的通用框架和解决方案架构。该框架形成整个解决方案的基础。
[0043] 如本文所述,描述用于通过使用监督学习技术来解决无监督学习任务的通用框架和解决方案架构。无监督学习任务意味着数据不包括目标或标记信息。无监督学习任务可以包括聚类、异常检测等。监督学习技术包括通过超参数优化的模型选择、特征选择和可解释AI。
[0044] 图2示出了根据示例实现方式的用于模型选择的示例工作流程。根据图2描述了用于应用监督学习的模型选择技术来选择(一个或多个)最佳无监督学习模型的解决方案架构、集成模型如何工作以及最后该解决方案架构背后的基本原理。
[0045] 首先,给定数据集和无监督学习问题,示例实现方式为给定的问题和数据集找到最佳无监督学习模型。第一步是从给定的数据集导出特征,这是通过特征工程模块111来完成的。
[0046] 接下来,手动选择若干无监督学习模型算法,并且也手动选择用于每个模型算法的若干参数集,如300处所示。模型算法和参数集的每个组合将用于根据从图2所示的特征工程步骤导出的特征构建模型。然而,由于无监督学习任务的性质,不存在可用于测量模型表现如何的基本事实。一些无监督学习模型(如群集模型)可具有群集算法特有的一些度量,这些度量可用于测量模型的表现。然而,这样的度量不够通用以至于无法应用于所有无监督学习模型。
[0047] 示例实现方式涉及用于通过将监督学习模型301堆叠在无监督学习模型之上来评估模型表现如何的通用解决方案。对于每个无监督学习模型,将无监督学习模型应用于特征或数据点以获取无监督结果。这种无监督结果可以涉及每个数据点属于哪个聚类以用于聚类问题,或者数据点是否指示异常以用于异常检测问题,等等。
[0048] 这样的结果和特征将是用于监督集成模型的输入,在该监督集成模型中,来自无监督学习模型的特征将被用作监督学习模型的特征;来自无监督学习模型的结果将被用作监督学习模型的目标。可以通过比较目标(来自无监督学习模型的结果)和来自监督集成模型的预测结果来评估监督集成模型。基于这样的评估结果,由此可以识别哪个监督集成模型可以产生最佳评估结果。
[0049] 然后,示例实现方式可以识别哪个无监督学习模型对应于最佳评估结果,并将该模型作为具有最佳模型参数集的最佳无监督学习模型,并且在302处输出模型。
[0050] 图3示出了根据示例实现方式的用于集成监督学习模型以训练、选择和集成监督学习模型的解决方案架构的示例实现方式。图2中的每个“集成模型xx”由图3表示。
[0051] 首先,示例实现方式训练模型。手动选择若干监督学习模型算法,并且也手动选择用于每个模型算法的若干参数集。
[0052] 接下来,示例实现方式利用超参数优化选择模型。可以使用若干超参数优化技术,其包括网格搜索、随机搜索、贝叶斯优化、演进优化和强化学习。出于示范目的,根据图3描述了网格搜索技术。对于每个模型算法,过程如下:
[0053] a.对于每个参数集,根据来自特征工程400的特征和来自无监督学习模型401的结果,构建监督学习模型。对照预定评估度量评估监督学习模型,并且评估分数与该模型相关联。
[0054] b.通过将来自模型的评估分数与不同的参数集进行比较,为当前模型算法选择最佳参数集。
[0055] c.将每个模型算法与给出最佳评估结果的参数集关联起来。
[0056] 示例实现方式然后形成集成模型402。对来自所有模型算法的模型进行集成以形成最终集成模型402。集成是将多个单独训练的模型组合或聚集成单个模型以对未见的数据进行预测的过程。假设基础模型是多样的且独立的,集成技术有助于减少预测的泛化错误。在示例实现方式中,可以如下使用不同的集成技术:
[0057] 分类模型:多数投票技术可以用于集成分类模型。对于每个实例,将每个模型应用于当前特征集并获取预测类别。最频繁出现的类别将被用于实例的最终预测。
[0058] 回归模型:有几种用于集成回归模型的技术。
[0059] 回归模型的平均值:对于每个实例,将每个模型应用于当前特征集并得到预测值。然后,将来自不同模型的预测值的平均值用作最终预测值。
[0060] 经调整的回归模型的平均值:对于每个实例,将每个模型应用于当前特征集并获取预测值。从模型中去除最高预测值和最低预测值,并计算剩余预测值的平均值。将经调整的平均值用于最终预测值。
[0061] 用于回归模型的加权平均值:对于每个实例,将每个模型应用于当前特征集并获取预测值。基于模型的评估准确度,将权重分配给预测值。模型的准确度越高,分配给模型的预测值的权重越大。然后,计算加权预测值的平均值,并将加权平均值用于最终预测值。不同模型的权重需要归一化,以便权重之和等于1。
[0062] 为了评估无监督学习模型,令fu表示无监督学习模型,其为无监督学习模型算法和参数集的组合。例如,在图2中,一个fu可以是无监督模型1和参数集11的组合。为了评估无监督学习模型fu表现如何,示例实现方式根据一些预定度量评估来自fu的结果是否正确,这些预定度量可以来自基于模型的度量或业务度量。在相关技术中,这种评估通常是通过查看每种单独情况并基于业务知识检查该情况是否被模型正确地处理而手动进行的。这种手动过程是耗时的、易于出错、不一致且是主观的。
[0063] 示例实现方式涉及可以高效地、有效地和客观地评估无监督学习模型的解决方案。对无监督学习模型fu的评估可以被转换为对特征与fu发现的结果之间的关系的评估。对于该任务,我们通过将来自特征工程400(图3)的特征用作特征F并且将来自无监督学习模型401的结果作为目标T来训练监督学习模型,来堆叠监督学习模型。对于监督学习模型的集合,首先手动选择实质上不同的若干监督学习模型算法,然后为每个监督学习模型算法选择若干参数集。在模型算法级别,超参数优化技术可以确定每个模型算法的最佳参数集。
[0064] 令fs是每个监督学习模型算法的最佳模型。每个fs可以被认为是独立的评估器并产生fu的评估分数:如果fs从F和T发现的关系与fu从F和T发现的关系相似,则评估分数高;否则,分数低。
[0065] 对于每个监督学习模型fs,可以将fs的模型评估分数用作无监督学习模型fu的评估分数:对于每个fs,目标T由fu计算,而预测值由fs计算。被计算为目标和预测值之间的接近度的fs的评估分数对于测量由无监督学习模型fu和监督学习模型fs发现的F和T之间的关系的相似性是必要的。
[0066] 此时,针对每个无监督模型fu获取若干监督学习模型fs,并且每个fs对fu给出评估分数。将对这些分数进行聚集或集成以确定无监督学习模型fu是否为好模型。
[0067] 由于fs的底层模型算法是多样的并且在本质上彼此不同,因此它们可以对fu给出不同的分数。存在两种情况:
[0068] 如果大多数fs对fu产生高分数,则F和T之间的关系被fu充分捕获,并且fu被认为是好模型。
[0069] 如果大多数fs对fu产生低分数,则F和T之间的关系未被fu充分捕获,并且fu被认为是坏模型。
[0070] 换句话说,当且仅当fu揭示F和T的关系良好时,大多数fs才能够以与fu相似的方式捕获该关系,并且它们可以对fu产生良好的分数。反之亦然,如果fu揭示F和T的关系为不良,则大多数fs将以不同的方式不良地捕获F和T的关系,并且不能以与fu相似的方式捕获该关系,并且大多数fs将对fu产生不良的分数。
[0071] 为了比较不同的无监督学习模型,基于监督学习模型fs提供给无监督学习模型fu的评估分数来计算每个fu的单个分数。有几种聚集评估分数的方式,例如均值、经调整的均值和多数投票。在多数投票中,示例实现方式对产生高于S的分数的监督学习模型的数量进行计数,其中S是预定数量。对于均值,示例实现方式计算来自监督学习模型的评估分数的平均值。对于经调整的均值,示例实现方式去除K个最高分数和最低分数,然后计算平均值,其中K为预定数量。
[0072] 一旦获取每个无监督模型fu的评估分数,就可以选择最终无监督学习模型。这可以通过利用全局最佳模型来选择,在全局最佳模型中,示例实现方式贯穿模型算法和参数集来选择具有最佳分数的模型,并且使用该模型作为最终模型。替代地,其可以通过利用局部最佳模型来选择,在局部最佳模型中,示例实现方式首先为每个模型算法选择具有最佳分数的模型;然后对这些模型进行集成,每个模型来自一种模型算法。
[0073] 对于无监督学习模型,一些基本特征选择技术在相关技术的实现方式中可用于选择特征,这些技术包括基于相关性分析的技术和基于特征的值的方差的技术。然而,通常,由于无监督学习模型的模型评估不可用,因此不能应用基于高级模型的特征选择技术来选择用于无监督学习模型的特征。
[0074] 通过引入图2和图3所示的解决方案架构,可以评估无监督学习模型,因此可以应用基于模型的特征选择技术来选择用于无监督学习模型的特征。
[0075] 给定整个特征集,可以利用在监督学习中可用的正向特征选择、反向特征选择和混合特征选择来通过利用图2和图3所示的用于评估无监督模型的解决方案架构来选择哪个特征集可以提供最佳表现。
[0076] 为了解释无监督学习模型,示例实现方式将监督模型堆叠到无监督模型上:无监督学习模型的特征被用作监督学习模型的特征。无监督学习模型的结果被用作监督模型的目标。然后,示例实现方式使用监督学习模型的技术来解释预测:特征重要性分析、根本原因分析等。
[0077] 特征重要性通常在模型级别进行。它是指基于输入特征在监督学习任务(即,回归任务和分类任务)中预测目标变量时的有用和相关程度来给每个输入特征分配分数的技术。存在计算特征重要性分数的方法。例如,特征重要性分数的示例包括统计相关性分数、作为线性模型的一部分计算的系数、基于决策树的分数以及排列重要性分数。特征重要性可以提供对数据集的洞察,相关特征重要性分数可以突出并识别哪些特征可能与目标最相关。这种洞察可能有助于选择用于模型的特征并改善模型:例如,只有前F个特征被保持用于训练模型,以便避免由较少的重要特征引入的噪声。
[0078] 另一方面,根本原因分析(RCA)通常在实例级别进行,即,每个预测可能有一些根本原因。RCA有两大模型族:确定性模型和概率模型。确定性模型只处理已知事实中的确定性或监督学习模型中表达的推断。概率模型能够处理监督学习模型中的这种不确定性。这两个模型都可以使用逻辑、编译、分类器或过程模型技术来导出根本原因。对于概率模型,还可以构建贝叶斯网络来导出根本原因。一旦识别出根本原因,它就可以帮助导出用于补救或避免潜在问题和风险的建议。
[0079] 例如,诸如“隔离森林”模型的无监督模型可以用于对特征数据进行异常检测,这些特征数据是从关于数据的特征工程模块导出的。异常检测的输出将是特征数据中的实例的异常分数。诸如“决策树”模型的监督模型可以用于执行回归任务,其中用于“决策树”模型的特征与用于“隔离森林”的特征相同,并且用于“决策树”模型的目标是从“隔离森林”模型输出的异常分数。为了解释决策树,可以在模型级别计算特征重要性,并且可以在实例级别识别根本原因。
[0080] 为了在模型级别计算特征重要性,一个实现方式是计算通过到达该节点的概率加权的节点杂质的降低。节点杂质可以作为基尼指数(gini index)来测量。节点概率可以通过到达节点的样本的数量除以样本的总数量来计算。特征重要性值越高,特征就越重要。
[0081] 为了在实例级别找到预测的根本原因,可以从树根到叶子遵循决策树。在决策树中,每个节点都与一个条件相关联,例如“传感器_1>0.5”,其中传感器_1是特征数据中的特征。如果从树根开始遵循决策树,则获取这样的条件的列表。例如,[“传感器_1>0.5”、“传感器_2<0.8、“传感器_11>0.3”]。利用导致预测的这样的一系列条件,领域专家可以推断出可能导致预测的原因。
[0082] 为了选择用于给定的无监督模型的监督模型,一个示例实现方式是使用本质上类似于感兴趣的无监督学习模型算法的监督学习模型算法。另一个示例实现方式是使用用于监督学习模型的更简单的模型,使得该模型更容易被诠释或解释。
[0083] 在图1中,故障检测110包括两个组件,即,特征工程111和故障检测112。特征工程111处理原始输入数据并准备可用于后续模块的特征。特征工程模块中有三个主要任务:传感器选择、特征提取和特征选择。对于传感器选择,并非所有传感器都与故障检测相关。可以基于数据和问题的领域知识通过手动过程来选择传感器,但这是耗时的,易于出错,并且受到领域专家的专业知识的约束。替代地,可以如上所述应用特征选择技术。每个传感器可以被视为特征,然后应用上述技术(向前选择、向后选择、混合选择)来选择传感器。
[0084] 对于特征提取,对传感器数据执行若干技术以从时间序列数据中提取特征。可以将领域知识结合到该过程中。
[0085] 示例技术是移动平均。时间序列数据可以从一个时间点到下一个时间点急剧变化。这种波动使得模型算法难以学习时间序列数据中的模式。一种技术是在时间序列数据被后续模型使用之前对时间序列数据进行平滑处理。时间序列的平滑通过计算时间序列数据的移动平均值来完成。存在用于计算移动平均值的若干方法,包括简单移动平均(SMA)、指数移动平均(EMA)和加权移动平均(WMA)。
[0086] 使用移动平均的一个风险是可能由于值的平滑而去除实际的异常或异常值。为了避免这一点,示例实现方式可以对当前数据点赋予更多权重。因此,示例实现方式可以使用加权移动平均(WMA)和指数移动平均(EMA)。特别地,EMA是对最近的数据点赋予更大的权重和重要性的移动平均值,并且权重以指数顺序减少到当前时间点之前的点。EMA是在此用于移动平均值计算任务的良好候选。可以在WMA和EMA中微调超参数以实现来自后面模型的最佳评估结果。另一个发现是工业故障通常会持续短的时长,这大大降低了移动平均值计算去除异常和异常值的风险。
[0087] 另一个示例技术是值的求导(derivation)。差分/求导技术可以通过去除时间序列的水平的变化并因此消除(或减少)趋势和季节性来帮助稳定时间序列的均值。结果信号将是固定的时间序列,其特性不取决于观察该系列的时间。通常只有固定信号可用于建模。差分技术可以是:计算值的变化的一阶差分/求导;计算值的变化的变化的二阶差分/求导。
实际上,使时间序列数据固定不需要超出二阶差。
[0088] 差分技术可以应用于故障检测任务中的时间序列数据。这是因为季节性和趋势的信号通常对故障检测任务没有帮助,因此去除它们以仅保留必要的固定信号是安全而有益的。基于原始传感器数据,除了原始传感器数据之外,还将传感器值的变化(一阶求导/差分)和传感器值的变化的变化(二阶求导/差分)计算为特征。此外,根据领域知识,传感器值的变化呈现检测故障的强信号。
[0089] 特征选择涉及可应用于选择将用于构建故障检测和预测模型的特征的子集的自动特征选择技术。可以利用如上所述的用于选择特征的特征选择技术。
[0090] 故障检测模块112使用由特征工程模块111准备作为输入的特征,并且应用异常检测来检测每个数据点处的异常。通常,可以通过手动查看结果来尝试并评估若干异常检测模型。该方法是非常耗时的,并且我们无法找到最佳模型。替代地,示例实现方式可以使用本文描述的技术来自动选择最佳故障检测模型。图2中的无监督模型xx将是异常检测模型;图2中的无监督输出xx将是异常分数;图3中的监督模型xx将是回归模型。利用这种定制,本文描述的技术可以用于自动选择最佳故障检测模型。
[0091] 异常检测模型的结果是指示所观察的数据点是异常的可能性或概率的异常分数。异常分数在[0,1]的范围内,并且异常分数越高,观察的数据点是异常的可能性或概率就越高。
[0092] 给定当前传感器读数,故障预测120的任务是预测未来可能发生的故障。相关技术的方法假定被标记的传感器数据并使用监督学习方法来预测故障。然而,由于若干原因,这样的方法也无法很好地起作用。相关技术的方法无法确定用于收集特征/证据和故障的最优窗口。相关技术的方法无法识别可以预测故障的正确信号。相关技术的方法无法从有限量的故障数据中识别模式。由于工业系统通常在正常状态下运行并且故障通常是罕见事件,因此难以捕获有限量的故障的模式,并且因此难以预测这种故障。相关技术的方法无法按时间顺序建立正常情况和罕见故障事件之间的正确关系。相关技术的方法无法捕获罕见故障的进展的序列模式。
[0093] 以下示例实现方式引入了一种方法,该方法用于在给定最优故障窗口中的有限量的故障数据和所需的响应时间的情况下在最优特征窗口内识别用于故障预测的正确信号,从而在正常情况和罕见故障以及罕见故障的进展之间建立正确关系。
[0094] 特征变换器模块121将来自特征工程模块111的特征和从故障检测112检测到的故障变换为使得LSTM自动编码器122和LSTM故障预测模块123可以使用变换后的版本来对故障进行预测的格式。
[0095] 图4示出了根据示例实现方式的用于提取特征和故障的示例特征窗口。为了准备用于后面的故障预测模型的训练数据,示例实现方式需要准备监督学习模型所要求的特征和目标两者。图4所示的特征窗口是从其获取特征的时间窗口;故障窗口是从其获取用于故障预测模型的目标(即,故障)的时间窗口。对于故障预测任务,需要提前预测故障,使得操作者可以具有足够的时间来对潜在故障做出响应。前置时间窗口(lead time window)是当前时间(也称为“预测时间”)和故障开始时间之间的时间窗口。它也被称为“响应时间窗口”。
[0096] 图4示出了这三个窗口之间的关系。在当前时间,特征被收集在特征窗口中,并且故障被收集在故障窗口中。特征窗口的结束和故障窗口的开始被前置时间窗口分开。
[0097] 为了提取用于故障预测的特征,特征窗口中的特征来自两个源:来自特征工程111的特征和来自故障检测112的历史故障。对于特征窗口中的每个时间点,存在来自特征工程111的特征和来自故障检测112的历史故障的组合。特征和历史故障都在特征窗口中的所有时间点连接成特征向量。
[0098] 为了提取用于故障预测的目标,故障窗口中的故障来自两个源:来自特征工程111的特征以及来自故障检测112的历史故障。对于故障窗口中的每个时间点,存在来自特征工程111的特征和来自故障检测112的历史故障的组合。所有特征和历史故障在故障窗口中的所有时间点连接成目标向量。
[0099] 注意,LSTM序列预测模型可以同时预测多个序列。在该模型中,一种类型的序列是故障序列;另一种类型的序列是特征序列。这两个序列可如本文所述的那样使用。
[0100] 图5示出了根据示例实现方式的多层LSTM自动编码器。自动编码器用于对从特征工程组件111导出的特征和来自故障检测组件112的历史故障进行编码,以去除时间序列数据中的冗余信息。被编码的特征保持时间序列数据中的信号,并且将用于构建故障预测模型。
[0101] 自动编码器是多层神经网络,并且可以具有两个组件:如在图5中看出的编码器和解码器。为了训练用于自动编码器的以下神经网络,示例实现方式将层E1设置为与层DL相同,即,需要被编码的特征。然后,编码器的每层中的隐藏单元的数量减少,直到隐藏单元的数量变成被编码的特征的大小。然后,解码器的每一层中的隐藏单元的数量将增加,直到单元的数量变为原始特征的大小。一旦神经网络被训练,编码器组件就可以用于对特征进行编码。
[0102] 图6示出了根据示例实现方式的用于故障预测123的多层LSTM架构。具有LSTM网络架构的深度递归神经网络(RNN)模型用于以编码特征作为特征并以原始特征和检测到的故障作为目标来构建故障预测模型。具体地,图6示出了其中输入层表示被编码的特征的用于LSTM模型的网络架构;输出层包括原始特征和检测到的故障,隐藏层可以是多个层,其取决于数据。
[0103] 在若干方面,LSTM模型对于故障预测是好的。第一,通过结合从传感器导出的特征和检测到的历史故障,LSTM故障预测模型可以按时间顺序建立正常情况和罕见故障事件之间的正确关系,并且捕获罕见故障的进展的序列模式。第二,即使时间序列数据中的两个事件彼此相距甚远,LSTM也擅长捕获这两个事件的关系。这是通过隐藏单元的独特结构来完成的,隐藏单元被设计为沿着时间解决消失梯度问题。结果,由“前置时间窗口”引入的约束可以被很好地捕获和解决。第三,LSTM模型可以同时输出若干预测,这使得能够同时进行多个序列预测(特征序列和故障序列两者)。
[0104] 模型的输出包括连续的故障分数,其可以避免由系统中的罕见故障引起的问题。以连续的故障分数作为模型的目标,可以由此构建回归模型。否则,如果二进制值0用于正常,1用于故障,则在数据中存在非常少的“1”,并且这种不平衡的数据难以训练来发现分类问题中的故障的模式。
[0105] 为了直接预测故障,如图1所示,故障预测模块123的一个输出是指示故障的可能性的故障分数。该故障分数被提供作为预测到的故障124。
[0106] 示例实现方式首先确定被预测的特征,然后检测故障。如图1所示,故障预测模块123的另一个输出是一组预测到的特征125。该组预测到的特征125具有与特征工程模块111的输出相同的格式。故障检测组件可以应用于该组特征以生成指示故障的可能性的故障分数。该故障分数被提供作为检测到的故障126。
[0107] 集成故障127涉及将预测到的故障124和检测到的故障126集成以形成单个故障分数。可以使用不同的集成技术。例如,预测到的故障124和检测到的故障126的平均值可以用作单个故障分数。根据所需的实现方式,其他选项可以是加权平均值、最大值或最小值。
[0108] 示例实现方式还可以被配置为聚集故障。由于故障预测模型可以预测故障窗口中的多个故障,因此示例实现方式可以聚集故障窗口中的故障,以获取用于整个故障窗口的单个故障分数。故障分数可以涉及获取故障窗口中的所有故障分数的简单平均值、指数平均值、加权平均值、经调整的平均值、最大值或最小值,并将其用作最终故障分数。
[0109] 使用故障窗口的原因是预测到的故障分数可以从一个时间点到下一个时间点显著地变化。预测时间窗口内的多个故障并聚集它们可以使预测分数平滑以避免异常值预测。
[0110] 对于超参数优化,示例实现方式优化模型超参数。在自动编码器和LSTM故障模型中,存在大量超参数需要优化。这些超参数包括但不限于隐藏层的数量、每层中的隐藏单元的数量、学习率、优化方法和动量率。可以应用若干超参数优化技术:网格搜索、随机搜索、贝叶斯优化、演进优化和强化学习。
[0111] 示例实现方式还可以被配置为优化窗口大小。对于故障预测模型,有三个窗口:特征窗口、前置时间窗口和故障窗口。也可以优化这些窗口的大小。可以应用网格搜索或随机搜索来优化这些窗口大小。
[0112] 在预测故障之后,示例实现方式可以在131处识别故障的(一个或多个)根本原因并且在132处推荐补救动作。然后生成警报以通知操作者可能很快发生故障。然而,根据故障阈值,可能会生成过多的故障警报,这些故障警报淹没操作者的作业队列,从而导致“警报疲劳”问题。因此,在133处抑制警报生成变得有益。
[0113] 关于根本原因分析131,对于每个预测到的故障,操作者需要知道可能引起故障的原因,使得他们可以采取行动来减轻或避免潜在故障。对预测的根本原因的识别对应于在机器学习领域中解释预测,并且对于这样的任务存在一些技术和工具。例如,相关技术中的可解释AI程序包可以帮助识别导致预测的关键特征。该关键特征可能对预测有正面影响和对预测有负面影响。这样的程序包可输出前P个正面关键特征和前M个负面关键特征。这样的程序包可以用于识别预测到的故障的根本原因。
[0114] 图7(a)示出了根据示例实现方式的用于确定用于预测到的故障的特征(或主导因素)的例子。为了示出可解释AI如何工作,示例实现方式利用图7(a)的流程引入了用于发现导致预测的关键特征的简单方法。
[0115] 在701处,流程从预测模型获取用于每个特征的特征重要性权重。在702处,对于每个预测,流程获取每个特征的值。在703处,流程将每个特征的值和权重相乘并获取对预测的各个贡献。在704处,流程对各个贡献进行排名。在705处,流程输出具有权重、值和贡献的每个特征。
[0116] 关于使补救建议132的生成自动化,在识别每个预测的根本原因之后,提供建议补救步骤以避免潜在故障。这需要领域知识来进一步将根本原因(或症状)聚类为故障模式,并且基于故障模式,可以生成补救步骤并将其推荐给操作者。
[0117] 可以使业务规则自动化,以将根本原因聚类为故障模式并为每个故障模式生成补救建议。还可以构建(一个或多个)机器学习模型以通过利用业务规则来帮助将故障聚类或分类为故障模式。
[0118] 关于警报抑制和按优先序排列133,对于预测到的故障,可以生成警报。警报被表示为具有诸如(警报时间、资产、故障分数、故障模式、补救建议、警报显示标志)的六个元素的元组。警报通过资产和故障模式来独特地被识别。由于每个故障的处理成本,并非所有预测到的故障都应当触发警报并向操作者显示。“警报显示标志”指示警报是否被生成并被显示给客户。以正确的时间和频率生成警报对于补救故障和控制警报处理成本至关重要。因此,示例实现方式将抑制一些警报,以便控制警报的音量并且解决“警报疲劳”问题。
[0119] 一些警报可能是紧急的,而其他警报不是紧急的。因此需要对警报按优先序排列,以便首先指导操作者处理紧急警报。
[0120] 在下文中,描述了用于利用数据驱动方法优化第一警报生成的算法,以及用于抑制和按优先序排列警报的方法。
[0121] 为了优化第一警报生成,存在用于控制何时生成第一警报的三个参数:
[0122] ·T:用于预测到的故障分数的阈值。如果预测到的故障大于阈值,则将其预测为故障;否则,将其预测为正常。
[0123] ·N和E:在N个预测到的故障出现在时间段E内之后生成第一警报。
[0124] 为了优化这三个参数,下面的成本敏感的优化算法用于找到T、N和E的最优值,如下所述。
[0125] 为了制定优化问题,目标函数和约束如下定义。
[0126] 为了定义成本,令C是由错误预测引起的成本。错误预测可以是:
[0127] ·假肯定:没有实际故障,但是模型预测到故障。与每个假肯定实例相关联的成本被称为“假肯定成本”。
[0128] ·假否定:存在实际故障,但是模型没有预测到任何故障。与每个假否定实例相关联的成本被称为“假否定成本”。
[0129] “假否定成本”通常大于“假肯定成本”,但是它取决于确定“假否定成本”比“假肯定成本”大多少的问题,为了解决优化问题,根据领域知识确定“假否定成本”和“假肯定成本”。
[0130] 根据是否考虑预测到的故障的严重性或可能性,可以如下针对优化问题定义成本函数:
[0131] ·不考虑预测到的故障的严重性或可能性。
[0132] C=假肯定实例的数量*假肯定成本+假否定实例的数量*假否定成本
[0133] ·考虑预测到的故障的严重性或可能性
[0134] C=∑(预测到的故障分数*假肯定成本)+∑((1‑预测到的故障分数)*假否定成本)
[0135] 基于成本函数的定义,优化问题可以如下制定:
[0136] 目标函数:最小化(成本)
[0137] 服从:0
[0138] 为了解决优化问题,在给定T、N和E的不同参数值的情况下,可以利用用于对假肯定实例和假否定实例的数量进行计数的历史数据。该任务所需的历史数据包括预测到的故障分数和确认的故障。确认的故障通常来自操作者对预测到的故障的承认或拒绝。
[0139] 在没有确认的故障的情况下,可以通过将故障检测组件应用于传感器值来使用检测到的故障。计算成本的一种方式如下:对于T、N和E的每个组合,对假肯定实例的数量和否定实例的数量进行计数,然后计算成本。目的是找到产生最小成本的T、N和E的组合。该方法也被称为网格搜索,并且优化问题可能是耗时的。可以使用其他优化方法。例如,可以应用随机搜索或贝叶斯优化来解决该问题。
[0140] 为了抑制和按优先序排列警报,给定预测到的故障,需要做出两个决定:是否生成警报,以及警报的紧急性。在下文中,利用基于历史数据发现的最优T、N、E,并且执行算法以抑制和按优先序排列将在工业系统中生成的警报。
[0141] 示例实现方式保持队列Q以存储警报。警报可以由操作者处理,对于被处理的警报存在三个结果:“被承认”、“被拒绝”或“被解决”;或者警报可以不被处理(“未处理”)。从Q中去除“被解决的”警报。根据业务规则,“被拒绝的”警报可以保留在Q中或从Q中去除。
[0142] 每个警报可以被表示为6元素元组。在Q中,具有相同资产和故障模式值的警报被聚集在一起作为“警报组”。对于元组中的其余元素:
[0143] ·“警报时间”被保持为存储每个警报组的所有警报时间的列表。
[0144] ·“故障分数”被保持为存储每个警报组的所有故障分数的列表。
[0145] ·“补救建议”由“资产”和“故障模式”确定,因此它对于每个警报组具有单个值。
[0146] ·“警报显示标志”被保持为存储每个警报组的所有警报显示标志的列表。
[0147] 警报可以按其紧急性降序排列。警报紧急性可以被表示为若干级别:低、中、高。由于紧急性处于“资产”和“故障模式”级别,因此紧急性级别被保持为每个警报组的单个值。
[0148] 根据所需的实现方式,可以使用若干因素来确定每个警报组的紧急性级别,例如资产的重要性、聚集的故障分数、故障模式、补救时间和成本、生成警报的总次数、生成警报的次数除以第一警报和最后警报的时间段等。
[0149] 通过使用这些因素,基于规则的算法可以被设计为基于领域知识来确定警报组的紧急性级别。替代地,一旦已知一些现有警报组的紧急性级别,就可以构建监督学习分类模型来预测紧急性级别:特征包括上面列出的所有因素,并且目标是紧急性级别。队列中的警报组按紧急性级别排序;并且每个警报组中的警报然后按警报的第一警报时间排序。
[0150] 当存在新的预测到的故障时,示例实现方式可以获取它的故障分数和故障模式。然后,示例实现方式检查Q中是否存在具有相同资产和故障模式的警报。
[0151] 图7(b)示出了根据示例实现方式的在存在具有相同资产和故障模式的警报时的示例流程图。在711处,流程将警报的警报时间附加到Q中的警报组的警报时间列表上。在712处,流程将警报的故障分数附加到Q中的警报组的故障分数列表上。在713处,流程将警报的警报显示标志附加到Q中的警报组的警报显示标志列表上。在714处,流程重新计算并更新警报组的紧急性级别,并且对Q中的警报组重新排序。在715处,流程根据是否已经生成警报来抑制警报。示例实现方式通过检查“警报显示标志”来了解是否生成警报。
[0152] 在716处,如果尚未生成警报,则流程检查在E时间段内出现多于N个警报的情况(如上所述确定N和E)。如果答案为是,则生成警报;否则,不生成警报。在717处,如果已经生成警报,则流程检查最后警报触发时间与当前时间之间的时间段是否大于预定警报显示时间窗口。如果是,则流程触发警报。流程将最后的警报触发时间设置为当前时间;否则,不生成警报。预定警报显示时间窗口是由操作者基于领域知识设定的参数。
[0153] 图7(c)示出了根据示例实现方式的在不存在具有相同资产和故障模式的警报组时的示例流程图。在721处,流程创建警报组条目:(警报时间列表、资产、故障分数列表、故障模式、补救建议、警报显示标志列表、紧急性级别),其中紧急性级别默认为“低”。在722处,流程将警报的警报时间附加到Q中的警报组的警报时间列表上。在723处,流程将警报的故障分数附加到Q中的警报组的故障分数列表上。在724处,流程将警报的警报显示标志附加到Q中的警报组的警报显示标志列表上。在725处,流程计算并更新警报组的紧急性级别,并且基于紧急性级别对Q中的警报组进行重新排序。
[0154] 如果Q中的警报到期,即在警报组中存在超过预定到期时间而没有任何更新的警报,则从警报组中去除该警报。如果警报组不存在任何警报,则从Q中去除整个警报组。预定到期时间是由操作者基于领域知识设定的参数。
[0155] 本文描述的示例实现方式可以应用于各种系统,例如端到端解决方案。故障检测、故障预测和故障阻止可以被提供作为用于工业故障的解决方案套件。这种端到端解决方案可以作为分析解决方案核心套件被提供作为解决方案核心产品的一部分。故障检测可以作为分析解决方案核心被提供作为解决方案核心产品的一部分。它也可以被提供作为用于自动标记数据的解决方案核心。故障预测可以作为分析解决方案核心被提供作为解决方案核心产品的一部分。警报抑制可以作为分析解决方案核心被提供作为解决方案核心产品的一部分。根本原因识别和补救建议可以作为分析解决方案核心被提供作为解决方案核心产品的一部分。
[0156] 类似地,示例实现方式可以涉及独立机器学习库。利用监督学习技术解决无监督学习任务的框架和解决方案架构可以被提供作为帮助解决无监督学习任务的独立机器学习库。
[0157] 图8示出了根据示例实现方式的涉及具有连接的传感器的多个系统的系统和管理设备。具有连接的传感器801‑1、801‑2、801‑3和801‑4的一个或多个系统通信地耦合到网络800,网络800连接到管理设备802,管理设备802促进物联网(IoT)网关或其他制造管理系统的功能。管理设备802管理数据库803,数据库803包含从系统的传感器801‑1、801‑2、801‑3和801‑4收集的历史数据,该历史数据可以包括从系统801‑1、801‑2、801‑3和801‑4接收的被标记的数据和未被标记的数据。在替代的示例实现方式中,来自系统的传感器801‑1、
801‑2、801‑3、801‑4的数据可以被存储到中央储存库或中央数据库,例如吸入诸如企业资源规划系统之类的数据的专有数据库,并且管理设备802可以从中央储存库或中央数据库访问或获取数据。根据所需的实现方式,这样的系统可包括具有传感器的机器人臂、具有传感器的涡轮、具有传感器的车床等。
[0158] 图9示出了具有适合于在一些示例实现方式中使用的示例计算机装置(例如图8所示的管理设备802)的示例计算环境。
[0159] 计算环境900中的计算机装置905可以包括一个或多个处理单元、核或处理器910、存储器915(例如,RAM、ROM等)、内部存储装置920(例如,磁性、光学、固态存储装置,和/或有机的)和/或I/O接口925,它们中的任何一个可以耦合在用于传送信息的通信机构或总线930上或嵌入在计算机装置905中。根据所需的实现方式,I/O接口925还被配置为从摄像机接收图像或向投影仪或显示器提供图像。
[0160] 计算机装置905可以通信地耦合到输入/用户接口935和输出装置/接口940。输入/用户接口935和输出装置/接口940中之一或两者可以是有线或无线接口并且可以是可拆卸的。输入/用户接口935可包括可用于提供输入的任何物理的或虚拟的装置、组件、传感器或接口(例如,按钮、触摸屏界面、键盘、指向/光标控件、麦克风、摄像机、盲文、运动传感器、光学阅读器等)。输出装置/接口940可包括显示器、电视、监视器、打印机、扬声器、盲文等。在一些示例实现方式中,输入/用户接口935和输出装置/接口940可以与计算机装置905嵌入或物理耦合。在其他示例实现方式中,其他计算机装置可以用作计算机装置905的输入/用户界面935和输出装置/界面940,或提供计算机装置905的输入/用户界面935和输出装置/界面940的功能。
[0161] 计算机装置905的示例可包括但不限于高度移动的装置(例如,智能手机、车辆和其他机器中的装置、人和动物携带的装置等)、移动装置(例如,平板电脑、笔记本电脑、膝上型电脑、个人电脑、便携式电视、收音机等)以及并非为了移动而设计的装置(例如,台式计算机、其他计算机、信息亭、嵌入和/或耦合了一个或多个处理器的电视、收音机等)。
[0162] 计算机装置905可以通信地耦合(例如,经由I/O接口925)到外部存储装置945和网络950以与任何数量的联网组件、装置和系统通信,包括相同或不同配置的一个或多个计算机装置。计算机装置905或任何连接的计算机装置可以用作服务器、客户端、瘦服务器、通用机器、专用机器或另一个标记,提供服务器、客户端、瘦服务器、通用机器、专用机器或另一个标记的服务,或称为服务器、客户端、瘦服务器、通用机器、专用机器或另一个标记。。
[0163] I/O接口925可包括但不限于使用任何通信或I/O协议或标准(例如,以太网、802.1lx、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)向和/或从计算环境900中的至少所有连接的组件、装置和网络传送信息。网络950可以是任何网络或网络的组合(例如,因特网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。
[0164] 计算机装置905可以使用计算机可用或计算机可读介质和/或使用计算机可用或计算机可读介质(包括瞬态介质和非瞬态介质)进行通信。瞬态介质包括传输介质(例如,金属电缆、光纤)、信号、载波等。非瞬态介质包括磁性介质(例如,磁盘和磁带)、光学介质(例如,CD ROM、数字视频磁盘、蓝光光盘)、固态介质(例如,RAM、ROM、闪存、固态存储装置)和其他非易失性存储装置或存储器。
[0165] 计算机装置905可以用于在一些示例计算环境中实现技术、方法、应用程序、过程或计算机可执行指令。计算机可执行指令可以从瞬态介质获取,并存储在非瞬态介质上并从非瞬态介质获取。可执行指令可以源自任何编程、脚本和机器语言(例如,C、C++、C#、Java、VisualBasic、Python、Perl、JavaScript等)中的一种或多种。
[0166] (一个或多个)处理器910可以在本地或虚拟环境中的任何操作系统(OS)(未被示出)下执行。可以部署一个或多个应用程序,其包括逻辑单元960、应用程序编程接口(API)单元965、输入单元970、输出单元975以及用于不同单元彼此、与OS和与其他应用程序(未被示出)通信的单元间通信机构995。所描述的单元和元件可在设计、功能、配置或实现方式方面有所不同,并且不限于所提供的描述。
[0167] 在一些示例实现方式中,在信息或执行指令被API单元965接收到时,它可以被传送到一个或多个其他单元(例如,逻辑单元960、输入单元970、输出单元975)。在某些情况下,在所描述的一些示例实现方式中,逻辑单元960可以被配置为控制单元之间的信息流并指导由API单元965、输入单元970、输出单元975提供的服务。例如,一个或多个过程或实现方式的流程可以由逻辑单元960单独或结合API单元965来控制。输入单元970可以被配置为获取在示例实现方式中描述的计算的输入,并且输出单元975可以被配置为基于在示例实现方式中描述的计算提供输出。
[0168] (一个或多个)处理器910可以被配置为:对未被标记的传感器数据执行特征提取以生成多个特征,如图1的100和111处所示;通过利用故障检测模型处理多个特征来执行故障检测以生成故障检测标记,如图1的112处所示,该故障检测模型根据机器学习框架生成,该机器学习框架将监督机器学习应用于根据无监督机器学习生成的无监督机器学习模型,如图2和图3所示;以及将所提取的特征和故障检测标记提供给故障预测模型以生成故障预测和特征序列,如图1的123‑125处所示。
[0169] (一个或多个)处理器910可以被配置为:根据通过以下方式将监督机器学习应用于根据无监督机器学习生成的无监督机器学习模型来生成故障检测模型:基于上述特征执行无监督机器学习以生成无监督机器学习模型;对来自每个无监督机器学习模型的结果执行监督机器学习以生成监督集成机器学习模型,其中每个监督集成机器学习模型对应于每个无监督机器学习模型;以及基于对照由监督集成机器学习模型生成的预测对无监督机器学习模型的结果的评估,选择无监督机器学习模型中的一些无监督机器学习模型作为故障检测模型,如图2和图3所示。
[0170] (一个或多个)处理器910可以被配置为生成故障预测模型,生成故障预测模型包括:从根据历史传感器数据优化的特征窗口中提取特征;基于来自历史传感器数据的故障,确定优化故障窗口和前置时间窗口;利用长短期记忆(LSTM)自动编码器对所述特征进行编码;训练LSTM序列预测模型,该LSTM序列预测模型被配置为从特征窗口中学习特征序列中的模式以导出故障窗口中的故障;将LSTM序列预测模型提供作为故障预测模型;以及将来自从故障检测模型检测到的故障和从故障预测模型预测到的故障的故障进行集成;其中故障预测是将来自检测到的故障和预测到的故障的故障进行集成,如图4和图5所示。
[0171] (一个或多个)处理器910可以被配置为提供用于确定故障的根本原因并抑制警报的故障阻止过程,如图1的130处所示,其中故障阻止过程通过以下方式来确定故障的根本原因并抑制警报:识别集成故障的根本原因并使用于解决集成故障的补救建议自动化;根据集成故障生成警报;利用成本敏感的优化技术执行警报抑制过程,以基于紧急性级别来抑制警报中的一些警报;以及向多个系统的一个或多个操作者提供警报中的剩余警报,如图1的130至134处所示以及如图7(b)和图7(c)所示。
[0172] (一个或多个)处理器910可以被配置为基于补救建议执行用于控制多个系统中的一个或多个系统的过程。作为一个示例,(一个或多个)处理器910可以被配置为:基于预测到的故障和补救故障的建议,控制多个系统中的一个或多个系统关闭、重启、触发与系统相关联的各种安灯等。这样的实现方式可以基于底层系统并且根据所需的实现方式来修改。
[0173] (一个或多个)处理器910可以被配置为:对未被标记的数据执行特征提取以生成多个特征;以及执行机器学习框架,该机器学习框架通过将监督机器学习应用于根据无监督机器学习生成的无监督机器学习模型来将无监督学习任务变换成监督学习任务,执行机器学习框架涉及:基于上述特征执行无监督机器学习以生成无监督机器学习模型;对来自每个无监督机器学习模型的结果执行监督机器学习以生成监督集成机器学习模型,其中每个监督集成机器学习模型对应于每个无监督机器学习模型;基于对照由监督集成机器学习模型生成的预测对无监督机器学习模型的结果的评估来选择无监督机器学习模型中的一些无监督机器学习模型;基于无监督学习模型的评估结果来选择特征;以及将所选择的一些无监督学习模型转换为监督学习模型以促进可解释人工智能(AI),如图2、图3和图7(a)所示。无监督学习通常不具有用于解释模型的技术。为了促进用于解释无监督学习模型的可解释AI,示例实现方式将所选择的一些无监督学习模型转换为监督学习模型,使得无监督学习模型的特征被用作监督学习模型的特征。无监督学习模型的结果被用作监督模型的目标。然后,示例实现方式使用监督学习模型的技术来解释预测以促进可解释AI,例如图7(a)所示的特征重要性分析、根本原因分析131等,这取决于所需的示例实现方式。
[0174] 详细描述的某些部分是根据计算机内的操作的算法和符号表示来呈现的。这些算法描述和符号表示是数据处理领域的技术人员用来向本领域其他技术人员传达其创新的本质的手段。算法是导致所需的最终状态或结果的一系列定义的步骤。在示例实现方式中,所执行的步骤需要对有形量进行物理操作以实现有形结果。
[0175] 除非另有具体说明,否则根据讨论显而易见的是,应当理解,在整个描述中,使用诸如“过程”、“运算”、“计算”、“确定”、“显示”等术语的讨论可包括计算机系统或其他信息处理装置的动作和过程,这些装置将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵和变换为类似地表示为计算机系统的存储器或寄存器中的物理量或其他信息的其他数据存储、传输或显示装置。
[0176] 示例实现方式还可以涉及用于执行本文的操作的设备。该设备可以为所需目的而专门构造,或者它可包括一台或多台通用计算机,该计算机由一个或多个计算机程序选择性地激活或重新配置。这样的计算机程序可以存储在计算机可读介质中,例如计算机可读存储介质或计算机可读信号介质。计算机可读存储介质可涉及有形介质,例如但不限于光盘、磁盘、只读存储器、随机存取存储器、固态设备和驱动器,或适合用于存储电子信息的任何其他类型的有形或非瞬态介质。计算机可读信号介质可包括诸如载波的介质。本文呈现的算法和显示与任何特定的计算机或其他设备没有内在关联。计算机程序可以涉及纯软件实现方式,这些实现方式包括执行所需的实现方式的操作的指令。
[0177] 各种通用系统可以与根据本文的示例的程序和模块一起使用,或者可以证明构造用于执行所需的方法步骤的更专用的设备是方便的。此外,示例实现方式没有参照任何特定的编程语言来描述。应当理解,可以使用多种编程语言来实现本文所描述的示例实现方式的技术。(一种或多种)编程语言的指令可以由一个或多个处理装置执行,例如,中央处理单元(CPU)、处理器或控制器。
[0178] 如本领域已知的,上述操作可以由硬件、软件或软件和硬件的某种组合来执行。示例实现方式的各个方面可以使用电路和逻辑设备(硬件)来实现,而其他方面可以使用存储在机器可读介质(软件)上的指令来实现,这些指令如果由处理器执行,将导致处理器执行用于进行本申请的实现方式的方法。此外,本申请的一些示例实现方式可以单独以硬件执行,而其他示例实现方式可以单独以软件执行。此外,所描述的各种功能可以在单个单元中执行,或者可以以任意数量的方式分布在多个组件中。在由软件执行时,这些方法可以由诸如通用计算机的处理器基于存储在计算机可读介质上的指令来执行。如果需要,可以将指令以压缩和/或加密格式存储在介质上。
[0179] 此外,考虑到说明书和本申请的技术的实践,本申请的其他实施方式对于本领域技术人员来说将是显而易见的。所描述的示例实现方式的各个方面和/或组件可以单独使用或以任何组合使用。说明书和示例实现方式仅被视为示例,本申请的真实范围和精神由所附权利要求指示。

当前第1页 第1页 第2页 第3页