Anomaly Heterogeneity Learning for Open-set Supervised Anomaly Detection
Anomaly Heterogeneity Learning for Open-set Supervised Anomaly Detection
Jiawen Zhu1 , Choubo Ding2 , Yu Tian3 , and Guansong Pang1*
1新加坡管理大学计算与信息系统学院
2阿德莱德大学澳大利亚机器学习研究所
3哈佛大学哈佛眼科人工智能实验室
摘要
开放集监督异常检测(OSAD)是一个最近出现的异常检测领域,其目的是利用训练过程中看到的一些异常类的样本来检测不可见的异常(即来自开放集异常类的样本),同时有效地识别可见的异常。得益于所见异常所说明的先验知识,目前的OSAD方法往往可以大大减少假阳性误差。然而,这些方法是在封闭集设置中训练的,并将异常例子视为齐次分布,使得它们在推广到可以从任何分布中得出的看不见的异常时效果较差。本文提出利用有限异常实例学习异质异常分布来解决这一问题。为此,我们引入了一种新的方法,即异常异质性学习(AHL),它模拟了一组不同的异构异常分布,然后利用它们在替代开放集环境中学习一个统一的异构异常模型。此外,AHL是一个通用的框架,现有的OSAD模型可以即插即用,以增强其异常建模。在9个真实世界异常检测数据集上的广泛实验表明,AHL可以1)显著增强不同的最先进的OSAD模型来检测可见和不可见的异常,2)有效地推广到新领域的不可见异常。
1.引言
开放集监督AD(OSAD)是一个新兴的领域,旨在利用这些有限的训练异常数据学习广义模型来检测看不见的异常(即来自开放集异常类的样本),同时有效地识别那些可见的异常(即类似于训练异常例子的异常)。针对这个OSAD问题[1,15,24,32,68],已经引入了许多方法。得益于由所看到的异常情况所说明的先验知识,当前的OSAD通常可以极大地减少假阳性误差。

