​ICML 2023 | Unleashing Mask: 挖掘模型的分布外检测能力

news/2025/3/14 19:11:39/

ecef3fbb024dee18e8713dc69797c7f4.gif

©PaperWeekly 原创 · 作者 | Jianing Zhu,Hengzhuang Li

单位 | HKBU TMLR Group

分布外检测(Out-of-Distribution detection)是在开放世界场景(Open-world senarios)下部署可靠机器学习模型的重要任务 [1]。由于现实中待推断样本并不一定来自与训练数据相同的标签分布,使得机器学习模型意识到此类分布外样本(OOD data)对于例如自动驾驶或医疗智能等安全性需求较高的领域十分重要。

给定在原有任务下训练好的模型,之前的研究工作主要探索:1)设计不同的评分函数(score functions)进行模型不确定性估计 [1,2];2)利用辅助异常值(auxiliary outliers)对模型进行微调 [2,3],来获取及提升模型分辨分布外样本的能力。

考虑到分布外检测与原始任务间存在一定的任务目标差异(例如,考虑基础的分布内数据(Indistribution data, ID data)分类目标与识别分布外样本的目标)[4,5],而现有的研究设定往往将一个训练完善的模型作为分布外检测的基础,这种任务目标差异自然地引出以下启发我们工作重要的研究问题:原有任务中训练完善的模型是否拥有最优的分布外样本分辨能力? 如果不是,那如果找到一个对分布外检测更合适的模型基础?

沿着以上的研究问题,在本工作中我们发现:

  • 在获取更优的分布外分辨能力和更好的分布内样本分类表现间存在不一致性,显式地表现为训练过程中存在对分布外检测更优的模型基础;

  • 除了辅助分布外样本(auxiliary outliers)之外,原始任务的分布内样本(ID data)对模型分布外检测能力也很重要

  • 训练完善的模型中可以剪枝得到拥有更少的参数量的子模型却有更好的分布外检测性能

  • 数据层面分布内数据(ID data)中存在非典型样本带有一定的噪声

接下来将简要地向大家分享我们近期发表在 ICML 2023 上的分布外检测方向的研究结果。

7e5fe95e77678302bfce917db3d3e780.png

论文标题:

Unleashing Mask: Explore the Intrinsic Out-of-Distribution Detection Capability

论文链接:

https://arxiv.org/abs/2306.03715

代码链接:

https://github.com/ZFancy/Unleashing-Mask

f787676feda684ceb0fa425f3e9b615a.png

模型任务目标差异

有别于通常的多任务目标,为一个在原有任务下预训练的模型赋予分辨分布外样本的能力是一种更为实际且更常被考虑的研究设定。而考虑到原始任务(在本文中我们考虑分布内数据的分类任务)与分布外检测的目标差异,自然而然地会想到追寻两者目标的同时是否会在同一个状态下达到最优,这促使我们进行了以下实验探索。

1.1 更好的ID分类性能一定代表更好的OOD分辨能力吗?

在本研究工作中,我们首先发现了一个广泛存在的实验现象:在原始分类任务训练过程中存在某个阶段,模型的分布外检测性能优于最终阶段,而这里的最终阶段在原始分类任务上具有更好的性能表现。

c67bf241246f28e5ae6f3442343bb0b6.png

▲ 图1. 在不同设定下原始分类任务的训练中模型存在中间状态拥有更优的分布外检测能力.

实验分别从不同分布内数据集、不同模型、不同学习调度和不同评分函数多个方面验证了该现象的存在。

在这里我们的发现看似和之前研究 [6] 所得出的实验性经验结果有所 “冲突”,但需要注意的是在本研究中我们比较的是同一模型在不同训练状态下的分布外检测性能,而之前研究更关注的是宏观层面同属于训练完善的模型间的分布外检测性能。既表 1.1. 模型间对比和表 1.2. 模型内对比所展示的不同维度所得出的实验性发现。

67e014b562c1d264086daafc1a7ef5f5.png

▲ 表1.1. 不同模型间对比.

625dabb72054351e478d0c26e3a99ea5.png

▲ 表1.2. 同一模型内对比.

ea816995c65c2cbe0b0cfb157e689490.png

