【2022.1】基于自蒸馏和负采样的自监督异常检测

【2022.1自蒸馏】Self-Supervised Anomaly Detection by Self-Distillation and Negative Sampling

在这里插入图片描述

1.预备知识:

  测试数据和训练数据都来自同样的分布(称作分布内,in-distribution)

  例如我们利用一组猫、狗照片训练一个猫、狗分类器。然而,部署的模型在实际使用中总是会遇到一些不属于封闭世界类别的图片,例如老虎。或者也会遇到一些和训练图片视觉上大相径庭的照片,例如卡通猫。

  模型应当如何去处理这些不属于训练分布的图片(即分布外样本,out-of-distribution),是开放世界领域所关注的问题。

  即“分布外检测”任务和新类识别类似,都是在找出测试集中不属于训练集中任何类别的 “新类” 样本。但是在新类识别的基础上,同时完成多分类任务。“分布外检测” 的训练集可以是单类别的也可以是多类别的。

2. 本文:基于自蒸馏和负采样的自监督异常检测

  本文提出DINO框架。利用未标记数据进行OOD(Out-Of-Distribution)检测。

2.1自蒸馏框架

  两个框架相同但参数值不同的网络:
  学生:gs = g(x|​​​​​​​​​​​​​​ θ \theta θs)
  老师:gt = g(x|​​​​​​​​​​​​​​ θ \theta θt) (老师网络已经训练过)
  输入均为图片x,输出为K维向量。

  利用温度 τ \tau τs, τ \tau τt计算得到学生和老师的软标签。
在这里插入图片描述
  老师网络是已经训练过的,所以这里训练只求学生的反向梯度,利用其来更新老师的参数(使用EMA方法)如下:
在这里插入图片描述
  取同一个样本x,通过非恒等变换T,产生x’和x’’。
  即包括整体变换G(整体视角,占图片较大的物体变换,例大于40%)和局部变换L(局部视角,例小于40%)。定义交叉熵损失如下:
在这里插入图片描述
  其中变换 V = G U L,老师仅有全局视角,此步完成了局部到全局的通信。

2.2 负采样

  将拒绝(in-distribution)分部内检测样本的得分作为度量,从而系统地产生负样本。

  保留低级特征,利用最后一层特征作KNN来量化学习的质量,建立Dneg负分布集(保留了大部分底层特征,改变了高层语义)。
在这里插入图片描述
在这里插入图片描述
  举例产生负样本的情况:
在这里插入图片描述

2.3 损失函数:

  鼓励学生对负样本有统一的响应,即负样本的输出预测的每个分类值都相等。
在这里插入图片描述
也可以理解成3式取老师的温度趋于无穷。
在这里插入图片描述
  总目标函数为3式加4式:
在这里插入图片描述

2.4 整体流程

在这里插入图片描述
  同一个类选x样本进行不同变换x+分别给到学生和老师网络,再变换得到负样本x-,负样本可以来自in-fistribution的x或者辅助样本xaux。训练时利用学生的梯度来得到老师的参数改变,从学生的局部变换影响老师的整体视角。评估最终使用老师模型。
在这里插入图片描述

3. 实验结果

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值