河川技術論文集,第25巻,2019年6月

論文

Recurrent Neural Networkによるダム流入量の予測
APPLICATION OF RECURRENT NEURAL NETWORKFOR DAM INFLOW PREDICTION

谷口純一1・小島崇1・曽田康秀2・福元秀一郎3・佐藤尚4
町田佳隆5・見上哲章6・永山正典6・錦織俊之7・渡邊明英1
Junichi TANIGUCHI, Takashi KOJIMA, Yasuhide SOTA, Shuichirou HUKUMOTO
Hisa SATOU, Yoshitaka MACHIDA, Tetsuaki MIKAMI, Masanori NAGAYAMA
Toshiyuki NISHIKOHRI and Akihide WATANABE
1正会員博(工) 株式会社東京建設コンサルタント環境防災研究所 (〒170-0004 東京都豊島区北大塚1-15-6)
2非会員 博(理) 株式会社東京建設コンサルタント環境防災研究所 (同上)
3正会員 学(工) 株式会社東京建設コンサルタント九州支社環境防災部 (〒812-0016 福岡市博多区博多駅南2-12-3)
4非会員 学(工) 株式会社東京建設コンサルタント九州支社環境防災部 (同上)
5非会員 修(工) 株式会社東京建設コンサルタント九州支社環境防災部 (同上)
6正会員 修(工) 株式会社東京建設コンサルタント環境防災事業本部環境防災部 (〒170-0004 東京都豊島区北大塚1-15-6)
7正会員 修(工) 株式会社東京建設コンサルタント東京本社河川計画本部 (同上)We applied Recurrent Neural Network (RNN) and Long-Short Term Memory (LSTM) for flood
forecasting problems and compared those models with Multi-Layer Perceptron (MLP) for the prediction of
inflow to Yabakei Dam in the Yamakuni River system. We investigated RMSE value for the predictions ofinflow against five validation floods. It was found that RNN is relatively reproducible model, although thevariation due to the initial values is larger than that of MLP. We took the average for the predictions against
the model parameters with different random seeds in ensemble model. Investigating the characters of theseensemble models, we got the three results: (1) The RMSE value was around or less than the median for allof the three models. (2) The average of the RMSE values against five validation floods for RNN was slightly
smaller than that for MLP. (3) RNN was likely to be robust against each prediction period than MLP.
Key Words: flood forecasting, dam inflow prediction, deep learning, recurrent neural network

１．はじめに洪水被害を最小限に抑えるためには柔軟なダム操作が重要な役割となり得る．本稿ではそのダム操作時の判断材料となるダム流入量の予測の高精度化のためにDeepLearning の手法の一つであるRecurrent Neural Network(RNN)を適応する．
近年様々な分野でDeep Learningの有用性が注目されてい る が ， 洪 水 予 測 の 分 野 に お い て も Multi-Layer
Perceptron (MLP)による河川水位の予測1)やダム流入量予測2)の適用事例が報告されている．Deep Learningは一般に大量のデータが必要となるが、洪水のデータは年に数回しか取れず，河川の形が変わることも考えられ，たくさんの有意義なデータを用意することは難しい．その中で、洪水予測問題で扱われる特徴量は雨量や水位といったデータでこれらは時系列データであるが，全層結合のMLPではその時系列のつながりを表現することはできない．そこで，本稿では限られたデータに含まれる時系列であるという情報を最大限に活かすためにRNNをこの問題に適用した．
またデータが少ない場合は，Deep Learningでは一般的なプロセスである、学習には用いないデータをモデルの汎化性見るために使うということが難しい．そこで本稿
ではモデル検証用データの振る舞いを見ずに学習をやめたとき，初期値によらず安定して良いモデルが得られかについても議論する．

２．対象流域
予測対象は大分県と福岡県の県境の山国川水系の耶馬

図-1 耶馬渓ダム流域の地図．

渓ダム（大分県）の流入量とした（図-1）．耶馬渓ダムより上流側を2つの小流域①(約60km2)と②(約28km2)に分割し、入力に用いる雨量はCバンドレーダ雨量の実績値から作成した小流域ごとの流域平均雨量とした．過去8時間の雨量，ダム流入量と将来6時間の予測雨量をもとに，将来6時間分のダムの流入量の予測を行う．なお入出力は10分間隔とし，予測雨量は完全予測を仮定して実績値を用いる．ダム流入量は観測データを用いた．表-1に収集したデータをまとめる．

