基于融合U-Net 及ConvLSTM 的海面高度异常预报方法研究
2021-10-20周玮辰韩震张雪薇
周玮辰,韩震,2,张雪薇
(1.上海海洋大学 海洋科学学院,上海 201306;2.上海河口海洋测绘工程技术研究中心,上海 201306)
海面高度异常(Sea Level Anomaly,SLA)是反映海洋环境状况的重要变量之一,常用来进行海洋中尺度涡旋的识别和追踪(陈亚飞等,2016)。海面高度异常对船舶导航、渔业资源预测和海洋工程与工业具有重要的意义(Bhatpuria et al,2015;Carton et al,2005;Gao et al,2016)。此外,由于海洋中温盐结构分布差异引起的膨胀和收缩造成的热含量变化是引起海面高度改变的因素之一,因此海面高度异常的研究对揭示海洋温盐变化规律及动力过程也有着深刻意义(Chelton et al,2011)。
海面高度预报已经发展出了许多基于经验正交函数分析方法的数值模型,这些模型的物理公式并不完美,且运行模型需要大量的计算资源,不适合大规模和大尺度的海面高度预报(徐凌宇 等,2018;杨德全等,2019)。近年来,随着卫星遥感观测、导航观测、各种水下设备采集和再分析数据的积累,通过人工智能方法对SLA 数据进行预测成为可能。2002 年,人工神经网络(ANN)被用于地中海的海表面高度预测(Rixen et al,2002)。2010 年,Ghorbani 等(2010)分析了遗传编程和人工智能方法预报海表面高度的可行性。随着计算机硬件的发展和新算法的不断涌现,以及更强大的神经网络模型的提出并使用,除了对图像特征提取高效的卷积神经网络外(Convolutional Neural Net原works,CNNs) (周飞燕 等,2017),基于时间序列的递归结构的神经网络成为近年来的研究热点(杨丽等,2018)。递归结构的深度学习网络模型,如递归神经网络(Recurrent Neural Network,RNN)和长短时记忆网络 (Long Short-Term Memory,LSTM),适用于时间序列的数据预测分析。其中LSTM 网络被广泛应用于海洋环境参数的预测(Zhang et al,2020;魏昱洲 等,2019;Xiao et al,2019)。相较于大尺度的海水温度场和风场,海表面高度数据变化多样,大量中尺度涡具有明显的边界,这导致LSTM 网络在预测SLA 上效果不佳(Imani et al,2014)。2015 年,Krizhevsky 等(2015)提出了U-Net 全卷积网络模型,该模型可以在小样本数据集中高效提取高维图像特征并准确分割影像。本文参考U 型网络结构提出基于融合U-Net 及卷积长短记忆网络(Convolutional LSTM Network,ConvLSTM)的中长期海面高度异常预报模型,该模型可以更有效、更准确地预测大尺度的月均海面高度异常。
1 材料
1.1 SLA 数据
海面高度异常是卫星观测海面高度的最佳估计值与平均海面的差值。本文的SLA 数据来源于哥白尼海洋数据服务站(Copernicus Marine Service)。研究区域为中西太平洋(0—30毅S,135毅E—180毅E)。海面高度异常数据产品是多源卫星融合观测结果,空间分辨率为0.25毅的月均全球海面高度异常数据。数据集为1993 年1 月至2019 年9 月共321 个月的月均SLA 数据,1993 年1 月至2010 年12 月数据作为训练集,2011 年1 月至2015 年12 月数据作为测试集,2016 年1 月至2019 年9 月数据作为验证集。训练集中总共有5 964 600 个样本,其数据分布如图1 所示。
图1 海面高度异常值分布图
从图1 可以发现,高度异常数据主要的范围在-0.2~0.3 m 之间,约占总数据量的96.81%。在神经网络模型的训练中,个别极大值或极小值会造成数据分布极度不均匀,在拟合能力较弱的网络中极易造成梯度消失的情况,因此去除这些少数的极大值和极小值,将大于0.5 m 和小于-0.2 m 的数据分别替换为0.5 m 和-0.2 m,处理后的数据既满足了合理的训练数据分布又保留了绝大多数海面高度异常数据。
2 方法
2.1 LSTM 和ConvLSTM 层
在人工智能深度学习的网络模型中,RNN 和LSTM 递归网络适用于时间序列数据的预测,然而在针对具有时空变化的图像张量数据时,这些预测网络会丢失空间上结构信息,导致预测精度下降。卷积长短记忆网络结合了卷积网络对图像特征的提取和递归网络对未来数据预测的优点,既兼顾了参数的空间变化特征又很好地预测了未来的数据变化(Shi et al,2015)。
长短时记忆网络在1997 年被提出(Hochreiter et al,1997),其在RNN 的基础上增加了两个结构:细胞状态和门结构。细胞状态用来记录时间序列特征,门结构用来控制之前时刻的信息保留量问题,该结构克服了RNN 难以训练和梯度消失等问题。该网络结构如图2 所示。
图2 LSTM 结构图
其中,莓为Hadamard 乘积,i、f、o 分别为输入门,遗忘门和输出门,x 为网络输入,W 为网络参数,b 为偏置量,h 为隐藏状态,滓为Sigmoid 函数。
ConvLSTM 网络是在LSTM 的基础上加上卷积操作,因此对于图像的特征提取会更加有效。其采用类似LSTM 的门结构控制信息流动,输入门、细胞状态、遗忘门和输出门的表达式类似(Shi et al,2015)。LSTM 与ConvLSTM 不同的是各个门结构中的信息输入由点积替换为卷积操作,细胞状态更新依然保持点积不变。权重部分放到了卷积核内,部分放入循环层的循环核。卷积核Wi、Wf和Wo在空间二维矩阵滑窗,得到的卷积结果,按照门结构进行输入、更新细胞状态、遗忘和输出。
其中,it为输入门,ct为细胞状态,ft为遗忘门,ot为输出门,ht为隐含层输出,滓为sigmoid 函数。
2.2 模型结构
图3 为三个预测SLA 预报模型的流程图,包括LSTM 模型、ConvLSTM+CNN 模型和基于融合U-Net 及ConvLSTM 层的预测模型。
图3 模型流程图
LSTM 模型最简洁,输入数据后经过两层LSTM网络和一层全连接层(Dense Layer)后输出预测结果。ConvLSTM+CNN 模型通过三层ConvLSTM 层和两层CNN 层输出结果,该模型在中大尺度海水温度的预测上有非常好的表现(Xiao et al,2019;Zhang et al,2020)。
本文提出的融合U-Net 及卷积长短记忆的网络模型采用了U-Net 网络结构并加入ConvLSTM层。模型由编码器网络和解码器网络组成,图像进行下采样的同时卷积核翻倍,下采样的过程可以对海面高度异常数据进行高维特征信息的提取(Li et al,2019;Hu et al,2020)。对称的层采用叠加进行跳跃连接,实现了不同尺度图像特征的融合,提高了图像分割的精度(Ronneberger et al,2015;计梦予等,2017)。上采样后的卷积层替换成了ConvLSTM 层,形成对不同尺度的海面高度异常预测的网络结构。
2.3 实验设计
实验电脑使用Anaconda 的Spyder 4.15 作为程序编译环境,使用Python3.7 和TensorFlow2.2 框架。实验数据为1993 年1 月至2019 年9 月共321个月的月均SLA 数据。所有网络的时间序列输入为整理好的前12 个月SLA,模型输出结果为预测值的下一个月SLA 数据。
在网络模型搭建试验过程中,以验证集的输出结果为依据,寻找最合适该模型的循环层和卷积层数量。每层滤波器的数量由16、32、64、96、128和256 从少到多进行尝试,卷积核数量为3 伊3 或5 伊5。经过实验后,最终确定最佳的循环层个数、滤波器和卷积核的数量。SLA 预测模型均为回归模型,选择均方误差(Mean Square Error,MSE) 作为损失函数。在优化器的选择上使用Tensorflow2.2内置Keras 自带的keras.optimizers.Adam 优化器。Adam 是自适应矩估计(Adaptive Moment Estima原tion),在训练过程中Adam 会根据一阶矩估计和二阶矩估计动态调整参数的学习率,以获得最佳的训练结果。Adam 初始学习率为0.000 1,一阶矩估计的指数衰减率为0.9,二阶矩估计的指数衰减率为0.99,模糊因子为默认的K.epsilon 常量(值为1伊10-8),用以防止除0 错误。训练的停止方式使用早停策略(Early Stop),早停策略可以有效地防止过拟合现象。将最大迭代次数设置为1 000 次,在15 次循环迭代后训练集的精度提高不超过0.000 1,则结束训练。
通过实验,最终LSTM 模型由两层LSTM 层加一层全连接网络组成,滤波器为96 个,总训练参数为10 500 960 个。该模型每轮训练约30 s,在训练了700 轮后模型完成训练。
ConvLSTM+CNN 的网络使用了三层滤波器为96 个的ConvLSTM2D 循环层,总训练参数为1 670 913 个。在每一个ConvLSTM2D 层后加入批标准化层(Batch Normalization layer) 对每层的输出进行批标准化处理。使用该方法可以防止过拟合,加快模型训练速度,稳定训练精度并提高模型的鲁棒性(Ioffe et al,2015)。模型每轮训练需要约210 s,总共训练了457 轮后停止训练。
基于U-Net 结构的ConvLSTM 网络模型总共使用了三层ConvLSTM2D 循环层,循环层均在解码阶段上采样后使用。编码阶段起始滤波器为64,下采样后滤波器数量翻倍,在最深一层前后加入Dropout 优化算法防止模型过拟合(Srivastava et al,2014;张云 等,2019)。模型总训练参数为10 307 713 个,每轮训练需要约180 s,在训练372 轮时训练完成。
3 结果与分析
3.1 模型精度判断
SLA 预报模型属于回归模型,使用均方根误差(Root Mean Square Error,RMSE)和平均绝对误差(Mean Absolute Error,MAE)来评估模型的优劣。将训练好的模型分别在训练集、验证集和测试集上运行,将预测结果与真实结果进行对比得到均方根误差和平均绝对误差。表1 和表2 的均方根误差和平均绝对误差是所有栅格数据预测结果的平均误差。
表1 模型的均方根误差
表2 模型的平均绝对误差
从表1 和表2 可以发现,预测结果的均方根误差在0.039 ~ 0.069 m,平均绝对误差在0.049 ~0.026 m。其中LSMT 网络测试集的均方根误差和平均绝对误差在三个模型中最大,U-Net+Conv LSTM 网络的预测结果最准确,验证集和测试集的误差在三个模型中最小。而训练集中LSMT 网络的均方根误差和平均绝对误差均小于其他的两个网络,这是由于LSTM 网络模型的泛化能力较弱,在测试集上表现出了明显的过拟合现象。
为了更好地展示训练结果,绘制了2019 年6月的真实海面高度异常值和三个模型预测的SLA结果(图4),色标的范围在-0.1~0.2 m 之间。
图4 2019 年6 月的真实海面高度异常值和三个模型预测的SLA 结果
从图4 可以发现,海面高度异常结构复杂,存在多个中尺度涡且边界明显。使用LSTM 网络模型预测的结果非常差,只能粗略地预测出大范围海域的高度异常趋势,丢失了大部分中尺度涡的边界信息,且预测值与真实值也有较大差距。而使用ConvLSTM+CNN 网络模型预测的结果可以有效地获得大部分的海面高度异常趋势变化,但是对其中中尺度涡边界的预测还是不够理想。结果最好的是U-Net 结构的ConvLSTM 网络模型,该网络较好地预测了海面高度异常的变化,不仅整体的变化趋势符合真实值,而且对于高度异常中存在较为复杂涡旋的边界也有非常好的预测效果。为了更好地说明预测模型在单一坐标点的预测精度,选取了图4(4)中LSTM 网络红色方框中心位置(165毅E,-20毅S)的坐标点,该点常年具有明显的海面高度异常起伏,适合作为参考点判别模型的优劣。图5为该坐标点SLA 真实值与预测结果的对比,其中黑色实线为真实海面高度异常值,绿色和红色虚线分别为验证集和测试集的SLA 预测结果。
由图5 可以发现,LSTM 网络的预测效果较差,真实值和预测值存在较大的差异,同时还存在大量的相反趋势预测结果。ConvLSTM+CNN 模型具有较好的预测效果,但是在2016 年年中的预测结果中,存在相反的趋势预测。效果最好的是UNet 的ConvLSTM 网络模型,该模型没有出现明显错误的趋势预测,且与真实值之间的差距也较小。
表3 为该坐标点的预测值与真实值的误差统计。根据统计结果,U-Net+ConvLSTM 模型优于LSMT 模型和ConvLSTM+CNN 模型,其均方根误差和绝对值误差均小于其他模型,相关系数R2在三个模型中也是最高。与图5 的分析结果相同,UNet+ConvLSTM 模型的预测结果最佳。
图5 坐标点SLA 预测结果
表3 坐标点SLA 误差统计
3.2 模型对SLA 变化趋势预测评估
通过计算相关系数R2可以判断预测模型的优劣,此外相关系数R2可以反映网络能否有效地预测出区域SLA 趋势的变化。当一片区域的海面高度异常升高,模型如果判断出相反的趋势,则相关系数R2会呈现负值,因此模型总体的相关系数R2可以有效地说明模型对研究区域高度异常趋势的判断正确与否,结果如表4 所示。
表4 模型R2 统计
4 总结
从表4 可以发现,LSTM 网络在验证集和测试集上的相关系数R2为负值,说明大范围的SLA 趋势判断中出现了相反的趋势。ConvLSTM+CNN 的网络的相关系数R2为正值,但是相关系数R2数值较低,说明该网络模型在趋势判断中,有部分预测值与实际值存在较大偏差。U-Net+ConvLSTM 网络的相关系数R2均超过0.6,说明大多数SLA 的趋势预测获得了正确的结果。除了LSTM 网络,其他两个网络在验证集和测试集的相关系数R2均高于训练集的结果。这是由于训练集数据量大,且主要的极大和极小值都存在于训练集,因此训练集结果相对较差。
人工智能方法以数据驱动的方法“学习”了隐藏在海面高度异常数据中的规则。本文使用了基于人工智能深度学习的LSTM、ConvLSTM 递归层的网络,并提出基于融合U-Net 和ConvLSTM 的预测模型。研究结果表明,加入全连接层的LSTM 网络模型无法较好地预测海面高度异常。基于ConvL原STM 的预测网络由于可以通过卷积的方法提取SLA 的空间特征,有效地降低了误差的同时也可以较好地预测SLA 的变化。测试集SLA 预测值的均方根误差和MEA 分别为0.049 4 m 和0.034 6 m,但是该网络对SLA 中尺度涡形状和边界的预测还是不够理想。而基于融合U-Net 和ConvLSTM 的预测模型则通过U-Net 结构可以有效地提取高维SLA 特征,通过非线性的方法上采样并叠加下采样过程中不同尺度的空间特征,后连接ConvLSTM 递归层做预测,该方法得到的SLA 预测效果最佳。测试集的均方根误差和平均绝对误差分别为0.039 m和0.027 m,均大幅优于前两个网络模型,而且在趋势判断上保持了较高的准确度。综上所述,使用深度学习的方法预测月均SLA 可以高效快速地获得预测结果,为海表面高度异常的预报提供了新的方法。本文的预测模型也存在不足,由于SLA 的变化与海水温度和盐度等其他参数有着密切的关系,只考虑单一的SLA 变量是不够的,下一步工作是将更多相关参数加入模型,进一步提高海面高度异常的预测精度。