异常检测专栏(一)异常检测概述

前言 异常检测一直是机器学习中一个活跃的研究领域,由于风险管理、合规、安全、将抗和医疗风险以及人工智能安全等广泛领域的需求和应用不断增加,异常检测发挥和越来越重要的总用。近年来,随着深度学习和计算机视觉技术的不断发展,已经引入了大量的深度异常检测方法,在解决各种实际应用中具有挑战性的检测问题方面,表现出明显优于传统异常检测的性能。

本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习。

Transformer、目标检测、语义分割交流群

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

为全面介绍异常检测的相关内容,我们决定以专栏的形式与大家一起分享异常检测领域的相关文章。本专栏将包含16篇左右的推文,分为异常检测概述、文章解读、总结梳理三个部分,专栏初步安排如下:

  • (1)异常检测知识概述

  • (2)基本任务,评估指标,常用数据集等基础内容

  • (3)-(4)传统的异常检测方法

  • (5)-(8)Anomaly Detection & One-class 异常检测

  • (9)-(12)Multi-class Novelty Detection & Open Set Recognition 异常检测

  • (13)-(15)Out-of-distrubution 异常检测

  • (16)总结梳理

异常检测的主要研究方法和常用数据集如下图所示:

  • 目录

  • 异常检测相关概念

    • 异常检测的定义

    • 异常检测几种不同的术语

    • 异常检测的应用

    • 异常检测的发展

  • 异常检测的难点

  • 下篇内容预告

  • 参考文献

异常检测相关概念

异常检测的定义

异常检测是一种用于识别不符合预期行为的异常模式(称为异常值)的技术。通常,这被视为一个无监督学习问题(也可是半监督或弱监督学习),其中异常样本是先验未知的,并且假设大部分训练数据集由“正常”数据组成。

在大多数的机器学习模型当中都是基于closed-world假设来进行训练,其中我们会假设测试数据与训练数据有相同的分布,称为in-distribution(ID)。但是,当模型在open-world的场景中进行部署时,测试样本可能处于分布之外,称为out-of-distribution(OOD),因此对于这种情况需要谨慎处理,这便是异常检测研究的重点问题。

简单来说,我们可以”将异常“与预先定义的“正常”视为两个对比性的概念。比如,我们想要建立一个食物检测器去区分待检测物体’hotdog‘或’not-hotdog‘。那么我们可以把‘hotdog’看成正常实例,而’not-hotdog‘看成其对立的异常实例。在这个例子当中需要注意的是,’hotdog‘是一个同质的概念,我们不区分它的大小、价格、原材料等。至于其他的目标,如牛排、米饭或者是其他的猫狗这样的待测物体都统一的被视为’异常‘实例。

总之,在异常检测相关任务中,关键是同等地对待正常实例,并在某些特定的情况和场景下检测出所有可能的异常样本。

异常检测几种不同的术语

我们可以用一个统一的框架,即广义的Out-of-Distribution(广义的OOD)来描述异常检测的相关问题。OOD包括五个相关的子领域,分别为Anomaly Detection(AD)、Novelty Detection(ND)、Open Set Recogntion(OSR)、Out-of-Distribution(OOD)和Outlier Detection(OD)。这5个子领域之间在某种意义上是相似的,其共同的目标是在open-world的假设下检测分布以外的样本。

Anomaly Detection(AD)

AD目标是在测试过程中检测所有偏离预先定义正常性的异常样本。这种偏差可能是由协变量偏移(covariate shift)或语义偏移(semantic shift)所引起的(注意,在AD中这两种偏移只存在其一)。因此,可以将AD进一步细分为sensory AD和semantic AD。

在sensory AD任务中,正常实例是从分布P(X)中采样得到,而在测试时异常实例来自于另一种分布P'(X),并且P(X)!= P'(X),sensory AD的目标便是去检测出从P'(X)采样的实例。sensory AD仅仅包含协变量偏移而不包含语义偏移,即P(Y)=P'(Y)。相反的,对于semantic AD来说,只有语义偏移即P(Y)!= P'(Y),其目标是检测出训练属于新类别的实例。