表-1 収集した洪水データ．赤字は検証用洪水．
発生日
最大流入量(m3/s)
順位
2008_0611
122.9518
2008_0619
267.166
2008_0621
107.3321
2009_0630
190.829
2009_0725
202.657
2010_0523
104.5923
2010_0714
116.0119
2011_0630
14.55
30
2011_0711
4.27
31
2011_0725
43.07
29
2012_0616
102.0424
2012_0624
315.2
5
2012_0703
1106.571
2012_0714
691.482
2013_0620
140.8
13
2013_0626
105.4
22
2013_0901
158.9911
2013_0904
152.7312
2014_0622
126.33162014_0703
79.18
28
2014_0707
135.0214
2015_0403
88.4
27
2015_0603
96.5
26
2015_0611
108.4620
2015_0701
131.8115
2015_0825
190.848
2016_0621
375.074
2016_0713
96.85
25
2016_0920
125.8217
2016_0929
178.5910
2017_0705
552.37
3３．手法
本稿で検討した3つのモデルについて説明する．
(1) RNN
RNNモデルのネットワークを図-2に示す．𝑡 = 0を現時刻として，過去のデータを入力するステップである−48 ≤ 𝑡 ≤ 0のときは小流域①，②の雨量とダム流入量の3つの観測値を入力する．1 ≤ 𝑡 ≤ 35のときは雨量については予測雨量を入力し，ダム流入量は1ステップ前の予測値を用いる．時刻𝑡の入力ベクトルを𝒙(𝑡)，隠れ層の状態を𝒉(𝑡)とすると次式で表される．
𝒉(𝑡) = tanh(𝑊𝑥ℎ 𝒙(𝑡) + 𝑊ℎℎ 𝒉(𝑡 − 1) + 𝒃ℎ )(1)

ここで，𝑊𝑥ℎ , 𝑊ℎℎ , 𝒃ℎ は学習する重み行列とバイアスのベクトルである．また，次の時刻のダム流入量の予測値
𝒚(𝑡 + 1)は，既往研究2)を参考にダム流入量の変動量を予測するように以下の式で求める．
𝒚(𝑡 + 1) = 𝑊ℎ𝑦 𝒉(𝑡) + 𝒃𝑦 + 𝒚(𝑡)(2)𝑊ℎ𝑦 と𝒃𝑦 も学習する重み行列とバイアスのベクトルである．なお𝒚(0)は現時刻のダム流入量の観測値とする．

(2) LSTM (Long-Short Term Memory)
RNNでは長期記憶が必要な問題が難しいことや，勾配消失が起こりやすい等いくつかの問題点が知られており，それらを解決するために開発されたのがLSTMである．
モデル全体としては図-2と同じ形であるが，隠れ層𝒉(𝑡)の計算がGers et al.3)の形になる．
𝒇𝒕 = sigm(𝑊𝑓 [𝒉(𝑡 − 1), 𝒙(𝑡)] + 𝒃𝑓 )𝒊 = sigm(𝑊𝑖 [𝒉(𝑡 − 1), 𝒙(𝑡)] + 𝒃𝑖 )
̃ = tanh(𝑊𝐶 [𝒉(𝑡 − 1), 𝒙(𝑡)] + 𝒃𝐶 )𝑪
̃𝑪(𝑡) = 𝒇 ∗ 𝑪(𝑡 − 1) + 𝒊 ∗ 𝑪𝒐 = sigm(𝑊𝑜 [𝒉(𝑡 − 1), 𝒙(𝑡)] + 𝒃𝒐 )𝒉(𝑡) = 𝒐 ∗ tanh(𝑪(𝑡)){(3)

ここでsigmはシグモイド関数，[𝒂, 𝒃]はベクトル 𝒂, 𝒃の結合，∗は要素ごとの積を表す．式(3)中の𝑊や𝒃を学習する．𝑪(𝑡)はCell Stateと呼ばれるものであり，長期記憶や勾配消失を避けるのに役立っているとされている．
RNN, LSTMの重み行列の初期値はGlorot and Bengio4)の方法を用いて決定した(式(4))．𝑗層目から𝑗 + 1層目への順伝播に用いる重み行列を𝑊とすると，次の時刻の流入量の予測値
入力した流入量を足す++・・・・・・

