基于LSTM神经网络方法的粤东近岸海温预报
2022-11-07林小刚王兆毅李竞时庞运禧罗荣真闫桐
林小刚,王兆毅,李竞时,庞运禧,罗荣真,闫桐
(1.国家海洋局汕尾海洋环境监测中心站,广东 汕尾 516600;2.国家海洋环境预报中心,北京 100081;3.热带海洋环境国家重点实验室(中国科学院南海海洋研究所),广东 广州 510301)
1 引言
海温预报是海洋研究应用中的一个重要方面。开阔大洋的海温变化与全球气候、海-气相互作用、海洋环流以及海洋生态等都有着密切的关系,近岸海温的时空变化对天然渔场分布、人工水产养殖、赤潮爆发和海洋工程建设等影响显著。另外,三维海温场变化是海洋水声工程建设和海洋军事活动的关键要素,直接影响潜艇和其他水下兵器的应用。由此可见,海温预报对于全球气候变化、近岸人类活动、海洋开发和国防建设都具有重要意义[1-2]。我国最早开展近岸海温业务化预报的机构是国家海洋环境预报中心,其在2007年建立了基于普林斯顿海洋模式(Princeton Ocean Model,POM)的中国近海三维温盐流数值预报系统[3],2013 年又基于区域海洋模式(Regional Ocean Modeling System,ROMS)对该预报系统进行升级,并与全球数值预报系统整合形成全球-大洋-区域全覆盖的全球业务化海洋学数值预报系统。另外,海军海洋水文气象中心、国家海洋局北海预报中心和南海预报中心等机构也分别建立了中国近海的三维温盐流预报系统[4-6]。但是在近岸和浅水海域,受海岸线、水深和人类活动的影响,海水物理过程时空尺度小,数值模式的海温预报精度往往达不到实际应用的需求,因此,研究人员也采用经验预报、动力释用和动力统计等方法对近岸海温预报及订正进行了研究[6-11]。
人工神经网络是一种统计方法,它通过模拟人脑神经元网络,计算各个信息节点间的权重值,从而达到逼近真实系统的效果。近年来,该方法在潮汐、海浪、海温以及海洋动力过程等海洋研究中得到了广泛应用[10,12-18]。与数值模拟相比,人工神经网络的优势在于不依赖明确的物理过程,不必考虑时空分辨率,因此对近岸海洋要素预报具有很好的适用性。长短期记忆网络(Long Short-Term Memory,LSTM)是一种时间循环神经网络,能够考虑未来数据和历史数据的相关性,可以很好地解决普通递归神经网络(Recurrent Neural Networks,RNNs)的长时间依赖问题,在连续性较好的长时间序列训练中的效果优于传统的逆向神经算法(Back Propagation,BP)网络[19]。本文采用LSTM 神经网络方法,利用粤东沿岸各海洋站点的海温观测数据和区域大气模式(Weather Research and Forecasting,WRF)的24 h气象预报数据,通过分析数据的相关性,优化训练数据集,建立了一套高效预报粤东近岸24 h 海温的方法。
2 数据和方法
2.1 海温观测数据
本文采用2017—2018 年粤东6 个海洋站点的表层(海面下0.5 m)海温观测数据作为研究对象。为了验证预报方法的适用性,我们增加了深圳站(赤湾站)作为对比站点。各站点的位置如图1 所示。为便于区分,粤东海洋站点从西至东的编号分别为YD01—YD06,深圳站编号为SZ。从图1 可以看出,粤东近岸海域位于南海北部,受台湾海峡和巴士海峡水交换影响显著。该海域近岸各站点均匀分布在广东省汕尾市、揭阳市、汕头市和潮州市沿海,可以很好地捕捉粤东沿岸的海温变化情况。深圳站位于珠江口内,其海温变化规律与粤东海域差异较大,可以用来检验LSTM 神经网络方法的适用性。海洋站点海温观测采样时间间隔为3 s,取整点前1 min 的平均值作为该整点的观测值。剔除异常数据后,本文取每日0—23 时的整点海温进行平均并作为当日平均海温,共得到730个样本。
2.2 气象预报数据
气象预报数据来自业务化运行的区域WRF 模式结果。模式网格水平分辨率为10 km,垂向分为34层,时间步长为90 s,开边界采用美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration,NOAA)全 球 预 报 系 统(Global Forecast System,GFS)的预报结果。模式每日预报时效为120 h,逐3 h 一次。通过与YD01 海洋站点的观测数据进行对比,WRF模式结果中气压、气温、降雨量和风速的日平均误差分别为0.016 hPa、0.8 ℃、3.5 mm 和0.3 m/s,相关系数(其中降雨为预报成功率)分别为0.997、0.968、41.1%和0.749。本文选取2017—2018 年每日24 h 预报的比湿(Q2)、气压(PSFC)、净热通量(SWDOWN)、海面2 m 气温(T2)、降雨量(RAINNC)、纬向10 m 风速(U10)、经向10 m 风速(V10)7 个要素进行研究,计算各要素的日平均值,每个要素包括730个样本。
2.3 神经网络训练方法
2.3.1 神经网络配置
LSTM 最早是由 HOCHREITER 等[19]提出的一种时间递归神经网络,其记忆单元中包含3 类门(gate)用以控制信息的收集和传递,分别是输入门(input gate)、输出门(output gate)和遗忘门(forget gate)。3 类门中最重要的是遗忘门,当网络在这里产生的值近似于零时,它将把区块里记忆的值抛弃掉。LSTM的标准公式如下:
式中:σin和σ为激活函数,本文分别采用 tan h 和sigmoid;W为权重矩阵;x为输入函数;U为隐藏状态矩阵;h为目标函数;b为偏置量;c为记忆单元;⊙代表点乘[20]。
本文构建的深度学习网络包含一个拥有100个隐含层单元的LSTM 层,一个大小为50 的全连接层,以及一个丢弃概率为0.5 的丢弃层,其中,全连接层大小和丢弃概率对网络性能影响不大,隐含层单元越多则网络效果越好,但是耗时显著增加。本文分别选取 10 个、20 个、50 个、100 个和 200 个隐含层单元对学习网络模型进行测试,结果显示隐含层单元为100 个与200 个时模型效果相近,皆显著优于隐含层单元较少的网络,但单元为200 个时网络训练用时是100 个的3 倍多,因此,本文将隐含层单元设定为100 个。另外,网络的初始学习率取0.01,每训练100 次降为原来的0.8 倍。设定梯度阈值为1,以防止梯度爆炸。较大的学习率可以加快网络的学习速度,但是容易导致震荡,而较小的学习率可以稳定学习曲线,但是学习速度较慢。本文采用较大的初始学习率,而后逐步减小,既减少了学习曲线的震荡又保证了学习效率。两组神经网络针对每个海洋站点分别训练500 次,训练和测试的样本数据都分别经过归一化处理后再输入模型。采用主频3.0 GHz的四核处理器和8 G内存的通用办公计算机进行训练,每个站点的训练时间约为3 min。
2.3.2 训练要素筛选
相较于大气,海洋的比热容大,且物理过程较缓慢,因此海温的变化较气温小得多,且连续性更好。粤东沿岸各海洋站测得的海温年变化在16~30 ℃之间,日变化值基本小于1℃。在早期海洋数值预报技术尚未成熟时,粤东区域的海洋预报员常依据这一性质将惯性预报(即初始状态在预报时效内保持不变的预报)作为海温预报的重要参考。本文计算了粤东沿岸各海洋站和深圳站日均海温的标准差(STandard Deviation, STD)以及24 h 和48 h惯性预报的均方根误差(Root Mean Square Error,RMSE)和平均绝对误差(Mean Absolute Error,MAE),结果见表1。从表中可以看出,各站日均海温STD 与RMSE 和MAE 的变化基本一致,说明海温变化越小的站点惯性预报的准确度越高。除了YD03 站外,各海洋站24 h 日均海温惯性预报的RMSE 均小于 0.7 ℃,MAE 均小于 0.5 ℃,SZ 站日均海温STD 和惯性预报的误差明显小于粤东各站,其MAE 仅为0.21 ℃。目前,国内业务化海洋模式预报水温的24 h误差为0.7~1.0 ℃[2,5-6,10],粤东近岸海域数值预报效果比惯性预报略差。因此,本文选择24 h 惯性预报的结果,即前1 d 的日均海温,作为神经网络的训练要素之一。
表1 各海洋站日均海温标准差及24 h和48 h惯性预报的均方根误差和平均绝对误差(单位:℃)Tab.1 STD of daily mean sea surface temperature and the RMSE and MAE of 24 h and 48 h persistence forecasts at each marine station(unit:℃)
另外,我们计算了各气象预报要素与日均海温的相关系数,结果如表2所示。从表中可以看出,日均海温与比湿、气温和气压的相关性较高,而与降雨量不存在相关,这似乎有悖于我们通常认为的降雨会对海温产生直接影响这一认识。我们从各气象预报要素与日均海温的点聚图可以看出(见图2),比湿、气温和气压与日均海温的高相关性主要体现在年变化上(见图2a—c),而风速、净热通量和降雨量与日均海温的点聚图离散程度太高,不能直观反映两者间的相关性(见图2d—g)。由于本文研究的是短期预报,为了剔除年变化的影响,我们进一步计算了各气象预报要素与经过7 d 高通滤波后的日均海温,以及与24 h 日均海温变化值的相关系数,结果见表2。从表中可以看到,除了降雨量外,各气象要素与经过高通滤波后的日均海温的相关性大大减小,而与24 h 日均海温变化值的相关性相对较高,特别是同降雨量的相关系数变为-0.14,说明降雨确实在一定程度上降低了海温。另外,24 h日均海温变化值与各气象预报要素点聚图的离散程度较小(见图3),这对神经网络的训练更加有利。
图2 2017年海洋站点的气象预报要素与日均海温的点聚图Fig.2 Plots of meteorological factors correlated with daily mean sea surface temperature of marine stations in 2017
图3 2017年海洋站点的气象预报要素与24 h日均海温变化的点聚图Fig.3 Plots of meteorological factors correlated with 24 h variation of sea surface temperature of marine stations in 2017
表2 各气象预报要素与日均海温的原始值、7 d高通滤波值和24 h变化值的相关系数Tab.2 Correlation coefficients of each meteorological factor with daily mean sea surface temperature and its 7-day high pass filtered value and 24 h variation
根据训练要素的筛选分析,我们针对日均海温及其24 h 变化分别设置两组神经网络训练,分别记为SST 组和deltSST 组。为了保证输入的时间序列足够长,本文采用前100 d 的数据去预测第101 d 的海温,即SST 组的训练输入为(T-98:T+1)d 的气象预报要素以及(T-99:T)d 的实测日均海温,训练输出为T+1 d 的日均海温;deltSST 组的训练输入为(T-98:T+1)d 的气象预报要素,训练输出为T+1 d的日均海温24 h 变化,而后将输出结果与T d 的实测日均海温相加得到T+1 d的日均海温。两组神经网络的训练数据集为2017 年的265 个样本,预报数据集为2018 年的265 个样本。最后,将两组预报结果与实测进行对比检验。
3 结果分析
本文利用深圳站和粤东各海洋站点2018 年1月1 日—12 月31 日的实测日均海温对两组神经网络的预报结果进行检验,结果如图4 所示。从图中可以看出,SST组和deltSST组的训练结果都十分理想,预测结果较为稳定,10 次模型训练所得到的预测结果的MAE 变化不超过0.05 ℃。为了更好地分析两组神经网络的效果,我们分别计算了各站点日均海温预报结果的RMSE和MAE(见表3)。结果显示,两组神经网络的预报效果均优于惯性预报,其中,粤东各站点日均海温预报的RMSE 平均值分别为 0.50 ℃和 0.45 ℃,MAE 平均值分别为 0.36 ℃和0.32 ℃,deltSST 组的结果整体上略优于SST组。另外,我们计算了各站点日均海温预报结果与实测值的相关系数,均大于0.98,进一步验证了预报结果的可靠性。从表3 还可以看到,SZ 站两组神经网络预报的日均海温误差非常小,deltSST 组结果的MAE只有0.15 ℃,这说明两组神经网络预报方法在粤东以外海域同样具有很强的适用性。
图4 两组神经网络预报结果与各站点实测日均海温的对比Fig.4 Comparison of forecast results from two sets of neural networks and daily mean sea surface temperature of marine stations
表3 两组神经网络预报结果的RMSE和MAE(单位:℃)Tab.3 RMSE and MAE of forecast results from two sets of neural networks(unit:℃)
为了更细致地检验预报的效果,本文对各站点7 d 内日均海温变化均较为显著的样本进行了深入分析,发现SST 组的预报结果在这部分样本中经常出现滞后现象,滞后的时间约为1 d,而这在deltSST组的预报结果中较少出现(见图5),原因很可能是SST 组神经网络输入的数据中包含了惯性预报数据。遗憾的是,经过试验,如果将惯性预报数据从SST 组中剔除,预报结果的 RMSE 和 MAE 都超过1℃,相较两组神经网络的误差显著增大。于是,我们绘制了粤东各站点SST组、deltSST组和惯性预报3 组结果的MAE 与日均海温变化的关系曲线(见图6)。从图中可以发现,SST 组与deltSST 组的MAE在日均海温变化值小于2.5 ℃时十分接近,两者的差距小于0.05 ℃;当日均海温变化达到2.5 ℃以上时,两组的MAE 均显著增大,SST 组的MAE 比deltSST组高出0.3 ℃,几乎接近惯性预报的误差水平。
图5 海洋站部分样本的预报与实测(7 d)对比Fig.5 Comparison between prediction and measurement of some samples of marine stations
图6 3组预报结果平均绝对误差与日均海温变化的关系曲线Fig.6 The relationship between MAE of the three sets of forecast results and daily mean sea surface temperature variation
基于以上分析,我们推断当日均海温变化显著时,SST组预报结果受到模型输入数据中前1 d日均海温值的影响比重增大,预报结果可能更倾向于在惯性预报结果的基础上进行订正,输入数据中的气象要素主要起到修正作用。气象要素在日周期上与海温本身的对应关系有限,这一点可以从物理机制方面来理解。例如,在其他变量不变的情况下,绝对高的净热通量并不一定代表绝对高的海温,它还取决于海温本身的初始值,净热通量仅对应了一段时间内海温的变化值。deltSST 组神经网络则避开了惯性预报的影响,单纯利用气象要素与海温变化值的关系,通过准确预报海温增量后再叠加海温初始值,从而达到更好的预报效果。
4 结论与讨论
本文基于粤东沿岸各海洋站点的海温观测数据以及WRF 模式的24 h 气象预报数据,利用LSTM神经网络构建了两组深度学习方法,对粤东近岸的海温进行24 h 预报并与实测数据进行对比分析。结论如下:
(1)本文构建的深度学习方法在粤东近岸海温预报中的效果较好,24 h预报的RMSE和MAE分别为0.45 ℃和0.32 ℃,且该方法在粤东以外海域也具有较强的适用性。
(2)在本文构建的神经网络中,当日均海温变化较小时,直接对日均海温进行预报和对其变化值进行预报的效果相近;当日均海温变化较大时,对其变化值进行预报后叠加海温初始值,可得到更准确的结果。这主要是因为该方法不会受到惯性预报结果的影响,而且在日周期上,神经网络输入的气象要素与日均海温变化值的相关性要好于日均海温本身。
从两组神经网络方法的对比可以看出,将深度学习应用于海洋预报不能仅依靠传统的参数调试,结合关键物理过程的机制对输入和输出要素进行处理有可能事半功倍。虽然深度学习方法可以挖掘多维数据中的复杂关系并加以表达,但这往往需要利用较为理想的数据集合才能实现。实际工作中我们能搜集到的训练数据千差万别,不加区别全部交由深度学习去处理的方式更适合作为某个预报产品的订正手段。深度学习的训练结果会在一定程度上依赖于输入的预报产品的准确度,其会影响结果的稳定性。
在本文的研究中,由于SST 组的训练数据中加入了前1 d 的海温数据,因此模型预报结果的误差便是以惯性预报作为底线。这在一定程度上确保了预报结果的可靠性,但是却掩盖了模型中输入与输出要素相关性有限的问题,这可能会阻碍模型在业务化工作中发现问题以及不断优化。实际上,为了保证模型输入的时间序列足够长,本文在研究中采用前100 d 的数据去做24 h 的海温预报,这在日常业务工作中较为不便。若只采用前5 d 的数据去做粤东各站点的海温预报,那么SST组结果的MAE将增大到1.02 ℃,而deltSST 组结果的MAE 仅增大到0.35 ℃,这说明deltSST 组神经网络模型具有较强的适用性。
受限于技术水平以及可用资料,我们没有构建更复杂的深度学习网络对更长时间序列以及更广区域的海温进行预报。但是,通过SZ站与粤东各站的海温预报效果对比,我们能够看出同一预报方法的海温预报误差量值与预报区域海温变化的幅度直接相关,即海温变化越小的站点或区域,其预报误差也相对较小。这就使得不同区域海温预报的准确度差异较大[2,10,17],也导致不同预报方法的对比参考较困难。针对这一问题,我们认为将相同时效内海温惯性预报的误差或者较长时间海温数据的标准差作为对比,可以让相关研究成果更加直观,并有益于海温预报技术和水平的提升。