Press "Enter" to skip to content

TKDE 2022 | 基于自监督学习和自适应记忆网络的时间序列异常检测方法AMSL

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

本文介绍一篇被数据挖掘国际权威期刊TKDE 2022接收的regular paper,第一作者为中科院计算所张宇欣博士(知乎@破风的正果 ),其他作者来自微软亚洲研究院、新加坡南洋理工等单位。大多数异常检测方法的 泛化 能力易受训练数据类别和特征表达能力的限制,因此本文提出一种基于 自监督学习的自适应记忆网络异常检测方法 (Adaptive Memory Network with Self-supervised Learning,AMSL),相比于state-of-the-art的异常检测方法提高了至少 4% 的精度(F1-score)。此外,AMSL对噪声数据也能更加 鲁棒 。

 

论文地址: https:// arxiv.org/pdf/2201.0046 4.pdf

 

研究背景

 

尽管无监督异常检测方法取得了很多进步,但仍然存在两个关键挑战使得该类方法的 泛化 能力有限。第一个挑战是 数据源限制 :在训练数据集中只包含正常数据,相比于未知的测试数据,训练数据的类别是有限的,使得模型在训练过程中容易出现“过拟合”的现象。如下图中所示,当正常(a)和异常样本(b)相似时,现有方法可能会出现“过拟合”现象从而导致误分类。第二个挑战是 特征表达限制 :面对复杂多样的多源时序数据,模型在特征表达的过程中难以保留正常模式所需的代表性特征。在下图中,当测试数据变得与正常样本不同时(c),现有方法无法捕获不同的正常行为模式。因此,由于训练数据和特征表达都受到限制,如果将现有模型应用于实际场景时,其泛化能力较差。

 

为了解决以上两个重大挑战,本章提出基于自监督学习的自适应记忆网络异常检测方法(AMSL)。首先,为了应对有限的正常训练数据,AMSL包含了一个 自监督学习 模块,通过对时序信号进行多种变换的方式,丰富正常数据,实现数据增强。其次,为了应对有限的特征表示,AMSL引入了一种 自适应记忆融合网络 ,分别通过全局和局部记忆模块学习正常数据的共有特征和特有特征,提升模型的特征表达能力。AMSL采用自适应融合模块将共有特征和特有特征融合到最终的特征表示中,将其用于重构原始输入。该模型是基于卷积自动编码器的框架,因此能够轻松地以端到端的方式训练。如图1所示,尽管其他方法在面对两个挑战时都没有达到很好的效果,但我们的方法可以准确划分正常和异常数据。本文的主要贡献如下:

提出了AMSL方法,分别通过自监督学习模块和记忆网络模块来解决数据源限制和特征表达限制这两个挑战。
提出了全局和局部记忆模块以增强模型的特征表达能力,并进一步提出自适应记忆融合模块用于融合正常数据的共有特征和特有特征。
在四个公开数据集上进行了大量实验,结果表明了AMSL方法的有效性。 尤其是在具有900M+实例的CAP数据集上,AMSL的准确率和F1分数均超过其他方法4%以上。此外,AMSL还具有强大的抗噪能力。

问题定义

 

多源时序数据被定义为 , 这里 代表一个有着长度为 的信号, 代表信号的总数量

 

代表相应的类别。本文研究主要集中在一个有着 种类别的分类问题上,其中 。

 

异常

 

当一个样本 的标签 不属于任何预定义的类别时,该样本则被称为异常,即

 

模型介绍

 

我们将卷积自动编码器(CAE)作为基础模型架构,该架构已被广泛用于异常检测方法中[4-6]。自动编码器(AE) 是一种无监督神经网络模型,结构包含两个部分:编码器 和解码器 。编码器将高维输入 映射为潜在特征 ,其中 ,然后,解码器 将 重构为 。潜在特征 和重构的输入 可以分别计算为:

 

 

其中 表示编码器的参数, 表示解码器的参数。

 

重构误差使用的是均方误差 (MSE): 其中 表示 范数。

 

自监督学习模块

 

该模块目的是对正常数据进行通用特征表示学习,引入自监督学习,以提高异常检测模型的通用性。本模块在原始的多源时序数据上设计信号变换以进行自监督学习,训练模型把对样本的变换类型进行分类识别作为辅助任务。本文设计六种信号变换,具体描述如下:

