🚀 欧洲再分析超分辨率项目
本项目旨在创建一个机器学习(ML)模型,通过对ERA5的全球再分析数据进行降尺度处理,生成高分辨率的区域再分析数据(类似于CERRA所生成的数据)。
这将通过使用最先进的深度学习(DL)技术来实现,如U-Net、条件生成对抗网络(GAN)和扩散模型等。此外,还将实现一个数据摄入模块,以评估使用CERRA伪观测数据作为额外预测因子的潜在益处。模型设计和训练完成后,将进行详细的验证框架搭建。
该框架将经典的确定性误差指标与深入的验证相结合,包括时间序列、地图、时空相关性和计算机视觉指标,并按月份、季节和地理区域进行细分,以评估模型在减少误差和表征物理过程方面的有效性。这种细致的评估方式有助于更全面、准确地评估模型,这对于确保模型在实际应用中的有效性至关重要。
此外,还可以使用深度学习模型的可解释性工具,通过分析不同神经元的激活情况和输入数据中不同特征的重要性,来理解这些复杂结构的内部工作原理和决策过程。
本项目由 Code for Earth 2023 倡议资助。
去噪模型以Apache 2.0许可发布,可在任何地方无限制使用。
🚀 快速开始
本项目旨在创建一个机器学习模型,通过对ERA5的全球再分析数据进行降尺度处理,生成高分辨率的区域再分析数据。具体步骤如下:
- 运用U-Net、条件GAN和扩散模型等深度学习技术设计模型。
- 实现数据摄入模块,评估使用CERRA伪观测数据作为额外预测因子的益处。
- 对模型进行训练,并使用详细的验证框架进行评估。
✨ 主要特性
- 先进技术应用:使用U-Net、条件GAN和扩散模型等最先进的深度学习技术。
- 细致验证框架:将经典确定性误差指标与深入验证相结合,按月份、季节和地理区域进行细分评估。
- 可解释性工具:使用深度学习模型的可解释性工具,理解模型内部工作原理和决策过程。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
文档未提供代码示例,故跳过此章节。
📚 详细文档
模型详情
模型描述
本模型是一个去噪神经网络,在双三次插值输入上进行实例归一化训练。我们为去噪扩散概率模型实现了 diffusers.UNet2DModel,并使用了不同的调度器:DDPMScheduler、DDIM 和 LMSDiscreteScheduler。

