CN117396900A - 具有自训练分类的无监督异常检测 - Google Patents
具有自训练分类的无监督异常检测 Download PDFInfo
- Publication number
- CN117396900A CN117396900A CN202280038124.1A CN202280038124A CN117396900A CN 117396900 A CN117396900 A CN 117396900A CN 202280038124 A CN202280038124 A CN 202280038124A CN 117396900 A CN117396900 A CN 117396900A
- Authority
- CN
- China
- Prior art keywords
- training
- data
- training data
- examples
- anomalous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 406
- 238000001514 detection method Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000010801 machine learning Methods 0.000 claims abstract description 77
- 238000003860 storage Methods 0.000 claims abstract description 12
- 230000002547 anomalous effect Effects 0.000 claims description 75
- 230000002159 abnormal effect Effects 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000007670 refining Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004900 laundering Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开各方面提供了用于使用机器学习框架来异常检测的方法、系统和装置,包括计算机可读存储介质,该机器学习框架完全在包括异常和非异常训练示例两者的未标记的训练数据上被训练。自监督一类分类器(STOC)使用机器学习模型的集合来细化训练数据以排除异常训练示例。模型的集合在细化的训练数据上被重新训练。STOC还可以使用细化的训练数据来训练表示学习模型,以为每个训练示例生成一个或多个特征值,该一个或多个特征值可以由经训练的模型集合来处理,并且最终用于训练输出分类器模型,以预测输入数据是指示异常还是非异常数据。
Description
相关申请的交叉引用
本申请要求于2021年5月27日提交的标题为“具有自训练分类的无监督异常检测”的美国临时申请第63/193,875号的申请日的权益,该美国临时申请的公开内容通过引用并入本文。
背景技术
神经网络是机器学习模型,该机器学习模型包括一个或多个非线性操作层以预测接收输入的输出。除了输入层和输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出可以被输入到神经网络的另一隐藏层或输出层。神经网络的每个层可以根据该层的一个或多个模型参数的值从接收输入生成相应的输出。模型参数可以是通过训练算法所确定的权重或偏置,以使得神经网络生成精确的输出。深度神经网络包括多个隐蔽层。浅层神经网络具有一个或零个隐蔽层。
异常检测是将异常与正常数据区分开的任务,通常使用机器学习模型。异常检测应用于各种不同的领域中,诸如应用于制造中以检测制成品中的故障;应用于财务分析中以监视金融交易的潜在欺诈活动;以及应用于健康护理数据分析中以识别患者的疾病或其它有害状况。
发明内容
本公开各方面提供了一种仅使用未标记的训练数据以自监督方式被训练用于异常检测的机器学习模型框架。本公开各方面还提供了一种用于仅使用未标记的训练数据来训练机器学习模型框架以进行异常检测的方法。如本文中描述的自训练一类分类器(STOC)可以被训练为在输入数据上精确地进行异常检测,同时仅在未标记的训练数据上被训练。STOC可以接收正常和异常数据两者的未标记示例的原始训练数据或学习的表示,并且细化训练数据以生成至少部分地移除预测的异常示例的细化的训练数据集。可以使用细化的训练数据来训练STOC,以预测推理时的输入数据是正常还是异常的。
本公开一方面提供了一种一个或多个处理器的系统,该一个或多个处理器被配置为:接收未标记的训练数据,该未标记的训练数据包括多个训练示例;使用多个第一机器学习模型将训练示例中的每个训练示例分类为异常训练示例或非异常训练示例;生成细化的训练数据集,该细化的训练数据集包括被分类为非异常训练示例的训练示例;以及使用细化的训练数据集来训练第二机器学习模型,以接收输入数据并且生成指示输入数据是异常还是非异常的输出数据。
异常检测或者(通常较不频繁的)区分异常和正常样本是具有广泛应用的高度影响力的问题,诸如在制造中使用视觉传感器来检测故障产品、在信用卡交易处的欺骗行为,以及在重症监护室处的对抗性结果。异常检测经常受到标记的训练数据的可用性的限制,限制了开发和构建被训练用于异常检测的系统的方式。与限于标记的训练示例的方法相比,通过首先通过分类来细化数据,本公开各方面使得能够可行地使用大的未标记的训练数据。进而,本公开各方面提供了用于进行异常检测的更精确的系统,至少因为系统提供了使用更丰富的可用未标记训练数据。
本公开其它方面包括方法、装置以及存储用于一个或多个计算机程序的指令的非暂时性计算机可读存储介质,当该指令被执行时,该指令使得一个或多个处理器进行方法的动作。
前述和其它方面可以包括单独或组合的一个或多个以下特征。
未标记的训练数据可以包括一个或多个异常训练示例以及一个或多个非异常训练示例。
非异常训练示例的数量可以大于异常训练示例的数量。未标记的训练可以包括异常和非异常训练示例的混合,而不需要哪些示例属于哪个类别的先验知识。结果,如细化数据中描述的系统的使用更加灵活,因为提供的数据的假设相对于训练示例被标记的其它方法更加放松。此外,系统可以扩展异常检测应用的边界,其中,标记是昂贵或不完全精确的。
由一个或多个处理器进行的方法或操作还可以包括使用细化的训练数据集来训练多个第一机器学习模型。由一个或多个处理器进行的方法或操作还可以包括进行以下的附加迭代:使用多个第一机器学习模型对训练示例中的每个训练示例进行分类;以及基于附加迭代来更新细化的训练数据集。
本公开各方面提供了一种半监督系统,其中,细化的训练数据的迭代用于训练和精调一个或多个第一机器学习模型,以用于改进训练数据集的细化,从而排除异常训练示例。该迭代方法可以整体地改进系统的精度,因为系统被迭代地更新以适应可能对训练数据集唯一的异常训练示例的细微差别。与训练数据被分类用于在一次迭代中识别异常/非异常训练示例的方法相反,如本文中描述的迭代方法提供了校正系统以从非异常训练示例中更精确地细化异常训练示例的机会。
由一个或多个处理器进行的方法或操作还可以包括使用细化的训练数据集来训练第三机器学习模型,其中,第三机器学习模型被训练为接收训练示例,并且为接收到的训练示例中的每个训练示例生成一个或多个相应特征值;以及当使用多个第一机器学习模型对未标记的训练数据进行分类时,包括使用多个第一机器学习模型来处理未标记的训练数据中的每个训练示例的相应一个或多个特征值,其中,使用第三机器学习模型来生成相应一个或多个特征值。
由一个或多个处理器进行的方法或操作还可以包括进行使用细化的训练数据集来训练第三机器学习模型的附加迭代。
第三机器学习模型可以是表示学习模型,该表示学习模型被训练为从输入训练示例生成特征值。本公开各方面提供了基于由表示学习模型生成的训练示例的特征的学习的表示来对训练示例进行分类。代替单独的原始输入,在表示上训练还可以改进所得到的数据细化的精度。
多个第一机器学习模型和第二机器学习模型可以是一类分类器。
本文中描述的系统对于不同的机器学习模型架构是不可知的,这意味着它可以在各种不同的异常检测处理流水线中实施,而不失去通用性。除了系统在细化不同训练数据集时的灵活性之外,模型架构中的该灵活性还扩展了可能的应用领域。进而,根据本公开各方面所训练的系统可以更容易地适应于某些用例和技术限制,这可以比数据细化限于某些模型架构或用例的方法改进性能。
由一个或多个处理器进行的方法或操作还可以包括使用未标记的训练数据的相应子集来训练第一机器学习模型中的每个第一机器学习模型;通过多个第一机器学习模型中的每个第一机器学习模型来处理未标记的训练数据中的第一训练示例,以生成与第一训练示例是非异常或异常的相应概率对应的多个第一分数;确定至少一个第一分数不满足一个或多个阈值;以及响应于确定至少一个第一分数不满足一个或多个阈值,从未标记的训练数据中排除第一训练示例。
一个或多个阈值可以是基于与未标记的训练数据中的训练示例是非异常或异常的相应概率对应的分数分布的预定百分位数值。一个或多个阈值可以包括多个阈值,每个阈值是基于从由多个第一机器学习模型中的相应第一机器学习模型处理的训练示例所生成的相应分数分布的预定百分位数值。
由一个或多个处理器进行的方法或操作可以包括基于在优化过程的一次或多次迭代上对训练数据中的异常和非异常训练示例之间的相应类内方差进行最小化,生成一个或多个阈值。
提供每个机器学习模型阈值允许考虑模型处理中的差异和用于分类异常和非异常训练示例的容差,防止一个模型覆盖集合中的其余模型的决策。如下面更详细地描述的,系统可以为每个示例生成伪标签,表示在确定示例是否异常时多个模型的一致性。
由一个或多个处理器进行的方法或操作可以包括接收输入数据,以及使用第二机器学习模型来处理输入数据,以生成指示输入数据是异常还是非异常的输出数据。
由一个或多个处理器进行的方法或操作还可以包括发送输出数据,以用于在耦接到一个或多个处理器的显示设备上显示。
附图说明
图1是根据本公开各方面的示例自训练一类分类器(STOC)的框图。
图2是包括表示学习模型的示例STOC的框图。
图3是用于使用未标记的训练数据来训练STOC的示例过程的流程图。
图4是根据本公开各方面的用于细化未标记的训练数据的示例过程的流程图。
图5是用于利用表示学习模型来训练STOC的示例过程的流程图。
图6是实施示例STOC的示例计算环境的框图。
具体实施方式
概述:
本公开各方面提供了一种仅使用未标记的训练数据以自监督方式被训练用于异常检测的一类分类器的机器学习模型框架。异常检测指的是在数据集中区分异常数据和非异常数据的过程。异常数据不同于非异常的、“正常”数据,例如因为异常数据表示统计离群值,包含噪声,或者具有根据判定边界不同于非异常数据的特性,这些可以被学习或预定。本公开各方面提供了在未标记的训练数据上训练一类分类器,而不需要对训练数据中异常训练示例的存在、不存在或特定分布的先验知识。
一类分类器(OCC)是一种被训练为预测输入数据是否属于某一类的机器学习模型。可以在指示OCC正在被训练以预测的类别的训练数据上训练OCC。可以在包括标记的训练示例的训练数据上训练OCC。例如,可以在包括被标记为异常或非异常的示例的训练数据上训练用于异常检测的OCC。该方法的一个问题是,产生标记的数据可能昂贵且耗时。此外,异常数据由于其性质而发生的频率低于非异常数据,并且异常可能以不同且通常不可预测的方式表现,这增加了生成标记的训练数据的难度。在一些情况下,缺乏可用数据使得训练模型以进行一些任务是不可行的,即使实际上不是不可能的。虽然该问题可以利用仅有限数量的标记训练示例的训练数据来解决,但是当前方法继续依赖于存在训练用于异常检测的模型的至少一些标记的训练数据,其精度取决于在这种标记的数据上训练的可用性。
虽然可以在包括仅具有非异常示例的训练数据的未标记训练数据上训练OCC,但是在实践中,至少因为无意地包括异常训练示例的可能性,提供均匀的非异常训练数据来训练精确分类器是困难的。此外,被假定为仅包括非异常训练示例的训练数据实际上可能包括一些异常数据,这些异常数据可能负面地影响在该错误假定下利用训练数据所训练的OCC的精度。即使异常训练示例与非异常训练示例的小异常比率(例如,2%),也可能显著影响针对一类分类所训练的模型的性能。当在具有甚至更高异常比率的数据上训练时,OCC性能进一步降低。
如本文中描述的自训练一类分类器(“STOC”)是用于训练诸如一类分类器的模型以进行异常检测的机器学习框架。除了训练数据包括比异常训练示例更多的非异常训练示例的基本假设之外,可以以自监督方式进行训练,而不用标记的训练数据,并且不用假设异常训练示例在提供的训练数据中的存在或分布。
STOC可以包括各个OCC的集合,每个OCC在一次或多次数据细化迭代之后根据接收到的训练数据来训练和更新。STOC可以细化训练数据以对训练示例进行分类,并且排除从OCC的各个输出所识别的异常训练示例。排除识别出的异常训练示例的细化的训练数据集(“细化的训练数据”)可以通过OCC被传递回来以用于附加训练。在数据细化的最后迭代之后,STOC训练输出分类器模型以预测输入数据的最终分类为非异常或异常。
如本文中描述的细化训练数据可以使得训练数据能够用于训练用于进行一类分类和异常检测的各种模型中的任何一个,至少因为可以从训练数据中减少或消除来自在混合的未标记异常和非异常上训练的前述性能下降。不需要手动标记训练示例,并且如本文中描述的STOC在细化各种异常比率(例如,0%-20%或更高)中的任何一个的训练数据时是稳健的,并且可以细化其中至少异常训练示例的数量小于非异常训练示例的数量的数据。如本文中描述的,可以使用STOC来训练各种OCC中的任何一个。
此外,STOC可以包括表示学习模型,用于为训练数据中的训练示例生成一个或多个特征值的特征表示。与各个OCC一样,在一次或多次数据细化迭代之后,可以使用训练数据来训练和更新表示学习模型。表示学习模型可以被训练,以在为每个训练示例生成特征值时更加精确,可以将各个OCC配置为接收和处理,以生成它们自己的更加精确的分类。
数据细化和更新作为STOC的一部分所实施的各种模型的过程可以帮助改进输出分类器模型的精度,输出分类器模型本身可以是各种不同OCC中的任何一个。例如,由STOC实施的OCC可以包括一类支持向量机(OC-SVM)、核密度估计模型(KDE)、高斯密度估计模型(GDE)或基于自动编码器的模型。在不同的示例中,OCC可以是浅层或深度神经网络,例如,除了输入层和输出层之外,还具有零个或多个隐藏层。由STOC实施的OCC可以使用用于几何变换、离群值暴露或支持向量数据描述(SVDD)的任何技术来实施。此外,未标记的训练示例的存在不影响STOC相对于其它方法的精度,至少因为STOC可以迭代地移除异常训练示例并且从细化的训练数据学习。与在更多异常训练示例的情况下表现得更差的先前方法相比,STOC可以比在没有如本文中描述的数据细化的数据上所训练的一类分类器表现得更好,至少因为训练数据的细化以及作为细化结果的改进的表示学习和分类。
一旦被训练,STOC可以应用于其中异常检测可以帮助识别潜在的风险或危险的任何设置中,该潜在的风险或危险可以从表示诸如人、系统或环境的行为或状态的事物的数据中被识别。至少因为根据本公开各方面所生成的细化的训练数据可以提供更精确训练的模型,而不要提供标记的训练示例的附加计算工作量,所以改进了异常检测。
作为示例,到STOC的输入可以是图像、视频、音频或者音频和视频的组合的形式。输入可以从制造地点处的传感器获取,在该制造地点中加工或制造不同的部件,例如用于建筑或车辆组装。STOC可以接收组装线上的部件的视频或图像,并且识别异常部件,例如,具有缺陷的部件或者与正在被制造的非异常部件不同的部件。作为示例,异常部件可以被标记并且放在一边以用于进一步检查,或者被自动地丢弃。
作为另一示例,对STOC的输入可以是与特定格式对应的一个或多个数据文件,例如HTML文件、表格、图表、日志、文字处理文档,或者从其它类型的数据获得的格式化元数据,诸如图像文件的元数据。在STOC处理指示各种信用卡交易的记录表的示例中,STOC可以识别异常交易,该异常交易可以被标记为与欺诈活动潜在有关而被进一步调查。
其它类型的输入文档可以是与互连设备的网络的特性有关的数据。这些输入文档可以包括网络活动日志,以及关于不同的计算设备跨监视网络访问不同的潜在敏感数据源的访问权限的记录。STOC可以被训练用于处理这些和其它类型的文档,用于预测潜在指示正在进行和将来的网络安全漏洞的异常流量。
作为又一示例,STOC可以被训练为通过各种不同的模态(例如,图像,视频以及文本、数字和/或分类信息)分析患者数据,以识别异常模式和/或识别接收到的视频或图像中的异常区域。检测到的异常可以被自动地标记,以用于由健康护理提供者审核,从而帮助基于检测到的异常和其它信息来准备诊断或治疗计划。
作为又一示例,STOC可以被训练为处理制造线或其它工业过程的图像、音频和/或视频,以识别异常,例如在如何进行该过程中和/或在根据该过程所生成的产品中。在一些情况下,STOC被实施为工业处理监视系统的一部分,以用于接收输入数据并且从接收到的输入数据生成检测到的异常发生的指示和/或报告。
作为又一示例,STOC可以被训练为检测资源分配系统上的云计算资源的不适当使用。例如,云计算平台可以被配置为向各种用户分配计算资源,例如计算时间或存储。根据本公开各方面所训练的系统可以识别分配的计算资源的异常使用,该异常使用例如可以指示不许可的活动,诸如资源的滥用,例如用于诸如网络入侵的恶意活动。
作为又一示例,STOC可以被训练为处理交易数据,例如金融交易,以识别指示欺诈行为的异常。欺诈行为可以包括未批准的信用卡交易,例如通过未授权的用户或洗钱活动。这些和其它欺诈活动破坏了由管理主题交易的系统所提供的技术安全。
还可以在时间序列数据上训练STOC,该时间序列数据可以以各种不同的模态存在,诸如表格数据、图像数据、音频数据等。时间序列数据可以出现在异常检测应用中,诸如上面描述的那些应用。除了通过其与数据集中的其它数据点的关系来识别异常数据之外,STOC还可以使用附加的时间维度来识别异常数据,例如,根据其在时间段(例如,每小时、每日、每周等)期间的发生来识别异常或非异常数据模式的模式。在上面提供的示例中,在细化训练数据以省略异常训练示例之后,STOC能够检测在训练中所使用的数据类型的异常。
示例系统
图1是根据本公开各方面的示例自训练一类分类器100(STOC)的框图。STOC 100包括数据细化引擎110和输出分类器模型150。数据细化引擎110被配置为接收训练数据112,并且生成细化的训练数据114。训练数据112可以包括一个或多个训练示例,这些训练示例可以根据各种不同的源以各种不同的格式来提供。训练数据112的示例格式包括图像、音频剪辑、文本、视频剪辑,以及根据各种不同数据结构(包括表格、图形、日志和转录)中的任何一个所构造的数据。训练数据112可以包括多个未标记的训练示例,诸如图像帧、音频剪辑的部分、文本、来自表格或日志的记录,或者可以被处理用于异常检测的任何其它数据。
训练数据112的训练示例是未标记的,并且可以包括异常和非异常示例的组合。当训练示例或输入数据的特性与其它示例或输入数据相差某个判定边界时,该示例或数据被认为是异常的。作为对输入数据是否异常进行分类的一部分,如本文中描述的STOC 100通过在训练数据112上训练来学习判定边界。例如,异常数据可以是相对于其它接收数据(包括噪声)的统计离群值。
训练数据112是未标记的,这意味着与其中至少一些训练示例是异常或非异常的监督或半监督设置不同,训练数据112不包括用于其训练示例的标记。训练数据112被假定为包括比非异常训练示例更少的异常训练示例,并且例如可以根本不包括异常训练示例。如本文中描述的数据细化引擎110被配置为细化训练数据112以将训练示例分类为异常或非异常,并且如果训练数据112中存在任何异常训练示例,则在生成的细化训练集114中排除异常训练示例。
训练数据112本身可以由数据细化引擎110从各种不同的源接收。例如,如参考图6更详细地描述的,STOC 100可以在通过网络与其它设备通信的一个或多个设备上实施。训练数据112可以由网络上的其它设备接收,或者由实施STOC 100的一个或多个设备接收。训练数据112可以通过某个接口从设备发送到设备,该接口例如是被配置用于向STOC 100发送训练数据的用户接口。
数据细化引擎110可以在训练数据112上进行数据细化的一次或多次迭代,以生成细化的训练数据114。细化的训练数据114是通过将训练示例分类为异常或非异常并且从训练数据112中排除由数据细化引擎110分类为异常的一个或多个训练示例而处理过的训练数据。剩余的训练示例变为细化的训练数据114的一部分。
细化的训练数据114可以作为输入被提供到数据细化引擎110,用于进一步细化,例如附加分类和生成附加细化的训练数据114。细化的训练数据114用于训练被实施为STOC100的一部分的各种机器学习模型,包括OCC 116A-K和输出分类器模型150。
在由数据细化引擎110进行数据细化的最后迭代之后,STOC 100使用细化的训练数据114来训练输出分类器模型150。数据细化的最后迭代可以响应于一些预定的停止标准而发生。例如,停止标准可以是预设的迭代次数、从细化迭代中排除的训练示例的最小数量,或者细化之后训练数据的最小大小。
输出分类器模型150可以根据用于无监督学习的各种不同方法中的任何一个、使用未标记的训练数据并且根据一个或多个模型训练标准来训练。在一些示例中,模型训练标准可以是无监督训练过程的最大或最小迭代次数、在某个阈值内收敛到目标精度,和/或某个时间量。输出分类器模型150可以是适于一类分类的任何种类的机器学习模型,例如,任何种类的一类分类器,诸如OC-SVM、KDE、GDE、基于自动编码器的模型,或者根据用于具有深度或浅层模型的一类分类的任何技术来实施,例如如本文中参考由STOC 100实施的OCC116A-K和OCC描述的。作为训练的一部分,输出分类器模型150学习用于预测训练示例是异常还是非异常的判定边界。
输出分类器模型150的特定输出可以是二进制标签,例如异常或非异常,或者与输入数据是否属于非异常数据类别的概率对应的概率或分数。在一些示例中,输出分类器模型150可以生成用于异常或非异常预测的分离输出,而在其它示例中,输出分类器模型150仅当模型150预测输入数据属于异常数据类别或非异常数据类别时才生成输出。
在生成输出分类之后,STOC 100可以发送用于进一步处理的数据,作为用于接收输入数据并且在该输入数据上进行异常检测的处理流水线的一部分。例如,响应于预测异常,STOC 100可以将与异常对应的数据传递到一个或多个处理器,该一个或多个处理器被配置为响应于接收到异常数据而进行某个动作。异常数据可以被标记用于进一步审核,例如手动审核或者由一个或多个处理器自动地进行。异常数据可以被记录并且保存在存储器中,以用于在稍后的日期进行审核。在其它示例中,异常数据可以被进一步处理,以用于对由数据指示的异常类型进行分类,和/或评估对系统、一个或多个实体和/或对受检测到的异常潜在影响的进程的威胁或脆弱性。
返回到数据细化引擎110,引擎110可以限定训练流水线120(在引擎110内被示为实线箭头)和推理流水线118(在引擎110内被示为虚线箭头)。在训练流水线120中,训练数据112的子集112A-K被发送到OCC 116A-K。在一些示例中,子集112A-K可以被均匀划分并且从训练数据112中随机采样。数据细化引擎110被配置为使用相应的子集112A-K来训练OCC116A-K中的每一个。例如,如图1中示出的,使用子集112A来训练模型A 116A,使用112B来训练模型B 116B,使用112C来训练模型C 116C,并且使用112K来训练模型K 116K。OCC 116A-K可以是各种不同类型的OCC中的任何一个的组合,诸如OC-SVM、KDE、GDE、基于自动编码器的模型,或者例如根据用于具有深度或浅层模型的一类分类的任何技术来实施。
数据细化引擎110可以根据一个或多个模型训练标准,例如用于训练输出分类器模型150的模型训练标准,来训练每个OCC 116A-K。如本文中描述的,数据细化引擎110可以利用细化的训练数据112的子集来训练或重新训练OCC 116A-K。如本文中相对于图5描述的数据细化的第一次迭代中,训练数据112可以是由STOC 100接收到的初始训练数据。可以类似于输出分类器模型150来训练每个OCC 116A-K,例如,根据具有细化的训练数据的无监督学习方法,以预测输入数据是属于限定异常还是非异常数据的类别。
在数据细化的每次迭代之后、在预定次数的迭代之后(例如,在数据细化的每5次或50次迭代之后)或者根据某个预定调度被训练,OCC 116A-K可以被重新训练以更新OCC116A-K的模型参数值。在一个示例训练调度中,在第1次迭代、第2次迭代、第5次迭代、第10次迭代、第20次迭代、第50次迭代、第100次迭代、第500次迭代之后训练OCC 116A-K,然后再每500次迭代一次,直到满足停止标准。
在推理流水线118中,数据细化引擎110通过每个OCC 116A-K处理训练数据112中的每个训练示例,以由OCC 116A-K生成数个各个预测。各个预测可以被表示为与OCC是否已经以某个概率将训练示例预测为异常对应的分数。分数的示例公式可以是1减去OCC的输出概率。接近0的分数与OCC已经检测到异常的较高概率对应,而接近1的分数与OCC尚未检测到异常的较高概率对应。
交点引擎122可以接收每个单独预测,并且将单独预测与一个或多个阈值进行比较。阈值可以是模型特定的,并且是基于由模型为每个训练示例生成的分数分布的预定百分位数值。本文中参考图4描述了一个或多个阈值的示例百分位数值和计算。交点引擎122可以接收来自OCC 116A-K的每个单独预测,并且为训练示例生成伪标签。例如,如果任何单独预测不满足相应阈值,则伪标签可以指示训练示例是异常的。基于训练示例的伪标签,交点引擎122可以被配置为基于伪标签而将训练示例分类为异常或非异常,并且如果伪标签指示训练示例是异常的,则排除训练示例。通过推理流水线118处理训练数据112中的每个训练示例,以生成细化的训练数据114。
使用多个一类分类器可以解释使用单个模型的变化或潜在的不精确性。在生成用于分类训练示例的伪标签时,所得到的集合可以比单个模型更稳健,至少因为通过多个模型的一致性减少了假阳性或假阴性的风险。
在数据细化的迭代之后,例如,使用训练流水线120在当前训练数据112上训练OCC116A-K,并且通过每个OCC 116A-K和交点引擎122在当前训练数据112上处理每个训练示例,如果尚未满足停止标准,则细化的训练数据114可以再次通过训练流水线120和推理流水线118循环回来用于随后的迭代。以该方式,STOC 100促进训练OCC 116A-K的自监督过程,至少因为可以在使用先前获得的伪标签所生成的细化的训练数据114上重新训练OCC116A-K。
图2是包括表示学习模型210的示例STOC 200的框图。STOC 200可以包括与STOC100相同或类似的组件,例如数据细化引擎110和输出分类器模型150。表示学习模型210可以被训练为从细化的训练数据114中为细化的训练数据114中的每个训练示例生成一个或多个特征值。特征值可以是某个特性或特征或训练示例的可量化测量。特征值可以以各种不同的格式来表示,例如作为文本值、数值或分类值。然后,表示学习模型210可以利用预测的特征值来增强细化的训练数据114,该预测的特征值可以由OCC 116A-K和输出分类器模型150接收以用于训练/处理。示例表示学习模型可以包括旋转预测网络、去噪自动编码器和分布增强对比学习方法。
通过首先学习每个训练示例的一个或多个特征值的表示,表示学习模型210可以通过OCC 116A-K处理增强有学习的特征值的训练数据来改进模型精度。类似于OCC 116A-K,表示学习模型210本身可以根据自监督方法、使用细化的训练数据114和模型训练标准(例如,用于训练OCC 116A-K的模型训练标准)来训练。与OCC 116A-K一样,在数据细化的每次迭代之后、或者在预定次数的迭代或预定调度之后,表示学习模型210可以利用细化的训练数据114被重新训练。该方法可以防止OCC 116A-K的简并性,特别是如果OCC 116A-K被实施为包括一个或多个隐藏层的深度神经网络。
示例方法
图3是用于使用未标记的训练数据来训练STOC的示例过程300的流程图。
根据框310,STOC接收未标记的训练数据。根据框320,STOC使用(细化的)训练数据来训练多个第一机器学习模型。第一机器学习模型可以是如本文中参考图1至图2描述的OCC 116A-K。在数据细化的第一次迭代中,根据框310,训练数据是接收到的初始训练数据。
根据框330,STOC细化未标记的训练数据。如本文中参考图1至图2描述并且如参考图5更详细地描述的,STOC通过将训练示例分类为异常或非异常来细化未标记的训练数据,并且通过被预测为异常的那些示例来生成细化的训练数据。
根据判定框340,STOC确定是否已经满足停止训练STOC的停止标准。如本文中参考图1至图2描述的,STOC可以被配置为具有预定的停止标准,以在进行一次或多次迭代之后停止数据细化。
如果STOC确定已经满足停止标准(“是”),则根据框350,STOC使用细化的训练数据来训练第二机器学习模型。第二机器学习模型可以是如本文中参考图1至图2描述的输出分类器模型150。
如果STOC确定尚未满足停止标准(“否”),则STOC重复根据框320、330和判决框340的操作。在数据细化的每次迭代之后不训练第一机器学习模型的示例中,STOC被配置为基于如本文中描述的预定次数的迭代或调度,跳过根据框320训练多个第一机器学习模型。
图4是根据本公开各方面的用于细化未标记的训练数据的示例过程400的流程图。过程400被描述为对于单个训练示例进行。STOC被配置为对于训练集中的训练示例的至少一部分(例如,被保留用于测试)进行过程400。在其它示例中,STOC对于训练数据中的每个训练示例进行过程400。
根据框410,STOC接收未标记的训练示例。
根据框420,STOC从多个第一机器学习模型计算归一性分数。
根据判定框430,STOC确定每个归一性分数是否满足阈值。如果STOC确定每个归一性分数满足阈值(“是”),则过程400结束。
训练示例xi的伪标签可以被表示为如下:
在(1)中,1(·)是指示符函数,该指示符函数对于真输入输出1并且对于假输入输出0。fk(xi)是第一机器学习模型k(例如,如图1中所示的OCCK)的输出分数。将每个模型k的输出分数与相应阈值ηk进行比较。如果单独预测fk(xi)大于阈值ηk,则1(fk(xi)≥ηk)输出到0,否则输出到1。
每个1(fk(·))都相乘,如果任何单独1(fk(·))为0,则乘积为0,否则为1。因此,如果任何1(fk(·))为0,则伪标签为1,对应于至少一个模型预测训练示例是异常的。如果每个单独1(fk(·))为1,则伪标签/>为0,对应于跨每个第一机器学习模型一致认为训练示例是非异常的。以该方式,训练示例被标记为异常,除非在预测训练示例是非异常时,跨每个模型存在整体一致,以增加真正异常的训练示例被排除在训练数据之外的机会。在一些示例中,代替用于每个模型k的多个指示符函数的乘法,伪标签可以被表示为每个指示符函数的结果的逻辑结合,例如逻辑与。在一些示例中,STOC可以从来自每个第一机器学习模型的各个预测来计算具有较低要求的伪标签。例如,伪标签可以指示训练示例是非异常的。
对于当前迭代中的训练数据中的训练示例,对于由模型k输出的所有分数,模型的阈值被计算为模型k的分数分布的某个百分位数阈值γ。阈值ηk可以被表示为:
η使得
百分位数阈值γ可以被设置为超参数。如果百分位数阈值较大,则更多的示例被预测是异常的,这可能导致更多的异常和训练示例被整体排除。如果百分位数阈值较小,则细化的训练数据仍然可能包括异常训练示例,但是在细化的训练数据中的非异常训练示例中提供更多的覆盖。如果真实异常比率是已知的,则百分位数阈值ατα可以被设置为训练数据中的该比率的函数。例如,百分位数阈值ατα可以被设置为真实异常比率和两倍真实异常比率(作为示例)之间的值。如果真实异常比率是未知的,或者如果该比率是零,例如,因为在训练数据中不存在异常示例,则百分位数阈值ατα可以是预定值,例如,.1或.5。
在一些示例中,代替接收百分位数阈值ατα,STOC可以从训练数据中划分异常和非异常示例的识别或估计的阈值生成或接收百分位数阈值ατα。通过识别或估计异常比率,即使当真实异常比率未知或未被提供到STOC时,STOC也可以细化未标记的训练数据。基于在优化过程的一次或多次迭代上对训练数据中的异常和非异常训练示例之间的相应类内方差进行最小化,STOC可以生成百分位数阈值。
为了识别或估计阈值,STOC可以进行优化过程以减少训练数据中的异常和非异常训练示例之间的类内方差。减少类内方差增加了将异常示例与其它异常示例进行聚类以及将非异常示例与其它非异常示例进行聚类的机会。类内方差可以被表示为两个类别(异常和非异常)的方差的加权和。在减少类内方差的优化过程期间,STOC可以搜索使每个类别的方差的和最小化的阈值。可以使用的一个示例过程是Otsu方法。
STOC可以进行Otsu方法或另一优化过程的一次或多次迭代,直到满足一个或多个停止标准。用于进行用于识别阈值的优化过程的停止标准可以包括预定的最大迭代次数、迭代之间的阈值的最小变化值等。
STOC 200可以进行Otsu方法或另一过程以识别正常和异常样本之间的阈值,使用该阈值来选择对应的百分位数阈值γ。例如,给定来自N个训练示例的归一性分数STOC搜索使训练数据的两个类别之间的方差的加权和最小化的阈值η。如果两个类别的方差分别被表示为σ0(η)和σ1(η),并且两个类别的方差的权重被表示为/>和则最佳阈值(η*)可以被确定为:
η*=w0(η)×σ0(η)+w1(η)×σ1(η)
如本文中描述的,STOC可以使用识别或估计的阈值的函数η*,例如,高达识别或估计的阈值的两倍,作为超参数百分位数阈值γ。
在STOC包括表示学习模型的示例中,除了原始训练示例之外,或者作为原始训练示例的替代,每个模型还处理由数据细化模型生成的特征值。表示学习模型可以由函数g(·)表示,并且生成伪标签可以被表示为:
在一些示例中,如果STOC不包括表示学习模型,则可以根据公式(3)来表示生成伪标签,其中g(·)是恒等函数。
OCC 116A-K的数量可以被预定为STOC 100的超参数。模型的确切数量可以根据实施方式而变化,这取决于例如实施STOC 100的硬件的硬件约束,和/或STOC 100被训练以进行的异常检测的特定任务的性质。OCC 116A-K的数量也可以被确定为各个OCC性能和伪标签的稳健性与各个OCC 116A-K的输出中的随机性之间的折衷。例如,当OCC 116A-K的数量较大时,被预测为非异常的异常训练样本的可能性较低,因为如果任何一个OCC预测该示例是异常的,则伪标签也将反映该示例是异常的。然而,较小数量的OCC 116A-K允许在每个子集112A-K中提供更多的训练数据,这可以通过整体训练来改进每个OCC的性能。OCC 116A-K的示例数量可以在二和十之间,虽然通常可以根据实施方式使用任何数量的OCC 116A-K。
根据框440,如果STOC确定至少一个归一性分数不满足阈值(“否”),则STOC从训练数据中排除训练示例。训练示例不被包括在细化的训练数据中。在一些示例中,在排除训练示例之后,STOC可以将训练示例保存在存储器中,以稍后被审核。例如,可以手动地审核训练示例,以用于附加了解训练数据中的异常数据的性质,这可以驱动对训练数据和/或STOC的超参数的后续修改,诸如百分位数阈值和/或数据细化引擎中的各个OCC的数量。
图5是用于利用表示学习模型来训练STOC的示例过程500的流程图。
根据框510,STOC接收未标记的训练数据。例如,如本文中参考图1并且参考图3的框310描述的,STOC接收未标记的训练。
根据框520,STOC使用(细化的)未标记的训练数据来训练表示学习模型。根据一些示例,可以在数据细化的第一次迭代之前在训练数据上初始地训练表示学习模型,或者在数据细化的第一次迭代之后初始地训练表示学习模型。
根据框530,STOC使用(细化的)训练数据来训练多个第一机器学习模型。例如,如本文中参考图1并且参考图3的框320描述的,STOC使用(细化的)训练数据来训练多个第一机器学习模型。
根据框540,STOC细化未标记的训练数据。例如,STOC可以对于训练数据中的每个训练示例进行过程400,以使用生成的伪标签对训练示例进行分类,并且从数据中排除被预测为异常的训练示例。
根据判定框550,STOC确定是否已经满足停止训练STOC的停止标准。停止标准可以与如参考图3的判定框340描述的停止标准相同或类似。
如果STOC确定已经满足停止标准(“是”),则根据框560,STOC使用细化的训练数据来训练第二机器学习模型。第二机器学习模型可以是图1至图2的输出分类器模型150,并且可以如本文中根据图1和图3的框350描述的被训练。如果STOC确定尚未满足停止标准(“否”),则STOC重复根据框520、530、540和判决框550的操作。如本文中参考图3描述的,如果STOC被配置为在数据细化的每次迭代之后不重新训练第一机器学习模型或第二机器学习模型,则STOC根据框520或530对于预定次数的迭代和/或预定调度来训练。
示例计算环境
图6是实施示例STOC 601的示例计算环境600的框图。例如,如本文中参考图1至图2描述的,STOC 601可以是STOC 100或STOC 200。STOC 601可以在一个或多个位置中具有一个或多个处理器的一个或多个设备上实施,诸如在服务器计算设备615中实施。用户计算设备612和服务器计算设备615可以通过网络660通信地耦接到一个或多个存储设备630。存储设备630可以是易失性和非易失性存储器的组合,并且可以位于与计算设备612,615相同或不同的物理位置。例如,存储设备630可以包括能够存储信息的任何类型的非暂时性计算机可读介质,诸如硬盘驱动器、固态驱动器、带驱动器、光存储、存储器卡、ROM、RAM、DVD、CD-ROM、能够写入并且只读的存储器。
服务器计算设备615可以包括一个或多个处理器613和存储器614。存储器614可以存储由处理器613可访问的信息,包括可以由处理器613执行的指令621。存储器614还可以包括可以由处理器613检索、操纵或存储的数据623。存储器614可以是一种能够存储由处理器613可访问的信息的非暂时性计算机可读介质,诸如易失性和非易失性存储器。处理器613可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)和/或专用集成电路(ASIC),诸如张量处理单元(TPU)。
指令621可以包括一个或多个指令,当该指令由处理器613执行时,该指令使得一个或多个处理器进行由该指令限定的动作。指令621可以以用于由处理器613直接处理的对象代码格式存储,或者以包括可解释的脚本或独立源代码模块的集合的其它格式存储,该脚本或集合按需被解释或预先被编译。指令621可以包括用于实施与本公开各方面一致的过程300-500的指令。可以使用处理器613和/或使用远离服务器计算设备615的其它处理器来执行过程300-500。
数据623可以由处理器613根据指令621来检索、存储或修改。数据623可以存储在计算机寄存器中、关系或非关系数据库中,作为具有多个不同字段和记录的表,或者作为JSON、YAML、Proto或XML文档。数据623也可以以计算机可读格式格式化,诸如但是不限于二进制值、ASCII或Unicode。此外,数据623可以包括足以识别相关信息的信息,诸如数字、描述性文本、专有代码、指针、对其它存储器中存储的数据的参考(包括其它网络位置)、或者由函数使用来计算相关数据的信息。
用户计算设备612也可以以与服务器计算设备615类似的方式来配置,具有一个或多个处理器616、存储器617、指令618和数据619。用户计算设备612还可以包括用户输出626和用户输入624。用户输入624可以包括用于接收来自用户的输入的任何适当的机制或技术,诸如键盘、鼠标、机械致动器、软致动器、触摸屏、麦克风和传感器。
服务器计算设备615可以被配置为将数据传送到用户计算设备612,并且用户计算设备612可以被配置为在实施为用户输出626的一部分的显示器上显示接收到的数据的至少一部分。用户输出626还可以用于显示用户计算设备612和服务器计算设备615之间的接口。用户输出626可以替代地或附加地包括一个或多个扬声器、换能器或其它音频输出、向用户计算设备612的平台用户提供非视觉和非听觉信息的触觉接口或其它触觉反馈。
虽然图6示出了处理器613,616和存储器614,617在计算设备615,612内,但是本说明书中描述的组件(包括处理器613,616和存储器614,617)可以包括多个处理器和存储器,它们可以在不同的物理位置中操作,而不是在相同的计算设备内操作。例如,指令621,618和数据623,619中的一些可以存储在可移动SD卡上,而其它可以存储在只读计算机芯片内。指令和数据中的一些或全部可以存储在物理上远离处理器613,616但是仍然由处理器613,616可访问的位置中。类似地,处理器613,616可以包括可以进行并发和/或顺序操作的处理器的集合。计算设备615,612可以各自包括提供定时信息的一个或多个内部时钟,该定时信息可以用于由计算设备615,612运行的操作和程序的时间测量。
服务器计算设备615可以被配置为接收请求,以处理来自用户计算设备612的数据。例如,环境600可以是计算平台的一部分,该计算平台被配置为通过暴露平台服务的各种用户接口和/或API向用户提供各种服务。一个或多个服务可以是机器学习框架或工具组,用于根据指定任务和训练数据来生成神经网络或其它机器学习模型。用户计算设备612可以接收和传送指定要被分配用于执行被训练为进行特定神经网络任务的神经网络的目标计算资源的数据。
设备612,615能够通过网络660进行直接和间接通信。设备615,612可以建立侦听套接字,该侦听套接字可以接受用于发送和接收信息的启动连接。网络660本身可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟私有网、广域网、局域网以及使用一个或多个公司专有的通信协议的私有网。网络660可以支持各种短距离和长距离连接。短距离和长距离连接可以在不同的带宽上进行,诸如2.402GHz到2.480GHz(通常与 标准相关联)、2.4GHz和5GHz(通常与/>通信协议相关联);或者具有各种通信标准(诸如用于无线宽带通信的/>标准)。附加地或替代地,网络660还可以支持设备612,615之间的有线连接,包括通过各种类型的以太网连接。
虽然图6中示出了单个服务器计算设备615和用户计算设备612,但是应该理解的是,可以根据计算设备的各种不同配置和数量来实施本公开各方面,包括在用于顺序或并行处理的范例中或者在多个设备的分布式网络上实施本公开各方面。在一些实施方式中,可以在单个设备及其任何组合上进行本公开各方面。
本公开各方面可以在数字电路、计算机可读存储介质(包括非暂时性计算机可读存储介质)中实施为一个或多个计算机程序或者前述中的一个或多个的组合。计算机可读存储介质可以是非暂时性的,例如,作为由云计算平台可执行并且存储在有形存储设备上的一个或多个指令。
在本说明书中,短语“被配置为”用在与计算机系统,硬件,或者计算机程序、引擎或模块的一部分相关的不同情境中。当系统被称为被配置为进行一个或多个操作时,这意味着系统具有安装在系统上的适当的软件、固件和/或硬件,当在操作中时,软件、固件和/或硬件使得系统进行一个或多个操作。当一些硬件被称为被配置为进行一个或多个操作时,这意味着硬件包括一个或多个电路,当在操作中时,电路接收输入并且根据输入生成输出,并且对应于一个或多个操作。当计算机程序、引擎或模块被称为被配置为进行一个或多个操作时,这意味着计算机程序包括一个或多个程序指令,当由一个或多个计算机执行时,一个或多个程序指令使得一个或多个计算机进行一个或多个操作。
虽然以特定的顺序示出了附图中所示和权利要求中记载的操作,但是应该理解的是,可以以与所示的顺序不同的顺序来进行操作,并且一些操作可以省略、进行多于一次和/或与其它操作并行地进行。此外,被配置用于进行不同操作的不同系统组件的分离不应该被理解为需要分离组件。描述的组件、模块、程序和引擎可以被集成在一起作为单个系统或者作为多个系统的一部分。在实施根据本公开各方面的示例STOC的一个或多个位置中的一个或多个处理器可以进行附图中所示和权利要求中记载的操作。
除非另外说明,否则前述替代示例不是相互排斥的,而是可以以各种组合来实施以实现独特的优点。因为可以在不脱离由权利要求限定的主题的情况下利用上面讨论的特征的这些和其它变形以及组合,所以示例的前述描述应该通过说明由权利要求限定的主题的方式而不是通过限制由权利要求限定的主题的方式来进行。此外,本文中描述的示例的提供,以及措辞为“诸如”、“包括”等的条款,不应该被解释为将权利要求的主题限制于特定示例;相反,示例仅旨在说明许多可能实施方式中的一个实施方式。此外,不同附图中的相同附图标记可以识别相同或类似的元素。
Claims (20)
1.一种用于异常检测的系统,其特征在于,所述系统包括一个或多个处理器,其中,所述一个或多个处理器被配置为:
接收未标记的训练数据,所述未标记的训练数据包括多个训练示例;
使用多个第一机器学习模型将所述训练示例中的每个训练示例分类为异常训练示例或非异常训练示例;
生成细化的训练数据集,所述细化的训练数据集包括被分类为非异常训练示例的所述训练示例;以及
使用所述细化的训练数据集来训练第二机器学习模型,以接收输入数据并且生成指示所述输入数据是异常还是非异常的输出数据。
2.根据权利要求1所述的系统,其特征在于,所述未标记的训练数据包括一个或多个异常训练示例以及一个或多个非异常训练示例。
3.根据权利要求1所述的系统,其特征在于,所述一个或多个处理器还被配置为使用所述细化的训练数据集来训练所述多个第一机器学习模型。
4.根据权利要求1所述的系统,其特征在于,所述一个或多个处理器被配置为进行以下的附加迭代:
使用所述多个第一机器学习模型对所述训练示例中的每个训练示例进行分类;以及
基于所述附加迭代,更新所述细化的训练数据集。
5.根据权利要求4所述的系统,其特征在于,
所述一个或多个处理器还被配置为使用所述细化的训练数据集来训练第三机器学习模型,其中,所述第三机器学习模型被训练为接收训练示例,并且为接收到的所述训练示例中的每个训练示例生成一个或多个相应特征值;以及
其中,为了使用所述多个第一机器学习模型对所述未标记的训练数据进行分类,所述一个或多个处理器被配置为使用所述多个第一机器学习模型来处理所述未标记的训练数据中的每个训练示例的相应一个或多个特征值,其中,使用所述第三机器学习模型来生成所述相应一个或多个特征值。
6.根据权利要求5所述的系统,其特征在于,所述一个或多个处理器被配置为进行使用所述细化的训练数据集来训练所述第三机器学习模型的附加迭代。
7.根据权利要求1所述的系统,其特征在于,所述一个或多个处理器还被配置为:
使用所述未标记的训练数据的相应子集来训练所述第一机器学习模型中的每个第一机器学习模型;
通过所述多个第一机器学习模型中的每个第一机器学习模型来处理所述未标记的训练数据中的第一训练示例,以生成与所述第一训练示例是非异常或异常的相应概率对应的多个第一分数;
确定至少一个第一分数不满足一个或多个阈值;以及
响应于确定所述至少一个第一分数不满足一个或多个阈值,从所述未标记的训练数据中排除所述第一训练示例。
8.根据权利要求7所述的系统,其特征在于,所述一个或多个阈值是基于与所述未标记的训练数据中的训练示例是非异常或异常的相应概率对应的分数分布的预定百分位数值。
9.根据权利要求8所述的系统,其特征在于,所述一个或多个阈值包括多个阈值,每个阈值是基于从由所述多个第一机器学习模型中的相应第一机器学习模型处理的训练示例所生成的相应分数分布的所述预定百分位数值。
10.根据权利要求9所述的系统,其特征在于,所述一个或多个处理器还被配置为:
基于在优化过程的一次或多次迭代上对所述训练数据中的异常和非异常训练示例之间的相应类内方差进行最小化,生成所述一个或多个阈值。
11.一种用于异常检测的方法,其特征在于,所述方法包括:
由一个或多个处理器接收未标记的训练数据,所述未标记的训练数据包括多个训练示例;
由所述一个或多个处理器使用多个第一机器学习模型将所述训练示例中的每个训练示例分类为异常训练示例或非异常训练示例;
由所述一个或多个处理器生成细化的训练数据集,所述细化的训练数据集包括被分类为非异常训练示例的所述训练示例;以及
由所述一个或多个处理器使用所述细化的训练数据集来训练第二机器学习模型,以接收输入数据并且生成指示所述输入数据是异常还是非异常的输出数据。
12.根据权利要求11所述的方法,其特征在于,所述未标记的训练数据包括一个或多个异常训练示例以及一个或多个非异常训练示例。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括使用所述细化的训练数据集来训练所述多个第一机器学习模型。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括进行以下的附加迭代:
使用所述多个第一机器学习模型对所述训练示例中的每个训练示例进行分类;以及
基于所述附加迭代,更新所述细化的训练数据集。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括使用所述细化的训练数据集来训练第三机器学习模型,其中,所述第三机器学习模型被训练为接收训练示例,并且为接收到的所述训练示例中的每个训练示例生成一个或多个相应特征值;以及
当使用所述多个第一机器学习模型对所述未标记的训练数据进行分类时,包括使用所述多个第一机器学习模型来处理所述未标记的训练数据中的每个训练示例的相应一个或多个特征值,其中,使用所述第三机器学习模型来生成所述相应一个或多个特征值。
16.根据权利要求11所述的方法,其特征在于,所述方法还包括:
使用所述未标记的训练数据的相应子集来训练所述第一机器学习模型中的每个第一机器学习模型;
通过所述多个第一机器学习模型中的每个第一机器学习模型来处理所述未标记的训练数据中的第一训练示例,以生成与所述第一训练示例是非异常或异常的相应概率对应的多个第一分数;
确定至少一个第一分数不满足一个或多个阈值;以及
响应于确定所述至少一个第一分数不满足一个或多个阈值,从所述未标记的训练数据中排除所述第一训练示例。
17.根据权利要求16所述的方法,其特征在于,所述一个或多个阈值是基于与所述未标记的训练数据中的训练示例是非异常或异常的相应概率对应的分数分布的预定百分位数值。
18.根据权利要求17所述的方法,其特征在于,所述一个或多个阈值包括多个阈值,每个阈值是基于从由所述多个第一机器学习模型中的相应第一机器学习模型处理的训练示例所生成的相应分数分布的所述预定百分位数值。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
基于在优化过程的一次或多次迭代上对所述训练数据中的异常和非异常训练示例之间的相应类内方差进行最小化,生成所述一个或多个阈值。
20.一种其上已经存储有指令的一个或多个非暂时性计算机可读存储介质,其特征在于,当所述指令由一个或多个处理器执行时,所述指令使得所述一个或多个处理器进行操作,所述操作包括:
接收未标记的训练数据,所述未标记的训练数据包括多个训练示例;
使用多个第一机器学习模型将所述训练示例中的每个训练示例分类为异常训练示例或非异常训练示例;
生成细化的训练数据集,所述细化的训练数据集包括被分类为非异常训练示例的所述训练示例;以及
使用所述细化的训练数据集来训练第二机器学习模型,以接收输入数据并且生成指示所述输入数据是异常还是非异常的输出数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163193875P | 2021-05-27 | 2021-05-27 | |
US63/193,875 | 2021-05-27 | ||
PCT/US2022/031087 WO2022251462A1 (en) | 2021-05-27 | 2022-05-26 | Unsupervised anomaly detection with self-trained classification |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117396900A true CN117396900A (zh) | 2024-01-12 |
Family
ID=82214380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280038124.1A Pending CN117396900A (zh) | 2021-05-27 | 2022-05-26 | 具有自训练分类的无监督异常检测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220391724A1 (zh) |
EP (1) | EP4348527A1 (zh) |
CN (1) | CN117396900A (zh) |
WO (1) | WO2022251462A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230362180A1 (en) * | 2022-05-09 | 2023-11-09 | Oracle International Corporation | Semi-supervised framework for purpose-oriented anomaly detection |
-
2022
- 2022-05-26 EP EP22733793.8A patent/EP4348527A1/en active Pending
- 2022-05-26 US US17/825,788 patent/US20220391724A1/en active Pending
- 2022-05-26 CN CN202280038124.1A patent/CN117396900A/zh active Pending
- 2022-05-26 WO PCT/US2022/031087 patent/WO2022251462A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022251462A1 (en) | 2022-12-01 |
EP4348527A1 (en) | 2024-04-10 |
US20220391724A1 (en) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403349B2 (en) | Dark web content analysis and identification | |
Lipton et al. | Detecting and correcting for label shift with black box predictors | |
Ponti et al. | A decision cognizant Kullback–Leibler divergence | |
CN103703487B (zh) | 信息识别方法以及系统 | |
US20190318099A1 (en) | Using Gradients to Detect Backdoors in Neural Networks | |
Nair et al. | Covariate shift: A review and analysis on classifiers | |
US11379685B2 (en) | Machine learning classification system | |
CN114127747A (zh) | 用于分布外检测的似然比 | |
Yazdanbakhsh et al. | On deterministic chaos in software reliability growth models | |
Nowotny | Two challenges of correct validation in pattern recognition | |
JP7207540B2 (ja) | 学習支援装置、学習支援方法、及びプログラム | |
Siddalingappa et al. | Anomaly detection on medical images using autoencoder and convolutional neural network | |
Hussain et al. | Bayesian dynamic profiling and optimization of important ranked energy from gray level co-occurrence (GLCM) features for empirical analysis of brain MRI | |
CN117396900A (zh) | 具有自训练分类的无监督异常检测 | |
Murugan et al. | Impact of Internet of Health Things (IoHT) on COVID-19 disease detection and its treatment using single hidden layer feed forward neural networks (SIFN) | |
US20210365771A1 (en) | Out-of-distribution (ood) detection by perturbation | |
US20170154279A1 (en) | Characterizing subpopulations by exposure response | |
Sudha et al. | Analysis and evaluation of integrated cyber crime offences | |
US20210209489A1 (en) | Processing a classifier | |
US11727109B2 (en) | Identifying adversarial attacks with advanced subset scanning | |
Farag et al. | Inductive Conformal Prediction for Harvest-Readiness Classification of Cauliflower Plants: A Comparative Study of Uncertainty Quantification Methods | |
Jha | Anomaly Detection in Time Series Dataset | |
Ackerman et al. | Theory and Practice of Quality Assurance for Machine Learning Systems An Experiment Driven Approach | |
US20220327808A1 (en) | Systems And Methods For Evaluating The Error Rate Of Human-Generated Data | |
US20240012852A1 (en) | Image data bias detection with explainability in machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |