点击名片
关注并星标
#TSer#
论文背景
现有的异常检测方法通常需要针对每个特定的数据集进行单独的模型训练。当可用的训练数据不足时,这些方法由于其有限的泛化能力,往往难以适应多样化的应用场景。针对这一问题,这篇文章提出了一种通用的时间序列异常检测模型,通过在多源数据集上预训练,该模型无需目标场景训练数据即可实现高效检测,性能优于使用目标场景数据集训练的模型。
为了实现通用异常检测能力,该论文作者从信息瓶颈的角度设计了自适应瓶颈以增强模型的泛化能力,同时通过双解码器对抗性训练策略提升模型在不同目标场景的异常检测性能。
模型方法
预训练阶段,这篇论文的作者同时将正常时序数据以及通过异常注入得到的带噪声扰动的异常时序数据(无需人工标注)输入模型训练。原始数据经过 Patch 划分、位置互补的掩码,并通过编码器(Encoder)后得到的表征被送入自适应瓶颈层(Adaptive Bottlenecks)模块自适应地挑选适合数据重构的信息瓶颈。随后,通过双解码器分别对正常和异常数据进行重构,并使用重构误差引导模型训练。
01
自适应瓶颈层
自适应瓶颈模块创新性地从动态信息瓶颈的角度考虑了模型面临大规模多源数据时的泛化能力,增强了模型从多域数据中学习正常时间序列模式的能力。现有的工作仅使用单一的瓶颈层,导致其面对多源数据时难以保证在不拟合噪声的同时进行有效重构。为满足多源预训练数据不同的信息瓶颈偏好,这篇文章提出了包含不同隐式空间大小的各种信息瓶颈的集合(Bottleneck Pool),并通过自适应路由机制 R(z) 为输入数据独特的重构要求灵活地选择合适的瓶颈大小。
02
双解码器对抗训练
为了进一步处理多源数据下正常与异常数据决策边界更复杂的问题,这篇论文还创新性地采用了编码器与解码器对抗性训练的方法。该论文作者认为,作为一个通用异常检测模型,仅仅通过对正常数据进行建模难以应对大规模不同领域的时序数据中更多样的异常表现形式以及更复杂的正常和异常模式的决策边界。
对此,该论文作者提出了一种双解码器对抗性训练策略,并显式地将带有扰动噪声的异常数据纳入预训练过程。这部分数据可以由异常注入生成,不局限于人工标注。对于正常数据,Encoder 和正常 Decoder 最小化正常数据的重构误差,对于异常数据,Encoder 和异常 Decoder 采用对抗性训练。训练目标可以表示为如下形式:
这种对抗性训练策略可以引入梯度反转层(Gradient Reverse Layer, GRL)实现。通过这种策略,模型在预训练的过程中扩大了正常和异常模式的差异,同时避免了编码器过度拟合可能因领域而异的特定模式,从而提升模型在不同场景下的异常检测能力。
实验效果
在实验中,为了验证模型的有效性,这篇文章在 9 个常用的领域各异的异常检测评估数据集上进行了实验,并与现有的 19 个异常检测模型进行了比较。文中提出的模型经过在多源数据集上预训练,可以直接作为新数据集的 zero-shot 异常检测器,并取得比那些专门为每个数据集进行训练的模型更优的效果。
论文的作者对比了不同瓶颈层大小的模型效果,结果显示,不同数据集对瓶颈层大小的偏好各异,固定瓶颈层大小的模型在不同数据集上的表现不够稳定。相对而言,自适应瓶颈层能够根据数据集特点动态调整,从而在各个数据集上都能取得更优的效果。
此外,文中同样将 Baseline 进行大规模预训练并直接进行异常检测,发现它们的泛化能力并未达到理想效果。这一对比进一步说明了对于一个通用异常检测模型,大规模数据预训练以及独特的模型设计缺一不可。更多实验分析请详见论文原文。
扫下方二维码,加入时序人学术星球
星球专注于时间序列领域的知识整理,前沿追踪
提供论文合集、视频课程、问答服务等资源
270+篇专栏笔记,已有250+小伙伴加入
价格随着内容丰富而上涨,早入早享优惠哦~
时间序列学术前沿系列持续更新中 ⛳️
后台回复"讨论",加入讨论组一起交流学习 🏃
往期推荐阅读
觉得不错,那就点个在看和赞吧