如何解释存在中间更优模型基础

之前所讨论的差异性结论也揭示了我们研究发现的不一致性并非由模型层面的原因导致,考虑原始训练的中间过程,我们深入模型在分类任务的动态变化,以探究训练数据对这种现象产生的原因。

2.1 以数据为中心的深入探索

通过从不同维度的深入分析,我们猜想造成该现象的一种可能原因是模型在训练后期记忆 [7] 了非典型样本(Atypical samples)(相对地在语义层面与其他样本相比),直观来看这些样本更难以泛化。模型在这些样本上追求零训练误差使得对未曾见过的分布外数据具有了更高的分布内目标置信度。

fd4572c9b107a68b56b3443aedb7876f.png

▲ 图2.1. 分类任务下各项训练指标统计及监测.

子图(a)对应图 1.中模型分布外检测性能的训练趋势,可以直观发现模型在 Epoch 60 前后出现了不一致的性能变化,子图(b)展示了中间/最终状态下对分布内外样本的不确定性衡量,子图(c)展示了在 Epoch 60 时错分样本的置信度分布。我们进一步在子图(d)中可视化了错分样本,既模型在那之后重点学习优化的样本,展现了相对而言更为非典型的语义信息。在子图(e/f)中我们可以验证之前前文所得到的经验性结论。

d80440e9234ae5bc8ea691cb6ca81747.png

▲ 图2.2. 训练样本可视化样例及对应产生的模型影响.

我们在工作中也分别使用典型样本和非典型样本对模型进行微调,发现使用非典型样本训练会明显削弱模型的分布外检测性能。

ab813df30d0e1e7ee627bc63cfedad5d.png

▲ 表2. 使用典型/非典型样本微调模型的性能影响.

由此,可以自然地引申出进一步的问题:在给定训练完善的模型可能对一些非典型样本进行记忆学习的情况下,如何调整模型找到一个更优的分布外检测基础状态?更具体地,如何引导模型遗忘那些非典型样本来提升分布外检测性能?

91ef929a5e582da72cf967ab110115ec.png

释放模型对OOD检测的性能潜力

对此,本文继而提出了一种新的方法框架,来挖掘模型潜在的分布外检测性能。整体的方法总览可见图 3。

ae0ea197e7315a17b5167f6539867802.png

▲ 图3. 所提出的UM/UMAP算法框架总览.

3.1 Unleashing Mask(UM)

首先,由于非典型样本对参数变化更加敏感,我们提出使用具有特定稀疏度的掩码(Mask)在模型上构造参数差异来获得一个损失项,随后通过该掩码估计的约束损失来进行模型遗忘,

ac8f5107c1f58049adb1eef87a65e8ab.png

在这里该过程不需要具体判断哪些样本为非典型样本,仅需通过构造地约束损失值,借助梯度上升 [8,9],回溯到模型训练的中间态,达到遗忘非典型样本的目的。

3.2 Unleashing Mask Adopts Pruning(UMAP)

除此之外,为了保持模型在原始分类任务上的性能,本文进一步提出了基于模型剪枝的方法来学习一个附加的遮罩掩码。该方法与 UM 的不同点在于,在微调模型的过程中,保持模型参数不变,进而通过剪枝技术 [10] 得到一个子网络,该网络同样满足约束损失,因此可以达到遗忘非典型样本的目的,

a0d7c9c80a6c376cdc5900b42560354b.png

同时,因为模型原始参数没有改变,模型在原始分类任务上的性能也得以保持。

3.3 方法兼容性

由于我们探索的是模型的分布外样本分辨能力,它其他设计评分函数及利用辅助异常值进行微调的方法是正交且兼容的。具体而言,我们主要依靠分布内数据将原始模型引导到其中间训练阶段来挖掘更优的 OOD 检测性能,而中间阶段学习到的判别特征可以被不同的评分函数使用。对于那些利用辅助异常值对模型进行正则化的方法,我们通过 UM 和 UMAP 获得的微调模型也可以作为它们的微调起点。

63edc0c38f1a9fc690738993a5d6ef13.png

实验与讨论

我们的研究工作提供了多维度的实验结果以理解我们提出的方法性能及底层机理。

