DEIM Forum 2019 A2-3

RNN を用いたネットワークのパラメータに基づくネットワークトラフィック変動予測
小山内遥香†

中尾 彰宏††

山本周††

山口実靖†††

小口 正人†† お茶の水女子大学 〒 112–8610 東京都文京区大塚 2-1-1†† 東京大学 〒 113–8654 東京都文京区本郷 7-3-1††† 工学院大学 〒 163-8677 東京都新宿区西新宿 1-24-2
E-mail: †{g1420514,oguchi}@is.ocha.ac.jp, ††nakao@nakao-lab.org，shu@iii.u-tokyo.ac.jp,†††sane@cc.kogakuin.ac.jp
あらまし 通信障害は，大規模災害による被災地内外の通信過多による輻輳，同時に起こる OS アップデートや DDoS攻撃など，様々な原因で引き起こされる．これらの通信障害は起こってからでは，対応が手遅れである場合が多く，確度の高い予測をし，事前に輻輳を抑制することが重要である．網内における機械学習により，トラフィック集中を早期に検知し，効率的に対応するための技術に期待が集まっている．本論文では，深層学習のモデルの一種である

Recurrent Neural Network(RNN) を用いてトラフィック異状の情報を抽出し，トラフィック変動の兆候を掴むための手法を提案する．
キーワード 深層学習，RNN，ネットワークトラフィック，変動予測

Prediction of Variation in Network Traﬃc Based on Network Parameters
by RNN
Haruka OSANAI† , Akihiro NAKAO†† , Shu YAMAMOTO†† , Saneyasu YAMAGUCHI††† , andMasato OGUCHI†† Ochanomizu University 2-1-1 Otsuka, Bunkyo-ku, Tokyo 112–8610, Japan†† University of Tokyo 7-3-1-1 Hongo, Bunkyo-ku, Tokyo 113–8654, Japan††† Kogakuin University 1-24-2 Nishi-shinjuku, Shinjuku-ku, Tokyo 163-8677, JapanE-mail: †{g1420514,oguchi}@is.ocha.ac.jp, ††nakao@nakao-lab.org，shu@iii.u-tokyo.ac.jp,†††sane@cc.kogakuin.ac.jp

1. は じ め に況や安否の確認，避難経路などの情報を得ることが難しくなり，避難や救助活動を適切に行うことができなくなる可能性がある．

現在，スマートフォンや自動車，家電など身の回りのあらゆ

これらの通信障害は起こってからでは，対応が手遅れである

るものがインターネットに接続されており，通信は，電気やガ場合が多く，確度の高い予測をし，事前に輻輳を抑制すること

ス，水道と並ぶ生活を送るために必要不可欠なものとなっていが必要である．

る．そのため，突然発生する通信障害により通信が利用できなくなると人々を混乱に陥れる可能性が大きい．
通信障害は，大規模災害による被災地内外からの通信過多による輻輳，DDoS 攻撃や同時に起こる OS アップデートなど，また，近年深層学習の技術が発達してきている．深層学習は，画像や音声の認識，自動車の自動運転など様々な分野に応用され，非常に高い解析性能により社会に多大な利益をもたらしている．

様々な原因で引き起こされる．通信障害が発生すると，メールそのため，網内における深層学習を用いたトラフィック変動や通話などの連絡手段の利用が不可能になったり，金融取引やの学習により，トラフィック集中を早期に検知し，効率的に対公共交通機関利用時の電子決済ができなくなるなど社会全体が応するための技術に期待が集まっている．

大きな影響を受けてしまう．特に，災害時においては，被災状

本論文では，深層学習のモデルの一種である Recurrent Neu-ral Network(RNN) を用いてトラフィック異状の情報を抽出し，トラフィック変動の兆候を掴むための手法の提案と作成した予測モデルの性能評価を行う．

2. 深 層 学 習
深層学習とは，機械学習の一種であるニューラルネットワークの階層を深めたアルゴリズムである．これを用いることにより，データの特徴をより深いレベルで学習することができる．
ニューラルネットワークとは，生物の脳の神経回路をモデルとしたアルゴリズムである．入力層，隠れ層，出力層を持ち，図 1 RNN のネットワーク図

