APP下载

长短期记忆神经网络在季节性融雪流域降水-径流模拟中的应用

2020-11-10党池恒张洪波陈克宇支童卫星辰

关键词:径流步长流域

党池恒,张洪波,陈克宇,支童,卫星辰

(1.长安大学 水利与环境学院,陕西 西安 710054; 2.西安工业大学,陕西 西安 710021)

在资料短缺地区,降水-径流模拟对水文设计与水资源规划管理至关重要,诸如水灾害防治、农业灌溉、发电、城镇供水等相关工程设计或方案规划都要依赖于可靠的径流模拟[1]。目前,降水-径流模型较多,大致分为两类,即过程驱动模型和数据驱动模型[2]。过程驱动模型由一系列基于水量平衡和(或)能量守恒定律的经验公式组成,又被称为概念性或物理性水文模型。过程驱动模型可有效描述流域的产汇流过程,例如积雪、融雪、蒸散发、入渗、地面径流、地下径流等。然而,由于大多数过程驱动模型在应用时,需要准确确定众多流域参数(前期土壤含水量、土壤类型、地面坡度、气温、空气湿度、风力等)[3]。因此,在观测资料缺乏的地区,过程驱动模型的应用就受到了一定的限制。此外,过程驱动模型其复杂的计算结构也带来了较高的计算成本,同样也限制了该类模型的应用与推广[4]。数据驱动模型常被称为黑箱模型,其特点是不要求使用者完全掌握流域的水文机制,只需建立输入(如降水、蒸散发、气温等)与输出(即径流)之间的映射关系[5]。因此,在监测数据较少的流域,数据驱动模型常替代过程驱动模型实施径流模拟,且常可取得与过程驱动模型相似甚至更优的模拟效果[6]。

在过去的几十年里,数据驱动模型如多元线性回归模型(Multivariable Linear Regression Model,MLR)、自回归滑动平均模型(Auto-Regressive Moving Average Model,ARMA)、支持向量回归模型(Support Vactor Regression,SVR)和人工神经网络(Artificial Neural Networks,ANNs)等已经被广泛研究,并应用于水文水资源领域。其中,MLR和ARMA等统计类模型,一般适用于处理线性问题;而SVR和ANNs等人工智能方法(Artificial Intelligence,AI),则在处理非线性问题时具有较好的适用性[7]。研究表明,在气候变化和下垫面条件的共同作用下,日径流过程常表现出强烈的非线性特征[8]。因此,相比MLR和ARMA,ANNs在变化环境下的流域日径流过程模拟中则更有优势。

人工神经网络类型众多,如:前馈神经网络(Feed-Forward Neural Network,FFNN)一般由一系列简单的神经元组成,其特点是各层神经元全连接,同层神经元之间不相互连接,数据从输入层逐层通过网络直至输出层,且输出与网络结构不存在反馈连接;而BP神经网络(Back-Propagation neural network, BP)是一种基于误差反向传播算法的多层前馈神经网络,作为传统人工神经网络的代表,自被提出之后就以其良好的非线性映射能力和拟合逼近能力,及自学习、自适应和容错性获得了广泛的应用[9-11]。由于BP神经网络属于静态神经网络[12],其不具有反馈和延迟功能,不能记忆之前输入的信息。因此,在处理时间序列数据时,效果并不令人满意。

循环神经网络(Recurrent Neural Networks, RNNs)是一种特殊类型的人工神经网络,即动态神经网络。关于RNNs的研究可追溯到Hopfield于1983年提出的Hopfield网络[13]。该网络具有很强的计算能力和一定的记忆功能,但因其实现困难,后来逐渐被其他神经网络算法所取代。1990年,Elman提出的Elman循环神经网络(Elman Recurrent Neural Network,ERNN)被认为是目前较为流行的RNNs中的一个基础版本。不同于BP神经网络,RNNs主要通过内部自循环神经元存储和提取时间序列中的动态信息,既实现了序列信息的记忆,又可将之前记忆的信息用于之后时刻的计算中,非常适合于处理时间序列数据。CHEN P N等[14]通过一个强化的RNN模型,提高了台风天气下水库入库流量的预测精度;WAN X Y等[15]则基于Elman循环神经网络,构建了响洪甸水库入库洪水实时预报系统。然而,BENGIO Y等[16]指出标准RNNs在处理具有长期记忆(长期相关关系)的问题时,容易出现梯度衰减或梯度爆炸的问题。为解决该问题,HOCHREITER S和SCHMIDHUBER J[17]提出了长短期记忆神经网络(Long Short-Term Memory,LSTM)。这是一种特殊的循环神经网络,其与标准RNNs的结构基本相同,而区别则在于LSTM拥有一个更加细化的内部处理单元,可实现历史信息的长期存储和更新。目前,LSTM这种特殊的非线性动态神经网络结构已被成功应用在计算机视觉、气象学、给排水工程等许多领域[18-20]。

