Loading... # MCGLN:A multimodal ConvLSTM-GAN framework for lightning nowcasting utilizing multi-source spatiotemporal data 论文笔记 ## introduciton 本节首先介绍了雷电现象的成因和危害,接着简单介绍了早期的雷电预警方法并指出其数据来源单一的缺点,然后引出了深度学习方法,介绍了深度学习方法的优势:在融合更多输入数据后可以得到一个更准确的预测结果,并指出现有方法的缺陷:深层网络特征消失,长期预报能力弱;没有考虑下垫面对于雷电的影响,最后,作者提出了本文的解决思路:采用生成对抗网络,基于多源输入数据进行雷电预警。 ## Material and methods ### Data sources 这部分主要讲了训练模型的输入数据: - 雷电数据:来自浙江省先进方向与时差探测系统(ADTD),作为模型主通道输入数据 - 时间:2018-2020年7-9月 - 时间分辨率:6min - 雷达数据:来自SA波段多普勒天气雷达 - 雷达产品数据:组合反射率(CR)、回波顶高(ET)、垂直液态含水量(VIL)、两层平均径向速度(V) - 时间分辨率:6min - 空间分辨率:1km x 1km - 下垫面特征数据: - 数据包括:数字高程模型(DEM)、归一化植被指数(NDVI) - 空间分辨率:1km x 1km ### Pre-processing 这部分主要讲了输入数据的预处理和数据清洗方式: - 雷电数据: - 雷电数据属于文本数据,需要根据经纬度信息标记到对应的雷电网格图像中 - 剔除孤立点等噪声信息 - 筛选包括连续10次以上的雷电时间序列作为序列 - 针对正负样本比例失衡情况,使用邻域扩散提高雷电网格密度 - 雷达数据,下垫面数据: - 剔除组合反射率$\leq$15dBz的杂波 - 最小最大归一化方法 数据融合: - 雷电数据、雷达数据和下垫面数据均具有相同的空间分辨率和网格尺度 - 将他们沿通道数(c)堆叠起来,形成多源数据 - 按照时间顺序进一步堆叠,形成时空序列数据集 数据划分: - 训练集:验证集:测试集 = 4:1:1 ### The Lightning nowcasting model 这节首先介绍了本节介绍的模型的组成成分:GAN、ConvLSTM、ConvLSTM-GAM #### GAN 这里介绍了GAN网络的基本原理和损失函数,GAN网络由两部分构成,相互辅助训练: - 生成器(Generator):负责数据的生成工作,目的是欺骗判别器,让他无法区分真实数据和生成数据 - 判别器(Discriminator):负责区分真实数据和生成数据,将真实数据标记为1,生成数据标记为0 损失函数如下: $$ \min_{G} \max_{D} V(D, G) = \mathbb{E}_{x \sim P_{\text{data}}(x)}\big[\log D(x)\big] + \mathbb{E}_{z \sim p_{z}(z)}\big[\log(1 - D(G(z)))\big] $$ 其中: - $D(\cdot)$:代表判别器,取值为$[0, 1]$ - $G(\cdot)$:代表生成器 - $x \sim P_{\text{data}}(x)$:$x$来自真实样本 - $z \sim p_{z}(z)$:$z$来自生成样本 为了便于理解,我们可以按照加法将他拆解为两项: - $\mathbb{E}_{x \sim P_{\text{data}}(x)}\big[\log D(x)\big]$:目的是最大化真实样本的判别分数 - $\mathbb{E}_{z \sim p_{z}(z)}\big[\log(1 - D(G(z)))\big]$:目的是最小化生成样本的判别分数 #### ConvLSTM <img src="https://y0k1n0-1323330522.cos.ap-beijing.myqcloud.com/image-20251125151849632.png" alt="image-20251125151849632" style="zoom:50%;" style=""> 本节指明了ConvLSTM的作用和模型的构造公式。ConvLSTM是基于长短期记忆网络(LSTM),同时对输入数据中的时空特征进行建模运算。其数学表达式如下所示: $$ Z_t^{i} = \sigma \left( W_{xi} * X_{t} + W_{hi} * H_{t-1} + W_{ci} \circ C_{t-1} + B_i \right) \tag{2} $$ $$ Z_i^{f} = \sigma \left( W_{xf} * X_{t} + W_{hf} * H_{t-1} + W_{cf} \circ C_{t-1} + B_f \right) \tag{3} $$ $$ C_{t} = Z_f^{t} \circ C_{t-1} + Z_i^{t} \circ \tanh \left( W_{xc} * X_{t} + W_{hc} * H_{t-1} + B_c \right) \tag{4} $$ $$ Y_{t} = \sigma \left( W_{xy} * X_{t} + W_{hy} * H_{t-1} + W_{cy} \circ C_{t} + B_y \right) \tag{5} $$ $$ H_{t} = Y_{t} \circ \tanh(C_{t}) \tag{6} $$ 其中: - $X_t$:代表当前时刻的输入数据 - $H_{t-1}$:代表前一时刻的隐藏状态 - $C_{t-1}$:代表前一时刻的细胞状态 - $W$:权重参数 - $B$:偏置项 - $\sigma$:sigmod函数 下面是对公式的解释: - 公式$(2)$:输入门。判断当前时刻的输入$X_t$和之前的记忆$H_{t-1}$、$C_{t-1}$,哪些值得保留在新记忆中。 - 公式$(3)$:遗忘门。判断之前的记忆中,哪些信息已经过时,需要遗忘 - 公式$(4)$:细胞状态。更新长期记忆,新记忆等于没丢的旧记忆+新筛选的新记忆 - 公式$(5)$:输出门。根据当前输入、短期记忆和长期记忆的信息用于预测输出 - 公式$(6)$:隐藏状态。生成短期记忆。生成当前时刻的短期笔记。 #### MCGLN <img src="https://y0k1n0-1323330522.cos.ap-beijing.myqcloud.com/image-20251125151920242.png" alt="image-20251125151920242" style="zoom:50%;" style=""> 这部分是介绍了整体模型的架构。上面提到的GAN解决了模型的训练方式;ConvLSTM解决了时序信息的依赖问题;而这里提到的MCGLN则解决了多尺度特征对齐和融合的问题。通过借鉴Unet的编码-解码架构,作者设计了一个多尺度的ConvLSTM堆叠的Unet网络,实现了对不同特征尺度下的时序信息的建模,其中: - 下采样使用7x7的卷积核,步长为2;经测试这样具备最好的雷电特征获取能力 - 上采样使用7x7的转置卷积核, - 每一层都是一个ConvLSTM网络,负责捕捉在当前特征尺度下的时序信息 判别器则是由特征提取器+分类头组成: - 特征提取器:特征提取器由两层3x3的卷积和激活函数组成,用于从预测图像和标签中提取特征信息 - 分类头:分类头由一个全连接层、激活函数和一个dropout组成,输入是展平的特征向量,输出是判别器的结果 ### Design of loss function 本节着重介绍了生成器和判别器的损失函数表达式。 对生成器来说,损失函数如下图所示: $$ \begin{align} \mathrm{MSE} &= \frac{ \sum_{i=1}^{N} \sum_{j=1}^{H} \sum_{k=1}^{W} w_{i,j,k}\left(\hat{y}_{i,j,k}-y_{i,j,k}\right)^2 }{ \sum_{i=1}^{N} \sum_{j=1}^{H} \sum_{k=1}^{W} w_{i,j,k} } \\ \mathrm{MAE} &= \frac{ \sum_{i=1}^{N} \sum_{j=1}^{H} \sum_{k=1}^{W} w_{i,j,k}\left|\hat{y}_{i,j,k}-y_{i,j,k}\right| }{ \sum_{i=1}^{N} \sum_{j=1}^{H} \sum_{k=1}^{W} w_{i,j,k} }\\ \mathrm{Loss} &= \alpha \cdot \mathrm{MAE} + \beta \cdot \mathrm{MSE} \end{align} $$ 其中: - $\hat{y}$:表示预测值 - $y$:表示真实值 - $w$:表示像素权重,通过对真实值的像素设计阈值和权重列表得到 - $\alpha$,$\beta$:权重参数,设置为$5\times 10^{-10}$ 在这里: - MSE反映的是预测值和真实值之间的均方误差,侧重于估计短期实验性能 - MAE反映的是预测值和真实值之间的绝对误差,侧重于估计趋势的长期一致性 对于判别器来说,采用变形的交叉熵损失实现: $$ L(y,\hat{y}) = \frac{1}{N} \sum_{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1 - y_i)\log(1 - \hat{y}_i) \right] $$ 这里的这个输出$\hat{y}_i$应该是判别器经过sigmod的输出结果,符合GAN那节讲到的损失函数 ### Evaluation process and experimental configuration 这节作者着重介绍了五个雷电预警的常用评价指标: - $\text{POD} = \frac{\text{TP}}{\text{TP}+\text{FN}}$:称为命中率。量化模型对于雷电事件发生的预测能力。指标越高代表预测能力越强 - $\text{FAR} = \frac{\text{FP}}{\text{TP}+\text{FP}}$:称为误报率。衡量模型错误预测雷电事物的程度。指标越低表示误报概率越低 - $\text{MAR} = \frac{\text{FN}}{\text{TP}+\text{FN}}$:称为漏报率。衡量模型遗漏雷电发生的成都。指标越低表示模型预测效果越好 - $\text{TS} = \frac{\text{TP}}{\text{TP}+\text{FN}+\text{FP}}$:称为威胁评分(临界成功指数)。兼顾模型的命中情况和误报情况。数值越高模型整体预测性能越好 - $\text{HSS} = \frac{2\times(\text{TP}\times \text{TN} - \text{FP}\times\text{FN})}{(\text{TP}+\text{FN})\times (\text{TN}+\text{FN}) + (\text{TP}+\text{FP})\times (\text{TN}+\text{FP})}$:海德吉尔技能评分。用于评估二元预测模型的预测性能,排除数据不平衡对估算结果的干扰。HSS=0为随机预测,越接近1越接近完美预测 实验参数设定: - $r$:探测半径。如果在探测半径内没有发现雷电,则真实标签为0 - $N$:阈值。如果在该网格点的预测值大于阈值,则预测标签为1 - baseline model: - Unet - Swin-Transformer - ConvGRU - ConvLSTM - optimizer: Adam - learning rate: 1e-3 - random seed: 42 - batch size: 1 ### Post-processing 这节讲了对于测试集数据的评测和可视化方式。对于测试集数据来说,首先采用最大最小归一化方法进行归一化处理,然后将预测数据叠加在地图上并与真实数据对比。 ## Results and discussion ### Model performance evaluation 这里将MCGLN-LOM和四个基线模型进行对比,证明了MCGLN模型的有效性 ### Effect of data input source 这部分通过对照试验表明了多数据输入的有效性 ### Case visualization analysis 这部分是做的可视化分析 ## 总结与反问 这篇论文主要侧重的是多数据融合和多尺度的时序数据的拟合和处理。是否可以用现在已有的既支持多尺度特征图又支持时序序列的方法去做这个?比如LLaVa和maba? 最后修改:2025 年 11 月 30 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