综述:弱监督下的异常检测算法

news2024/9/24 4:51:09

一、前言

文章标题是: Weakly Supervised Anomaly Detection: A Survey

这是一篇针对“弱监督”异常检测的综述。 其中弱监督异常检测 简称为 WSAD

  • 论文链接:https://arxiv.org/abs/2302.04549

  • 代码链接:https://github.com/yzhao062/wsad

二、问题

针对异常检测问题,其实面临的挑战和问题基本上比较一致。

  1. 数据的极度不平衡(异常和非异常的样本比例)

  2. 有限的标签数据(2.1 标签不准 2.2 获取标签浪费很大的人力物力)

  3. 场景非常广泛(数据类型很多):tabular, time-series, image and video, and graph data

本文主要从标签角度,来阐述弱监督情况下的异常检测问题,大多异常检测都采用非监督方法(最常见的就是去编码高级特征,重新生成数据,进行对比,得到异常),而对于监督方法来说,就是存在标签,但标签的质量很难保障。

所以本文从三个角度来分类:

  1. incomplete supervision: 标签不完成的情况,主要指很多样本没有标签(这种在实际环境下,还是蛮常见的一种情况),一些存在标签,另外一些因为某些原因(比如传感器失灵)等不存在标签。

  2. inexact supervision:: 标签不准确的情况,主要指粗粒度的异常,即更高维度的异常是被标识的,但细粒度没有(举例:1. 一个视频是异常的,但不知道视频哪几帧是异常的, 2. 知道哪几个机器实体是异常的,但不知道具体机器的哪些指标异常)

  3. inaccurate supervision: 标签不精确的情况,主要指标签本身不精确,样本都存在细粒度标签,但标签本不准确,有一些噪声或者误差。

本文非常大的贡献,在于把近几年针对弱监督异常检测的论文进行整合,且进行以上三种类别的分类,对于想进一步了解这个方面的同学来说,可以更近一步的去寻找更合适的论文阅读。

09c3876d5675bc4c9772677fc1129050.png

三、Incomplete Supervision

3.1 场景

举例:获取完整的信用卡欺诈标签集,要求手动标注所有正常和异常交易,这往往耗时且成本高。

3.2 方法

ebbba9fd9e9f2e675c9cb68d361ff2c7.png

这张图可以说非常清晰了,从这个分类的方法的再一次分类,以及属于机器学习还是深度学习,以及属于的base方法是该学习方法中的什么分类,全都清晰的展示。

  1. Anomaly feature representation learning

这个方法主要由unsupervised representation learning得来,通过学习feature的embedding来区别异常与否,对于监督情况,通过可获得的部分监督信息来改善这个学习方法。

在这里可以将无监督表示学习的帮助视为对标签不完整性的补偿。比如XGBOD就是用几个无监督方法作为特征提取器,最终通过监督模型学习,而针对深度学习的方法,大多主要将特征提取部分换为神经网络,也有一些网络是端到端的结构,来学习异常和非异常的分布,带有标签的作为加强。

其中有一个蛮有意思的点: [Feng et al., 2021b] 提出了通过计算有标签和无标签样本的harmonious loss来提升效果。

  1. Anomaly Score Learning

顾名思义,模型直接输出异常的分数,并随着分数的增加,异常情况越强。

主要的模型是DevNet,它首先假设正常数据的异常分数具有高斯先验,用正常的样本生成一些正常的分数分布,通过deviation loss使带有异常标签样本的分数在整体样本分数的分布下偏离(本意还是让异常样本得到的分数在正常样本分数分布中是一个离群点)。

后续的PReNet、DAGMM等都是在DevNet基础上优化,添加新的思想。

  1. Graph learning via label propagation

对于图数据来说,考虑数据中的固有连接,以相应地传播部分标签信息。主要是GNN和GCN,以及和GAN的结合。

  1. Active learning and reinforcement learning.

这个部分的方法,主要是想通过利用active learning方法,不断的循环往复的去更新模型。

比如 SLA-VAE是一种用于多变量时间序列异常检测的VAE方法。它首先使用半监督VAE来识别异常,然后使用主动学习来用一小组不确定样本更新现有模型。

对于强化学习,通常将异常检测器作为agent,将当前实例的特征作为状态,将标记决策作为动作,将采样策略作为状态转换,将异常作为奖励。

3.3 将来一些思考

  1. 最好还是来把没打标的打上标签,可以通过人力,或者active learning。

  2. 引入 few shot/meta leaning

  3. 从样本角度来解决问题,样本不平衡(这个不光是incomplete supervision, 其他都存在), loss参数学习:

9084ca0519766fb286af402971f166a8.png4. 模型选择和超参

四、Inexact Supervision

4.1 场景

公司可以获得用户级异常标签。这些用户级别标签仅表明用户是否参与了欺诈等非法活动,而我们应该更感兴趣的是用户的哪些交易是异常的。(用户是否异常是粗粒度, 哪个交易异常是细粒度)

4.2 方法

646d4a63598ff6446f373995c9ccb71d.png

主要都是基于multi-instance learning (MIL)的方法,除此之外:提出了新的评估指标或模型选择策略来解决这个问题。

1. multi-instance learning (MIL)

多实例学习(MIL)最初设计用于预测一组(group)实例的标签,而不是单个实例的标签。

[Sultani et al., 2018] 提出的方法还是比较好理解的,简单来说,视频代表着一个组,而视频片段是一个instance,每个视频的分数由视频中片段的最大异常分数所代表,通过仅对两个实例进行排名,实现了组级别的异常分数排名。模型训练过程中只使用视频级别(组级别)的粗粒度标签。(简单理解,虽然模型输出的是instance的分数,但训练过程中用的是视频维度的标签即可,因为instance的分数映射到了视频维度)

对于MIL主要是损失函数、时空特征学习、训练策略等,因为这章总体以视频异常检测为例,主要针对时空信息。

2. non MIL

文中举例非MIL方法,主要是从不同角度来处理问题,比如通过聚类,或者把问题转换为分割问题。

3. evalution metric & model selection

  1. 通过提出inexact AUC来训练现有模型。

  2. indirectly supervised AD

4.3 将来一些思考

  1. 上述文献主要针对视频的,而对于表格、时间序列和图表数据的不精确监管尚未得到广泛研究,这方面有一定的潜力

  2. 不同的数据格式具有相同的特征模式,例如,时间序列和视频都具有时间戳和时间关系。因此,我们可以将主导技术从时间序列转移到视频广告,反之亦然。 技术可以迁移。

五、Inaccurate Supervision

5.1 场景

标签存在有噪音和损坏的情况,这是十分是常见的。

以网络入侵检测为例,由于数据的敏感性和打标本身的费用,很难获得准确的标签。

5.2 方法

d0a5aaa2b245e71b6884470e22f2c2bc.png

1. ensemble learning

主要通过利用集成学习,或设计降噪的网络,将标签噪声在模型训练过程中的影响降至最低,设法从多个噪声源中提取有用的标签信息。

可以通过标签聚合,通过加权投票将多源的噪声标签整合为聚合标签,然后借助一些精确类别的实例校正聚合标签。

2. denoising network

通过attention来过滤类别的噪声,来通过去噪系统,解决这类问题。

这里比较有趣的事用GAN去解决。具体可以看:Semi- supervised anomaly detection in dynamic communication networks.

3. graph learning

针对视频数据,引入graph learning。

六、实验

用6个基准算法在47个公开数据上做测试,结果如下:

c597c22c70552924fff1454af101c38f.png

具体实验部分见:https://github.com/yzhao062/wsad

推荐阅读:

我的2022届互联网校招分享

我的2021总结

浅谈算法岗和开发岗的区别

互联网校招研发薪资汇总
2022届互联网求职现状,金9银10快变成铜9铁10!!

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)
发送【1222】获取一份不错的leetcode刷题笔记

发送【AI四大名著】获取四本经典AI电子书

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发游戏时如何操控 游戏打击感?利用好Feel插件可快速提升游戏感

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 &…

WBS工作分解结构法,如何细分你的工作

想要做好项目管理,就必须掌握这个方法——WBS 项目分解的结构也是至关重要,WBS分解结构的特点是: 1、自上而下,逐级进行分解。 2、一个任务节点也只能一个人负责,其他人配合。 3、工作量以日为单位。 4、根据项目…

记录第一个Python练习的过程

题目如下 编写一个名为collatz()的函数,它有一个名为number的参数。如果参数是偶数,那么collatz()就打印出number // 2,并返回该值。如果number是奇数,collatz()就打印并返回3 * number 1。 然后编写一个程序,让用户…

【强烈建议收藏:计算机网络面试专题:HTTP协议、HTTP请求报文和响应报文、HTTP请求报文常用字段、HTTP请求方法、HTTP响应码】

一.知识回顾 之前我们一起学习了HTTP1.0、HTTP1.1、HTTP2.0协议之前的区别、以及URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程、HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别。接下来…

