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

领域学者:
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.rhkb.cn/news/169678.html

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

相关文章

mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied) 问题解决

问题背景 Centos7 安装Mysql 8后启动时遇到的问题,看了好几个博客方案无效,搞了半小时才找到正解,在此次进行记录。 在此假设你已经修改了对应目录的权限,比如配置的mysql data目录初始化后已经执行了chown -R mysql:mysql /XXX/…

leetcode:面试题 17.04. 消失的数字(找单身狗/排序/公式)

一、题目: 函数原型:int missingNumber(int* nums, int numsSize) 二、思路: 思路1 利用“找单身狗”的思路(n^n0;0^nn),数组中有0-n的数字,但缺失了一个数字x。将这些数字按位异或0…

02-2、PyCharm中文乱码的三处解决方法

PyCharm中文乱码 修改处1: 修改处2:这个也没用 在Pycharm中可以创建一个模版,每次新建python文件时Pycharm会默认在前两行生成utf-8 #!/user/bin/env python3 # -- coding: utf-8 -- 还是乱码 再在这里设置以下 添加 : -Dfi…

031-第三代软件开发-屏幕保护

第三代软件开发-屏幕保护 文章目录 第三代软件开发-屏幕保护项目介绍屏幕保护 关键字: Qt、 Qml、 MediaPlayer、 VideoOutput、 function 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language&#…

交换机基础(四):MSTP负载均衡配置案例

如图所示是某个企业内部核心网络的结构图,目前企业中有20个VLAN, 编号为VLAN1~VLAN20, 为了确保内部网络的可靠性,使用 了冗余链路和MSTP 协议。为了能更好地利用网络资源和带宽,现管理员希望通过配置MSTP 的负载均衡实现网络带宽…

测试C#调用Windows Media Player组件

新建基于.net framework的Winform项目,可以通过添加引用的方式选择COM组件中的Windows Media Player组件,如下图所示:   也可以在VS2022的工具箱空白处点右键,选择“选择项…”菜单。   在弹出的选择工具箱项窗口中&#xf…

力扣刷题 day54:10-24

1.十进制整数的反码 每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 "101",11 可以用二进制 "1011" 表示,依此类推。注意,除 N 0 外,任何二进制表示中都不含前导零。 二进制的反…

NOIP2023模拟1联测22 黑暗料理

NOIP2023模拟1联测22 黑暗料理 题目大意 自己看 思路 两个数相加能够产生质数的情况就是:11 或者 偶数质数 那么 1 1 1 不能保留超过一个 建一个图,原点连向所有奇数点,所有偶数点连向汇点,奇数点和偶数点的和为奇数的就相连 …

蜣螂优化(DBO)求解置换流水车间调度问题(PFSP)

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…

【数据结构】常见复杂度习题详解 ------ 习题篇

文章目录 📋前言一. ⛳️前篇回顾二. ⛳️常见时间复杂度计算举例1️⃣实例一2️⃣实例二3️⃣实例三4️⃣实例四5️⃣实例五6️⃣实例六7️⃣实例七8️⃣实例八 三. ⛳️常见空间复杂度计算举例1️⃣实例一2️⃣实例二3️⃣实例三 四. ⛳️总结 📋前言 …

RedHat8升级GLIBC_2.29,解决ImportError: /lib64/libm.so.6: version `GLIBC_2.29

问题背景 在做大模型微调训练时,执行python脚本时出现如下报错: 查看当前服务器版本,确实没有GLIBC_2.29的 strings /lib64/libm.so.6 | grep GLIBC_ GLIBC_2.2.5 GLIBC_2.4 GLIBC_2.15 GLIBC_2.18 GLIBC_2.23 GLIBC_2.24 GLIBC_2.25 GLIB…

【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-输入信…

多继承的实例介绍

一、多继承同名覆盖 子类中的成员与父类中的成员同名问题&#xff0c;通过作用域分辨符&#xff08;&#xff1a;&#xff1a;&#xff09;进行限定类的访问&#xff0c;从而实现对不同类中的同名成员各自赋值。 #include<iostream> using namespace std; class A{//父…

基于SpringBoot的时间管理系统

基于SpringBoot的时间管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 管理员界面 用户界面 摘要 基于Spring Boot的时间管理系统是一款功能丰富…

基于国产ARM+FPGA+AD的验证和生产测试自动化

TestStand是一款测试执行软件&#xff0c;可帮助工程师在验证和生产环节加速开发和部署系统。 验证和生产测试自动化 TestStand可借助自身功能特性&#xff0c;实现用户所有测试系统中整个测试过程的自动化、提速和标准化: 调用和执行使用LabVIEW、Python、C/C或.NET编写的测…

Mybatis 简介(一)

这里使用的是3.5.11版本 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08;P…

基于深度学习网络的手势识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off; addpath(genpath(pwd)); rng(default)load gnet.mat[Pr…

决策树完成图片分类任务

数据集要求&#xff1a; 训练集 和 验证集 &#xff08;要求分好&#xff09; 图片放置规则 &#xff1a; 一个总文件夹 放类别名称的子文件夹 其中子文件夹 为存放同一类别图片 举个例子 分类动物 则 总文件夹名称为动物 子文件夹为 猫 狗 猪猪 。。。 其中猫的文件夹里面…

IK分词器如何修改支持跨版本ES

一、问题描述&#xff1a;IK分词器版本和ES版本不一致&#xff0c;无法找到和自己ES版本匹配的分词器。 IK分词器&#xff0c;提供的插件版本&#xff0c;远赶不上ES的更新版本&#xff0c;在使用过程中&#xff0c;不一定能顺利的找到与自己使用的ES版本相对应。在ES集群中使用…

C++ string 类的其他操作

4.3.2 string 类的其他操作 在C新增string类之前,程序员也需要完成诸如给字符串赋值等工作。对于C语言式的字符串,程 序员使用C语言库中的函数来完成这些任务。头文件cstring(以前为string.h)提供了这些函数。例如,可 以使用函数 strcpy()将字符串复制到字符数组中,使用函数…