2. 山东财经大学 山东省数字媒体技术重点实验室, 济南 250014;
3. 山东省未来智能金融工程实验室, 山东 烟台 264005;
4. 山东大学 软件学院, 济南 250101
2. Shandong Key Laboratory of Digital Media Technology, Shandong University of Finance and Economics, Jinan 250014, China;
3. Shandong Provincial Laboratory of Future Intelligence and Financial Engineering, Yantai 264005, China;
4. Software College, Shandong University, Jinan 250101, China
时序数据由随时间展开的序列值组成, 这些序列值真实地记录着系统各个时刻的重要信息[1]. 时序数据分析旨在从大量的时序数据中提取潜在的有用信息, 其主要任务包含聚类[2]、分类[3]和异常检测[4]等. 其中, 异常检测的目标是检测出不服从正常数据模式的异常点, 在网络入侵检测[5]、工业故障诊断[6]、人体行为异常检测[7]等领域均有着广泛的应用.
目前, 研究人员已对时序数据的异常检测进行了深入研究[8-9]. 一种常用策略是通过度量数据之间的邻近度实现异常检测. 由于异常数据不服从正常的数据模式, 其特征往往与正常数据的特征存在明显差异, 导致两者之间的邻近度较低. 在检测阶段, 将与正常数据邻近度较低的待检数据判定为异常; 否则, 判定为正常数据. 这种基于邻近度度量的异常检测方法的关键在于选择一个合适的邻近度度量标准. 常见的度量标准有相似性[10]、距离[11]和密度[12]等.
尽管基于邻近度度量的方法有较低的误报率, 但其性能对邻近度度量标准较为敏感, 这限制了此类方法的应用. 鉴于深度神经网络强大的特征提取和表示能力, 基于深度学习的异常检测方法受到了广泛关注[13]. 通过有效提取输入数据的特征以获得低维的特征表示, 并利用该特征表示进行数据重构, 再将重构误差与预先设定的阈值进行比较即可检测异常[14]. 深度神经网络能有效地提取出正常数据的特征, 从而使正常数据取得较小的重构误差, 异常数据的重构误差则较大[15]. 因此, 若待检数据的重构误差高于阈值, 则判定待检数据为异常; 否则, 判定为正常. 上述基于深度学习的异常检测方法通常借助自编码器(autoencoder, AE)[16]、循环神经网络(recurrent neural network, RNN)[17]及其变体提取数据特征. RNN及其变体的引入使检测方法能够捕捉数据的时序依赖性, 在一定程度上提高了检测精度. 然而, 导致检测方法的网络结构过于复杂, 其计算效率较低[18].
为提高检测模型的计算效率和检测性能, 本文提出一种结构简单的基于串行自编码器的异常检测模型(serial autoencoders based anomaly detection, SAE-AD). 该模型使用两个AE(AE
得益于深度学习的快速发展, 研究人员提出了许多基于深度学习的异常检测模型[13], 这些模型的性能依赖于所用网络提取数据特征的能力. 一种常用的特征提取网络结构是AE, 它由一个编码器与一个解码器组成. 一方面, 编码器在潜在空间中提取输入数据的特征并给出该特征的低维表示; 另一方面, 解码器对这些低维表示进行升维以重构输入数据[19]. 在编码过程中, 数据中的部分干扰信息会受到抑制, 因而编码器能够较好地获取正常数据的特征表示. 在解码器的作用下, AE可重构出还原度较高的正常数据, 而对异常数据的重构误差则较大. Zhou等[16]将AE的重构误差记为异常得分, 根据此得分的大小实现了时序数据的异常检测.
Zong等[20]借助AE重构数据的能力, 提出了用于异常检测的深度自编码高斯混合模型[1]. 该模型使用AE获取数据的低维特征表示和重构表示, 并利用高斯混合模型对特征表示和重构误差进行概率估计, 通过选择合适的阈值, 将概率估计高于阈值的数据判定为异常. 尽管该模型的检测精度较AE有所提升, 但却忽略了时序数据之间固有的时序依赖性.
为捕捉时序依赖性, Cui等[17]利用RNN在隐藏层之间建立全连接, 用于保存和传递时序状态信息. 然而, 随着时间步的增加, 其更新参数的过程会出现梯度消失或梯度爆炸的问题[21]. 针对该问题, 将长短期记忆网络(long short term memory, LSTM)[22]引入细胞状态以保存信息, 并利用门结构有选择地抑制或增强细胞状态中的信息. 上述改动使得LSTM可有效捕捉时序的长期依赖关系[23]. 基于此, 文献[24]在编码器和解码器中引入LSTM网络对时序的长期依赖进行建模, 并根据数据重构误差的大小检测异常.
除了上述AE以外, 变分自编码器(variational autoencoder, VAE)也常被用于时序数据的异常检测[25-26]. VAE利用编码器建立原始输入数据的变分推断, 生成隐变量的概率分布, 并使用此分布对隐变量进行采样, 然后再对采样后的隐变量进行解码得到输入数据的估计[27]. 基于LSTM的VAE网络模型[28]使用LSTM替代VAE中的前馈神经网络来建模输入数据的时序依赖性, 并利用VAE生成输入数据的概率估计. 它将异常得分定义为待检数据相对于概率估计的负对数似然, 从而检测时序异常. 虽然该模型可建模输入数据的时序依赖, 但却忽视了隐变量之间的依赖性. 为此, Su等[5]引入随机变量连接技术以捕捉隐变量之间的依赖性, 并计算待检数据服从VAE所生成的数据分布的概率, 进而提高了检测精度.
上述利用VAE进行异常检测的模型实现了较高的异常检测率, 然而, 这些模型所含参数较多, 大量参数的迭代更新导致其训练速度较低. 为提高检测模型的训练速度, Audibert等[18]提出了一种所含参数较少的无监督异常检测模型(unsupervised anomaly detection, USAD), 它由两个共享编码器的AE构成. 其检测异常的关键在于通过对抗训练这两个AE放大异常数据的重构误差, 表现出较好的检测性能. 受此启发, 本文提出无监督的SAE-AD模型. 不同于UASD采用共享编码器的策略, 本文模型串行拼接两个AE, 可进一步放大异常数据的重构误差.
2 本文模型 2.1 问题描述给定一组长度为
| $ \begin{align} f({{{W}}_t}) = \begin{cases} 0, \; {\rm Score}({{{W}}_t}) < \lambda;\\ 1, \; {\rm Score}({{{W}}_t}) \geqslant \lambda . \end{cases} \end{align} $ | (1) |
其中: Score
AE是一种应用广泛的无监督神经网络, 其主要功能是提取数据的特征并重构数据. 图 1给出了AE的基本结构, 其主要由结构对称的编码器与解码器两个部分组成[19].
|
图 1 自编码器 |
编码器能够提取输入层数据
| $ \begin{align} &{{Z}} = E({{W}}) = \sigma ({{{a}}_E}{{W}} + {{{b}}_E}), \end{align} $ | (2) |
| $ \begin{align} &{\rm AE}({{W}}) = D({{Z}}) = \sigma ({{{a}}_D}{{Z}} + {{{b}}_D}). \end{align} $ | (3) |
其中:
为获得有效的数据特征表示, 通常将AE的训练目标设置为最小化输入数据的重构误差, 即最小化AE
| $ \begin{align} \mathop {\min }\limits_{\rm AE} {\| {{\rm AE}({{W}}) - {{W}}} \|_2}, \end{align} $ | (4) |
其中
为进一步提高AE的编码能力, 深度AE通过加深AE的网络层数使编码器可抑制更多的干扰信息, 以得到更有效的数据特征表示[10]. 图 2给出了深度AE的一种网络结构, 该深度AE的编码器和解码器均由3个全连接层构成.通过极小化重构输出与输入数据之间的差异实现较为准确的正常数据重构.
|
图 2 深度自编码器 |
虽然使用AE可检测时序异常, 但是其取得的检测精度较低[18]. 针对该问题, 本文提出SAE-AD检测模型, 其核心在于放大异常数据的重构误差. 该模型由两个结构相同的AE(AE
本文将AE
图 3(a)给出了SAE-AD模型的学习过程和检测过程.
|
图 3 SAE-AD模型的学习过程和检测过程 |
为了能让AE
| $ \begin{align} &\mathop {\min }\limits_{{\rm AE}_1} \| {\rm AE}_1(W) - W\|_2, \end{align} $ | (5) |
| $ \begin{align} &\mathop {\min }\limits_{{\rm AE}_2} \| {\rm AE}_2({\rm AE}_1(W)) - W\|_2. \end{align} $ | (6) |
使用式(5)训练AE
在AE
为放大异常序列的重构误差, 同时缩小正常序列的重构误差, SAE-AD模型将AE
将待检序列
| $ \begin{align} {\rm Score}(W_t) = \| {\rm AE}_3(W_t) - W_t \|_2, \end{align} $ | (7) |
并使用异常检测器
本文所提SAE-AD模型的具体实现步骤总结如下:
1) 模型学习阶段.
step1: 数据预处理. 使用滑动窗口技术将时序数据
step2: 串行训练.
step3: 参数学习. 使用式(5)和(6)优化AE
2) 异常检测阶段.
step1: 待检数据预处理. 采用模型训练阶段相同的数据预处理策略将待检数据
step2: 数据重构. 利用AE
step3: 计算异常得分. 由式(7)计算
step4: 异常检测. 将Score
本文在5个公开数据集SWaT、WADI、SMD、SMAP和MSL上对检测模型的性能进行评估. SWaT和WADI数据集为单实体数据集, 其他3个数据集为多实体数据集. SWaT数据集记录污水净化厂中与水处理过程相关的物理属性以及测试台上的网络流量数据, 包含7天正常操作的数据和4天异常操作时的数据[30]. WADI数据集是SWaT数据集的拓展, 其包含14天的正常数据和2天的异常数据[30]. SMD数据集是由一家互联网公司收集并公开的, 其数据记录了28台服务器在5周内运行的数据, 数据维度为38维[31]. 每台服务器的数据均被分为2个大小相等的子集, 分别作为训练集和测试集. SMAP和MSL数据集是来自NASA专家标记的真实遥感数据集[31]. SMAP数据集含有55个实体, 每个实体有25维度的数据; MSL数据集包含27个实体, 每个实体的数据维度为55. 表 1列出了上述5个数据集用于训练和测试的数据量、数据维度信息以及异常比例.
| 表 1 数据集的数据量、维度和异常比例信息 |
为评价各种异常检测模型的性能, 对于单实体数据集, 本文采用精确率(precision,
| $ \begin{align*} P = \dfrac{{\rm TP}}{{{\rm TP} + {\rm FP}}}, {\rm{ }}R = \dfrac{{\rm TP}}{{{\rm TP} + {\rm FN}}}, \; {\rm{ }}F_1 = 2 \cdot \dfrac{{P \cdot R}}{{P + R}}. \end{align*} $ |
其中: TP为正类实例中被预测为正类的数量, FP和TN分别为负类被预测成正类和负类的数量. 精确率反映预测为异常的数据中真实异常所占比例, 体现检测模型对异常检测的准确度; 召回率表示异常数据被检测到的比例, 反应模型对异常检测的全面性;
对于多实体数据集, 除上述3种评估标准外, 采用了
| $ \begin{align*} F^*_1 = 2 \cdot \dfrac{{\bar P \cdot \bar R}}{{\bar P + \bar R}}, \end{align*} $ |
其中
将本文模型SAE-AD与5种新近提出的基于深度学习的检测模型进行对比, 包括自编码器(AE)、深度自编码高斯混合模型(DAGMM)[20]、随机循环神经网络模型(OmniAnomaly)[5]、基于短期记忆网络的变分自编码器(LSTM-VAE)[28]和无监督异常检测模型(USAD)[18]. DAGMM、OmniAnomaly、LSTM-VAE和USAD模型采用公开源代码及默认参数设置, AE和本文模型则由Pytorch框架实现.
采用Adam优化器训练SAE-AD模型. 在模型训练和测试过程中, 均使用GTX 1080 GPU进行加速. 在SWaT、WADI、SMAP和MSL数据集上, 本文模型的迭代训练次数epochs为125. 对于SMD数据集, 本文将epochs设为250. 在异常检测阶段, 对可能的阈值
SAE-AD模型包含两个重要参数, 分别是时间窗口大小
|
图 4 不同参数设置对实验结果的影响 |
从图 4(a)中可以看出, 尽管
为分析隐变量
| 表 2 SAE-AD模型在各数据集上的参数设置 |
表 3列出了不同异常检测模型在单实体数据集SWaT和WADI上的检测结果, 最高和次高值由粗体标出.
| 表 3 检测模型在SWaT和WADI数据集上的实验结果 |
从表 3中可以看出, 在SWaT数据集上, 虽然SAE-AD模型的召回率相对较低, 但其取得了最高的精确率0.9991和次高的
本文模型采用滑动窗口技术将子序列作为模型输入, 能够建立时序关系. 因此, 本文模型取得的精准率和
不同检测模型在多实体数据集SMD、SMAP和MSL上的检测结果如表 4所示.
| 表 4 检测模型在SMD、SMAP和MSL数据集上的实验结果 |
由表 4可看出, 对于SMD数据集, OmniAnomaly模型的各项指标均最高, 这说明该模型所用随机变量连接技术能捕捉隐变量之间的依赖性, 有助于提升方法的检测性能. 虽然SAE-AD模型的精确率较低为0.5689, 但其取得了次高的召回率、
由表 3和表 4中的实验结果可以看出: AE和DAGMM模型的检测性能较差; LSTM-VAE、USAD和OmniAnomaly模型的精确率和召回率比AE和DAGMM模型有所提升; SAE-AD模型的综合性能最优. 为比较模型的计算效率, 本文对比了不同模型的时间复杂度. 由于LSTM-VAE和OmniAnomaly模型的实现分别依赖于LSTM和门控循环单元(GRU), 且LSTM和GRU的优化需消耗较长计算时间[18], LSTM-VAE和OmniAnomaly的时间复杂度较高. USAD和SAE-AD模型仅含有AE结构, 因此它们的计算复杂度低于LSTM-VAE和OmniAnomaly模型. USAD和SAE-AD模型的结构区别在于USAD比SAE-AD少一个编码器. 尽管如此, USAD模型采用的对抗训练思想使得每次迭代训练时, 其编码器中的参数需更新两次. 这意味着USAD所需更新参数量与SAE-AD模型相等, 均为
综上所述, 不论是单实体数据集, 还是多实体数据集, 本文模型不仅具有较高的精准率、召回率、
为探究AE的数量
表 5列出了AE(
| 表 5 检测模型在SWaT和WADI数据集上的实验结果 |
在SWaT数据集上, 尽管AE取得了最大的召回率, 但是SAE-AD模型的精准率和
上述4种检测模型在多实体数据集上的检测结果如表 6所示.
| 表 6 检测模型在SMD、SMAP和MSL数据集上的实验结果 |
由表 6不难看出, 对于SMD数据集, SAE-AD3模型取得的精准率最高, 然而SAE-AD模型的召回率、
本文借助AE提取特征和重构数据的能力, 提出了一种有效的时序数据异常检测模型SAE-AD, 其核心是通过串行训练两个AE(AE
| [1] |
Esling P, Agon C. Time-series data mining[J]. ACM Computing Surveys, 2012, 45(1): 1-34. |
| [2] |
Li H L, Liu Z C. Multivariate time series clustering based on complex network[J]. Pattern Recognition, 2021, 115: 107919. DOI:10.1016/j.patcog.2021.107919 |
| [3] |
Li H L, Jia R Y, Wan X J. Time series classification based on complex network[J]. Expert Systems With Applications, 2022, 194: 116502. DOI:10.1016/j.eswa.2022.116502 |
| [4] |
Blázquez-García A, Conde A, Mori U, et al. A review on outlier/anomaly detection in time series data[J]. ACM Computing Surveys, 2022, 54(3): 1-33. |
| [5] |
Su Y, Zhao Y J, Niu C H, et al. Robust anomaly detection for multivariate time series through stochastic recurrent neural network[C]. KDD'19: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York, 2019: 2828-2837.
|
| [6] |
丁小欧, 于晟健, 王沐贤, 等. 基于相关性分析的工业时序数据异常检测[J]. 软件学报, 2020, 31(3): 726-747. (Ding X O, Yu S J, Wang M X, et al. Anomaly detection on industrial time series based on correlation analysis[J]. Journal of Software, 2020, 31(3): 726-747. DOI:10.13328/j.cnki.jos.005907) |
| [7] |
张晓平, 纪佳慧, 王力, 等. 基于视频的人体异常行为识别与检测方法综述[J]. 控制与决策, 2022, 37(1): 14-27. (Zhang X P, Ji J H, Wang L, et al. Overview of video based human abnormal behavior recognition and detection methods[J]. Control and Decision, 2022, 37(1): 14-27.) |
| [8] |
Chandola V, Banerjee A, Kumar V. Anomaly detection[J]. ACM Computing Surveys, 2009, 41(3): 1-58. |
| [9] |
苏江军, 董一鸿, 颜铭江, 等. 面向复杂网络的异常检测研究进展[J]. 控制与决策, 2021, 36(6): 1293-1310. (Su J J, Dong Y H, Yan M J, et al. Research progress of anomaly detection for complex networks[J]. Control and Decision, 2021, 36(6): 1293-1310. DOI:10.13195/j.kzyjc.2020.0055) |
| [10] |
Li H L. Time works well: Dynamic time warping based on time weighting for time series data mining[J]. Information Sciences, 2021, 547: 592-608. DOI:10.1016/j.ins.2020.08.089 |
| [11] |
Li S, Xie Y, Dai H J, et al. Scan B-statistic for kernel change-point detection[J]. Sequential Analysis, 2019, 38(4): 503-544. DOI:10.1080/07474946.2019.1686886 |
| [12] |
Zhang L W, Lin J, Karim R. Adaptive kernel density-based anomaly detection for nonlinear systems[J]. Knowledge-Based Systems, 2018, 139: 50-63. DOI:10.1016/j.knosys.2017.10.009 |
| [13] |
Pang G S, Shen C H, Cao L B, et al. Deep learning for anomaly detection[J]. ACM Computing Surveys, 2022, 54(2): 1-38. |
| [14] |
Gong D, Liu L Q, Le V, et al. Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection[C]. 2019 IEEE/CVF International Conference on Computer Vision(ICCV). Seoul, 2019: 1705-1714.
|
| [15] |
Rushe E, Namee B M. Anomaly detection in raw audio using deep autoregressive networks[C]. ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing. Brighton, 2019: 3597-3601.
|
| [16] |
Zhou C, Paffenroth R C. Anomaly detection with robust deep autoencoders[C]. KDD'17: Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, 2017: 665-674.
|
| [17] |
Cui Q, Wu S, Liu Q, et al. MV-RNN: A multi-view recurrent neural network for sequential recommendation[J]. IEEE Transactions on Knowledge and Data Engineering, 2020, 32(2): 317-331. DOI:10.1109/TKDE.2018.2881260 |
| [18] |
Audibert J, Michiardi P, Guyard F, et al. USAD: UnSupervised anomaly detection on multivariate time series[C]. KDD'20: Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York, 2020: 3395-3404.
|
| [19] |
袁非牛, 章琳, 史劲亭, 等. 自编码神经网络理论及应用综述[J]. 计算机学报, 2019, 42(1): 203-230. (Yuan F N, Zhang L, Shi J T, et al. Theories and applications of auto-encoder neural networks: A literature survey[J]. Chinese Journal of Computers, 2019, 42(1): 203-230.) |
| [20] |
Zong B, Song Q, Min M R, et al. Deep autoencoding gaussian mixture model for unsupervised anomaly detection[C]. Proceedings of the 6th International Conference on Learning Representations. Vancouver, 2018: 1-12.
|
| [21] |
Bengio Y, Simard P, Frasconi P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Transactions on Neural Networks, 1994, 5(2): 157-166. DOI:10.1109/72.279181 |
| [22] |
Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735 |
| [23] |
Ergen T, Kozat S S. Unsupervised anomaly detection with LSTM neural networks[J]. IEEE Transactions on Neural Networks and Learning Systems, 2020, 31(8): 3127-3141. DOI:10.1109/TNNLS.2019.2935975 |
| [24] |
Malhotra P, Ramakrishnan A, Anand G, et al. LSTM-based encoder-decoder for multi-sensor anomaly detection[J/OL]. 2016, arXiv: 1607.00148.
|
| [25] |
An J, Cho S. Variational autoencoder based anomaly detection using reconstruction probability[J]. Special Lecture on IE, 2015, 2(1): 1-18. |
| [26] |
Soelch M, Bayer J, Ludersdorfer M, et al. Variational inference for on-line anomaly detection in high-dimensional time series[J/OL]. 2016, arXiv: 1602.07109.
|
| [27] |
Zhang H B, Wong R K, Chu V W. Hybrid variational autoencoder for recommender systems[J]. ACM Transactions on Knowledge Discovery from Data, 2022, 16(2): 1-37. |
| [28] |
Park D, Hoshi Y, Kemp C C. A multimodal anomaly detector for robot-assisted feeding using an LSTM-based variational autoencoder[J]. IEEE Robotics and Automation Letters, 2018, 3(3): 1544-1551. DOI:10.1109/LRA.2018.2801475 |
| [29] |
Aminikhanghahi S, Wang T H, Cook D J. Real-time change point detection with application to smart home time series data[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(5): 1010-1023. |
| [30] |
Mathur A P, Tippenhauer N O. SWaT: A water treatment testbed for research and training on ICS security[C]. 2016 International Workshop on Cyber-physical Systems for Smart Water Networks(CySWater). Vienna, 2016: 31-36.
|
| [31] |
Vincent P, Larochelle H, Lajoie I, et al. Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion[J]. Journal of Machine Learning Research, 2010, 11(12): 3371-3408. |
2023, Vol. 38
