观潮 · 模式预报与气象 AI 观察
用梯度外积解释 ENSO:AI 说要变冷,为什么?
这篇论文在讲什么事
现在做气候预测的 AI,本事不小——给它历史海温,它能提前几个月预报出明年是暖还是冷。
但有个尴尬问题没人回答:它到底看的是什么?
一个神经网络算出"未来会有 El Niño",你问它为什么,它给你画一张五颜六色的热力图。你根本没法判断哪块是真的、哪块是模型自己在画。
这篇论文解决的是这个问题:能不能把"AI 看到了什么"变成一件可以打分、可以验证、甚至可以用它反过来做实验的事?
作者提出的方法叫 AGOP(平均梯度外积),在 ENSO 预测上做了完整测试,并且——这是最狠的一步——用 AI 给出的解释,反过来去操控海洋模式,真的把 El Niño 造出来或压下去了。
---
先说清楚 ENSO 在预测什么
这篇论文用的不是真实观测,而是 Zebiak-Cane(ZC)模式——一个中等复杂度的热带太平洋海气耦合模式。
它的构造是这样的:
- 大气:一层,稳定的,线性浅水方程控制
- 海洋:上面一层温暖可平流的表层海水,下面是静止的深层海水
- 两层之间的界面就是温跃层——海洋里温度垂直梯度最强的那一层
关键在于:海水热含量在温跃层里"存"着,"放"着。 暖水积累够了,就会放出来,海表温度升高 → El Niño。所以提前几个月预报的关键不只是当前海温,还包括温跃层现在有多深、里面存了多少热。
ZC 模式模拟了 12000 年,作者拿其中 10000 年训练 AI。
图 3:ZC 模式的输入区域

论文图 3:黑框标出 Niño-3 区域,蓝框标出 ZC 模式的输入区域(20°S–20°N、126.5625°E–81.5625°W)。用海温异常、温跃层深度异常以及纬向和经向深度平均海流来预报 Niño-3 指数。背景为 NOAA ERSSTv5 的气候平均海温。
---
三个指标量"解释好不好"
这是全文最实用的部分。已有的 AI 可解释性方法(比如 Integrated Gradients)没有统一的评判标准,作者定义了四项,每项都是越高越好,最高 1 分:
指标 · 白话 · 问的是什么问题
**敏感度** · 这条解释方向,真的能让预测变吗? · 指的方向对不对
**归因** · 沿这条方向走,预测变化能重现原来的变化吗? · 解释是不是"够用"
**稳健性** · 输入稍微变一点,解释方向会乱跑吗? · 解释稳不稳
**空间一致性** · 解释图是平滑的,还是像棋盘格一样乱? · 解释符不符合物理直觉
为什么必须四项一起看:很多方法在这四项上此消彼长。比如梯度法(直接用局部梯度当解释)敏感度永远是满分 1.0,但它在归因和稳健性上很差——就像一个"很敏感但完全不管用"的人。
图 2:空间一致性怎么打分

论文图 2:空间一致性示意。左图为邻接图,把同一物理场中相邻网格点连接起来;中间为平滑图案,一致性高;右图为棋盘格交替图案,取到最低分 S_c = −1。作者的判据不同于 Bommer 等人(2024)的忠实性定义:后者只遮蔽归因幅值最大的少数坐标点,本方法则对全部网格一视同仁地衡量。
---
AGOP 到底做了什么
方法本身不复杂,但思路很巧。
第一步:在很多样本上,把"梯度"两两相乘再平均。
梯度就是"输入往哪个方向动,预测变化最快"。但直接把所有样本的梯度平均,方向相反的会互相抵消。所以作者改成:先平方(外积),再平均。这样方向的正负被平方掉了,只保留"这个方向上,预测变化有多剧烈"。
结果得到一个矩阵,它的含义是:哪些输入方向,在很多样本上都能引起大的预测变化。
第二步:拿当前这个具体样本去查这个矩阵。
不是返回一个固定的"全局最重要方向",而是看当前输入异常在那些重要方向上的投影,据此给出一个针对这个样本的解释。
所以 AGOP 是"输入特定"的——同样的方法,解释不同的样本会给出不同的方向。
和一个简单例子对比一下就懂了:
假设要解释的函数是 f = x₁ − x₂,当前输入是 (1, −1)。
- 梯度法给
(1, −1):✅ 完全正确,沿它走预测确实变化最大 - Integrated Gradients 给
(1, 1):❌ 沿这个方向走,预测完全不变(因为 +1 和 −1 正好抵消)
明明"各坐标贡献加起来等于预测差"是对的,但给出的方向完全没用。
图 1:那个经典反例

