0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

4种神经网络不确定性估计方法对比与代码实现

颖脉Imgtec 2025-11-10 10:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文转自:DeepHub IMBA


回归任务在实际应用中随处可见——天气预报、自动驾驶、医疗诊断、经济预测、能耗分析,但大部分回归模型只给出一个预测值,对这个值到底有多靠谱却只字不提。这在某些应用场景下会造成很多问题,比如用模型预测患者血压,假设输出是120/80这样的正常值,表面看没问题。但如果模型其实对这个预测很不确定呢?这时候光看数值就不够了。

神经网络有几种方法可以在给出预测的同时估计不确定性。


回归中的不确定性问题

分类任务里,每个类别都有对应的预测分数,经过softmax之后就是概率值,可以直接当作置信度来看——概率高说明模型比较有把握。

回归就没这么简单了。用MSE(均方误差)训练回归模型时,模型对那些难拟合的样本会倾向于预测平均值。比如说训练集里有几个输入特征几乎一样、但目标值差异很大的样本,模型为了降低MSE,会把预测往它们的均值靠拢。

这就带来一个问题:当预测值接近训练集的整体均值时,很难判断模型是真的有把握,还是纯粹为了优化损失函数在"混日子"。而如果预测值偏离均值较远,可能说明模型比较确信——因为预测错了的话MSE惩罚会更重。

假设目标值在-1到1之间,训练集均值接近0。模型预测0.1时,不好说它是有信心还是在敷衍;但预测0.8时,大部分情况说明它确实掌握了某些模式,当然这个现象也不是在所有情况下都成立。

这里涉及两类不确定性的概念:

任意不确定性(Aleatoric uncertainty)来自数据本身的随机性和噪声,比如测量误差、自然界的随机过程。这种不确定性没法通过增加数据来消除,它就是客观存在的。

认知不确定性(Epistemic uncertainty)源于知识或数据的缺乏。弄日三级片训练数据太少或者测试样本落在从没见过的区域,模型就会产生这类不确定性。但是这种不确定性是可以通过改进模型结构、收集更多样化的数据来降低的。

前面提到的那个例子主要说的就是任意不确定性。但即便预测0.8,如果是在数据稀疏的区域,模型也可能因为认知不确定性而不靠谱。


四种不确定性估计方法

这里对比了四种在神经网络回归中估计不确定性的方法。

1、均值 + 对数标准差(Mean + LogStd)

模型输出两个值:均值作为预测值,对数标准差表示不确定性——值越大说明越不确定。损失函数用的是负对数似然,假设目标值服从正态分布,参数就是预测的均值和标准差。

x='input features'
y='targets'
mu,log_std=mean_logstd_model(x)
dist_obj=torch.distributions.Normal(loc=mu,scale=log_std.exp())
loss=-dist_obj.log_prob(y).mean()

2、均值 + 对数方差(Mean + LogVariance)

跟上一个类似,只是把标准差换成了方差。对数方差越大不确定性越高。损失计算方式如下:

bf889b4c-bdde-11f0-8ce9-92fbcf53809c.jpg

x='input features'
y='targets'
mu,log_variance=mean_logvariance_model(x)
loss=(0.5*log_variance)+(((y-mu)**2)/(2*torch.exp(log_variance)))
loss=loss.mean()

3、蒙特卡洛Dropout(MC Dropout)

训练时用dropout,但预测阶段的时候不关闭它。对同一个样本预测多次,由于dropout的随机性,每次结果会略有差异。把这些预测值的均值当作最终预测,标准差就是不确定性的度量。

4、简化版PPO方法

PPO本来是强化学习里的算法,这里做了简化改造用到监督学习上。Actor网络预测均值和标准差,奖励定义为采样预测的负MSE。跟标准PPO的主要区别在于优势(advantage)的计算——监督回归可以看作单步环境不需要GAE,优势就是reward减去value。

bf9ca614-bdde-11f0-8ce9-92fbcf53809c.jpg


实验设置

数据集

混凝土抗压强度数据集包含1030个样本,8个特征,1个目标值。按7:3随机划分训练集和测试集。输入特征标准化到均值0、标准差1,目标值除以100归一化到(0,1)区间。

模型结构

基础架构都是全连接网络,4个隐藏层,每层64个神经元。输出层根据不同方法有各自的设计。

训练参数

统一训练2000个epoch,batch size 256,学习率0.0001。


实验结果分析

bfac3750-bdde-11f0-8ce9-92fbcf53809c.jpg

图1展示了各方法在训练集和测试集上的MSE。基线方法(不估计不确定性的普通回归)测试集MSE最低,均值对数方差最高。均值对数标准差和MC Dropout在测试集上表现相当,排第二,PPO排第三。

bfbb3cfa-bdde-11f0-8ce9-92fbcf53809c.jpg

图2画出了真实值和预测值的散点图,x轴是真值,y轴是预测。点越靠近对角线,预测越准。

bfd1952c-bdde-11f0-8ce9-92fbcf53809c.jpg

图3展示了不确定性估计的实际效果。x轴是确定性阈值,比如0.3表示过滤掉30%最不确定的预测,只保留70%最有把握的,y轴是这些筛选后样本的MSE。

基线方法没有不确定性估计,所以MSE是条平线。PPO的表现比较奇怪——按理说高标准差应该对应高不确定性,但这里似乎反过来了,筛掉低标准差的预测后MSE反而上升。这可能跟PPO用标准差控制探索有关,那些被分配低标准差的样本探索不够充分反而预测不准。

均值对数标准差、均值方差和MC Dropout三者表现接近。均值对数标准差稍微好一点,在0.55阈值之后还能继续降低MSE,而均值方差已经平了。

