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

系列文章链接
数据基础:多维时序数据集简介
论文一:2022 Anomaly Transformer:异常分数预测
论文二:2022 TransAD:异常分数预测

论文链接:TransAD.pdf
代码库链接:https://github.com/imperial-qore/TranAD

这篇文章是基于多变量数据的异常检测,也是基于transformer的一种深度学习方法,作者对前人的工作存在以下两点思考:

  • 在常用的基于深度学习的异常检测方案中,都是采用一定的固定窗口进行样本数据提取,如对于一个时间点位,会提取历史窗口长度为100的数据作为当前点位的数据,然后采用LSTM编码进行数据向量化表征,但是这种表征方式存在缺陷,就是忽略了数据的长期周期性、季节性等规律特性。但是如果要加入这些数据,时序原始数据表征长度就会过长,很难进行建模。
    【论文阅读】基于深度学习的时序异常检测——TransAD_第1张图片
  • 真实数据和重构的数据差异比较大时有两种情况:(1)原始数据的噪声;(2)异常事件引起数据异常;而模型需要关注的应该是这些时候的差异性;
    【论文阅读】基于深度学习的时序异常检测——TransAD_第2张图片针对上述思考,论文作者提出了两个创新模块:
  • 基于Transformer的时序数据建模;
  • 基于two-phase inference的数据重构;
    【论文阅读】基于深度学习的时序异常检测——TransAD_第3张图片
    【论文阅读】基于深度学习的时序异常检测——TransAD_第4张图片
    整体架构如上图所示,通过编解码的结构进行网络架构搭建,具体的模块细节包含下面几个:
  1. Phase1对应的粗略重建:如下图所示,其中 W W W表示时序数据邻近窗口点位的时序数据, C C C表示能够获取周期性、季节性特性的长时段时间序列,截至点为当前时间点, 0 ⃗ \vec 0 0 表示的是趋势序列输入的数据权重,在第一个阶段中是和完整序列 C C C大小相匹配的全0向量。在对窗口数据 W W W和完整序列 C C C采用多头注意力进行编码后,将完整序列的编码结果和窗口编码结果采用注意力机制进行计算,并进行解码,重构出两个输出结果 O 1 O_1 O1 O 2 O_2 O2。关于如何进行多头注意力机制的建模就不展开了,可以参考原文。
    【论文阅读】基于深度学习的时序异常检测——TransAD_第5张图片
  2. Phase2对应的引导重构:对于输出结果 O 1 O_1 O1 O 2 O_2 O2而言,构建重构损失 ∣ ∣ O 1 − W ∣ ∣ 2 ||O_1-W||_2 ∣∣O1W2 ∣ ∣ O 2 − W ∣ ∣ 2 ||O_2-W||_2 ∣∣O2W2用于反馈给网络, O 1 O_1 O1反馈用于更新网络的focus score。更新好focus score后,对于Decoder1而言,目标是使得重构结果和目标间的差距更小,对于Decoder2而言,目标是使得重构结果和目标间的差距更大,所以对于两个解码器的两个阶段而言,设计了以下损失构建方式: L 1 = ϵ − n ∣ ∣ O 1 − W ∣ ∣ 2 + ( 1 − ϵ − n ) ∣ ∣ O ^ 2 − W ∣ ∣ 2 L_1=\epsilon^{-n}||O_1-W||_2+(1-\epsilon^{-n})||\hat O_2-W||_2 L1=ϵn∣∣O1W2+(1ϵn)∣∣O^2W2 L 2 = ϵ − n ∣ ∣ O 2 − W ∣ ∣ 2 + ( 1 − ϵ − n ) ∣ ∣ O ^ 2 − W ∣ ∣ 2 L_2=\epsilon^{-n}||O_2-W||_2+(1-\epsilon^{-n})||\hat O_2-W||_2 L2=ϵn∣∣O2W2+(1ϵn)∣∣O^2W2
    【论文阅读】基于深度学习的时序异常检测——TransAD_第6张图片
  3. 异常得分计算: 1 2 ∣ ∣ O 1 − W ^ ∣ ∣ 2 + 1 2 ∣ ∣ O ^ 2 − W ^ ∣ ∣ 2 \frac{1}{2}||O_1-\hat W||_2+\frac{1}{2}||\hat O_2-\hat W||_2 21∣∣O1W^2+21∣∣O^2W^2超过阈值的则认为是异常;

你可能感兴趣的:(论文阅读,深度学习,人工智能)