【论文阅读】基于深度学习的时序异常检测——Anomaly Transformer

系列文章链接
论文一:2022 Anomaly Transformer:异常分数预测
论文二:2022 TransAD:异常分数预测

论文链接:Anomaly Transformer.pdf

代码链接:https://github.com/thuml/Anomaly-Transformer

视频讲解(原作者禁止转载,联系的话侵删):https://www.bilibili.com/video/BV1CN4y1A7x6/?spm_id_from=333.337.search-card.all.click&vd_source=c912801c215d811162cae4db751b0768

本文是清华大学研究生提出的一种异常检测模型,是基于transformer针对时序数据进行编码的方案,整体方案让人耳目一新。

本文的创新点总结

  1. 提出了Anomaly-Attention 模块,该模块有两大亮点:
    2.1 prior-association :如下图上半部分所示,采用高斯分布去拟合样本时间点位和邻近点位的数据分布,通过调整参数 σ \sigma σ得到高斯先验分布,更注重局部数据分布, l l l层的高斯分布计算表示为: P l = R e s c a l e ( 1 2 π σ i e x p ( − ∣ j − i ∣ 2 2 σ i 2 ) i , j ∈ 1 , 2 , . . . , N ) P^l=Rescale(\\frac{1}{\\sqrt {2\\pi\\sigma_i}}exp(-\\frac{\|j-i\|\^2}{2\\sigma_i\^2}){i,j\in{1,2,...,N}}) Pl=Rescale(2πσi 1exp(−2σi2∣j−i∣2)i,j∈1,2,...,N)

    2.2 series-association :采用transformer中的注意力机制进行时序数据建模,拟合上下文点位和目标样本点位间的权重关系,用于表示点位和更大范围内的上下文数据间的关联性,更注重较大范围内的信息,如上图下半部分所示, l l l层的注意力关联计算为: S l = s o f t m a x ( Q K T d m o d e l ) S^l=softmax(\frac{QK^T}{\sqrt{d
    {model}}}) Sl=softmax(dmodel QKT)正如上图右边所示,对于正常点位而言,其对应临近点高斯分布和上下文注意力分布之间差距会更大,因为正常点位与上下文时序数据间关联更大;对于异常点位而言,它和邻近点位以及上下文时序数据的关联性较小,属于比较离群的状态,因此异常点位的两种分布差异很小;可以通过这种差异性来区分正常点位和异常点位(👍);
  2. 提出了一种新的重构损失 构建方法: L t o t a l ( X ^ , P , S , λ ; X ) = ∣ ∣ X − X ^ ∣ ∣ F 2 − λ ∗ ∣ ∣ A s s D i s ( P , S ; λ ; X ) ∣ ∣ 1 L_{total}(\hat X,P,S,\lambda;X)=||X-\hat X||^2_F-\lambda*||AssDis(P,S;\lambda;X)||_1 Ltotal(X^,P,S,λ;X)=∣∣X−X^∣∣F2−λ∗∣∣AssDis(P,S;λ;X)∣∣1左边计算的是预测值和真实数据间的重构损失,差距越大表示数据越异常,右边表示的是高斯分布和注意力分布间的差值损失,差值越大表示数据越正常,因此是减去该损失,以此构建的重构损失能够让模型更好地学习到正常点位和异常点位之间的差异性;,训练过程中如果想让分布间的距离变大,就容易导致高斯分布训练出来的 σ \sigma σ趋于0,最终呈现出如下图的分布:
    为此,他们设计了一种技巧叫Minimax Strategy ,在最小化阶段,先固定注意力模块的权重不变,让高斯分布的拟合向注意力权重分布靠近,让 σ \sigma σ不至于过拟合;然后在最大化二者距离的时候,固定高斯分布的参数,训练注意力模块的权重,让最终的两种分布的距离变大,如下图所示:
  3. 最终的异常分通过下式计算: A n o m a l y S c o r e ( X ) = s o f t m a x ( − A s s D i s ( P , S ; λ ; X ) ) ⨀ ∣ ∣ X − X \^ ∣ ∣ 2 2 i = 1 , 2 , . . . , N AnomalyScore(X)=softmax(-AssDis(P,S;\lambda;X))\bigodot \|\|X-\\hat X\|\|\^2_2_{i=1,2,...,N} AnomalyScore(X)=softmax(−AssDis(P,S;λ;X))⨀∣∣X−X\^∣∣22i=1,2,...,N通过将重构差异和分布距离进行联合能够更好地进行异常检测,当预测的异常分数超过某个阈值时,就认为当前点位为异常点位;
相关推荐
云和数据.ChenGuang2 分钟前
深度学习在鲲鹏HPC下的学习
人工智能·深度学习·学习·机器学习·数据挖掘
YOLO数据集集合12 分钟前
无人机航拍+深度学习落地智慧农业:作物出苗率目标检测开源数据集工程详解|YOLO作物计数、田间苗期AI监测、农情数字化训练资源
人工智能·深度学习·yolo·目标检测·计算机视觉·无人机
烬羽27 分钟前
从零搭建AIGC应用:英伟达NIM + Node.js实战
深度学习
lqqjuly35 分钟前
神经网络架构设计解析(Neural Network Architecture Design)
人工智能·深度学习·神经网络
OPMR38 分钟前
【初步成功】RTX4090微调Qwen3-TTS模型及相关问题
人工智能·深度学习
小糖学代码1 小时前
机器学习:4.人工神经网络
人工智能·深度学习·神经网络·机器学习
Y学院1 小时前
PyTorch深度学习框架核心概念精讲
人工智能·pytorch·深度学习
lqqjuly1 小时前
视频理解与生成解析(Video Understanding & Generation)
深度学习·音视频
韦胖漫谈IT1 小时前
Transformer:一篇论文如何改变 AI 世界
人工智能·深度学习·transformer
中科院提名者1 小时前
BERT 模型的运行机制及DistilBERT 的蒸馏压缩过程
人工智能·深度学习·bert