您可以相信模型的不确定性吗?

2020 年 1 月 31 日 TensorFlow
您可以相信模型的不确定性吗?

文 / Jasper Snoek 研究员和 Zachary Nado 研究工程师

Google Research

理想情况下,我们会使用深度学习等机器学习 (ML) 方法对与训练数据分布相同的数据进行预测。实际情况则有可能大不相同:相机镜头变得模糊、传感器性能下降,以及网络热点话题的变化等问题都会导致模型的训练数据分布与应用数据分布之间存在差异,进而导致所谓的 协变量偏移 (Covariate Shift)。例如,最近我们观察到,为胸部 X 光检测肺炎而训练的深度学习模型,在使用以前未曾见过的医院数据进行评估时,得到的精度水平大不相同。当然,部分原因是图像获取和处理方面存在细微差别。


您可以相信模型的不确定性吗?评估数据集偏移下的预测不确定性(Can you trust your model’s uncertainty? Evaluating Predictive Uncertainty Under Dataset Shift)一文 发表于 NeurIPS 2019,文中我们对几个最先进 (SOTA) 的深度学习模型的不确定性进行了基准测试,这些模型面临着 分布偏移 (Shifting Distributions) 数据与 分布外 (Out-Of-Distribution) 数据 。


在这项研究中,我们考虑了包括图像、文本和在线广告数据在内的多种输入形式,让这些深度学习模型暴露在显著偏移的的测试数据中,同时我们也仔细分析其预测概率的行为。我们还比较了用于改善模型不确定性的各种不同方法,以了解哪些策略在分布偏移下表现最优。



什么是分布外数据?

深度学习模型为每个预测提供概率,此概率表示模型的置信度或 不确定性。这样一来,它们就可以表达自己不知道的内容,当数据超出原始训练数据集的范围时,避免进行预测。


如果存在协变量偏移,理想情况下,不确定性会随着精度降低而成比例增加。更极端的情况是,数据没有在训练集中,即是数据在 分布外 (OOD)。例如,思考一下当猫狗图像分类器中出现飞机的图像时会发生什么。模型会直接预测错误还是会为每一个类别显示低概率?在近期发布的一篇相关文章中,我们介绍了自己开发的用于识别此类 OOD 示例的方法。在这项研究中,我们分析了在 OOD 以及发生偏移的示例下模型的预测不确定性,以查看模型概率是否反映了其对此类数据进行预测的能力。



量化不确定性的质量

一个模型比另一个模型更能反映自身的不确定性意味着什么?虽然这是一个通常由下游任务定义的细微问题,但仍有一些方法可以定量评估概率预测的总体质量。例如,气象界已经仔细考虑过这一问题,并制定了一套合适的评分规则。基于概率的天气预报比较函数遵循了这些规则,在保证精度的同时可以进行校准。我们应用了评分规则中的一些(例如布莱尔评分 (Brier Score)和负对数似然 (Negative Log Likelihood, NLL)),以及更直观的启发式方法(例如 预期校准误差 (Expected Calibration Error, ECE)),以了解不同的 ML 模型如何处理数据集偏移情况下的不确定性。



实验

我们分析了数据集偏移对各种数据模式(包括图像、文本、在线广告数据和基因组学)不确定性的影响。举例而言,我们阐释了数据集偏移对 ImageNet 数据集(一项很受欢迎的图像理解基准)的影响。ImageNet 将一百多万张图像分成 1000 个不同的类别。现在,有些人认为这一挑战已基本解决,并且开发出了更难的挑战,例如根据 16 种不同的实际损坏(每种损坏有 5 个不同的强度)增强数据的 Corrupted Imagenet(或 Imagenet-C)。

我们探索了模型不确定性在数据分布发生变化时的行为方式,例如在 Corrupted Imagenet 中使用的图像扰动强度增加。此处展示的是强度级别 3(共 5 个级别)中每种类型的图像损坏示例