入力は，小流域①②の雨量 と ，流入量 の3つ

将来の流入量は前ステップの予測値を用いる

図-2 RNNによるダム流入量予測のモデル図．
表-2 既往のMLPモデルとの違いとその理由．
一言ら2)
本稿
理由
入力は相関分析 RNNと同じ入力 Deep Learningでで あ る 程 度 選 を す べ て 用 い は多数の特徴量
ぶ．
る．
から必要な特徴量を獲得することができると言われている例えば5).
1時刻後,2時刻後 出力層を複数に 十分大きなネッ…の予測のため し，一つのネッ トワークであれにそれぞれ異な トワークで全時 ば1時刻ごとの予る モ デ ル を 作 刻 の 予 測 を 行 測モデルも内包
成．
う．
していると考えられるため．
学習の効率化の 活 性 化 関 数 に 効率的な学習がために初期値を ReLU を 用 い 行えるとされるオートエンコー た．
ReLU を 用 いダによって決た．
定．

𝑊~𝑈 [−√6√6,]√𝑛𝑗 + 𝑛𝑗+1 √𝑛𝑗 + 𝑛𝑗+1(4)ここで，𝑈[𝑎, 𝑏] は𝑎から𝑏までの一様乱数を示し，𝑛𝑗 はj層目のノード数を示す．この時，𝑗層目のノード数は，順伝播に関わる全てのノードの数となるため，例えばRNNの1層目の隠れ層の計算の場合，𝑛1 は入力ノード数と隠れ層のノード数の和となり，𝑛2 は隠れ層のノード数となる．
バイアスの初期値は，LSTMの𝒃𝒇 は1，その他は0とした．また，RNN，LSTMの𝒉や𝑪は予測時に初期状態（𝒉(−49)や𝑪(−49)）を決める必要があるが，ここではその初期状態も学習させる．𝒉，𝑪の初期状態は0で初期化した．
(3) MLP
MLPは既往研究の一言らのモデル2)を参考にし，説明表-3 モデル名とその詳細．MLPは中間層2層とした．
モデル名
モデル
ノード数
ドロップ
アウト率
A
MLP
200-2000.0
B
MLP
200-2000.2C
MLP
200-2000.4
D (MLP_S)
MLP
100-1000.0E
MLP
100-1000.2
F
MLP
100-1000.4
G
RNN
500.0
H
RNN
500.2
I (RNN_S)
RNN
50.0
J
LSTM
500.0
K
LSTM
500.2
L
LSTM
50.0

変数に10分ごとのダム流入量の変化量を加え，予測変数も10分ごとのダム流入量の変化量とした．一言らのモデルとの違いを表-2にまとめる．
重み行列の初期化は活性化関数がReLUのときに広く用いられているHe et al.6)の方法を用いた（式(5)）．
2𝑊~𝑁 (0, √ )𝑛𝑗(5)

ここで，𝑁(𝑎, 𝑏)は平均𝑎分散𝑏の正規乱数である．
入出力データはすべての特徴量について平均0分散1になるように規格化した．学習はmini-batch勾配降下法で行い，バッチサイズは64，学習率の調整にはAdamアルゴリズム7)を用いた．またロス関数はMSEとした．
表-3に検討を行った各モデルの概要をまとめる．ドロップアウト8)はMLPについては一般的な方法をとるが，RNNやLSTMに対してはGal and Ghahramani9)の方法を用いる．また，RNN, LSTMのノード数5のモデルについては規模が小さなモデルであるためドロップアウトの適応はしない．学習はどのモデルも予備検討により十分な収束が確認できた500エポック行い，学習用洪水に対するロスが最も小さくなったタイミングでのモデルを採用す図-3 (a)～(e)は各モデルの各検証用洪水に対する各予測時刻のRMSEの平均値の箱ひげ図（最小値・第１四分位点・中央値・第３四分位点・最大値を示している）．図中の青丸は各モデル50種のランダムシードから得られたモデルによるアンサンブルモデルのRMSEの平均値．(f)はアンサンブルモデルの検証用洪水5洪水のRMSEの平均値（青丸の平均値）．

