©PaperWeekly 原创 · 作者|张一帆

学校|华南理工大学本科生

研究方向|CV,Causality

论文标题:

Energy-based Out-of-distribution Detection

论文链接:

https://arxiv.org/abs/2010.03759

代码链接:

https://github.com/wetliu/energy_ood

动机 & 相关工作

当机器学习模型看到与其训练数据不同的输入时,就会出现 out-of-distribution (OOD)uncertainty,因此模型很难对他们进行正确预测(也即在与训练数据分布差距较大的数据点上表现极差)。对于将 ML 应用于安全关键的应用(如罕见疾病鉴定)而言,确定输入是否超出了分布范围是一个基本问题。

OOD(Out-of-distribution)检测的传统方法之一是基于 softmax confidence。直觉上来看,对于 in distribution 的数据点,我们有高可信度给他们一个结果(就分类问题而言即将一张猫的图片分类为“猫”的概率很高),那么可信度低的就是 OOD inputs。但是因为 DNN 在样本空间的过拟合,经常会对OOD的样本(比如对抗样本)一个很高的可信度。

另一种检测方法是基于生成模型的,这类方法从生成建模的角度推导出似然分数 








,主要利用 Variational Autoencoder 的 reconstruction error 或者其他度量方式来判断一个样本是否属于 ID 或 OOD 样本。主要的假设是,Autoencoder 的隐含空间(latent space)能够学习出 ID 数据的明显特征 (silent vector),而对于 OOD 样本则不行,因此 OOD 样本会产生较高的  reconstruction error。这类方法的缺点在于生成模型难以优化而且不稳定,因为它需要对样本空间的归一化密度进行估计。

贡献

在本文中,作者使用 energy score 来检测 OOD 输入,ID 的数据 energy score 低,OOD 的数据 energy score 高。作者详尽证明了 energy score 优于基于 softmax 的得分和基于生成模型的方法。相比于基于 softmax 可信度得分的方法,energy score 不太受到 NN 在样本空间过拟合的影响。相比于基于生成模型的方法,energy score 又不需要进行显式的密度估计。

背景:基于能量的模型

基于能量的模型(EBM)的本质是构建一个函数


















,它将输入空间中的每个点




映射到一个称为能量的单个 non-probabilistic scalar。通过 Gibbs 分布我们可以将能量转化为概率密度:

分母被称为配分函数,




是温度参数。此时我们可以得到任意点的自由能







为:

我们可以轻易的联系分类模型与能量模型,考虑一个




类的 NN 分类器





















将输入映射到




个对数值,通过 softmax 归一化得到属于某一类别的概率,分类分布如下:

这里的


















的第




个值,而此时我们可以定义能量为


















即负对数。同时我们可以得到关于




的自由能:

这里需要强调一下,这个能量已经与数据本身的标签无关了,可以看作是输出向量







的一种范数。

基于能量的OOD检测

我们知道 OOD detection 实际上就是一个二分类问题,判别模型的密度函数可以写作:

其中配分函数

























是未知的归一化常数,是 intractable 的。幸运的是:

因为




是样本独立的,不影响总体能量得分分布,所以说









和数据点的负对数似然是线性对齐的,低能量意味着高似然,即更有可能是 ID 数据,反之更有可能是 OOD 数据。这涉及到一个阈值




,比较 empirical,这里不多说。

此时我们可能会想到,这比 softmax 函数好在哪里呢?不妨写出 softmax 分类的形式:








的时候,这其实就是:

如果再进行一步化简我们可以得到:

后两项

















并不是一个常数,相反对于一个 ID 的数据,其负对数似然期望是更小的,但是














这个分类置信度却是越大越好,二者冲突。这一定程度上解释了基于 softmax confidence 方法的问题。

那么能量模型如何进行训练呢——通过分配较低的能量给 ID 数据,和更高的能量给 OOD 数据,明确地创造一个能量差距。总体的损失函数如下:

其中







是分类模型的 softmax 输出,即标准的交叉熵分布加上一个能量约束项。

即用了两个平方的 hinge loss 来分别惩罚能量高于










和能量低于











的 ID/OOD 数据。这里也即该方法的另一个好处,可以利用没有标签的 OOD 数据帮助训练。一旦模型训练完成,我们就可以按照按照能量进行 OOD 检测。

实验结果

实验中有一点需要注意,作者采用了两个 setting:

  • No fine-tune: 使用 backbone 的输出,只是将 softmax confidence 换成能量得分。注意样本的能量我们定义为 ,其中










    即 backbone 的第




    维输出。

  • Fine-tune:使用上述的损失函数对 backbone 进行 fine-tune,然后使用 energy score 进行 OOD 检测。

实验统一使用 WideResNet 作为预训练分类模型,在六种 OOD 数据集上的表现如下,可以看到在不进行 fine-tune 的情况下基本碾压了基于 softmax confidence 的方法。有 fine-tune 的情况下,也比目前的 sota-OE 好很多。不过这里需要指出表格中标注的


















应该指的是训练集,因为作者也提到了下表是“We use WideResNet to train on the in-distribution dataset CIFAR-10.”。