我们将这些损坏的图像用作偏移数据示例,并检查深度学习模型在损坏强度增加的偏移数据下的预测概率。我们在下方展示了每个损坏级别(包含未损坏的测试数据)产生的精确度和 ECE 的箱线图,其中每个箱型图汇总了 ImageNet-C 中的所有损坏类型。每种颜色代表不同类型的模型:用作基线的“普通”深度神经网络、四种不确定性方法(Dropout、温度标定 (Temperature Scaling) 以及我们的 Last Layer Approach 和一种集成方法

ImageNet-C 上数据集偏移强度增加的精度(上图)和预期校准误差(下图;越低越好)。我们观察到,精确度的降低并没有反映在增加模型不确定性上,这表明精确度和 ECE 都在变差


与预期相同,随着偏移强度增强,每个模型的破坏方法精确度偏差也会增加(箱会变大),而且总体精确度会下降。理想情况下,这将在模型不确定性增加上有所反映,预期校准误差 (ECE) 也会因此保持不变。然而,从下面的 ECE 箱型图来看,发现情况并非如此,而且校准通常也会受到影响。在布莱尔评分 (Brier Score)和负似然对数 (NLL)中,我们也观察到了类似的恶化趋势,这表明模型并不会随着偏移而变得越来越不确定,而是会给出错误判断。


有一种非常受欢迎的校准改进方法,名为温度标定,它是 Platt 标定的一种变体,涉及在训练后使用留出验证集上的性能来平滑预测。我们观察到,虽然此方法改进了标准测试数据的校准,但经常会使发生偏移的数据变得更糟!因此,应用该技术的从业者应警惕分布偏移。


幸运的是,有一种方法在不确定性方面的降低比其他方法平缓得多。深度集成(绿色部分)是一种简单的策略,它会对一系列模型的预测作平均化处理(每个模型的初始化不同),从而显著提高偏移的稳定性,并且其性能优于所有其他测试方法。



总结和推荐的最佳做法

在论文中,我们探索了最先进的模型在图像、文本、在线广告数据和基因组学的数据集偏移下的行为。在这些不同类型的数据中,我们的发现基本一致。存在数据集偏移时,不确定性的质量会下降,但某些研究方法有希望缓解这种情况。我们希望深度学习用户从我们的研究中获得以下信息:
  • 训练模型时,必须考虑数据集偏移下的不确定性。
  • 通常,在分布内测试集上提高校准和精确度不会转化为偏移数据的校准提高。
  • 在我们考虑过的所有方法中,深度集成对数据集偏移而言最为稳定,并且较小的集成大小(例如,5)就足够了。集成的有效性为其他改进方法提供了有趣路径。


改善深度学习模型的预测不确定性仍然是 ML 研究的活跃领域。我们已经发布了此基准中的所有代码和模型预测,希望可以帮助社区推动和评估这一重要主题的未来研究。



如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:

  • 最近我们观察到
    https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.1002683

  • 您可以相信模型的不确定性吗?评估数据集偏移下的预测不确定性
    https://arxiv.org/abs/1906.02530

  • NeurIPS 2019
    https://nips.cc/Conferences/2019

  • 合适的评分规则
    https://www.stat.washington.edu/raftery/Research/PDF/Gneiting2007jasa.pdf

  • 预期校准误差 
    https://arxiv.org/pdf/1706.04599.pdf

  • ImageNet
    http://www.image-net.org/

  • Corrupted Imagenet
    https://openreview.net/pdf?id=HJz6tiCqYm

  • Dropout
    https://arxiv.org/abs/1506.02142

  • 温度标定/Temperature Scaling
    https://arxiv.org/abs/1706.04599

  • Platt 标定
    https://www.researchgate.net/publication/2594015_Probabilistic_Outputs_for_Support_Vector_Machines_and_Comparisons_to_Regularized_Likelihood_Methods

  • 深度集成
    https://arxiv.org/abs/1612.01474

  • 代码和模型预测
    https://github.com/google-research/google-research/tree/master/uq_benchmark_2019



— 推荐阅读 




登录查看更多
5

相关内容

近年来,神经网络已成为分析复杂和抽象数据模型的有力工具。然而,它们的引入本质上增加了我们的不确定性,即分析的哪些特征是与模型相关的,哪些是由神经网络造成的。这意味着,神经网络的预测存在偏差,无法与数据的创建和观察的真实本质区分开来。为了尝试解决这些问题,我们讨论了贝叶斯神经网络:可以描述由网络引起的不确定性的神经网络。特别地,我们提出了贝叶斯统计框架,它允许我们根据观察某些数据的根深蒂固的随机性和我们缺乏关于如何创建和观察数据的知识的不确定性来对不确定性进行分类。在介绍这些技术时,我们展示了如何从原理上获得神经网络预测中的误差,并提供了描述这些误差的两种常用方法。我们还将描述这两种方法在实际应用时如何存在重大缺陷,并强调在使用神经网络时需要其他统计技术来真正进行推理。

成为VIP会员查看完整内容
0
109
小贴士
相关资讯
一文读懂机器学习中的贝叶斯统计学
数据分析
22+阅读 · 2019年5月8日
训练数据多少才够用
专知
14+阅读 · 2019年5月4日
你的算法可靠吗? 神经网络不确定性度量
专知
27+阅读 · 2019年4月27日
已删除
将门创投
9+阅读 · 2018年12月19日
用模型不确定性理解模型
论智
5+阅读 · 2018年9月5日
【机器学习】如何通过机器学习预测维护设备?
产业智能官
6+阅读 · 2018年7月9日
教程 | 理解XGBoost机器学习模型的决策过程
机器之心
5+阅读 · 2017年12月20日
[学习] 这些深度学习网络训练技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月29日
相关VIP内容
相关论文
Dan Hendrycks,Xiaoyuan Liu,Eric Wallace,Adam Dziedzic,Rishabh Krishnan,Dawn Song
5+阅读 · 2020年4月13日
Aidan Hogan,Eva Blomqvist,Michael Cochez,Claudia d'Amato,Gerard de Melo,Claudio Gutierrez,José Emilio Labra Gayo,Sabrina Kirrane,Sebastian Neumaier,Axel Polleres,Roberto Navigli,Axel-Cyrille Ngonga Ngomo,Sabbir M. Rashid,Anisa Rula,Lukas Schmelzeisen,Juan Sequeda,Steffen Staab,Antoine Zimmermann
79+阅读 · 2020年3月4日
Bivariate Beta LSTM
Kyungwoo Song,JoonHo Jang,Seung jae Shin,Il-Chul Moon
5+阅读 · 2019年10月7日
Sneha Chaudhari,Gungor Polatkan,Rohan Ramanath,Varun Mithal
12+阅读 · 2019年4月5日
Single-frame Regularization for Temporally Stable CNNs
Gabriel Eilertsen,Rafał K. Mantiuk,Jonas Unger
3+阅读 · 2019年2月27日
Ke Sun,Bin Xiao,Dong Liu,Jingdong Wang
5+阅读 · 2019年2月25日
Aaron van den Oord,Yazhe Li,Oriol Vinyals
5+阅读 · 2019年1月22日
Andrew Brock,Jeff Donahue,Karen Simonyan
4+阅读 · 2018年9月28日
Tim Dettmers,Pasquale Minervini,Pontus Stenetorp,Sebastian Riedel
4+阅读 · 2018年7月4日
Felix Laumann,Kumar Shridhar,Adrian Llopart Maurin
18+阅读 · 2018年6月27日
Top