神经网络不确定性综述(Part II)——Uncertainty estimation_Single deterministic methods

 相关链接:

神经网络不确定性综述(Part I)——A survey of uncertainty in deep neural networks-CSDN博客

神经网络不确定性综述(Part II)——Uncertainty estimation_Single deterministic methods-CSDN博客

神经网络不确定性综述(Part III)——Uncertainty estimation_Bayesian neural networks-CSDN博客

神经网络不确定性综述(Part IV)——Uncertainty estimation_Ensemble methods&Test-time augmentation-CSDN博客

神经网络不确定性综述(Part V)——Uncertainty measures and quality-CSDN博客


3. Uncertainty estimation

如前所述,uncertainty的来源有很多,因此我们很难完全排除神经网络中的不确定性,尤其是现实中我们收集的总是真实数据集的一个子集而不能全面覆盖整体,无法知晓数据的真实分布。更糟糕的是,DNN预测结果的uncertainty通常也没办法计算,因为不同的uncertainty没有被精准地建模或者人们根本没有意识到某些uncertainty的存在。这给uncertainty estimation带来了挑战,同时也意味着它的重要性。

对于不同的uncertainty,data uncertainty通常体现在模型的prediction中,比如分类网络中softmax层的输出或回归网络中对标准差的显式预测。此外,也有一些方法将model/data uncertainty分别进行建模,试图将二者区分开。一般来说,估计不确定性的方法可以根据所使用的深度神经网络的数量(single or multipole)和性质(deterministic or stochastic)分为4种不同的类型。

  • Single deterministic methods

Single deterministic methods give the prediction based on one single forward pass within a deterministic network. The uncertainty quantification is either derived by using additional (external) methods or is directly predicted by the network.

  • Bayesian methods

Bayesian methods cover all kinds of stochastic DNNs, i.e. DNNs where two forward passes of the same sample generally lead to different results.

  • Ensemble methods

Ensemble methods combine the predictions of several different deterministic networks at inference.

  • Test-time augmentation methods

Test-time augmentation methods give the prediction based on one single deterministic network but augment the input data at test-time in order to generate several predictions that are used to evaluate the certainty of the prediction.

3.1 Single deterministic methods

对于deterministic neural networks而言,其参数是固定的,重复地向前传播每次得到的结果也将是一样的。量化single deterministic neural networks的方法可以被分为两类,一类是explicitly modeled and trained network另一类是use additional components to estimate uncertainty。第一种将不确定性量化/估计本身融入到了神经网络中,因此这种量化会影响整个训练过程;而第二种则是独立于模型的外部量化手段,不影响模型的训练。这两种方式分别可以被称为internal and external uncertainty quantification approaches.

3.1.1 Internal uncertainty quantification approaches

许多internal的方法都遵循同样一个思路,就是去predict分布的参数而不是直接做point-wise MAP estimation。通常情况下,这些方法的损失函数会考虑the expected divergence between the true distribution and the predicted distribution,例如Evidential Deep Learning损失函数中KL-divergence那一项。

在分类任务中,模型的输出通常代表类别概率(取值范围0~1)。对于多分类任务,一般使用soft-max function

\begin{aligned}&\text{softmax: }\mathbb{R}^K\to\left\{z\in\mathbb{R}^K|z_i\geq0,\sum_{k=1}^Kz_k=1\right\}\\&\text{softmax}(z)_j=\frac{\exp(z_j)}{\sum_{k=1}^K\exp(z_k)}\end{aligned}

其中 z 代表logits。

对于二分类,一般使用sigmoid function

\begin{aligned}&\mathrm{softmax:~}\mathbb{R}^{K}\to\left\{z\in\mathbb{R}^{K}|z_{i}\geq0,\sum_{k=1}^{K}z_{k}=1\right\}\\&\mathrm{softmax}(z)_{j}=\frac{\exp(z_{j})}{\sum_{k=1}^{K}\exp(z_{k})}\end{aligned}

