从天气预报谈深度学习,不同的预报对象、结构和心得体会
柏舟 新冠5年 06-28
我真正入门深度学习应该是从使用神经网络预测天气开始。先简单介绍这个领域:首先目前主流的天气预报系统是数值天气预报(Numeric Whether Forecast)。其中,考虑了大气的流体力学、热力学、化学等因素。然后使用从世界各地得到的观察值,比如地面测量的风速、风廓线雷达得到的从地面到高空的风场等等数据,不断修正初值,然后反复迭代预报。状态修正的方法有基于卡尔曼滤波的,基于最优控制的四维变分同化,总的来说这些都是变分的方法。目前最先进的天气预报系统是欧洲ECWMF开发的IFS(integrated Forecast System),通过各地收集的数据同化可以同化得到初值的均值和方差,然后就能够通过序列重要性采样的方法得到未来的状态的均值和方差。
总的来说,这条技术路线主要是基于模型的方法,模型越准,收集的初值越多,计算越精确。我个人觉得其中求解流体的偏微分方程比较简单,而计算云、降雨比较难。还有一些与海洋交互的问题很难建模。这个方法最大的缺点就是很难从已有的资料来学习,修正模型。所以,涌现了很多使用深度学习的天气预报方法。首先介绍一下数据集,使用的是ECWMF的再分析数据集(ERA5),从1970年开始,能够给出0.25°网格,每小时的天气状态量,包括地面的风速、降水,还有不同高度的风速、云的覆盖程度、湿度等等。
中期天气预报
最早做得比较好的是2022年,Nvidia开发的Fourcast[2],这个团队的背景倾向于AI for science,在第一个版本使用了傅里叶算子,取得了接近IFS的效果。这篇文章的时间步长是6h,输入当前状态预测下一时刻状态,然后反复迭代。比较有意思的是在微调节点使用连续两次迭代(6h,12h)的结果的MSE进行优化。在第二个版本[5]引入球谐傅里叶算子,这主要是因为地球是球形的,而普通的傅里叶算子是针对欧几里得空间开发的,里面涉及一些黎曼几何,我也不懂。反正修正了极地地区的效果。最近老黄的发布会好像也说了天气预报的东西,好像是和美国的NOAA合作,用WPF天气预报系统的预报数据训练,然后可以用于分钟级,细网格,甚至城市风场的预测。虽然精度肯定比WPF低,但是神经网络的推理速度实在太快了。
然后是2023年华为做的盘古大模型[1],这个网络结构没什么创新,就是swin Transformer往上怼。它最有意思的地方是使用分层迭代的方式预测。它同时训练了1h, 3h, 6h, 24h的网络,比如你想要预测未来31h的天气,只需要分别使用24h, 6h, 1h迭代3次,而不是1h迭代31次,大大减小了累计误差。然后它是第一个效果超过IFS的模型,发了Nature。
最后是Google在2023年开发的Graphcast[8],最后发表在Sicence上。它使用了图神经网络,总所周知,卷积神经网络只能提取周围神经元的信息,但是图神经网络通过系数矩阵能够连接任意距离的神经元。对于天气预报,它最大的优势与Fourcast的球谐傅里叶算子完全相同,通过坐标变换使周围特征在计算网格上等价,有助于卷积神经网络提取特征。最后它的网格参数小于盘古大模型,但是效果更优。
总的来说,Fourcast和Graphcast比较有意思,它跟计算流体力学,将物理网格代换到计算网格的思路上没有本质的不同,算是不错的AI for science的思路。
其它天气预报
除了中期天气预报这种预报周期以小时计的,还有一些针对风力发电的风场预报,针对短期强降水的预报。
针对风力发电的风场预报对象为风能密度和风速。其中风能密度能够得到风电场未来的发电功率估计,从而优化电网调度,而风速能够得到风向,然后主动改变风力发电机的朝向,提高发电能力。风力发电机一般配备激光雷达,能够得到风力发电机前区域风场的分布,通过输入风场数据就能够得到未来的估计。它的做法分为两种:
- 使用LSTM等RNN计算单点的时序风速;
- 使用卷积神经网络计算整个区域的风场。这种思路和中期天气预报没有本质区别,只是计算周期更短,只对风速进行预测。
相关的文献有WSFNet[6],使用信号提取方法做前处理,然后使用卷积神经网络和通道注意力机制进行学习。我的感觉是这个领域和CV和NLP差得太多,都是用的别人的神经网络,然后做出一个成果没有太多的意义。
除了风力发电的预报还有短期强降雨的预报。不知道大家有没有一种感觉,就是最近几年特别是今年气候特别不正常。2023年河南强降雨,淹死了人,很多仓库也被淹了。今年江西强风,玻璃都碎了,人都被吸出窗外坠楼而亡,还有广州强降雨,道路冲垮了。有的时候我甚至都觉得打仗都是小事,我真怕有一天不仅日本周围的鱼死光了,油和鸟克兰的核电站也炸了,都时候所有土地都污染了。现在这种气候越来越极端,我觉得跟战争和海底采矿技术不过关导致可燃冰大量释放有关,当然是我的猜测。说回短期强降雨的预报,主要有Google在2021年开发的[3]和清华大学和国家气象中心开发的[4],它的网络结构和PredRNN-V2很像,通过LSTM的跳跃连接提取不同层次的特征进行学习。最近中国气象局推出“风清”、“风雷”、“风顺”三种 AI 气象大模型系统,看来清华大学一直有团队在做这个事。
炼丹体会
由于我不是专门搞深度学习的,所以没有追前沿的需求。深度学习主要有两个方面:
- 更好的网络结构,比如Transformer, UNet, PredRNN等等,如何用更少的参数更好的拟合数据集的分布。我目前的感觉是对于气象这种任务,拟合能力还是不够。
- 炼丹辅助技巧,比如Mask, Diffusion, GAN等等,包括增强数据,使用无标注的数据生成样本,使用Mask强迫网络学习不同尺度的特征。相比网络结构,这些技巧更加普适,但是更难以理解。
总的来说,我感觉我真正入门深度学习就是靠着做天气预报,尝试对不同输入输出建模,尝试不同的网络结构。深度学习还是很有技巧的,对于我这种只能靠自学的,非常建议在入门后,阅读相关领域好的文章中使用的baseline,看看baseline使用的网络结构和训练技巧,能够快速提高炼丹水平。
[1] K. Bi, L. Xie, H. Zhang, X. Chen, X. Gu, and Q. Tian, “Accurate medium-range global weather forecasting with 3D neural networks,” Nature, vol. 619, no. 7970, pp. 533–538, Jul. 2023, doi: 10.1038/s41586-023-06185-3.
[2] J. Pathak et al., “FourCastNet: A Global Data-driven High-resolution Weather Model using Adaptive Fourier Neural Operators.” arXiv, Feb. 22, 2022. Accessed: Apr. 28, 2024. [Online]. Available: http://arxiv.org/abs/2202.11214
[3] S. Ravuri et al., “Skilful precipitation nowcasting using deep generative models of radar,” Nature, vol. 597, no. 7878, pp. 672–677, Sep. 2021, doi: 10.1038/s41586-021-03854-z.
[4] Y. Zhang et al., “Skilful nowcasting of extreme precipitation with NowcastNet,” Nature, vol. 619, no. 7970, pp. 526–532, Jul. 2023, doi: 10.1038/s41586-023-06184-4.
[5] B. Bonev et al., “Spherical Fourier Neural Operators: Learning Stable Dynamics on the Sphere.” arXiv, Jun. 06, 2023. Accessed: May 02, 2024. [Online]. Available: http://arxiv.org/abs/2306.03838
[6] H. Acikgoz, U. Budak, D. Korkmaz, and C. Yildiz, “WSFNet: An efficient wind speed forecasting model using channel attention-based densely connected convolutional neural network,” Energy, vol. 233, p. 121121, Oct. 2021, doi: 10.1016/j.energy.2021.121121.
[7] K. Trebing, T. Staǹczyk, and S. Mehrkanoon, “SmaAt-UNet: Precipitation nowcasting using a small attention-UNet architecture,” Pattern Recognition Letters, vol. 145, pp. 178–186, May 2021, doi: 10.1016/j.patrec.2021.01.036.
[8] R. Lam et al., “GraphCast: Learning skillful medium-range global weather forecasting.” arXiv, Aug. 04, 2023. Accessed: May 04, 2024. [Online]. Available: http://arxiv.org/abs/2212.12794