异常检测--基于特征提取的教师学生网络进行异常匹配原理篇(上)

1,184 阅读7分钟

教师学生网络模型通常用于进行知识蒸馏任务,该任务的目的通常是为了避免模型过大而无法部署,进而通过教师模型(即已在数据集训练好的模型)进行知识蒸馏,把得到的特征参数进而传递到学生网络,从而获得一个轻量化,但足够完成任务,有时甚至能超越教师模型效果。本文要介绍的教师学生网络模型用于一个具有挑战性的任务--异常检测,一起来看看吧!

基于特征提取的教师学生网络简介

教师学生网络的方法属于迁移学习的一种,迁移学习往往是把一个模型的性能迁移到另一个模型上。对于教师学生网络,教师网络通常是一个复杂的网络,更具体地说,对于基于特征提取的教师网络往往是在大量数据集上训练好的图像分类模型(预训练模型),例如resnet,vgg,efficient等,这些预模型通过大量数据训练,能够出色地在下游任务中完成特征提取的任务;学生网络与教师网络架构相同,这是为了减少信息的丢失;通过在正常的数据集上训练学生网络,并在测试图像上比较教师网络与学生网络对其生成的特征图,两特征图具有差异较大的点即可判断该图像上具有异常。

教师学生网络训练流程

对于基于特征提取的教师学生网络我主要看了两篇论文的网络架构及它们的训练方式

第一篇是Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings([1911.02357] Uninformed Students: Student-Teacher Anomaly Detection with Discriminative Latent Embeddings (arxiv.org)),该方法网络架构如图1所示

image-20240731160310029.png

图1 Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings网络架构图

训练过程:

step1:教师网络训练:

首先,该网络完全基于imagenet进行训练,我认为,此处不在待检测目标进行数据训练的目的是避免教师网络描述符过度拟合待检测数据集,进而使学生网络训练失败。

然后,该网络输入为图像的部分图像块,这里可能需要留意一下这里的图像块(Patch),通过这些块可以更直接地获取到异常所处的部位,论文中写到这里使用Fast dense local feature extraction方法进行对整个输入图像进行快速稠密局部特征提取与基于块的跨步式评估(Patch-based)方法相比得到了显著的提升。

之后,了解一下网络构建架构,该方法定义了三个感受野(p=65.p=33,p=17)的训练网络,可以具体看一下论文中的网络构建,如图2所示

image-20240731163214144.png

a p=65

image-20240731163429169.png

b p=33

image-20240731163447324.png

c p=17

图2 网络架构图

再然后,就是定义网络的损失函数,可以由图3看到三个损失函数(Lm,Lc,Lk)。其中,Lm是通过构造一个三元组,三元组变量分别为原始图像P、通过P进行小随机位移,图像亮度变化以及添加高斯噪声得到的P+、通过裁剪与P不同种类图像的块得到的P-,通过对该三元组的相关计算得到Intriplet hard negative mining with anchor swap组成的Lm损失函数;Lc是通过L2距离来度量图块描述符之间的差异;最后一个也是最常用的一个Lk为预测与数据标签之间的损失度量,它常用于CNN网络分类。最后,得到的三个损失函数分别乘以自己设计的权重并相加即可得到网络的损失函数。

image-20240731161017483.png

图3 教师网络训练图

step2:学生网络训练:

首先,该网络训练目的是在数据集上训练学生网络Si来预测教师的输出,该网络通过初始化一个学生网络集合S{i1,i2...iM},M为大于等于1的随机数,然后利用教师网络提取训练集中所有描述符的均值(μ)与标准差(σ),用于数据标准化。对于输入图像I,以行r和列c为中心的每个局部图像区域p( r , c),每个Si输出其在可能回归目标空间上的预测分布,然后将S的输出建模为高斯分布,Si表示对像素点(i,j)的预测,yT为教师模型的对应Patch的输出

L(Si)=1Wh(r,c)μ(r,c)Si(y(r,c)Tμ)diag(σ)122L(Si)=\frac{1}{Wh}\quad \sum_{(r,c)}{||μ_(r,c)^Si - (y_(r,c)^T −μ)diag(σ)^−1||_2^2}

模型进行缺陷预测:

思想是比较教师与学生网络之间的输出差异的,因为学生网络无法识别异常引入的图像特征,而教师网络由于特征提取经验丰富,对于异常数据仍能很好地把特征提取出来,因而该网络便能通过度量两网络之间的输出差异进而检测到缺陷。该论文使用了两种方法进行衡量像素点的异常状况,最后使用两个分数组合成最后的异常分数

1)回归误差

image-20240731173827503.png

2)预测不确定性

image-20240731174121661.png

最后的异常分数

image-20240731174236871.png

多尺度异常检测与分割优化:

由于神经网络架构中固定的感受野限制,当异常区域较小而感受野较大时,提取的特征可能主要反映正常模式,导致异常区域难以被准确分割。为了解决这一问题,论文设计了一系列具有不同感受野大小的Student-Teacher网络对。通过整合这些网络对的输出,能够获得一个综合的异常检测结果,这样不仅增强了对小尺寸异常的识别能力,也保留了对大尺寸异常区域的分割效果。这种多尺度融合策略显著提升了异常检测的准确性和鲁棒性。

补:

由于计划在该论文上找创新点,因此去寻找复现代码,但是目前找到的复现代码都存在两个问题

  • 损失函数错误,论文中提到的损失函数Lc为解码器之前进行计算,但是复现代码中损失函数的计算均为在数据解码之后,这可能导致模型训练过程中的梯度流动和学习动态与原论文描述不符,使得网络训练效果差。
  • 教师网络的训练,论文中教师网络的训练为均在自然图像数据集,而复现代码存在在目标数据集上训练教师模型以及直接使用预训练模型未复现教师网络的训练的问题

我认为是这两个因素导致了复现效果极差,因此这里就不贴出代码进行学习了。

随着对“Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings”论文的探讨接近尾声,我们已经深入了解了教师学生网络模型在异常检测中的强大应用。在下一篇文章中,将继续我们的基于特征提取的教师学生网络进行异常匹配原理探索之旅,带来“Student-Teacher Feature Pyramid Matching for Unsupervised Anomaly Detection”的精彩内容。这篇由中国航空航天大学计算机科学与工程学院与百度公司视觉部共同发表的论文,将展示如何利用特征金字塔匹配技术进一步提升无监督异常检测的准确性和效率。请继续关注,深入了解如何将这些先进的技术应用于实际问题,并探索它们如何改变我们的世界。