機械学習を活用した時系列データ予測モデルのAndroid 端末への導入に関する一検討
佐藤 里香

1

（指導教員：小口 正人）

はじめにFlow によりトレーニングされたモデルを TFLite Converter を使って TensorFlow Lite 形式に変換し, デバイスに組み込むことでデバイス上で推論を行うことができる. 本研究ではこの TensorFlow Lite を用いて時系列データ学習モデルを Android 端末に組み込むことを目指す.

近年スマートフォンの普及が急速に進み, 大容量通信が行われるようになったことから, モバイル無線通信だけでなく公衆無線 LAN などの無線 LAN への接続需要が高まっているが, そういった無線環境下ではパケットロスやトラフィックの輻輳が問題となっている.
この輻輳は突発的に生じ, 一度起こると制御が難しい上にコントロールしようとするとさらに輻輳が悪化してしまうことがあるため, 輻輳が起こる前に予測していくことが望ましい. また, 輻輳予知に関して, データを端末外に出すセキュリティ上の問題やデータ転送に要する時間等課題から, 端末内で処理することが好ましいと言える.
そこで本研究では, 深層学習によりトラフィックの輻輳を予知し, 事前にスマートフォン端末上で制御を行って端末からの送信データ量を調整することにより輻輳回避することを最終目的とする. そのためにはスマートフォンのようなリソースの限られた端末で, 十分な精度の予測をリアルタイムに行うことが必要となる.
そこでまずサーバ機などの性能の高いマシン上でトラフィックの輻輳を深層学習により予測し, そのモデルを Android 端末に導入してサーバ機と同等の精度や処理速度で予測できるようにすることを目指す. 本稿ではまず端末におけるトラフィックをサーバ機上で深層学習により予測した結果を示し, またその学習モデルをスマートフォン端末に組み込める形式に変換できることを確認した.

2

5.1

実験概要

5.2

実験結果

図 1, 3, 5, 7, 9 は 5 台の各端末において, 学習データを入力として与え予測を行った結果であり, 図 2, 4, 6,8, 10 はテストデータを入力として与え予測を行った結果である. また, 青のグラフが正解データの値で, オレンジのグラフが予測データの値である. どのデータも過去 10 秒間の値のみを参考にしているが高い正確度で予測できており, 特に学習データについて正確度が高いのが分かる. テストデータの予測に関しては学習データの予測に比べ正確度が劣っているが, スループットの増減のタイミングは正しく予測することができていることが分かる. このことより, LSTM を用いたスループット予測による輻輳制御の可能性が示されたと言える.

関連研究

RNN(recurrent neural networks)

ディープラーニングの一種である RNN(リカレントニューラルネットワーク) は, データ間に繋がりのある時系列データの扱いに特化したモデルであり, 自己回帰構造により前の情報を取り入れた解析を行うことができる. RNN の一種である LSTM(Long short-termmemory) はある程度長い期間のデータの関連性も学習を行うことができる. 本研究ではこの LSTM を用いて機械学習を行う.

4

LSTM によるトラフィック予測

本実験では, Android 端末 5 台のパケット通信時のスループットデータを LSTM を用いてサーバ上にて予測した. 入力データは t – 10 秒から t – 1 秒の 10 秒間のスループットの値とし, この入力データから t 秒でのスループットの値を予測する. また, 計 181 秒間の通信のうち, 7 割を学習データ, 3 割をテストデータとしてepoch 数 300 で学習を行った.

先行研究 [1] では, 複数台の Android 端末が同一の無線 LAN アクセスポイントに接続する際に, 端末間で輻輳の状態を把握し協調して輻輳を制御するという取り組みが行われた. この先行研究も本研究と同様 Android端末上で無線 LAN トラフィックの輻輳を制御することを目的としたものであるが, 輻輳を認識してから制御を行う先行研究に対し, 本研究では深層学習により輻輳が生じる前に輻輳を予知し制御を行うという点で先行研究とは異なる.

35TensorFlow Lite