Novelty Detection(ND)

ND目标是检测出任何不属于训练数据类别的测试样本。检测到的新颖样本(这里的新样本是指模型在训练过程中没有遇到过的新类别的样本)通常会为未来的分析做准备。例如模型本身的增量学习。根据训练数据的类别,我们可以将ND进一步分为两种模式,即One-class ND和multi-class ND。

其中,One-class ND表示在训练集中只包含一个类别的数据,而Multi-class ND则表示在训练集中有多种类别的数据。不论是单类别还是多类别,ND只会将新样本与ID的样本区分开来,两种任务属于二分类的问题。

Open Set Recognition(OSR)

在closed-world训练得到的模型有时会以较高的置信度将来自未知类别的样本错误的划分到已知的类别,这种情况称为模型的"过度自信"。OSR的提出可以用来解决这种用"known known classes"来表示"unknown unknown classes"的问题。

OSR需要多类分类器同时工作,以此来正确的将来自"known known classes"的样本进行正确分类,并检测出来自"unknown unknown classes"的样本。

Out-of-Distribution(OOD)

OOD目标是检测与训练集没有任何重叠标签的测试样本。OOD检测种的样本来自于ID进行语义偏移后的分布,即P(Y)!= P'(Y)。在OOD,ID中的数据可以是单类别也可以是多类别的。当数据为多类别时,OOD检测不能对ID分类的能力造成影响(也就是说在检测出异常的同时要保证模型对正常样本的分类性能)。

Outlier Detection(OD)

OD目标是检测由协变量或语义偏移引起的与给定观测集中其他样本明显不同的样本。在前面几个任务ID在训练期间的分布已经定义好,而对于OD来说ID是指大多数的观测值。OD任务中异常值既可以是由协变量偏移引起又可以是由语义偏移所引起。

总的来说,以上的五个子领域都可以概括为广义OOD问题。下图展示了广义OOD的整体框架:

异常检测的应用

由于风险管理、合规、安全、金融监控、健康和医疗风险以及人工智能安全等广泛领域的需求和应用不断增加,异常检测发挥着越来越重要的作用。

  • 欺诈检测:在金融行业,异常检测可以用来检测信用卡欺诈、保险欺诈等欺诈行为

  • 工业监控:异常检测可以用来检测机器故障、异常工艺、质量问题等

  • 医疗诊断:异常检测可以用来帮助医生诊断疾病,例如癌症早期诊断、心脏病诊断等

  • 航空航天:异常检测可以用来检测飞机、火箭等设备的故障、安全问题等

  • 网络安全:异常检测可以用来检测网络入侵、恶意软件等安全问题

  • 城市规划:异常检测可以用来检测城市交通拥堵、环境污染等问题,帮助城市规划部门进行决策

  • 营销分析:异常检测可以用来识别异常的营销趋势,帮助企业制定更好的营销策略

下图展示了异常检测在工业当中的应用:

以上只是异常检测应用的一小部分,随着深度学习的不断发展,相信异常检测可以应用在更多的领域当中。

异常检测的发展