噪声:由于在现实世界中可能存在有噪声的传感器信号,因此在信号中添加噪声可以帮助提高模型对噪声的鲁棒性。本文使用了具有高斯噪声的变换。
反向:此变换沿时间维度反转时间序列数据,从而使样本具有相反的时间方向。
置换:此变换通过切片和交换不同的时间窗口来生成新数据,沿时间维度随机扰动信号,其旨在增强所得模型的排列不变性。
缩放比例:此变换通过乘以随机标量来改变时间窗口内信号的幅度,本文选择 [0.5,0.8,1.5,2] 作为标量值。缩放信号的添加可以帮助模型学习缩放不变性。
取反:此变换是缩放变换的一种特殊类型,它按-1进行缩放,从而得到输入信号的镜像。
平滑:此变换应用Savitzky-Golay(SG)方法来平滑信号。 Savitzky-Golay滤波器是一种特殊类型的低通滤波器,非常适合于噪声信号的平滑处理。

为了学习正常数据的通用特征,使用交叉熵损失函数来区分变换后的实例: 其中 表示自监督学习类别个数( 包含6种变换信号和原始信号), 和 是第 类的伪标签和预测概率。

 

自适应记忆融合模块

 

为解决特征表达限制这一挑战,本文提出一个自适应记忆融合模块,通过记忆正常数据中的某种特定模式来增强模型区分正常数据和异常数据的能力。

 

1. 记忆模块

 

记忆模块[7-8]由两部分组成: 记忆表征 ,用于表征编码后的特征。 记忆更新 ,基于记忆项与输入 的相似性度量来更新记忆项。具体地,记忆模块被实例化为一个矩阵 , 用于存储 个有着 维的向量。

 

设行向量 表示为 的第 行, 其中 表示从1到 的整数集合。 每一个 代表一个记忆项。 给定一个输入 (编码后的特征), 其中 表示编码器最后一层的滤波器大小。记忆网络的输出为 ,它代表着记忆项 的加权平均值, 权重 通过计算输入 和记忆矩阵 的相似性得到: 其中 代表 的第 个权重。权重向量 由输入 和记忆项 的相似性计算得到:

 

使用的是余弦相似性的度量策略:

 

 

在训练阶段,可以通过重构误差来更新记忆矩阵,从而迫使其记忆正常数据的关键特征。在推断阶段,记忆网络通过将所有记忆项组合的方式输出特征,从而更好地重构原始输入数据,当使用在记忆模块中的组合表征形式重构异常数据时将会产生较高的重构误差。

 

2. 自适应融合模块

 

该模块旨在从所有特征(由原始信号和变换信号得到的特征)中学习共有和特有表征形式。具体来说,该方法使用全局记忆模块来学习所有变换中包含的共有特征,使用局部记忆模块来学习每个变换的特定特征。最后,提出一个自适应融合模块,将这两组特征融合为最终的表示形式,以用于输入到解码器中进行重构。其目的是通过同时捕捉正常数据的共有特征和特有特征,增强模型对数据的特征表达能力。

 

全局记忆模块的构建使用的是共享的记忆矩阵。将编码后得到的特征作为输入,全局记忆模块可以将共有特征记录在记忆矩阵中,通过共享的全局记忆模块,获得的输出为: 其中 为全局记忆模块的函数式, 表示一个全局记忆模块的共享参数,且 。

 

局部记忆模块的构建使用的是 个记忆矩阵,每个记忆矩阵记录着正常数据中相应变换的特有特征。通过 个局部记忆模块,获得的输出为:

 

其中 为局部记忆模块的函数式, 表示 个局部记忆模块的参数。

 

直观地说, 共有特征和特有特征在表达一个实例的过程中不是同等重要的 ,因此,最后的特征表达需要由计算得到的权重来确定: 这里, 分别代表共有特征和特有特征的权重,为了学习权重,变量 输入到全连接网络得到的输出结果作为 个权重 的初始权重值,全连接网络包括一个全连接层(Fully Connected,FC)、一个批标准化层(Batch Normalization,BN)、和一个激活函数层(Activation Function,AF),其激活函数层使用的是Sigmoid函数,目的是控制变量的范围在 之间。

 

