资讯动态

任意尺度大气降尺度:隐式神经网络+混合专家打破分辨率魔咒

发布时间:2026/9/30 2:59:37 来源:尧图企业网站定制
做气候降尺度这一行谁没有被“分辨率”卡过脖子GCM跑出来的是上百公里的格点区域气候模式要下到20km城市热岛想看到1km每跨一个台阶都是一套独立建模、一堆重新处理的数据。最近我看到一个很有意思的思路标题大致是 Arbitrary scale atmospheric downscaling with mixture of implicit neural networks trained on fixed scale——用一组隐式神经网络的混合模型在固定尺度的训练数据上学完之后拿到任意目标网格上直接出结果。第一反应是这个方向终于想通怎么绕开“换分辨率就要重训”的魔咒了。这个工作解决的是大气降尺度里一个非常实际的问题传统的超分模型、统计降尺度模型基本绑死在训练时的网格上。换目标分辨率意味着重新采样、重新训练甚至重调整个pipeline。而“隐式神经网络 混合专家”这个组合把模型从像素网格里解放出来变成了一个坐标到物理量的连续映射函数。它既能用训练时的固定尺度数据也能在推理时以任意分辨率对空间连续查询。这篇文章不打算复述论文细节而是想把这类方法的原理、训练方式、推理注意事项和踩坑经验拆开聊一聊。适合正在做AI气象降尺度、遥感超分、以及想在非结构化网格上做预测的人参考。尤其适合那种已经被“切块重训”折磨过的人。1. 降尺度任务里最绕不开的“尺度绑定”1.1 为什么传统降尺度方法都有边界动力降尺度和统计降尺度是大气降尺度的两条老路。动力降尺度是把全球模式的结果作为边界条件喂给WRF、RegCM这类区域模式通过求解物理方程得到高分辨率区域气候。这种方式有物理基础但计算成本极高一个长期模拟可能要跑数周而且换一个区域、换一个投影方式边界条件、嵌套网格全都要重来。统计降尺度则是建立大尺度环流因子和局地变量之间的统计关系常见的有分位数映射、线性回归、天气分型以及后来的深度神经网络。它的优点是便宜但弱点也很明显模型大多建立在固定站点和固定经纬网格上。你训练时用0.25°的ERA5数据推理时突然要求给出0.1°网格很多方法当场失灵。传统方法的最大问题不是精度而是“尺度绑定”——模型结构的输入输出形状是写死的。对卷积网络来说尤其明显输入和输出的宽高在构建网络时就固定了想换分辨率要么resize到相同尺寸要么重新设计网络并重训。1.2 AI降尺度模型的“固定尺度诅咒”有多烦我自己的早期项目里踩过这个坑用低分辨率全球场和高分辨率区域场做成对样本训练了一个Unet超分模型在2.5°到0.25°的降尺度任务上效果不错。后来业务方说想试试0.125°我以为只需要把输出层换一下就行结果模型退化得厉害。这是因为Unet虽然可以做任意尺寸推理但训练时学到的是特定升采样比例下的卷积特征分布你改变输出分辨率感受野和像素对应关系全变了。更麻烦的是数据预处理也要重做目标网格变了边界、掩膜、地形场全都不匹配。“固定尺度诅咒”是所有基于网格的深度学习降尺度方法绕不开的宿命。它的根源在于模型把“空间”编码成了离散的像素索引而不是连续的地理坐标。空间关系一旦变模型就失效。1.3 “连续化”和“混合化”是破局关键要打破尺度绑定核心是把空间离散网格变成连续坐标。这就是隐式神经表示Implicit Neural RepresentationINR在做的事。INR不直接输出一张高分辨率图而是定义一个坐标到数值的连续函数不管目标网格是0.5°还是0.05°都可以通过改变查询坐标来实现。但单个连续函数也有问题。大气场太复杂——有锋面、对流、地形波、边界层湍流一个MLP往往只能学到低频的大尺度结构高频率的局地特征容易被平滑掉。所以这个工作引入了“混合”机制多个隐式网络作为专家各自擅长某种空间模式再由门控函数在空间上做组合。一句话总结破局逻辑用隐式函数摆脱网格束缚用混合专家提供足够的局部表达容量。训练时可以使用固定尺度的数据集推理时通过查询任意坐标实现任意尺度输出。2. 隐式神经网络把分辨率变成一种“查询方式”2.1 从像素网格到坐标场INR到底改了什么传统卷积超分模型眼里图像是一个 $H \times W$ 的张量卷积核在像素位置上滑动。隐式神经网络的眼里空间是连续的模型只负责解答一个问题“给定经纬度坐标这个地方的物理量是多少”具体来说一个隐式网络通常是一个MLP输入坐标 $\mathbf{x}(lon, lat, z)$输出目标变量 $y$中间用位置编码把低维坐标映射到高维特征空间。这样的好处是网络参数与输出分辨率完全解耦。你训练时用它输出 $32\times 32$ 的格点推理时同样一组权重可以查询 $128\times 128$、$512\times 512$甚至不规则站点坐标。对于降尺度任务来说坐标还要加上低分辨率大尺度场作为条件。也就是说不能只给经纬度查一个静态气候态要告诉模型当前的大气状态。通常做法是把低分辨率输入场编码成一个特征图查询某个目标坐标时从特征图中采样对应的局地特征把它和坐标编码拼到一起再送入MLP解码成高分辨率值。这套思路和局部隐式图像函数LIIF的做法一脉相承。2.2 固定尺度训练为什么也能任意尺度推理很多人会疑惑训练数据是固定尺度的模型凭什么泛化到任意尺度关键在于“固定尺度”指的是训练样本的输入输出空间分辨率固定而不是模型结构固定。用最直观的例子解释假设训练时输入是 $8\times 8$ 的低分辨率场输出是 $32\times 32$ 的高分辨率真值。每个高分辨率格点对应一个连续的经纬度坐标模型学的是“在某个大尺度背景条件下这个坐标位置的局地值是多少”。推理时目标换成 $64\times 64$每个格点的坐标依然是经纬度依然可以查询。模型的参数没有变变的只是查询的点数。当然这不是无条件的。如果目标分辨率远超训练时的高分辨率采样密度模型会面临外推问题。比如训练时最高只见过0.25°的细节推理时想要0.01°模型就会生成一些看起来“高频”但实际上没有训练依据的假细节。因此实际应用中一般通过坐标扰动、随机缩放的训练增强把模型的尺度适应范围拉宽一些。2.3 坐标编码和球面连续性最容易被忽略的细节在通用图像超分里坐标就是简单的 $(x,y)$ 像素坐标。但大气降尺度是在球面上做的直接把经纬度作为坐标输入会有两个问题。第一经度在180°和-180°之间是跳变的。模型无法理解这两个点实际只隔了一小段距离这会在跨日期变更线区域产生明显伪影。第二如果只用经纬度作为坐标靠近极地的区域网格会严重变形平面距离和经纬度差不再是线性关系。我见过几种处理方案最稳妥的是把经纬度投影到三维单位球面坐标x cos(lon) * cos(lat) y sin(lon) * cos(lat) z sin(lat)然后用 $x,y,z$ 作为基础坐标再做傅里叶位置编码。这样球面连续性天然满足极地附近也不会被单独拉出来“特殊对待”。如果区域范围不大也可以用兰伯特等角投影或本地切平面坐标但要记得把投影参数原样保存下来否则部署时对不上。3. 混合专家结构一个连续模型很难搞定大气场3.1 大气场的多尺度、多物理特性带来的容量问题单一MLP理论上能逼近任何连续函数但这个“理论上”背后是巨大的参数需求和训练难度。大气降尺度要学的映射非常复杂大尺度环流决定背景气温中尺度地形强迫产生山谷风对流系统带来局地强降水。这些过程的时间尺度和空间尺度差异很大用一个共享的MLP解码器容易把不同来源的细节平均掉。实际表现就是在固定尺度验证集上单隐式网络生成的场很“平”等值线光滑得像天气预报示意图但能量谱的高频段明显衰减降水极值被压低。混合专家的思路是与其让一个巨大的网络强行 memorise 所有模式不如把表达任务拆给几个专家网络。每个专家可以有不同的初始化、不同的网络宽度、甚至不同的坐标编码频率。有的专家用高频位置编码擅长抓小尺度纹理有的用低频编码擅长表示大尺度背景门控器根据当前输入和坐标自动决定谁说了算。这跟最近语言模型预训练里那类 mixture/data-mixture 的思路有神似之处比如 regmix 强调给不同数据源按回归权重做混合本质都是在“组合”这件事上做文章。只不过这里混合的是空间函数而不是数据分布。3.2 空间混合门控与专家分工门控机制最简单的做法是把坐标编码和低分辨率特征拼成一个向量送进一个小MLP输出 $K$ 个专家的权重再做 softmax。最终预测值是所有专家输出的加权和$$\hat{y}(x) \sum_{i1}^{K} g_i(x) \cdot f_i(x)$$其中 $g_i(x)$ 是门控权重$f_i(x)$ 是第 $i$ 个隐式网络在这个坐标点的预测值。这里有一个容易被忽略的问题门控权重是定义在连续坐标空间上的它必须和专家输出一样平滑否则相邻两个像素的门控权重差异很大会出现马赛克状伪影。我踩过这个坑之后会在门控小MLP输入里去掉过高频的位置编码或者对门控输出做一次高斯平滑正则。专家分工有时候会非常有趣。训练完以后去看门控权重的空间分布发现某个专家自动负责了地形复杂区域另一个专家负责海洋上空。没有人为指定任何区域标签纯粹从数据里自适应出来的。这就是混合结构的价值你不用先验地把大气分门别类只需要提供足够强的组合能力。3.3 混合权重的训练稳定性和正则化技巧混合专家结构在视觉任务里最大的麻烦是“专家退化”就是某个专家一开始学得快门控权重越来越大最后所有输入都给同一个专家其他专家成了摆设。在降尺度任务里最好从一开始就加一些负载均衡正则让各专家的累积分到训练样本大概均衡。另一个问题是门控和专家联合训练时梯度会串扰。比如门控希望选专家A但专家A当前输出不准确梯度会同时更新门控和专家A容易震荡。我习惯把门控的学习率调低一些或者给门控的梯度加一个滞后更新先训练专家几步再更新门控交替进行。还建议在训练初期不要使用太强的 softmax 温度。温度越高门控越接近one-hot收敛快但容易早停温度越低门控越平滑容错高但最终预测会模糊。我在实验里一般从温度1.0开始训练到一半再慢慢升温让专家先各自找到擅长的模式。4. 训练数据与实操流程如何在固定尺度数据上落地4.1 数据准备低分辨率输入和高分辨率标签的组织方式训练样本的准备是整个流程里最繁琐但最重要的一步。低分辨率输入不应该是高分辨率标签直接粗化出来的理想场因为真实业务里GCM输出和再分析资料之间有系统性差异。理想实验可以做“完美边界”测试但业务落地一定要用真实的全球模式输出作为低分辨率输入。我习惯的做法是准备三套数据高分辨率目标场使用ERA5或区域再分析资料分辨率至少0.1°。低分辨率条件场如果是理论实验可以对高分辨率场做面积平均如果是业务实验直接用相应时次的GCM输出。固定不变的地理场地形高度、土地利用、海岸线距离等这些场要统一重采样到模型推理时常用的网格上作为额外条件输入。时间维度上一个样本可以取某个时刻的多层气象场比如2米温度、10米风、海平面气压、500hPa位势高度。多变量一起作为输入能让模型学到变量之间的耦合关系。输出则只保留需要的降尺度变量。样本量方面固定尺度的成对数据不需要想象中那么多。因为隐式网络是在连续坐标上学习的每个格点都是一个独立训练样本。一张 $64\times 64$ 的高分辨率场就能提供4096个坐标查询样本配合多时刻数据几万张场足够训练一个不错的模型。关键是覆盖足够多天气型而不是单纯堆数量。4.2 损失函数不只是做一个“漂亮图像”固定尺度训练最常用的损失是 L1 或 L2。大气变量存在不少极端值纯 L2 会过度惩罚极端事件导致预测向气候平均收缩尤其降水这种强偏态变量特征全被抹掉。针对不同变量我建议做分层设计连续温度场、位势高度场L1为主加上一个梯度损失或者频域损失。风速可以拆成U、V分量但评估时看合成风速损失上可以加一项风速大小约束。降水先做对数或幂变换再计算L1。这样能保留小降水的结构同时不让暴雨样本主导梯度。梯度损失是常规超分里常用的一招计算预测场和目标场的水平梯度之差强迫模型保留空间变化细节。但要注意梯度损失对网格间距敏感在固定尺度训练下没问题推理到其他尺度时如果还按训练时绝对梯度计算高频细节会被错误放大。实现时最好把坐标缩放归一化让梯度计算在“归一化坐标”上进行。4.3 训练配置与常见踩坑训练配置方面我一般用AdamW初始学习率1e-4配合余弦退火。混合精度要谨慎开启有些隐式网络在FP16下位置编码的高频项会丢失精度导致输出出现颗粒状噪声。如果显存够用训练阶段全程FP32最省心如果要加速至少位置编码部分保持FP32计算。一个非常容易被忽视的问题是“真值对齐”。训练时低分辨率输入和高分辨率标签的网格必须严格对齐特别是经纬度坐标。ERA5的网格是规则经纬度但区域再分析资料可能是旋转网格需要先把所有数据统一到同一个坐标参考系。数据处理上还要注意近地面的地形高度。0.25°的地形场和0.05°的地形场差异很大模型如果输入的是0.25°地形却要输出0.05°的温度它会不知道如何解释更精细的地形热力强迫。稳妥的办法是同时把高低分辨率的地形都作为输入让模型自己学习地形尺度之间的映射关系。5. 任意尺度推理一次性建模N种分辨率复用5.1 坐标采样与输出网格构建推理阶段的核心只有一件事确定目标网格上每个格心的经纬度坐标然后批量查询。比如目标区域是一个矩形规则网格从 $(lon_0, lat_0)$ 开始东西向格距为 $\Delta x$南北向格距为 $\Delta y$。那第 $i,j$ 个格点的坐标就是lon_i lon_0 i * dlon lat_j lat_0 j * dlat把这些坐标整理成 $(N, 2)$ 的张量送进模型得到 $(N, C)$ 的输出再reshape回 $H \times W$ 的图像。注意经纬度步长不一定是均匀的如果要用高分辨率地形驱动可以选择地形匹配的变网格。隐式网络对坐标采样均匀性并不敏感这一点比CNN舒服很多。但坐标采样密度决定模型见到的“频率范围”。训练时模型见过的最大高频特征受限于高分辨率标签的网格距。推理时如果查询坐标间距小于训练值相当于在已有频谱之外做外插模型会输出不可控的伪高频。5.2 大规模推理时的分块策略与内存控制任意尺度推理听起来很美直接算很现实的问题如果要生成一个全国尺度的0.01°网格单次查询的坐标点数量会超过几千万甚至上亿。MLP虽然参数少但每个坐标点都要独立做前向算起来非常慢。解决方法是分块。目标网格切块每块 e.g. $256\times 256$ 个坐标点送入模型查询然后拼接。这里有个细节每块的坐标范围不要太小否则特征图采样时每个块的边界信息不足拼接处可能出现肉眼可见的接缝。我给块设置一定重叠重叠区域做线性融合接缝问题会好很多。另外建议推理时分变量处理。如果10个变量一起输出MLP最后一层维度是10计算量不小。有些变量相关性很强如温度与位势高度可以直接共享前几个隐层只在不同输出头处分离减少重复计算。推理时还可以用半精度FP16隐式网络在推理阶段的稳定性比训练时好一些但位置编码依然建议用FP32计算。5.3 实际项目中尺度选择的一些建议想直接得到一个“任意尺度都完美”的模型目前不现实。工程上要做的是选择可信外推范围。我的经验是训练时高分辨率标签分辨率记为 $R_{hr}$低分辨率输入记为 $R_{lr}$。推理目标分辨率在 $[0.5R_{hr}, 2R_{hr}]$ 之间时效果基本稳定再往外推细节质量会快速下降。比如用0.25°高分辨率标签训练的模型生成0.1°还算靠谱生成0.01°就明显不自然。如果业务确实需要从0.25°直接跳到0.01°有两条路可以走。一条是补一个中间尺度的微调阶段先降尺度到0.05°再以这个中间结果为条件降到0.01°另一条是在训练时加入随机缩放增强每次迭代把低分辨率输入和高分辨率标签按随机倍数缩小后送入模型相当于变相让模型见过更多尺度采样。后一种方法更接近这个标题里“fixed scale”的反面训练策略但实验里确实能把任意尺度能力再撑开一些。6. 效果评估、局限与经验谈6.1 评价指标从RMSE到谱能量降尺度模型不能只看RMSE。RMSE在小尺度细节上会被大尺度背景主导两个看起来分数差不多的模型在局部结构上可能天差地别。常规评估我至少会看三组指标空间连续误差RMSE、平均偏差、Anomaly Correlation Coefficient。极值表现降水99百分位误差、温度极端值偏差、风速高层分位数偏差。尺度结构把预测场和目标场分别做二维傅里叶变换比较各波段的能量谱斜率。好的降尺度模型应该在高频段比简单插值拥有更多能量同时不能出现异常尖峰。谱能量评估是降尺度专属的刚需。单纯插值会让高频能量几乎为零AI模型如果“发明”了过高能量则会在谱曲线上看到异常凸起。这正好用来判断任意尺度推理是否踩进了外推陷阱。6.2 和传统方法对比的直观感受把隐式混合模型和双三次插值、普通Unet超分放到同一组数据上对比最直观的差异是“自然的细节”。双三次插值结果永远细腻不了大雨滴会被摊成大片小雨。Unet超分在固定尺度上可以做得非常漂亮但一旦结果尺度变化马上下滑。隐式混合模型在0.25°→0.1°这个区间内的输出地形强迫的局地风场和降水分布明显比插值更合理。我们的业务测试里山区降水的分布型改善最明显这可能是因为混合门控让某个专家专门负责了地形相关特征。不过要注意这类模型本质上是统计模型生成的细节再自然也不代表真实可验证。它不能替代区域气候模式做物理机制的归因更多是提供一个成本极低的高分辨率场景生成器。6.3 现有方法的三道坎第一道坎是物理一致性。隐式网络逐点预测很难保证质量守恒、水汽守恒这些约束。预测出的2米温度可能和位势高度场不自洽降水总量也未必和水汽通量散度匹配。第二道坎是训练数据分布偏移。气候模式本身有偏差再分析资料也有观测覆盖率问题。在某一组GCM输出上训练的模型迁移到另一组模式时性能可能明显下降。跨模式降尺度目前依然需要做不少适配工作。第三道坎是门控结构的不稳定性。专家分工如果只靠数据自适应在极端天气样本上可能突然切换不当。比如门控把一次超级单体雷暴判断成了地形波模态生成的降水中心位置会发生明显偏移。缓解办法是在门控输入端加入更多大尺度环流信息而不是只依赖局部特征。以下是我在复现这类模型时整理出的一张问题速查表算是一手的避坑记录现象可能原因处理办法推理结果出现周期性斑块经度边界不连续或门控不平滑改用三维球面坐标门控输出加平滑正则训练尺度好换尺度后高频异常外推超过可信范围限制推理尺度范围用随机缩放增强降水极值偏弱、空间太圆滑L2损失主导降水未做变换降水做幂变换损失加梯度项多专家训练时门控退化负载不均衡、门控学习率过快加专家负载均衡loss门控更新滞后拼接处出现明显接缝分块边界坐标信息不足分块重叠并做线性融合球面极区附近细节扭曲经纬度坐标在高纬变形使用球面三维坐标或极地局部投影我自己的体会是这类模型真正值得花时间的不是把专家数量堆到十几个而是先把单专家隐式网络的坐标表示、损失函数和推理管线打磨干净。第一次跑全套实验时我直接上了8个专家结果训练损失降不下去门控和专家互相甩锅。后来退回单专家模型调好了baseline再加2个专家做对照才慢慢找到规律。另外一点经验混合模型的推理稳定性比单专家更难调门控权重是连续变化的空间场它自己在推理时也要保证平滑。如果你在部署时看到输出场上有奇怪的“水渍状”花纹别急着换模型先检查门控输出的空间分布是否突兀——很多问题是门控太敏感造成的把它输入的低频特征增强一点或者门控MLP层数减少一层往往就解决了。这个方向后续的空间还很大比如把物理约束以软约束形式加到门控和专家输出上、把地形和地表类型作为更明确的专家划分依据、或者用混合隐式网络同时输出变量及其不确定性。对我来说它至少已经解决了“降尺度模型被网格绑死”这个最现实的问题。如果再让我做一轮迭代我会在任意尺度能力上做一个更系统的基准测试明确每个训练设定下模型能安全外推到哪个分辨率区间。

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

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

免费获取报价 →
↑