斯坦福大学提出 AA-CLIP | 两阶段策略调优,零样本 AD 检测资源高效,结果SOTA

大模型向量数据库机器学习

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

picture.image

picture.image

picture.image

picture.image

导读

异常检测(AD)用于缺陷和病变检测等应用中识别异常值。尽管CLIP因其强大的泛化能力在零样本AD任务中展现出潜力,但其固有的异常无 Aware 特性导致其在区分正常和异常特征方面存在局限性。

为了解决这个问题,作者提出了异常感知CLIP(AA-CLIP),该模型增强了CLIP在文本和视觉空间中的异常区分能力,同时保留了其泛化能力。AA-CLIP通过一种简单而有效两阶段的方法实现:它首先创建异常感知文本 Anchor 点以明确区分正常和异常语义,然后对齐图像块级视觉特征与这些 Anchor 点以实现精确的异常定位。这种两阶段策略,借助残差 Adapter ,以可控的方式逐渐调整CLIP,实现有效的AD检测,同时保持CLIP的类别知识。

大量实验验证了AA-CLIP作为零样本AD任务的一种资源高效解决方案,在工业和医疗应用中取得了最先进的结果。

代码:https://github.com/Mwxinnn/AA-CLIP

  1. 引言

异常检测(AD)涉及对数据集分布的建模,以识别异常值,如工业产品中的缺陷[2]或医学图像中的病变[12]。尽管之前的一些AD框架[9, 10, 14, 22, 30, 56]在为特定类别提供足够 Token 数据时能够有效地检测异常,但它们对资源的较高需求往往限制了它们在新型和罕见类别上的泛化能力。这种限制在现实场景中尤其具有挑战性,因为在AD中收集全面 Token 的数据集往往是不切实际的,这促使人们探索低样本学习和迁移学习方法。

对比语言-图像预训练(CLIP)模型已成为一种有希望的解决方案,在各种零样本任务中展现出显著的泛化能力[23-25, 41]。在CLIP成功的基础上,最近的一些研究通过利用与异常相关的描述来引导异常区域的检测,将CLIP应用于少量/零样本异常检测(AD)任务。具体来说,视觉编码器被训练以将异常图像映射到与异常描述文本特征比与正常描述特征更接近的视觉特征[28, 29, 48, 58]。进一步的工作[5, 6, 16, 40]则专注于增强CLIP的 Patch 级特征表示,以实现与文本特征的更好对齐,从而提高异常定位性能。

这些方法依赖于需要异常感知的文本特征,以有效地区分异常。然而,最近的研究突出了CLIP在细粒度语义感知和推理方面的局限性[20, 21, 35, 37, 44, 45]。在探索CLIP的纹理特征用于AD时,作者发现,尽管CLIP的文本编码器能够有效地捕捉物体级信息,但它难以可靠地区分正常和异常语义。

如图1(左)的概念可视化所示和图2中的抽样示例,CLIP存在固有的异常无 Aware 问题:正常和异常纹理特征的重叠阻碍了文本引导的异常检测的精度。作者认为,通过在文本空间中建立正常和异常语义的更清晰区分,使CLIP具有异常感知能力对于指导视觉编码器精确检测和定位异常是至关重要的。

这一观察促使作者通过增强文本空间中的异常判别来改进基于CLIP的零样本AD,实现了AA-CLIP异常感知CLIP(AA-CLIP)——一个编码了异常感知信息的CLIP模型。AA-CLIP通过一种新颖的两阶段自适应方法实现。在第一阶段,AA-CLIP使用冻结的视觉编码器对文本编码器进行自适应,为每个训练类别在文本空间中创建“ Anchor 点”,以实现异常感知语义。如图1(中间)所示,每个类别的文本特征被解耦到不同的 Anchor 点,具有清晰的异常判别。值得注意的是,这种解耦也适用于新颖的、未见过的类别,支持AD任务中的有效零样本推理,参见图1(右侧)。在第二阶段,AA-CLIP将块级视觉特征与这些特别自适应的纹理 Anchor 点对齐,引导CLIP的视觉编码器专注于异常相关的区域。这种两阶段方法确保了异常检测框架的专注和精确。

重要地,由于CLIP在大量数据上进行了广泛训练,为了保留其预训练知识,作者在两个阶段都使用了简单结构的残差 Adapter 。这种设计使得CLIP能够进行可控的适配,同时增强其处理细粒度AD任务的能力,而不会牺牲其泛化能力。

