测量模型不确定性的两种简单方法

本文介绍了两种衡量深度学习模型不确定性的方法:蒙特卡罗Dropout和深度集成。这两种方法有助于理解模型在预测时的信心,并在医疗影像分析等关键应用中提供透明度。MC Dropout通过在推理阶段保持Dropout层来实现输出变化,而深度集成则是通过训练多个模型并结合其预测来估计不确定性。文章提供了相关代码示例,并强调了模型不确定性在主动学习和提高模型性能中的作用。
摘要由CSDN通过智能技术生成

在本文中,我们将介绍两种方法,它们允许你获得模型的不确定性:蒙特卡罗Dropout法(MC Dropout)和深度集成法。

它们适用于各种各样的任务,但在本文中,我们将展示一个图像分类的示例。它们都相对容易理解和实现,都可以很容易地应用于任何现有的卷积神经网络架构(例如ResNet、VGG、RegNet等)。

为了帮助你快速轻松地应用这些技术,我将提供用PyTorch编写的这些技术的补充代码。

给出两个杯子的图像,你的预测模型有多确定?

ca7d6c90ca2c3d47988607596df23ff1.png

在我们开始之前,让我们回顾一下测量模型不确定性意味着什么,以及它如何对你的机器学习项目有用。

什么是模型不确定性?

就像人类一样,机器学习模型可以对其预测显示一定程度的信心。一般来说,在讨论模型不确定性时,需要区分了认知不确定性和任意不确定性。

认知不确定性是在模型参数中表示的不确定性。这种类型的不确定性可以通过额外的训练数据来减少,因此具有“可减少的不确定性”的替代名称。

任意不确定性捕获环境固有的噪声,即观测。与认知不确定性相比,这种类型的不确定性不能用更多的数据来减少,而是用更精确的传感器输出来减少。

第三种类型称为预测不确定性,即模型输出中传递的不确定性。预测不确定性可以结合认知不确定性和任意不确定性。

分类器的softmax输出示例:

c64c201241c8b65e36c02db16a758f73.png

如果你自己已经训练过简单的神经网络,那么最直观的想法就是模型的softmax输出,即你经常看到的作为模型预测结果显示的百分比值。

但是,使用softmax输出作为模型不确定性的度量可能会产生误导,并且不是很有用。这是因为softmax函数所做的只是计算模型不同激活值之间的某种“关系”。

因此,你的模型可以在其输出层的所有神经元中具有较低的激活值,并且仍然达到较

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值