图1. 当前方法与我们提出的AHL方法对比,同色异常样本表明其属于同一数据分布。现有方法通常在封闭集环境中对同质异常分布进行建模,而AHL方法则通过模拟多样化异质异常分布(第3.2节),并在代理开放环境中从中学习异质异常特征(第3.3节)。
目前的OSAD方法的一个问题是,它们将异常例子视为均匀分布,如图1(a)所示,这在很大程度上限制了它们在检测看不见异常方面的性能。这是因为异常可以由广泛的条件产生,并且天生是无界的,从而导致非均匀的异常分布(即,异常可以从非常不同的分布中得出)。例如,肿瘤图像可以根据肿瘤的性质,在外观、形状、大小、位置等方面显示出不同的特征。目前的OSAD方法忽略了这些异常的异质性,如果它们来自于与所看到的异常不同的数据分布,则往往无法检测到异常。
为了解决这个问题,我们提出用有限的训练异常例子来学习异构异常分布。这些异常只是可见异常类的例子,它们并不能说明所有可能的异常类的分布,例如,那些看不见的异常类,这使得在有限的异常信息下学习潜在的异构异常分布具有挑战性。这项工作引入了一个新的框架,即异常异质性学习(AHL),来解决这一挑战。如图1(b)所示,它首先通过将正态样本的细粒度分布与随机选择的异常样本关联起来,来模拟各种非均匀异常分布。然后AHL执行协作可微学习,综合所有这些异常分布,以学习异构异常模型。进一步,生成的异常数据使我们的模型的训练代理开放环境中,其中异常分布的一部分用于模型训练而其他作为看不见的数据来验证和调整模型,导致更好的广义模型比当前方法训练在一个封闭的设置。此外,模拟的异常分布通常具有不同的质量。因此,在AHL中设计了一种自监督泛化估计,以自适应地调整模型训练过程中每个学习到的异常分布的重要性。
AHL的另一种简单的替代方法是,在模拟的异构数据分布上,基于同构/异构OSAD模型的简单集成来建立一个集成模型。然而,这样的集合没有考虑到在基础模型中捕获的异常异质性的共性和差异,导致了对异质性的次优学习(Sec。4.5.2).
因此,本文做出了四个主要贡献:
- 框架。我们提出了异常异质性学习(AHL,Anomaly Heterogeneity Learning),一个新的OSAD框架。与目前将训练异常例子视为均匀分布的方法不同,AHL通过这些有限的例子来学习异构异常分布,从而能够对不可见的异常进行更广义的检测。
- 新的模型。我们进一步将AHL框架实例化为一个新的OSAD模型。该模型使用一组不同的模拟异构异常分布对异常异质性进行协同可微学习,促进了在替代开放集环境中对模型的迭代验证和调优。这使得比简单的集成方法更最优的异常异质性学习。
- 通用的。我们的模型是通用的,其中来自不同OSAD模型的特性和损失函数可以即插即用,并获得显著提高的检测性能。
- 具有较强的泛化能力。在9个真实世界的AD数据集上进行的实验表明,AHL在检测同域和跨域设置中看不见的异常方面大大优于最先进的模型。
2.相关工作
无监督异常检测
由于大规模异常观测数据难以获取,现有大多数异常检测方法都依赖于无异常训练样本的无监督学习。单类分类方法旨在通过支持向量[4,10,39,46,59]学习紧凑的正常数据描述。另一种广泛应用的异常检测方法是基于自编码器(AE)[21]和生成对抗网络(GAN)[17]等生成模型进行正常数据重构。这些重构方法基于“异常样本比正常样本更难重建”的假设[2,18,25,36,41,54,55,61,63,64]。其他主流方法包括知识蒸馏[6,9,14,40,48,49,66]和自监督学习方法[16,19,22,37,57]。相关研究领域还包括领域适应性异常检测[28,51,56],这类方法通常采用跨领域设置,需要多相关领域数据支持,而我们专注于单领域数据训练检测模型。所有无监督异常检测方法的主要缺陷在于缺乏真实异常样本的先验知识,这可能导致大量误报错误[1,8,12,15,24,32,34,35,39,68]。
面向监督式异常检测
监督式异常检测旨在通过使用成本较低的监督信息(如视频级监督等弱监督信息)来降低检测错误率,例如用于检测帧级异常[11,29,43,47,52,53],以及利用部分观测异常类别中的少量异常样本[8,27,32,34,35,35,39,62]。 OSAD 针对后者问题提出了解决方案。其中一种 OSAD 方法是单类度量学习,即在正态性学习过程中将有限的训练异常样本作为负样本使用[24,31,39]。然而,由于异常现象的不可知性本质,异常检测(AD)本质上属于开放集任务,因此有限的负样本不足以支持精确的一类学习。最近,DevNet[32]提出了一种单侧异常聚焦偏差损失函数,通过为异常分数施加先验分布来解决该问题,并建立了 OSAD 评估基准。DRA[15]通过构建框架增强DevNet能力,该框架能学习已见异常、伪异常及潜在残余异常的解耦表示,从而更有效地检测已见与未见异常。最新研究中, BGAD [58]采用归一化流模型生成决策边界,构建基于异常信息的模型。PRN[65]则利用图像级与像素级异常数据,跨多尺度特征图学习残余表示。但其实现方式需使用所有异常类型的训练样本,这与我们开放集异常检测场景中测试数据包含未见异常类型的特点存在差异。UBnormal[1]和OpenVAD[68]将 OSAD 扩展至视频数据并建立相应基准,但这些方法常将训练异常视为闭集场景中的同质分布,可能限制其对未见异常的检测性能。另有研究探索利用异常样本进行异常生成或伪异常标注[3,62]以降低误报率,但该方法仍采用无监督训练框架。
3.异常异质性学习
问题陈述:
我们假设有一组训练图像和注释{ωi,yi}i=1,其中$\omega_i\in\Omega\subset\mathbb{R}^{H\times W\times C} 表示图像RGB通道和y_{i}\in\mathcal{Y}\subset{0,1} 表示一个图像级类标签,y_{i}=1时\omega_{i}为异常,y_{i}=0时相反。由于异常的粗糙性,标记数据通常主要由正常数据表示。给定现有的AD模型f(⋅),可以用来提取低维图像特征来构造训练特征集\mathcal{D}={\mathbf{x}_i,y_i},其中\mathbf{x}_i=f(\omega_i)\in\mathcal{X}表示对应的第i个图像特征,\mathcal{X}_n = {\mathbf{x}_1,\mathbf{x}_2,...,\mathbf{x}_N}和\mathcal{X}_a = {\mathbf{x}_1,\mathbf{x}_2,...,\mathbf{x}_M} (N \gg M)分别表示正常和异常图像的特征集,那么我们提出的AHL框架的目标是学习一个异常检测函数g:\mathcal{X}\rightarrow\mathbb{R},它能够为来自不同分布的异常图像分配更高的异常分数。请注意,在OSAD中,训练异常Xa来自于可见的异常类S,它只是C的一个子集,在推理过程中可以包含一个更大的异常类集,例如,\mathcal{S}\subset\mathcal{C}$。
3.1.我们的方法概述
我们的AHL框架的关键思想是通过对嵌入在不同模拟异常分布中的异常的协作可微学习,来学习一个统一的异常异质性模型。

