Skip to content

Fourier Neural Operators for Arbitrary Resolution Climate Data Downscaling

Status: completed

Authors: Qidong Yang, Alex Hernandez-Garcia, Paula Harder, Venkatesh Ramesh, Prasanna Sattigeri, Daniela Szwarcman, Campbell D. Watson, David Rolnick

Venue / Year: Journal of Machine Learning Research, 25:1–30 (2024; published online January 2025)

Links: JMLR article · arXiv:2305.14452 · official code

Tags: [[气象降尺度]] [[Fourier Neural Operator]] [[任意倍率]] [[Zero-shot Super-Resolution]] [[守恒律]] [[频谱归纳偏置]]

Screening Assessment

维度分数依据
创新性24/25首次把 FNO 的函数空间映射用于气候降尺度;训练一个低倍率模型即可在推理时改变离散网格,且把 SoftmaxConstraint 接到 FNO 输出端。
严谨性23/25给出有限维到函数空间的形式化、离散化逆算子和 FNO 数据流;Navier–Stokes 与 ERA5 均有约束/无约束、已见/零样本倍率对照。
主题相关性25/25直接处理 ERA5 total column water 的空间分辨率提升,并检查水量平均守恒;也关联可微 PDE 求解。
实验14/15比较 SRCNN、SRGAN、Swin、bicubic、FFNO,多倍率和两类数据集;缺少概率校准、极端事件和真实观测独立验证。
复现/迁移6/10官方仓库能复现 Navier–Stokes 实验,但不含 ERA5 数据/脚本,且实现含硬编码 CUDA;跨变量迁移需要自行补数据管线。
总分92/100严谨性与主题相关性均高于 15,无否决项,准予完整笔记。

One-Sentence Summary

DSFNO 将残差 CNN、bicubic 离散化逆算子和 Fourier Neural Operator 串联,把低分辨率场映射到一个可在任意采样网格上评价的函数;因此只用二倍训练即可零样本生成四倍输出,并在 ERA5 水含量和 Navier–Stokes 数据上超过固定倍率 CNN/GAN/Swin 基线。

Story and Section Missions

  • §1 Introduction: 说明常规 SR 网络固定输入/输出尺寸,而高分辨率气候模拟昂贵、训练样本稀缺;FNO 的分辨率不变性质提供了自然切入点。
  • §3 Methodology: 从有限维向量到 Banach 函数空间的任务定义,明确 T1T^{-1}、残差网络 fθ1f_{\theta_1} 和算子 Fθ2F_{\theta_2} 的角色。
  • §4 Experiments: 先用 2-D Navier–Stokes 检查平滑物理场,再用 ERA5 total column water 检查较噪声的再分析场;两者均评估已见与零样本倍率。
  • §4.3 PDE integration: 比较“低分辨率数值求解器 + DSFNO”与直接高分辨率 FFNO,验证降尺度作为模拟加速器的意义。
  • §5 Conclusion: 总结任意分辨率优势,同时承认 FFT 成本和对平滑模拟场的偏好。

Problem

传统模型学习固定映射 f:RdaRdbf:\mathbb{R}^{d_a}\rightarrow\mathbb{R}^{d_b}。当训练倍率为 2 时,输出尺寸被写入网络,改变到 4 倍通常需重新训练。作者改为学习

Gθ:RdaU(D;Rdu), G_{\theta}:\mathbb{R}^{d_a}\rightarrow U(D;\mathbb{R}^{d_u}),

其中 UU 是定义在连续域 DD 上的函数空间;高分辨率图像是对 Gθ(a)G_{\theta}(a) 在任意点集 DhD_h 的离散化。训练目标为

θ=argminθEaC(Gθ(a),G(a)), \theta^\star=\arg\min_{\theta}\mathbb{E}_{a}\,C\big(G_{\theta}(a),G^{\dagger}(a)\big),

