深度学习中的不确定性综述
领域学者:
http://www.gatsby.ucl.ac.uk/~balaji/
论文标题:
A Survey of Uncertainty in Deep Neural Networks
论文链接:
https://arxiv.org/pdf/2107.03342.pdf

概要
在过去的十年中,神经网络几乎遍及所有科学领域,并成为各种现实世界应用的重要组成部分。由于日益普及,对神经网络预测的置信度变得越来越重要。然而,基本的神经网络不能提供确定性的估计,或者存在自信过度或不足的问题,即校准不当。为了克服这个问题,许多研究人员一直致力于理解和量化神经网络预测中的不确定性。因此,已经确定了不确定性的不同类型和来源,并且已经提出了各种测量和量化神经网络中不确定性的方法。
这项工作全面概述了神经网络中的不确定性估计,回顾了该领域的最新进展,突出了当前的挑战,并确定了潜在的研究机会。它旨在为对神经网络中的不确定性预测感兴趣的人提供广泛的概述和介绍,而无需预先假定该领域的先验知识。
图片
为此,这项工作全面介绍了最重要的不确定性来源,并将它们分为可减少的模型不确定性和不可减少的数据不确定性。介绍了基于确定性神经网络、贝叶斯神经网络、神经网络集成和测试时间数据增强方法对这些不确定性的建模,并讨论了这些领域的不同分支以及最新发展。
对于实际应用,我们讨论了不同的不确定性度量、神经网络校准方法,并概述了现有基线和可用实现。来自医学图像分析、机器人和地球观测领域的广泛挑战的不同示例给出了有关神经网络实际应用中不确定性的需求和挑战的想法。此外,还讨论了用于重视任务和安全的现实世界应用的神经网络中不确定性量化方法的实际局限性,并给出了对此类方法更广泛使用的下一步的展望。
引言
在过去十年中,深度神经网络(DNN)取得了巨大进步,激励着它们在需要对复杂系统进行建模或理解的各种研究领域中进行调整,例如地球观测、医学图像分析或机器人技术。尽管 DNN 在医学图像分析或自动驾驶车辆控制等高风险领域变得有吸引力,但它们在重视任务和安全的现实世界应用中的部署仍然有限。造成这种限制的主要因素是:
深度神经网络的推理模型缺乏表现力和透明度,这使得很难相信他们的结果
无法区分领域内和领域外样本以及对领域迁移的敏感性
无法为深度神经网络的决策和频繁发生的过度自信的预测提供可靠的不确定性估计
对于对抗性攻击的敏感性,使深层神经网络容易受到破坏
这些因素主要基于数据中已经包含的不确定性(数据不确定性)或缺乏对神经网络的了解(模型不确定性)。为了克服这些限制,必须提供不确定性估计,以便可以忽略不确定的预测或将其传递给人类专家。提供不确定性估计不仅对高风险领域的安全决策很重要,而且在数据源高度不均匀且标记数据稀少的领域(例如遥感)也至关重要。同样对于不确定性构成学习技术关键部分的领域,例如主动学习或强化学习,不确定性估计非常重要。
如图,是数据、模型以及分类和回归模型的分布不确定性的可视化。