各層は複数のノードがエッジで結ばれる構造となっており，各エッジはそれぞれ重みを持っている．出力層からの出力と正解データの誤差を計算し，それを出力層から入力層へ逆に伝播させることにより重みを更新して学習を行う．
ニューラルネットワークは，画像データを扱うのに有効なもの，時系列データを扱うのに有効なもの，クラスタリングや次元削減を行うものなどがあり，それぞれ扱うデータの特徴によって学習結果の精度が変わることがある．
近年では，深層学習を用いて心疾患患者の医療情報を解析を行い，再入院のリスクを予測し，従来基準の 2 倍以上の患者の図 2 LSTM のネットワーク図

再入院の防止や医療費の低減を実現したり，リアルタイムな人口データを用いて 30 分先のタクシーの需要を 92.9%の精度で株価の騰落の予測を行う手法を提案している．CNN は，視覚予測し，売り上げの増加に貢献するなど，社会に多大な利益を野の特徴抽出の仕組みをモデル化したもので，画像識別を行うもたらしている．のに有効である．畳み込み層によって特徴量を抽出し，プーリ2. 1 RNN

ング層によってノイズ処理を行うことによって局所ごとに特徴

RNN は，時系列データの学習に用いられるネットワークで，をまとめ，画像の特徴を学習する．株価データは時系列データ以前に計算された情報を記憶することができる（図 1）．しかであるため，株価データの予測においては時系列データを扱う

し，系列が長くなり深いネットワークになると，誤差逆伝播ののに有効な RNN や LSTM を使った予測手法が盛んであり，そアルゴリズムでは勾配の消失，発散などの問題が生じ，実際にれと比較して CNN を用いた予測は少ない．

は 2，3 ステップ前までの記憶しか保持することができない．

[3] で は ，CNN と LSTM を 組 み 合 わ せ た Convolutional

この問題を解決するために RNN を改良したモデルが Long

LSTM(ConvLSTM) を用いて降水量の予測を行なっている．

Short-Term Memory(LSTM) であり，LSTM は RNN の一種

ConvLSTM は，時系列性と空間性の両方を持つ時空間データである．LSTM は RNN に入力ゲート，出力ゲート，忘却ゲーの予測に用いられるモデルである．降水量は，位置情報を持っトを導入することにより，RNN では扱うことができなかった

た時系列データで時空間データであるため，ConvLSTM を用長期依存を扱えるようになっている（図 2）．

いた手法は精度の高い予測を実現できる手法である．

入力ゲートと出力ゲートは，必要な誤差信号だけが適切に伝本研究は，予測対象としてネットワークトラフィックを扱っ播するようにゲートの開閉を行うために導入され，忘却ゲートており，また，将来的には予測結果を用いてネットワークの制は，入力の系列パターンが変わったときに，一度学習した内容御を行うことを目指している．

を忘れてノードの状態を一気に初期化するために導入された．

また，ネットワーク障害を検知するために，SNS による集本研究で扱うパケットデータは時系列データであり，比較的合知を用いた研究が存在する．[4] では，災害時に発生する通信長いパターンを学習する必要があるため，長期の時系列データ障害を早期に検知する手法として Twitter のツイート解析を用の学習を行うのに有効である LSTM を用いてネットワークトい，解析結果に基づいて自動的にネットワーク制御を行うシスラフィックの予測を行なっている．

テムを構築している．ネットワーク障害検知システムのリアル

3. 関 連 研 究

タイム処理を行うことにより，通信障害の早期検知を実現している．この研究は，通信障害を検知する手法として SNS 情報深層学習を用いて，株価変動や降水量の予測を行う手法が存在する [1] [2] [3]．

[1] では，LSTM を用いて株価の予測を行う手法が提案されている．この研究は LSTM を用いて時系列データの学習，予測を行なっている点で，本研究と類似している．

[2] では，深層学習のモデルである CNN を用いて日経平均を用いている点で，深層学習を使用して障害検知を行うことを目指す本研究とは異なる．

