机器学习不确定性量化

分类: 解析 | 综合版 2026-04-06
ML uncertainty quantification theory in CAE: comparison of epistemic (model) uncertainty versus aleatoric (data) uncertainty
理论与物理的世界

ML不确定性量化的理论基础

概述

🙋

机器学习预测中的「不确定性」是什么意思?


🎓

在CAE中使用ML代理模型时,不仅要输出预测值,还要同时输出「该预测的可信度」。不确定性量化(UQ)是为预测添加置信区间的技术,确保决策的可靠性。


🙋

为什么在CAE中特别重要?


🎓

安全系数的设置和规格合规判定需要的不仅是预测值,还需要误差范围。ML模型仅说「该零件的最大应力是200 MPa」是不够的,必须能说「200 MPa ± 15 MPa(95%置信区间)」才能用于设计判断。


不确定性的分类

🙋

不确定性也有分类吗?


🎓

分为两大类。


  • 偶然性不确定性(随机不确定性): 数据本身内在的噪声。源于测量误差和制造波动。增加数据也无法降低
  • 认识论不确定性(知识性不确定性): 由模型知识不足引起的不确定性。在学习数据少的区域增加。增加数据可以降低

🙋

用公式怎样分离这两种不确定性?


🎓

使用MC dropout或Deep Ensemble进行分离。设$T$次前向传播的预测为$\hat{y}_t$,各次传播的预测方差为$\hat{\sigma}_t^2$,则


$$\text{Var}[y] \approx \underbrace{\frac{1}{T}\sum_{t=1}^{T}\hat{y}_t^2 - \bar{y}^2}_{\text{认识论}} + \underbrace{\frac{1}{T}\sum_{t=1}^{T}\hat{\sigma}_t^2}_{\text{偶然性}}$$

第一项是由模型参数不确定性引起的方差,第二项是由数据噪声引起的方差。


贝叶斯推断的框架

🙋

请说明贝叶斯方法的关系。


🎓

严格的贝叶斯推断中,我们求参数$\theta$的事后分布$p(\theta|\mathcal{D})$,并通过积分计算预测分布。


$$p(y|\mathbf{x}, \mathcal{D}) = \int p(y|\mathbf{x}, \theta) p(\theta|\mathcal{D}) d\theta$$

但这个积分无法解析求解,所以使用MC dropout(将dropout解释为贝叶斯近似)或Deep Ensemble(用多个模型的预测分布近似)。高斯过程回归自然符合这个框架,但在大规模数据中存在可扩展性问题。

Coffee Break 碎碎念

贝叶斯统计与ML不确定性——「作为概率的预测」的哲学

「这个仿真结果有多可信」——这个问题的正面回答正是ML不确定性量化(UQ)理论。传统神经网络仅给出点估计(单一答案),不提供置信区间。贝叶斯神经网络(BNN)把模型参数本身当作概率分布处理,输出「答案的分布」。理论上很优雅,但在数百万参数的NN中计算真实事后分布是不可行的(NP困难),所以使用变分推断(ELBO最大化)或MCMC进行近似。在CAE应用中,坠毁仿真的应力峰值预测需要「95%置信区间内±15MPa」的形式输出,保险和认证机构的压力加速了UQ研究。

ML不确定性量化的数值计算方法

主要方法的实现

🙋

具体怎样实现?


🎓

总结代表性方法。


方法原理实现难度计算成本
MC Dropout推断时启用dropout进行T次预测简单T倍
Deep Ensemble训练M个独立模型中等M倍
贝叶斯NN (VI)变分推断近似参数事后分布困难2~3倍
高斯过程回归核方法非参数回归中等$O(N^3)$
Evidential DL用Dirichlet分布同时推估偶然性/认识论中等1倍
🙋

看起来MC Dropout最方便。


🎓

正是这样。如果已有带dropout的NN,只需在推断时以model.train()模式运行T次(50~100次)预测。平均值是预测值,方差是不确定性。但dropout率的设置会影响标定,需要注意。


标定

🙋

怎样确认不确定性估计是「正确的」?


🎓

标定(校准)是关键概念。如果95%置信区间实际包含95%的数据,则模型称为「well-calibrated(良好标定)」。


  • 标定曲线: 预期置信度与实际覆盖率的对比图
  • Expected Calibration Error (ECE): 标定的定量指标
  • 温度缩放: 后处理改善标定的方法

🙋

标定偏移会怎样?


🎓

过度自信(置信区间过窄)很危险。例如标称「95%置信区间」实际只覆盖70%,会导致设计判断错误。温度缩放是简单的后处理,将输出层logit除以温度参数$T$,但对标定改善非常有效。


输出形式的设计

🙋

怎样的输出形式对CAE工程师最友好?