近几年,LSTM在水文水资源领域中的应用也备受关注。KRATZERT F等[21]成功地将LSTM应用于受降雪影响的流域,证明其能很好地模拟降水和径流之间的长期相关关系(即流域积雪融雪过程对产汇流的影响);HU C H等[22]比较了FFNN和LSTM在小流域洪水预报中的效果,结果表明,LSTM特殊的门结构可使网络更加智能,进而具有更高的模拟精度;HRNJICA B等[23]利用LSTM预测了克罗地亚Vrana湖的水位,发现LSTM的预测能力明显优于FFNN的;ZHANG J F等[24]应用LSTM模拟了河套灌区的地下水位,证实了LSTM可有效地存储和利用灌区前期状态信息。上述是LSTM的几个直接应用案例,还有些学者将LSTM和其他模型相耦合,进一步提高了LSTM的模拟精度。如:TIAN Y等[25]比较了4种循环神经网络在湘江流域和衢江流域日径流模拟中的精度,并选取了模拟效果最佳的两种循环神经网络LSTM、NARX(动态时间序列神经网络)分别与集总式水文模型GR4J耦合,结果表明,神经网络通过利用GR4J的模拟径流与实测径流的误差信息大大提高了径流的预报精度;YUAN X H等[26]利用蚁狮算法(Ant Lion Optimization,ALO)对LSTM的几个重要结构参数进行了优化,结果表明LSTM-ALO耦合模型更适用于月径流模拟。

本文拟基于TensorFlow架构搭建LSTM神经网络模型,以岷江镇江关水文站控制流域为研究区,通过与Elman循环神经网络、BP神经网络模拟结果的对比,分析LSTM模型对季节性融雪流域日降水-径流模拟的适用性机制,并聚焦模型关键性参数——时间步长对日径流模拟精度的影响,以期为季节性融雪流域降水-径流模型的构建提供科学参考。

1 研究方法

1.1 BP神经网络

BP神经网络基本结构包括输入层、隐含层和输出层[27],各层之间实现全连接,同层神经元之间无连接,三层BP神经网络结构如图1所示。其基本思想是:将输入节点数为n、输出节点数为m的神经网络,看成是从n维欧式空间到m维欧式空间的映射。信号输入到输入层后,经隐含层逐层处理,传到输出层,此过程为信号正向传播。在信号正向传播过程中,除输入层神经元外,隐含层和输出层的各神经元接收的净输入都是前一层神经元输出的加权值,而每一个神经元的激活程度由它接收的输入信号、激活函数和偏置(阈值)共同决定。若输出层不能得到期望输出,则采用误差逆向传播算法调节网络连接权重和阈值[28]。误差逆向传播算法的原理在于:将误差沿原来的连接通路反向由输出层向输入层传播,并将误差分摊给各层所有的神经元,从而获得各层各个神经元的误差信号,通过此误差信号对各网络连接权重矩阵进行修正,此过程反复进行,直至收敛。

图1 三层BP神经网络结构示意图

1.2 ERNN

BP神经网络的输出只由当前的输入信号决定,与之前的输入信息无关,是一种静态神经网络。与BP神经网络不同,Elman循环神经网络(ERNN)不仅可以存储当前输入信息,还可以反馈之前输出的某些信息,这种特殊的结构使网络具备适应时变特性的能力,更适合于处理时间序列数据[29]。

ERNN一般由输入层、隐含层、承接层和输出层组成,其结构如图2所示。图2中,输入层、隐含层和输出层的连接方式类似于前馈神经网络,输入层仅传输信号,隐含层有线性和非线性两类传递函数,输出层神经元起线性加权作用;承接层也称为上下文单元[30]或状态层,用来记忆隐含层神经元前一时刻的输出值,可被认为是一个有一步延迟的延时算子。ERNN的特点是:隐含层的输出通过承接层的存储与延迟,再输入到隐含层,这种自联方式使网络对历史状态数据具有敏感性,增强了网络处理动态信息的能力。

图2所示为三层结构的ERNN,其中输入层和输出层的神经元个数分别为n和m,承接层与隐含层的神经元个数均为p,该模型可描述为:

