Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AnomalyBERT:用于时间序列异常检测的预训练BERT

AnomalyBERT:用于时间序列异常检测的预训练BERT

作者头像
圆圆的算法笔记
发布于 2023-08-17 00:33:48
发布于 2023-08-17 00:33:48
3.6K0
举报

时间序列异常检测任务,目标是判断时间序列的各个片段是否异常。今天这篇文章是ICLR 2023中一篇利用BERT解决时间序列异常检测的工作。核心是利用BERT模型结合时间序列异常样本生成做预训练,让BERT具有判别异常片段的能力,再应用到下游时间序列异常检测任务中

  • 论文标题:ANOMALYBERT: SELF-SUPERVISED TRANSFORMER FOR TIME SERIES ANOMALY DETECTION USING DATA DEGRADATION SCHEME
  • 下载地址:https://arxiv.org/pdf/2305.04468v1.pdf
  • 开源代码:https://github.com/Jhryu30/AnomalyBERT

1、整体思路

本文提出的AnomalyBERT整体模型结构如下图。整体思路,首先,对于一个正常的时间序列,抽取某个片段,对于这个片段使用某种异常值生成的方式构造异常样本。接下来,将这个异常样本输入到Transformer模型中,模型得到每个片段的异常值打分预测结构,拟合目标是这个片段是否为异常的分类任务。在经过大量数据的训练后的BERT,就具有了判别时间序列每个片段是否异常的能力。

2、模型细节

下面主要从异常样本生成、模型结构、训练方式3个部分,介绍AnomalyBERT的模型细节。

异常样本生成,主要目的是将一个正常的时间序列处理成某个片段异常的序列,通过这种方式实现有监督的训练。文中提出了4种类型的异常样本构造方法:

Soft Replacement:将原始片段替换成窗口外序列的加权求和

Uniform Replacement:将原始片段替换成一个常数值序列

Peak Noise:在片段中增加异常峰值

Length Adjustment:修改片段中序列的长度,然后再填充到原来片段中

异常数据构造的目的,主要是为了模拟真实场景异常序列。如何构造这个数据对最终效果影响非常大,因此需要针对下游任务选择最适合的异常数据构造方法。例如本文中提到的4种异常数据构造方法,都暗含了一些对异常数据形态的先验假设。

模型结构方面,主体是Transformer结构,对于position embedding部分,文中是直接在每层的attention计算中加入位置偏置向量,这一点是和BERT有差异的,主要为了增强模型对时序的感知能力。将时间序列分成各个片段后输入到Transformer,类似于PatchTST的思路,最终每个片段生成一个打分,用来判断当前片段是否存在异常值。

优化目标上,是一个二分类任务,对于人工构造异常片段部分,希望模型打分接近1。损失函数是简单的二分类交叉熵损失。

3、模型效果

下图是一些可视化的例子。左侧第一列是时间序列,红色部分代表异常点,上面是原始序列,下面是模型对各个片段的打分。可以看到对于异常部分,模型的预测打分是明显偏高的,能够正确识别时间序列中的异常片段。第二列是表示的TSNE分布,异常部分的表示与正常部分的表示在分布中可以得到一定程度的分离。