本项目展示了使用扩散模型(DM)对地中海地区的区域再分析网格进行降尺度处理(从0.25º到0.05º)的结果。
- 开发者:Predictia Intelligent Data Solutions S.L. 团队
- 模型类型:视觉模型
- 语言:英语、西班牙语
- 许可证:Apache - 2.0
- 更多信息资源:更多信息请参考 GitHub 仓库
去噪网络
对于去噪网络,我们仅探索了一种架构 diffusers.UNet2DModel,并使用了不同的模型大小,输出通道从3个块的64、128和192到默认配置的4个块的224、448、672和896不等。
该网络的输入如下:
- 2个通道,分别对应时间步 \(t\) 的噪声图像和双三次上采样的ERA5场。
- 时间步 \(t\),将其投影到嵌入层并添加到输入中。
噪声调度器
考虑了以下不同的调度器:
训练数据
使用的数据集是ERA5和CERRA再分析数据的组合。
输入网格(ERA5)的空间覆盖范围如下,对应一个维度为 (60, 42) 的二维数组:
longitude: [-8.35, 6.6]
latitude: [46.45, 35.50]
目标高分辨率网格(CERRA)对应一个维度为 (240, 160) 的二维矩阵:
longitude: [-6.85, 5.1]
latitude: [44.95, 37]
用于训练的数据样本对应1981年至2013年(含)的时间段,2014年至2017年的数据用于每轮验证。
归一化技术
在 ECMWF Code 4 Earth 期间及之后,对以下归一化技术进行了探索:
使用月度气候学数据:计算训练期间每个区域(像素或区域)的历史气候学数据,并据此进行归一化。在我们的案例中,考虑了月度气候学数据,但也可以按一天中的时间进行细分。
- 逐像素:计算气象场每个像素的气候学数据,然后每个像素使用其自身的气候学统计数据进行标准化。
- 按区域:计算整个感兴趣区域的气候学统计数据。计算统计数据后,有两种归一化方案:
- 独立:分别对ERA5和CERRA进行归一化,各自使用自身的统计数据。
- 依赖:仅使用ERA5的气候学统计数据同时对ERA5和CERRA进行标准化。
对于逐像素方案,依赖方法不可行,因为输入和输出补丁像素之间没有直接对应关系。如果需要这样做,可以计算双三次降采样后的ERA5的统计数据,并使用这些统计数据对CERRA进行归一化。
不使用历史信息:通过ERA5场的均值和标准差独立地对每个样本进行归一化,这在机器学习社区中称为实例归一化。在我们的用例中,由于推理期间无法获得输出数据,因此只能使用输入数据的分布统计数据,但有两种不同的变体:
- 使用输入ERA5的统计数据。请注意,它覆盖的区域比CERRA更广。
- 使用双三次降采样后的ERA5的统计数据,其代表的区域与CERRA相同。
这两种方法的区别不在于在降采样或原始ERA5上计算统计数据,而在于输入补丁覆盖的区域更大,因此分布更不同。因此,第二种方法似乎更正确,因为降采样区域的分布将更接近输出分布。
结果
归一化
- 逐像素归一化在这个问题设置中没有意义,因为它会消除空间模式,导致DDPM无法学习到任何信息。
- 相反,当使用区域统计数据进行缩放时,DDPM可以重现输入ERA5中不存在的高分辨率细节,但无法匹配当前的高分辨率场。DDPM样本具有类似CERRA场的外观,但在一段时间内计算均方误差(MSE)时,比双三次插值大3倍。
- 当使用区域统计数据进行缩放时,对输入和输出使用相同的统计数据可以稍微更好地表示预测的均值,但所有方法都无法重现样本中看到的场的方差。
- 直接在去噪网络输入(降采样后的ERA5)上进行实例归一化可以比其他方法稍微更好地重现空间模式,误差指标在空间上更均匀。例如,山区的空间模式可以很好地重现。
调度器
训练时间和采样质量(在最大能力下)没有显著差异。调度器之间的差异可能在推理期间出现,DDIM或LMSDiscrete可能在较少的推理步骤下获得更高质量的样本,从而降低计算成本。
由于在最大能力下(推理步骤 = 训练时间步数)未达到令人满意的性能,因此尚未对采样期间调度器的效率进行研究,根据科学文献,40个样本(当前推理步骤的1/25)可能就足够了。
模型大小
这与训练时间密切相关,不仅因为网络的前向和反向传播过程需要时间,还因为加载样本的可用内存有限,因此需要更多(更小)的批次来完成每个轮次。
在可用的计算资源有限和考虑的数据集的情况下,进行的测试表明,从数十个输出通道增加到几百个输出通道时,模型性能有所提高,得到的网络参数在2000万到1亿之间,但由于训练期间出现的问题(如梯度爆炸等),无法达到默认大小。
下一步计划
由于已经对模型大小、归一化和噪声调度器等因素进行了广泛探索,因此有必要将研究工作转移到其他方面,如下所示:
- 训练一个变分自编码器(VAE),以使用潜在扩散模型(Latent DM)。这可以被视为一种可学习的归一化方法,还具有减少样本大小和计算成本的额外优势。
- 训练一个更大的去噪网络。为此,可能需要更大的虚拟机(VM)和/或使用更多的样本进行训练。例如,在开始的几个轮次中使用随机补丁进行学习,然后在最后几个轮次中使用当前区域进行微调可能会有帮助。
- 尝试其他类型的扩散模型,如基于分数的扩散模型(Score Based DM)。
- 尝试 diffusers 中可用的新架构。
根据计算机视觉中超分辨率等其他问题的科学文献,在处理更大的样本(3个通道而不是1个通道,更多像素)时,使用这种架构类型和扩散模型类型应该可以获得更好的结果。
为了解决最具限制性的因素,我们认为最佳选择是探索上述第1和第2点。
计算基础设施
硬件
在深度学习项目中使用GPU可以显著加速模型训练和推理,从而大幅减少计算时间,使高效处理复杂任务和大型数据集成为可能。
我们的项目部署了两台虚拟机(VM),每台都配备了专用的图形处理单元(GPU)。一台VM配备了16GB的GPU,另一台配备了更大的20GB GPU。这种资源配置使我们能够有效地管理从数据处理到模型训练的各种计算任务,最终推动项目的成功执行。
软件
用于训练和评估此模型的代码可通过其GitHub仓库 ECMWFCode4Earth/DeepR 免费获取,该仓库由ECWMF Code 4 Earth组织托管。
作者
- Mario Santa Cruz,Predictia Intelligent Data Solutions S.L.
- Antonio Pérez,Predictia Intelligent Data Solutions S.L.
- Javier Díez,Predictia Intelligent Data Solutions S.L.
🔧 技术细节
本项目运用了U-Net、条件GAN和扩散模型等深度学习技术,通过对ERA5的全球再分析数据进行降尺度处理,生成高分辨率的区域再分析数据。同时,使用详细的验证框架对模型进行评估,包括经典确定性误差指标和深入验证,按月份、季节和地理区域进行细分。此外,还使用了深度学习模型的可解释性工具,理解模型内部工作原理和决策过程。
📄 许可证
本去噪模型以Apache 2.0许可发布,可在任何地方无限制使用。