异常检测可以基于多种方法来实现,其主要经历了基于统计的方法、机器学习的方法和深度学习的方法三个阶段:

  1. 基于统计的方法 基于统计的方法是最早也是最常见的检测方法之一。这类方法基于对数据的分布特性建模,通过计算数据点与数据分布的距离或差异性来判断数据点是否异常。常用的基于统计的方法包括均值和标准差法、离群点检测法、箱线图法等。虽然基于统计的方法易于实现和解释,但其准确性和鲁棒性有一定的限制,尤其是在数据量较大、维度较高等复杂场景下。

  2. 传统的机器学习方法 机器学习的方法是近几十年来在异常检测领域中得到广泛应用的方法之一。该方法基于训练数据集,通过构建一个异常检测的模型来检测新数据点是否异常。基于传统的机器学习方法大致包含6个类别:基于模板匹配、基于统计模型、基于图像分解、基于频域分析、基于系数编码重构和基于分类面构建的异常检测方法。这类方法可以适应复杂的数据分布,同时具有较高的准确性和可扩展性。但是,传统的异常检测方法需要大量的标注数据并且模型的泛化能力也可能受到一定的限制。

  3. 深度学习的方法 近年来,深度学习在学习高维数据、时间数据、空间数据和图形数据等复杂数据的表达表示方面表现出了巨大的能力,突破了不同学习任务的界限。Deep learning for anomaly detection,简称深度异常检测,旨在通过神经网络学习特征表示或异常分数以进行异常检测。已经引入了大量的深度异常检测方法,在解决各种实际应用中具有挑战性的检测问题方面,表现出明显优于传统异常检测的性能。常用的深度学习方法包括自编码、卷积神经网络、生成对抗网络以及图神经网络等。深度学习的出现极大促进了异常检测的快速发展,但基于深度学习的异常检测算法仍有许多困难待以解决。

在本专栏中,我们主要介绍有关深度学习的异常检测方法,下图展示了三种主要深度异常检测方法的概念框架

异常检测的难点

由于其独特性,异常检测呈现出与大多数分析和学习问题和任务截然不同的问题复杂性。本节总结了复杂异常数据中的此类内在复杂性和未解决的检测挑战。与那些关于多数、常规或明显模式的问题和任务不同,异常检测解决少数、不可预测/不确定和罕见的事件,从而导致所有(深度和浅层)检测方法出现一些独特的问题复杂性:

  1. 未知性异常的出现与许多未知的东西有关,例如具有未知突然行为、数据结构和分布的实例(样本)。这些异常的样本在没有发生时都是未知的,比如说新型恐怖袭击、欺诈和网络入侵。

  2. 异构异常类异常大多数都是不规则的,因此某一类别的异常可能会表现出与另一类异常完全不同的异常特性。例如,在视频监控中,抢劫、交通事故、入室盗窃等异常事件在视觉上有很大的不同。

  3. 稀有性和类别不平衡一般来说,与通常占据绝大多数的正常实例相比,异常实例只占据了数据的一小部分。因此,我们难以去获取大量标注的异常实例。这导致在大多数应用程序中无法使用大规模标记数据。类别的不平衡也是由于异常的错误分类通常比正常实例的错误分类成本高得多。

  4. 异常的多样性在 文中主要探索了三种完全不同的异常。第一类是点异常(Point Anomalies),是相对于大多数其他个体实例异常的个体实例,例如,患者的异常健康指标。第二类是条件异常(Conditional Anomalies),也指个别异常实例,但在特定上下文中,即数据实例在特定上下文中异常,否则正常。在现实世界的应用程序中,上下文可能会有很大的不同,例如,特定时间上下文中的温度突然下降/升高,或异常空间上下文中的快速信用卡交易。第三类则是组异常(Group Anomalies)又名集体异常,是相对于其他数据实例整体异常的数据实例的子集;集体异常的个体成员可能不是异常,例如,社交网络中由虚假账户形成的异常密集的子图作为集合是异常,但这些子图中的个体节点可以像真实账户一样正常。

下篇内容预告

本篇文章我们理解了异常检测的定义、不同术语之间的联系和区别、基本任务、发展历程以及异常检测的难点。在下一篇文章中我们将进一步了解异常检测的评价指标以及几种常用的数据集。具体内容请参考下篇【异常检测的评价指标与数据集】。

参考文献

[1] Lukas Ruff et al., 2018; Deep One-Class Classification

[2] G. Pang, C. Shen, L. Cao, and A. van den Hengel, “Deep Learning for Anomaly Detection: A Review,” ACM Comput. Surv., vol. 54, no. 2, pp. 1–38, Mar. 2022, doi: 10.1145/3439950.