作者进一步比较了各种方法之间的差距,可以看到即使不使用 fine-tune,只是将 softmax confidence 换成 energy score 效果就已经很不错了,进行 fine-tune 之后更是惊为天人。

同样还有与生成模型的比较,metric 是 the area under the receiver operating characteristic curve(AUROC)——越高越好。

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

NeurIPS 2020 | 基于能量的OOD检测相关推荐

  1. NeurIPS 2020 | 基于协同集成与分发的协同显著性目标检测网络

    论文题目:CoADNet: Collaborative Aggregation-and-Distribution Networks for Co-Salient Object Detection 论文 ...

  2. NeurIPS 2020 | 基于“单目标域样本”的领域自适应方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨罗亚威@知乎(已授权) 来源丨https://zhua ...

  3. 7 Papers Radios | NeurIPS 2020最佳论文;全卷积网络实现E2E目标检测

    机器之心 & ArXiv Weekly Radiostation 参与:杜伟.楚航.罗若天 本周的重要研究包括 NeurIPS 2020最佳论文以及抛弃 Transformer 使用全卷积网络 ...

  4. 内存256KB设备也能人脸检测,微软提出用RNN代替CNN | NeurIPS 2020

    蕾师师 发自 凹非寺 量子位 报道 | 公众号 QbitAI 为了让更多IoT设备用上AI,在条件"简陋"的单片机上跑图像识别模型也成为一种需求. 但是图像识别对内存有较高的要求, ...

  5. NeurIPS 2020 | 一种基于动作采样的简单高效的正则化强化学习方法

    编者按:现有的强化学习方法通常通过熵正则化的方式控制最优策略的随机性,以保证训练过程中的良好探索以及目标策略的鲁棒性.然而,熵正则化的强化学习方法通常会面临表达能力有限的策略结构和复杂低效的训练过程之 ...

  6. NeurIPS 2020 | 微软亚洲研究院论文摘录之目标检测篇

    编者按:12月6日至12日,国际人工智能顶级会议 NeurIPS 2020(Conference and Workshop on Neural Information Processing Syste ...

  7. [ NeurIPS 2020 ] 一叶知秋 —— 基于“单目标域样本”的领域自适应方法

    [ NeurIPS 2020 ] 一叶知秋 -- 基于"单目标域样本"的领域自适应方法 引言 华中科技大学.浙江大学.百度研究院新作--基于"单目标域样本"的无 ...

  8. NeurIPS 2020 | 聚焦自监督学习

    ©PaperWeekly 原创 · 作者|张一帆 学校|华南理工大学本科生 研究方向|CV,Causality 知乎ID|yearn 本文梳理了四篇来自 NeurIPS 2020 和对比学习相关的文章 ...

  9. NeurIPS 2020 | 微软亚研院论文摘录之强化学习GAN篇

    编者按:12月6日至12日,国际人工智能顶级会议 NeurIPS 2020 在线上举办.相比前几年,NeurIPS2020 无论是论文的投稿数量还是接收率都创下了记录:论文投稿数量创历史最高记录,相比 ...

最新文章

  1. RAID损坏后 对数据的完整备份
  2. Linux防火墙详解(二)
  3. C++基础算法学习——完美立方
  4. Linux基础 —— Linux命令简介
  5. node模块函数图解
  6. 决策树编程python_Python如何制定决策:编程中的控制流简介
  7. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 10 章 类型转换_10.5. UNION、CASE和相关结构...
  8. 129 爬虫 requests request 爬图片
  9. 使用CSS和javascript制作拼图验证码
  10. ubuntu安装wps后缺少字体无法打开
  11. 第6章 DataNode
  12. php 会员卡管理页面,21.4.3 会员资料管理界面
  13. 信用社考试计算机试题及答案,2016黑龙江省农村信用社考试题库-计算机试题及答案六...
  14. 高薪程序员面试题精讲系列89之MySQL有哪些索引?
  15. JavaScript 数据结构与算法(队列)
  16. 测试分类方法(含常见面试题)
  17. 安利一个程序员学习法
  18. Windows平台C/C++实现对键盘或鼠标驱动设备的禁用、启动、卸载以及刷新设备管理列表功能
  19. STC单片机获取红外解码从串口输出
  20. 基于STM32风速风向检测仿真

热门文章

  1. 计算机语言(机器语言,汇编语言,)
  2. python浮点数的表示方法_python中的浮点数range方法
  3. vue修改props传过来的值报错Avoid mutating a prop directly since the value will be overwritten whenever the par
  4. python二级证书含金量排名_设备点检一二级技师证书含金量高不高
  5. python之@property
  6. 男女友测试题软件,520特殊表白方式,“全国卷”优质男友女友测试题,你及格了吗?...
  7. 户外服装品牌TheNorthFace遭遇撞库 撞库究竟如何成功窃取账户信息
  8. Java实现斐波那契数列(递归、遍历、矩阵)
  9. 亚马逊跨境电商防关联:VPS和指纹浏览器到底选哪个
  10. 在Microsoft Excel中如何统计字符数