每周文章分享
2023.07.03-2023.07.09
标题: Anomaly Detection Based on Convolutional Recurrent Autoencoder for IoT Time Series
期刊: IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 52, NO. 1, JANUARY 2022
作者: Chunyong Yin , Sun Zhang, Jin Wang , and Neal N. Xiong
分享人:伊力夏提
研究背景
随着物联网技术的不断发展,越来越多的设备通过无线和移动通信技术实现了异构设备之间的互联互通。这些设备广泛分布在各个目标区域,收集数据并将其传输到处理中心进行聚合和分析,作为物联网服务的基础。尽管物联网在各个领域发挥着重要作用,但服务质量取决于感知数据的准确性。然而,异构传感器通常部署在恶劣极端的自然环境中。例如:飞机直接部署大量低成本传感器,用于监测森林或种植区。在气象信息的收集中,降水和温度传感器容易受到恶劣天气的影响,恶劣的自然环境和传感器硬件问题都会导致异常数据的产生,影响物联网服务的准确性和质量。因此,如何有效地检测异常值成为保证服务质量的关键问题。
关键技术
本文提出了卷积神经网络(CNN)和递归自动编码器的综合模型用于异常检测。CNN和自动编码器的简单组合不能提高分类性能,特别是对于时间序列。因此,本文方法在数据预处理中利用两阶段的滑动窗口来学习更好的表示。在Yahoo WebScope S5数据集上进行的实验结果表明,所提出的模型具有优异的性能。
论文主要贡献如下:
(1)提出了CNN和基于LSTM的自动编码器的集成模型,用于时间序列异常检测。与C-LSTM的思想相同,该模型结合了CNN和LSTM的优点。一维卷积层被保留,但单一的LSTM层被基于LSTM的自动编码器所取代。
(2)利用滑动窗口对时间序列进行预处理。仿真结果表明,滑动窗口不能提高CNN的性能,但对于CNN和LSTM的集成模型是有效的。这一现象的隐含性证明了滑动窗口可能会将时间相关性带入CNN提取的特征中,为LSTM中的时间特征提取提供了帮助。
(3)在实验中评估了基于重构误差的异常检测的可能性。自动编码器只用正常数据训练,目标是学习正常数据的分布。考虑到正常数据和异常数据的分布差异,异常数据的重建误差可能高于正常数据。
算法介绍
A. 两级滑动窗口数据分割
图1. 两级滑动窗口
两级滑动窗口数据分割过程如图1所示。利用滑动窗口将异常点检测问题转化为分类或聚类问题。滑动窗口可以将整个单变量序列分解成连续的短序列,得到二维的数据集,
其中T为滑动窗口的长度,di包含原始序列的任何异常值则视为异常序列。
因此,将时间序列X的异常检测问题转化为对D的每个输入向量进行标记,决定采用分类方法解决该问题,并利用带标记的训练数据集训练神经网络。目标可以表示为:
其中,yi=1表示di是异常序列,yi=0表示di是正常序列。
B. 异常检测模型结构
表.1 网络模型结构表
本文提出的异常检测模型是由CNN、LSTM自动编码器和DNN组成。利用CNN和基于LSTM的自动编码器从时间序列中提取高层空间和时间特征。应用前向全连通神经网络组成的DNN对提取的特征进行分类,实现异常检测。CNN和基于LSTM的自动编码器的细节如下。利用第一个滑动窗口将Yahoo WebScope S5数据集中具有异常点的原始时间序列拆分为若干序列。如果一个序列包含异常点,就会被认为是异常的。然后,每个序列通过第二个滑动窗口变换解压缩成连续的片段作为CNN的输入,每个序列都可以转化为一个通道的三维张量。
模型由一维卷积层、一维最大池化层和利用RELU函数作为激活函数组成。卷积层可以提取高层空间特征,但相邻卷积核提取的信息具有相似性和冗余性。因此,在保持空间信息的情况下,采用最大池化层进行下采样。对于基于RNN的自动编码器,将时间序列x=(x1,x2,...,xt)∈rn×t输入到编码器中,编码器的隐藏状态由:表示。
为了预测目的,解码器的目标是学习从hT到的映射,并试图实现和xt之间的最小差异。为了达到分类的目的,解码器将从隐藏状态中提取特征,以实现更好的分类效果。完全连通层可以达到不同的目的,采用基于LSTM的解码器来提取高层特征。每个时间步的隐藏状态将作为新的时间序列输入到解码器中。解码器中隐藏单元的大小是编码器的两倍。最后,DNN输出正常Prob(yi=0|di)和异常Prob(yi=1|di)的概率,如果Prob(yi=1|di)>Prob(yi=0|di),则di标记为异常,否则标记为正常。
实验结果分析
A. 实验数据
表.2数据集信息
实验采用了Yahoo WebScope S5数据集,它是一个标记的异常检测数据集。它由带标记异常点的真实和合成时间序列组成。整个数据集包含四个基准子集,选择A1基准子集对所提出的异常检测进行评估模型性能。A1 基准数据子集有67个文件,包含94 866个值,但其中只有1669个标记为异常。应用滑动窗口生成连续的碎片,如果碎片中含有任何异常点,则认为该碎片是异常的。这样,就产生了82个357个正常片段和8556个异常片段。这些片段构成了整个数据集,并以0.4的比例分为训练数据集和测试数据集。表2显示了每个数据集的详细情况,异常数据的比例不变。
B. 实验结果
图2. 两级滑动窗口的效果
设计了实验来评估两级滑动窗口对CNN和LSTM集成的效果。本实验对四种模型进行了评价,包括无滑动窗口的CNN(CNN)、有滑动窗口的CNN(CNN+WIN)、无滑动窗口的CNN+LSTM和有滑动窗口的CNN+LSTM+WIN)。所有模型都用训练数据集进行了500个历元的训练,学习率为1e-2,并在图上给出了测试数据集的性能 6. 左图显示了四个模型在训练过程中的损失值,右图是不同度量的测试分数。CNN和LSTM的融合模型训练损失最小,准确率、查全率和F1得分最高。测试结果表明,两级滑动窗口对于单个CNN模型是无效的,而对于CNN和LSTM的组合模型则是有效的,两阶段滑动窗口将每个记录转换成多个连续的片段,并提供了时间依赖性,以更好地提取时间特征。
图3. 模型中使用LSTM与使用基于LSTM的自动编码器的比较
C-LSTM模型由CNN和LSTM组成,其中LSTM用于提取高级时间特征。改进后的模型用基于LSTM的自动编码器替代了单一的LSTM层,实现了更好的时间特征提取,评估了单个LSTM模型和基于LSTM的自动编码器的分类结果。实验证明,基于LSTM的自动编码器可以提取出更好的特征,用于进一步的分类。
表3. 各种异常检测模型的比较
实验中比较了用于异常检测的各种异常检测模型,包括基本CNN、LSTM、LSTM的自动编码器(LSTM-AE)、C-LSTM和改进的C-LSTM-AE模型。实验结果如表IV所示,文中提出的C-LSTM-AE在所有评价指标上都具有最好的性能。
总结
本文中为了更好地实现时间序列的异常检测,提出了将CNN和基于LSTM的自动编码器相结合的新体系结构。此外还证明了在LSTM中,两级滑动窗口可以产生时间相关性,从而更好地提取时间特征,该LSTM接收组合模型中CNN的输出。两级滑动窗口作为基本的时间特征提取方法,CNN用于提取高层空间特征,LSTM用于提取高层时间特征。从实验结果来看,所提出的模型获得了最佳的正确率、精度、查全率和F1-分数。但是,由于硬件资源的限制,所提出的模型的参数和结构可以通过更多的试验来优化。
==河海大学网络与安全实验室==
微信搜索:Hohai_Network
联系QQ:1084561742
责任编辑:何宇
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...