[3] 吕承侃,沈飞,张正涛等.图像异常检测研究现状综述[J].自动化学报,2022,48(06):1402-1428.DOI:10.16383/j.aas.c200956.

[4] Yang, J., Zhou, K., Li, Y., and Liu, Z., “Generalized Out-of-Distribution Detection: A Survey”, 2021. doi:10.48550/arXiv.2110.11334.

 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

模型部署交流群:732145323。用于计算机视觉方面的模型部署、高性能计算、优化加速、技术学习等方面的交流。

其它文章

上线一天,4k star | Facebook:Segment Anything

3090单卡5小时,每个人都能训练专属ChatGPT,港科大开源LMFlow

Efficient-HRNet | EfficientNet思想+HRNet技术会不会更强更快呢?

实践教程|GPU 利用率低常见原因分析及优化

ICLR 2023 | SoftMatch: 实现半监督学习中伪标签的质量和数量的trade-off

目标检测创新:一种基于区域的半监督方法,部分标签即可(附原论文下载)

CNN的反击!InceptionNeXt: 当 Inception 遇上 ConvNeXt

神经网络的可解释性分析:14种归因算法

无痛涨点:目标检测优化的实用Trick

详解PyTorch编译并调用自定义CUDA算子的三种方式

深度学习训练模型时,GPU显存不够怎么办?

CV各大方向专栏与各个部署框架最全教程整理

计算机视觉入门1v3辅导班

计算机视觉各个方向交流群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33203.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPG密钥生成与使用教程

