异常检测 | 用于无监督异常检测的自监督学习适应性记忆网络
关于<Adaptive Memory Networks with Self-supervised Learning for Unsupervised Anomaly Detection> 论文学习
Two critical challenges(两个关键挑战):数据源限制和特征表达限制。
这两个关键挑战使得无监督异常检测方法的泛化(机器学习算法对新鲜样本的适应能力)能力有限。
数据源限制:在训练数据集中只包含正常数据,相比于未知的测试数据,训练数据的类别是有限的,使得模型在训练过程中容易出现“过拟合”的现象。如图1中所示,当正常(图1(a))和异常样本(图1(b))相似时,现有方法可能会出现“过拟合”现象从而导致误分类。
特征表达限制:面对复杂多样的多源时序数据,模型在特征表达的过程中难以保留正常模式所需的代表性特征。在图1中,当测试数据变得与正常样本不同时(图1 (c)),现有方法无法捕获不同的正常行为模式。
图1: AMSL的插图。即使有类似的输入((a)和(b)),现有方法也可能过度拟合异常;另一方面,当输入不同((a)和(c))时,我们的方法保持准确,而现有方法可能失败。轴代表数据集上的三维信号。
Three contributions(三个贡献):
1)提出了AMSL方法,分别通过自监督学习模块和记忆网络模块来解决数据源限制和特征表达限制这两个挑战。
2)提出了全局和局部记忆模块以增强模型的特征表达能力,并进一步提出自适应记忆融合模块用于融合正常数据的共有特征和特有特征。
3)在四个公开数据集上进行了大量实验,结果表明了AMSL方法的有效性。尤其是在具有900M+实例的CAP数据集上,AMSL的准确率和F1分数均超过其他方法4%以上。此外,AMSL还具有强大的抗噪能力。
采用卷积自动编码器(convolutional autoencoder, CAE)作为基础网络,使用均方误差(MSE)计算重构误差。
提出了一种新的具有自监督学习的自适应记忆网络(AMSL)用于无监督异常检测,AMSL由4个新组件组成,如图2所示:
1)自我监督学习模块
2)全局记忆模块
3)局部记忆模块和
4)自适应融合模块
图2:AMSL的结构,它由四个部分组成:自监督学习、全局记忆、局部记忆和自适应融合,符号“×R”表示每个图对应一个变换的图。
AMSL通过以下四个步骤工作:
1)首先,编码器将原始的时间序列信号及其六个变换映射到一个潜在的特征空间。
2)然后,对于自监督学习,构建多类分类器对这些特征类型进行分类,学习广义特征表示。
3)同时将特征输入全局和局部内存网络模块,学习通用和特定特征。
4)最后,自适应融合模块对这些特征进行融合,得到新的表示,用于重建。
自监督学习模块(Self-Supervised Learning module)
该模块目的是对正常数据进行通用特征表示学习,引入自监督学习,以提高异常检测模型的通用性。本模块在原始的多源时序数据上设计信号变换以进行自监督学习,训练模型把对样本的变换类型进行分类识别作为辅助任务。本文设计六种信号变换,具体描述如下:
· 噪声:由于在现实世界中可能存在有噪声的传感器信号,因此在信号中添加噪声可以帮助提高模型对噪声的鲁棒性。本文使用了具有高斯噪声的变换。
· 反向:此变换沿时间维度反转时间序列数据,从而使样本具有相反的时间方向。
· 置换:此变换通过切片和交换不同的时间窗口来生成新数据,沿时间维度随机扰动信号,其旨在增强所得模型的排列不变性。
· 缩放比例:此变换通过乘以随机标量来改变时间窗口内信号的幅度,本文选择 [0.5,0.8,1.5,2] 作为标量值。缩放信号的添加可以帮助模型学习缩放不变性。
· 取反:此变换是缩放变换的一种特殊类型,它按-1进行缩放,从而得到输入信号的镜像。
· 平滑:此变换应用Savitzky-Golay(SG)方法来平滑信号。Savitzky-Golay滤波器是一种特殊类型的低通滤波器,非常适合于噪声信号的平滑处理。
为了学习正常数据的通用特征,使用交叉熵损失函数来区分变换后的实例:
R为自监督学习类的个数(包括所有六个变换和原始信号,本文中的R = 7)。 和 分别是伪标签和预测概率。对交叉熵损失前的概率应用Softmax激活函数。
自适应记忆融合模块(Adaptive Memory Fusion Module)
1. 记忆模块
由两部分组成: 「记忆表征」,用于表征编码后的特征。
「记忆更新」,基于记忆项与输入Z的相似性度量来更新记忆项。
在训练阶段,可以通过重构误差来更新记忆矩阵,从而迫使其记忆正常数据的关键特征。在推断阶段,记忆网络通过将所有记忆项组合的方式输出特征,从而更好地重构原始输入数据,当使用在记忆模块中的组合表征形式重构异常数据时将会产生较高的重构误差。
2. 自适应融合模块
该模块旨在从所有特征(由原始信号和变换信号得到的特征)中学习共有和特有表征形式。具体来说,该方法使用全局记忆模块来学习所有变换中包含的共有特征,使用局部记忆模块来学习每个变换的特定特征。最后,提出一个自适应融合模块,将这两组特征融合为最终的表示形式,以用于输入到解码器中进行重构。其目的是通过同时捕捉正常数据的共有特征和特有特征,增强模型对数据的特征表达能力。
全局记忆模块的构建使用的是共享的记忆矩阵。将编码后得到的特征作为输入,全局记忆模块可以将共有特征记录在记忆矩阵中,通过共享的全局记忆模块,获得的输出为:
训练与推断(Training and Inference)
1. 训练阶段
通过整合重构误差和自监督误差,我们能够得到目标函数并端到端的对模型进行训练。
其中和是用于平衡误差的权重。
AMSL的训练过程如Algorithm 4所示,算法中我们将本维度为VN的样本作为输入,其中V代表信号的长度,N代表信号的总数量。LMan和GMan分别代表局部记忆模块和全局记忆模块。
2. 推断阶段
对于自动编码器而言,通常假设模型对不同类别实例的压缩效果也是不同的,也就是说,如果训练数据集仅包含正常实例,则对于异常实例的重构误差会更高。因此,可以根据推断阶段的重构误差将这些实例分为“正常”或“异常”。
结论(CONCLUSIONS)
本文提出了一种基于自监督学习的自适应记忆网络(AMSL),用于多变量时间序列信号的无监督异常检测。为了提高模型对不可见异常的泛化能力,提出了使用自监督学习模块学习多种正常模式和自适应记忆融合网络学习全局和局部记忆模块丰富的特征表示。在四个公共数据集上的实验表明,该方法在准确性、泛化性和鲁棒性方面明显优于现有的方法。AMSL除了获得最佳性能外,还能够以比大多数方法更短的运行时间完成测试。根据在DSADS数据集上评估的结果,AMSL的参数数量和模型大小比大多数方法相对要小,通过控制自监督学习中变换信号的数量来减少模型参数,结果表明该方法仍然可以获得最佳的F1分数和准确率。在其他数据集上结论也相似,这使得该方法在实际应用中更具灵活性。
论文地址:https://arxiv.org/pdf/2201.00464.pdf
参考文章:TKDE 2022 | 基于自监督学习和自适应记忆网络的时间序列异常检测方法AMSL
异常检测 | 用于无监督异常检测的自监督学习适应性记忆网络相关推荐
- DFR: Deep Feature Reconstruction for Unsupervised Anomaly Segmentation 用于无监督异常分割的深度特征重建
DFR: Deep Feature Reconstruction for Unsupervised Anomaly Segmentation DFR:用于无监督异常分割的深度特征重建 类型:公开 ...
- 汉字风格迁移---dgfont++:用于无监督字体生成的健壮的可变形生成网络
文章目录 贡献 主要贡献 intro 风格映射 笔划.偏旁辅助 无监督 图像翻译 相关工作 辅助标注 图像翻译 变形卷积与注意机制 无监督表示学习 方法 A概述 B特征变形跳跃连接 C. 样式编码器的 ...
- AIOps指标异常检测之无监督算法
随着系统规模的变大.复杂度的提高.监控覆盖的完善,监控数据量越来越大,运维人员无法从海量监控数据中发现质量问题.智能化的异常检测就是要通过AI算法,自动.实时.准确地从监控数据中发现异常,为后续的诊断 ...
- kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...
使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...
- 《异常检测——从经典算法到深度学习》18 USAD:多元时间序列的无监督异常检测
<异常检测--从经典算法到深度学习> 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测 ...
- 《异常检测——从经典算法到深度学习》8 Donut: 基于 VAE 的 Web 应用周期性 KPI 无监督异常检测
<异常检测--从经典算法到深度学习> 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测 ...
- (Unsupervised Anomaly Detection)无监督异常检测领域最新研究进展 - Part 0 异常检测简述
文章目录 1. 简介 2. 相关数据集与评价指标 3. 研究进展 参考 1. 简介 异常检测,简单地说就是让学习到的模型能够区分开正常样本和异常样本.比如在医学领域,根据CT影像学习的癌症检测模型也可 ...
- OpenI启智社区开源算法框架推荐——新一代工业视觉无监督异常检测框架“READ”
工业缺陷检测是工业届非常重要且不可或缺的一项任务,由于工业场景异常缺陷多种多样,传统的机器视觉算法很难实现对缺陷特征完整的建模和迁移,算法复用相对困难,同时要求区分工况,从而造成大量的人力成本的浪费. ...
- 无监督异常检测中的阈值确定
实际部署中, 需要设置阈值判断待测样本是否属于异常类,无监督方法对缺陷发生概率的表达往往基于异常分数. (1)将归一化的注意力图作为异常分数图,用于像素级的缺陷分割,该方法对阈值设置不敏感 (2)Pa ...
最新文章
- CoGAN pytorch
- 探究Java虚拟机栈
- .net序列化与反序列化通用方法
- 通过pxe远程安装linux,通过PXE远程安装多台Linux系统
- 天河机场RFID技术应用浅析
- 随想录(udp经验总结)
- 数据:DeFi总锁定价值突破170亿美元
- 如何精简持仓基金数量?
- vfp 修改本机时间_时间旅行调试
- 美国政府悬赏数千万美元寻勒索组织线索、制裁及最近勒索事件概览
- 1002. 写出这个数 (20)-PAT乙级真题
- VS C++ string转int int转string
- 2.SpringCloud学习(二)——Spring Cloud Eureka 服务注册中心
- 怎么恢复格式化的sd卡呢?
- 学计算机高考英语听力考试时间,2020年北京高考英语听力首次机考时间定为12月14日...
- 模拟电路学习-之电容,电感重新认识
- 美国凯斯西储大学计算机硕士专业怎么样,体现优势 收获凯斯西储大学计算机专业offer...
- java.io.InvalidClassException异常产生原因及解决方案
- .NET Micro Framework简介
- rstudio中logit模型代码
热门文章
- android.bp编译生成so,Android导入第三方静态库.a编译成动态库.so
- Mothur1_Mothur的简介及运行准备
- JavaWeb购物车项目
- java循环购物车结算系统,购物车js代码_JS实现购物车商品列表结算功能代码
- 2021年电工(初级)考试题及电工(初级)最新解析
- echarts绘制广东省地图
- 史上最全教程没有之一,微信小程序使用云开发解决微信支付问题,我走了几天几夜的弯路啊
- LeetCode-House_Robber
- Java笔记整理——包装类
- 常见 Web 攻击介绍