作者在大规模工业和医疗领域的实验表明,作者的直接方法为CLIP赋予了改进的无样本AD能力,即使在数据有限的情况下。通过使用每个类别中仅有的最小样本(例如每个类别一个正常样本和一个异常样本,即2-shot)进行训练,并在未见过的数据集上进行测试,AA-CLIP实现了与其他基于CLIP的无样本AD技术相当的无样本性能。在训练集中每个类别仅看到64-shot的情况下,AA-CLIP在跨数据集的无样本测试中达到了最先进(SOTA)的结果,验证了AA-CLIP在最小数据需求下最大化CLIP AD潜力的能力。

作者的贡献总结如下:

    1. 具有增强和泛化异常判别能力的异常感知CLIP。作者引入了AA-CLIP,它对文本和视觉空间中的异常具有更高的敏感性,并将异常感知信息编码到原始CLIP中。
    1. 使用残差 Adapter 进行高效适应。作者实现了简单的残差 Adapter ,以提升零样本异常检测性能,同时不损害模型的泛化能力。
    1. 具有高训练效率的SOTA性能。AA-CLIP在多个数据集上实现了SOTA结果,即使在有限的训练样本下也展现出强大的异常检测能力。
  1. 相关工作


图像中的传统异常检测涉及对正常数据分布进行建模,以检测视觉数据中的罕见和多样化的意外信号 [43, 51, 59]。基于重建的方法[10,15,31,32,52,54]、基于增强的方法 [30, 43, 47, 53, 56] 和基于判别的方法 [9, 14, 22, 30, 42, 59] 通常被用于促进更好的建模。尽管传统异常检测方法取得了巨大进展,但它们的有效性高度依赖于一个良好建模的正常数据分布。如果没有足够的数据,它们准确检测异常的能力将显著降低。

CLIP在大量图像-文本数据上训练,结合了对比学习、强大的语言模型和视觉特征编码器来捕捉稳健的概念。这种组合使得CLIP在图像分类任务上实现了令人印象深刻的零样本性能,因为它能够很好地泛化到新的类别,而无需特定任务的训练[23-26, 41, 50]。最近,许多研究[8, 11, 34, 38]探讨了将CLIP模型中嵌入的知识迁移到各种下游任务的方法,在图像标题、图像-文本检索和图像生成等领域取得了有希望的结果。这些努力展示了CLIP的通用性和推动多样化应用进步的潜力。

尽管CLIP取得了快速的发展,但众多研究都指出了它在提取特征方面存在的持续局限性。虽然CLIP在各个任务上表现出强大的泛化能力,但它往往难以捕捉细微的细节和重要的空间关系,这对于需要精确边界划分和细粒度特征提取的任务至关重要。这种局限性导致其在下游应用中的性能不佳,尤其是那些需要高度详细性的应用,如目标检测、场景分割或医学成像任务[13, 28, 29, 36, 48, 49, 55, 58]。因此,为了弥合其泛化特征提取与特定应用所需的精确度之间的差距,利用CLIP进行细粒度任务通常需要针对特定任务进行适应性调整。

基于CLIP的异常检测

针对利用CLIP进行AD任务,已有多个研究尝试。其中一种开创性方法,WinCLIP [18],提出了一种从多个层次提取和聚合视觉特征以与文本特征对齐的方法,展示了CLIP在此领域的潜力。后续研究探讨了各种适应方法,以弥合自然领域与AD领域之间的差距,从而提高了性能。例如,[6, 7, 17]通过使用 Adapter 来增强 Patch Level 的视觉表示,专注于细化视觉特征。然而,这些方法通常依赖于原始CLIP模型中的文本嵌入作为软监督,并忽略了CLIP在AD中的一个关键局限性:其在区分异常和正常语义方面的不明确性,尤其是在文本编码器中,导致性能不佳。其他工作采用了基于 Prompt 学习的方 法[5, 40, 57],将可学习的嵌入引入文本编码器以更好地表示异常。然而,CLIP中的类别信息可能会受损,这可能会降低泛化能力,尤其是在数据有限和零样本设置中。

与先前的方法不同,作者首次研究了CLIP在捕捉异常感知信息方面的固有局限性,特别是在区分文本 Prompt 中的正常和异常语义方面。AA-CLIP并非仅仅依赖于原始的无异常感知文本嵌入或未更改的特征空间,而是能够对嵌入进行细化,以主动融入异常判别表示。

  1. 方法

3.1 概述

3.1.1. 问题表述

零样本异常检测(AD)模型旨在识别训练数据集中可能未见过的异常样本类别。具体来说,模型需要学习在包含正常或异常样本的训练集

