降水临近预报_Weather4cast_RainAI阅读分享
本文是论文阅读分享,后续会进行对应的代码分享,欢迎交流讨论。
背景知识
RainAI - Weather4Cast 2023 Results
Weather4cast - Super-Resolution Rain Movie Prediction under Spatio-Temporal Shifts
2023 年 Weather4cast 竞赛的目标是根据较低分辨率的卫星辐射定量预测未来的高分辨率降雨事件。天气雷达信息交换业务计划 (OPERA) 雷达网络使用地面雷达反射率测量来计算泛欧综合降雨率。虽然这些数据比卫星数据更精确、更准确、分辨率更高,但获取它们的成本很高,而且在世界许多地方都无法获得。因此,我们希望了解如何根据欧洲气象卫星应用组织 (EUMETSAT) 运行的对地静止卫星测量的辐射来预测这种高值降雨率。
比赛参与者应根据前一小时 4 个时段的输入序列,预测未来 8 小时 32 个时段的准确降雨量。输入序列由四个 11 波段光谱卫星图像组成。这 11 个通道显示出略带噪声的卫星辐射,覆盖所谓的可见光 (VIS)、水蒸气 (WV) 和红外 (IR) 波段。每幅卫星图像覆盖 15 分钟的时间段,其像素对应于约 12 公里 x 12 公里的空间区域。预测输出是由 32 个图像组成的序列,表示地面雷达反射率的降雨率。输出图像的时间分辨率也为 15 分钟,但空间分辨率更高,每个像素对应约 2km x 2km 的空间区域。因此,除了预测未来的天气、将卫星输入转换为地面雷达输出之外,由于卫星数据的空间分辨率较粗,这还增加了超分辨率任务
有如下三个任务:
- Predict super-resolution rain movies in various regions of Europe
预测欧洲各地区的超分辨率雨电影 - Transfer learning across space and time under strong shifts
强转变下跨空间和时间的迁移学习 - Exploit data fusion to model ground-radar and multi-band satellite images
利用数据融合对地面雷达和多波段卫星图像进行建模
数据集
Weather4cast 2023 dataset Weather4cast 2023 数据集
我们提供了根据 2019 年、2020 年和 2021 年降水特征选择的 10 个欧洲地区的数据。总共有 7 个地区拥有 2019 年和 2020 年的完整训练数据。然后将这些地区用于训练,另外三个地区提供2019 年和 2020 年将面临空间迁移学习挑战。对于所有 10 个地区而言,2021 年将面临时间迁移学习挑战。
Core Challege dataset 核心挑战数据集
对于核心挑战,我们提供了根据两年的降水特征选择的 7 个欧洲地区的数据,涵盖( boxi_0015
、 boxi_0034
、 boxi_0076
、 roxi_0004
、 roxi_0006
和 roxi_0007
)。该数据涵盖2019年2月至12月和2020年1月至12月。
任务是根据 1 小时的卫星图像序列预测未来 4 小时的确切降雨量。根据 OPERA 地面雷达反射率计算得出的降雨率提供了地面真相。
Transfer Learning Challege dataset 迁移学习挑战数据集
对于迁移学习挑战,我们提供了 2019 年和 2020 年另外 3 个区域( roxi_0008
、 roxi_0009
和 roxi_0010
)的卫星数据以及 2021 年所有 10 个区域的卫星数据。新区域在 2019 年和 2020 年提供空间迁移学习挑战,在 2021 年提供时间迁移学习挑战。对于 2019 年和 2020 年拥有大量训练数据的七个区域,这构成了纯粹的时间迁移学习挑战。
阅读分享
研究现状(可跳过)
短期降雨预测,也称为临近降水预报,在农业、能源管理、应急服务和交通运输等各个行业中发挥着至关重要的作用。降水临近预报的目标是在 1 到 24 小时的短时间内对特定地理区域内的降雨强度进行准确、高分辨率的预测。该领域的传统方法依赖于数值天气预报(NWP)和光流技术,这些技术基于大气物理学和数学模型[24,4,27]。然而,NWP 模型的运行时间较慢,使其不适合短期临近预报,并且光流方法受到降水特征随时间不断运动的假设的限制 [1, 28]。为了解决这些限制,人们开始转向采用基于深度学习的数据驱动方法。这些模型从历史观测中学习,并利用现代图形处理单元 (GPU) 的处理速度,以比 NWP 更快的速度生成预测,并由于其非线性特性而捕获比光流方法更复杂的模式。然而,临近预报所需的大空间和时间背景对深度学习方法提出了重大挑战,深度学习方法必须在高效处理和跨高空间和时间维度捕获足够的背景之间找到平衡。
我们将现有的临近预报工作分为两种范式:传统范式和基于深度学习的范式。传统方法和深度学习方法之间的根本区别在于,前者依赖于物理模型,而后者模型则从历史天气数据中学习,包括雷达图、卫星图像和记录的气象变量(例如先前的降水或风)。传统方法包括数值天气预报(NWP)模型和光流模型,例如 RainyMotion [4] 和 PySteps [27]。数值天气预报模型已经建立起来,用于基于数学模型预测天气[24],但它们依赖于模型域顶部、侧面和下边界的初始条件和边界条件。为了获得概率和更好的预测,集合数值天气预报系统被用来模拟具有不同扰动和初始条件的大气耦合物理方程[33]。对于光流方法,他们假设雷达回波沿着固定运动场的运动可以捕获几个小时内降水的演变,而强度不会发生任何变化。因此,他们估计运动场并推断雷达回波以创建预测。这些预测还可以与集成相结合,以生成更准确的概率预测。这些基于物理模型的传统降水临近预报方法需要较高的计算能力,特别是对于集合模型,因此空间和时间分辨率往往受到限制。此外,由于它们的收敛时间,它们对于临近降水预报来说并不是最合适的,因为主要关注的是预报的前几个小时。对于基于外推法的方法,它们往往会高估降水量,并且无法正确地用降雨覆盖该地区[28]。
总体方案
我们的工作探索了一种基于 2D U-Net [29] 作为基础结构的简单架构,并采用不同的编码器 - 特别是 ResNet-18 [18] 块或 Swin Transformer [21],详细信息请参见第 4.1.1 和 4.1.2 节分别。这是由于 2D U-Net 能够有效处理输入数据中的空间维度。替代编码器旨在增强原始 2D U-Net 以捕获更复杂和长期的依赖关系。重点是通过应用采样和针对具体问题的修改来优化数据集,如第 4.2 节所述。为了加强训练,我们采用了带有交叉熵损失函数的分类方法,如 4.3 节所述。另一个建议包括扩展模型以将输出调节到所需的提前时间,而不是同时生成所有时间步(第 4.4 节)。此外,我们结合超分辨率技术从模型输出的中心区域得出高分辨率预测,如第 4.5 节所述。
数据集初步分析
关于用于训练的 7 个区域和 2 年的可用数据,提供的代码通过滑动窗口生成了 228,928 个训练序列,以及 840 个预定义序列用于验证。虽然这是大量的训练数据,但数据对于没有下雨的情况高度不平衡,这使得训练无偏差模型变得困难。表 1 显示了使用 PySTEPS [27] 提出的分类尺度之一的不同降雨强度的验证数据的数据分布。请注意,较低的降雨强度不仅会产生更多的事件,而且覆盖的范围也较小。
2D U-Net架构
2D U-Net的优势是训练计算量的更小,但是本质上缺乏处理时间维度信息的能力,本方案通过扩展 U-Net 输入和输出层中的滤波器的通道数以包含时间维度来处理时间。也就是对于尺寸为T×C×H×W的输入,2D U-Net 架构的输入变为 T ∗ * ∗C×H×W。类似地,2D U-Net 架构的输出大小为 T’*C’×H×W 的 U-Net 被分解为 T’×C’×H×W,其中 T’ 是预测时间步长,C’ 是每个时间步长的输出通道。 3D U-Net 在整个模型中保留了时间维度,而 2D U-Net 仅在输入层组合跨时间的信息,在此基础上设法提高性能。
ResNet 2D U-Net
原始 2D U-Net 的一种替代方案是使用 ResNet 块作为编码器来解决深度神经网络中的梯度消失问题。 ResNet 采用残差连接来跳过一个或多个层,为从后面的层到前面的层的梯度流提供替代的快捷路径[18]。通过用 ResNet-18 编码器替换 U-Net 编码器,该架构能够学习更复杂的特征,同时仍然借助残差连接进行高效训练。请注意,跳跃连接和残差连接类似,但 U-Net 使用跳跃连接来使上采样更好,而 ResNet 使用残差连接进行梯度流。在所提出的架构中,每个编码器块都有一个相应的解码器块,该解码器块通过跳跃连接处理来自编码器的特征图和解码器中前一个块的上采样特征图的串联。
- ResNet和U-Net跳跃连接的区别?
跳跃连接在U-net中被广泛使用,通过将之前层的特征图与后续层直接相连,这种方式使得网络可以同时学习深度特征和浅层特征,避免了信息损失。具体到U-Net,这种机制使其在图像分割任务中表现出色,尤其是在处理医学图像等需要精细恢复对象外形的任务上。而残差连接则是在ResNet中出现的一种机制,是一种特殊的跳跃连接。它通过引入了一种称为“短路连接”(Short Cut Connection)的结构,使得输入可以直接跳过一些层次,直接到达输出,这种结构可以有效地缓解梯度消失问题,使得神经网络可以更好地进行反向传播,优化网络权重。
Swin 2D U-Net
我们还研究了 Transformer,特别是 Swin Transformer [21] 作为编码器的应用。这一选择的动机是 Swin Transformer 计算注意力的能力,有助于对远程依赖性进行建模以生成准确的预测。值得注意的是,Swin Transformer 通过引入 Shifted Windows 增强了原始 Vision Transformer [8],从而通过非重叠窗口中的本地计算实现全局注意力。
Swin Transformer 通过从小尺寸的补丁开始并逐步合并更深 Transformer 层中的相邻补丁来构建分层表示。它在非重叠窗口内本地计算多头自注意力[36],每个窗口使用固定数量的补丁来划分图像。 Swin Transformer 还根据每个标记的空间位置在每个头的注意力计算中引入相对位置偏差。
解码器使用通过 Swin Transformer 获得的分层表示并跳过连接对编码的特征图进行上采样并生成所需的输出。
Swin 2D U-Net
我们还研究了 Transformer,特别是 Swin Transformer [21] 作为编码器的应用。这一选择的动机是 Swin Transformer 计算注意力的能力,有助于对远程依赖性进行建模以生成准确的预测。值得注意的是,Swin Transformer 通过引入 Shifted Windows 增强了原始 Vision Transformer [8],从而通过非重叠窗口中的本地计算实现全局注意力。
Swin Transformer 通过从小尺寸的补丁开始并逐步合并更深 Transformer 层中的相邻补丁来构建分层表示。它在非重叠窗口内本地计算多头自注意力[36],每个窗口使用固定数量的补丁来划分图像。 Swin Transformer 还根据每个标记的空间位置在每个头的注意力计算中引入相对位置偏差。
解码器使用通过 Swin Transformer 获得的分层表示并跳过连接对编码的特征图进行上采样并生成所需的输出。
- 并没有展开说明Swin 2D U-Net的动机和实现方法,留待查阅代码
数据集优化
我们通过最大化训练数据的影响来进一步提高模型性能和训练时间。我们使用采样技术并通过选择适当的输入特征和上下文来调整输入数据。
- 为什么使用采样技术?如何采样?
采样至关重要,因为数据集很大,而且地面雷达观测数据大多包含很少或没有降水的区域,这会严重影响模型预测无雨的情况。重要性采样[19]用于通过减少不含降水的样本数量来创建更能代表高降水的平衡数据集。这种优化使模型能够更快地训练并通过观察来提高性能,从而积极帮助模型从降雨事件中学习。重要性采样计算每个样本的 q n q_n qn作为要包含到样本子集中的给定样本的接受概率。计算公式为 q n = min ( 1 , q min + x n s a t ) q_n=\min \left(1, q_{\min }+x_n^{s a t}\right) qn=min(1,qmin+xnsat),其中 x n s a t x_{n}^{s a t} xnsat是输出区域上饱和值的平均值 1 C ∑ c x n , c s a t \frac{1}{C} \sum_c x_{n, c}^{s a t} C1∑cxn,csat。注意到 x n , c s a t x_{n, c}^{s a t} xn,csat对patch上的每个时间步长和像素,都是通过 1 − exp ( − x n , c ) 1-\exp \left(-x_{n, c}\right) 1−exp(−xn,c)来计算。 q min q_{\min } qmin是即使没有降雨的最小包含概率,设置为1e-6以获得更多高降水事件[28]。这些公式的动机是保证包含没有显着降水的patch的最小概率,同时仍然有利于有显着降雨的patch。
从公式 1 − exp ( − x n , c ) 1-\exp \left(-x_{n, c}\right) 1−exp(−xn,c)可以看出, x n , c x_{n, c} xn,c越大 x n s a t x_n^{s a t} xnsat越接近1,因此加上 q m i n q_{\mathrm{min}} qmin后会使原本被选中概率 q n q_n qn 大小在(1- q m i n q_{\mathrm{min}} qmin,1)的样本变成100%被选中,因此可以采样到更多高降水事件。
- 如何选择适当的输入特征和上下文?
-
所提供的代码被修改为与每个样本一起加载静态数据,并合并输入patch内每个位置的纬度、经度和拓扑高度。正如之前的研究 [7, 3] 中所讨论的,这些附加信息有可能通过引入影响天气条件的相关数据来影响模型。(有文献表明,遥感数据机器学习有个特点是标签往往不是通过图像给出,而是根据经纬度和时间给出。尽管不同卫星图像差异很大,但是会具有相同的标签。有机会我会再写一下。)
在机器学习中,数据是我们的基础。我们的算法会从这些数据中学习并构建一个模型,然后用这个模型对新的数据进行预测。数据通常被分为两种类型:静态数据和动态数据。静态数据是指不会随时间变化的数据,比如一个人的出生日期或身高等。动态数据则是会随时间变化的数据,比如股票价格或者天气预报等。在进行机器学习任务时,我们通常会加载训练数据,并用这些数据来训练我们的模型。对于静态数据,由于其在所有时间点上的值都是一样的,因此我们可以在加载每个样本数据时,一并将对应的静态数据加载进来。这样做可以提高我们数据处理的效率,也可以使我们的模型更好地理解每个样本数据的特性。
-
在临近降水预报的数据准备过程中,不仅要考虑输入中包含的特征,而且还要考虑所提供的上下文。虽然更大的上下文可以丰富模型可学习的信息,但由于数据维度的增加,它可能会带来挑战,从而显着影响计算要求和训练时间。对于这个特定问题,就时间上下文而言,仅提供了代表前一小时的四个时间步长,并且保持不变。然而,如第 3 节中详述的,所提供的空间背景足以生成提前时间长达 15-19 小时的预测(nature相关工作结论)。鉴于比赛的重点是提前 8 小时进行预测,因此减少了输入的空间背景,以优化训练时间并促进学习,而无需引入不必要的数据。结果,输入块从原始的 252 x 252 像素裁剪为 128 x 128 像素,提供每个方向 516 公里的空间上下文,我们发现这足以进行 8 小时的预测。
交叉熵损失
虽然最初提供的损失函数是均方误差(MSE),但回归损失、交叉熵等分类损失已用于降水临近预报,以获得更好的性能[32,9,3]并生成概率预测,提供更多信息。例如,以 100% 的概率预测夏季阵雨可能会产生 2 毫米的降雨,而雷暴产生 10 毫米的降雨的概率可能只有 20%。尽管两次事件造成的降雨量相同,均为每小时 2 毫米,但针对每次事件采取的适当行动却有很大不同。因此,概率预测比强度预测更有意义。将临近降水预报视为分类问题需要使用预定义的类别或桶来对不同级别的降雨强度进行分类。使用的类别与表 1 中列出的类别一致,旨在为观测更丰富的较低降水值建立更窄的范围,同时仍然能够代表强降水的实例。
- tips 对连续值进行分箱量化是一种常用的特征工程方法(有空会继续写特征衍生),有助于改善分布不均衡的数据,如下所述:
将临近降水预报作为分类问题的另一个优点是可以将权重分配给不同的类别以处理不平衡的数据集。权重设置为与类别的频率成反比,因此频率较低的类别(降水事件较多的类别)比经常出现的类别(无雨或降雨少的类别)获得更高的权重。
调节提前时间量
降水临近预报模型可设计为在单次迭代输出所有时间步长或者一个时间步长的预测。虽然原始方法会立即生成所需提前时间的所有降水预报,但我们研究了 MetNet [32] 架构中引入的调节提前时间的概念。通过调节提前期,模型的前向传递可以预测单个提前期。所需的单次交付时间作为模型的输入提供,以调节计算的各个方面。虽然在 MetNet 中前置时间是作为 one-hot 编码提供的,但我们将其作为单个值提供。因此,当使用调节前置时间时,模型包含一个附加通道作为输入,该通道完全填充了所需的时间步长。
- 这样做的好处是,我们可以根据需要生成任意提前期的预测,而不需要为每个提前期都训练一个单独的模型。这样做的好处是,我们可以根据需要生成任意提前期的预测,而不需要为每个提前期都训练一个单独的模型。具体实现方法需要查阅代码。
值得注意的是,这种方法与自回归方法不同,在自回归方法中,模型使用先前预测的时间步长作为输入来一致地预测下一个时间步长。在我们的场景中,该模型不使用任何预测作为输入,并且可以独立且同时生成所需提前时间的预测。设计能够预测多个时间步长的模型可以产生更好的结果,因为自回归方法结合了过去的观察和预测,导致中间预测中的错误累积并影响依赖它们作为输入的未来预测。
- 自回归方法是一种时间序列预测方法,它假设未来的值依赖于过去的值,会使用过去的观测值来预测未来的值。新方法不需要使用过去的预测值作为输入,这意味着模型可以独立地预测每一个未来的时间步长,而不需要依赖于过去的预测。这样的好处是,中间预测中的错误不会累积并影响未来的预测。
裁剪和上采样
2D U-Net 架构的输出与其输入具有相同的空间维度。这意味着对于大小为 128 x 128 像素的输入序列,通过 U-Net 的前向传播将生成大小为 128 x 128 像素的输出。标签对应于大小为 42 x 42 像素的中心块。因此,为了指导降水临近预报模型,我们采用中央 42 x 42 像素块并上采样到 252 x 252 像素标签。这种裁剪和上采样是在 MetNet [9] 中引入的,这是由于输入和标签的空间分辨率不同所致,如第 3 节中所述。
另一种方法是让 U-Net 的输出作为标签区域的预测,而不对数据进行裁剪和上采样。然而,这需要 U-Net 学习如何获得输入区域中心区域的高分辨率输出,这显然更具挑战性。
- 标签是高精度真值,围绕真值造标签数据 比 从训练数据提高输出结果精度 容易。
对于上采样,研究了不同的方法,包括标准上采样算法,例如最近邻和双线性插值,还有更复杂的超分辨率架构,例如增强型深度超分辨率(EDSR)[20]和NinaSR[14]。最近邻上采样从最近的像素复制值,双线性使用所有附近的像素通过线性插值计算像素的值。 EDSR 和 NinaSR 两种超分辨率架构都使用残差块,通过在网络的早期层和后期层之间建立连接来改进简单的 CNN 技术,从而在评估指标和训练时间方面实现良好的性能。
结果
core挑战的最佳结果是通过exp8 实现的,该实验使用 ResNet-18 2D U-Net 架构、优化的数据集、交叉熵损失函数以及使用 NinaSR 进行裁剪和上采样。该特定模型还用于即时预报和迁移学习排行榜 (exp1) 中的 4 小时预测,仅关注最初的 16 个预测时间步长。值得注意的是,该模型在Nowcasting排行榜上表现出色,优于专门针对 4 小时预测训练的其他模型。然而,在Transfer任务排行榜中,情况并非如此,为 4 小时预测训练新模型似乎产生了优异的结果,这表明对于Transfer学习任务,该模型并没有从观察更长的时间提前量中受益。
- 为什么迁移任务中更长的时间提前量并不会让模型效果更好?
在图2中,显示了使用exp4中的模型对验证序列进行的基本事实和预测。这个实验与刚刚解释的exp8 相同,唯一的变化是上采样是通过双线性插值执行的,因此训练速度更快,评估指标的下降最小。请注意,检测到左下角有降水,但分辨率和强度不如真实情况那么高。这是已发现的问题之一,很可能是由于缺乏高分辨率输入数据造成的。
正如预期的那样,如图 1 所示,在所需的交付时间内跨排行榜各个阈值的关键成功指数 (CSI) 的可视化显示,由于不确定性和复杂性增加,交付时间较长时值会下降。然而,值得注意的是,在整个实验过程中,高于 5 毫米/小时的阈值的 CSI 值始终得分为 0,表明通常无法预测这些高降水事件,这可能是由于超过 5 毫米/小时的示例代表性不足。 h如表1所示。
- 或许还需高降水事件需要分类单独处理
值得关注的见解
对于基于外推法的方法,它们往往会高估降水量,并且无法正确地用降雨覆盖该地区[28]。