实际使用离散目标 uj=T(G(aj),Dh)u_j=T(G^{\dagger}(a_j),D_h)。关键假设是目标场在不同网格上由同一个连续函数表示,且低分辨率输入与高分辨率目标具有可学习的局部关系;对强噪声、非平稳或网格拓扑改变的资料,这一假设并不自动成立。

Method

Architecture and data flow

论文的整体数据流可写为

afθ1  (residual CNN)zT1  (bicubic)ehFθ2  (FNO blocks)vhchannel MLPy^hoptional SmCLyh. a\xrightarrow{f_{\theta_1}\;\text{(residual CNN)}}z \xrightarrow{T^{-1}\;\text{(bicubic)}}e_h \xrightarrow{F_{\theta_2}\;\text{(FNO blocks)}}v_h \xrightarrow{\text{channel MLP}}\hat y_h \xrightarrow{\text{optional SmCL}}y_h.
模块输入/输出与内部结构作用与实现核验
输入与 CNNaRB×1×H×Wa\in\mathbb{R}^{B\times1\times H\times W};3×3 Conv/ReLU、若干 3×3 residual blocks、3×3 Conv/ReLU,保持低分辨率特征先把低维场编码成 ncn_c 通道特征;官方 Modules.py 默认 n_channels=64、4 个残差块(命令行默认值另设为 32/3)。
T1T^{-1}interpolate(..., mode='bicubic'),按 upsample_factor 将特征采样为 sH×sWsH\times sW不是最终答案,而是把向量特征变成可被算子处理的函数网格;推理时可传入未见过的 ss
SpectralConv2d对每个 FNO block 做 rfft2,只保留低频 mode,使用复权重 weights1/weights2 做 Einstein 求和,再 irfft2;并行 1×1 Conv w(x)w(x) 后相加频域全局混合与局部线性通道混合共同更新特征。权重初始化尺度为 (2nc)1/2(2n_c)^{-1/2};除最后一块外接 GELU。
通道投影高分辨率特征转为点值,Linear(n_c,128) + GELU + Linear(128,1)把算子特征还原为目标变量;无 dropout/attention。
SoftmaxConstraint(可选)q=exp(y^)q=\exp(\hat y),用平均池化得到 qˉ\bar q,再按 qx/qˉq\,x/\bar q 逐 super-pixel 重标定保证非负并使高分辨率均值等于 LR 输入。官方实现用 torch.kron 广播 LR 比例;数学上对应 Harder et al. 的 SmCL。

单次前向中,FNO 的谱权重只在已有的低模式上学习,因此模型的频率归纳偏置与“平滑模拟场”假设紧密相关。训练以 MSE(代码也计算 LpL_p 评估损失)反向传播;加入约束时,重标定仍可微。推理阶段关闭梯度,只改变 upsample_factor,无需改权重或追加训练。

Training and inference

Navier–Stokes 训练采用 16→32(倍率 2),每个 batch 经过随机旋转/翻转增强;代码命令行默认 Adam 学习率 10410^{-4}、权重衰减 10410^{-4}、100 epochs。ERA5 实验沿用论文设定并分别训练/测试约束与无约束模型。对于零样本测试,输入仍为 16 或 32 网格,网络在 bicubic 和 FFT 输出尺寸上直接使用 64 网格;这不是递归调用,因此避免了误差逐级累积。

Downscaling Data Audit

