Page 109 - 水利学报2025年第56卷第3期
P. 109
图 4 按时间序列划分数据集与 MDUPLEX算法划分数据集示意
图 5 LSTM网络示意
输入门能够将每个新输入单元的一部分信息存入记忆单元中,输出门能输出部分信息作为下一次
输入新信息时的短期记忆,而遗忘门能从输入的部分中选择遗忘掉部分信息。它们具体的运行模式可
用以下式子表示:
i = σ (W ·[h ,x] + b) (1)
i
t
t - 1
i
t
f = σ (W ·[h ,x] + b) (2)
t f t - 1 t f
o= σ (W ·[h ,x] + b) (3)
t o t - 1 t o
C = f × C + i × 珟 t (4)
C
t
t - 1
t
t
h= o× tanh (C) (5)
t
t
t
C (6)
珟 = tanh(W ·[h ,x] + b)
t c t - 1 t c
C
式中:i、f、o分别为输入门、遗忘门、输出门; 珟 为候选态,即对新信息归纳后的结果;W 、W 、
t t t t i f
W 、W 分别为连接门与输入信息之间的权重;b、b、b、b 为偏置项;C 为长期记忆单元,每个
c
o
t
i
f
o
c
时刻更新长期记忆;h 为短期记忆单元,作为下一时刻的隐含状态输入。σ和 tanh代表不同的激活
t
函数。
本研究采用的 模 型 包 含 多 层 LSTM 网 络,需 要 调 试 的 超 参 为 学 习 率 和 LSTM 网 络 层 数, 使 用
ADAM算法 [24] 作为学习率方法,损失指标选择均方误差(MSE),激活函数选择 tanh和 sigmoid函数。
LSTM模型基于 Python中的 Tensorflow模块、Keras模块来实现 [25] 。
3.3 基 于 MDUPLEX- LSTM 的水 库出 流 模 拟 方 法 本 文 提 出 了 基 于 MDUPLEX数 据 划 分 方 法 和
LSTM神经网络的水库出流模拟方法———MDUPLEX - LSTM。建模采用的数据包括水库日尺度入流量、
蓄水量和出流量序列等。首先,采用 MDUPLEX算法将数据集划分为率定集、验证集和测试集。设置
不同的超参(即学习率和网络层数)组合,基于不同超参组合、采用率定集数据率定得到 LSTM 中的权
重和偏置等参数,使用验证集数据选出模拟效果最优的超参组合,采用测试集数据评估 MDUPLEX -
LSTM的模拟效果。
在 LSTM的输入输出方面,LSTM 的输出变量为日尺度的水库出流量。在设置 LSTM 的输入变量
— 3 9 1 —