Ot=g(Who·Ht+bo) ,

(1)

Ht=f(Wch·Ct+Wih·It+bh),

(2)

Ct=Ht-1。

(3)

式中:It、Ot、Ht、Ct分别为t时刻输入向量、输出向量、隐含层输出向量、承接层输出向量;Who、Wch、Wih分别为输出层、承接层、输入层与隐含层的连接权重矩阵;bo和bh分别为输出层和隐含层的偏置向量;f(·)为隐含层激活函数,一般取tanh函数;g(·)为输出层转换函数,常用线性函数。网络参数更新一般通过基于时间的反向传播算法(Back-Propagation Through Time,BPTT)实现。

图2 Elman循环神经网络结构示意图

1.3 LSTM

类似于BP神经网络,循环神经网络(RNNs)也是由输入层、隐含层和输出层叠加构成的(如图3所示),但RNNs各隐含层均存在时间反馈循环,各隐含层都可展开成预设长度(时间步长)的多层结构,此结构使得时间步长为p时的输出包含了前面时间步长的信息。理论上,增加时间步长,网络便可获得长期记忆,但在实际的多阶段反向传播计算中,标准RNNs会出现梯度消失或梯度爆炸的问题,导致其在处理延迟时间过长的时间序列时失效。

图3 RNNs结构示意图

为解决上述问题,Hochreiter和Schmidhuber对标准RNNs的隐含层结构(如图4(a)所示)进行改进,设置了两个特殊的“门”结构(输入门和输出门)和一个CEC(Constant Error Carousel,CEC)单元。2000年GERS F A等[31]将遗忘门添加到LSTM结构中,形成了目前的三门结构,如图4(b)所示。“门”作为逻辑控制单元,包含一个Sigmoid网络层和一个乘法单元,用来控制CEC单元状态。

图4 隐含层结构

如图4所示,对比标准RNNs,LSTM拥有更加精细的隐含层。图4(b)中,顶端绿色水平线即为CEC单元,贯穿整个时间步的运行过程,使得LSTM有保存、读取和更新长期历史信息的能力;黄色阴影部分为遗忘门,蓝色为输入门,红色为输出门,其遗忘、输入和输出信息由上一时刻隐含层输出信息和当前时刻输入信息共同决定,从而实现对CEC单元状态的更新。其公式表达如下:

ft=σ(Wf·[ht-1,it]+bf);

(4)

xt=σ(Wi·[ht-1,it]+bi);

(5)

(6)

(7)

ot=σ(Wo·[ht-1,it]+bo);

(8)

ht=ot×tanh(Ct)。

(9)

1.4 LSTM模型框架构建

本文基于TensorFlow架构搭建LSTM神经网络模型。TensorFlow是一个采用数据流图(data flow graphs)进行数值计算的开源软件库,最初由Google开发出来,用于机器学习和深度神经网络方面的研究。

已有文献[32]表明,LSTM模型隐含层层数和隐含层神经元数对模拟效果有重要影响。隐含层层数和隐含层神经元个数过多都有可能造成模型过拟合;而隐含层神经元个数太少,则神经网络映射能力不足,造成模型欠拟合。通过试验,本文LSTM模型仅设置1个隐含层,隐含层神经元个数设置为5,这种参数配置使得网络结构简单且易于训练,并且满足模拟精度要求。具体试验过程见第3节。

损失函数Loss采用均方误差指标(Mean Square Error,MSE),该指标反映了训练期LSTM模型的拟合精度,其值越小,说明拟合效果越好。本文在设定批尺寸batch size和最大迭代次数epochs的条件下,利用Adam优化算法更新LSTM网络的权重矩阵,降低损失函数值。损失函数计算公式为:

(10)

1.5 模型评价指标

采用Nash效率系数(Nash Sutcliffe Efficiency coefficient,NSE)和Pearson相关系数(Pearson Correlation Coefficient,R)这两个指标来评价模型的模拟效果,具体计算公式如下:

(11)

(12)

2 研究区及数据

2.1 研究区概况

