1 前言
trajGRU 是在对 convLSTM 的改进,且这两个模型是同一个作者。
convLSTM 在降水短临预报这块已经超越传统模型,但其是局部不变性的(location-invariant),而自然的运动和转换(如旋转)是局部变化的(location-invariant)。作者为了能够使用递归连接的方式捕捉和学习这种局部变化结构构建了 trajGRU(the Trajectory GRU)。
具体对比与改进可用下图表示:
2 模型
convLSTM可以将 LSTM 换为 GRU,但本质上还是使用 conv 对图像进行处理,conv 经模型训练后的参数(核函数)是固定的,即局部不变性。
因此作者主要是对 conv 进行改进,这里作者引入了一个 warp 函数,作为conv的改进。warp函数主要是随机的选取邻接点,存在局部变性,可以捕捉图像的运动,具体如下所示:
模型框架仍然采用 Encoder-Forecaster 的形式:
模型形式:
下表是作者对 minist++ 数据集做的一个对比:
从表中可以看出:
- 对于 trajGRU,不同邻居结点结果存在差异
- 与其他模型相比,trajGRU 的参数较少
此外,作者对trajGRU-13模型进行了可视化,对学习到的邻接点进行图示:
#### 3 HKO-7 数据集
- 2009-2015,CAPPI 反射率图像,480480,海拔 2km,覆盖面积 512512米
- 更新频率 6 min,每天 240 帧
- 像素线性转换裁剪到 0-255, p i x e l = 266 ∗ d B Z + 10 70 + 0.5 pixel=266*\frac{dBZ+10}{70}+0.5 pixel=266∗70dBZ+10+0.5
- 图像存在噪声,需进行滤波与异常检测
- 812 天用于训练,50 天用于验证,131 天用于测试
- 雷达回波反射率数据转换为降雨:
Z-R 关系:dBZ=10log a + 10blogR。R表示降雨等级,a=58.53,b=1.56.
4 评估
评估策略:
- offline:输入 5 帧,预测 20 帧
- online:获取 5 段序列,输出 20 帧的序列
首先对降水进行分级:
可见,存在极其的不平衡,因此对不同的降雨等级采用不同的权重:
因为是分级(分类),评价指标采用 CSI 和 HSS:
模型评估结果:
模型训练结果(损失函数与评估指标的相关性):
代码:
https://github.com/Hzzone/Precipitation-Nowcasting/blob/master/nowcasting/models/trajGRU.py
参考:
Deep Learning for Precipitation Nowcasting: A Benchmark and A New Model