图2。我们的方法AHL的概述。它的HADG组件首先从训练集T={Di}i=1T中生成T个异构异常分布数据集,每个训练集都包含一个支持集和开放集查询集,即Di={Dis,Diq}。然后利用它们在模拟的开放集环境中学习T个异构AD模型{ϕi}i=1T,并通过协作微分学习(CDL)将这些异构异常模型合成为一个统一的AD模型g(·)。不同的ϕi学习不同质量的异常分布,因此我们还设计了一个模型ψ(·),为每个ϕi分配一个重要性评分,以增强CDL成分。
如图2所示,AHL由两个主要组成部分组成:非均匀异常分布产生(HADG, Heterogeneous Anomaly Distribution Generation)和异常异质性的协同可微分学习(CDL, Collaborative Differentiable Learning)。
具体来说,HADG组件从训练集T={Di}i=1T模拟并生成T个异构分布数据集,每个Di包含正态数据子集和随机采样异常例子的混合。每个Di都是以一种代表不同于其他异常分布的方式生成的。然后设计CDL学习一个统一的异构异常检测模型g(T;θg),该模型合成了一组T基模型,记为{ϕi(Di;θi)}i=1T,其中θg和θi分别表示统一模型g和基模型ϕi的可学习权值参数,每个ϕi:Di→R从一个异常分布中学习进行异常评分。权重参数θg基于基础模型权重{θi}i=1T协同更新。此外,单个基模型的有效性差异很大,因此如果估计相应的基模型ϕi具有较小的泛化误差,则在CDL中添加一个模块ψ,以增加θi在协同权重更新中的重要性。在推理过程中,仅使用统一的异构异常模型g(T;θg)进行异常检测。
AHL是一个通用的框架,其中可以轻松地插入现成的OSAD模型来实例化ϕi,并获得显著提高的性能。
3.2.非均匀异常分布产生HADG
学习潜在的复杂异常的一个主要挑战是缺乏说明不同可能的异常分布的训练数据。我们的HADG组件是为了解决这一挑战,我们将正常范例划分为不同的簇,并将每个正常范例与随机抽样的异常示例关联起来,以创建不同的异常分布。由此产生的分布在正常模式和/或异常模式方面彼此不同。具体来说,HADG生成T个训练异常分布数据集,T={Di}i=1T,每个Di=Xn,i∪Xa,i,其中Xn,i⊂Xn和Xa,i⊂Xa。为了模拟高质量的异常分布,我应该代表一个主要的正态模式。为此,HADG采用聚类方法将Xn划分为C聚类,然后随机抽取这些C正常聚类中的一个为Xn,i。另一方面,为了保证每个Di、Xa中异常的多样性,我们从Xa和常用的异常生成方法[22,60,63]生成的伪异常中随机提取了Xa,i。
此外,HADG利用这些训练数据来创建开放集的检测和验证数据集,以便在代理OSAD环境中对我们的模型进行训练。特别是,对于每个Di,HADG将它分成两个不相交的子集,即Di={Dis,Diq},分别对应支持集和查询集,支持集Dis=Xn,is∪Xa,is用来训练我们的基本模型ϕi,查询集Diq=Xn,iq∪Xa,iq用于验证其开放集性能。保证开放的验证/查询集Diq,我们执行抽样的方式,以确保Xn,is和Xn,iq是两个不同的正常集群,同时确保Xa,is和Xa,iq不相互重叠,例如,$\mathcal{X}_{a,i}s\cap\mathcal{X}_{a,i}q=\emptyset $。
3.3.异常异质性的协同可微分学习CDL
我们的CDL组件的目标是首先使用T个基模型ϕi学习隐藏在T={Di}i=1T中的异构异常分布,然后利用这些模型以端到的方式协同优化统一检测模型g。CDL的详细介绍如下。
学习T个异构异常分布。
我们首先训练T个基模型{ϕi}i=1T,分别捕获{Di}i=1T中的异质异常分布,每个ϕi使用以下损失进行优化:
Lϕi=j=1∑∣Dis∣ℓdev(ϕi(xj;θi),yj),
其中ℓdev由偏差损失[32]指定,遵循之前的OSAD方法DRA [15]和DevNet[32],Dis是Di中的支持集。虽然在训练阶段只有有限的可见异常,但每个Di中的正常样本和异常样本的混合差异很大,使得每个ϕi可以学习不同的异常评分的异常分布。
协作性可微分学习。
每个ϕi只捕获了潜在的异常异质性的全貌的一部分。因此,我们然后执行一个协作的可微学习,利用来自T个基模型的损失来学习统一的AD模型g,以捕获更丰富的异常异质性。关键的见解是,g经过了优化,可以很好地处理各种可能的异常分布,减轻对特定异常分布的潜在过拟合。此外,g的优化是基于在等式1中训练基本模型时没有看到的查询集上的损失,即在一个代理开放环境下进行优化,这有助于训练一个更广义的OSAD模型g。具体来说,g被指定为与基于模型ϕi具有完全相同的网络架构,其在t + 1阶段的权重参数θg根据所有基础模型在t阶段的损失进行优化:
θgt⟵θgt−1−α∇Lcdl,
其中,α是一个学习速率,Lcdl是对查询集上的T个基模型的聚合损失:
Lcdl=i=1∑Tj=1∑∣Diq∣Lϕi(ϕi(xj;θit),yj).
在下一个训练阶段,所有基础模型的θit+1设置为θgt作为新的权重参数。然后,我们使用等式1优化基本模型ϕi,然后使用等式2在查询集上优化统一模型g。这种替代基础模型和统一模型学习用于获得日益捕获更丰富的异常异质性。
学习个体异常分布的重要性得分。
模拟异常分布数据Di的质量变化很大,导致基本模型的有效性存在较大差异。此外,在一个轮次效率较低的基础模型可以在另一个轮次变得更有效。因此,在整个优化动态过程中,平均考虑每一个基本模型可能会因为性能不佳的基础模型会影响统一模型g的整体性能从而导致劣等优化。为了解决这个问题,我们提出了一个自监督顺序建模模块来动态估计每个基模型在每个轮次的重要性。这就细化了Lcdl的损失如下:
Lcdl+=i=1∑Tj=1∑∣Diq∣witLϕi(ϕi(xj;θit),yj),
其中,wit表示其基模型ϕi在t轮次的重要性得分。下面我们将介绍我们是如何通过ψ来学习wit的。
我们顺序建模的基于动态重要性分数的估计是建立在直觉,如果一个基础模型ϕi有良好的泛化能力,其预测异常分数为不同的输入数据应该一致和准确的在不同的训练阶段,各种异常异质性逐渐出现随着训练的展开。为此,我们训练了一个序列模型ψ来捕获所有基本模型产生的异常分数的一致性和准确性。这是通过训练ψ使用基础模型之前的输出异常分数来预测它们的下一个轮次的异常分数来实现的。具体来说,给定一个训练样本xj和利用基础模型{ϕi}i=1T得到的一组异常评分预测sj={sji}i=1T,结果在轮次t之前产生了一系列的分数预测,Sjt=[sjt−K,⋯,sjt−2,sjt−1]记录到K个之前的步骤,然后ψ:S→RT旨在预测所有T个基础模型在轮次t的预测得分。在我们的实现中,ψ由一个由θψ参数化的序列神经网络指定,并使用以下下一个序列预测损失进行优化:
Lseq=xj∈D∑Lmse(s^jt,sjt),
其中,s^jt=ψ(Sjt;θψ)和sjt分别为在轮次t的基模型中xj的预测和实际异常得分,Lseq为均方误差函数。模型ψ不是使用监督损失,而是使用等式5中的自监督损失函数进行训练,以保留ground truth标签,避免对标记数据的过拟合,有效地评价基础模型的泛化能力。
然后利用预测的异常得分s^jit与真实标签yj之间的差值来定义基本模型ϕi的泛化误差rit,如下:
rit=∣D′∣1xj∈D′∑cjLmse(s^jit,yj),
其中,D′=D∖Xn,i和cj是与每个范例xj关联的预定义的类别权重。换句话说,rit测量ϕi来预测Xa,i和所有其他未看到的正常和异常训练例子中可见异常的异常得分时的检测误差,不包括已看到的正常例子Xn,i (与ϕi相关)。如果xj是一个看不见的异常,则分配一个较大的cj,以突出检测看不见的异常的重要性;否则,将为其他例子分配相同的值。
由于较大的rit意味着基模型ϕi在轮次t时的泛化能力较差,因此在更新统一模型g时应较少注意它。因此,将ϕi的重要性得分定义为其泛化误差的倒数如下:
wit=∑iTexp(−rit)exp(−rit).
4.实验
4.1.实验设置
数据集
在之前的OSAD研究[15,32]之后,我们对9个真实世界的异常检测数据集进行了广泛的实验,包括5个工业缺陷检测数据集MVTec AD [5],AITEX [42],SDD [44],ELPV [13]和光学[50],一个行星探测数据集(Mastcam [20])和3个医疗数据集HeadCT [40],BrainMRI [40]和Hyper-Kvasir [7]。根据我们如何对所看到的异常示例进行采样,我们使用两种协议来评估检测性能,一般设置和硬设置[15]。一般设置假设异常例子是从异常类中随机抽样的,而硬设置提出了一个更具挑战性的情况,即异常例子只从一个类中抽样,以评估对新的或看不见的异常类的泛化能力。与[15]一样,我们还将异常例子的数量分别设置为M = 10和M = 1来评估性能。关于这些数据集的更多细节请见附录A。
比较的方法和评价指标
将AHL与五种密切相关的最先进的(SOTA)方法进行了比较,包括MLEP [24]、SAOE [22,30,45]、FLOS [23]、DevNet [32]和DRA [15]。MLEP、DevNet和DRA都是专门为OSAD而设计的。SAOE是一种增强了合成异常和异常值曝光的监督检测器,而FLOS是一种基于焦点损失的不平衡分类器。对于评价指标,我们采用广泛使用的ROC曲线下面积(AUC)来衡量所有方法和设置的性能。所有报告的结果都是三次独立运行的平均结果,另有说明。
实施细节
为了生成一组不同的异常分布,我们提出的方法使用了随机选择的正常簇和标记的异常簇来创建每个单独的异常分布数据Di。具体来说,首先使用k-means聚类将正常样本划分为三个正常聚类(即使用k=3)。然后选择两个随机选择的聚类,结合可见异常,构造Di,选择一个正常的集群和50%的异常集作为支持集Dis,而其余的样本用作查询集Diq(根据只有一个可见的异常例子的协议,该示例都包含在这两个集合中)。这有助于有效地模拟具有部分观察到的异常分布的开放集环境。为了进一步增加异常分布数据集内部和之间的异质性,我们随机选择三种流行的异常生成技术中的一种,包括CutMix [60]、CutPaste [22]和DRAEM Mask [63],来生成伪异常并注入Di的支持和查询集。以保证开放集相关的伪异常检测、Dis和Diq中的伪异常都是由两种不同的异常生成方法生成的。对于每个数据集,都使用T = 6来生成单个的异常分布数据。当xj表示看不见的异常样本时,Cj设置为1.0,当xj表示可见的异常或看不见的正常样本时,Cj设置为0.5。
AHL是一个通用框架,在该框架下,现有OSAD模型的特性和损耗函数可以很容易地作为基本特性和基本损耗插入。特别是,从其中一个OSAD模型(如DRA)中提取图像特征,然后使用我们提出的基于基础损失的损失函数来训练AHL(见等式 4).DRA [15]、DevNet [32]和BGAD [58]是目前OSAD使用的SOTA模型,但BGAD使用的与其他两个数据集非常不同的基准数据集。我们的实验严格遵循DRA [15]和DevNet [32]中使用的开创性的OSAD评估协议和基准,并选择DRA [15]和DevNet [32]分别插入AHL,表示为AHL(DRA)和AHL(DevNet)。Adam被用作优化器。学习异构T基模型的初始学习率设置为0.0002,而统一AD模型g的初始学习率设置为0.002。在自监督重要性评分估计器中,采用两层双向LSTM [67]作为骨干,隐藏维数设置为6。在预测层之前,后面是一个有12个隐藏节点的全连接层。该组件的初始学习率被设置为0.002。
上述设置默认用于所有数据集的AHL报告结果。MLEP、SAOE和FLOS的结果取自[15]。DevNet和DRA的结果使用他们的官方代码进行复制,以获得AHL中使用的特性,这意味着DevNet和AHL(DevNet)使用相同的特性集,这也适用于DRA和AHL(DRA)(更多的实现细节请参见附录B)。
4.2.在一般设置下的性能
表1显示了在一般设置下的比较结果,其中模型使用一个或10个随机抽样的异常例子进行训练。

MVTec AD上的结果在其16个数据子集上取平均值(关于这些子集的详细结果见附录C)。总的来说,我们的方法AHL在三个应用场景的所有数据集的10个镜头和一次性设置协议中都为各自的DRA和DevNet带来了持续的实质性改进。由于DRA是一个比DevNet更强的基础模型,因此AHL(DRA)通常比AHL(DevNet)获得更好的性能。
5.结论
本研究针对 OSAD 问题提出了一种创新性通用框架——异常异质性学习(AHL)。该框架通过在模拟 OSAD 场景中对多样化生成的异常分布进行训练,可有效提升通用化异质性异常检测能力。AHL模型基于生成的异常分布构建多异质性模型集,采用协同可微分学习机制来表征异常异质性特征。在九个真实世界异常检测数据集上的实验表明,相较于现有主流 OSAD 模型,AHL方法在同域与跨域场景中对未见异常的检测能力均显著提升,AUC指标最高可提高9%。