在前面我们曾经介绍过,data uncertainty可以用模型output的概率分布来表示。而事实上,所得到的这些概率值本身也可以被解释为prediction of data uncertainty,例如,“猫”这一类别得到的输出值为0.8,则我们可以认为有0.8的置信度认为输入是一只猫。然而,soft-max output is often poorly calibrated,并且神经网络通常被认为过度自信over-confident,因此得到的不确定性估计往往并不精确。有研究发现,由ReLU和soft-max组合的神经网络对与训练数据分布偏差更大的那些样本的过度自信情况更严重。此外,soft-max无法与model uncertainty建立联系,导致其无法正确处理out-of-distribution的样本。一个直观的例子是,即使我们向“猫狗分类器”输入一张“鸟”的图片,模型仍然会从猫和狗二者之间进行判断,这显然是不合理的。下图是LeNet在MNIST数据集上过度自信的例子。

另一种方法同样考虑logit magnitude,借助Dirichlet distribution来估计不确定性。Dirichlet distribution is the conjugate prior of categorical distribution,因此可以视为distribution over categorical distributions即“分布的分布”。The density of Dirichlet distribution is defined by

\mathrm{Dir}(\mu|\alpha)=\frac{\Gamma(\alpha_0)}{\prod_{c=1}^K\Gamma(\alpha_c)}\prod_{c=1}^K\mu_c^{\alpha_c-1},\alpha_c>0,\alpha_0=\sum_{c=1}^K\alpha_c^{-1}

where \Gamma is the gamma function, \alpha_1,...,\alpha_K are called the concentration parameters, and the scalar \alpha_{0} is the precision of the distribution. In practice, the concentrations \alpha_1,...,\alpha_K are derived by applying a strictly positive transformation, such as the exponential function, to the logit values.

A higher concentration value leads to a sharper Dirichlet distribution,如下图所示。

k-class categorical distribution对应于一个(k-1)-dimensional simplex。这个单纯形的每个顶点代表在某一个class具有full probability mass,而顶点的凸组合(convex combination)则对应于多个classes上的概率分布。

Malinin and Gales (2018) argued that a high model uncertainty should lead to a lower precision value and therefore to a flat distribution over the whole simplex since the network is not familiar with the data. In contrast to this, data uncertainty should be represented by a sharper but also centered distribution, since the network can handle the data, but cannot give a clear class preference. ——较高的model uncertainty应该对应于一个较低的precision,此时单纯形有一个较为平坦的分布,代表模型没见过输入数据;与此相反,data uncertainty应该有较高的precision,但是不集中在某个顶点而是集中在单纯形的中央,意味着模型虽然可以处理输入数据但不能给出明确的类别偏好。(NOTE: OOD数据造成的不确定性属于model uncertainty)

近年来,Dirichlet distribution被用在Dirichlet Prior Networks以及Evidential Neural Networks中。与常见的网络不同,这些网络的直接输出并不是probabilities,而是Dirichlet distribution的参数,而categorical distribution可以根据这些参数被进一步推导得到。

  • Prior networks

由于对Prior networks尚缺乏调研,此处直接将原文附于下方:

Prior networks are trained in a multi-task way with the goal of (1) minimizing the expected Kullback–Leibler (KL) divergence between the predictions of in-distribution data and a sharp Dirichlet distribution and between (2) a flat Dirichlet distribution and the predictions of out-of-distribution data (Malinin and Gales 2018). Besides the main motivation of a better separation between in-distribution and OOD samples, these approaches also improve the separation between the confidence of correct and incorrect predictions, as was shown by Tsiligkaridis (2021a). As a follow-up, (Malinin and Gales 2019) discussed that for the case that the data uncertainty is high, the forward definition of the KL-divergence can lead to an undesirable multi-model target distribution. In order to avoid this, they reformulated the loss using the reverse KL divergence. The experiments showed improved results in the uncertainty estimation as well as for the adversarial robustness. Tsiligkaridis (2021b) extended the Dirichlet network approach by a new loss function that aims at minimizing an upper bound on the expected error based on the \mathcal{L}_\infty-norm, i.e. optimizing an expected worst-case upper bound. Wu et al. (2019) argued that using a mixture of Dirichlet distributions gives much more flexibility in approximating the posterior distribution. Therefore, an approach where the network predicts the parameters for a mixture of K Dirichlet distributions was suggested. For this, the network logits represent the parameters for M Dirichlet distributions and additionally M weights \omega_i,i=1,\ldots,M with the constraint \sum_{i=1}^M\omega_i=1  are optimized. Nandy et al. (2020) analytically showed that for in-domain samples with high data uncertainty, the Dirichlet distribution predicted for a false prediction is often flatter than for a correct prediction. They argued that this makes it harder to differentiate between in- and out-of-distribution predictions and suggested a regularization term for maximizing the gap between in- and out-of-distribution samples.

  • Evidential neural networks

Evidential neural networks同样把视角放在了一个single Dirichlet network的参数优化上,它使用Dempster-Shafer证据理论,借助主观逻辑subjective logic将网络输出的logits视为multinomial opinions or beliefs从而得到网络的loss function。在这个情况下,通过将belief赋予给整个框架,使网络具备了表述“I don’t know”的能力。

u+\sum_{k=1}^Kb_k=1,whereu\geq0andb_k\geq0,fork=1,...,K,\\b_k=\frac{e_k}s,u=\frac Ks,S=\sum_{i=1}^K(e_i+1).

此外,Zhao et al. (2019)进一步区分了vacuity以及dissonance的情形以更好地区分in-distribution与out-of-distribution的样本;

Amini et al.(2020) transferred the idea of evidential neural networks from classification tasks to regression tasks by learning the parameters of an evidential Normal Inverse Gamma distribution over an underlying Normal distribution. Charpentier et al (2020) avoided the need of OOD data for the training process by using normalizing flows to learn a distribution over a latent space for each class. A new input sample is projected onto this latent space and a Dirichlet distribution is parameterized based on the class-wise densities of the received latent point.

类似的工作还有很多,并且除分类任务外,还有研究关注于回归任务,请读者自行阅读相关文献。

3.1.2 External uncertainty quantification approaches

与internal approaches相对应,由于external approaches对不确定性的评估是与原始预测任务是分离的,因此它不会影响模型本身的预测。Raghu et al. (2019) argued that when both tasks, the prediction, and the uncertainty quantification, are done by one single method, the uncertainty estimation is biased by the actual prediction task.——当一个方法既做预测又做不确定性估计的时候,后者将被前者影响而产生估计偏差。因此他们建议使用两个网络分别完成prediction与uncertainty quantification,其中第二个网络的输入是第一个网络的输出(prediction)。

以下摘自原论文:

Similarly, Ramalho and Miranda (2020) introduced an additional neural network for uncertainty estimation. But in contrast to Raghu et al. (2019), the representation space of the training data is considered and the density around a given test sample is evaluated. The additional neural network uses this training data density in order to predict whether the main network’s estimate is expected to be correct or false. Hsu et al. (2020) detected out-of-distribution examples in classification tasks at test-time by predicting total probabilities for each class, in addition to the categorical distribution given by the softmax output. The class-wise total probability is predicted by applying the sigmoid function to the network’s logits. Based on these total probabilities, OOD examples can be identified as those with low class probabilities for all classes. In contrast to this, (Oberdiek et al. 2018) took the sensitivity of the model, i.e. the model’s slope, into account by using gradient metrics for the uncertainty quantification in classification tasks. Lee and AlRegib (2020) applied a similar idea but made use of back-propagated gradients. In their work, they presented state-of-the-art results on out-of-distribution and corrupted input detection.