図-4 2012年6月24日出水に対してD(MLP_S)でRMSEが最も小さいモデル(a)とI(RNN_S)でRMSEが最も小さいモデル(b)の予測検証の結果．

る．これは，RNNやLSTMの学習では学習用洪水に対するロスはトレンドとしては減少するが，大きく跳ね上がることがあるなど単調減少とはならないためである．
MLPについても同様のことが起こりうるため同じようにモデルを選択する．それぞれのモデルで50ケースずつランダムシードを変えて学習を行った．ランダムシードを変えることによって各パラメータの初期値や，学習時のmini-batchの順番，ドロップアウトされるノードが変わるため，異なるモデルが得られる．

４．結果
現時刻がダム流入量のピーク前後12時間のときに注目

図-5 D (MLP_S)のアンサンブルモデル(a)と，I (RNN_S)のアンサンブルモデル(b)による2012年7月3日出水の予測検証の結果．

図-6 D(MLP_S)のアンサンブルモデル(a)と，I(RNN_S)のアンサンブルモデル(b)による2012年6月24日出水の予測検証の結果．

して解析を行った．各モデル・各検証用洪水に対する学習したモデルの分布を図-3に示す．なお，図中のAve. ofRMSEは，以下の式で表される．

𝐴𝑣𝑒. 𝑜𝑓 𝑅𝑀𝑆𝐸 =√∑36
𝑇=1𝑇+𝑡 − 𝑝𝑇 )2∑145
𝑡𝑡=1(𝑜14536(6)ここで，𝑝𝑡𝑇 は時刻𝑇の𝑡時刻後の予測値，𝑜T は時刻𝑇の観測値である．𝑡はピーク時刻の12時間前(72時刻前)を1として，ピーク時刻の12時間後の145までを考える．
MLPのRMSEの分布は全体的にばらつきが小さいが，その中央値はRNNやLSTMより高い傾向にある．モデル
I(RNN-S)のRMSEの最大値はMLPよりも大きくなることはあるが，第3四分位点は悪いものでMLPの中央値程度の値である．したがってRNNが再現性の高いモデルを作りやすいといえる．
また，ランダムフォレストに代表されるように，機械学習の手法は一般に様々なモデルの平均を取るといったアンサンブルモデルの方が精度が良いとされている．本稿では各モデル50種類のランダムシードでモデルを作成しているので，各モデルについてこれらの単純平均を取るモデルの精度についても調べた(図-3の青丸や棒グラ

フ)．その結果どのモデルについても中央値程度かそれがあることが分かった．RNNは構造的にそのようなこと以上の精度となった．これはRNNモデルのようにランダが起こりにくいためこういった点ではRNNの方が優位でムシードによって得られるモデルにばらつきがある場合， ある．
それらの平均を取ることによってそのばらつきをある程LSTMは一般的にはRNNより高性能であるとされてい度無視できる可能性があることを示唆している．またるが，本稿ではその優位さは確認できなかった．これはMLPの改善の幅が比較的大きい．これはMLPの予測は本稿で取り上げた問題が，LSTMが良く用いられている時系列を仮定していないためか，その予測波形が安定し機械翻訳などのタスクに比べてシンプルで，それほど高ないが(図-4．各時刻から予測を開始しその波形を描いて機能なモデルが必要ないためであるかもしれない．
いる)，ランダムシードごとの平均を取ることによって今後の課題として，シード値によってばらつきが大き平滑化のような作用を及ぼしたことが要因であると考えくならないようなモデルや学習の仕方の検討があげられられる．
る．RNNではアンサンブルを取る際にRMSEが大きなモ
最後にモデルD (MLP_S)とモデルI (RNN_S)の予測波形デルも含んでいるため，得られるモデルの誤差のばらつの比較を行う．対象は予測のRMSEが最も大きかった
きが小さくなればより良いモデルが作れるようになる可
ピーク流入量1位の2012年7月3日出水（図-5）と，最も能性がある．また，本稿では流域分割した小流域の平均小さかったピーク流入量5位の2012年6月24日出水（図-6） 雨量を入力に用いたが，レーダ雨量をそのまま用いるこである．2012年7月3日出水については，外挿領域となっとで精度が向上する可能性がある．他に， RNNの入力ていると考えられ，どちらのモデルも波形全体を表現すにもMLPと同様に流入量の変化量を用いる等の工夫によることはできていないが，MLPではピーク2時間前からり，より大規模な洪水を表現できる可能性がある．
はピーク流量を捉えられている．一方で，RNNの方が立ち上がりの10hあたりまでの予測は高精度である．2012
参考文献
1) 一言正之, 桜庭雅明, 清雄一: 深層学習を用いた河川予測手
年6月24日出水については，全体のRMSEはMLPの方が法の開発, 土木学会論文集B1(水工学), Vol.72, No.4, I_187小さい．一方で，RNNの方がピーク流量やその時刻は再I_192, 2016.
現できている．さらに予測波形のばらつきは小さいため，
2) 一言正之, 遠藤優斗, 島本卓三, 房前和朋: レーダ雨量を用い
RNNの方がMLPよりも予測開始時刻が変わったときにた深層学習によるダム流入量予測, 河川技術論文集, Vol.24,予測値が変動しにくいといえる．これは，MLPでは入出pp.403-408, 2018.
力を時系列データとして扱えないことが原因である可能
3) Felix A. Gers, Jürgen Schmidhuber, Fred Cummins, Learning to性がある．しかし，RNNではピーク時刻の10~50分前のForget: Continual Prediction with LSTM, Neural Computation, Vol.
予測精度は良くない．これは，この時刻の波形はその前12, Issue 10, pp. 2451-2471, 2000.
後の波形と比べて傾きが緩やかであるため，本項のRNN
4) Xavier Glorot, Yushua Bengio: Understanding the difficulty ofによる予測モデルでは急激な傾きの変化を表現できない
training deep feedforward neural networks, Journal of Machine
可能性を示唆している．
Learning Research, Vol. 9, pp.249-256, 2010.