整体的实验效果如下图,在多个数据集上AnomalyBERT都取得了超越之前方法的效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 圆圆的算法笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于对比学习的时间序列异常检测方法
今天给大家介绍KDD 2023中,牛津大学与阿里巴巴联合发表的时间序列异常检测工作。在以往的时间序列异常检测中,使用最多的方法是基于Reconstruction的方法。本文探索了对比学习在时间序列异常检测中的应用,取得了不错的效果。下面给大家详细介绍一下这篇文章。
圆圆的算法笔记
2023/08/17
2.3K0
基于对比学习的时间序列异常检测方法
综述!基于图的时间序列异常检测方法
时间序列异常检测(TSAD)在各种应用中具有重要性,但面临挑战,需同时考虑变量内和变量间依赖性,基于图的方法在应对这方面取得了进展。
算法进阶
2024/04/12
7500
综述!基于图的时间序列异常检测方法
AI论文速读 | TimesBERT:用于时间序列理解的 BERT 风格基础模型
论文标题:TimesBERT: A BERT-Style Foundation Model for Time Series Understanding
时空探索之旅
2025/03/10
6710
AI论文速读 | TimesBERT:用于时间序列理解的 BERT 风格基础模型
深度学习时间序列异常检测方法
本文全面概述了深度学习用于时间序列异常检测的最新架构,提供了基于策略和模型的方法,并讨论了各种技术的优点和局限性。此外,还举例说明了近年来深度学习在时间序列异常检测中各领域的应用。
算法进阶
2024/07/11
1.4K0
深度学习时间序列异常检测方法
时间序列自监督学习综述
自监督学习(SSL)是一种机器学习方法,最近在各种时间序列任务上取得了令人印象深刻的表现。SSL最显著的优点是它减少了对标记数据的依赖。基于预训练和微调策略,即使是少量的标记数据也能实现高性能。
算法进阶
2023/08/28
6760
时间序列自监督学习综述
【时间序列】时序预测竞赛之异常检测算法综述
本文将介绍在时间序列预测相关问题中常见的异常检测算法,可以很大程度上帮助改善最终预测效果。
黄博的机器学习圈子
2020/12/11
3.4K0
【时间序列】时序预测竞赛之异常检测算法综述
北大&微软联合提出超强时间序列表示学习框架,显著提升多项时间序列任务效果
表示学习是机器学习中的一个重要研究方向,在NLP、CV领域有很多经典的表示学习工作。大多数表示学习利用无监督学习的方法,结合合适的正负样本pair构造、损失函数,学习便于让机器学习模型理解的样本表示。近期,表示学习也逐渐应用到了时间序列领域。今天给大家介绍一篇时间序列表示学习的前沿工作,是由北京大学和微软联合署名的一篇AAAI 2022工作TS2Vec。
圆圆的算法笔记
2022/09/22
1.8K0
北大&微软联合提出超强时间序列表示学习框架,显著提升多项时间序列任务效果
基于对比学习的时间序列异常检测方法
时间序列异常检测是一项重要的任务,其目标是从时间序列的正常样本分布中识别异常样本。这一任务的最基本挑战在于学习一个能有效识别异常的表示映射。
算法进阶
2023/08/28
9730
基于对比学习的时间序列异常检测方法
时间序列异常检测的方法总结
时间序列数据是按一定时间间隔记录的一系列观测结果。它经常在金融、天气预报、股票市场分析等各个领域遇到。分析时间序列数据可以提供有价值的见解,并有助于做出明智的决策。
算法进阶
2023/08/28
1.9K0
时间序列异常检测的方法总结
干货 | 关于数据的异常检测,看这一篇就够了
束开亮,携程大市场部BI团队,负责数据分析与挖掘。同济应用数学硕士,金融数学方向,法国统计学工程师,主修风险管理与金融工程。
携程技术
2019/04/22
6K0
干货 | 关于数据的异常检测,看这一篇就够了
《异常检测——从经典算法到深度学习》6 基于重构概率的 VAE 异常检测
论文总体结构为: Abstract: 我们提出了一种基于重构概率的异常检测方法 可变自动编码器。
全栈程序员站长
2022/11/17
1.7K0
《异常检测——从经典算法到深度学习》6 基于重构概率的 VAE 异常检测
基于机器学习的web异常检测
Web防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统web入侵检测技术通过维护规则集对入侵访问进行拦截。一方面,硬规则在灵活的黑客面前,很容易被绕过,且基于以往知识的规则集难以应对0day攻击;另一方面,攻防对抗水涨船高,防守方规则的构造和维护门槛高、成本大。 基于机器学习技术的新一代web入侵检测技术有望弥补传统规则集方法的不足,为web对抗的防守端带来新的发展和突破。机器学习方法能够基于大量数据进行自动化学习和训练,已经在图像、语音、自
FB客服
2018/02/09
2.8K0
基于机器学习的web异常检测
时间序列分析的表示学习时代来了?
表示学习作为深度学习中的核心,近期越来越多的被应用到了时间序列领域中,时间序列分析的表示学习时代已经来了。本文为大家带来了2020年以来顶会的5篇时间序列表示学习相关的核心工作梳理。
圆圆的算法笔记
2022/09/22
1.2K0
时间序列分析的表示学习时代来了?
时间序列+预训练大模型!
时间序列预测可以使用经典预测方法和深度学习方法。经典预测方法如ETS、ARIMA等为每个时间序列独立地拟合模型,而深度学习方法在给定的数据集中学习时间序列。
算法进阶
2024/05/21
8720
时间序列+预训练大模型!
​万字综述 | 图神经网络在时间序列中的应用:预测、分类、填补和异常检测
时间序列是记录动态系统测量值的主要数据类型,由物理传感器和在线过程(虚拟传感器)大量生成。因此,时间序列分析对于揭示可用数据中隐含的信息财富至关重要。随着图神经网络(GNNs)的最新进展,基于GNN的时间序列分析方法大幅增加。这些方法可以明确地建模时序和变量间的关系,而传统的和其他基于深度神经网络的方法则难以做到。在这项调查中,我们对图神经网络在时间序列分析中的应用进行了全面回顾(GNN4TS),涵盖了四个基本维度:预测、分类、异常检测和填补。我们的目标是指导设计师和从业者了解、构建应用程序,并推进GNN4TS的研究。首先,我们提供了一个全面的面向任务的GNN4TS分类法。然后,我们介绍和讨论代表性研究成果,并介绍GNN4TS的主流应用。最后,我们全面讨论了潜在的未来研究方向。这项调查首次汇集了大量关于基于GNN的时间序列研究的知识,突出了图神经网络在时间序列分析中的基础、实际应用和机遇。
Houye
2024/04/11
7.3K0
​万字综述 | 图神经网络在时间序列中的应用:预测、分类、填补和异常检测
Bert不完全手册4. 绕开BERT的MASK策略?XLNET & ELECTRA
基于随机token MASK是Bert能实现双向上下文信息编码的核心。但是MASK策略本身存在一些问题
风雨中的小七
2022/05/11
1.2K0
Bert不完全手册4. 绕开BERT的MASK策略?XLNET & ELECTRA
GNN如何建模时间序列?
时间序列是用于记录动态系统测量结果的主要数据类型,并由物理传感器和在线过程(虚拟传感器)大量生成。因此,时间序列分析对于发掘可用数据中隐含的信息丰富性至关重要。随着图神经网络(GNNs)的最近进步,基于GNN的时间序列分析方法的研究有所增加。这些方法可以明确地模拟时间和变量之间的关系,这是传统的和其他基于深度神经网络的方法难以做到的。在这次综述中,我们对图神经网络进行了全面的时间序列分析(GNN4TS),包括四个基本维度:预测、分类、异常检测和插补。我们的目标是指导设计师和实践者理解,构建应用,并推进GNN4TS的研究。首先,我们提供了一个全面的任务导向的GNN4TS分类。然后,我们介绍并讨论代表性的研究工作,最后讨论GNN4TS的主流应用。关于潜在的未来研究方向的全面讨论完整了这次综述。这次研查是首次汇集了大量关于基于GNN的时间序列研究的知识,突出了图神经网络用于时间序列分析的基础、实际应用和机会。
Houye
2023/09/04
7970
GNN如何建模时间序列?
相关推荐
基于对比学习的时间序列异常检测方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档