【论文阅读】TranAD: Deep Transformer Networks for Anomaly Detection inMultivariate Time Series Data

 TranAD架构

模型构建:

\tau = {𝑥 1, . . . , 𝑥𝑇},表示一个大小为T的带有时间戳的数据点序列,其中, 𝑥𝑡 满足特定的时间戳 𝑡 和 𝑥t∈ R𝑚 ,单变量设置是其中 𝑚 = 1的特殊情况。

异常检测:

给定一个训练输入时间序列\tau,对于长度为\hat{T}的任意时间的测试时间序列\hat{\tau },并且与训练序列的模态相同的作为训练序列,我们需要预测Y = {𝑦 1,.,𝑦 \hat{T}},其中 𝑦t ∈ {0,1} 表示测试集下第t个时间戳的数据点是否异常 (1表示异常数据点)。

异常诊断:

基于上述训练和测试时间序列,我们需要预测Y = {𝑦 1,.,𝑦 \hat{T}}

 数据预处理:

时序数据分析:long-term trends、locality(short-term trends)

对数据进行了标准化,并将其转换为时间序列窗口以进行训练和测试。(lstm)

令滑动窗口长度为K,将输入的时间序列\tau转换为滑动窗口的序列W = {𝑊 1,.,𝑊𝑇},不足则追加常数向量补全序列W。

不使用T作为训练输入,而是使用W和\hat{W}(对应于\hat{\tau }) 作为测试序列。

我们首先预测该窗口的异常分数 𝑠𝑡,而不是直接预测每个输入窗口的异常标签 𝑦𝑡。使用过去输入窗口的异常得分,我们计算一个阈值 𝐷,在该阈值上,我们将输入窗口标记为异常,即 𝑦𝑡 = 1(𝑠𝑡 ≥ 𝐷)。为了计算异常得分 𝑠𝑡,我们将输入窗口重构为 𝑂𝑡,并使用 𝑊𝑡 和 𝑂𝑡 之间的偏差。我们使用 𝑊,𝐶,𝑂 和 𝑠 进行讨论。

Focusing on deviation between ground truth and reconstruction

Transformers 模型和Offline Two-Phase Adversarial Training(离线两阶段对抗性训练模型)

Transformers 模型

给窗口封装上下文

两阶段对抗模型

​​​​​​​

利用二范数计算两个解码器的重构误差:

对抗训练过程中,Decoder1目标为让误差min,Decoder2目标为让误差max(此处存疑,Decoder2的\hat{O}应该与O接近,即接近原始数据W,这里maxDecoder2原文解释为:1、第二解码器旨在通过最大化差异||\hat{O}-W||2来区分输入窗口和由Decoder1在阶段1 (使用Focus分数) 中生成的候选重构。2、第一解码器旨在通过完美地重构输入 (即,𝑂 1 = 𝑊) 来创建的Focus分数 (𝑂 1 = 𝑊时为零向量) 来欺骗第二解码器。这推动解码器2在该阶段产生与 𝑂 2相同的输出,该输出旨在匹配阶段1中的输入。) 

 计算每个解码器的累积损失。本文使用一个进化损失函数,该函数结合了来自两个阶段的重建和对抗损失函数,𝑛 为训练时期,𝜖 为接近1的训练参数

异常分值的定义如下:

 

得到每个维度的时间戳的异常分值后,如果这个分值s大于阈值,我们就会标记出时间戳异常。

运行结果:

实验:

窗口大小 = 10

transform编码器中的层数 = 1

编码器的前馈单元中的层数 = 2 

编码器层中的隐藏单元 = 64 

编码器中的Dropout = 0.1

将TranAD运用在以上数据集上

 ​​​​​​​

训练时间比较,单位/s

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值