3.1.3 Summing up single deterministic methods

相较于其它principle,single deterministic methods在训练时只需一个网络,训练过程更加sufficient。此外,single deterministic methods通常可以应用于pre-trained networks,只需完成一个或最多两个前向过程。这些网络虽然会包含更复杂的损失函数从而减慢训练过程,或者可能需要external components。但总的来说,single deterministic methods仍然比基于ensemble、Bayesian和test-time augmentation的方法更高效。但是这些方法依赖于单一的opinion,因此对underlying network architecture, training procedure, and training data非常敏感。

3.2 Bayesian neural networks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/332712.html

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

相关文章

Docker-Android安卓模拟器本地部署并实现远程开发测试

文章目录 1. 虚拟化环境检查2. Android 模拟器部署3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问小结 6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Ubuntu系统使用Docker部署docker-android安卓模拟器,并结合cpolar内网穿透工具实现公网远程访问本地…

用常识滚雪球:拼多多的内生价值,九年的变与不变

2024年5月22日,拼多多公布了今年一季度财报,该季度拼多多集团营收868.1亿元,同比增长131%,利润306.0亿,同比增长了202%,数据亮眼。 市场对拼多多经历了“看不见”、“看不懂”、“跟不上”三个阶段。拼多多…

STM32无源蜂鸣器播放音乐

开发板:野火霸天虎V2 单片机:STM32F407ZGT6 开发软件:MDKSTM32CubeMX 文章目录 前言一、找一篇音乐的简谱二、确定音调三、确定节拍四、使用STM32CubeMX生成初始化代码五、代码分析 前言 本实验使用的是低电平触发的无源蜂鸣器 无源蜂鸣器是…

【数据库】通过一个实例来认识数据流图DFD

导读:通过一个实例(数据中台)说明数据流图DFD的作用、介绍了常见的数据流图元素及其标准符号以及如何画数据流图。数据流图主要被分析师、系统设计师、流程优化专家、系统管理员以及与系统开发和维护相关的人员查看和使用。对于刚考完2024年5…

设计模式 18 迭代器模式 Iterator Pattern

设计模式 18 迭代器模式 Iterator Pattern 1.定义 迭代器模式 (Iterator Pattern) 是一种行为型设计模式,它提供了一种访问集合元素的标准方法,而无需暴露集合的内部表示。 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该…

B树与B+树区别

B树和B树是常见的数据库索引结构,都具有相较于二叉树层级较少,查找效率高的特点,它们之间有以下几个主要区别: 1.节点存储数据的方式不同 B树的叶子结点和非叶子节点都会存储数据,指针和数据共同保存在同一节点中B树…

vue 引入 emoji 表情包

vue 引入 emoji 表情包 一、安装二、组件内使用 一、安装 npm install --save emoji-mart-vue二、组件内使用 import { Picker } from "emoji-mart-vue"; //引入组件<picker :include"[people,Smileys]" :showSearch"false" :showPreview&q…

YAML详情

一、kubernetes支持对象 Kubernetes支持YAML和JSON格式管理资源对象 JSON格式&#xff1a;主要用于api接口之间消息的传递YAML格式&#xff1a;用于配置和管理&#xff0c;YAML是一种简洁的非标记性语言&#xff0c;内容格式人性化&#xff0c;较易读 二、YAML语法格式注意点 …

微信小程序开发 tabbar组件常见问题

一、 tabbar不显示问题 问题 刚开始我在app.json中配置了下面的代码&#xff0c;但tabbar并没有显示。代码如下&#xff1a; "tabBar": {"custom": true,"color": "#7A7E83","selectedColor": "#3cc51f","…