4.1 主要性能对比

本研究工作中,如表 3 所示,主要性能对比分别在后置评分函数(Post-hoc)和异常值曝光(Outlier Exposure)两个方面进行。

与诸多性能优良的基准方法和先进方法相比,本文提出的方法均可以在其基础上达到更优的分布外检测效果。并且不仅在小规模基准数据集上得到广泛的实验验证,在大规模数据集(如 ImageNet)上依旧有很好的效果。

e9d51b9dc66729c6a0ef66cf7ec74f07.png

▲ 表3. 主要的方法性能对比实验结果.

4.2 多方面的消融实验及深入讨论

进一步进行了诸多消融实验,深入探讨了所提方法在不同设定下的性能表现。

e2ba62bece898093e7ea973c34448211.png

▲ 图4. 消融对比实验.

最后,本文利用样本复杂度 [11] 对所提方法进行了相应的理论分析,提供了在另一维度对 UM/UMAP 的良好理解。下图也给我们的分析做出了一个较为直观的示意,既当我们并没有相对应良好的边界样本(对应于分布内样本中的非典型样本)以刻画模型分布外样本边界时,学习记忆那些非典型样本可能会对未曾见过的分布外样本产生较高的分类置信度。

ba62a43bc48db4e732397358a3d3ecd4.png

▲ 图5. 理论分析示意图.

除此以外,我们提供了更多的可视化及相关实验结果,感兴趣的读者敬请移步原文与附录部分。

c6a814ffc130ac46e61433c28e584afd.png

▲ 图6. 对不同模型的分布外检测效果进行TSNE可视化.

6b2e315561678310de3b119cd9d12fa2.png

▲ 图7. 在ImageNet数据集上利用Unleashing Mask所得到的不同典型/非典型样本可视化.

值得一提的是,在我们的研究工作中,我们还发现对于某些由我们 UM 识别出的非典型样本(如图7)甚至在肉眼感知下与其原有的分类标签严重不符,这或许值得我们进一步挖掘这一部分样本对模型分布外检测的性能影响。

f71f08cff7182b82491cd3f90e04c816.png

总结及展望

本文思考了模型任务差异对于给定预训练模型分布外检测能力的影响,发现了在一定条件下存在的模型中间状态或参数量更小的子模型拥有更优的分布外检测性能。对于该现象的内在原因,我们在本研究工作中将其归因于数据层面的非典型样本记忆,并基于此提出了 UM 和 UMAP 的方法对模型进行微调以寻求更合适的分布外检测模型基础。

展望未来,我们或许需要脱离原始任务单一的性能指标来看待分布外检测,尝试将数据层面的泛化性(OOD generalization)和分布外样本分辨能力(OOD discriminative capability)进行联合探索。对于预训练模型所使用的分布内数据,是否还有其他的相关指标可以用来衡量其对分布外检测的重要性?对于现在流行的大模型,是否依然存在一个较小的子模型能拥有更优的分布外检测性能?相信这些都值得我们进一步的探索。

outside_default.png

参考文献

outside_default.png

[1] Hendrycks, D. and Gimpel, K. A baseline for detecting misclassified and out-of-distribution examples in neural networks. In ICLR, 2017.

[2] Liu, W., Wang, X., Owens, J. D., and Li, Y. Energy-based out-of-distribution detection. In NeurIPS, 2020.

[3] Hendrycks, D., Mazeika, M., and Dietterich, T. Deep anomaly detection with outlier exposure. In ICLR, 2019.

[4] Yang, J., Zhou, K., Li, Y., and Liu, Z. Generalized out-ofdistribution detection: A survey. In arXiv, 2021.

[5] Yang, J., Wang, P., Zou, D., Zhou, Z., Ding, K., PENG, W., Wang, H., Chen, G., Li, B., Sun, Y., et al. Openood: Benchmarking generalized out-of-distribution detection. In NeurIPS Datasets and Benchmarks Track, 2022.

[6] Vaze, S., Han, K., Vedaldi, A., and Zisserman, A. Open-set recognition: A good closed-set classifier is all you need. In ICLR, 2022.

