1. 异常检测概述
2022年是数字化转型的关键一年。在控制人员聚集的时代,远程操作首先被数字化也就不足为奇了,企业通过从远程进行资产监控和诊断,特别是对于公用事业、制造、运输和石化燃料勘探等行业。通过物联网 (IoT)、数字孪生、可穿戴设备和人工智能服务进行远程服务和基于状态的维护变得越来越重要。随着Oracle推出OCI 异常检测服务,这些功能也比以往更加容易实施。
AI异常检测是一种在各行业广泛应用的先进技术。随着云计算、大数据、工业互联网、IoT、5G等技术的飞速发展,常见的异常检测已有以下众多的业务场景:
制造:提升运营效率。通过实时检测异常运营指标(例如产量、利用率和吞吐量)可以识别生产中的不良变化并生成自动化工作流程以立即采取行动。
运输:设备监控。设备故障意味着生产力下降,甚至会给员工带来风险。零件和机械的快速检测和根本原因分析使系统保持平稳运行。
金融和零售:欺诈检测。欺诈模式随着时间的推移而变化,传统的深度学习方法并不总能检测到非常大的数据源中的罕见事件。专业异常检测算法可以立即识别欺诈交易——实时捕捉欺诈者,与其他机器学习方法相比,误报更少。
公用事业:能源管理。公用事业公司必须实时监控能源生产和消耗,以动态响应需求并优化能源消耗。创新的机器学习方法分析能源生产、天气和控制系统数据,为能源生产商和消费者提供最佳体验
IT 运营:异常检测可帮助 IT 团队提高服务水平、根本原因分析、物联网部署、减少威胁和数据库事务监控。
业务运营:从银行和零售的欺诈检测到跨境电商营销获客的漏斗转换,异常检测使组织能够发现问题和机会,以改进其业务流程的创新和效率。
Oracle云基础设施(OCI)异常检测是一项AI服务,它使开发人员能够更轻松地构建用于特定业务场景的异常检测模型,以发现关键异常事件,从而加快检测和解决时间。异常检测服务API和自动化模型构建简化了模型训练,并将异常检测模型快速部署到应用程序和操作中,而所有这些都可在没有数据科学专家的情况下完成。
OCI 异常检测服务的核心是一种称为多元采样估计技术 (MSET) 的创新算法。MSET最初由美国能源部 (DoE) 阿拉贡国家实验室于 1996 年开发,旨在监控核电站并确保其安全可靠。今天,美国 93 座核电站都采用了 MSET 进行监测服务,全球几乎所有 450 座核电站也都使用它。
如今,MSET专利算法用于多项关键设施和工程,包括但不限于:
美国宇航局(NASA)载人和无人航天飞行
迪士尼 10 个全球主题公园游乐设施的结构和乘车安全系统
达美航空、汉莎航空和西南航空公司的喷气发动机状态监控
在过去的 21 年里,Oracle 实验室已经建立了一个由 153 项专利组成的密集组合,将新一代MSET2 与其他预测算法集成,提高了灵敏度,同时减少了误报(通常在这方面表现优于神经网络、支持向量机和内核回归)。
甲骨文在不同垂直领域(包括公用事业、石油和天然气、运输和制造)帮助客户使用 MSET2 取得了成功。如今,通过OCI 异常检测服务,经过数十年的研究和极端条件(核电站、火箭、飞机、过山车……)检验的专利技术让用户触手可及。
2. 演示环境说明
OCI 异常检测是一种强大、可扩展且用户界面友好的 AI 云服务,可监视大量多变量时间序列数据,并在需要引起注意时提醒您。经过身份验证的用户可以通过 REST API、命令行界面、开发工具包或 Oracle 云基础设施控制台访问 OCI 异常检测服务。
本操作演示示例基于《Introduction to Anomaly Detection Service with OCI Workshop》LiveLab实现,本实验在Oracle OCI平台上操作,实验标准用量内不收取任何额外费用,大家可以使用已有或新注册OCI账户动手练习。
3. OCI异常检测服务应用实践
本示例中我们虚拟现实一家使用IoT物联网技术的公司,希望通过AI异常检测技术发现其工厂中的制造流程异常。
OCI(Oracle 云基础设施)的异常检测服务将通过获取用户传感器上传的数据,使用核心算法训练定制模型,并托管在云中以准备检测,然后用户可以将新数据发送到检测端点以获得检测到的异常结果。
我们的异常检测服务的核心算法MSET是由 Oracle 实验室开发并已成功应用于多个行业的预测分析的 Oracle 专利多元时间序列异常检测算法。
3.1测试数据
现实业务场景中,我们往往只能获取设备信号等正常观测数据,在缺少异常状态下的观测样本的情况下,Oracle专利算法MSET可以帮助我们处理此类问题。
这里有两个准备好的示例数据集,可以帮助您轻松理解如何训练和测试数据:
demo-training-data.csv模型训练csv数据,包含10个带有时间戳列的信号,具有10000个正常状态观测值。其中有5个温度传感器数据和5个压力传感器数据
details_result.json 待检测json数据,具有时间戳字段的相同10个信号,100个包含潜在异常状态的观察值
我们异常检测服务的核心算法是MSET多元异常检测算法,它对训练数据有两个主要的数据质量要求:
训练数据应无异常(无异常值),包含仅具有正常状态的观测值。
训练数据应尽量涵盖所有正常场景,其中包含所有属性的完整值范围。
OCI异常检测服务接受多种类型的数据源来训练模型,包括Oracle对象存储、Oracle自治事务处理数据库(ATP)和InfluxDB。本实验我们将使用Oracle对象存储数据源作为示例,对于Oracle对象存储数据源类型,该服务接受两种数据格式:CSV格式和JSON格式。
Oracle 异常检测算法得到 150 多项专利的支持,可以更早地检测到异常并减少误报。这些算法协同工作以确保比其他机器学习 (ML) 方法(例如神经网络和支持向量机)更高的灵敏度和更少的误报。
下面,我们先将demo-training-data.csv文件上载到OCI对象存储备用:
OCI首页点击存储-(对象存储)存储桶
创建一个新的标准存储桶bucket-AD:
点击上载训练数据集demo-training-data.csv:
3.2 创建异常检测项目和数据资产
创建AI异常检测项目:点击左上角首页-“分析和AI”-AI服务-“异常检测”:
进入AI异常检测页面,点击“创建项目”,输入AD项目名称和说明,点击创建:
点击进入创建好的AD项目,选择“数据资产”-“创建数据资产”,输入数据资产名称和说明:
在“类型”下拉选择对象存储:
选择之前创建的对象存储桶和训练数据demo-training-data.csv,点击创建:
创建好的数据资产如下图所示:
3.3 训练异常检测模型
点击“模型”进入AD项目模型页面,点击“创建和训练模型”按钮:
选择我们刚才创建的ad_demo_asset数据资产,点击下一步:
输入模型名称和说明,这里还有2个模型训练参数FAP(误报率)和训练数据划分比率可选,默认值分别是 0.01 和 0.7,点击下一步:
检查确认模型训练信息,点击创建:
模型开始创建,需要等待10-15 分钟:
3.4 利用模型对新数据进行异常检测
模型训练完成后,就可以开始利用创建好的模型检测新的传感器数据。点击模型名称进入模型页面,点击下方“检测异常”:
上传待检测数据集,点击检测:
AD系统返回检测结果,您可以选择列查看相关异常。使用下拉向导选择一列以查看异常情况。
图中,横轴代表时间戳,纵轴代表传感器值。黄色曲线是您提供的实际数据,紫色曲线是我们模型估计的值。白色背景表示未检测到异常,红色背景表示该范围内的数据被模型检测为异常。
您可以将鼠标移到图表上,图表右上角会显示特定时间戳的实际值和估计值。您也可以使用图表下方的滑动条来放大/缩小不同的时间戳时间段。
您可以点击“下载JSON”按钮下载检测结果:
结果返回按时间戳分组的异常数组。每个时间戳都可能具有由单个或多个信号生成的异常。由一个信号产生的异常包含一组信号名称、实际值、估计值和一个异常分数,范围为 0 到 1,表示异常的显著性。同时,每个时间戳也有一个归一化的分数,它结合了单个或多个警报信号的显著性分数。
4. OCI异常检测服务的价值
以上演示简单说明了利用OCI控制台实现异常检测模型训练和预测的全过程,我们的异常检测服务还支持使用 OCI CLI(命令行界面)工具和不同编程语言(Java、Python、.NET等)的 SDK 来调用 REST API 来执行模型和数据操作,实现生产系统的安全部署和集成。
OCI异常检测服务是一种基于同步 REST API 的服务,您可以使用它来检测 OCI Streaming流服务数据的异常情况。这种组合允许您将数据输入到Streaming 服务流中,然后异常检测对该数据流执行检测调用,并将输出数据放入另一个数据流中,并使用OCI服务连接器集中器将不同的服务连接在一起;当您使用Service Connector Hub连接Anomaly Detection、Functions和 Streaming 时,您可以使用如下解决方案来检测流数据中的异常情况。
4.1 OCI异常检测服务的价值
OCI异常检测服务通过自动化数据预处理和最佳模型创建,简化了可扩展系统监控和诊断解决方案的开发:
专利异常检测算法
Oracle 异常检测算法得到 150 多项专利的支持,可以更早地检测到异常并减少误报。这些算法协同工作以确保比其他机器学习 (ML) 方法(例如神经网络和支持向量机)更高的灵敏度和更低的误报避率。
智能数据预处理
OCI 异常检测提供了多种数据处理技术,可以解决现实业务场景输入数据中的错误和缺陷,例如来自低分辨率传感器的数据。它会自动识别并修复数据质量问题,从而减少误报、改进操作并获得更准确的结果。
定制训练模型
API 帮助开发人员上传原始数据,使用他们自己的业务数据训练异常检测模型,并利用训练好的模型检测异常。这使得每个人都可以创建高度准确的、经过自定义训练的异常检测模型——即使没有数据科学经验。
准备就绪的结果
OCI 异常检测输出包括已识别的异常、基于 ML 模型的估计值和异常分数。开发人员使用这些结果来评估已识别异常的严重程度,并自动执行业务工作流程以立即解决这些问题。
易于集成和部署
OCI 异常检测是一项基于 REST API 的多租户服务。开发人员可以轻松部署可扩展的异常检测服务,无需内部数据科学和机器学习平台支持,所有这些都可部署在成本最低的数据网络、存储和计算平台上。
按需扩展
OCI 异常检测可自动扩展以满足所有数据源和负载的训练和检测需求。开发人员现在可以专注于创建应用程序和解决方案来实现他们的业务目标,而无需担心基础设施负载和扩容。
4.2 OCI异常检测服务的价格
OCI的模型创建和训练完全免费,训练数据最多可包含多达一亿个数据点,这些数据点是信号数量和时间戳的乘积。客户可以还提交SR申请以增加上限。客户可以根据需要使用数据构建任意多个模型,以了解当前数据收集支持异常识别的能力。
对于异常检测服务的持续系统运营,与其他云相比,OCI 异常检测服务可将成本降低多达 20%。定价基于 1,000 个事务的分组,定义为 1,000 个检测 API 调用,其中每个调用最多处理 1,000 个数据点。如果客户使用 500 个数据点的有效负载调用 OCI 异常检测,则该数据点将计为一笔交易。OCI 异常检测为每月前 1,000 笔生产交易提供零成本定价。前 1,000 笔交易之后的每组 1,000 笔交易的费用为每 1,000 笔交易 0.25 美元。
4.3 OCI异常检测服务参考链接
产品介绍:
https://www.oracle.com/cn/artificial-intelligence/anomaly-detection/
技术文档
https://docs.oracle.com/en-us/iaas/Content/anomaly/using/home.htm
动手练习
https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=819
编辑:萧宇