最后,解码器将 和 用于重构原始输入数据,这里 代表编码器的输出结果, 表示由自适应融合模块生成的特征表示。重构误差被定义用于最小化原始输入与解码器输出的欧式距离( 范数),定义方式如下所示:

 

其中 代表将 和 串联, 表示第 个解码器的参数。

 

研究发现记忆单元能够通过复杂的组合形式生成不同的特征甚至对于异常数据也能被很好地重构出来,限制全局记忆网络和局部记忆网络权重的稀疏性是一种有效的解决方法,考虑到所有权重是非负的且 ,因此,我们提出一种稀疏损失函数,通过最小化 的熵得到:

 

模型训练与推断

 

1. 训练阶段

 

通过整合重构误差和自监督误差,我们能够得到目标函数并端到端的对模型进行训练。 其中 和 是用于平衡误差的权重。

 

AMSL的训练过程如算法4所示,算法中我们将本维度为 的样本作为输入,其中 代表信号的长度 , 代表信号的总数量。 和 分别代表局部记忆模块和全局记忆模块。

 

2. 推断阶段

 

对于自动编码器而言,通常假设模型对不同类别实例的压缩效果也是不同的,也就是说,如果训练数据集仅包含正常实例,则对于异常实例的重构误差会更高。因此,我们可以根据推断阶段的重构误差将这些实例分为“正常”或“异常”。

 

给定正常数据作为训练样本集 ,首先我们要生成自监督学习所需的信号变换,然后定义决策阈值 为所有训练数据得到的误差值 的 第99个百分位数 ,其中 代表 的重构误差值 。在推断阶段, 决策标准是当 时, 测试数据 将被定义为“异常”,反之“正常”。

 

实验

 

AMSL与其他方法的对比实验结果

传统方法在不同数据集上的表现能力有所不同,原因可能是它们受到特征提取方法和维数灾难的限制。在深度学习方法中,CNN-LSTM取得了最低的F1分数,这意味着仅靠CNN-LSTM不足以捕获正常数据的通用表征模式,还需要更多的规范化方式来提高其性能。对于基于重构的方法(LSTM-AE、MSCRED和ConvLSTM-AE),其精度受到训练数据中噪声的限制,导致了模型难以区分正常、异常、和噪声数据。MNAD和ConvLSTM最初被用于处理视频数据的异常检测,因此可能不适用于多源时间序列信号。对于BeatGAN,它在CAP和WESAD数据集上的精度较低,原因是模型使用了大量的全连接层,这样做使其更容易在大型数据集上出现模式崩溃以模型不收敛问题。对于UODA,它在PAMAP2数据集上表现的相当不错,但是它不是端到端训练,需要先对去噪自动编码器(DAE)和循环神经网络(RNN)进行预训练,然后对UODA进行整体微调。GDN在PAMAP2和DSADS数据集上都有不错的表现,但是随着数据量的增大,模型运行速度减慢,精度也会有所下降。对于复合式ConvLSTM模型,其性能优于其他基准模型。该模型由单个编码器和两个解码器组成。实际上,由于其效率分别受重构误差和预测误差的影响,因此平衡两者的误差值尤为重要。

 

自监督学习模块

 

AMSL实验分析

自监督学习能够实现数据增强,有助于网络学习正常数据的通用特征,从而提高模型的泛化能力。在图(a)中,我们对比了自监督学习下不同变换对模型性能的影响情况。该评估可以帮助我们更好地观察通过共同学习增强数据是否比学习原始数据更好,结果表明,除加入噪声的信号外其他变换形式包括原始数据都有不错的效果,从上述实验结果可以看出,将所有变换组合在一起后取得了优于原始数据和单一变换下的模型检测精度。

 

自适应融合模块

 

在图(b)中,我们展示了CAE、GMSL、LMSL和AMSL的精度对比。GMSL和LMSL分别表示的是带有局部记忆网络和带有全局记忆网络的方法。实验结果表明,自适应记忆融合网络比使用单个记忆网络(即全局或局部记忆模块)具有更好的性能。AMSL的F1分数比GMSL的高出1.86%,比LMSL的F1分数高出3.12%。如本章研究内容所述,AMSL会自动找到最佳权重 和 值,为了在训练阶段观察自适应权重的变化,我们在PAMAP2数据集上进行了该实验。如图(c)中所示,当迭代次数达到70次左右时,自适应权重的值趋于稳定,其中 表示原始信号与6种变换信号的权重,数字对应于图(a)中的文字部分。

 