[7] Arpit, D., Jastrzebski, S., Ballas, N., Krueger, D., Bengio, E., Kanwal, M. S., Maharaj, T., Fischer, A., Courville, A. C., Bengio, Y., and Lacoste-Julien, S. A closer look at memorization in deep networks. In ICML, 2017.

[8] Sorg, J., Lewis, R. L., and Singh, S. Reward design via online gradient ascent. In NeurIPS, 2010.

[9] Ishida, T., Yamane, I., Sakai, T., Niu, G., and Sugiyama, M. Do we need zero training loss after achieving zero training error? In ICML, 2020.

[10] Ramanujan, V., Wortsman, M., Kembhavi, A., Farhadi, A., and Rastegari, M. What’s hidden in a randomly weighted neural network? In CVPR, 2020.

[11] Ming, Y., Fan, Y., and Li, Y. Poem: Out-of-distribution detection with posterior sampling. In ICML, 2022.

更多阅读

584d063fd8c3fd71f2c365347895278a.png

3cece6d9f0426abadf40434a41f5afa5.png

725e134f829b539d21e815d858302982.png

fc5fd84435920e4aac6b0c0a5d06b601.gif

#投 稿 通 道#

 让你的文字被更多人看到 

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

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

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

d733962215d984410071097875d9d022.png

△长按添加PaperWeekly小编

🔍

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

进入知乎首页搜索「PaperWeekly」

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

·

·

ee1e0c01f16c8be53b18ddd326931967.jpeg


http://www.ppmy.cn/news/601282.html

相关文章

HTML5、JS实现元素拖拽排序

先介绍一下html5的drag属性,拖放(Drag 和 drop)是 HTML5 标准的组成部分。想要启用drag,只要给元素加上draggable"true"就行了(Safari 5.1.2除外)。 拖动事件 事件分为两类,当前拖动的元素上的事…

Yolov5权重下载

链接:https://pan.baidu.com/s/1KT9LbfZpbFv6G8jnstKJhA 提取码:do6l 点个赞吧(*^▽^*)

pcap 抓包 Windows

windows 中使用pcap抓包&#xff0c;需要安装npcap&#xff0c;可以在官网&#xff08;Npcap: Windows Packet Capture Library & Driver&#xff09;下载安装包和SDK&#xff0c;进行开发。 #include <pcap.h> #include <Windows.h> #include <stdlib.h>…

WinPcap 卸载重新安装

WinPcap卸载后安装问题 通常winpcap的根目录&#xff1a;C:\Program Files\WinPcap。。。一般里面会有个"uninstall.exe"也可使用卸载。 卸载WinPcap.exe后,重新安装&#xff0c;错误提示&#xff1a; A newer version of WinPcap (internal version 5.0.9986.1217 …

winpcap与socket区别

1 winpcap 和socket都有send()函数&#xff0c;它们的区别是&#xff1a; winpcap发送时填充的数据包是整个IP包&#xff0c;包括mac, ip, data等等全部的数据。 socket 发送时填充的数据包只是IP段以后的数据&#xff0c; 即用户数据&#xff0c;它不能指定mac。 2 可以全…

WinPcap还原HTTP

WinPcap简介 WinPcap是Win32平台上开源库&#xff0c;用于网络分析和数据包捕获。操作系统提供的socket&#xff0c;隐藏了网络底层细节&#xff0c;如协议处理&#xff0c;数据包重组等&#xff0c;使用Socket编程类似于操作文件。但是&#xff0c;有些应用程序需要直接访问网…

开源项目之WinpCap 抓包

WinPcap是用于网络封包抓取的一套工具&#xff0c;可适用于32位的操作平台上解析网络封包&#xff0c;包含了核心的封包过滤&#xff0c;一个底层动态链接库&#xff0c;和一个高层系统函数库&#xff0c;及可用来直接存取封包的应用程序界面。 效果如图: 编译项目时需要用到Wp…

Winpcap学习

Winpcap学习 <script language"javascript" type"text/javascript">document.title"Winpcap学习 - "document.title</script> 下载好了WpdPack_3_2_alpha1.zip&#xff08;下载地址&#xff1a; http://www.winpcap.org/install/bin…