🎓
  • 在VTK格式中输出每个节点的应力预测值和标准差,用ParaView将不确定性作为地图可视化
  • 预测分布的95百分位数用作「最坏情况估计」用于设计判定
  • 不确定性超过阈值的区域高亮显示,自动指出需要补充FEM全解析的位置
  • Coffee Break 碎碎念

    推断时启用Dropout——MC Dropout的窍门

    作为贝叶斯神经网络的近似方法,实现最简单的是「MC Dropout」。2016年Gal & Ghahramani在NIPS发表的技术,对现有带dropout的NN,推断时不关闭dropout(通常推断时关闭),而是执行T次概率前向传播,用其方差作为不确定性的代理指标。实现只需改几行代码,这是压倒性的优势。但也有陷阱:dropout率低会导致不确定性被低估,高了会降低精度。在CAE代理模型中应用时,必须通过验证测试确认在训练数据少的输入空间端(外推区域)不确定性确实增大,否则会产生「看起来可信其实不可信」的模型。

    ML不确定性量化的实务应用

    实务活用流程

    🙋

    在实务中使用UQ型ML模型的步骤是什么?


    🎓

    1. 把握学习数据的不确定性: 首先量化输入数据(材料常数、荷载等)的不确定性和输出数据(FEM解)的网格误差

    2. 选择UQ型ML模型: Deep Ensemble是首选(实现相对容易且性能稳定)

    3. 验证标定: 在测试数据中确认置信区间的覆盖率

    4. 设置设计判定准则: 事先确定包含不确定性的安全系数设置方法

    5. 继续监控: 运营期间定期确认标定是否保持


    最佳实践

    🙋

    避免失败的关键是什么?


    🎓
    • 在训练数据少的区域,认识论不确定性会增加,将其作为「功能」而非「缺陷」利用。代理模型可自动检知外推限制
    • 考虑不确定性的传播。输入参数不确定性 → ML模型不确定性 → 设计指标不确定性的链条要追踪
    • 「不确定性大」不是「出错」而是「不明确」。这个区别务必在团队中共享
    • 必须用独立测试集评估标定。用训练数据评估没有意义

    • 应用案例

      🙋

      有什么具体效果?


      🎓
      场景无UQ有UQ
      代理最优化最优解收敛到非物理区域回避不确定性大的区域,获得可信度高的最优解
      数字孪生预测可信性不明确预测精度下降处发送警报通知
      安全评估用点估计值判定安全系数用预测分布的上尾概率判定安全系数
      主动学习随意选择下一个样本点选择不确定性最大的点,高效收集数据
      Coffee Break 碎碎念

      核聚变炉设计与UQ——「无法计算的未知」的数值化挑战

      核聚变炉设计充满不确定性。等离子体行为是非线性且混沌的,材料特性在高中子线照射环境中的实测数据极其稀少。EUROFUSION项目对ITER第一壁(与等离子体接触的炉壁)热负荷解析采用基于高斯过程回归的UQ。设定物理参数的不确定性分布,用MC采样数千次,用GP代理评估,推估炉壁熔融风险的概率分布。实用上的重点是「参数不确定性设置」对结果影响巨大——材料热导率设定为±10%还是±30%的不确定性会改变设计判断。如何将专家主观判断转化为贝叶斯先验分布是体现功力之处。

      ML不确定性量化的软件比较

      🎓
      工具类型UQ方法特点
      GPyTorch开源高斯过程PyTorch基础,GPU支持,可扩展
      Uncertainty Toolbox开源评估指标标定评估的标准工具
      TensorFlow Probability开源贝叶斯NN, VITF集成,概率编程
      Pyro/NumPyro开源概率编程灵活的贝叶斯建模
      UQLab学术PCE, KrigingMATLAB, ETH Zurich开发
      Dakota开源/DOEUQ集成Sandia, 代理+UQ
      Ansys optiSLang商用灵敏度分析+UQCAE工作流集成
      🙋

      有支持UQ的商用工具吗?


      🎓

      Ansys optiSLang是CAE向UQ的代表。从代理模型构建到元模型精度评估、灵敏度分析、可靠性分析一应俱全。MATLAB + UQLab在学术界广泛使用。


      选择指南

      🙋

      怎样选择?


      🎓
      • 研究阶段选用GPyTorch + Uncertainty Toolbox,与Python生态最兼容
      • 需要与商用CAE集成就选Ansys optiSLang或Dakota
      • 需要贝叶斯建模的灵活性选Pyro/NumPyro
      • 想快速开始就在现有PyTorch模型上添加MC dropout
      • Coffee Break 碎碎念

        Dakota与UQLab——UQ工具的两大巨头对比

        ML不确定性量化的实现用专用框架很方便。代表是Sandia国家研究所开发的「Dakota」,提供从多维采样(拉丁超立方、稀疏网格等)到GP代理、灵敏度分析的一整套免费功能。与设计最优化的集成强势,在核和航空航天领域实绩丰富。另一方面,瑞士ETH苏黎世的「UQLab」以MATLAB为基础,学习成本低,机械系工程师容易上手。Python用户中chainspy·OpenTURNS·SALib的组合很流行,与Scikit-learn的联动也很顺畅。商用方面Ansys optiSLang(原SoSNoW)以GUI方式支持UQ,在大规模模型应用中计算成本估算功能很有用。

        ML不确定性量化的先端研究

        最新研究动向

        🙋

        这个领域的最前沿在进行什么研究?


        共形预测

        作为分布无关的不确定性量化而受关注。使用学习数据残差的分位点构造任意置信水平的预测区间。不需要模型的分布假设,可对任何ML模型事后附加,这是强项。CAE代理模型的应用正在增加。

        神经过程

        可看作高斯过程的神经网络版本。从上下文数据(已知的输入输出对)用元学习方式生成预测分布。在少量数据下的不确定性推估优秀,与CAE自适应采样相性好。

        UQ的标准化

        ASME V&V 20和NAFEMS指南中要求量化仿真结果的不确定性。ML代理模型的UQ如何定位于这些框架的讨论活跃化。

        🙋

        今后的方向如何?


        🎓
        • 计算成本为零的UQ方法开发(单一前向传播推估不确定性)
        • 与分布偏移检测的集成(自动检知输入偏离训练分布)
        • 多保真度UQ(整合精度不同的多个模型的不确定性)
        • 为规制对应确立UQ认证框架
        • Coffee Break 碎碎念

          共形预测——「覆盖率保证」的革命性保证

          作为贝叶斯方法的替代新潮流,「共形预测(Conformal Prediction)」引起急速关注。这个方法的强项是不依赖模型假设(高斯分布等),「有限标定数据就能保证预测区间的有效覆盖率(比如90%)」的统计严格保证。2023年MIT团队将共形预测用于CFD代理模型,对乱流翼型升力系数预测生成「90%概率包含真值的区间」的预测区间成功。在航空航天、医疗器械等认证严格的领域,要求「概率论保证」的情况很多,共形预测与这些领域的CAE相性极好。

          ML不确定性量化的故障排除

          常见问题及对策

          🙋

          实现UQ型ML模型出问题了怎么办?


          🎓

          介绍典型问题。


          1. 不确定性均匀过大(与无信息状态无异)

          原因与对策:

          • Dropout率过高。试试0.1~0.2而不是0.5
          • Ensemble成员过少。增至5个以上
          • 模型表现力不足。用更大的网络

          2. 不确定性均匀过小(过度自信)

          原因与对策:

          • 标定有偏。用温度缩放后处理
          • 学习数据的偶然性不确定性被低估。确认数据的偶然性不确定性
          • 模型正则化弱。增加Weight decay或dropout

          3. 标定曲线偏离对角线

          原因与对策:

          • 过度自信(曲线在对角线下方): 增加温度参数或应用Platt scaling
          • 过小信心(曲线在对角线上方): 降低温度参数
          • 也可用Isotonic regression非参数修正标定
          🙋

          在外推区域不确定性会正确增大吗?


          🎓

          Deep Ensemble在外推区域认识论不确定性趋向增大,但无保证。MC dropout对外推的不确定性增长较弱。要确实检知外推,建议另外实现输入空间的覆盖率检查。


          4. 计算成本无法接受

          对策:

          • 减少MC dropout的T值(100→20有时就足够)
          • Ensemble推断批并行化
          • 切换到Evidential Deep Learning等单次前向传播方法
          Coffee Break 碎碎念

          GP代理「自信错误」——外推区域的危险性

          高斯过程(GP)代理理论上,离训练数据远的区域(外推)不确定性应自动增大——却应如此。但实务中常失效。例如核函数选错(用RBF核但实际响应周期性)就会在外推区外推不确定性被低估。某航空发动机冷却孔设计最优化项目中,GP代理对训练范围外的形状参数持续返回「置信区间窄且大幅偏离的预测」。原因是RBF核的长度尺度对训练数据范围过度拟合。对策是「用留一法交叉验证定期重新最优化核」和「设计空间边界附近强制用真CAE重算」的组合。

          对结构解析的收敛问题或计算成本感到困扰吗?—— Project NovaSolver是面向解决实务人员日常面临课题的研发项目。

          请告诉我们您在ML不确定性量化实务中感受的课题

          Project NovaSolver以解决CAE工程师日常面临的课题——设置的复杂性、计算成本、结果解释——为目标。您的实务经验成为更好工具开发的原动力。

          咨询(筹备中)

          相关领域

          结构解析流体解析V&V、质量保证
          本文的评价
          感谢您的回答!
          有参考
          价值
          想看更
          详细
          报告
          错误
          有参考价值
          0
          想看更详细
          0
          报告错误
          0
          Written by NovaSolver Contributors
          匿名工程师与AI —— 网站地图
          查看个人资料