项目论文中的精确情况审计判断
降尺度前数据ERA5 total column water,全球小时 0.25×0.250.25^\circ\times0.25^\circ(约 25 km);从全球 721×1440721\times1440 场抽取随机 patch,并平均池化形成 32×3232\times3264×6464\times64 LR。再分析场的同源空间聚合;不是独立观测配对。
降尺度后数据每个 HR patch 为 128×128128\times128,对应 2 倍(6412864\rightarrow128)或 4 倍(3212832\rightarrow128)线性倍率;Navier–Stokes 原始解为 64×6464\times64HR 是同一 ERA5 时间步/模拟样本的细网格目标。
Ground Truth 精确类型ERA5 total column water(包含水汽、云水和云冰,不含降水)高分辨率 patch;PDE 为数值求解器生成的 64×6464\times64 涡量场。对 ERA5,GT 不是观测真值而是再分析产品;PDE GT 是数值解。
LR–HR 对齐LR 由 HR 直接 average pooling,论文称此关系对水含量守恒是物理合理的;PDE 也由 64×6464\times64 平均池化到 32/1632/16paired 且聚合关系精确;约束层可在该定义下恒等闭合。
训练与应用差异DSFNO 只用训练倍率 2,测试 1、2、4;PDE 另测试“低分辨率数值 solver + DSFNO”与 FFNO。零样本仅改变同源规则网格分辨率,未覆盖跨区域、跨变量、真实模型偏差或跨资料源。
实际意义低 / Proof-of-Concept(气象主任务):ERA5 LR 由同一 HR 平均池化,SmCL 与数据构造同构;Tables 6–9 证明任意倍率表示和闭合,却不能证明真实 GCM/NWP 降尺度。中(PDE emulation):§4.3 支持低分辨率 solver + DSFNO 的计算代理价值。任意倍率和水量闭合具有高方法价值,但数据证据不满足真实业务输入与独立 HR reference 的“高”等级。
主要风险FFT 计算和内存随网格增大;低模式截断可能抑制真实高频;作者指出模拟场优于 ERA5 噪声场;SmCL 会把 LR 偏差强制复制到 HR。不宜把较高 PSNR/SSIM 解释为概率或极端降水真实性。

通用 PSNR、SSIM、RMSE、频谱和守恒指标只链接 papers/downscaling/general_introduction,这里保留本文特有的数值与数据审计。

Claims → Evidence

Claim类型证据定位强度风险
一个低倍率训练即可任意高分辨率推理Construction + empirical§3.1–3.2 Eq. (1)–(4);§4 Table 6–9 的 1/2/4 倍测试只测试整数倍、同一规则网格,任意非均匀网格未验证。
DSFNO 超过 CNN/GAN/SwinEmpiricalERA5 Tables 6–9;PDE Tables 2–5;Fig. 4强(所列数据集)竞争模型分别按倍率训练,参数量和训练预算虽报告但并非严格同一调参流程。
频域结构帮助平滑气候模拟Mechanistic + empirical§1、§4.1、Conclusion 明确比较 PDE 与 ERA5;PDE Table 1 DSFNO MSE 0.0004/0.0018 vs FFNO-32 0.0101/0.0136中-强没有直接 PSD、谱斜率或频率分箱误差;“频谱优势”主要是架构解释。
SoftmaxConstraint 进一步提高精度并守恒水量Construction + empiricalSoftmaxConstraint;ERA5 Table 7、PDE Table 3/5前提是 LR 是 HR 的平均;真实模式输出不一定满足此关系。
可作为高分辨率 PDE 模拟加速器Empirical§4.3 Table 1:DSFNO-2 在 32/64 的 MSE 0.0004/0.0018,优于 FFNO 0.0101/0.0136 与 0.0113/0.0118仅为 2-D Navier–Stokes,未证明长时间 rollout 的稳定性。

Data and Experiments

Navier–Stokes 数据包含 10,000 个 64×6464\times64 解序列(50 个时间步),按 7,000/2,000/1,000 划分;16×1616\times1632×3232\times32 由平均池化获得。模型在 16→32 训练,测试 16→16、16→32、16→64。约束 DSFNO 在 Table 3 的 2 倍任务 MSE 0.0011、MAE 0.0196、SSIM 0.9987;4 倍 MSE 0.0029、MAE 0.0313、SSIM 0.9937。PDE integration 的 Table 1 进一步显示,低分辨率数值解再经 DSFNO 产生的 64 网格误差仍明显小于 FFNO 的自回归高分辨率解。

