孙 苗,赵龙飞,孔祥超
1.国家海洋信息中心 天津 300171
2.自然资源部海洋信息技术创新中心 天津 300171
3.天津农学院 天津 300392
海表面温度 (Sea Surface Temperature,SST)是太阳辐射、海洋热力、动力过程以及海气相互作用的综合结果,是海表面水汽和热量交换的一个重要物理参数[1,2]。因此,海表面温度的变化一直备受关注,常用的海表面温度预报方法主要分经验预报、数值预报和统计预报等三类。其中,经验预报根据海温自身变动的持续性、周期性、相似性以及与其他要素的相关性,进行定性或定量的预报[3]。数值预报,采用模式或者同化了实测数据的模式进行海温预报[4],但预测精度受初始边界条件、次网格物理过程参数化等影响。统计预报是从数理统计的角度进行预报,包括多元分析与时间序列分析法[5]。然而由于物理机制认识上的不完备、人类活动影响等现实复杂性,传统的海洋预报仍存在一定的技术瓶颈。随着大数据、人工智能等关键技术的发展,以及计算机软硬件环境的不断提升,深度学习通过一个比较泛化的学习过程从输入数据中学习,具有非线性、容错性、自适应性等特点,能够改善传统预测方法的不足。
本文以南海为研究区域,在梳理对比深度学习框架与模型方法的基础上,建立了基于卷积神经网络-长短期记忆网络 (Convolutional Neural Network-Long Short-Term Memory,CNN-LSTM)的南海区域海表面温度预测模型,并与单纯基于卷积神经网络或循环神经网络的预测结果进行了对比分析。结果表明,基于CNN-LSTM的SST预测模型,考虑了SST的时空特征,相比于单纯的卷积神经网络或循环神经网络模型在时效上能够达到更好的预测效果,进一步分析了相比于先用长短期记忆网络再采用卷积神经网络的方法 (LSTM-CNN),CNN-LSTM能够更好的保留空间和时间信息,避免因为先用LSTM对数据进行拉伸处理造成空间信息的丢失问题。
深度学习作为机器学习的一个分支领域,是可以直接将原始数据送入机器并自动发现数据中所包含特征的一类算法,省去特征提取器的人工创建步骤,最终达到分类识别以及预测预报的目的。
在海洋领域,随着卫星遥感的长时间、大范围观测积累了海量数据,大数据技术的更新迭代,促使着深度学习应用于海洋数据挖掘,用以解决海洋空间信息高效提取、分析预测等问题。近几年,深度学习在海洋数据挖掘分析的研究层出不穷,Orenstein等[6]采用CNN对3.4×106个浮游生物的图像进行进行了准确分类,且效率和精度都高于传统的手动筛选方法。Bentes等[7]则采用深度神经网络对合成孔径雷达 (Synthetic-Aperture Radar, SAR)图像数据进行自动分类,提高了分类效率。 Ducournau等[8]采用CNNs方法对SST数据进行了高分辨率重构,该工作使用多年多源SST遥感观测数据进行双三次插值生成的高分数据作为标准数据对深度学习模型进行训练,模型经过训练后可以将由双三次差值的低分辨率SST重构为高分SST。Ducournau和Fablet[9]提出了一种基于深度学习的图像超分辨率模型与复杂的卷积神经网络方式,对SST数据进行研究,评估应用于海洋遥感数据的深度学习体系的效率与相关性,其结果验证了经过专门训练的海洋遥感数据的深度学习模型,能支持重建高分辨海洋表面温度场。Zhang等[10]首先采用了RNN中的长短期记忆网络 (Long Short-Term Memory,LSTM)模型用于SST数据的预测,Yang等[11]在其基础上,提出采用LSTM与CNN相结合的方式,在构造模型的过程中先进行时间信息的提取,再增加一个卷积层提取空间信息,并在实验中证明时空序模型比单纯的时序模型更能对中国近海数据集进行精准预测。
南海是我国三大边缘海之一,自然海域面积约3.5×106km2,生物多样性丰富,常年受季风影响。本研究以南海为研究区域,地理范围为105°E-125°E,0°N-25°N,研究该区域海表面温度的预测模型的建立问题。
图1 研究区域地形图
海表面温度数据可以通过卫星微波辐射计红外辐射计、实时锚定、漂流浮标及船测获取,是气候和天气的重要测量参数。不同的仪器可以测量不同深度的温度,当从高空遥测海表面温度时,观测的深度通常与卫星仪器的频率有关。如,红外辐射计测量的是大于20 μm深度处的温度,微波辐射计测量的是几mm深度处的温度。Remote Sensing System(RSS)提供的微波优化插值SST则代表着1 m深度处的SST值。RSS提供两种优化插值的SST天数据产品,一种是微波数据,25 km分辨率,一种是微波和红外相结合的数据,9 km分辨率。考虑到时间跨度较长、数据量更大,本研究采用的微波海表面温度数据,时间跨度为1998年1月1日至2018年12月31日,时间分辨率为d,空间分辨率为25 km。
CNN多用于空间特征提取,目前较流行的模型包括LeNet,AlexNet和GoogLeNet。其中,LeNet[12]是1998年Yann LeCun设计提出的,用来识别手写数字的模型,也是最经典的卷积神经网络之一。CNN以数据为驱动进行模型训练,是一个每层由多个二维平面组成,每个平面由多个独立神经元组成的多层神经网络。每一个神经元的输出是神经元节点特征以一定的权重乘以上一层特征的输入值,再加上偏差值,再经过非线性变换得到。其公式描述如下:
其中xi是神经元输入值,ωi为该神经元输入值的权重大小,b为偏差值。f(x)则是从输入到输出映射的非线性函数。输入层通过卷积算子进行卷积计算后在C1层形成特征图 (Feature map),C1通过池化计算,形成S2特征图。S2特征图进行卷积后形成C3,C3经过池化计算形成S4层,最后经过全连接层和分类层,形成输出层。一般来说,C层为特征提取层,用于提取前一层的特征。S层为特征映射层,也是池化层,用于降低特征提取结果对图像变形的敏感度,泛化出更一般的特征。具体结构如图2所示。
图2 CNN结构示意图
RNN[13]通过网络中的环状结构将上一时间点的输出进行 “记忆”并达到影响下一时间点的目的,常用于处理和预测序列数据[14],其结构如图3所示。通过神经网络主体结构W将历史输入状态进行总结,使得隐藏层h包含现有的输入和过去的 “记忆”。
图3 RNN网络原理示意图,其中X为输入层,h为隐藏层,O为输出层,W为神经网络的主体结构
RNN隐藏层h的值不仅取决于当前时刻的输入值X,还取决于前一时刻的隐藏层h的值,隐藏层的用公式表达如下:
其中U是输入层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵,W是隐藏层上一时刻的值作为当前时刻输入的权重,然而,由于训练过程中梯度消失或爆炸等问题,在实际应用中可采用LSTM用于对信息进行长期存储。LSTM包含一个记忆细胞和3个 “门”,分别是遗忘门、输入门和输出门。LSTM通过 “门”结构控制信息的通过,调整 “记忆”的重点,缓解梯度消失或爆炸问题[11]。
因此,构建由CNN和LSTM相结合的预测模型,可以充分发挥模型优势,实现数据特征识别和预测。
深度学习模型的训练通常分为迁移学习法和底层建模法。迁移学习法在海洋领域已经证明在数据分类、数据重构等方面具有较好的建模效果[6,8]。底层建模法主要采用网格搜索 (Grid Search),即对模型层数、神经元个数、收敛函数算法等进行组合实验。考虑到应用的特殊性,本研究分别采用CNN,LSTM,CNN+LSTM 3种算法建立南海区域海表面温度的预测模型并进行对比分析,采用底层建模法进行模型调整训练。基本流程包括数据处理与构造、模型训练及结果输出,如图4所示。
图4 深度学习海表面温度预测工作流程示意图
采用3个标准对模型预测精度进行评估,分别是均方根误差 (RMSE),平均绝对百分比误差 (MAPE)和平均绝对误差 (MAE)。
其中yt是真实值,是模型预测值。RMSE为衡量观测值与真实值之间的偏差。MAE可以反映预测值误差的实际情况,数值越接近于0,则模型预测精度越高。
根据研究区域范围和数据的时空分辨率,实验数据每个时间点 (天)图像包含100*81个像素,共21年。按时间顺序,前70%为训练数据,中间20%为测试数据,后10%为验证数据。
图5 数据组织示意图
对训练数据按照7*7*L三维体进行分割,获得输入数据大小为7*7*L,7*7像素可以覆盖大多数中尺度特征,可有效保留空间信息、提高训练效率。L根据预测天数进行设置,本实验设为7,即预测7天的海表面温度数据。
3.3.1 基于CNN的海表面温度预测模型
基于CNN的海表面温度预测模型,实验过程中通过增加模型深度、神经元数量和池化层数等策略进行模型调整,但均未得到较好的模拟效果,进一步佐证模型并非越复杂模拟效果越好。经过对比筛选和模型评价,最终针对本实验数据建立了一层模型20个神经元的CNN网络。为了对比过滤器采样范围对模型的影响,采用Valid和Same两种方式对卷积核进行采样,其采样原理如图6所示。通过表1可以看出Valid采样方法,最终得到的模型略好于Same法,后续模型训练均采用Valid采样方法。
图6 卷积核采样范围示意图
表1 CNN模型精度评估及对比
3.3.2 基于LSTM的海表面温度预测模型
基于LSTM的海表面温度预测模型采用同样训练策略,实验结果如表2所示,可以看出相比于单纯的CNN,LSTM具有更稳定的表现。但是同样区域大小的数据,LSTM训练建模迭代次数多、时间消耗长,建立的模型结构更加复杂。最终形成了3层深度模型,每层深度模型的神经元个数分别为12、15和34。
表2 LSTM模型评估
3.3.3 基于CNN-LSTM的海表面温度预测模型
CNN-LSTM模型先提取数据的空间特征,后提取时间序列特征。LSTM-CNN网络则先在时间序列上进行计算建模,后提取空间信息,然而LSTM对网格数据处理时先进行拉伸处理,会丢失空间信息。因此本研究采用CNN-LSTM模型,得到实验结果对比如表3所示。
表3 CNN-LSTM实验结果对比
通过对比可以得知2层CNN+3层LSTM的模型精度更高,相比单独的CNN表现更佳,与单独的LSTM相比虽没有明显的模型预测优势,但却提高了模型预测效率,这可能与CNN进行特征提取空间过程将图像划分粒度更小,易于LSTM进一步处理有一定的关系。综合考虑效率和精度,CNN+LSTM优于单独的CNN或LSTM,本研究最终建立的CNN+LSTM模型包含神经元个数为20,30,12,15和34。
本文采用了CNN、LSTM和CNN-LSTM 3种方法建立了南海海表面温度预测模型,并对结果进行了分析。基于CNN-LSTM的SST预测模型,考虑了SST的时空特征,相比于单独的CNN和LSTM模型在时效性方面能够达到更好的预测效果。相比于LSTM-CNN,CNN-LSTM方法能够更好的保留空间和时间信息,避免LSTM因为数据的拉伸造成空间信息的丢失问题。
传统的数值模拟预测海表面温度多依赖于物理模型,以深度学习为代表的海表面温度预测方法则以数据为驱动,通过 “学习”建立模型。然而,由于深度学习适用范围和可解释性还存在一定壁垒,未来通过将 “知识-数据-算法-算力”相结合的方式,为深度学习提供更广的发展机遇,不断拓展人工智能等新技术在海洋数据分析挖掘、预测预报等方面的应用研究,提高长时序、大空间范围的海洋数据规律认识能力和工作效率。