５．まとめ5) 麻生英樹: 多層ニューラルネットワークによる深層表現の学
習, 人工知能学会誌, Vol.28, No. 4, pp649-659, 2013.
6) Kaiming He, Xiangyu Zhang Shaoqing Ren Jian Sun: Delving Deep

into Rectifiers: Surpassing Human-Level Performance on ImageNet
本稿ではダム流入量の予測にMLP，RNN，LSTMを適Classification, 2015 IEEE International Conference on Computer
用した．その結果，RNNを用いると再現性の高いモデル
Vision, pp.1026-1034, 2015.
が比較的作りやすいことが分かった．しかし，初期値に7) Diederik P. Kingma, Jimmy Lei Ba: Adam: A Method for Stochastic
よるばらつきがMLPよりも大きく，悪いモデルが選ばれOptimization, Proceedings of the 3rd International Conference on
た場合はMLPよりもRMSEが大きくなることもある．
Learning Representations (ICLR), 2015.
各モデルについて異なるランダムシードで得られたモ
8) Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever,
デルの単純平均を取るアンサンブルモデルを検証したとRuslan Salakhutdinov: Dropout: A Simple Way to Prevent Neural
ころ，どのモデルについても中央値程度かそれ以下のNetworks from Overfitting, Journal of Machine Learning Research,
RMSEとなることが分かった．特にMLPでは精度の改善
Vol. 15, pp.1929-1958, 2014.
幅が大きかった．このアンサンブルモデルを比較したと
ころ，MLPよりもRNNの方がややRMSEは小さくなった． 9) Yarin Gal, Zoubin Ghahramani: A Theoretically Grounded
Application of Dropout in Recurrent Neural Networks, 30th
予測波形を比較すると，既往最大洪水の再現性はどのモ
Conference on Neural Information Processing Systems, pp.1027デルも良くないが，MLPはピークの2時間前程度からは1035, 2016.
ピーク水位を予測することができた．しかしMLPは予測（2019.4.2受付）
開始の時刻が変わるごとに予測結果も変わりやすい傾向