中共享的不同类别的正常和异常模式,以便能够在一系列不同的测试数据集

上执行AD任务。对于

,模型面临的是一个三元分类问题,其中模型的目标是将样本

分类为正常

或异常

。异常分割将这一概念扩展到像素级,通过 Mask

突出与异常相关的像素,以识别异常区域。

3.1.2. 当前挑战

CLIP中的异常无 Aware :基于CLIP的AD方法将视觉特征分类为“异常”,如果它们与异常 Prompt 嵌入的相似度大于与正常 Prompt 嵌入的相似度,因此需要在这两种 Prompt 之间定义明确的边界。然而,在实际应用中,CLIP的文本嵌入往往缺乏区分正常和异常类别的清晰可分性。

作者观察到,尽管MVTec-AD [2]示例图像中存在明显的缺陷,但它们的特征与“正常” Prompt 的余弦相似度高于与正确的“异常”描述的相似度(见图2(顶部)),这表明CLIP的语义理解不准确。未经调整,单个类别的正常和异常文本嵌入之间仍然存在高度相似性,如图2(底部)所示,这表明文本空间中正常和异常语义可能存在潜在混淆。作者将这种限制称为异常无 Aware ,并将其归因于CLIP的训练过程:它主要在通用、非异常数据集上训练,缺乏缺陷检测的具体指导。因此,依赖于原始CLIP嵌入来检测细微或上下文特定的异常具有挑战性。

这一问题在作者对t-SNE分析的不同类别中依然明显:如图3(顶部)所示,在物体簇内部仅观察到细微的分离,其中正常和异常语义的文本嵌入相互混合。这种纠缠的图案可能导致对异常无 Aware 的文本-图像对齐,这进一步强化了适应CLIP以增强其异常感知能力的必要性。

嵌入适应困境:上述讨论表明,CLIP的适应对于有效的AD至关重要。然而,由于CLIP的嵌入已经通过广泛的预训练进行了优化,它可能在适应过程中对新数据集产生过拟合。过拟合收敛会导致训练数据中类内差异最小化,这通常以牺牲对未见数据的有效泛化特征可分性为代价。

为了解决这个问题,进行细致控制的优化至关重要,以保持CLIP的泛化能力同时增强其对异常的敏感性。

3.1.3. 作者解决方案概述

受第3.1.2节启发,作者提出了具有改进异常感知能力的异常感知CLIP(AA-CLIP)。如图4所示,AA-CLIP通过两阶段训练策略进行训练,依次调整语义丰富的文本空间和细节关注的视觉空间,同时保持原始CLIP参数冻结。在第一阶段(见图4(顶部)),作者将残差 Adapter 集成到文本编码器的浅层,固定图像编码器的视觉特征作为优化的稳定参考。作者提出了一个解耦损失,以确保正常和异常嵌入之间的独立性,从而实现有效的区分。在第二阶段,作者将残差 Adapter 集成到视觉编码器的浅层,以使块级特征与固定文本编码器中特别调整的纹理特征对齐(见图4(底部))。最终,作者的AA-CLIP成功地为CLIP配备了跨已见和未见类别的异常感知能力,如图3(底部)所示。

3.2. 双阶段自适应策略的AA-CLIP

3.2.1. 残差 Adapter

为了在实现针对性适应的同时保留CLIP的预训练知识,作者在浅层(最多到层

)的文本和视觉编码器中引入了轻量级残差 Adapter 。

CLIP的第

Transformer 的输出特征

被输入到第

个 Adapter 中,输出适配后的特征

,如公式(1)所示。

是第

个 Adapter 的可训练线性权重,

是激活函数,

是归一化函数。原始特征

和增强特征残差以加权方式融合,生成

,作为下一层 Transformer 的输入,如式(2)所示。

其中

是一个超参数,用于控制残差比例,调整AD特定知识的融合程度,以保持原始CLIP的泛化能力和改进后的性能。

3.2.2. 两阶段训练策略

解耦异常感知文本 Anchor 点:在第一阶段,作者的目标是通过对文本编码器进行适配,同时保持图像编码器固定,来学习异常判别性文本 Anchor 点。如图4(顶部)所示,作者将残差 Adapter 融入CLIP文本编码器的第一

层,并将文本编码器中的最终 Projector 设置为可学习的,以促进更好的对齐。

使用旨在封装正常和异常语义的 Prompt (如附录中所述),文本编码器生成相应的High-Level嵌入。正常和异常 Prompt 的平均嵌入分别作为作者的初始文本 Anchor 点,记为

