资讯动态

科学机器学习可信度:影响函数与数据归因如何落地光谱推断

发布时间:2026/8/29 20:12:40 来源:尧图企业网站定制
在做科学机器学习的人和做普通业务机器学习的人最大的区别在哪里业务模型出错后果可能是推荐不准、广告点击率下降、客服机器人答非所问。科学模型出错后果可能是一个错误的物理结论进入论文然后被后续几百篇工作引用。更麻烦的是科学问题里的模型几乎都在做“反演”——从观测数据反推物理参数这类问题标签很脏、噪声很大、误差范围也远不是“分类准确率”能描述的。Ariel 任务就是这样的典型场景。它是欧洲空间局的一颗系外行星大气观测卫星计划对约 1000 颗系外行星进行可见光到红外波段的光谱观测从光谱里反演大气温度、化学丰度、云层覆盖等物理参数。当模型输出一个“水蒸气丰度 10⁻⁴”这样的结论时科学家真正关心的不是这个数字本身而是三个问题它可不可信是哪些训练样本把它推到了这个值如果训练样本里混入了系统偏差结论会不会被带偏这就是影响函数Influence Functions、数据归因Data Attribution和误差代理Error Proxies要回答的问题。这篇博客的标题对应的工作核心就是把这套工具箱引入 Ariel 任务的光谱推断流程让“光谱 → 物理参数”的机器学习推断变得可追溯、可审计、可给出无标签条件下的误差估计。我的核心判断是这类方法不是在给模型“加一个解释性功能”而是在给科学机器学习补上可信度的基础设施。没有它你在高影响场景下根本不敢放心使用黑箱回归模型。文章会从四条线展开先对齐四个核心概念再梳理影响函数的数学原理和高效近似方法然后落到 Ariel 光谱推断的具体场景最后给出三组可以复制运行的最小代码示例并补充常见问题与工程建议。如果你正在做反演类模型、科学数据回归或者需要给模型预测加“数据溯源”和“无标签误差估计”这篇文章应该值得收藏。1. 这篇文章真正要解决的问题先别急着看公式。我们从一个更实际的视角出发当你训练好一个光谱推断模型你手里的东西到底是什么输入是一道带噪声的观测光谱输出是一个物理参数向量比如温度轮廓、气体丰度、云顶高度。模型在测试集上的 RMSE 可能很漂亮但科学任务的要求比 RMSE 高得多第一预测要有“可追溯性”。审稿人或下游科学用户会问这个结论为什么是这样如果模型告诉你这颗行星有水的信号它依据的是训练数据里的哪一部分是真实物理信号还是被某些仿真样本的分布偏移“拽”出来的第二训练数据要能“归因”。仿真训练集是按参数网格生成的如果某些参数区间采样稀疏模型在那个区域就是“盲猜”。数据归因能帮你找出当前预测主要受哪些训练样本驱动这些样本本身是否可靠。第三没有标签时也要能估计误差。真实观测没有真值你永远不知道反演出的丰度是偏了 10% 还是偏了一个量级。误差代理Error Proxy就是用模型自身的行为给每个预测打一个“可能错了”的分值。这三个问题恰好对应三个方法影响函数量化某个训练样本对某个预测结果的影响。数据归因把影响分数汇总告诉你是“哪些数据”决定了这个结论。误差代理用影响函数的衍生量估计模型在无标签数据上的预测稳定性进而代理真实误差。如果你只是做常规业务模型这三个问题未必每次都重要。但如果你做的是科学反演、天文数据处理、遥感反演、气候参数估计这类任务模型输出是要进入论文、进入决策、进入下一代观测规划的那么“预测 归因 误差估计”这三件套就是必需品而不是可选项。2. 核心概念影响函数、数据归因、误差代理与光谱推断这五个词放在同一篇文章里彼此之间有清晰的逻辑关系。先逐个讲透。2.1 影响函数影响函数来自稳健统计学Hampel 在 1974 年提出2017 年 Koh 和 Liang 把它引入深度学习用来回答“如果把训练集里的某个样本稍微加大权重模型参数和测试损失会怎么变”。直觉可以这样理解你有一个已经训练好的模型现在往训练集里加入一个微小扰动 ε相当于把一个样本的权重从 1/n 变成 1/n ε模型重新训练后某个测试点的损失会变化多少把这个变化量对 ε 求导得到的就是“这个训练样本对该测试点损失的影响”。影响函数的好处是不需要真正重新训练只需要在已收敛的模型参数处计算梯度与 Hessian 的逆就能得到一阶近似。这个一阶近似在模型接近收敛、损失函数平滑时非常准确。2.2 数据归因数据归因是把“影响”变成可操作的清单对某个测试预测把训练样本按贡献排序找出 top-5、top-10 的“关键证据”。实现方式不止影响函数一种。常见的有Leave-one-out逐个删除训练样本重新训练观察预测变化最准确但计算量巨大。Shapley 值从博弈论角度给每个样本分配贡献理论漂亮但指数级复杂度。TracIn利用训练过程中的梯度轨迹做近似归因。影响函数在训练收敛点做局部线性近似性价比最高。在 Ariel 任务这种训练集可能包含几十万条仿真光谱的场景里重训方法完全不现实影响函数几乎是唯一务实的选择。2.3 误差代理误差代理解决的是另一个问题没有真实标签时如何估计模型预测的误差比如真实观测光谱反演出来的大气参数没有“真值”可以比对。误差代理的思路是用模型自身的敏感性来预测“哪里容易出错”。一个经典的代理就是基于影响函数的预测稳定性。如果某个测试点的预测在删除若干训练样本后会发生大幅偏移说明该预测不稳定真实误差大概率也大。用这种“留一法预测偏移量”作为代理分数可以和少量带标签验证集上的真实误差做相关性检验从而验证代理是否有效。这个概念对科学任务尤其重要误差代理可以直接用来筛选“最需要重新观测的目标”优化观测时间分配。2.4 光谱推断光谱推断Spectral Inference是天文领域的反演任务给定观测光谱反推天体物理参数。传统做法是贝叶斯反演建立辐射传输前向模型用 MCMC 或嵌套采样在各种参数组合下生成模拟光谱与观测光谱比较得到参数后验分布。这种方法准确、可解释但极慢一条光谱可能要跑数小时到数天。于是很多人开始用机器学习模型做“光谱 → 参数”的直接映射速度提升几个数量级却带来了可追溯性和置信度问题。Ariel 任务对约 1000 颗行星做光谱观测总量不多但参数空间复杂、观测噪声大、前向模型本身有系统误差正是影响函数和数据归因最有发挥空间的场景。3. 影响函数的数学原理与高效计算这一节讲清楚公式以及为什么真正的工程难点不在公式而在 Hessian。3.1 基本定义假设我们有一个经验风险最小化问题θ̂ argmin_θ (1/n) Σᵢ L(zᵢ, θ)其中 zᵢ (xᵢ, yᵢ) 是训练样本。如果我们把某个训练样本 z 的权重增加一个无穷小量 ε参数会变成θ̂_{ε,z} argmin_θ (1/n) Σᵢ L(zᵢ, θ) ε L(z, θ)对 ε 求导利用最优性条件可以得到参数变化量dθ̂_{ε,z} / dε |_{ε0} -H^{-1} ∇_θ L(z, θ̂)其中 H 是损失函数在 θ̂ 处的 Hessian 矩阵H (1/n) Σᵢ ∇²_θ L(zᵢ, θ̂)于是训练样本 z 对测试点 z_test 损失的影响就是I(z, z_test) dL(z_test, θ̂_{ε,z}) / dε |_{ε0} -∇_θ L(z_test, θ̂)ᵀ H^{-1} ∇_θ L(z, θ̂)这个公式看起来简单但包含两个工程难题一是 H 是参数维度的矩阵神经网络参数动辄百万显式存储 H 需要 TB 级内存二是求 H⁻¹ 本身无法直接计算。3.2 为什么不能直接求逆假设模型有 100 万个参数Hessian 就是 100 万 × 100 万的矩阵float32 存储需要 4 TB。这还只是单个模型参数量的情况Ariel 光谱反演模型虽然可能参数不多但原理相同任何“先构矩阵再求逆”的思路都不适用于现代神经网络。所以工程上几乎都采用“隐式”方法只计算 Hessian 与向量的乘积HVP然后通过迭代算法求解 H⁻¹v。HVP 可以用自动微分的 JVPJacobian-vector product高效计算复杂度与一次反向传播相当。3.3 高效近似方法目前主流的高效近似有三类第一类是共轭梯度CG。把 H⁻¹v 的求解看作线性系统 Hx v用 CG 迭代求解。每次迭代只需要一个 HVP不需要显式 Hessian。对于参数维度几千到几十万的模型这是最直接的方法。缺点是 Hessian 必须正定否则 CG 不收敛通常需要加 jitter 或 L2 正则。第二类是随机估计代表方法是 LiSSA。把 H⁻¹ 展开成 Neumann 级数用随机采样近似每一层的梯度外积适合超大规模模型但收敛性对超参数敏感。第三类是低秩近似。用 Lanczos/Arnoldi 算法计算 H 的 top-k 特征对然后截断求伪逆。适合 Hessian 谱分布集中、有效秩较低的场景。对于 Ariel 任务这类

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价