【Paper Notes】Deep Anomaly Detection With Outlier Exposure
论文地址
这篇文章是发表在ICLR2019上,主要做分布外检测(Out of Distribution Detection)。
目录
- 分布外检测(ODD)
- 评价方法
- FPR[95/90]
- AU-ROC
- 本文方法
- 实验结果 & 思考
分布外检测(ODD)
分布外检测主要目标是让网络能够识别样本来自训练域外的风险。比如我们训练了一个猫狗分类模型。但是当我们输入一张乌龟的图片的时候,如果我们的模型仍然“自信”地输出猫或者狗这个类别的的话,那么在现实中部署这个模型是不可靠的。因此我们需要模型具有识别出非训练域中样本的能力,即 Out of Distribution Detection 。 后文,我们统称分布内数据为 ID,分布外数据为 OOD。
评价方法
如何评价一个模型的OOD检测的能力呢?我们知道模型在输出类别的时候一般都也会输出一个score/confidence value。通过输入部分ID数据和OOD数据,观察其score的差异可以评估出模型分布外检测的鲁棒性。比如ID数据的score都比OOD数据的score高的话,说明模型区分的不错。量化的评价指标有FPR95/90和AUROC。
FPR[95/90]
一般文中都会使用这个指标来评价模型的 OOD检测能力。具体的计算形式如下。针对一个分类模型, 如果我们划定了分类的阈值(对二分类模型,通常我们设置为0.5),我们可以得到一个混淆矩阵
Truth\Prediction | True | False |
---|---|---|
True | TP | FN |
False | FP | TN |
从上表我们可以看出,TP (True Positive) 和 TN(True Negative) 是模型预测对的。FN(False Negative)和 FP(False Positive) 是预测错的。
FPR 是 False Positive Rate,顾名思义就是假样本中预测成真样本的比例, 所以其计算公式为 F P R = F P T N + F P FPR = \frac{FP}{TN+FP} FPR=TN+FPFP。其实我们是希望这个值越小越好,越小越说明我们的模型能力越强。但是这个值也是受我们划定的分类阈值影响的。举个极端的例子,如果我们划定分类阈值为1.0,那么没有样本会被预测为阳性,那么 F P R = 0 FPR=0 FPR=0,但是这显然是不合理的。所以FPR后面跟的数字比如90,95是在真样本的召回率 R = T P T P + F N R=\frac{TP}{TP + FN} R=TP+FNTP上作了限制,要求 R=90%/95%的情况下划定阈值。
放到OOD的任务里,我们认为ID是True,OOD是False。
AU-ROC
AUROC的全称是 Area Under ROC curve. 因此需要先解释 ROC curve. ROC curve 的横轴和纵轴分别是FPR和TPR,其中TPR 是 True Positive Rate 的缩写,顾名思义代表的是真样本中预测为真的比例, T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP,其实就是真样本的召回率。
现在我们分析一下,TPR和FPR的关系。如果我们阈值设置的非常低,那么所有样本都会被预测为阳性样本,此时 TPR=FPR=1。如果阈值设置非常高,那么没有样本预测为阳性样本,TPR=FPR=0。因此TPR和FPR是正相关的。其绘制的图像趋势一般如下所示:
一般我们都希望曲线处于右上方,因为右上方在假阳率低的同时,真阳率比较高,是我们所以往的表现。而越靠近右上方,其与横轴围成的面积越大,也就是AUROC越大。
本文方法
本文的方法其实比较朴素,就是利用一些OOD的样本微调网络使其获得OOD的检测能力。下面是公式化的描述。
E ( x , y ) ∼ D i n [ L ( f ( x ) , y ) + λ E x ′ ∼ D o u t O E [ L O E ( f ( x ′ ) , f ( x ) , y ) ] ] \mathbb{E}_{(x,y) \sim \mathcal{D}_{in}} \left[ \mathcal{L}(f(x),y) + \lambda \mathbb{E}_{x' \sim \mathcal{D}_{out}^{\bold{OE}}}\left[ \mathcal{L}_{\bold{OE}} (f(x') , f(x), y)\right]\right] E(x,y)∼Din[L(f(x),y)+λEx′∼DoutOE[LOE(f(x′),f(x),y)]]
前项主要是分类损失,后项是和OOD检测相关的损失。在后项的损失中,作者对 L O E \mathcal{L}_{\bold{OE}} LOE的形式没有规定,但是目的是最大化ID样本和OOD样本之间的距离。
实验结果 & 思考
在实验结果上,充分证明了该方法的效果,并且达到了SOTA。但是美中不足的是需要OOD的数据参与训练。这在真实场景下可能不太实用。
另外一个值得思考的是,其虽然使用了OOD的数据,但是使用的OOD的数据并没有涵盖所有的OOD数据集,那么为什么在面对不同的OOD样本时仍然具有较好的检测能力呢?是否因为网络学习到了ID中的语义和OOD中的语义差异呢?
【Paper Notes】Deep Anomaly Detection With Outlier Exposure相关推荐
- 【Donut论文】Unsupervised anomaly detection via variational auto-encoder for seasonal kpis...
简述 本文提出的 Donut,基于 VAE(代表性的深层生成模型)的无监督异常检测算法,伴有理论解释,可以无标签或偶尔提供的标签下学习. 本文贡献 1,Donut 里的三项技术:改进的 ELBO,缺失 ...
- 【Paper Notes】DiffusionCLIP: Text-Guided Diffusion Models for Robust Image Manipulation
论文链接 该论文发表在CVPR 2022上 目录 主要任务 方法介绍 DDPM/DDIM回顾 模型架构 Loss设计 Forward和Reverse过程 未知Domain之间的迁移 实验结果 参考文献 ...
- 【Paper Notes】 EPro-PnP
EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estima ...
- 【论文合集】Awesome Anomaly Detection
github:GitHub - bitzhangcy/Deep-Learning-Based-Anomaly-Detection Anomaly Detection: The process of d ...
- 【论文阅读】Neural Transformation Learning for Deep Anomaly Detection Beyond Images 异常检测,可学习变换,时间序列,表格数据
本博客系博主阅读论文之后根据自己理解所写,非逐字逐句翻译,预知详情,请参阅论文原文. 论文标题:Neural Transformation Learning for Deep Anomaly Dete ...
- 【Paper Reading】
Levers are simple too, but they can move the world1. 文章目录 1 Categories Classification Compression Da ...
- 【论文翻译】Deep Residual Learning for Image Recognition
[论文翻译]Deep Residual Learning for Image Recognition [论文题目]Deep Residual Learning for Image Recognitio ...
- 【深度学习】Deep Learning必备之必背十大网络结构
深度学习网络结构: [深度学习]Deep Learning必备之必背十大网络结构 (从公众号转发过来发现图片不能引用,直接点上面链接吧) 昨天的文章介绍了在学习Deep Learning过程中必须背熟 ...
- 【读论文】Loop Closure Detection for Visual SLAM Systems Using Convolutional Neural Network
[读论文]Loop Closure Detection for Visual SLAM Systems Using Convolutional Neural Network 发表于2017年,作者是南 ...
最新文章
- 修改 cmd 控制台默认代码页编码的几种方法【GBK、UTF-8】
- HttpReports 2.0 发布了 !!!
- 咨询的真相8:咨询业的“前世今生”
- java对象排序_Java™ 教程(对象排序)
- 这5个有趣的Python库带你花式编码!
- 配置SQL Server的命名管道和TCP/IP设置
- python中figure函数_Python figure参数及subplot子图绘制代码
- 在Python数据库连接池中如何创建请求连接的方案
- 李宏毅机器学习课程---1、机器学习介绍
- 线性规划的标准型与规范型 (Standard and Canonical Forms)
- 酒吧、ktv、夜店收银系统分析
- Android中的Apk的加固(加壳)原理解析和实现
- Python项目部署的三大神器
- java 将5mb以内图片压缩至200kb以下
- 使用nvs管理node版本
- ohmyzsh用在mysql_oh-my-zsh git 命令缩写 以及macbook使用感受
- 1.bboss-bboss启动无法加载ES参数问题跟踪
- 关于自己搭建的邮件被微软反垃圾邮件标记为垃圾邮件
- statement的意思和用法
- 蓝桥杯-递归-母牛生小母牛