ERA5 从约 60,000 个小时样本随机抽取 40,000/10,000/10,000 train/validation/test patch。无约束 Table 6 中 DSFNO 在 2 倍为 MSE 0.2063、MAE 0.2392、PSNR 48.1002、SSIM 0.9941;4 倍为 0.3628、0.3067、46.0154、0.9895。加入约束的 Table 7 改善到上表所列数值。基线包括 SRCNN、SRGAN、Swin(各自按 2 或 4 倍训练)以及 bicubic;Table 10 报告 DSFNO ERA5 参数量约 15.52M,而 SRCNN 约 1.20M,说明性能比较并非轻量模型对等。

Baseline fairness and missing experiments

优点是每个倍率都有 CNN、GAN、Transformer 和插值基线,并分别报告约束/无约束结果;PDE 还加入分辨率不变 FFNO。局限包括:ERA5 patch 是随机时间抽样而非按年份或空间块留出,全球相邻 patch 的泄漏风险未量化;不同模型参数量(Table 10)相差一个数量级;论文未给出跨随机种子的置信区间。最重要的缺口是无概率 CRPS/校准、无极端降水或尾部事件、无多变量风温耦合、无显式 PSD/能谱守恒,以及没有在独立观测或真实 ESM LR–HR 对上评估 SmCL 的误约束风险。

Conservation, Spectrum, Probability and Extremes Check

  • 守恒: 对非负 total column water,SmCL 通过 exp(y^)\exp(\hat y) 和 LR/局地平均比例,逐 LR super-pixel 保证平均值等于输入;这是离散质量闭合,不是完整水循环或通量守恒。
  • 频谱: SpectralConv2d 只学习有限 Fourier modes,提供频率归纳偏置;但论文没有报告功率谱、谱斜率或高频能量误差,因此“频谱一致”不能由 PSNR/SSIM 单独推出。
  • 概率: DSFNO 是单点确定性回归;SRGAN 只是对照,未提供条件样本集合、CRPS 或可靠性图。
  • 极端: MSE 对大幅值误差敏感,作者据此解释 DSFNO 的 MSE 优势;没有 99%/99.9% 分位数、重现期或极端降水空间连通性检验。

Reviewer Feedback

JMLR 正式发表页面提供编辑信息与完整论文,但没有 OpenReview 式公开 review/rebuttal 树。这里不把页面缺失当作“无评审”,而以论文自身的局限和可复现代码审计作为审稿依据。

Limitations

ERA5 核心实验是同源平均池化的 perfect downscaling,且约束层精确复刻该观测算子;所谓 zero-shot 只是在同一规则网格族内更换倍率。论文没有真实 GCM/NWP→观测配对、球面面积权重、PSD/谱斜率、极端尾部或条件概率校准,官方代码也未公开 ERA5 管线。因而结果支持函数空间与 PDE emulation 价值,不支持直接业务有效性。

Critical Assessment

Strengths

  1. 将“任意倍率”落实为函数空间输出,而不是简单训练多个倍率模型;这是对气候数据稀缺问题有针对性的架构增量。
  2. 频域算子、插值和 CNN 的职责划分清晰,且代码与公式基本一一对应;推理时只改采样网格,数据流简洁。
  3. 约束实验不是装饰:Table 7/9 同时显示数值改善与水量闭合,并用 PDE/ERA5 两种光滑度不同的资料揭示方法边界。

Weaknesses & Risks

  1. “任意分辨率”依赖规则笛卡尔网格和固定低模式截断;全球经纬网格的极区面积权重、球面 FFT 和非整数倍率没有处理。
  2. ERA5 数据由同一场平均池化构造 LR,SmCL 与目标定义同构,容易高估守恒层的现实收益;真实 ESM 输出含参数化与网格积分差异,不能直接套用。
  3. FFT 在高分辨率下计算和显存成本高,作者在 Conclusion 也明确指出规模瓶颈;官方仓库只公开 PDE 数据脚本,ERA5 结果难以端到端复现。
  4. 频域归纳偏置可能平滑极端和小尺度对流结构;没有概率采样和尾部评价,不能替代扩散类降尺度。

