摘要:时间序列异常检测旨在发现对应时序特征中不符合一般规律的特异性模式,是机器学习领域重要的研究方向之一.然而,现有的时序异常检测方法大多为单模态学习,忽略了时序信息在多模态空间上不同特征分布的关联性和互补性,不能充分利用已有信息进行有效地模式挖掘,从而造成检测效果差等问题.为此,提出了一种基于多模态对抗学习的无监督时间序列异常检测模型.首先,将原始时间序列转换至频域空间,构造多模态时间序列表示.其次,提出多模态生成对抗网络模型,针对多模态时间序列,实现正常时序信息关于时域和频域特征分布的无监督联合学习.最后,通过将异常检测问题转化为时间序列在时域和频域空间的重构度量问题,从时域空间和频域空间2个方面度量时间序列的异常值,实现更有效的异常检测.在时间序列数据集合UCR和MIT-BIH中的6个真实数据集的实验结果表明,在异常检测任务上相较于传统单模态异常检测方法,提出方法在AUC和AP这2个性能指标上最高分别提升了12.50%和21.59%,证明了方法的有效性.
时间序列(time
series)是按照时间排序的一组随机变量,它通常是在相等间隔的时间段内依照给定的采样率对某种潜在过程进行观测的结果.视频、音频、轨迹图、心电图和动作捕捉都是常见的时间序列,对这些数据进行分析和检测的关键是识别其中的模式、趋势和相关性[1].时序数据的分析广泛地应用在科学、工程和商业领域中[2-3],例如社交媒体[4]、城市数据[5]、电子交易[6]和排名统计[7]中.在这些领域中时序数据的分析需求主要包括特征提取、相关性分析和异常检测等.
异常检测的目的是找到某些观测值,它与其他的观测值有很大的偏差,这样的偏差可能是由于不同的原因或机制所产生的[8-9].在时序领域,现有的异常检测方法可分为有监督、半监督和无监督3类.其中,无监督方法在训练时不需要加注标签,通过密度估计的方式来检测异常.这种检测方式提供了良好的泛化能力,使模型不受限于数据的标签类型,是一种更适用于时间序列的检测方式[8].而在众多的无监督异常检测方法中,基于生成对抗网络(generative
adversarial network,
GAN)[10]的无监督异常检测算法因为优异的分布学习和特征重构能力得到了越来越多的关注.GAN是一个强大的高维数据建模框架,常用来建模复杂高维的数据分布,它起初作为自然图像[11-12]的生成模型已经获得了巨大成功,并且越来越多地用于时序信号[13]和医学成像[14]的异常检测领域.例如,
Zhou等人[15]提出了一种基于GAN的心电数据异常检测模型,模型通过建模正常心电数据的分布来检测异常,并通过划分固定长度的心跳节拍将数据进行分段检测.这种划分时序周期的方法难以检测无明显周期的数据和长度可变的数据,更难以充分利用时序信息前后依赖的分布关联.为了利用时序依赖关系,Li等人[16]提出了一种基于GAN的多变量时间序列异常检测模型,此模型可以利用长短时记忆网络(long
short-term memory,
LSTM)[17]来捕捉时间依赖关系,再使用GAN建模分布来实现异常检测.在此基础上,Geiger等人[18]也提出了一种GAN与LSTM结合的时序异常检测方法,不同的是,该方法针对时序特征设计了多种重构误差计算和异常评分方法,进一步增强了模型的时序异常检测能力.上述方法都通过使用GAN学习特征分布的方式进行了异常检测,但是这些方法只在时序信息的时域特征上进行了分布学习,忽略了时序信息在多模态特征空间的分布关联,造成了对现有信息利用不足的问题.
如图1所示,在时序异常检测领域传统异常检测方法多采用原始时间序列直接进行单模态的检测,存在不能充分利用时序信息潜在分布关联的不足.作为对比,为解决传统方法单模态学习的不足,通过利用多模态特征空间的分布关联,本文提出了一个通用的无监督多模态对抗学习时间序列异常检测框架(multimodal
GAN,
MMGAN),旨在联合学习时间序列在时域空间和频域空间上的特征分布,增强模型分布建模能力.作为一个多模态对抗学习检测模型,MMGAN能以生成对抗的方式捕捉时间序列在每个模态空间上的特征分布,并建立模态间的分布关联,再通过重构检测异常.具体地,MMGAN主要有模态转换、多模态生成器和多模态判别器3部分组成.首先,模态转换模块负责时序特征从时域到频域的映射.其次,多模态生成器作为一个分布学习模块,由多模态自适应编码器和解码器组成,以2个模态信息为输入,通过模态间权重共享和低维特征融合对时间序列进行多模态的分布关联学习和特征生成.然后,多模态判别器作为一个分布对齐模块,由多模态判别网络组成,以原始多模态信息和多模态生成器的生成特征为输入,通过多模态判别网络的判别进行分布对齐.最后,通过多模态生成器和多模态判别器的博弈对抗,多模态生成器学习到正常样本的特征分布,正常样本可以通过模型进行高质量的重构,而异常样本通过重构则会产生误差,发现异常.
1.1 基于GAN的无监督异常检测方法
异常检测在众多领域已经得到了非常广泛的研究[19-21].无监督的异常检测方法由于训练不需要标签而更贴近实际应用场景,是一种更理想的检测方法[8].具体的无监督检测算法包括基于聚类和基于重构的算法等.
基于聚类的方法通过学习正常数据周围的分类边界来划分异常,如单类支持向量机(one-class SVM,
OCSVM)[22]等.基于重构的方法一般先学习数据的潜在低维表示,再通过重构误差[19]的方式来确定样本是否异常,例如:主成分分析方法(principal
com-ponent analysis,
PCA)及其一些变体[23],但这些方法只能进行线性重构.而且,这些算法都是基于离群值不像正态数据集中分布的假设,无法正确检测密度较高的组异常.为表征非线性变换,解决传统重构方法的缺陷,基于深度学习的自动编码器(auto
encoder, AE)[24]、递归自编码器(recurrent neural network auto-encoder,
RNNAE)[25]、长短时自编码器(long short-term memory auto-encoder,
LSTMAE)[26]和变分自编码器(variational auto-encoder,
VAE)[27]相继出现.但是,如果没有适当的正则化,这些重构方式容易出现过拟合,进而导致检测精度降低.
另一种基于重构的无监督异常检测方法是基于GAN的,GAN可以通过生成器(generator, G)和判别器(discriminator,
D)的博弈对抗来学习特征分布,生成高质量的重构特征.例如,Schlegl等人[14]提出了一种通过GAN建模正常图像分布进行异常检测的方法.这是GAN在异常检测方向的开山之作,然而,该方法在测试时需要为每个样例解决一个优化问题,以找到一个潜在的表示,然后使用这个潜在表示来计算异常,这极大增加了该方法的时间复杂度,降低了检测效率.在此基础上,Zenati等人[28]提出了一种基于双向GAN的异常检测模型.此模型采用多个判别器来稳定GAN的训练,提高了检测性能的同时减少了时间复杂度.但是此模型较为复杂的结构擅长处理高维特征,在低维小数据集上处理太过冗余,导致效率低下.Akcay等人[29]提出一种使用多个编解码网络的GAN进行异常检测的方法,该模型针对图像做了多种约束,在视觉领域得到了广泛认可.但是这种针对性的模型设计也限制了该方法在其他领域的应用.而在时序领域,
Zhou等人[15]提出一种基于GAN的心电异常检测模型,此模型通过重构心电数据进行异常检测,但是该方法仅限于周期性的数据,分段检测方法也难以充分利用时序信息的潜在关联.为了利用时序依赖的同时进行异常检测,Li等人[16]提出了一种基于GAN的多变量时间序列异常检测模型,通过在GAN中嵌入LSTM的方式,此模型可以利用特征的时序依赖进行分布学习和特征重构.但是,由于LSTM网络无法并行、训练慢和难以处理长序列的特点导致了此模型应用有限.通过以上现状可以看出,基于GAN的无监督异常检测算法在不同应用领域都取得了成效,但是在时序领域,面对复杂多变的时序信息,已有的检测方法仅是在时域空间上进行特征学习,不能充分利用时间序列在多个空间上的特征.受此启发,可以设计一种多模态的检测方法,利用多个空间特征分布的联合学习提高模型对时序数据分布的建模能力,执行更高效的异常检测.
本文摘自《计算机研究与发展》期刊,仅供技术交流与学习。
人工智能技术与咨询 获取更多技术新资讯公---众---号
人工智能培训网