近年来,研究人员对估计 DNN 中的不确定性表现出越来越大的兴趣。估计预测的不确定性(预测不确定性)的最常见方法是基于对模型引起的不确定性(认知或模型不确定性)和数据引起的不确定性(任意或数据不确定性)进行单独建模。
虽然模型不确定性可以通过改进 DNN 学习的模型来简化,但数据不确定性是不可简化的。对这种分离进行建模的最重要方法是贝叶斯推理、集成方法、测试时间数据增强方法或包含表示模型和数据不确定性的显式组件的单一确定性网络。
估计预测不确定性不足以进行安全决策。此外,确保不确定性估计是可靠的至关重要。为此,研究了 DNN 的校准特性(可靠性程度),并提出了重新校准方法以获得可靠(校准良好)的不确定性估计。
有几项工作介绍和概述了统计建模中的不确定性。Ghanem 等人出版了一本关于不确定性量化的手册,其中包括对不确定性量化的不同概念的详细而广泛的描述,但没有明确关注神经网络的应用。Gal 和 Kendall 的论文很好地概述了贝叶斯神经网络,尤其是蒙特卡罗(MC)Dropout 方法及其在计算机视觉任务中的应用。
Malinin 的论文还包含对先验网络的非常好的介绍和其他见解。王等人贡献了两项关于贝叶斯深度学习的调查,他们介绍了贝叶斯神经网络(BNN)的一般框架和概念描述,然后介绍了用于神经网络中不确定性量化的贝叶斯方法、特别关注推荐系统、主题模型和控制。在深度学习中的不确定性量化评估中,通过展示和比较基于 softmax 输出、网络集成、贝叶斯神经网络和 MNIST 数据集上的自动编码器的不确定性量化来给出。
关于不确定性量化方法在现实生活任务和安全关键应用中的实用性,Gustafsson 等人引入了一个框架来测试现实世界计算机视觉应用程序所需的稳健性,并比较了两种流行的方法,即 MC Dropout 和 Ensemble 方法。Hullermeier 等人介绍了神经网络中任意和认知不确定性的概念,并讨论了对它们进行建模和量化的不同概念。与此相反,Abdar 等人概述了神经网络中的不确定性量化方法,并为不同的应用领域提供了广泛的参考清单,并讨论了开放挑战。
在这项工作中,我们对在处理神经网络中的不确定性时必须考虑的所有概念进行了广泛的概述,同时牢记在现实世界应用中的适用性。我们的目标是为读者提供从不确定性来源到需要不确定性估计的应用的清晰线索。此外,我们指出了当前方法的局限性,并讨论了未来要解决的进一步挑战。
为此,我们对不同的方法和基本概念进行了广泛的介绍和比较。该调查主要面向已经熟悉深度学习概念并计划将不确定性估计纳入其预测的人员。但对于已经熟悉该主题的人来说,这篇评论提供了对神经网络中不确定性的整个概念及其在不同领域中的应用的有用概述。
总之,我们全面讨论了:
不确定性的来源和类型
用于估计 DNN 中不确定性的最新研究和方法
评估不确定性估计的质量和影响的不确定性度量和方法
校准 DNN 的最新研究和方法
对常用评估数据集、可用基准和实施的概述
使用不确定性估计的实际应用概述
关于当前挑战和未来进一步研究方向的讨论
一般来说,如果没有不同的说明,估计不确定性和校准 DNN 的原则和方法可以应用于所有回归、分类和分割问题。为了更深入地了解这些方法的明确应用,我们参考了应用部分和参考文献中的进一步阅读。
如图,是本文介绍的四种不同类型的不确定性量化方法(基于确定性神经网络、贝叶斯神经网络、神经网络集成和测试时间数据增强)以及基本原理的可视化。


如图,是本文介绍的不同类型不确定度校准方法(正则化方法、后处理方法、不确定性估计方法)的可视化。