C++ | Leetcode C++题解之第113题路径总和II

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<vector<int>> ret;unordered_map<TreeNode*, TreeNode*> parent;void getPath(TreeNode* node) {vector<int> tmp;while (node ! nullptr) {tmp.emplace_back(node->val);node …

单点登录与JWT

JWT:JSON Web Token JWT的作用是用户授权&#xff08;Authorization&#xff09;,而不是用户的身份认证&#xff08;Authentication&#xff09; 授权&#xff08;Authorization&#xff09;vs认证&#xff08;Authentication&#xff09; 用户认证指的是使用用户名、密码来…

pytest:指定测试用例执行顺序

在自动化测试中&#xff0c;测试用例的执行顺序有时对测试结果具有重要影响。本文将介绍如何在pytest框架中使用pytest-ordering插件以及Collection hooks来控制测试用例的执行顺序。 方式1&#xff1a; 使用pytest-ordering插件控制执行顺序 1.1 安装pytest-ordering插件 首…

XShell-连接-Centos 7

XShell 连接Centos 7 一.准备 安装XShell XShell下载地址&#xff1a; 在虚拟机上安装Centos 7&#xff0c;具体操作自行学习 二.Centos 7的准备 1.网络适配器修改为NAT 2.获取IP 输入命令&#xff1a; ip addr我的Centos 7对外IP为192.168.174.129 三.XShell连接Cento…

设计模式:适配器模式(Adapter)

设计模式&#xff1a;适配器模式&#xff08;Adapter&#xff09; 设计模式&#xff1a;适配器模式&#xff08;Adapter&#xff09;模式动机模式定义模式结构时序图模式实现在单线程环境下的测试在多线程环境下的测试模式分析优缺点适用场景应用场景应用实例适配器模式和代理模…

新书推荐:7.1 do while语句

本节必须掌握的知识点&#xff1a; 示例二十二 代码分析 汇编解析 ■do while语句其语法形式&#xff1a; do{ 语句块; }while(表达式) ■语法解析&#xff1a; ●执行do循环体内的语句块&#xff1b; ●判断while语句里的表达式&#xff0c;表达式为真继续下次循环&#…

上位机图像处理和嵌入式模块部署(f103 mcu运行freertos)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 mcu一般有两个用途,一个是控制,一个是非控制。控制类的应用一般要求实时性比较高,什么时候做什么,都是有严格的时间要求的。而非控制类的应用,则要求实现尽可能多的功能,比如…

PanTools v1.0.25 多网盘批量管理工具 批量管理、分享、转存、重命名、复制...

一款针对多个热门网盘的文件管理、批量分享、批量转存、批量复制、批量重命名、批量链接检测、跨账号移动文件、多账号文件搜索等&#xff0c;支持不同网盘的不同账号的资源文件操作。适用于网站站长、资源爱好者等&#xff0c;对于管理名下具有多个网盘多个账号具有实用的效果…

2024.05.26 第 399 场周赛

Leetcode 第 399 场周赛 优质数对的总数 I Leetcode 优质数对的总数 I 给你两个整数数组 nums1 和 nums2&#xff0c;长度分别为 n 和 m。同时给你一个正整数 k。 如果 nums1[i] 可以被 nums2[j] * k 整除&#xff0c;则称数对 (i, j) 为 优质数对&#xff08;0 < i < n…

React自定义Componment和State深层次理解-07

本节主要从底层原理上分析下React开发相关的内容和注意事项&#xff0c;本节会围绕使用展开&#xff0c;而非源码讲解。 Componment详解 什么是组件 在 MVVM架构出现之前&#xff0c;组件主要分为两种。 狭义上的组件&#xff0c;又称为 UI 组件&#xff0c;比如 Tabs 组件、…

PC端应用订阅SDK接入攻略

本文档介绍了联想应用联运sdk接入操作指南&#xff0c;您可在了解文档内容后&#xff0c;自行接入应用联运sdk。 1. 接入前准备 1. 请先与联想商务达成合作意向。 2. 联系联想运营&#xff0c;提供应用和公司信息&#xff0c;并获取商户id、app id、key&#xff08;公私钥、…