关于<Adaptive Memory Networks with Self-supervised Learning for Unsupervised Anomaly Detection> 论文学习
Two critical challenges(两个关键挑战):数据源限制和特征表达限制。
这两个关键挑战使得无监督异常检测方法的泛化(机器学习算法对新鲜样本的适应能力)能力有限。
数据源限制:在训练数据集中只包含正常数据,相比于未知的测试数据,训练数据的类别是有限的,使得模型在训练过程中容易出现“过拟合”的现象。如图1中所示,当正常(图1(a))和异常样本(图1(b))相似时,现有方法可能会出现“过拟合”现象从而导致误分类。
特征表达限制:面对复杂多样的多源时序数据,模型在特征表达的过程中难以保留正常模式所需的代表性特征。在图1中,当测试数据变得与正常样本不同时(图1 (c)),现有方法无法捕获不同的正常行为模式。
图1: AMSL的插图。即使有类似的输入((a)和(b)),现有方法也可能过度拟合异常;另一方面,当输入不同((a)和(c))时,我们的方法保持准确,而现有方法可能失败。轴代表数据集上的三维信号。
Three contributions(三个贡献):
1)提出了AMSL方法,分别通过自监督学习模块和记忆网络模块来解决数据源限制和特征表达限制这两个挑战。
2)提出了全局和局部记忆模块以增强模型的特征表达能力,并进一步提出自适应记忆融合模块用于融合正常数据的共有特征和特有特征。
3)在四个公开数据集上进行了大量实验,结果表明了AMSL方法的有效性。尤其是在具有900M+实例的CAP数据集上,AMSL的准确率和F1分数均超过其他方法4%以上。此外,AMSL还具有强大的抗噪能力。
采用卷积自动编码器(convolutional autoencoder, CAE)作为基础网络,使用均方误差(MSE)计算重构误差。
提出了一种新的具有自监督学习的自适应记忆网络(AMSL)用于无监督异常检测,AMSL由4个新组件组成,如图2所示:
1)自我监督学习模块
2)全局记忆模块
3)局部记忆模块和
4)自适应融合模块
图2:AMSL的结构,它由四个部分组成:自监督学习、全局记忆、局部记忆和自适应融合,符号“×R”表示每个图对应一个变换的图。
AMSL通过以下四个步骤工作:
1)首先,编码器将原始的时间序列信号及其六个变换映射到一个潜在的特征空间。
2)然后,对于自监督学习,构建多类分类器对这些特征类型进行分类,学习广义特征表示。
3)同时将特征输入全局和局部内存网络模块,学习通用和特定特征。
4)最后,自适应融合模块对这些特征进行融合,得到新的表示,用于重建。
自监督学习模块(Self-Supervised Learning module)
该模块目的是对正常数据进行通用特征表示学习,引入自监督学习,以提高异常检测模型的通用性。本模块在原始的多源时序数据上设计信号变换以进行自监督学习,训练模型把对样本的变换类型进行分类识别作为辅助任务。本文设计六种信号变换,具体描述如下:
· 噪声:由于在现实世界中可能存在有噪声的传感器信号,因此在信号中添加噪声可以帮助提高模型对噪声的鲁棒性。本文使用了具有高斯噪声的变换。
· 反向:此变换沿时间维度反转时间序列数据,从而使样本具有相反的时间方向。
· 置换:此变换通过切片和交换不同的时间窗口来生成新数据,沿时间维度随机扰动信号,其旨在增强所得模型的排列不变性。
· 缩放比例:此变换通过乘以随机标量来改变时间窗口内信号的幅度,本文选择 [0.5,0.8,1.5,2] 作为标量值。缩放信号的添加可以帮助模型学习缩放不变性。
· 取反:此变换是缩放变换的一种特殊类型,它按-1进行缩放,从而得到输入信号的镜像。
· 平滑:此变换应用Savitzky-Golay(SG)方法来平滑信号。Savitzky-Golay滤波器是一种特殊类型的低通滤波器,非常适合于噪声信号的平滑处理。
为了学习正常数据的通用特征,使用交叉熵损失函数来区分变换后的实例:
R为自监督学习类的个数(包括所有六个变换和原始信号,本文中的R = 7)。 和 分别是伪标签和预测概率。对交叉熵损失前的概率应用Softmax激活函数。
自适应记忆融合模块(Adaptive Memory Fusion Module)
1. 记忆模块
由两部分组成: 「记忆表征」,用于表征编码后的特征。
「记忆更新」,基于记忆项与输入Z的相似性度量来更新记忆项。
在训练阶段,可以通过重构误差来更新记忆矩阵,从而迫使其记忆正常数据的关键特征。在推断阶段,记忆网络通过将所有记忆项组合的方式输出特征,从而更好地重构原始输入数据,当使用在记忆模块中的组合表征形式重构异常数据时将会产生较高的重构误差。
2. 自适应融合模块
该模块旨在从所有特征(由原始信号和变换信号得到的特征)中学习共有和特有表征形式。具体来说,该方法使用全局记忆模块来学习所有变换中包含的共有特征,使用局部记忆模块来学习每个变换的特定特征。最后,提出一个自适应融合模块,将这两组特征融合为最终的表示形式,以用于输入到解码器中进行重构。其目的是通过同时捕捉正常数据的共有特征和特有特征,增强模型对数据的特征表达能力。
全局记忆模块的构建使用的是共享的记忆矩阵。将编码后得到的特征作为输入,全局记忆模块可以将共有特征记录在记忆矩阵中,通过共享的全局记忆模块,获得的输出为:
训练与推断(Training and Inference)
1. 训练阶段
通过整合重构误差和自监督误差,我们能够得到目标函数并端到端的对模型进行训练。
其中和是用于平衡误差的权重。
AMSL的训练过程如Algorithm 4所示,算法中我们将本维度为VN的样本作为输入,其中V代表信号的长度,N代表信号的总数量。LMan和GMan分别代表局部记忆模块和全局记忆模块。
2. 推断阶段
对于自动编码器而言,通常假设模型对不同类别实例的压缩效果也是不同的,也就是说,如果训练数据集仅包含正常实例,则对于异常实例的重构误差会更高。因此,可以根据推断阶段的重构误差将这些实例分为“正常”或“异常”。
结论(CONCLUSIONS)
本文提出了一种基于自监督学习的自适应记忆网络(AMSL),用于多变量时间序列信号的无监督异常检测。为了提高模型对不可见异常的泛化能力,提出了使用自监督学习模块学习多种正常模式和自适应记忆融合网络学习全局和局部记忆模块丰富的特征表示。在四个公共数据集上的实验表明,该方法在准确性、泛化性和鲁棒性方面明显优于现有的方法。AMSL除了获得最佳性能外,还能够以比大多数方法更短的运行时间完成测试。根据在DSADS数据集上评估的结果,AMSL的参数数量和模型大小比大多数方法相对要小,通过控制自监督学习中变换信号的数量来减少模型参数,结果表明该方法仍然可以获得最佳的F1分数和准确率。在其他数据集上结论也相似,这使得该方法在实际应用中更具灵活性。