可视化分析

 

AMSL可视化分析

我们针对MNAD、UODA和AMSL三种方法进行了案例研究,如图中所示,我们可视化了一些正常和异常的数据。我们在DSADS数据集上选择了其中的三维信号 进行展示,可以观察到我们的方法AMSL正确地对这些样本进行分类,而其他方法在两种情况下会失败:(1)当正常样本与大多数正常样本不相似(即过拟合)时,或(2)当异常样本与正常样本非常相似(即缺乏有效的表征)。结果表明了AMSL可以有效地提升模型的特征表达能力,防止过拟合的发生。

 

计算复杂度

 

AMSL计算复杂度

我们评估了不同方法的测试时间,如图所示,AMSL除了获得最佳性能外,还能够以比大多数方法更短的运行时间完成测试。根据在DSADS数据集上评估的结果,AMSL的参数数量和模型大小比大多数方法相对要小,我们通过控制自监督学习中变换信号的数量 来减少模型参数,结果表明我们的方法仍然可以获得最佳的F1分数和准确率,在其他数据集上,结论也相似。这使得我们的方法在实际应用中更具灵活性。

 

相关阅读:

 

TKDE 2021 | CAE-M: 一个基于多变量时序数据的深度异常检测模型

 

中科院在读美女博士带你全面了解“异常检测”领域

 

Reference

 

[1] C. Zhang, D. Song, Y. Chen, X. Feng, C. Lumezanu, W. Cheng, J. Ni, B. Zong, H. Chen, and N. V. Chawla, “A deep neural network for unsupervised anomaly detection and diagnosis in multivariate time series data,” in Proceedings AAAI, vol. 33, 2019, pp.1409–1416.

 

[2] D. Gong, L. Liu, V. Le, B. Saha, M. R. Mansour, S. Venkatesh, and A. v. d. Hengel, “Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection,” in Proceedings of the IEEE International Conference on Computer Vision, 2019, pp. 1705–1714.

 

[3] L. Shen, Z. Li, and J. Kwok, “Timeseries anomaly detection using temporal hierarchical one-class network,” Advances in Neural Information Processing Systems, vol. 33, 2020.

 

[4] M. Sakurada and T. Yairi, “Anomaly detection using autoencoders with nonlinear dimensionality reduction,” in Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis. ACM, 2014, p. 4.

 

[5] M. Gutoski, N. M. R. Aquino, M. Ribeiro, E. Lazzaretti, and S. Lopes, “Detection of video anomalies using convolutional autoencoders and one-class support vector machines,” in XIII Brazilian Congress on Computational Intelligence, 2017, 2017.

 

[6] M. Hasan, J. Choi, J. Neumann, A. K. Roy-Chowdhury, and L. S. Davis, “Learning temporal regularity in video sequences,” in CVPR, 2016, pp. 733–742.

 

[7] C. Zhang, Y. Wang, X. Zhao, Y. Guo, G. Xie, C. Lv, and B. Lv, “Memory-augmented anomaly generative adversarial network for retinal oct images screening,” in 2020 IEEE 17th International Symposium on Biomedical Imaging (ISBI). IEEE, 2020, pp. 1971–1974.

 

[8] D. Gong, L. Liu, V. Le, B. Saha, M. R. Mansour, S. Venkatesh, and A. v. d. Hengel, “Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection,” in Proceedings of the IEEE International Conference on Computer Vision, 2019, pp. 1705–1714.

 

参考

 

 

    1. 由于传感器的采样率不同,每个传感器信号可能具有不同的长度。 在这种情况下,我们通过下采样或上采样的方式将它们处理成相同长度的$V$

 

    1. 关于数据维度的说明:在实际应用中,经常采用滑动窗口技术在时间序列数据中分割样本,因此,$ \bm {x} $通常是一个大于2维的张量。 为简单起见,我们将其统一化表示为$V$。

 

    1. 从理论上讲,目前尚无统一的异常定义,在本次研究中,我们遵循现有文献中的常规定义[1-3]。

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。