基于LSTM的海表面高度异常预测方法*
2021-03-16江璟瑜徐丹亚韩宁生王子赫
江璟瑜 徐丹亚 韩宁生 王子赫
(1.中国石油大学(华东)计算机与科学技术学院 青岛 266580)
(2.南方海洋科学与工程广东省实验室(珠海) 珠海 519080)
1 引言
海表面高度异常(SSHA)对人类的生产生活有着重大的影响,例如渔业[1]海平面上升[2]、海洋工程[3]等。海表面高度异常同时也是海洋系统中的重要参数之一,能够反映海流、潮汐、海洋锋面、水团等中尺度海洋动力特征[4],预测海表面高度异常的研究同时具有理论和现实意义。由于海洋环境的复杂性与不确定性,海表面高度异常预测的准确性一直有待提升,传统预测海表面高度异常的方法分为两类,一类是基于物理方程的数值模拟方法,需要大量的计算资源,适用于大范围的预测,另一类是基于数据驱动的方法,由于不同数据的特点适用于区域性的预测。数据驱动的方法是对数据的变化规律的提取,基于数据驱动的方法依赖于海表面高度异常数据集的大小和质量。多年来,通过卫星遥感观测以及多种模式数据的产生,积累了大量的海表面高度异常数据,为使用数据驱动的方法进行海表面高度异常的精确预测提供了数据基础。由于海洋环境的复杂,当前人工智能适合进行区域性SSHA预测,并且精确度和预测时间有待于进一步的提升。
为解决上述问题,本文采用长短期记忆神经网络(LSTM)[5]对海表面高度异常进行短期精确预测,在基本LSTM单元的基础上,设计stacked-LSTM,建立了海表面高度异常预测模型。本文提出的模型在预测中国南海未来120h的海表面高度异常上取得很好的效果,并与ANN、RNN、TCN等模型进行对比,证明我们的方法预测南海海面高度异常的准确性与有效性。据调查,这是第一次尝试使用数据驱动的LSTM模型来预测SSHA。
2 方法
LSTM是在传统RNN[6]的基础上改进得到的一种特殊的循环神经网络,它在传统RNN的基础上引入记忆单元,这在一定程度上克服了传统的神经网络由于时间步长过大导致的梯度消失和梯度爆炸问题。LSTM通过将隐藏层作为一个记忆单元,对长时间和短时间的序列依赖问题相对于传统RNN都具有绝对的优势。
单层的LSTM由于模型的简单而不能较好地反映SSHA数据的内在规律,stacked-LSTM模型采用三层LSTM单元和一层DENSE单元堆叠而成。相比单层的LSTM,多层的LSTM更能捕捉到SSHA序列之间前后的关联,但由于LSTM记忆单元的复杂结构,多层的LSTM容易产生梯度消失的问题。为减少多层LSTM的梯度消失的问题,本文选定了三层的LSTM作为主要结构,最后通过DENSE层将结果映射出来。
3 实验和结果
本文使用CORA再分析高分辨率SSHA数据,我们选取的数据集包含了从1993/01/01~2011/02/12共6617天的SSHA数据,经纬度范围是109.25°E~121.75°E,5.25°N~21.75°N,分辨率为1/4°×1/4°。
我们将SSHA的预测看作时间序列的问题,使用历史观测值去预测未来的值,那么首先应当确定使用多长的历史信息进行预测。根据海表面高度的变化规律与历史经验,确定历史信息长度L为7、15、30,并将所得结果进行比较。其次,将6617天的SSH随时间变化的序列按5850、107、660的比例进行划分[7],按照确定L的值分别生成实验集、评估集、测试集。最后,模型的优化算法采用ADAM算法[8],Adam结合了AdaGrad和RMSProp算法最优的性能,并能提供解决稀疏梯度和噪声问题的优化方法。因为样本较多,我们采用小批量梯度下降算法(mini-batch)[9],在保证准确度的同时增加了训练速度。
本文使用相对误差(ACC)评估不同模型的预测效果,预测结果采用平均值加标准差的形式。通过实验,选定历史信息长度L=15,此时ACC最大。为了使模型得到更好的性能,我们接着从两个方面改变了模型的参数:隐藏层神经元的个数、模型层数。最后确定隐藏单元在20的时候效果最好,而且单元数的变化对实验效果并不明显。随着stacked-LSTM的层数由1层到4层,预测的准确率先上升,后下降,到第三层取得最好的效果,过少的层数由于模型结构的简单而无法完全获取到模型的变化趋势与内在规律。过多的层数由于模型的复杂和训练过程中梯度的消失,最终结果反而变差。
本文将Stacked-LSTM与ANN、RNN、TCN[10]等模型进行对比。结果如表一所示,Stacked-LSTM仅预测第三天的结果比ANN低了0.04%,在其他时间段准确率均高于ANN,Stacked-LSTM的预测SSHA的效果总体上好于ANN。并且Stacked-LSTM在任意时间段的准确率均高于TCN、RNN等模型。
同时,我们根据2009/05/09~2009/05/13的预测值和实际值差的绝对值作出灰度图,如图1所示。根据统计,差值绝对值在0.01cm以内的区域占总区域的比值分别为99.44%、96.09%、89.27%、80.56%、73.40%,说明我们的模型具有空间稳定性。图2为2010/12/27~2010/12/31的灰度图,与图1间隔约500天,进一步证明模型在经过长时间的间隔后,仍然具有预测能力。此外,由于黑潮的影响,南海北部海表面高度异常的振幅变化较大[11],对海表面高度异常预测具有一定影响,导致我们的模型在南海北部的预测误差相对较高。
图1 真实值与预测值差的绝对值(2009/05/09 ~2009/05/13)
图2 真实值与预测值差的绝对值(2010/12/27~2010/12/31)
表1 不同模型实验结果比较
4 结语
在本文中,我们将SSHA的预测当作时间序列问题,在LSTM基本单元的基础上,采用stacked-LSTM模型,使用历史SSHA数据预测未来的SSHA数据。据本文所知,这是第一次采用LSTM进行SSHA的预测,模型采用LSTM单元捕捉SSHA时间序列的变化规律,采用Dense映射得到最后的结果。在中国南海的SSHA数据集上,对未来120h的预测都取得了不错的效果,并与ANN、RNN以及近期提出的TCN进行了对比,发现我们的模型总体效果最好,证明我们提出的方法在预测南海未来SSHA值的有效性。
对于未来的工作,可以考虑结合其他因素对海表面高度异常的影响,考虑多因素下的SSHA预测或许会取得更好的预测效果,并且可以引入膜计算,提高模型的计算效率[12~13]。