4. 関 連 技 術
4. 1 Chainer
Chainer [5] とは，深層学習を行うためのライブラリである．
Chainer は，Python の制御構文をそのまま使用できるため単純なネットワーク構成から複雑なネットワーク構成まで直感的に記述できる．ネットワーク構築と学習を同時に行う方式がとられており，幅広い種類のニューラルネットワークに柔軟に対応できるため，Convolutional Neural Network(CNN)，RNNなど，様々なタイプのニューラルネットワークをシンプルに記

図3 実験環境

述できる．また，GPU を利用して高速な計算を行うことが可能であり，計算が長時間になりがちな深層学習を効率良く行えるようになっている．
本研究では Chainer を使用して深層学習を行っている．

4. 2 Wireshark
Wireshark [6] とは，ネットワークアナライザソフトウェアであり，ネットワークを流れるパケットをキャプチャして解析，表示するソフトウェアである．ネットワークを流れるパケットをリアルタイムに解析でき，解析可能なプロトコルは 800 以上と解析性能が非常に高い．PC やサーバが送受信するパケットをすべてキャプチャして可視化できるため，ネットワークにおける問題が発生した場合，問題を解決するのに役立つソフトウェアである．Wireshark はオープンソースで開発されている．

4. 3 iPerf
iPerf [7] は，ネットワークのスループットを測定するためのフリーソフトウェアである．サーバ，クライアント間で帯域などの条件を設定し，TCP，UDP のネットワーク転送性能を測定することができる．帯域を指定してトラフィックを発生させることができるため，ネットワーク負荷試験にも用いられる•ウィンドウサイズ

正解データは時刻 t+1 秒に届いたパケット数を 0〜1 に正規化した値である．また，学習時の epoch 数は 1000，隠れ層の数は 49 としている．
学習データを 3 種類取得し，それぞれのデータを用いて学習と性能評価を行う．

•

学習 1：クライアント 1 は 10MByte の帯域で 150 秒間，クライアント 2 は 100MByte の帯域で 60 秒間パケットを送信(5. 2 章)• 学習 2：クライアント 1 は 10MByte の帯域で 150 秒間，クライアント 2 は 100MByte の帯域で 20 秒間，50MByte の帯域で 20 秒間，100MByte の帯域で 20 秒間パケットを送信（5. 3 章）•

学習 3：クライアント 1 は 10MByte の帯域で 150 秒間，クライアント 2 は 10MByte の帯域で 10 秒間送信した後，10秒間パケットを送信しない時間を設け，その後 100MByte の帯域で 60 秒間パケットを送信（5. 4 章）ツールである．

5. 実

験表 1 実験で用いた計算機の性能

1

本章では，実験用マシンを用意し，iPerf を用いてトラフィックを発生させデータ取得を行い，このデータを用いた学習，性OS

Ubuntu 14.04.4LTS

CPUIntel Core i7-6700K CPU @4.00GHz

GPUGeForce GTX 1080

Memory 32Gbyte

能評価実験について説明する．

5. 1 実 験 概 要

表 2 トラフィック発生に用いた計算機の性能

本実験では，3 台のマシンを使用し，1 台をサーバ，2 台をク

OSUbuntu 14.04.5LTS

ライアントとして iPerf を用いてトラフィック発生を行う．クCPUIntel Xeon CPU E3-1270 V2 @ 3.50GHz

ライアントから UDP で帯域を指定しパケットを送信し，そのMemory 16Gbyteパケットをサーバ側でキャプチャする（図 3）．
学習を行う際の入力データと正解データの作成方法について説明する．入力データには t-9 秒〜t 秒の 10 秒間に送受信した学習に用いた計算機の性能を表 1，トラフィック発生に用いた計算機の性能を表 2 に示す．

全てのパケットそれぞれから 8 種の特徴量を導出したものとし

5. 2 学ており，詳細は以下である．

クライアント 1 で 10MByte の帯域で 150 秒間，クライアン

習1•

パケット送受信時刻

ト 2 で 100MByte の帯域で 60 秒間パケットを送信し，キャプ•

プロトコル名（TCP，UDP，ARP など）チャしたデータを学習データとする．

•

パケットサイズ•

送信元 IP アドレス

測モデルに再度この学習データを入力した際に得られる予測結•

宛先 IP アドレス

果のグラフである．

•送信元ポート番号•宛先ポート番号