论文图 1:对线性模型 f(x) = x₁ − x₂,在 x = (1, −1) 处,输入与梯度都指向 (1, −1),而 Integrated Gradients 与 GradientSHAP返回的是与之正交的归因向量 (1, 1)。沿 (1, 1) 方向走,预测值完全不变。
---
效果
作者训练了三种网络(MLP、CNN、ViT),参数量都在 21 万到 24 万之间,刻意做得一样大,避免"谁大谁赢"的干扰。
图 4:预报本身有多准

论文图 4:留出测试期某100 年片段上的 Niño-3 指数与 CNN 预报(提前5 个月和 10 个月)。CNN 用 10000 年 ZC 数据训练。模拟中每月有三个时间点;对提前 k 个月的预报,训练网络从 x_t 预测 y_{t+3k}。每个提前量单独训练一个模型,下文多数结果用 10 个月提前量。
图 5:需要多少数据才学得会

论文图 5:跨五个随机种子的测试集 R²。左图为 10 个月提前量下技巧随训练集规模的变化;右图为技巧随提前量的变化,分别给出用 10000 年(实线)和50 年(虚线)训练的 MLP、CNN 和 ViT。
在提前 10 个月预报一个极端 El Niño(+4.45°C)的场景下:
方法 · 归因 · 稳健性 · 空间一致性
**AGOP** · **0.90 / 0.83 / 0.95** · **0.88 / 0.86 / 0.89** · **0.67 / 0.80 / 0.34**
梯度法 · 0.87 / 0.20 / 0.037 · 0.64 / 0.41 / 0.46 · 0.59 / 0.51 / 0.13
Integrated Gradients · 0.14 / 0.035 / 0.67 · 0.48 / 0.44 / 0.56 · 0.38 / 0.39 / 0.13
GradientSHAP · 0.16 / 0.0015 / 0.60 · 0.58 / 0.55 / 0.64 · 0.38 / 0.48 / 0.13
读法:
- 归因、稳健性上 AGOP 全面胜出,ViT 上归因 0.95 对梯度法的 0.037,差 25 倍
- 空间一致性上 ViT 只有 0.34——说明它给出的解释图有"补丁块"伪影(Transformer 处理图像的经典问题)
- 敏感度上梯度法 1.0 领先,但这是定义决定的,不是 AGOP 输
一个更有说服力的发现:预报提前量拉长时,差距拉大。
提前 1 个月时,四种方法都还行。提前 12 个月时,梯度法和 IG 的稳健性掉到 0.38–0.55,AGOP 还能保持 0.80。 长期预报还能给出稳定的解释,比短期更难。
图 6:解释质量随提前量的变化

论文图 6:Rudin(2019)、Bordt 等(2022)、Mamalakis 等(2022)、Bommer 等(2024)都指出过后验 XAI 方法存在稳健性和连贯性问题。提前 1 个月时,四种方法的稳健性为 0.94–1.00、连贯性为 0.85–0.90;提前 12 个月时,基线方法的稳健性和连贯性掉到 0.38–0.55,而 AGOP 仍保持 0.80 的稳健性和更高的连贯性。
---
它解释出了什么物理
这是全文最有价值的部分。
提前 10 个月时,AI 主要在看温跃层
AGOP 给出的解释显示:提前 10 个月时,模型主要依赖温跃层深度,不是海表温度。
图 7:四种解释方法在同一事件上的分歧

论文图 7:顶栏为所选极端 El Niño 事件(+4.45°C)前 10 个月的标准化温跃层深度异常(填色)与深度平均海流(箭头)。其余各栏为 AGOP、GradientSHAP、IG 和 GRAD 的解释结果(按行),对应 MLP、CNN 和 ViT(按列)。每个面板内填色与流矢幅值分别单独归一化到 1。
更精确地说,在 10 个月提前量下,温跃层深度和两个海洋流场合计占解释量的 67%–84%。
这个发现和理论对得上:El Niño 的机理就是再充电振荡器——风应力异常让赤道暖水"充电"或"放电",温跃层随之变浅或加深,这个状态为几个月后的海表温度异常提供"预条件"。AI 自己学出来的机制,和教科书上的是一致的。
冷事件是几乎完全的反号
极端 La Niña(−2.14°C)的温跃层解释,和 El Niño 的余弦相似度是 −0.959——接近完全相反。说明模型学到的确实是同一个物理机制的正反两面。
但作者很小心,指出了一个例外
AGOP 还在东南太平洋找到一个信号区。而这个区域超出了最简单的赤道对称再充电图景。
作者的处理很谨慎:不把它说成发现,说成"可能由 ZC 模式特有、需要进一步验证的候选机制"。
这一点特别值得学习——AI 给出的解释不一定就是真物理,也可能只是这个模式的特性。
一个漂亮的过渡:解释重心随时间迁移
提前量 · 主要看什么
10 个月 · 温跃层深度
5 个月 · 海表温度开始超过温跃层
**1 个月** · **海表温度占解释量 89%–90%**
AI 的关注点从"水下深处的信号"迁移到"海表面",这个迁移过程正好对应从物理预条件到持续性预报的转变。
图 8:极端 El Niño 的演化