。这些 Anchor 点通过与增强的CLIP视觉编码器提取的视觉特征对齐而得到细化,如[27, 57]所述。对齐在图像和块 Level 上进行,以结合全局和局部语义。通过计算这些 Anchor 点与图像特征

或块特征

之间的余弦相似度,如公式(3)所示。

表示拼接操作,作者得到分类预测

和分割预测

。然后,将分割预测

调整形状并上采样到

,以与分割 Mask

的高度

和宽度

对齐。遵循先前的工作 [5, 6, 17, 57],作者计算分类损失

和分割损失

以优化参数,具体如公式 (4) 所述。具体来说,分类损失是一个二元交叉熵,它比较分类预测与真实标签

,而分割损失是 dice 损失和 focal 损失的组合,应用于分割预测和异常分割 Mask

为了增强正常文本和异常文本嵌入之间的分离,作者引入了一种解耦损失,该损失鼓励

之间的正交性以最小化相关性,如公式(5)所示:

将解耦损失

作为正则化项纳入对齐损失

,并通过一个权重因子

进行加权,从而形成总损失,如公式(6)所示:

在此阶段,正常和异常语义的区别被嵌入到CLIP的文本编码器中,同时保留了其原始的目标识别能力。图3表明,这种异常感知能力具有鲁棒性和泛化能力,可以应用于新的类别。

根据文本 Anchor 点对 Patch 特征进行对齐:异常感知语义 Anchor 点可以促进 Patch 特征的适应,从而提高异常定位的有效性和泛化能力。为了实现 Patch 特征与先前阶段 Anchor 点的对齐,作者在CLIP视觉编码器的初始

层中引入可训练的残差 Adapter 。

多粒度特征被用于增强分割[6, 18, 57]。具体来说,如图4(底部)所示,中间输出特征

从四个不同的粒度中提取。然后,通过可训练的 Projector

将这些多粒度特征投影以与文本 Anchor 点的通道对齐,从而得到四个不同粒度 Level 的

。聚合输出

通过求和各个 Patch 输出得到,如公式(7)所示:

聚合的

与文本 Anchor 点之间的余弦相似度得分被计算出来,以生成如图(3)所示的块级预测,从而得到预测图。

在训练过程中,对齐由公式(4)中定义的损失函数引导,既促进了全局对齐,也促进了局部对齐。在推理过程中,通过比较视觉特征与正常文本和异常文本嵌入的相似度得分,推导出异常预测图和相应的异常得分。

  1. 实验

4.1 实验设置

作者在11个广泛使用的基准测试集上评估AA-CLIP,这些基准测试集与之前的AD工作[5, 6, 17, 18, 57]类似,具有不同的前景物体,涵盖了多种模态,包括摄影、内窥镜、CT、MRI和OCT。对于工业领域,作者使用了MVTec AD[2]、VisA[60]、BTAD[33]和MPDD[19]。对于医疗领域,作者使用了来自BMAD[1]的大脑MRI、肝脏CT和视网膜OCT,以及四个不同视角的结肠息肉检测数据集(CVC-ClinicDB[4]、CVC-ColonDB[3]、KvasirSEG[39]和CVC-300[46])。每个数据集都包含用于评估的图像级标签和像素级 Mask 。

作者在一个真实世界工业AD数据集——VisA [60]——上训练AA-CLIP,其中目标与其他数据集不同。使用MVTec-AD作为训练数据集获得VisA的结果。为了展示适应效率,作者在不同的数据 Level 下进行训练:每类2个样本,每类16个样本,每类64个样本,以及全样本。从每个类别中随机选择相应数量的样本,同时保持正常样本和异常样本之间1:1的比例。

遵循[5,6, 9, 10, 17, 18, 42, 53]中的指标,作者使用受试者工作特征曲线下面积(AUROC)作为评价指标。作者在图像和像素 Level 计算AUROC,以全面评估模型在检测和定位异常方面的有效性。实现细节遵循[5, 6, 40, 57],作者使用OpenCLIP与ViT-L/14架构作为 Backbone 网络,输入图像调整大小为

。CLIP的所有参数保持冻结。作者将

设为0.1,

设为3,

设为6,

设为0.1。对于多级特征提取,作者利用视觉编码器的第6层、第12层、第18层和第24层的输出来组成整体输出。对于第一阶段,作者以

的学习率训练模型5个epoch。对于第二阶段,作者继续训练20个epoch,将学习率调整为

。参数通过Adam优化器更新。所有实验均在单个NVIDIA GeForce RTX 3090 GPU上运行。更多细节见附录。

4.2. 与SOTA方法的比较