岷江镇江关水文站控制流域为岷江源头区,地处青藏高原东缘,位于东经103°11′~103°54′,北纬32°9′~33°9′,流域面积4 500 km2[33]。流域内岷江干流自北向南延伸,主河道全长103.7 km,主要支流有大姓沟、漳腊河等;地势起伏明显,海拔为2 325~5 537 m,地貌类型以山地为主,气候、植被、土壤等自然要素垂直分带比较明显;多年平均气温5.7 ℃,多年平均日照时数1 822 h,全年无霜期50 d左右;多年平均降水量570 mm。由于地处川西高原季风气候和川东盆地亚热带两个气候区,流域干湿季分明,冬干夏湿。5—10月受季风控制,降水充沛,其降水量占全年降水量的80%以上;11月—次年4月受高空西风环流控制,为旱季,干旱少雨。该流域径流补给以降水为主,地下水次之,季节性融雪的补给主要集中在春末夏初。镇江关水文站为岷江源头区的流域出口控制站,多年平均流量55 m3/s,最大流量410 m3/s,最小流量9.2 m3/s。

2.2 数据及预处理

选取2000—2006年共7 a实测气象、水文资料用于模型训练和验证,其中前5 a(2000—2004年)实测资料用于模型训练,其余2 a(2005—2006年)资料用于模型验证。气象要素包括降水和潜在蒸散发,主要采用流域内的松潘气象站数据;而实测径流资料来自镇江关水文站,获取来源为中国气象数据共享网和长江水利委员会。实测数据统计参数见表1。

表1 训练期和验证期日实测资料统计参数

为保证训练过程中模型更快地收敛和获得更合理的网络参数,采用归一化方法对输入数据进行预处理,归一化公式如下:

(13)

式中:Xnorm为归一化后的序列,X为原始序列;Xmax和Xmin分别为原始序列中的最大值和最小值。

3 结果与讨论

3.1 网络结构参数优选

为验证LSTM模型处理长期相关关系问题所具有的优异特点,以受季节性降雪影响的镇江关水文站径流数据为研究对象,搭建BP神经网络、ERNN和LSTM模型,开展流域日降水-径流模拟并进行对比。

由于不同的网络结构参数的选取会导致不同的模拟效果,本文采用试错法确定3个ANNs模型的最优结构参数,共试验了5种隐含层数(即1、2、3、4、5)和5种隐含层神经元数(即5、10、20、30、50)对验证期模拟精度的影响,模型精度用NSE表示,结果如图5所示。

图5 不同模型隐含层数和隐含层神经元数对模拟精度的影响

图5(a)和图5(d)反映了BP神经网络验证期模拟结果的NSE分布情况。从图5(a)和图5(d)中可以看出:隐含层设置为4层、每层神经元个数设置为10时,验证期模拟精度最高,且存在随着BP神经网络隐含层数和隐含层神经元数的增加,BP神经网络的模拟精度表现出更为精准的趋势,相应的NSE值也更大;但当隐含层数超过4层或隐含层神经元数超过10时,验证期模拟精度逐渐降低,说明模型产生了过拟合现象。

图5(b)和图5(e)表示验证期ERNN模拟效果随隐含层数和隐含层神经元数的变化情况。从图5(b)和图5(e)中可以清楚地看到,随着隐含层数和隐含层神经元数的增加,模型在验证期模拟效果的不确定性增强,且NSE总体呈下降趋势。由此可见,隐含层设置为1层、隐含层神经元个数设置为5是ERNN最优的结构参数组合。

图5(c)和图5(f)描述了具有不同隐含层数和隐含层神经元数LSTM的NSE分布情况。由其可发现,随着隐含层数和隐含层神经元数的增加,验证期NSE总体呈下降趋势,且隐含层数为2时,LSTM模拟效果的不确定性最大。故可认为LSTM设置1层隐含层、每个隐含层5个神经元为最优。

遂在本文中,可确定BP神经网络、ERNN和LSTM模型的网络结构,即BP神经网络包含4个隐含层,且每个隐含层包含10个神经元;ERNN和LSTM模型的结构均为1层隐含层,每个隐含层5个神经元。

3.2 验证期模拟效果对比

BP神经网络、ERNN和LSTM 3种ANN模型在训练期和验证期的指标评价结果见表2,3种模型的模拟径流过程线如图6所示。

表2 3种ANN模型评价结果

由表2可知,在模型训练期和验证期内,BP神经网络的NSE和R最小,LSTM的NSE和R最大。结合图6(a)—图6(c)可知,LSTM的径流过程线拟合效果最佳,ERNN的次之,BP神经网络的最差。图6(d)—图6(f)显示了验证期LSTM模拟的径流过程线的局部放大情况。从图6(d)可以看出:2005年3—5月,LSTM模拟的径流过程线与实测径流过程线拟合较好,说明LSTM可以很好地模拟流域春季的融雪径流过程;图6(e)展示了2005年6—7月的一次流域退洪过程,LSTM模拟值总体接近实测值,但比实测值略低;图6(f)为2006年8—12月的一次洪水过程,LSTM拟合效果良好,能准确确定洪峰流量和峰现时间。