TensorFlow Lite[2] は Google の機械学習向けソフトウェアライブラリである. TensorFlow Lite では, Tensor-

図 1: 学習データによる

図 2: テストデータによる予測 (端末 1)

予測 (端末 1)

図 3: 学習データによる

図 4: テストデータによる予測 (端末 2)33

予測 (端末 2)

表 1 より, TensorFlow Lite 形式変換後のモデルにおいても, 予測値は 10−6 〜10−7 程度の誤差にとどまっていることが確認できた.今後はこのモデルを端末に組み込んで利用することを目指す.

6.2

図 5: 学習データによる予測 (端末 3)

図 6: テストデータによる予測 (端末 3)

予測精度の向上

端末のスループットデータの予測に関しては, 文献[3] などにて, より複雑な条件下でのより高い精度を目指した予測に関する考察が行われている. これら既存研究の成果を利用していくことによりさらに高い正確度の予測が実現できると考えられる.

7 まとめと今後の課題

図 7: 学習データによる

図 8: テストデータによる予測 (端末 4)

予測 (端末 4)

図 9: 学習データによる予測 (端末 5)

図 10: テストデータによる予測 (端末 5)

本研究では, 時系列データの予測モデルを Android 端末に導入し, 端末内で輻輳を事前に予知して輻輳を制御することを最終目標とし, 本稿では深層学習により端末のパケット通信時のスループットの予測を行った.
過去 10 秒間のスループットデータのみを参考にしてスループットの値を予測するという簡易な条件下での予測で, 正確度の高い予測を行うことができることが確認された. また, 実験により作成したスループットデータの予測モデルを TensorFlow Lite 形式に変換を行い,当モデルを端末内部で処理することが可能であることが確認された.
今後の課題としては, 今回作成した予測モデルを Android 端末内にアプリケーションという形で 組み込んで端末上で利用できるようにすること, また, 端末に組み込んだ際にもサーバ上で予測を行った時と同等の精度や処理速度を達成し, リアルタイムかつ高い精度での予測が行えるのかどうかを検証していきたいと考えている.

6 端末内深層学習予測処理

謝辞

前章にて端末外のサーバにおいてスループットの予測が可能であることが示された. 本予測を端末内で行
うには, 当該モデルの TFLite 形式への変換, TFLite による端末内予測の実行, 予測精度の向上などが重要と考えられる.

本研究を進めるにあたって, 工学院大学の山口実靖先生及び九州大学の神山剛先生に多大なご指導を賜りました. 深く感謝いたします.

参考文献[1] Ai Hayakawa, Saneyasu Yamaguchi, and MasatoOguchi. Reducing the TCP ACK Packet Backlog atthe WLAN Access Point. Proc. ACM IMCOM2015,
5-4, January 2015.

6.1 学習モデルの変換
5 章で作成したスループットの深層学習モデルをTFLite Converter を用いて TensorFlow Lite 対応形式に変換を行い, 変換が可能であることが確認された.
この TensorFlow Lite 形式に変換された学習モデル
により, TFLite Interpreter を用いてサーバ上で予測を行い, その結果を変換前のモデルでの予測結果と比較した.

[2] Tensorﬂowlite, https://www.tensorﬂow.org/lite?hl=ja.
[3] Yamamoto A. et al. (2019) Prediction of TraﬃcCongestion on Wired and Wireless Networks Using
RNN. Proceedings of the 13th International Conference on Ubiquitous Information Management andCommunication (IMCOM) 2019. IMCOM 2019.
Advances in Intelligent Systems and Computing,vol 935. Springer, Cham

表 1: TF Lite 変換前と変換後の予測結果の比較 (抜粋)
変換前
変換後
6.3142195 6.3142195

6.149592

4.8584166

4.8584156

6.896998

6.896997

5.6945457

5.6945453

5.817004
5.790179

5.817004
5.7901793

5.4197235

5.4197235

5.865675

5.8656754

0.2046532

0.2046533

4.0009217

4.0009212-1.0414042

5.984577

5.9845777

6.149592-1.041405

34