毕业设计 基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信

基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STC89C52单片机核心系统电路设计2.2 dht11温湿度检测电路设计2.3 NRF24L01无线通信电路设计3、部分代码展示3.1 NRF24L01初始化3.2 NRF24L01的SPI写时序3.…

H264基本原理

前言H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的。随着 x264/openh264以及ffmpeg等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使用H264的成本。但为了用好H264,我们还是要对…

决策树在sklearn中的实现

目录 一.模块sklearn.tree 二.建模基本流程 三.DecisionTreeClassifier重要参数 1.criterion 2.random_state & splitter 3.剪枝参数max_depth 4.剪枝参数min_samples_leaf & min_samples_split 5.max_features & min_impurity_decrease 6.class_weight …

Java奠基】掌握Java基础知识

目录 常见字面量 特殊字面量 数据类型 标识符 键盘录入 常见字面量 字面量就是数据在程序中的书写格式,字面量的分类如下: 字面量类型说明举例整数类型不带小数点的数字12,25小数类型带小数点的数字3.14,-5,20…

【设计模式】7.适配器模式

概述 如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供…

易基因|独家分享:高通量测序后的下游实验验证方法——DNA甲基化篇

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。此前,我们分享了DNA甲基化研究的测序数据挖掘思路(点击查看详情),进而鉴定出研究的目的基因或目标区域的DNA甲基化。做完测序后,…

华为OD机试题,用 Java 解【租车骑绿岛】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

电商(强一致性系统)的场景设计

领域拆分:如何合理地拆分系统? 一般来说,强一致性的系统都会牵扯到“锁争抢”等技术点,有较大的性能瓶颈,而电商时常做秒杀活动,这对系统的要求更高。业内在对电商系统做改造时,通常会从三个方面…

OM | 具有弹性需求的广义随机共乘(拼车)用户均衡问题

编者按: 通过扩展确定性共乘用户均衡问题,提出了具有弹性需求的广义随机共乘用户均衡问题,用于具有共乘出行活动的城市交通网络分析。 1、引言​ 共乘(ridesharing), 即生活中的“拼车”、“顺风车”&am…

华为OD机试题,用 Java 解【斗地主】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

巧用 ChatGPT,让开发者的学习和工作更轻松

引言 随着人工智能技术的快速发展和广泛应用,ChatGPT 作为一种新兴的自然语言处理模型,近期备受瞩目,引发了广泛讨论。 ChatGPT 具有多种应用场景,既可以用作聊天机器人,实现智能问答和自然语言交互,也可…

2.27自动化测试

第零步 根据脑图写测试用例第一步.创建共同类防止每次进行测试不同界面的时候都重新创建驱动浪费时间注意要用static 否则后续无法直接使用getdriver方法第二步 对登录界面写测试用例先在test下创建一个登录类.每个界面用不同的类,防止混在一起并让其继承common包下的commonDri…

让马斯克反悔的毫米波雷达,被国产雷达头部厂商木牛科技迭代到了5D时代

近日,特斯拉或将在其HW4.0硬件系统配置一枚高精度4D毫米波雷达的消息在外网刷屏。据分析,“纯视觉”信仰者马斯克之所以做出这样的决定,一方面是减配了雷达的特斯拉自动驾驶,表现不尽如人意;另一方面也跟毫米波雷达的技…

第13天-仓储服务(仓库管理,采购管理 ,SPU规格维护)

1.仓储服务开发配置 1.1.加入到Nacos注册中心 spring:application:name: gmall-warecloud:nacos:discovery:server-addr: 192.168.139.10:8848namespace: 36854647-e68c-409b-9233-708a2d41702c1.2.配置网关路由 spring:cloud:gateway:routes:- id: ware_routeuri: lb://gmal…

CDH 6.3.2启用YARN高可用

升级原因 CDH平台即将被切换成生产环境,而生产环境几乎都是HA,所以需要将YARN升级成HA。 升级准备 CDH已经成功安装并正常使用CMS的管理员账号正常登陆 CDH启用YARN HA 登陆CMS系统->选择YARN服务->点击进入到YARN服务详情页面,再…

【Yolov5】保姆级别源码讲解之-模型训练部分train.py文件

本次讲解yolov5训练类train.py1.主函数2.main函数2.1 第一部分 进行校验2.2 第二部分 配置resume参数用于中断之后进行训练2.3第三部分 DDP mode2.4 第四部分3.训练结果1.主函数 opt参数部分和main方法 weights:权重文件路径 – cfg:存储模型结构的配置…