众所周知,异常检测(Anomaly Detection)可以帮助企业先于竞争对手识别出即将到来的趋势。它可以通过监控APP的流量来标记欺诈交易,并发现业务领域中的行为偏差,以便团队成员在事件发生前予以干预。本文将和您从如下方面展开深入讨论:
什么是异常检测?
AI异常检测是如何工作的?
典型AI异常检测用例
AI异常检测的实现
什么是异常检测?
作为数据挖掘的一种方式,异常检测通过分析公司数据来检测偏离既定基线(如数据集的标准行为)的数据点。这些异常值通常预示着一些事件,如设备的技术故障、客户偏好的变化、以及其他类型的异常。通过检测,公司能够在损害发生之前采取行动。
什么是异常?
在此,异常是指偏离熟悉模式的不一致数据点。尽管它并不总是一个显著的问题,但是仍然值得调查,以防止其进一步升级。其中,业务数据上的异常通常可分为三类:
全局异常点,是指异常远离其他数据的数据点。例如,您的银行账户每个月会收到 7000 美元。如果您突然收到一笔 5 万美元的转账,那么这就是全局异常点。
上下文异常点,是指在同一上下文中偏离的其他数据。例如,您所在的国家通常会在冬天下雪,而夏天则天气炎热。那么冬天下大雪就是正常情况。而在夏季降雪的话,就属于异常点。
集体异常点,是指某些数据点的子集偏离了整个数据集。例如,您观察到几种看似不相关的产品的销售额出现异常下降,但随后您意识到它们其中存在着某种联系,那么您的观察结果就能够被合并为一个集体异常点。
为什么需要AI进行异常检测?
当前,多数公司都要处理大量的结构化数据和非结构化数据,后者通常占公司内部产生信息的 90%。由于这些非结构化数据往往是由图像、交易、以及自由格式文本等组成,因此仅依靠人工去处理所有这些信息,并获取有意义的见解显然过于繁琐。
有研究表明,机器学习技术是处理大型非结构化数据集的最佳选择。您既可以从该领域的大量算法中选择某个最适合自己的,也可以将几种机器学习技术结合在一起,以获得最佳的效果。
AI异常检测是如何工作的?
目前,基于人工智能和机器学习的异常检测技术主要有三种:
有监督的异常检测。在此,机器学习模型能够在包含了正常与异常行为的全标记数据集上,进行训练和测试。这种方法在检测训练数据集中的偏差时效果比较好,但是在面对训练中未曾出现的新异常时,可能就会出现问题。毕竟监督技术需要人工操作和专业的领域知识,而这些往往需要有人对数据进行标注。
无监督异常检测。这种方法并不需要人工标注数据。其模型假定为:只存在一小部分与其他数据具有显著差异的数据点,才会构成异常。由于是根据异常点的特征,而不是训练过程中学到的知识,来检测异常点,因此无监督技术可以出色地识别出在训练过程中,未发现的新的异常点。不过,此类算法通常相当复杂。由于其架构是一个“黑盒子”,这意味着用户无法获得有关工具到底是如何做出决策的解释。
半监督异常检测。此类技术通过同时处置已标注和未标注的数据,来减少人工标注的成本。半监督异常检测模型会在部署之后,仍旧开展自我学习,以检测出训练中未发现的异常。此外,与无监督技术一样,这些模型也可以处理非结构化的数据。
基于AI的异常检测方法
异常检测可以依赖于人工智能、以及包括机器学习在内的各种子类型来实现。下面我们来讨论五种常见的机器学习技术:
自动编码器
自动编码器是一种无监督的人工神经网络。它可以压缩数据,然后重建数据,使其尽可能地接近原始的形式。此类算法可以有效地忽略噪声,并重建文本、图像和其他类型的数据。通常,自动编码器由两部分组成:
编码器,用于压缩输入数据
解码器,将数据解压缩,使其接近原始形式
在使用自动编码器时,我们应注意代码的大小,毕竟它将直接决定压缩率。而另一项重要的参数是层数。显然,层数越少,算法的速度虽然越快,但是可处理的特征也就越少。
贝叶斯网络
这是一种基于概率图的模型技术,可根据贝叶斯推理来计算概率。下图中的节点对应的是随机变量,而边则代表条件依赖关系,它们使得模型能够做出恰当的推断。
贝叶斯网络可用于诊断、因果建模、以及推理等方面。在异常检测中,该方法尤其适用于检测那些其他技术难以发现的细微偏差。同时,该方法还能够容忍训练过程中的数据缺失,就算在小数据集上进行训练时,也能够保持稳定的性能。
基于密度的模型
这是一种无监督机器学习聚类技术,纯粹依靠空间位置和相邻数据间的距离,来检测模式。它将一个数据点的密度值与其相邻数据点的密度值进行比较。离群点(异常点)的密度值将低于其他数据群。
支持向量机(SVM)
这是一种有监督的机器学习算法,通常可用于分类。当然,各种SVM扩展也可以在无监督环境中运行。该技术使用超平面(hyperplane),将数据点划分为不同的类别。
尽管 SVM 通常可以处理两到多种类别,但是在异常检测中,它主要分析单一类别的问题。也就是说,它会去学习某一类的“标准”,以确定数据点是否属于同一类,或者是否属于异常点。
高斯混合模型 (GMM)
GMM 属于一种概率聚类技术。该技术根据概率分布将数据划分为不同的聚类。它假定数据点属于具有未知参数的高斯分布的混合,并通过发现低密度区域的数据,来检测异常。
典型的AI异常检测用例
至此,您已经知道了异常检测在幕后是如何工作的,以及它所依赖的AI技术。下面我们来探讨一些不同行业的异常检测示例。
医疗保健的异常检测
异常检测可以帮助医生识别病人在健康方面出现的问题,检测住院病人的病情状况,并及时通知医务人员,以协助诊断和选择治疗方法。所有这些都将能够减少人工操作,减轻医生的认知负担。目前,医疗异常检测算法可以分析如下方面的信息:
协助医疗物联网设备测量生命体征和其他参数。
协助X 光和 CT 扫描等医学影像设备,显示良性和恶性肿瘤、各种感染、以及其他健康状况的迹象。
协助识别和阻止医疗保险索赔中的任何欺诈活动。
该领域的一个典型异常检测案例来自南非的研究小组。他们成功地将自动编码器和极端梯度提升技术相结合,监控了 COVID-19 患者的生理变量,并检测出任何表明健康状况恶化的异常情况。
而另一个团队不仅关注了异常点的检测,还关注了解释工具如何将异常点标记出来的原因。为此,他们首先使用异常检测技术来发现异常,然后部署了挖掘算法,来勾勒出一组特征。在这些特征中,某些数据点会被认为是偏离点。
娱乐业的异常检测
体育和娱乐环境往往依赖于数百个摄像头,进行广泛的视频安全监控。借助机器学习,算法可以分析设施内每个摄像头的视频流,并检测出违反安全规定的行为。
随着机器学习模型在工作中不断学习,它们会逐渐发现人工操作员无法注意到的威胁和违规行为。这些算法可以检测到破坏行为、观众骚乱、烟雾、可疑物品等,并向安保人员发出警报,以便他们有时间采取行动,防止主办方在责任和声誉上受损。
一家总部位于美国的娱乐公司在全美各地都设有游戏厅。他们建立了一套机器学习驱动的异常检测解决方案,并将其集成到基于云端的视频监控系统中。该应用不但可以捕捉任何危险和暴力行为,还能够发现被遗忘的物品和失灵的机器,从而简化了管理流程。他们主要依靠交叉验证来发现异常。例如,该方案可以通过“读取”屏幕上的错误信息,并将其与可用的屏幕模板进行验证,从而识别出存在故障问题的游戏机。同时,该方案与云安全系统无缝集成,实现了全天候的游戏机监控,并在发现异常时及时通知安全人员。
制造业的异常检测
随着生产过程的自动化程度越来越高,机器变得越来越复杂,设备也越来越大。因此,传统的监控方法已经不能满足需要。异常检测技术可以发现设备中与常规不同的偏差,并在其升级为事故之前通知维护人员,甚至学会区分小问题和紧迫问题。具体而言,异常检测可以为制造业发现如下问题:
设备故障。通过与制造物联网(IoT)传感器的协同,人工智能算法可以监控各种设备的参数,如振动和温度等,并捕捉到任何偏离正常值的情况。这些变化可能表明设备的超载,但也可能意味着故障的开始。算法将会标记出该设备,以便进一步检查。这也被称为预测性维护。
设备利用率不足。基于机器学习的异常检测解决方案,可以发现有哪些设备长期闲置,并敦促操作员平衡负载的分配。
安全隐患。通过监控安全摄像头,异常检测软件可以发现那些不遵守工厂安全协议、且危及自身安全的员工。如果员工使用可穿戴设备进行安全监控,机器学习则可以分析传感器数据,发现疲惫或生病的工人,并建议他们休息或离岗。
基础设施问题。人工智能算法可以检测到水或气体的泄漏、以及任何其他基础设施的损坏,并及时通知现场管理人员。
作为案例,Hemlock Semiconductor是美国的一家超纯多晶硅生产商。它通过部署异常检测,可以了解其流程,并记录任何偏离最佳生产模式的情况。据此,该公司每月可节省了约 30 万美元的资源消耗。
零售业的异常检测
异常检测可以帮助零售商识别不寻常的行为模式,并利用这些洞察来改善运营,并保护他们的业务和客户。人工智能算法可以捕捉到不断变化的客户需求,并提醒零售商停止采购滞销的产品,同时增加那些需求旺盛的商品进货。同时,异常情况还能够在商机的早期阶段,让零售商在竞争中抢先一步。此外,就电子商务而言,网站所有者则可以通过部署异常检测模型,来监控流量,以发现疑似欺诈活动的异常行为。
当然,零售商也可以使用异常检测技术,来确保其经营场所的安全。例如,鉴于在动作检测任务中的出色表现,依赖三维卷积神经网络的异常检测方法,可被用于广泛的斗殴数据集训练,进而无缝到集成到现有的安全系统中。
AI异常检测的实现
正如您所看到的,训练定制化的人工智能模型,以进行准确的异常检测是一项技术挑战。为了能够检测预定义的异常,并发现任何偏离既定标准的行为,我们通常需要通过如下五步来实现:
步骤 1:确定异常检测方法
这里有两种选择:要么是寻找数据中的特定异常,要么是标记所有偏离标准行为的数据。您的选择将影响到训练数据,并限制对于AI技术的选取。
如果您想捕捉每一个偏离基线的事件,那么就需要在代表正常行为的大数据集上训练模型。例如,假设您正在研究驾驶和交通安全,那么您的数据集将由展示安全驾驶的视频所组成。而如果您需要检测的是特定的异常情况,例如车祸,而不是闯红灯等轻微违规行为,那么您的训练数据集就需要包括车祸视频与图像。
步骤 2:汇总和预处理训练数据集
无论是从公司内部来源、还是使用公开数据集收集数据,上一步的结果都将有助您决定需要哪种类型的数据。接着,我们需要清理这些数据,以消除重复的、不正确、以及不平衡的条目。在数据集清理完毕之后,您可以使用扩展、归一化和其他数据转换技术,使数据集适合所选的AI算法。通常,我们可以将数据集分成三部分:
用于教学模型的训练数据
用于评估模型在训练过程中的表现的验证数据
在完成训练过程后对性能进行评分的测试数据
步骤 3:选择异常检测技术
为了构建一个定制化的AI技术解决方案,您需要考虑如下三个关键因素:
手头的任务(请参见上述步骤 1)。如果要检测具体定义的异常,变异自动编码器 (Variational Autoencoder,VAE) 是一个不错的选择。
技术要求。其中包含了您希望达到的准确度和细节水平。例如,如果您想训练一个能够发现视频中异常情况的机器学习模型,那么由于不同的算法会以不同的速度分析帧,因此决定最佳帧频才是关键。只要您想检测的异常情况能够在一秒钟之内出现,那么您就需要研究视频片段中的每一帧。而使用较慢的算法(如 VAE)显然就变得不切实际了。相反,奇异值分解 (Singular Value Decomposition,SVD) 则可以更快地完成此类任务。
训练数据集的大小。诸如自动编码器之类的模型,是无法在小数据集上进行正确的训练。
步骤 4:构建、购买和训练模型
您既可以购买现成的异常检测软件,也可以通过定制异常类型,实施满足独特需求的系统。
如果您的财力有限,没有可定制的训练数据集,或是没有时间进行模型训练,那么您可以选择现成的异常检测系统。不过,值得注意的是,此类解决方案往往都带有关于数据特征的内置假设,只有当这些假设成立时,它们才会有良好的表现。而如果贵公司的数据偏离了该基线,那么由算法所检测到的异常的准确性,将会大打折扣。
如果您有足够的数据来训练AI算法,那么您可以聘请机器学习开发公司,来构建和训练定制化的异常检测解决方案。该方案将能够满足您的业务需求,并适合您的流程。另一个最大的好处是,即使在部署之后,您仍然可以根据不断变化的业务需求,调整其设置,使其更快地关注到不同的参数,进而优化该解决方案。
步骤 5:部署和监控解决方案
您既可以在本地、也可以在云端部署异常检测解决方案。其中:
基于云端的异常检测,可以汇总来自软件系统、设备和第三方服务的数据,并将其传输到云端进行存储与处理,以减轻本地资源的负担。
边缘异常检测,可以通过机器学习算法在本地分析数据,只将部分数据上传到云端。这种方法最适用于不能容忍延迟的关键性任务系统,例如:自动驾驶汽车和医疗物联网等需求。
机器学习算法会在其工作中不断学习,以适应新的数据类型。当然,它们也可能会产生偏差或其他不良的倾向。为避免出现此类情况,您可以通过审计来重新评估算法的性能,并实施必要的调整。