摘要:介绍了深度学习的关键发展节点和应用发展历程,分析了深度学习在国内外主要领域的发展现状;概述了多个深度学习的关键算法原理,分析了深度学习在海洋数据重构、分类识别和预测等海洋大数据挖掘中的相关应用;提出了深度学习未来可能面临的问题,并从加强顶层设计、信息安全和强化算法鲁棒性等方面,展望了深度学习在海洋大数据挖掘中的应用前景。
+ k2 ~ B# p/ m: E关键词:深度学习;海洋大数据;数据挖掘
1 N0 s& D6 D6 T: z4 k. E经过人工智能中模式识别、计算学习理论的发展,机器学习作为计算机科学的分支,是通过多种算法实现计算机智能工作的一门科学,应用范围已渗透到如网页搜索、垃圾邮件过滤、网络社交好友推荐等社会生活的方方面面。机器学习中人工神经网络发展的过程中,产生了深度学习这一前沿领域。深度学习作为新的研究领域,旨在舍弃传统机器学习需要专家通过实验设计和创建特征提取器的主观性,通过学习自动建立特征提取器,形成能够模拟人脑来解译数据的神经网络,实现解决问题的目的。
G% R9 m6 E. V' ^- e. i深度学习起源于神经网络。1943年,McCulloch和Pitts最早提出了神经网络数学模型,用以模拟人类大脑神经元的工作原理,采用简单线性加权和模拟输入信息到输出信息的变换,并应用于垃圾邮件的识别处理。为了使简单的线性加权和更自动、更符合实际,1958年,Rosenblatt提出了感知机模型,这是第1个可以通过学习获取训练数据特征权重的模型,用于解决简单的图像分类问题。然而由于模型自身的局限性,之后的十多年,神经网络的研究一直处于低潮期。直到20世纪80年代末期,神经网络因分布式知识表达和反向传播算法的提出而再次兴起,模型的表达能力得以丰富,神经网络的训练效率得以提高。神经网络的发展在20世纪80年代末、90年代初进入高峰期。Lecun等提出的卷积神经网络(convolutionalneuralnet⁃works,CNN)是第1个真正的多层结构学习算法,该算法能够通过特征转换,学习得到复杂的方程,进而对物体的特征进行自动模拟。Hochreiter等提出了长短期记忆(longshort-termmemory,LSTM)模型,应用于长时序数据建模。然而由于计算资源和数据量的限制,深层神经网络的表达效果仍不理想,20世纪90年代末期渐渐被机器学习的光芒所覆盖。21世纪以来,随着计算机软硬件性能的飞速发展,特别是图形处理器(GPU)的出现,神经网络迎来了崭新的时期。2006年,Hinton等在《Science》杂志上提出了深度学习理念,开启了深度学习研究的热潮,特别是在科学领域和工业领域,推动了一批深度学习项目的落地实施。2012年,Kri⁃zhevsky等在ImageNet计算机视觉挑战比赛中,通过使用CNN算法中的AlexNet,图像分类误判率从26.2%83www.kjdb.org科技导报2018,36(17)降到15.3%,成功回应了外界对于深度学习的质疑。同年,微软公司研发了深度神经网络——隐马尔科夫混合模型,并将其应用于语音识别。深度学习应用于生物制药分子的预测,为发现可能的药物分子提供了较好的分析预测结果。此外,深度学习产品还包括谷歌人工智能软件AlphaGO和开源深度学习系统Tensor⁃Flow、波士顿动力公司最新发布的机器人Atlas和Facebook公司推出的聊天机器人等,其中2016年和2017年AlphaGo与人类围棋对弈的胜出,凸显了深度学习模型对于海量复杂数据的分析能力。如今,深度学习也从最初的图像识别领域渐渐扩展应用至语音识别、生物化学数据处理、网络搜索内容推荐、医疗、金融安全验证等方面,并逐渐进入海洋领域,用以解决不同领域的数据挖掘分析问题。
1 }7 N2 J( e7 V( z) h$ U. B1 ~海洋大数据作为大数据技术在海洋领域的实践,也具备数量(volume)、速度(velocity)、多样性(variety)和价值(value)等大数据特性。多年来,通过卫星遥感观测、走航观测、多种水上水下仪器设备采集,积累了丰富的海洋数据。多种观测、模式数据的不断产生,使得海洋数据快速增长,同时也对数据处理的时效提出更高的要求。由于观测仪器不同,加之海洋大数据的多源异构和数据价值密度低等特点,为数据采集、传输、存储、处理、共享、分析挖掘和安全保障等环节带来了多种挑战。然而,海洋大数据在海洋防灾减灾、生态环境保护、海上目标检测追踪、应急救援等方面所发挥的重要作用,却日益突显出对海洋大数据快速精准分析的迫切需求。
6 X# N$ f9 [3 u传统的海洋数据处理分析多采用人工手动分类识别、传统统计分析、海洋模式模拟等方法,这些方法往往受主观因素的影响而不能真实刻画数据中的隐含信息;且海洋大数据多为非结构或半结构化数据,数据之间关系复杂或无关联,对传统的统计分析和海洋模式模拟提出了挑战。而深度学习,以数据为驱动,通过多层学习提取数据中的有用信息,客观挖掘数据之间的可能关系,能够提高数据处理效率和精度,为海洋大数据的智能分析挖掘带来新的契机。 . h0 T) r. a: V7 V5 w# r. |/ z( j5 E
2015年,Orenstein等采用卷积神经网络对340万个浮游生物图像进行了训练和分类,结果表明该方法在时间和精度方面都优于传统人工分类筛选方法,对大量浮游生物图像的分类效果较好。Bentes等则采用深度神经网络对合成孔径雷达(synthetic-aperturer⁃dar,SAR)图像数据进行自动分类,省去大量人工时间。Zeng等采用人工神经网络和经验正交函数
# K5 I9 }* f$ c. i0 u(em⁃piricalorthogonalfunction,EOF)相结合的方法对海表面高度(seasurfaceheight,SSH)数据进行分析预测,实现了对墨西哥湾中的套流变化和涡旋脱落过程的预测。Ducournau和Fablet提出了一种基于深度学习的图像超分辨率模型与复杂的卷积神经网络方法,对海表面温度 ) p8 `$ p4 J$ u+ F
(seasurfacetemperature,SST)数据进行研究,评估应用于海洋遥感数据的深度学习体系的效率与相关性,结果验证了“经过专门训练的海洋遥感数据的深度学习模型能支持重建高分辨海洋表面温度场”。Lima等将卷积神经网络方法应用于海洋锋的识别,通过训练学习将数据转化为知识,从而应用于有限的数据识别中,得到的识别精度高于传统算法。Yang等基于深度学习中的长短期记忆神经网络模型,引入空间信息,建立了用于SST预测的模型,该模型在中国沿海的SST数据集中应用效果良好。深度学习逐渐应用于海洋大数据的分类识别、高分重构、现象预测等方面,不断拓展在海洋领域中的应用。
, y! K' k. l6 x3 l, I! u# F以下在明确深度学习与机器学习、人工智能的关系,介绍深度学习的关键发展节点及应用发展历程的基础上,概述多种关键算法原理,分析传统分析方法在海洋大数据挖掘中所遇到的挑战及深度学习为海洋大数据处理分析所带来的机遇,详细描述深度学习在海洋大数据挖掘中的相关研究及应用,并就深度学习在海洋领域中未来发展可能面临的问题进行讨论。 & k5 Y5 W+ g3 s4 t5 z# q: P# x/ e
1深度学习关键算法原理 # h$ C. l m8 [+ t5 ~9 a
深度学习算法常见的模型主要有:栈式自动编码器(stackedauto-encoder,SAE)、CNN、受限玻尔兹曼机(restrictedboltzmannmachine,RBM)、深度置信网络(deepbeliefnetwork,DBN)、深度玻尔兹曼机(deepBoltzmannmachine,DBM)和循环神经网络(recurrentneuralnetwork,RNN)等。模型大致可分为3类,即多层感知机模型、深度神经网络模型和递归神经网络模型。本文分别以DBN、CNN和RNN作为这3类模型的代表,对其原理进行简述。
! Z$ p( M8 I7 ?4 ?* Z1.1DBN原理
6 D! T$ a6 S9 @: n$ B9 k+ hDBN由多个RBM和一层反向传播网络(backprop⁃agationnetwork,BPN)堆叠而成,一个RBM是一个双层84科技导报2018,36(17)www.kjdb.org模型,包括m个神经元组成的一个可见层和n个神经元组成的一个隐藏层,可见层与隐藏层之间的连接权重是双向的,同一层内神经元相互独立,降低概率分布和训练的复杂度,层与层之间神经元全连接(图1)。
: H4 F& T; r, s; ^DBN训练包括两部分:预训练和微调整训练。预训练用于对每层的每个RBM进行训练,每一层的输出是下一层的输入。在微调整阶段,采用反向传播算法将训练误差逐层向后传播,整个DBN的权值参数进行调整训练。由于DBN的预训练,使得网络中各层参数权重通过训练获得,这与传统神经网络的随机初始化不同,经过预训练获得的网络训练效率高且避免了传统神经网络训练过程中容易陷入局部最优的问题。DBN的输入数据需将二维信息矩阵转化为一维向量,因此在训练过程中没有考虑图像二维结构信息,对数据分类精度有一定影响。
6 O, k9 v) y$ e1 O C' s( n# H$ I1.2CNN原理 8 a8 Y T1 x+ `" G; d9 K Y9 Y V4 s
CNN以数据为驱动进行模型训练,是人工神经网络不断发展产生的一种方法。CNN是一个多层神经网络,由卷积、池化(下采样)、全连接和识别等运算组成(图2) ' D% a7 }) |; N" C$ h/ `$ c
CNN每一层的输出作为下一层的输入,每一层由神经元节点组成,每一个神经元的输出是神经元节点特征以一定的权重乘以上一层特征的输入值,再加上偏差值,后经过非线性变换得到。神经元输出的集合组成一个特征图,卷积运算作用于特征图,用于特征提取。池化运算等同于下采样,应用对特征图进行局部平均、对相似的特征进行合并从而减少数据量,降低特征提取结果对图像变形的敏感度,泛化出更一般的特征。全连接运算将经过多次卷积池化后输出的多组信号组合为一组信号。识别运算则根据应用需求增加一层网络用于对信号进行分类识别。CNN网络中神经元权值共享减少了网络训练参数的个数,降低了网络训练复杂度。此外,CNN可以用于对多数组形式的数据进行处理,包括一维的信号和序列、二维的图像、三维的影像或体数据。
" @9 V( i# b0 k K4 A6 X" a4 ?: p1.3RNN原理 # b2 i# U1 f) {# l; M+ F {
RNN亦称递归神经网络,通过网络中的环状结构将神经元的输出在下一时间点作用于自身,从而达到RNN对上一时间点的输出进行“记忆”并影响下一时间点的目的,因此通常用于序列数据的处理,结构如图3。RNN的网络深度即时间长度,通过神经网络主体结构W将历史输入状态进行总结,使得隐藏层h包含现有的输入和过去的“记忆”。其优点是可以处理序列数据,缺点则是容易随迭代的进行,历史输入对隐含层作用会逐渐减小乃至消失,即出现梯度消失问题。此外,RNN不具备特征学习能力。
. E$ C* L5 t) @% L9 `实际的使用中,常采用多个模型相结合的方式,用于规避各模型缺点,充分发挥模型优势,以达到目标识别、现象预测等研究目的。 1 c# p7 h% b/ {1 e6 n5 S1 p# i
2深度学习在海洋大数据挖掘中的研究及应用
8 E; Z* b3 s) E. `, w2.1海洋数据重构
8 ?4 L/ z& y& q海洋数据的准确性和时空连续性,对海洋科学研究至关重要。实际操作中,由于仪器自身的误差、卫星故障、大气中云雾等现象影响,使得部分数据不可用或缺失,这就产生数据重构问题,为海洋数据产品生成、挖掘及现象分析带来困难。传统的数据重构方法多采用插值算法,如最优插值、线性插值等,并广泛应用于Argo、海洋遥感等海洋数据重构,然而由于插值过程中导致重要信息丢失,造成数据重构误差较大,为传统数据重构方法带来巨大挑战。
: l" _, Z9 x4 o. s2 C1 w9 p5 L) ^在从低分辨率到高分辨率的构造过程中,与传统插值方法不同,最新的一些方法有赖于大量样本,并在训练样本中学习从低分辨率到高分辨率的转换规律,从而形成模型。而深度学习可以从大量的样本数据中学习到复杂的模型,并能够控制模型效率,在解决海洋数据重构问题方面发挥了重要作用。以海表面温度数据重构为例,高分辨率CNN(SRCNN)是目前较为常见的高分辨率数据重构方法,该方法能够将低分辨率数据采用双三次插值方法调整大小,使其与目标高分辨率数据的像素数或网格数相同,并作为网络的输入。SRCNN具有3层卷积滤波,第1层是特征抽取,通过密集抽取低分辨率数据的图像来计算高级特征表征;第2层是非线性映射,通过每一个矢量特征的非线性变换作为重构的高分辨率数据的特征表征;第3层重构,通过整合高分辨率数据的特征表征输出最终的高分辨率图像(图4)。Ducournau等采用非洲南部海区(10.025°W~34.925°E,35.975°S~65.925°S)高分辨率业务化海表面温度和海冰再分析(operationalseasurfacetemperatureandseaiceanalysis,OSTIA)数据(2007年1月—2016年4月,时间分辨率为天,空间分辨率为0.05°),由于OS⁃TIA是由多种实测数据(微波遥感数据、浮标等)融合得到,因此网络以低分辨率数据微波SST和高分辨率数据OSTIA作为输入,学习两者之间的映射关系,从而建立由低分辨率到高分辨率的模型。合理增加滤波器的个数对于复杂模型的学习效果具有增进作用。SRCNN与双三次插值方法对比证明,双三次插值方法将数据的特征变得更加平滑,而SRCNN则能够增加更多细节,让数据梯度更加明显。
( A( C- c2 \8 l+ Z/ P( G2 N1 A7 f6 S2.2海洋数据分类识别 + I% X2 w. {9 Q+ r4 P& l! O
海洋观测技术特别是遥感技术的发展,一方面为海洋的研究与应用提供了大量数据,另一方面也为数据的智能挖掘带来挑战。如何高效地对海洋数据进行分类识别,成为海洋大数据智能挖掘的热点问题。传统的数据分类识别多采用目视解译、人工分类或复杂的提取算法,然而这些传统方法难以在合理时间范围内完成数据分类识别。目前,许多研究采用深度学习等方法用于遥感影像的分类识别、特征提取。
+ o5 y5 p( S4 e! ~% C* R/ s以海洋中尺度涡的分类识别为例。中尺度涡是能够携带物质和能量进行迁移,引起水体垂向上混合,空间尺度在几十千米到几百千米的旋转水体。其对海洋动量传输、生物地球化学过程、海气相互作用等具有影响,因此广泛受到海洋学界的关注。传统中尺度涡旋的识别分类研究多采用目视解译法、基于物理几何参X—输入层;h—隐藏层;O—输出层;W—神经网络的主体结构图3RNN网络原理示意Fig.3ArchitectureofRNN图4深度学习数据重构示意Fig.4Architectureofdeeplearningdatareconstruction数法及混合对比法。然而,算法效率与准确率难以兼得,基于等值线算法虽然在效率和准确率上有了一定的提升,但仍难以满足数据快速挖掘的需求。因此,采用深度学习中的CNN方法较为理想。首先,数据准备阶段,以法国哥白尼海洋环境监测中心提供的海表面高度异常数据(AVISO-SLA)为数据源,使用基于等值线的中尺度涡旋识别方法,识别出1998-2012年共15年间南大西洋海区(65°S~16°S,71°W~31°E)的涡旋数据作为涡旋样本(图5),按时间顺序的70%、20%和10%分割为训练数据源、测试数据源和验证数据源。以9×9像素的图像按照涡旋样本的位置从对应的AVISOSLA中密集抽取气旋涡图像、反气旋涡图像和非涡旋图像,给予标识并作为网络的输入进行训练。其次,采用多种训练策略和模型(LeNet、AlexNet和GoogLeNet),不断调整网络中的训练参数,以达到更高的准确率。识别结果如图6所示。
! p; r) @5 y* l8 P# G3 a+ g; _2 X表1是LeNet、AlexNet和GoogLeNet模型的分类精度对比。LeNet虽然框架简单,但是由于是从底层开始训练,而不是像AlexNet和GoogLeNet对基准模型进行微调整训练,所以能够得到更好的分类精度。在时间上,LeNet的训练时间为AlexNet的1/3,为GoogLeNet的1/7。因此,在训练卷积神经网络时,综合考虑时间和结果可以看出,针对中尺度涡数据集采用小模型重新训练要比采用复杂模型而只对模型进行微调得到的分类结果更加精确。 1 O" J, d. V& g/ {
通过采用深度学习建立涡旋的识别分类模型,能够大大提高涡旋图像的分类识别效率,且获得较高的准确率,省去了传统算法进行海洋数据分类识别的计算时间。 / z+ Y/ Y' k. E0 p
2.3海洋数据预测 ' G2 _5 I. T8 o' J; S
常用的海洋数据预测方法主要分为3类:人工经验、数值模型和统计预测。这些方法受参数设置和人类认知程度的影响较大,且复杂的海洋过程不能通过复杂的公式和繁琐的计算获得较好的结果。将深度学习应用于海洋大数据的预测研究,是将新一代技术与海洋现象预测应用相结合,打破传统海洋模式预测技术瓶颈与认知水平的限制,拓展人工智能等关键技术在海洋中应用的重要方法。 : ^* p% C0 i9 \3 l* d
RNN能够用于处理时序数据,而LSTM作为RNN发展的产物,有效改进了RNN的隐含层,可以应对不同种类的时序数据训练。然而针对海洋大数据,Zhang等虽然采用了LSTM模型预测SST数据,但模型中只包含时间信息,缺少空间信息。实际的海洋数据预测要包含时空信息,因此应充分利用深度学习中图像识别模型对空间信息的捕捉与时序模型对时间序列的记忆,将二者结合,建立适用于海洋数据的预测模型。以SST数据为例,Yang等提出采用LSTM与CNN相结合的方式,在构造模型的过程中先进行时间信息的提取,再增加一个卷积层提取空间信息,并在实验中证明时空序模型比单纯的时序模型更能对中国近海数据集进行精准预测。 ^3 f" X9 v; `$ ~* ?
海洋数据的深度学习预测可以分为两部分,一是三维时序数据的构造,二是时空模型的构建。基本流程和原理如图7所示。 B1 w4 [5 C4 b) r+ K+ u6 y
3深度学习在海洋数据挖掘中的存在的问题 3 K5 ` o) h4 g' a
3.1数据 # D7 B, [# j1 g) [$ v
数据量虽然已不再是制约数据挖掘的主要矛盾,这对以数据为驱动的深度学习来说,既是机遇又是挑战。首先,数据标准方面,随着卫星遥感、浮标、船载仪器等多种传感器的稳健运行,积累了大量的海洋数据,海量的数据为深度学习提供了大量的样本空间;但在样本数据的质量和样本丰富度等方面,难以形成统一的选择标准,从而影响模型的构建质量。其次,数据预处理方法方面,针对复杂的海洋现象,如中尺度涡,需要花费大量的时间为深度学习模型提取理想的样本,并按照模型要求的图像大小构造训练数据,在训练数据构造过程中可采用多种方法建立不同维度、不同特征的数据。由于处理方法多依赖于不同应用的需求和用户的认知背景,故而数据预处理方法对模型的构建有重要的影响。未来深度学习的发展应面向多种数据格式,以期减少数据准备所耗费的大量时间,从而提高深度学习整体模型建立效率。
! `1 O+ p% R3 q# d- D0 p6 t3.2模型构建
2 [; p/ \' ?; ^深度学习模型算法众多,在实际操作中大多基于现有模型的改造或多模型相结合的方式进行多种策略训练,对于哪种模型更加适合解决特定海洋数据挖掘问题,尚未有详细的对比及结论,给实际应用带来困难。通常采用多种训练策略,包括参数和训练方法的调整,在模型构建过程中通过大量实验对比进行详细比较以建立更加准确的模型。 - J( }' ]" z; |7 s! `
3.3适用范围
" |1 y0 Y4 v b$ o; t目前采用深度学习方法进行海洋数据挖掘的应用大多针对某种特定的训练数据,且模型适用范围大多针对研究人员感兴趣的海区,即建立区域性模型。不同的训练数据与不同的区域范围,其训练结果不同。即使是相同的训练数据,不同的数据组织或输入方式,也会产生不同的训练结果,这就对模型在其他海区或更大范围内的适用性提出了挑战,即模型的通用性有待提升。
" J$ ~ k r, I0 x6 S" l$ s( i4结论 ) w$ D# `: E# U5 n7 X4 f
深度学习是在计算机软硬件和神经网络发展的基础上提出和发展起来的,本文概述了DBN、CNN和RNN这3种关键算法的原理。传统的大数据挖掘方法往往受主观因素的影响而不能真实刻画数据中的隐含信息,深度学习等关键技术的发展为海洋大数据处理分析带来了新的机遇。针对海洋数据重构、分类识别和预测等3方面的具体应用,详细描述了深度学习的具体应用,包括数据的组织和构造、模型的训练方法和结果分析等。
0 E* W9 z+ m J8 `, T" M深度学习对海洋大数据的挖掘,不仅提高了数据挖掘效率,打破了传统技术瓶颈,对于发现海洋规律,认知海洋环境,揭示其相互作用机制,保护利用海洋资源、海洋防灾减灾都有着重要的意义。加强统筹规划,确保长期稳定的科研投入,保障海洋大数据获取的持续性和可靠性,是深度学习继续在海洋数据挖掘发展的基石。同时,为确保海洋信息安全,应针对深度学习计算过程中每一个步骤,建立合理的监督管理机制,加强深度学习产生的结果及其应用范围的有效性评估。此外,通过降低算法学习的门槛,可提高用户对算法的认知,防止算法出错或滥用所带来的海洋现象认识不清、防灾救灾决策不合理等问题,最终推进深度学习在海洋大数据挖掘中应用的广度和深度。未来随着深度学习不断应用于社会生活等领域、人们对方法认知不断增强以及以深度学习为基础的面向海洋的应用服务不断扩大,人们对海洋现象和规律的把握以及应对风险的防控能力将大大提高,海洋将得到更加合理的开发利用。 3 p. C) t* p6 \6 I9 J0 H0 W7 q
文章来源:科技导报
) C8 F7 w; L5 _3 C/ l1 s$ w# I+ v作者:孙苗,博士,研究方向为海洋大数据挖掘分析;姜晓轶(通信作者),研究员,研究方向为海洋信息化技术 |