CNN时间序列异常检测——Time Series Anomaly Detection Using Convolutional Neural Networks and Transfer Learning

Time Series Anomaly Detection Using Convolutional Neural Networks and Transfer Learning

使用卷积神经网络和转移学习的时间序列异常检测

2019


时间序列异常检测在自动化监控系统中发挥着关键作用。与时间序列异常检测相关的最先前的深度学习努力基于经常性的神经网络(RNN)。文章提出了一种基于卷积神经网络(CNN)的时间序列分割方法进行异常检测。此外,提出了一种转移学习框架,其在大规模合成单变量时间序列数据集上预先绘制模型,然后用以前看不见的异常类别的小规模,单变量或多变量数据集进行微调。对于多变量的情况,介绍了一种新颖的网络架构。该方法成功地测试了多个合成和实际数据集。

RNN通常应用于时间序列任务,而CNN通常是图像相关任务的首选。
时间序列异常检测与图像分割共享许多共同方面。当一个人可视化时间序列并选择异常段时,如果存在,则感知过程与看图像和标记所需对象的人非常相似。在这项研究中,创建了一种基于CNN的深网络,用于时间序列异常检测。特别是,通过成功的图像分割网络,U-Net和应用了U-Net的时间序列版本来检测时间序列中的异常段。由于失败的有限发生是在工业物联网系统中的异常检测的普通阻滞剂,还提出了一种转移学习框架来解决数据稀疏问题,包括新的架构,MU-Net,用于将单变量基础模型传输到多变量任务。
U-Net [Ronneberger等,2015]通过在编码层和解码层之间引入架构之间的所谓的跳过通道来改进FCN架构,使得高级功能和低级功能连接以防止信息丢失沿着深度顺序层。当应用于原始纸中电子显微镜图像中神经元结构的分割时,这座架构被证明是成功的。

CNN-based Time Series Segmentation
U-Net for time series segmentation
CNN时间序列异常检测——Time Series Anomaly Detection Using Convolutional Neural Networks and Transfer Learning_第1张图片
时间序列可以被视为唯一维度是时间的一维图像。多变量时间序列可以具有任意数量的通道,其可以具有不同的性质和彼此相关性。相反,图像通常仅具有三个通道,RGB及其性质,并且相关性不是任意的。
在U-Net的设计之后,文章提出了下列时间序列分割的架构,上图。对于具有长度1024和C通道的时间序列,它由五个卷积图层编码。每个部分包括两个层块,每个层包括一个conv层,一个BN层和一个Relu层。对于所有conv层,内核大小3。每个卷积层中的滤波器的数量在五个部分上增加,从16到256,每次2倍。对于每个卷积层,文章应用0 padding,stride=1。在编码部分之间,使用等于4的池大小的最大池化层用于向下采样。
后面是四个解码部分,其中每个部分包括一个上采样层和两个conv + BN + Relu块。上采样率也等于4,并且卷积层使用相同数量的过滤器作为其对应的编码层,使得架构对称。 U-Net的一个重要特征是相应编码和解码部分之间的跳过通道。这是通过将来自每个最大池层的输出与来自相应的上采样层的输出连接来实现,并在连接特征系列上执行卷积。最后一节包括一个卷积层,内核大小等于1和激活层。
有时,不同类的异常是不互斥的,因此问题是多级多数的多标签问题,即可以分配给多个类的时间点。例如,周期性系列上的尖峰是一种添加剂异常和季节性异常。在这种情况下,最终卷积层处的滤波器的数量等于异常类别M的数量,并且最终的激活函数是sigmoid,因此类的概率是独立的。如果所有类异常都是相互排斥的,则输出具有深度m + 1,附加列为标称类(即,存在异常)。在这种情况下,应用SoftMax激活,以便结果是多级单标签。在这两种情况下,软骰子损耗用作损耗函数,就像许多图像分割网络一样,使用Adam化器。

Prediction on Streaming Data
虽然模型输入形状是固定的(例如1024),但它不需要始终使用它作为快照的长度。快照的长度应由流频率和异常行为的时比例确定。如果流频相对于异常行为太高,则应使用长快照长度(即大量时间点),并且每个快照都需要将按采样到模型输入大小。如果流频率太低,则应使用短长度并需要上采样。
滑动窗口的策略还可以使用基于CNN的分类模型,该模型通过是否包括异常子序列来分类序列。但是,快照长度的选择将是有问题的。如果它太长,异常段的定位趋于弱,因为快照仅被未分割对。另一方面,如果太短,快照可能不包含足够的上下文来区分自己从正常的子序列。然而,所提出的基于分割的方法可以通过在高粒度的异常时段分割异常时来克服这种困难。

Input Normalization
所提出的模型要求用户首先指定幅度尺度,并使用比例来归一化输入系列。因此,在将模型应用于快照时,检测将始终基于相同的比例。在某些情况下,用户确实需要仅在快照内的值检测异常。然后,用户可以在神经网络的开始处添加sample-wise输入归一化层,以便每个输入快照都独立归一化,并且比例将是动态的。

Transfer Learning for Univariate Tasks

为了将学习转移到另一个单变量任务,将模型架构保持上图所示,除了最后一个卷积层的输出尺寸必须根据目标任务中的类数而变化。除输出部分之外的所有层的重量都以预磨料模型的重量初始化。我们在我们的测试中找到了两个具有良好表现的微调策略。第一个是在10个部分(5个编码部分,4个解码部分和输出部分)不同学习率乘法器为0.01,0.04,0.09,…,0.81,1.0中的。另一个是在前两个部分中冻结权重,只需微调后续部分,然后解冻第一部分并进行微调所有重量。两种策略在文章的测试中返回了类似的结果。

MU-Net: A U-Net-based Network for Transfer Learning from Univariate to Multivariate Tasks
当预先训练的基础模型转移到多变量任务时,使用相同的U-Net架构将是有问题的。第一卷积层的内核将具有不同的形状,因为C不等于1。如果这些内核被随机初始化,则较深层面的传输权重无意义,因为最低阶特征是不同的。如果在第一层预训练模型C次重复3×1×16重量矩阵并创建3×C×16重量矩阵的初始化,在数学上,它相当于从总和中提取可转移功能所有系列通道。虽然RGB通道的总和仍然可以从原始图像维持重要的属性,但是,时间序列通道的总和通常毫无意义,例如,如果信道在诸如压力和温度的IOT系统中代表不同的传感器。
文章提出了一种新的网络架构,将权重从预制模型传输。类似于U-Net,该架构还具有编码解码结构。然而,输入系列的C通道首先由切片层分开,然后每个通道都有自己的单变量编码部分,如U-Net中的前四个编码部分。在所有通道上的第四编码部分的输出将在集成的第五编码部分之前连接,后跟四个解码部分和最终输出部分,与U-NET相同。我们称为此架构MU-NET(多元U-NET)。
CNN时间序列异常检测——Time Series Anomaly Detection Using Convolutional Neural Networks and Transfer Learning_第2张图片
当我们将净化的U-Net模型转移到多变量任务时,我们将在MU-Net中的每个通道中初始化第一个四个编码部分中的权重,其中普雷雷达模型中的相应权重。在微调期间,我们首先冻结前四个编码部分并调整剩余层的重量。然后我们解冻第三和第四编码部分并继续调整。最后,我们调整了所有重量,包括前两个部分。

你可能感兴趣的:(论文学习)