以下命令只需Ubuntu用户执行 sudo yum install gnupg 生成密钥 gpg --gen-key 密钥种类选择:键入1 RSA密钥长度:键入1024(此操作仅为提高RSA生成的速度 密钥的有效期(默认为0选项):回车 真实姓名&…

腾讯AI开放平台使用尝试:通过文本翻译API进行汉译英

这篇文章继续尝试使用腾讯AI开放平台提供的文本翻译API进行汉译英的示例说明。 目录 事前准备请求参数返回格式示例代码使用示例常见问题总结参考内容 事前准备 实现需要申请申请账号,获得如下接入凭证: AppID:应用IDAppKey:应…

GitHub英译中设置方法

GitHub 英译中设置方法 相信有很多小伙伴初次打算使用GitHub然后去浏览器搜索之后,发现打开官网内容全部是英文,这可难倒了很多英文不好的小伙伴。但凡事都有解决之道,我们只需要将GitHub官网的英文转换为中文就能够很好很快学习运用GitHub&…

现在各行各业的人们越来越多地依靠计算机来解决各种难题.翻译英语,公共英语PETS三级阅读与翻译试题训练 四...

三级英语汉译英 1、他这次考试失败使他意识到定期复习功课是多么重要。 He failed in the exam, which has made him aware of the importance of reviewing his lessons regularly. 2、请一定不要忘记离家前你父母对你说过的话。 Be sure not to forget what your parents sai…

论文中文翻译成英文有什么好办法?

不知道大家是否想过这个问题:到大学为止,我们可以说已经学了十年英语了,但为什么英语水平高的人却没有那么多?尤其是涉及英语口语或写作这种需要输出的内容,对我们来说更是难上加难。原因主要在于,我们的思…

Abaqus取消汉化(汉译英,英译汉)

1、创建abaqus 桌面快捷方式 拖拽到桌面上即可 2、打开文件所在位置 3、点击win_b64 4、然后依次打开 win_b64--->SMA---->Configuration--->locale 5、加 和 改 汉化:在1处添加 Chinese (Simplified)_China.936zh_CN 在2处把 0 改成 1 汉化取消&…

AndroidStudio翻译辅助工具(中译英与英译中)

1.设置 File -> Settings 2.Browse repositories File -> Settings->Plugins->Browse repositories… 3.下载Translation 4.Restore点击一下 5.重启一下 6.申请ID和密匙 自己随便注册一下即可 7 创建有道智云实例 名字随便写 翻译实例-》创建实例 8 创建应…

微信小程序 通过百度API接口实现汉译英翻译

目录 先看一下做出来的效果: 一、微信开发平台的网址(微信开发者工具的官方使用说明) 二、百度API(文本翻译的API) 三、进入正文,微信小程序的代码部分 先看一下做出来的效果: 一、微信开发…

Python实现汉译英

引言 你是否还在用老套的方式网页打开数据?你是否想要打造一个属于自己的翻译程序? 看完这篇博客实现你的梦想,打造一个属于自己的翻译器。 代码解析 首先我们要导入两个库爬虫库(requests)和json库。Requests库就不多…

HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务

加载模型页面为:https://huggingface.co/liam168/trans-opus-mt-zh-en 文章目录 整理文件跑通程序,测试预训练模型拆解Pipeline,逐步进行翻译任务 整理文件 首先下载模型所需的全部文件:https://huggingface.co/liam168/trans-op…

有没有什么好用的汉译英的学术翻译软件推荐(医学sci方面)?

有学医的小伙伴吗?快看过来! 我们都知道,医学生是非常辛苦的,不仅专业课特别繁多,需要记忆的知识内容多,而且对实践技能要求也很高,试错成本极低,这就要求医学生们在平时的学习中要…

数据平台投标方案模板

随着信息化程度的加深,以及移动互联网、物联网的崛起,人们产生的数据急剧膨胀,传统的数据处理技术难以支撑数据大量的增长和处理能力。经过近几年的发展,大数据技术逐步成熟,可以帮助企业整合更多的数据,从…

训练软件类项目投标文件示例

原创不易,公开部分自取自用,如需全文支持(可定制),私信留言 系统概述 由于各项目需求和背景的差异性,此处主要根据项目自身系统功能,背景及意义进行描述。 1.1设计思路 各项目需求和背景的差异…

企企通:采购方怕投标方串通“围标”,怎么办?电子招投标来帮你

大家都知道,在采购过程中,招投标是一个很重要的环节。 传统的招投标过程中,虽然采供双方角色不一样,但面对的烦恼却是大同小异。 采购方需要进行繁琐的手工操作,包括招标文件的印刷、邮寄、收发等步骤,供应…

招标采购中,如何编写有效的RFI(信息邀请书)?

在企业招标采购过程中,RFI(信息邀请书)是一个从商品或服务的潜在供应商处收集信息的正式流程。RFI旨在由客户编写并发送给潜在供应商。RFI通常是第一个也是最广泛的一系列请求,旨在缩小潜在供应商候选人名单。 当企业对潜在供应…

产品经理 | 职业选择及面试技巧

产品经理职业规划及面试技巧 什么是产品经理产品经理分类产品经理能力要求产品经理如何求职面试?简历部分技巧面试复盘 什么是产品经理 转岗或入行前,对产品经理的认知是最基础的。 产品经理是解决问题的解题者,在解题的过程中,…

产品经理

2015年已经来到石榴如火的5月,没错,小半年就快过去了。很多同学正在毕业找工作,也有些同学在准备着2015的暑期实习。而进入4A、BAT、500强是很大部分营销和传媒人的选择。在求职或求实习的过程中,你一定希望看到前辈们的实际求职经…

【干货】产品经理面试指南(完整版)

原文地址:http://www.woshipm.com/zhichang/143525.html 这篇文章是我之前在准备2014年8月份的腾讯产品培训生招聘时写的(我靠,这句话感觉有语病。。。)。因为种种原因失利后,原本打算将这篇文章带进坟墓_。犹豫了好久…

简历推荐_26位AI产品经理

现在行业内,各家AI公司都很希望招募“来之能战”的AI产品经理,今天,介绍26位近期看机会的AI产品经理的亮点信息,获取简历方式,详见后文。 一、这26位AI产品经理的整体情况 1、业务领域涉及关键词:虚拟人/AI…