図 4 は，学習データと，この学習データを用いて作成した予誤差は 0.01289 となり，学習データの特徴をうまく学習できていることがわかる．

イミングをうまく予測できることがわかる．

5. 3 学習2

クライアント 1 で 10MByte の帯域指定をして 150 秒間，クライアント 2 で 100MByte の帯域指定をして 20 秒間，50Mbyte
で 20 秒間，100MByte で 20 秒間連続でパケットを送信し，キャプチャしたデータを学習データとする．
図 7 は，学習データと，この学習データを用いて作成した予測モデルに再度この学習データを入力した際に得られる予測結果のグラフである．

図 4 学習 1 の学習データと予測結果

図 7 学習 2 の学習データと予測結果

誤差は 0.02714 となり，40 秒〜60 秒でパケット数が減るこ
図 5 学習 1 のバリデーションデータ 1 と予測結果とを正確に予測することができなかったが，20 秒〜80 秒ではパケット数が多いことが予測できているので，トラフィック集

図 5 はクライアント 2 がパケットを送信しはじめるタイミングを変更してキャプチャしたバリデーションデータ 1 と，バリ中の予測と対応をする場合には十分に役に立つ精度であると考えられる．

デーションデータ 1 を予測モデルに入力した予測結果のグラフである．誤差は 0.02254 でパケット数の増加，減少のタイミングも正確に予測できており，パケット数が増加するタイミングが変わってもうまく予測できることがわかる．

図 8 学習 2 のバリデーションデータと予測結果

図 8 はクライアント 2 がパケットを送信しはじめるタイミン
グを変更してパケットキャプチャをしたバリデーションデータ
図 6 学習 1 のバリデーションデータ 2 と予測結果と，バリデーションデータを予測モデルに入力した予測結果のグラフである．誤差は 0.03621 となり，バリデーションデータ

図 6 はクライアント 2 がパケットを送信する時間を 60 秒から 100 秒に変更してキャプチャしたバリデーションデータ 2 と，バリデーションデータ 2 を予測モデルに入力した予測結果のグラフである．誤差は 0.02487 となり，クライアント 2 がパケッ
トを送信する時間が長くなってもパケット数の増加，減少のタを用いたときもパケット数が減ることを予測することができていないが，パケット数が多いタイミングは予測できており，学習データの場合と同様に輻輳の予測と対応が目的の場合にはこの程度の精度があれば問題ないと考えられる．

5. 4 学習3

クライアント 1 で 10MByte の帯域指定をして 150 秒間パ

6. 実

験2ケットを送信，クライアント 2 で 10MByte の帯域指定をして

6. 1 実 験 概 要

10 秒間パケットを送信した後，10 秒間パケットを送信しない

本章では，学習データとして iPerf での TCP 通信時にパケッ時間を設け，その後 100MByte の帯域で 60 秒間パケットを送信し，キャプチャしたデータを学習データとする．

トを取得したデータを用いて，学習と性能評価を行なった．
本実験では，サーバ・クライアント間にダミーネットを挟み，

図 9 は，学習データとこの学習データを用いて作成した予測

遅延を 100ms，サーバ・ダミーネット間の帯域を 70Mbps としモデルに再度この学習データを入力した際に得られる予測結果た（図 11）．サーバ・クライアント間での TCP 輻輳制御アルのグラフである．

ゴリズムは Reno を用いた．

図 11 実 験 環 境

図 9 学習 3 の学習データと予測結果

入力データには t-9 秒〜t 秒の 10 秒間に送受信したパケットから 1 秒おきに以下の 5 種の特徴量を導出したものとしており，誤差は 0.01932 となり，学習データの特徴をうまく学習できていることがわかる．

詳細は以下である．

•

パケット送受信時刻 t•

パケットサイズの平均•

時刻 t に送受信したパケット数

正解データは時刻 t+1 秒に届いたパケット数を 0〜1 に正規化した値である．また，学習時の epoch 数は 5000，隠れ層の数は 49 としている．

6. 2 学習

図 10 学習 3 のバリデーションデータと予測結果

図 10 はクライアント 2 がパケットを送信しはじめる時間を変更し，クライアント 2 がパケットを送信しない時間を 10 秒から 15 秒に変更しキャプチャしたバリデーションデータと，バリデーションデータを予測モデルに入力した予測結果のグラフである．誤差は 0.04834 となり，初めにパケット数が増加する