Reviewer Recommendation

Accept with substantial follow-up experiments. 架构增量清楚,实验足以支持“同源数据上的任意倍率”主张;若声称可用于业务气候场,应补充球面面积权重、真实模式 LR–HR、功率谱/极端事件、概率不确定性和跨年份/区域留出。

Innovation Score: 8.8/10

  • Novelty:★★★★☆(4.7/5)——把 FNO 的分辨率不变算子引入气候降尺度,并实现零样本倍率。
  • Rigor:★★★★☆(4.4/5)——数学定义、消融和双数据集对照完整,但真实气象泛化仍有限。
  • Impact:★★★★☆(4.6/5)——适合高分辨率训练资料稀缺的模拟后处理;FFT 成本和确定性输出限制了直接部署。

Reusable Ideas

  • 用“编码低分辨率场 → 连续函数表示 → 按需离散化”的接口解耦训练倍率和部署网格。
  • 在算子学习中显式区分平滑模拟场与噪声再分析场,分别报告频率和尾部误差,而不是只汇总 PSNR。
  • 对非负守恒变量,将约束层放在算子输出之后,作为可微的 hypothesis-space 投影;使用前先验证 LR–HR 的聚合关系。
  • 把低分辨率数值求解器与高分辨率算子后处理组合,作为比直接高分辨率神经 PDE solver 更可控的基线。

Harder et al.(JMLR 2023)提出通用 hard constraint 层;DSFNO 直接复用其 SmCL,但把频域算子和任意倍率作为主要增量。后续 CorrDiff、STVD 和 consistency/diffusion 模型侧重条件概率、谱与极端事件,弥补了 DSFNO 的确定性缺口;GeoFAR 则进一步显式学习空间频率和地理编码。若任务要求严格水量闭合,DSFNO 的约束端口仍可作为扩散采样后的投影模块。

Personal Notes

本文最值得迁移的是函数空间接口,而不只是 FNO 层:输入、连续表示和输出采样分离后,倍率可以成为推理条件。下一步应把 rfft2 改造成球面/面积加权算子,并将频率截断与极端事件损失联合训练;否则模型可能在平均指标上很强,却把对流尺度的高频能量系统性抹平。

Code Verification

官方仓库 qy707/DSFNO 已浅克隆,代码用于 Navier–Stokes 实验,未下载 ERA5 数据或训练权重。

Claim论文描述代码实现核验状态
任意倍率前向DSFNO.forward(x, upsample_factor) 在 bicubic 和 FNO 输出尺寸使用倍率参数Modules.pyinterpolate(scale_factor=upsample_factor)SpectralConv2d.forward 根据输出尺寸截取 modes匹配
Fourier operator截断 Fourier mode 的线性变换 + 局部 1×1 ConvSpectralConv2d 使用 torch.fft.rfft2/irfft2、复参数 weights1/weights2einsumOperatorBlockself.w匹配
Residual CNN + channel MLPCNN 提取特征,最后点式映射到单通道conv1ResidualBlockconv2,再 Linear(n_channels,128)Linear(128,in_channel)匹配
水量约束SoftmaxConstraint 保证非负和 LR 平均expavg_pool2dtorch.kron(x/avg_y, ones) 顺序与论文一致匹配(CUDA 硬编码影响可移植性)
公开数据范围README 声明提供 Navier–Stokes 1632/6416\rightarrow32/64 数据和训练脚本README 仅说明 PDE 数据;未发现 ERA5 下载/预处理脚本部分匹配

复现风险:Modules.pytorch.ones(...).cuda()main.py 中模型/批数据的 .cuda() 假定 GPU;官方仓库没有固定依赖版本和 ERA5 数据获取脚本,CPU 或新 PyTorch 环境需要手工修改。

Static research notes built with VitePress and KaTeX.