【异常检测】论文阅读:CSI: Novelty Detection via Contrastive Learning on Distributionally Shifted Instances

参考文章:
SimCLR框架解析

主题:基于对比学习模型SimCLR在开放集检测上进行应用

SimCLR损失函数:

在这里插入图片描述

  • B : 给定的batch中的图片, B : = { x i } i = 1 B B :=\{x_i\}^B_{i=1} B:={xi}i=1B,论文实现中,Batchsize = 8192
  • T:图片的变化形式
  • B − i B_{-i} Bi: 表示除了第i个样本之外的其他样本构成的集合。

1. CSI损失函数

1.1 Contrasting shifted instances

对比学习会把图像的不同转换形式transform(旋转、偏移、放大、灰度等等)作为原始图像的正样本(positive samples),但是有的transform形式(如旋转)会让SimCLR的性能下降,可是如果把这种转换形式作为负样本(negative)应用在OOD领域,那么性能又会增加,因此作者在本文中主要讨论哪些transform形式可以提高OOD中的性能。

作者把要探索的可以提高OOD中的性能的transform形式称为为transform家族 S S S
S = { S 0 = I , S 1 , S 2 , … … , S n } , S = \{S_0=I,S_1,S_2,……,S_n\}, S={S0=I,S1,S2,……Sn}, 其中 I I I代表的是恒等变换,即输入图像保持不变。

作者将增强技术集合S定义为包括恒等变换在内的K个不同变换。恒等变换I在这里起到了特殊的作用,即将原始样本视为内部分布 ( S 0 = I ) (S_0=I) (S0=I),与其他非恒等变换的样本(即分布偏移样本 S ∈ { S 1 , S 2 , … … , S n } S∈\{S_1,S_2,……,S_n\} S{S1,S2,……Sn})进行区分。

contrasting shifted instances (con-SI) loss
在这里插入图片描述

1.2 Classifying shifted instances

目的:预测出最有利于生成OOD的transform形式,通过选择合适的转换方式来生成接近但不完全相似的离群数据(OOD)样本——最像“离群数据(OOD)”但又具有语义意义的样本。

引入了一个辅助任务。该辅助任务的目标是预测对于给定的输入x,应用了哪个偏移转换操作 y S ∈ S y^S ∈ S ySS,以帮助模型 f θ f_θ fθ区分每个偏移实例。

为了实现这一目标,作者在模型fθ中添加了一个线性层,用于建模辅助任务的softmax分类器 p c l s − S I ( y S ∣ x ) p_{cls-SI}(y^S | x) pclsSI(ySx)

为了训练这个辅助任务,作者定义了一个称为"classifying shifted instances"(cls-SI)的损失函数。该损失函数计算了辅助分类器在通过SimCLR对原始样本集 B S B_S BS进行增强后得到的批量样本集合 B S ′ B_S' BS上的损失。

在这里插入图片描述

1.3 CSI损失函数

两个部分的损失函数相加,λ > 0 is a balancing hyper-parameter. We simply set λ = 1 for all our experiments.

L C S I = L c o n − S I + λ ⋅ L c l s − S I L_{CSI} = L_{con-SI} + λ · L_{cls-SI} LCSI=LconSI+λLclsSI

2 检测离群数据的score function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
新颖性检测(Novelty Detection)也被称为异常检测(Anomaly Detection)或离群点检测(Outlier Detection),其目的是使机器能够识别出当前场景的输入与之前场景的输入(训练或实践过程中)是否一致,从而避免潜在的危险,或是开始对新场景的学习。新颖性检测的研究主要包括两种思路:一种是构建One-Other的分类器,通过利用特征空间上各数据点的距离等度量方式实现;另一种是基于Encode-Decode思想,通过训练集训练学习算法压缩数据特征并恢复的能力,而测试集中那些不能很好被恢复的特征所对应的数据点一定与训练集有一定区别,因而被视为新颖点。\[2\] 需要注意的是,neighbors.LocalOutlierFactor是一种用于异常值检测的估计器,不直接支持新颖性检测。如果想要使用neighbors.LocalOutlierFactor进行新颖性检测,可以在实例化估计器时将新颖性参数设置为True。在这种情况下,fit_predict方法不可用,但可以通过negative_outlier_factor_属性访问训练样本的异常分数。\[3\] #### 引用[.reference_title] - *1* *3* [离群点(outlier detection)和新颖点(novelty detection)检测与OneClassSVM应用实例(基于python)](https://blog.csdn.net/lyxleft/article/details/89344219)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Anytime Online Novelty Detection for Vehicle Safeguarding:实时新颖性检测方法](https://blog.csdn.net/weixin_39078049/article/details/102057682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值