总结与展望
总结——当前的不确定性量化方法在现实世界中的应用效果如何?
尽管过去几年神经网络在不确定性量化方面取得了许多进展,但它们在实际任务和安全关键应用中的采用仍然有限。造成这种情况的原因有很多,下面一一讨论:
缺少对现实世界问题现有方法的验证:尽管 DNN 已成为解决众多计算机视觉和医学图像处理任务的事实标准,大多数现有模型还是无法适当量化其推论所固有的不确定性,特别是在实际应用中。
这主要是因为基线模型大多是使用标准数据集开发的,例如 Cifar10/100、ImageNet 或特定于特定用例的众所周知的回归数据集,因此不容易适用于复杂的现实世界环境,例如低分辨率卫星数据或其他受噪声影响的数据源。尽管来自其他领域的许多研究人员在他们的领域中应用了不确定性量化,但基于不同现实世界应用的现有方法的广泛和结构化评估尚不可用。
缺乏标准化的评估协议:评估估计不确定度的现有方法更适合比较基于可测量的不确定度量化方法,例如校准或分布外检测的性能。这些测试是在机器学习社区内的标准化集上执行的。此外,这些实验的细节可能因不同论文的实验设置而异。然而,仍然没有一个明确的标准化测试协议,能够对不确定性量化方法进行测试。
对于来自其他领域的研究人员来说,很难直接找到他们感兴趣的领域的最先进的方法,更不用说关于关注不确定性量化的哪个子领域的艰难决定了。这使得对最新方法的直接比较变得困难,并且也限制了当前用于不确定性量化的现有方法的接受和采用。
无法评估与单一决策相关的不确定性:用于评估估计不确定性(例如:预期校准误差)的现有措施基于整个测试数据集。这意味着,相较于不平衡数据集上的分类任务,与单个样本或小样本组相关的不确定性可能会偏向于数据集其余部分的性能。
但是对于实际应用,评估预测置信度的可靠性将比基于某些与当前情况无关的测试数据的聚合可靠性提供更多的可能性。特别是对于重视任务和安全的应用程序,逐点评估措施可能是最重要的,因此这种评估方法是非常可取的。
缺乏真实的不确定性:当前的方法是根据经验评估的,其性能通过合理且可解释的不确定性值得到强调。可用于验证的真实不确定性通常不可用。此外,即使现有方法在给定数据集上进行校准,也不能简单地将这些结果转移到任何其他数据集,因为人们必须意识到数据分布的变化,而且许多领域只能覆盖实际数据的一小部分环境。
在 EO(地球观测)等应用领域,准备大量训练数据既困难又昂贵,因此可以使用合成数据来训练模型。对于这种人工数据,应考虑标签和数据中的人工不确定性,以便更好地了解不确定性量化性能。真实数据和合成数据之间的差距,或估计的不确定性和真实的不确定性之间的差距进一步限制了采用当前现有的不确定性量化方法。
可解释性问题:现有的神经网络不确定性量化方法提供了确定性的预测,而没有任何关于可能导致不确定性的线索。尽管这些确定性值对于人类观察者来说通常看起来是合理的,但人们不知道这些不确定性是否实际上是基于人类观察者所做的相同观察而预测的。但是,如果不确定单个不确定性估计的原因和动机,从一个数据集到另一个数据集的正确转移,甚至只是域转移,在保证性能的情况下实现起来要困难得多。
关于安全关键的现实生活应用,缺乏可解释性使得可用方法的应用变得更加困难。除了神经网络决策的可解释性之外,现有的不确定性量化方法在更高层次上还没有得到很好的理解。例如,解释单一确定性方法、集成或贝叶斯方法的行为是当前的研究方向,仍然难以掌握每一个细节。然而,了解这些方法如何运作和捕获不确定性以识别改进途径、检测和表征不确定性、故障和重要缺陷是至关重要的。
展望
通用评估框架:正如上面已经讨论过的,关于不确定性方法的评估仍然存在问题,如缺乏“ground truth”不确定性、无法在单个实例上进行测试以及标准化的基准测试协议等。为了应对这些问题,提供包含涵盖所有类型不确定性的各种具体基线数据集和评估指标的评估协议无疑将有助于促进不确定性量化的研究。
此外,还应考虑对风险规避和最坏情况的评估。这意味着,具有非常高预测不确定性的不确定性预测永远不会失败,例如对红色或绿色交通灯的预测。这种通用协议将使研究人员能够轻松地将不同类型的方法与既定的基准以及现实世界的数据集进行比较。会议和期刊应鼓励采用这种标准评估协议。
基线的专家和系统比较:目前还没有对现实世界应用中不确定性估计的现有方法进行广泛和结构化的比较。在当前的机器学习研究论文中,对现实世界数据的评估甚至不是标准。因此,对于特定的应用,尚不清楚哪种不确定性估计方法效果最好,以及最新方法是否在现实世界的例子中也优于旧方法。
这也部分是由于这样一个事实,即来自其他领域的研究人员使用不确定性量化方法,通常在特定问题或手工数据集上成功应用单一方法。考虑到这一点,可以采用几点以便在不同研究领域内进行更好的比较。例如,领域专家还应该将不同的方法相互比较,并展示该领域中单一方法的弱点。
同样,为了更好地在多个领域之间进行比较,可以在中央平台上收集和交换不同现实世界领域中所有作品的集合。这样的平台还可以帮助机器学习研究人员在现实世界中提供额外的挑战来源,并将为广泛突出当前最先进方法的弱点铺平道路。谷歌关于神经网络不确定性基线的存储库可能是这样一个平台,也是朝着实现这一目标迈出的一步。
不确定性基本事实:由于缺乏不确定的基本事实,验证现有方法仍然很困难。可以以类似 ImageNet 的方式比较方法的实际不确定性基础事实将使对单个样本的预测的评估成为可能。为了实现这一点,可能会更详细地调查对数据生成过程和发生的不确定性来源(例如标记过程)的评估。
可解释性和物理模型:了解错误的高确定性或低确定性的实际原因可以更容易地为现实生活应用设计方法,这再次增加了人们对此类方法的信任。最近,Antoran 等人声称发表了关于可解释不确定性估计的第一部著作。
一般来说,不确定性估计是迈向可解释人工智能的重要一步。可解释的不确定性估计将更深入地了解神经网络的决策过程,在 DNN 的实际部署中,神经网络应结合所需的规避风险能力,同时在现实世界中保持适用(尤其是安全关键应用)。
此外,使用基于物理的论点提高可解释性的可能性提供了巨大的潜力。虽然 DNN 非常灵活和高效,但它们并没有直接嵌入领域特定的专家知识,这些知识通常可用数学或物理模型来描述,例如地球系统科学问题。这种物理引导模型提供了多种可能性,可以将显性知识和实际的不确定性表示包含到深度学习框架中。
相关文章:
深度学习中的不确定性综述
领域学者: http://www.gatsby.ucl.ac.uk/~balaji/ 论文标题: A Survey of Uncertainty in Deep Neural Networks 论文链接: https://arxiv.org/pdf/2107.03342.pdf 概要 在过去的十年中,神经网络几乎遍及所有科学领域&#x…...
uni-app 小宠物 - 会说话的小鸟
在 template 中 <view class"container"><view class"external-shape"><view class"face-box"><view class"eye-box eye-left"><view class"eyeball-box eyeball-left"><span class"…...
POJ 3470 Walls 树上分桶
今天太晚了,代码先发上,思路明天说吧。 陌上花开,树上分桶 #include <iostream> #include <algorithm> #include <vector> using namespace std; /*** 对于y1不等于y2的,可以用datC求解,对于x1不等…...
HIVE-17824,删除hdfs分区信息,清理metastore元数据
当手动删除HDFS 分区数据时,但是并没有清理 Hive 中的分区元数据,删除操作无法自动更新hive分区表元数据。也就是从hdfs中删除大量分区数据,并没有执行如下命令: alter table drop partition commad 从hive 3.0.0开始可以使用MSCK的方法发现新分区或删除丢失的分区; MSCK [REPA…...
Python深度学习进阶与应用丨注意力(Attention)机制、Transformer模型、生成式模型、目标检测算法、图神经网络、强化学习详解等
目录 第一章 注意力(Attention)机制详解 第二章 Transformer模型详解 第三章 生成式模型详解 第四章 目标检测算法详解 第五章 图神经网络详解 第六章 强化学习详解 第七章 深度学习模型可解释性与可视化方法详解 更多应用 近年来,伴…...
javaEE -6(10000详解文件操作)
一:认识文件 我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,…...
图像处理之《基于多MSB预测和Huffman编码的加密图像可逆数据隐藏》论文精读
一、文章摘要 随着云存储和隐私保护的发展,可逆数据隐藏在加密图像中(RDHEI)作为一种技术越来越受到人们的关注,它可以:在图像加密领域嵌入额外的数据,确保嵌入的数据可以无差错地提取,原始图像可以无损地恢复。本文提…...
Nginx安装配置项目部署然后加SSL
个人操作笔记记录 第一步:把 nginx 的源码包nginx-1.8.0.tar.gz上传到 linux 系统 第二步:解压缩 tar zxvf nginx-1.8.0.tar.gz 第三步:进入nginx-1.8.0目录 使用 configure 命令创建一 makeFile 文件。 直接复制过去运行 ./configur…...
【算法练习Day26】分发饼干摆动序列 最大子数组和
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 分发饼干摆动序列最大子数组…...
redis缓存击穿/穿透/雪崩面试回答
面试官:什么是缓存穿透 ? 怎么解决 ? 候选人: 嗯~~,我想一下 缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致…...
Jmeter性能测试 —— TPS拐点寻找
寻找TPS性能拐点1、准备脚本①在本地电脑调试Jmeter压测脚本 ②上传到压测机Jmeter所在的服务器 2、执行压力测试①执行压测脚本 jmeter –n –t xianchengzuse.jmx ②记录业务压测数据 3、监控服务器性能指标 ①监控CPU输入top命令 ②监控内存 free –m ③jstat监控sweep和…...
科技资讯|苹果穿戴新专利,表带、服装等织物可变身柔性屏幕或扬声器
根据美国商标和专利局(USPTO)本周公示的清单,苹果公司获得了一项新的技术专利,可以在 Apple Watch 表带、服装等物品上,引入基于织物的柔性扬声器。 根据专利描述,通过在织物中嵌入声学组件(例…...
数据分析和机器学习的11个高级可视化图表介绍
可视化是一种强大的工具,用于以直观和可理解的方式传达复杂的数据模式和关系。它们在数据分析中发挥着至关重要的作用,提供了通常难以从原始数据或传统数字表示中辨别出来的见解。 可视化对于理解复杂的数据模式和关系至关重要,我们将介绍11…...
祝所有的程序猿们2023年的1024节快乐~
许久没更新Bolg了,眼看就要到1024节,其实也是没有可以更新的东西,目前在PhD,发现很多东西都还需要慢慢沉淀,放一doctoral college 开学的时候ppt的老图。 越往深处研究会陷入泥潭,考虑的细节将会越来越多&…...
Win10/Win11系统bitlocker正在等待激活如何解决?
有同学升级Win10系统后,发现C盘与D盘分区盘符中出现了黄色的锁定感叹号,还显示“bitlocker正在等待激活”,这可能是用户开启了bitlocker加密所导致的。下面就来看看解决的办法吧。 一、bitlocker正在等待激活的解决方法 打开控制面板-系统和安…...
酷开科技 | 酷开系统,为居家生活打开更精彩的窗口
电视在我们的日常生活中扮演着重要的角色。虽然,作为客厅C位的扛把子——电视的娱乐作用深入人心,但是,它的涵义和影响力却因我们每个人的具体生活环境而存在着种种差异,而我们的生活环境又受到我们所处的社会及文化环境的影响。 …...
谷歌真的不喜欢 Node.js ?
有人在 Quora 上提问,为什么谷歌不喜欢 Node.js 呢,Google 的 UX 工程师和来自 Node.js 团队的开发者分别回答了他们对这个问题的看法,对于编程语言来说,每一门语言都有它自己的优势,重要的是如何用它去解决问题。 谷…...
前端项目如何找到所有未被引用的文件
要找到 React 项目中所有未被引用的文件,可以使用工具来进行静态代码分析。以下是一些方法: 使用静态代码分析工具unimported: 静态代码分析工具可以找到未被引用的 JSX 文件。一个常用的工具是 “unimported”。以下是使用它的步骤ÿ…...
CANoe-使用IG Ethernet Packet Builder实现IP包分片的若干问题
在文章《CANoe-Ethernet IG和Ethernet Packet Builder的使用和区别》中,我们讲过Packet Builder可以组装多种类型的以太网报文: 当我们想组装一条icmpv4 echo request报文,payload只有1个字节的数据FF时,选择ICMPv4 Packet,创建一条ICMPv4报文,把payload改为1个字节: 然…...
UE4逆向篇-2_各类数据的查找方式
写在前面 1.通过前面的文章,相信各位已经能够自己找到GNames并使用DUMP工具导出GNames了。 2.本篇文章将介绍各种所需数据的查找方法。 一、准备工作 1.CheatEngine,本篇以及后续篇幅的重要工具。 2.一个记事本,保证你能记录下关键信息。…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
算法刷题-回溯
今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...
