深度学习中的不确定性综述

领域学者:
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.mzph.cn/news/117077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2021年下半年 软件设计师 上午试卷(1-28)

计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻址方式获取操作数的速度 (1) 。 (1) A. 立即寻址最快&am…

Springcloud介绍

1.基本介绍 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring …

基于YOLO实现的口罩佩戴检测 - python opemcv 深度学习 计算机竞赛

文章目录 0 前言1 课题介绍2 算法原理2.1 算法简介2.2 网络架构 3 关键代码4 数据集4.1 安装4.2 打开4.3 选择yolo标注格式4.4 打标签4.5 保存 5 训练6 实现效果6.1 pyqt实现简单GUI6.3 视频识别效果6.4 摄像头实时识别 7 最后 0 前言 🔥 优质竞赛项目系列&#xf…

树与二叉树(考研版)

文章目录 树与二叉树树的基本概念结点、树属性的描述树的性质 二叉树的概念二叉树的性质二叉树的构建二叉树的遍历先序遍历中序遍历后序遍历层次遍历 递归算法和非递归算法的转换源代码 线索二叉树二叉树的线索化线索二叉树 找前驱/后继 树和森林树的存储 树与二叉树的应用哈夫…

Python 深度学习入门之CNN

CNN 前言一、CNN简介1、简介2、结构 二、CNN简介1、输出层2、卷积层3、池化层4、全连接层5、输出层 前言 1024快乐!1024快乐!今天开新坑,学点深度学习相关的,说下比较火的CNN。 一、CNN简介 1、简介 CNN的全称是Convolutiona…

java中的异常,以及出现异常后的处理【try,catch,finally】

一、异常概念 异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 注意: 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的…

Nginx 配置文件解读

一.配置文件解读 nginx配置文件主要分为四个部分: main{ #(全局设置)http{ #服务器配置upstream{} #(负载均衡服务器设置)server{ #(主机设置:主要用于指定主机和端口)location{} …

CUDA学习笔记(十四) Constant Memory

转载至https://www.cnblogs.com/1024incn/tag/CUDA/ CONSTANT MEMORY constant Memory对于device来说只读但是对于host是可读可写。constant Memory和global Memory一样都位于DRAM,并且有一个独立的on-chip cache,比直接从constant Memory读取要快得多…

【C++笔记】C++继承

【C笔记】C继承 一、继承的概念二、继承的语法和权限三、父类和子类成员之间的关系3.1、子类赋值给父类(切片)3.2、同名成员 四、子类中的默认成员函数4.1、构造函数4.2、拷贝构造4.3、析构函数 五、C继承大坑之“菱形继承”5.1、什么是“菱形继承”5.2、解决方法 一、继承的概…

数据结构-- 并查集

0. 引入 并查集是来解决等价问题的数据结构。 离散数学中的二元关系。 等价关系需满足自反性、对称性、传递性。 a ∈ S , a R a a R b & b R a a R b ∩ b R c > a R c a \in S, aRa \\ aRb \& bRa \\ aRb \cap bRc >aRc a∈S,aRaaRb&bRaaRb∩bRc>a…

【Opencv】OpenCV使用CMake和MinGW的编译安装出错解决

编译时出现的错误: mingw32-make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 Makefile:161: recipe for target ‘all’ failed mingw32-make: *** [all] Error 2解决方法: 根据贴吧老哥的解答,发现是mingw版本有问题导…

【JAVA学习笔记】43 - 枚举类

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter11/src/com/yinhai/enum_ 〇、创建时自动填入版权 作者等信息 如何在每个文件创建的时候打入自己的信息以及版权呢 菜单栏-File-setting-Editor-File and Code Templaters -Includes-输入信…

自动化测试07Selenium01

目录 什么是自动化测试 Selenium介绍 Selenium是什么 Selenium特点 工作原理 SeleniumJava环境搭建 Selenium常用的API使用 定位元素findElement CSS选择语法 id选择器:#id 类选择 .class 标签选择器 标签名 后代选择器 父级选择器 自己选择器 xpath …

2.1 向量与线性方程组

一、行图像与列图像 线性代数的中心问题是求解线性方程组。线性的意思是这些方程的未知数是一次的,即每个未知数只会乘数字,而不会出现 x x x 与 y y y 相乘的项。下面是一个由两个未知数组成的方程组: 两个方程 两个未知数 { x − 2 y 1…

杂谈:DC对Verilog和SystemVerilog语言的支持

DC对Verilog和SystemVerilog语言的支持 设计语言用哪种?Design Compiler对二者的支持简单的fsm电路测试测试结果对比写在最后 设计语言用哪种? 直接抛出结论:先有电路,后为描述。设计端而言,没有语言的高低好坏&#…

妙手ERP功能更新丨Shopee全球产品支持使用定价模板修改价格、Ozon新增SKU模板 、Temu采集箱支持添加货源链接......

为了给卖家朋友带来更好的使用体验,更高效地运营跨境店铺,妙手ERP在近两周优化了以下多项功能。 01、平台授权模块 TikTok - 支持授权美国跨境店及ACCU店铺,TikTok平台各功能均可使用 02、产品模块优化 全平台 - 支持产品重量单位切换 Sho…

centos搭建elastic集群

1、环境可以在同一台集群上搭建elastic,也可以在三台机器上搭建,这次演示的是在同一台机器搭建机器。 2、下载elastic :https://www.elastic.co/cn/downloads/past-releases#elasticsearch 2、​​​​​​ tar -zxvf elasticsearch-xxx-版…

KNN(K近邻)水仙花的分类(含答案)

题目 以下采用K-NN算法来解决水仙花的分类问题,每个样本有两个特征,第一个为水仙花的花萼长度,第二个为水仙花 的花萼宽度,具体数据见表, 1)设置k3, 采用欧式距离,分析分类精度为多少…

vue如何使用冻结对象提升代码效率及其原理解析

先给大家伙整个实际工作中一定会碰到的问题 如下vue dome ,它的代码非常简单功能也1非常简单,就是一个按钮,点击后会显示有多少条数据 来看看源码, html部分就是一个按钮绑定了一个loadData事件,然后在p标签内展示了这个myData这个数据的长度 <template><div id&quo…

电解电容寿命与哪些因素有关?

电解电容在各类电源及电子产品中是不可替代的元器件&#xff0c;这些电子产品中由于应用环境的原因&#xff0c;使它成为最脆弱的一环&#xff0c;所以&#xff0c;电解电容的寿命也直接影响了电子产品的使用寿命。 一、电解电容失效模式与因素概述 铝电解电容器正极、负极引出…