图6 不同模型训练期和验证期的径流模拟过程及验证期LSTM径流模拟过程线的局部放大图

3.3 前期影响天数分析

如1.3节所述,LSTM通过CEC单元和3个特殊的“门”结构可实现历史信息的长期存储和更新。当LSTM用作流域降水-径流模型时,CEC单元状态即可理解为流域当前状态(即积雪厚度、土壤含水量、地下水位等)。通常情况下,流域当前状态由前N天的流域气象状况决定。本文选取的岷江镇江关水文站控制流域地处青藏高原东缘,其日径流过程受积雪和融雪过程的影响较大。因此,为取得较为精确的模拟结果,需将流域积雪、融雪对产汇流的影响反映在模型内,即需确定较为准确的前期影响天数N。依据模型原理,LSTM的时间步长参数可指代前期影响天数N,为此本研究试验了6个时间步长(10、20、30、45、60、90 d)。其验证期模拟结果如图7所示。

图7 不同时间步长下LSTM的模拟效果

由图7可知,随着时间步长N的增加,LSTM在验证期的模拟精度先提高后降低,且当时间步长设置为60 d时,模拟精度最高(R=0.94,NSE=0.87)。为进一步验证时间步长(前期影响天数)60 d的合理性,绘制了验证期2005年11月—2006年11月流域降水、径流和温度过程线,如图8所示。

图8 验证期实测日径流过程及相应时段日平均气温变化

从图8(a)中可以清楚地看出:①2006年2—4月流域内有降水事件发生,但并未形成明显的径流过程。这主要是因为该时段内降水多以雪的形式降落到流域内,且由于日平均气温较低(5 ℃以下,如图8(b)所示),落到地面的降雪并不会立即融化产流,而是以积雪的形式储存下来,4月份之后日平均气温升高,积雪便开始大量融化,参与到流域产汇流过程,日径流过程线也相应地呈现出上升趋势。②虽然2005年12月—2006年2月的日平均气温在零摄氏度以下,但由于该时段内降水稀少,故该时段内产生的积雪对春末夏初融雪径流的形成作用较小;而2—4月的积雪融化后,直接促成第一次洪水过程的形成。因此,认为将该流域前期影响天数N设置为60 d符合实际情况,可作为区域降水-径流模型构建参考的依据。

4 结论

本文以岷江镇江关水文站控制流域为研究区,通过与BP神经网络及Elman循环神经网络(ERNN)模型的对比,验证了长短期记忆神经网络(LSTM)模型在受季节性积雪和融雪影响的高山流域降水-径流模拟中的适用性。分析表明:BP神经网络不能记忆历史信息,导致其无法反映流域积、融雪过程对径流形成的作用;ERNN相比BP神经网络,有一定的记忆能力,但在积雪时段较长的镇江关水文站控制流域上的模拟效果一般;LSTM模型借助其特殊的CEC单元和“门”结构,实现了长期记忆功能,非常适用于受季节性积、融雪影响的高山流域降水-径流模拟,对研究区的模拟效果最佳。

研究还发现LSTM模型中3个参数对模拟效果影响显著。①隐含层数和隐含层神经元数,不合理的选取极易导致过拟合现象和造成不确定问题,因此,在构建模型的过程中隐含层数和隐含层神经元数的率定尤为关键。②时间步长,对应到降水-径流模拟即前期影响天数。本文通过对时间步长的试验,发现当时间步长设置为60 d时,径流模拟效果最好。通过流域实测降水、径流、温度过程线对时间步长60 d进行合理性分析,发现2—4月内的降水并未立即产流,一直到4月末、5月初温度升高,径流过程线才出现明显波动,且呈现上升趋势,这说明2—4月的积雪在春末夏初才开始融化,这与前期影响天数60 d的结论相一致,遂可验证时间步长设置的合理性。

综上,相比BP神经网络和ERNN,LSTM模型在受积、融雪过程影响显著流域的径流过程模拟中具有优势,且对类似的其他存在长期相关关系的时间序列预测问题具有推广意义。

猜你喜欢

径流步长流域
格陵兰岛积雪区地表径流增加研究
流域径流指标的构造与应用
基于SWAT模型的布尔哈通河流域径流模拟研究
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
昌江流域9次致洪大暴雨的空间分布与天气系统分析
小时和日步长热时对夏玉米生育期模拟的影响
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
河南省小流域综合治理调查
人工降雨下三种屋面径流过程环境质量比较