异常检测是识别数据集中严重偏离预期或正常行为的数据点、事件或观察结果的过程。异常点检测通常被称为离群点检测,它在各个领域中都发挥着至关重要的作用,它可以标记出可能预示着错误、欺诈或系统故障等重大事件的异常模式。在人工智能(AI)和机器学习(ML)的背景下,异常点检测系统经过训练,可以学习正常行为的模式,然后识别偏离这些学习模式的行为。这些系统对确保许多行业的安全、安保和运营效率至关重要。
异常检测如何工作
异常检测技术通过分析数据来确定正常基线。任何超出该基线的数据都会被标记为异常。使用的方法有简单的统计方法(如识别远离平均值的点),也有能够理解高维数据中复杂模式的复杂深度学习模型。主要方法包括
- 监督学习:需要包含正常和异常示例的标记数据集。虽然有效,但获取标注的异常数据可能具有挑战性,因为异常情况往往是罕见和意想不到的。
- 半监督学习:在仅包含正常数据的数据集上进行训练。模型学习正常模式,任何不符合正常模式的数据点都会被视为异常。当异常数据多种多样或定义不清时,这种方法非常有用。
- 无监督学习:不需要标注数据。它使用聚类(如DBSCAN)或降维(如PCA)等技术来识别孤立的或不同于大多数数据的数据点。自动编码器也常用于此。
异常检测与相关概念的比较
异常检测虽然与其他数据分析任务相关,但其目标截然不同:
- 物体检测:旨在使用边界框识别和定位图像中的已知物体实例(如汽车、人物)。异常检测,尤其是计算机视觉中的异常检测,侧重于识别不符合规范的意外视觉模式或缺陷,这些模式或缺陷可能不符合预定义的对象类别。
- 图像分类:为整个图像指定一个标签(如 "猫 "或 "狗")。异常检测可对各种数据类型(图像、时间序列、网络日志)进行操作,并识别数据中不寻常的特定实例或模式,而不是对整个数据点进行分类。
- 离群点检测:通常与异常点检测交替使用。不过,"异常值 "通常是指在统计上与其他数据点相差甚远的数据点,而 "异常 "则可能包含更复杂的偏差,包括可能不是简单的统计异常值的不寻常模式或上下文不规则情况。
实际应用
异常检测在许多领域都至关重要:
- 生产质量控制:利用视觉系统识别装配线上产品的裂缝、划痕或错位等缺陷。例如,检测飞机部件的微小裂缝或药品上印刷错误的标签。
- 网络安全:检测异常网络流量模式、登录尝试或系统行为,这些可能表明存在入侵、恶意软件感染或拒绝服务攻击。安全警报系统可利用异常检测来标记可疑活动。
- 金融欺诈检测:识别未经授权的信用卡交易、异常交易活动或与典型客户行为不同的保险索赔。
- 医疗保健和医学图像分析:发现医学扫描(如 X 射线或核磁共振成像)中可能显示肿瘤或疾病的异常情况,通常是协助放射科医生。使用YOLO11 检测肿瘤就是一个例子。
- 系统健康监测:检测 IT 系统CPU 使用率、内存泄漏)或工业机械(预测性维护)的异常性能指标,以防止故障发生。
- 环境监测:通过卫星图像分析识别污染事件、非法砍伐森林或生态系统的异常变化。
工具和技术
开发异常检测系统通常需要使用标准 ML 库和专用平台。框架,如 PyTorch和 TensorFlow等框架为构建自定义模型提供了基本工具。对于基于视觉的任务,像 Ultralytics YOLO等模型。虽然预先训练好的YOLO 模型擅长检测普通物体,但它们可以在特定数据集上进行定制训练,以识别特定领域的异常情况,例如COCO 等数据集未涵盖的独特缺陷或异常视觉模式。Ultralytics HUB等平台为云训练、部署(模型部署选项)和使用Ultralytics HUB SDK 等工具高效管理此类模型提供了集成环境。Scikit-learn等库还提供了各种异常值和异常检测算法。
异常检测是现代人工智能和 ML 的一项重要功能,可主动识别各行各业的关键问题和偏差。在我们的Ultralytics 术语表中探索更多相关概念。