図 12 学習データと予測結果

10 秒間の誤差が大きくなってしまうが，パケット増加のタイミングやそれ以降のパケット数の変動はうまく予測できていることがわかる．

学習モデルに再度学習データを入力した場合には，学習デー
タの特徴をうまく学習できていることがわかる（図 12）．

謝

辞本研究は一部，JST CREST JPMJCR1503 および総務省戦略的情報通信開発推進事業 (SCOPE) 先進的通信アプリケーション開発推進型研究開発によるものである．

文

図 13 バリデーションデータと予測結果

6. 3 性 能 評 価
図 13 は，作成した学習モデルにバリデーションデータを入力し性能評価を行った結果である．多少の誤差はあるが，学習データと異なるデータを入力してもほぼ正確に予測できていることがわかる．

TCP の輻輳制御では，輻輳ウィンドウ（cwnd）などのパラメータが用いられているため，入力データに cwnd を加えれば予測精度が向上すると考えられる．これらのパラメータも学習の特徴量として加えることにより，予測精度のさらなる向上を目指したいと考えている．
また，今回は複数のパターンのバリデーションデータを用いた性能評価を行っていないが，今後は様々なパターンのトラフィックデータを用意し，性能評価を行っていきたい．

7. まとめと今後の課題
深層学習のモデルで，RNN の一種である LSTM をネットワークトラフィックの予測に応用し，性能評価を行なった．

iPerf を用いてトラフィックを発生させキャプチャしたデータを用いて学習と予測を行うと，実験 1 のようなシンプルなトラフィックにおいては変動をほぼ正確に予測することができることが判明した．
実験 2 では TCP 通信時のデータを取得し，学習と性能評価を行った．TCP 通信を用いた場合においても，UDP 通信を用いた場合と同様にトラフィックをほぼ正確に予測することができた．
また，TCP では，UDP と異なり cwnd などのパラメータを用いた輻輳制御が行われている．そのため，学習の特徴量にcwnd を追加することは学習によい影響を与えるのではないかと考えられる．
今回の実験では，iPerf 通信にサーバ 1 台，クライアント 2 台の計 3 台のマシンを用いており，比較的シンプルなトラフィックでの学習，予測を行なった．今後は学習データの増加，cwndなどの学習に用いる特徴量の増加，マシンの台数を増やしての通信，実際に輻輳が起きているデータを用いるなど，より複雑なトラフィックでの実験を行いたいと考えている．

献[1] 松井藤五郎，汐月智也” LSTM を用いた株価変動予測”，第 31回人工知能学会全国大会 (JSAI 2017), 2D3-OS-19a-2 (2017).
[2] 宮崎邦洋，松尾豊” 深層学習を用いた株価予測の分析”，第 31回人工知能学会全国大会 (JSAI 2017)，2D3-OS-19a-3 (2017).
[3] 林政行，Rafik Hadfi，伊藤孝行” 深層学習を用いたマルチモーダル学習による降水量予測”，情報処理学会全国大会講演論文集，78rd,p.2.369-2.370，(2016)．
[4] 丸千尋，榎美紀，中尾彰宏，山本周，山口実靖，小口正人” 大規模災害時における SNS による集合知に基づいたネットワー
クの QoE 制御”，マルチメディア，分散，協調とモバイル (DICOMO2016) シンポジウム，pp.1418-1426, 2016 年 7 月．
[5] Tokui, S., Oono, K., Hido, S. and Clayton, J.: Chainer: aNext-Generation Open Source Frame- work for Deep Learning, In Proceedings of Work- shop on Machine Learning
Systems (LearningSys) in The Twenty-ninth Annual Conference on Neu- ral Information Processing Systems (NIPS)(2015). 6 pages.
[6] https://www.wireshark.org[7] http://dast.nlanr.net/Projects/Iperf/[8] Kaori Miki, Saneyasu Yamaguchi, and Masato Oguchi:
Kernel Monitor of Transport Layer Developed for Android
Working on Mobile Phone Terminals , Proc. ICN2011,
pp.297-302, January 2011.