bfdeef4c-bdde-11f0-8ce9-92fbcf53809c.jpg

图4把PPO的不确定性顺序反过来试了试——最确定的当最不确定,最不确定的当最确定。虽然在0到0.2的区间MSE有所下降,但0.2之后又回升了。说明即便反着用,PPO的不确定性估计也不太对。


总结

在混凝土强度这个数据集上,均值对数标准差和均值对数方差两种方法在估计预测不确定性方面效果最好。MC Dropout也不错,但PPO的简化版本表现不佳,即使反转其不确定性指标也无法获得可靠的估计。

代码仓库:https://github.com/navid-bamdad-roshan/regression-with-uncertainty-methods-comparison

作者:Navid Bamdad Roshan


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106767
  • 模型
    +关注

    关注

    1

    文章

    3648

    浏览量

    51692
  • MSE
    MSE
    +关注

    关注

    0

    文章

    7

    浏览量

    6689
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    去嵌入和不确定性是否使用了正确的设置

    大家好,所以我遇到的问题是确定用于测试夹具纠错过程的适配器特征的不确定性。我们将使用适配器及其s2p文件对测试夹具中的所有信号路径进行路径表征,然后移除以进行性能测试。这个过程在不确定性计算器中被
    发表于 09-27 15:47

    E8364C PNA的不确定性和跟踪是什么?

    在中断后,我回到网络分析仪,并提出一个简单的问题。我正在阅读E8364C PNA的数据表,并遇到了E8364C PNA,不确定性和跟踪,但没有解释这些术语。我的猜测是,不确定性是与公认标准相比的误差
    发表于 10-18 17:03

    是否可以使用全双端口校准中的S11不确定性来覆盖单端口校准的不确定性

    我们一直在使用Agilent VNA不确定度计算器电子表格,让我们了解我们测量的设备的不确定性。有关单端口校准的问题:目前您必须从电子表格中选择您的VNA(带宽和平均值),然后选择校准类型(全双端口
    发表于 12-29 16:32

    N5531S TRFL不确定性

    我正在尝试使用N5531S(选择550传感器)测量接收器系统测量0到-130dBm的绝对功率水平,然后计算它的不确定性。安捷伦的应用笔记已经提到,不确定度可以使用公式+/-计算(功率计范围2-4
    发表于 02-19 15:40

    容差模拟电路软故障诊断的小波与量子神经网络方法设计

    能力是无法解决的。而量子神经网络被认为是一具有固有模糊性的网络,它的隐层单元采用多量子能级变换函数,每个多能级变换函数是一系列具有量子间隔偏移的S型函数之和,能将决策的不确定性数据合
    发表于 07-05 08:06

    测试系统不确定性分析

    测试系统不确定性分析
    发表于 09-18 09:19

    5G网络架构的不确定性及其对承载网的影响

    运营商若想在5G网络部署领先世界,必须考虑上述不确定性的风险因素,建议适度把握5G部署节奏,降低上述风险的负面影响。  4 结束语  本文通过对LTE和5G网络架构的
    发表于 12-03 16:03

    傅里叶变换与不确定性看了就知道

    傅里叶变换与不确定性
    发表于 12-30 06:41

    求解动态及不确定性优化问题的新方法

    求解动态及不确定性优化问题的新方法_刘晓
    发表于 01-07 18:56 0次下载

    LUCT工具主要特性及不确定性时钟树设计方法和算法的介绍

    时钟树设计及其设计方式是引起系统芯片性能差异的主要原因。 低不确定性时钟树[LUCT]设计及算法与在系统芯片上实现的第一层时钟树的物理定义有关,能够让设计人员克服传统设计方法的所有低效率问题。 从
    发表于 11-29 10:58 6次下载
    LUCT工具主要特性及<b class='flag-5'>不确定性</b>时钟树设计<b class='flag-5'>方法</b>和算法的介绍

    如何用不确定性解决模型问题

    再比如,你想搭建一个模型,要在一系列动物图片中预测哪种动物会吃掉你。假设你在训练时给模型提供的都是狮子和长颈鹿的照片,现在模型看到了一张僵尸照片。由于之前它没有见过僵尸,所以这里的不确定性就非常高。如果在训练时能提供足够的僵尸照片,那么模型的不确定性会随之减少。
    的头像 发表于 09-07 09:45 5797次阅读

    针对自闭症辅助的不确定性联合组稀疏建模方法

    自闭症是一神经发育障碍类疾病,其诊断过程存在着很大的不确定性。目前已有的面向自闭症诊断的建模方法没有针对诊断过程的不确定性进行有效硏究。为
    发表于 04-07 11:23 2次下载
    针对自闭症辅助的<b class='flag-5'>不确定性</b>联合组稀疏建模<b class='flag-5'>方法</b>

    深部目标姿态估计不确定性量化研究

      FastUQ 是一新的用于深部目标姿态估计的快速不确定性量化方法,具有高效、即插即用的特点,支持一类通用的姿态估计任务。这项研究在自主
    的头像 发表于 04-26 16:18 1576次阅读

    不确定性感知和姿态回归结合用于自动驾驶车辆定位

    提出了一联合训练姿态估计不确定性方法,其具有可靠的不确定性估计和改进的训练稳
    的头像 发表于 01-30 11:30 1979次阅读

    科技云报到:数字化转型,从不确定性确定性的关键路径

    科技云报到:数字化转型,从不确定性确定性的关键路径
    的头像 发表于 11-16 16:52 1023次阅读
    科技云报到:数字化转型,从<b class='flag-5'>不确定性</b>到<b class='flag-5'>确定性</b>的关键路径