论文图 8:走向所选极端 El Niño 事件(+4.45°C)的演化。行分别为所选事件、测试集中最强 10% 完整 El Niño 过程的合成、以及 CNN 的 AGOP XAI 解释;列分别为事件峰值前 10、5、1 个月的状态。深度平均海流在每个提前量上给出,填色在 10 个月为温跃层深度,5 和 1 个月为海表温度。
图 9:极端 La Niña 的演化

论文图 9:走向所选极端 La Niña 事件(−2.14°C)的演化,布局与图 8 相同,列对应事件谷值前 10、5、1 个月。
---
最硬的一步:反过来操控 ENSO
前面都是"解释 AI",到这里变成"用解释控制物理"。
论文的思路是:既然 AGOP 说出了"哪些海洋状态变化会导向 El Niño",那就直接去改海洋模式的状态,看能不能真的造出 El Niño。
难点:两套变量对不上
AI 看到的变量是"20×27 网格上的 4 个物理场",但海洋模式内部用的是另一套变量和网格。同一个物理状态,用两套语言描述,改一个不等于改另一个。
作者的处理:在释放前三个月,对模式的原生状态施加九个扰动,然后让模式自己跑 10 个月。
九条而不是一条,是为了给优化器足够的自由度去找合法解,同时用数学手段限制它——不许用海洋模式里从不出现的状态组合去作弊。
结果一:剂量—响应关系成立
从极端事件的解释强度出发,按不同倍数缩放:
- 加倍(1.1–1.3 倍):强事件没有明显进一步增强——系统已经饱和了
- 减半(0.1–0.9 倍):El Niño 和 La Niña 都逐渐减弱
- 减到足够低:两个事件都被反转了
这条曲线很干净,说明"AI 说的那个方向"确实是控制 ENSO 的有效方向,不是随机的相关关系。
图 10:剂量—响应曲线

论文图 10:对所选极端 El Niño 与 La Niña 事件的 AGOP 剂量—响应实验。乘数大于 1 时几乎不产生进一步增强,与饱和或非线性回归一致;逐步减小 AGOP 坐标后两个事件都逐渐减弱并反转,说明极端事件对 AGOP 图案敏感。
结果二:从平状态造出极端事件
从 10 条普通的状态轨迹出发(不是极端事件),施加扰动,让模式跑 10 个月:
事件 · 结果
El Niño · 10 次里 **9 次**终止在 4.33–4.59°C(参考极端值 4.45°C),剩 1 次 3.16°C
La Niña · 9 次有效结果落在 −1.86 ~ −1.46°C(参考极端值 −2.14°C)
从平状态出发,用 AI 给出的方向,成功造出了接近历史极端的 ENSO 事件。
图 11:10 条轨迹的 steering 实验

论文图 11:对十条均匀采样的测试轨迹做 AGOP steering 实验。左图为十条未扰动的共同轨迹;中、右图分别为完成的 10 次 El Niño 实验和 9 次 La Niña 实验。实线为未扰动轨迹,虚线为 AGOP 引导后的轨迹。填色标出三个月干预窗口,之后是十个月的自由 ZC 演化。
图 12:平均轨迹

论文图 12:El Niño(左)与 La Niña(右)steering 实验的平均 Niño-3 轨迹。每条彩色曲线把完成优化的平均响应加到 10 条对照轨迹的共同均值上,填色标出三个月干预窗口。完成的实验次数为 El Niño n = 10;La Niña 为 AGOP n = 9、GRAD n = 8、IG n = 6、GradientSHAP 与 10% 上界各 n = 10。
对比:不是所有解释方向都能用
作者还试了其他方法的解释方向去做同样的实验:
方法 · El Niño 成功次数 · La Niña 成功次数
AGOP · 10 · 9
梯度法 · 10 · 8
Integrated Gradients · 10 · 6
GradientSHAP · 10 · 10
所有用 AGOP 和梯度法的实验都把 ENSO 推向了预期方向,而 IG 和 GradientSHAP 方向一致性弱、失败率高。
---
成本
在普通四核服务器上,一次解释的耗时:
方法 · 单次解释
梯度法 · 0.005 秒
AGOP · 0.005 秒
IG · 0.51 秒
GradientSHAP · 0.48 秒
AGOP 的预处理(建矩阵 + 特征分解)要 188 秒,但只做一次,之后每次解释都很快。
所以只要模型不变、参考资料不变,AGOP 反而是长期最便宜的。