News
时间:2022-01-14来源:沐曦IC 设计工程师 许鑫
降雨是一种常见的自然现象,准确的降雨预报,可以指导人们合理地做出规划。本文将解释深度学习在降雨预测中得到广泛应用的原因,阐述深度学习如何进行降雨预测,并介绍现有的主流预报算法,以及这些算法是如何进行降雨预测的,并从现有深度学习的不足之处展望未来的发展方向。
降雨是一种与我们生活密切相关的气候,小到日常的交通出行,大到洪水、泥石流等自然灾害,都与其有着密不可分的关系。如果能够准确地对未来的降雨过程进行预测,人们就可以合理地安排自己的出行计划,开展室外活动,提前做好防灾措施,减少人员伤亡和财产损失。因此,对降雨预测进行深入的研究,具有十分重要的现实意义。
纵观人类社会,天气预报具有悠久的历史。早在公元1世纪前后,东汉张衡就发明了世界上最早的风向仪——相风铜鸟;南宋时期著名数学家秦九韶提出了雨量测试换算公式;到了明朝永乐年间我国就开始制造雨量计了。随着科技的进步,人类对于降雨的预测早已经由模糊的猜测发展到根据科学的理论来进行准确的预报。
1946年8月29-30日,世界上第一次数值天气预报(NWP)学术会议召开。数值天气预报是依据大气实际情况,在一定的初值和边值条件下,通过大型计算机进行数值计算,求解天气演变过程的流体力学和热力学的方程组,从而预测未来一定时段的大气运动状态和天气现象的方法。但是数值天气预报也有一定的弊端,依据方程组求解的模式来对未来的降雨过程进行预测,需要大量的实时大气资料的供应来用作计算,却很难生成短期(例如两小时内)的高时间分辨率预测。而且数值天气预报的计算数据非常之多,不能用手工或小型计算机去完成,必须依赖大型的计算机,限制了预报的时效性和灵活性。
2012年Alexnet横空出世,借着大数据和GPU的重剑无锋,深度学习方法在很多领域取得了不俗的成就。为了填补数值预报在短时临近预报方面的不足,众多研究者尝试使用深度学习来解决这一问题。在深度学习领域中,短临预报问题可以被看作时空序列预测问题,通过输入过去的雷达回波图或降雨图,模型可以计算输出未来的雷达回波图或降雨图(雷达回波图可以通过Z-R关系转换为降雨量)。不同于数值预报,深度学习模型通过直接学习降雨过程中的时空特征(如降雨区域、雨量大小和移动方向等等)来预测天气模式,既避免了依据固定方程进行求解预测导致的对降雨过程建模不充分的问题,还可以根据需要灵活地调整预测的时空分辨率。此外,训练后的模型仅用一张GPU就可以在几秒左右的时间内生成未来数小时的高时空分辨率预测,极大地降低了预报对硬件设备的要求。
循环神经网络(RNN)和长短期记忆网络(LSTM)常常被用于处理序列数据,它们可以有效地避免模型训练过程中出现的梯度消失问题。2015年,香港科技大学团队提出了卷积神经网络(CNN)和长短期记忆网络的结合体ConvLSTM。通过对全连接LSTM(Fully Connected LSTM)进行扩展,将全连接计算改为卷积计算,使其在输入到不同隐藏状态的转换过程中都增加了空间信息,如此就能够捕捉降雨过程中的时空特征而非单纯时序特征,更符合预测任务的要求。值得一提的是,ConvLSTM的训练仅仅在单张的NVIDIA K20 GPU即可完成训练和预测,打破了天气预报必须依赖于超级计算机驱动的传统,拉开了深度学习在降雨预测领域的大幕。
2017年该团队使用香港天文台提供的数据制作了一个用于短临预测的新基准,其中2009年到2014年的雷达数据用于训练集和验证集,2015年的数据作为测试集,并调整对现实生活影响更大的强降雨的权重,缓解缺乏强降雨数据造成的难以预报的问题,还创新性地提出了主动学习卷积结构的新模型TrajGRU,实验结果表明新模型的预报性能优于传统的矢量光流法和之前的ConvLSTM。据悉,后续该模型成功融入到香港天文台的预报系统中,应用于实际的短时临近降雨预测任务中。
清华大学软件学院机器学习组(THUML)在时序预测领域有一系列的研究成果,从2017年的PredRNN和2019年的Memory In Memory(MIM)到2021年的MotionRNN和PredRNN V2,都对此领域影响颇深。研究人员通过对不断改进ConvLSTM单元、引入自注意力机制和修改模型中信息流的方向等方式来不断提升模型的性能。在图5中可以清楚地看到相较于之前的模型,他们的模型在预测雷达回波运动趋势和强度两方面均有较大幅度的提升,且在多帧预测的场景下始终保持良好的预测效果,有效地改善了ConvLSTM和TrajGRU在多帧预测后精度下降的问题。
2021年9月,位于伦敦的AI研究机构DeepMind在《Nature》上发表了一篇关于天气预测的论文,通过过去的雷达数据对未来2小时内的降雨量、时间和地点进行预测。该文提出了一种类似于生成对抗网络(GAN)的深度生成模型方法DGMR,基于给定的时间点T、雷达的地面降雨估计值和过去M个雷达场来预测未来的雷达场。研究团队将DGMR的预测结果提交给56位气象学家,与现有的主流临近预报方法相比,该方法在89%的预测案例中取得了最高的准确性和实用性。图6中Target为预测目标真实值,可以看出平流方法(PySTEPS)生成的降雨强度与真实值相差较大(颜色相差较大,浅蓝色区域较多);另一种深度学习方法(UNet)的预测结果较为模糊,预测的降雨范围已经明显偏离真实值;而DGMR的预测结果在降雨强度和范围均优于上述提到的方法,不仅能捕捉到右上角的大幅度环流、强度、结构,也能够清晰地预测局部的降雨和运动。
此外,谷歌在MetNet的基础上,提出了全新的MetNet-2。在MetNet-2中,模型将原先MetNet的预测时效从0-8小时扩展到了0-12小时,同时还可以保持1公里的空间分辨率和2分钟的时间分辨率。除了普通的雷达回波图以外,MetNet-2还在模型中使用了物理模型来代替温度、湿度和风向等天气信息,与目前美国降水预测最先进的集合模型之一的HREF相比,MetNet-2的预测性能在多种评价指标上均有一定幅度的提升。谷歌通过可解释性工具跟踪各种输入特征对MetNet-2在不同预测时间线性能的影响,发现MetNet-2似乎仿效了Quasi-Geostrophic Theory,该理论被用作大规模天气现象的有效近似。这也从侧面验证了深度学习虽然是端到端的学习方式,并未人为设定明确的物理定律,但也能够从输入数据中学习到一些大气运动的物理规律。
在ConvLSTM中,作者定义时空序列预测任务的复杂度为O(MKNKPK),其中K为预测的序列长度,M和N分别为输出图像的宽度和高度,P是雷达回波图转换为大气物理量的维度。虽然在实践中可以利用可能预测空间的结构来降低维数,从而较少计算量。但是面对海量且种类繁多的观测数据(美国海洋与大气管理局(NOAA)收集的遥感数据规模增长速度已经达到了每天100TB),深度学习模型如何充分使用这些数据来做出准确的天气预测是值得深思的。
提升模型的预测性能无非是从两个方面入手,一是提升深度学习模型的表征能力,从固定的输入数据中学习到更多的知识;二是增加输入的数据,如湿度、风速和温度等辅助预测的信息,让模型从更多的数据中学习到更多的知识。不论是哪种方式,都直接对硬件设备的算力提出了更高的要求。Intel公司曾经使用自身的Xeon 9282和NVIDIA Tesla V100在ResNet-50模型评估性能,两块Xeon 9282的算力接近一块V100的算力,但功耗却是V100的两倍多,价格更是将近十倍。谷歌作为深度学习领域的霸主,也自主设计了张量处理单元(TPU),专门应用于机器学习工作负载,并在自家的Colab中提供给研究者使用。在谷歌云的服务器价格中,TPU v2的价格只有GPU的1/5。
随着5G时代的到来,AI、云计算是未来的发展趋势,不管是物联网、游戏、无人驾驶,都会被卷入到AI、云计算的浪潮之下,社会对算力的需求将会呈现爆炸式的增长。传统的CPU已经无法处理爆发式增长的数据和计算任务,这就要借助于GPU的通用计算,也就是GPGPU,其所具备的通用性、高可编程性,并行处理数据的特性,必然能够成为未来的算力之源。相信随着国内芯片行业的发展,未来将会出现更多的高算力芯片,引领人们更快地走向智能化时代。