TranAD架构
= { 1, . . . , },表示一个大小为T的带有时间戳的数据点序列,其中, 满足特定的时间戳 和 t∈ R ,单变量设置是其中 = 1的特殊情况。
异常检测:
给定一个训练输入时间序列,对于长度为的任意时间的测试时间序列,并且与训练序列的模态相同的作为训练序列,我们需要预测Y = { 1,., },其中 t ∈ {0,1} 表示测试集下第t个时间戳的数据点是否异常 (1表示异常数据点)。
异常诊断:
基于上述训练和测试时间序列,我们需要预测Y = { 1,., }
时序数据分析:long-term trends、locality(short-term trends)
对数据进行了标准化,并将其转换为时间序列窗口以进行训练和测试。(lstm)
令滑动窗口长度为K,将输入的时间序列转换为滑动窗口的序列W = { 1,.,},不足则追加常数向量补全序列W。
不使用T作为训练输入,而是使用W和(对应于) 作为测试序列。
我们首先预测该窗口的异常分数 ,而不是直接预测每个输入窗口的异常标签 。使用过去输入窗口的异常得分,我们计算一个阈值 ,在该阈值上,我们将输入窗口标记为异常,即 = 1( ≥ )。为了计算异常得分 ,我们将输入窗口重构为 ,并使用 和 之间的偏差。我们使用 ,, 和 进行讨论。
Focusing on deviation between ground truth and reconstruction
Transformers 模型
给窗口封装上下文
两阶段对抗模型
利用二范数计算两个解码器的重构误差:
对抗训练过程中,Decoder1目标为让误差min,Decoder2目标为让误差max(此处存疑,Decoder2的应该与O接近,即接近原始数据W,这里maxDecoder2原文解释为:1、第二解码器旨在通过最大化差异||-W||2来区分输入窗口和由Decoder1在阶段1 (使用Focus分数) 中生成的候选重构。2、第一解码器旨在通过完美地重构输入 (即, 1 = ) 来创建的Focus分数 ( 1 = 时为零向量) 来欺骗第二解码器。这推动解码器2在该阶段产生与 2相同的输出,该输出旨在匹配阶段1中的输入。)
计算每个解码器的累积损失。本文使用一个进化损失函数,该函数结合了来自两个阶段的重建和对抗损失函数, 为训练时期, 为接近1的训练参数
异常分值的定义如下:
得到每个维度的时间戳的异常分值后,如果这个分值s大于阈值,我们就会标记出时间戳异常。
窗口大小 = 10
transform编码器中的层数 = 1
编码器的前馈单元中的层数 = 2
编码器层中的隐藏单元 = 64
编码器中的Dropout = 0.1
将TranAD运用在以上数据集上
训练时间比较,单位/s