作者将其方法与CLIP和几个最近的SOTA模型进行了比较。其中,WinCLIP [18]、VAND [6]和MVFA-AD [17]使用了原始的CLIP文本编码器,而AnomalyCLIP [57]和AdaCLIP [5]则结合了可学习的 Prompt 。为确保比较的公平性,作者将原本在不同数据集上训练的模型重新训练,以匹配其他方法的数据库设置(详细内容见附录)。

定量结果展示在表1和表2中。尽管仅通过调整 Patch 特征与原始文本嵌入在AD方面取得了一定的进展,但AA-CLIP卓越的性能凸显了其在异常判别语义解耦方面的有效性,从而带来了进一步的进步。值得注意的是,即使在数据有限的情况下,AA-CLIP也始终表现出优异的性能。在像素 Level ,仅使用每类2个样本进行训练,AA-CLIP在零样本性能方面相较于先前方法有所提升。使用完整数据集,作者以93.4%的AUROC实现了像素 Level 的SOTA。在图像 Level ,AA-CLIP仅用2个样本进行训练就具有竞争力,并在每类64个样本的情况下建立了83.1%的新SOTA。

与先前的方法不同,AA-CLIP并不依赖于大量数据资源来实现顶级性能。

如图5所示,在不同数据量级下的比较表明,AA-CLIP在总体上始终优于其他方法。即使在数据有限的情况下,AA-CLIP也能达到具有竞争力的结果,而其他方法则显示出欠拟合的迹象。随着数据的增加,AA-CLIP继续保持领先,在像素和图像 Level 上建立了新的SOTA。

4.3 可视化

为了直观地说明对齐问题,作者通过图6展示了与先前工作原始配置相对应的可视化示例。尽管先前的方法能够检测到异常区域,但作者的AA-CLIP在工业和医疗领域都表现出更少的误报,准确地突出了正确的异常区域。

4.4 消融分析

作者对作者对视觉和文本空间的改进进行了彻底的消融实验,如表3和图7所示。表3的第二行,其结构与VAND [6] 相对应,作为作者的 Baseline 。

图像空间:如图3中第“2”行所示,将Valina线性 Adapter 插入到Transformer层中会导致零样本性能显著下降,这表明CLIP原始泛化能力的损害。引入作者的残差 Adapter 可以缓解这一问题(如图3中第“3”行所示),在提升性能的同时保留CLIP中存储的原始信息。

文本空间:表3的最后两行突出了AA-CLIP在为CLIP的编码器配备异常感知语义方面的影响。第“4”行验证了,在AA-CLIP中,模型区分异常的能力进一步得到提升,因为AA-CLIP的文本编码器提供了更精确的语义基础。添加解耦损失带来了额外的改进(如图第“5”行所示),尤其是在图像 Level ,验证了正常和异常 Anchor 点之间独立性的必要性。这些结果强调了文本空间细化在改进异常定位和分类中的关键作用。

两阶段训练:为了验证两阶段训练的必要性,作者在一个阶段内同时调整文本和图像编码器(也被AdaCLIP采用)。如图7所示,单阶段模型容易夸大异常语义并忘记CLIP中嵌入的类别信息,损害模型的一般化能力。两阶段训练策略允许受控的调整,如图3所示,在一端保留CLIP的与类别相关的知识,同时调整另一端。

  1. 结论与讨论

据作者所知,这是首次明确分析CLIP中的内在异常无 Aware 问题的工作。为了解决这一问题,作者提出了一种简单而有效的两阶段训练策略,将异常感知信息嵌入到CLIP中,从而在已见和新型类别中实现异常表示的清晰解耦。通过利用残差 Adapter ,AA-CLIP保留了CLIP强大的泛化能力,在多个数据集上实现了卓越的零样本性能。

作者通过两阶段适应策略开发的改进版AA-CLIP揭示了通过精炼CLIP的特征空间以提高下游应用性能的潜力。除了解决异常无 Aware 问题外,作者的工作还为解决CLIP内部的其他“无 Aware ”问题提供了潜在的基础。这些问题可能包括在上下文感知或对领域相关细微差别特异性方面的局限性,这表明AA-CLIP在扩展CLIP跨多样任务的可适应性方面有进一步的应用。此外,作者观察到在完整数据训练中存在过拟合的迹象,这表明CLIP适应过程中可能存在饱和,需要进一步研究。

参考

[1]. AA-CLIP: Enhancing Zero-Shot Anomaly Detection via Anomaly-Aware CLIP

picture.image

扫码加入👉「集智书童」交流群

(备注:方向+学校/公司+昵称)

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论