(57)【要約】【課題】移動する障害物により無線通信のための見通し通信路に一時的に遮蔽が生じる環境下における合計スループットを増加させる。【解決手段】トラヒック制御装置５の行動決定部５１２は、ＡＰ２とＳＴＡ３との間の通信環境を撮像した画像データと、プロキシサーバ４の記憶部４２が記憶するＳＴＡ３宛てのデータのデータ量の情報とを用いて、ＳＴＡ３それぞれのトラヒックの組み合わせとして表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、価値に基づいて行動を決定する。通信制御部５３は、決定された行動に従ってＳＴＡ３宛てのデータが配信されるように通信を制御する。報酬計算部５２は、この制御が行われたことによるＳＴＡ３の通信状況を取得し、取得した通信状況に基づいて過去の通信状況から向上した程度を表す報酬を計算する。学習部５１３は、計算された報酬に基づいて価値関数を更新する。【選択図】図１
2019208188.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置と、前記第１通信装置と無線により通信する１台以上の第２通信装置と、第１通信装置から前記第２通信装置に送信するデータを取得する第３通信装置と、トラヒック制御装置とを有する通信システムであって、
前記トラヒック制御装置は、
前記第１通信装置と前記第２通信装置との間の通信環境を撮像した画像データと、前記第３通信装置が記憶する前記第２通信装置宛ての未送信の前記データのデータ量の情報とを用いて、前記第２通信装置それぞれのトラヒックの組み合わせにより表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、算出した前記価値に基づいて行動を決定する行動決定部と、
前記行動決定部が決定した前記行動が表す前記第２通信装置それぞれのトラヒックに従って、前記第２通信装置宛ての前記データを前記第１通信装置に送信するよう前記第３通信装置を制御する通信制御部と、
前記通信制御部による制御が行われたことによる前記第２通信装置の通信状況を取得し、取得した前記通信状況が過去の通信状況から向上した程度を表す報酬を計算する報酬計算部と、
前記報酬計算部が計算した報酬に基づいて前記価値関数を更新する学習部と、
を備え、
前記第１通信装置は、前記第３通信装置から受信した前記第２通信装置宛ての前記データを無線により前記第２通信装置へ送信する、
通信システム。
【請求項２】
第１通信装置と１台以上の第２通信装置との間の通信環境を撮像した画像データと前記第２通信装置宛ての未送信のデータのデータ量の情報とを用いて、前記第２通信装置それぞれのトラヒックの組み合わせとして表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、算出した前記価値に基づいて行動を決定する行動決定部と、
前記行動決定部が決定した前記行動が表す前記第２通信装置それぞれのトラヒックに従って、前記第１通信装置から前記第２通信装置宛ての前記データが配信されるよう通信を制御する通信制御部と、
前記通信制御部による制御が行われたことによる前記第２通信装置の通信状況を取得し、取得した前記通信状況が過去の通信状況から向上した程度を表す報酬を計算する報酬計算部と、
前記報酬計算部が計算した報酬に基づいて前記価値関数を更新する学習部と、
を備えるトラヒック制御装置。
【請求項３】
前記第２通信装置の前記通信状況は、前記第２通信装置におけるスループット、又は、前記第２通信装置宛ての前記データの送信にかかった時間を表す情報である、
請求項２に記載のトラヒック制御装置。
【請求項４】
前記価値関数は、深層ニューラルネットワークにより近似される、
請求項２又は請求項３に記載のトラヒック制御装置。
【請求項５】
前記価値関数に用いられる前記画像データは、異なるタイミングにおいて撮影された複数の画像データそれぞれの解像度を低減したのちにピクセル値を正規化したデータである、
請求項４に記載のトラヒック制御装置。
【請求項６】
前記価値関数に用いられる未送信の前記第２通信装置宛てのデータ量の情報は、複数の前記第２通信装置それぞれ宛ての未送信の前記データ量をＯｎｅ−Ｈｏｔ表現により表したベクトルを並べた情報である、
請求項４に記載のトラヒック制御装置。
【請求項７】
前記画像データは、深度画像データである、
請求項２から請求項６のいずれか一項に記載のトラヒック制御装置。
【請求項８】
第１通信装置と１台以上の第２通信装置との間の通信環境を撮像した画像データと前記第２通信装置宛ての未送信のデータのデータ量の情報とを用いて、前記第２通信装置それぞれのトラヒックの組み合わせとして表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、算出した前記価値に基づいて行動を決定する行動決定ステップと、
前記行動決定ステップにおいて決定された前記行動が表す前記第２通信装置それぞれのトラヒックに従って、前記第１通信装置から前記第２通信装置宛ての前記データが配信されるよう通信を制御する通信制御ステップと、
前記通信制御ステップによる制御が行われたことによる前記第２通信装置の通信状況を取得し、取得した前記通信状況が過去の通信状況から向上した程度を表す報酬を計算する報酬計算ステップと、
前記報酬計算ステップにおいて計算された報酬に基づいて前記価値関数を更新する学習ステップと、
を有するトラヒック制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、トラヒック制御装置及びトラヒック制御方法に関する。
【背景技術】
【０００２】
大容量かつ高速通信を実現できる次世代無線通信技術として、ミリ波通信に期待が集まっている（例えば、非特許文献１参照）。ミリ波通信の利点の一つは利用可能な周波数幅が広帯域な点であり、１Ｇｂｉｔ／ｓ（ギガビット毎秒）を超える高速通信が可能である。その一方で、ミリ波は水分や酸素による減衰が大きく、見通し通信路が人体等で遮蔽されると通信品質が急峻に低下するという欠点がある（例えば、非特許文献２参照）。この遮蔽による急峻な通信品質低下問題に対処するため、遮蔽された通信路の流量やトラヒックの経路を制御する装置が必要となる。具体的には、図９のようにＡＰ（Access Point：アクセスポイント）が複数のＳＴＡ（Station；無線局）とミリ波で通信している環境の無線通信システムにおいては、ＡＰとＳＴＡとの見通し通信路を人体が遮蔽しうる状況であり、このような状況のＡＰの無線帯域を有効利用するための制御装置が必要となる。以下では、Ｎ台（Ｎは１以上の整数）のＳＴＡを、ＳＴＡ−１〜ＳＴＡ−Ｎとも記載する。
【０００３】
ミリ波通信における通信制御問題の解決手法として、ＲＧＢ−Ｄカメラを用いた人体遮蔽予測に基づくトラヒック制御装置が提案されている（例えば、非特許文献３参照）。従来技術では、ＲＧＢ−Ｄカメラから得られた画像・動画データを用いて人体を検知し、その移動先を予測する。その移動先への移動によって人体がＡＰとＳＴＡとの見通し通信路を遮蔽する場合、遮蔽が起こる直前にＡＰとＳＴＡ間のトラヒックを停止し、遮蔽されていない通信路のトラヒックを優先して送信する。この制御によって、制御しない場合と比べて、ＡＰにおける合計スループットを増加できる。つまり、無線帯域を有効利用するためのトラヒック制御が可能となる。また、遮蔽を予測し、遮蔽が起こる直前にプロアクティブに制御をかけるため、スループットが低下してから制御をかける従来のリアクティブな制御方式と比較して、合計スループットを増加できる。
【０００４】
図１０は、非特許文献３の技術を適用したトラヒック制御装置の機能ブロック図である。同図では、ＡＰとＳＴＡ−１〜ＳＴＡ−Ｎとが無線通信する無線通信システムのプロキシサーバに、トラヒック制御装置が搭載されている。トラヒック制御装置は、画像解析部と、遮蔽判定部と、通信制御部とを備える。トラヒック制御装置を稼働させる際には、初期設定として遮蔽判定部に通信路を設定しておく。画像解析部は、ＲＧＢ−Ｄカメラから得られた画像を用いて、ミリ波通信における人体（障害物）の位置推定を行う。次に、遮蔽判定部は、推定された人体の位置とその移動速度から、予め設定した見通し通信路が人体によって遮蔽されるか否かを判定し、遮蔽されると判定した場合にはそのタイミングを推定する。
【０００５】
通信制御部は、遮蔽判定部が推定した見通し通信路の遮蔽状況に基づいて、遮蔽が起こると推定された時間にそのトラヒックを停止するようにトラヒックの流量を制御する。具体的には、通信制御部は、インターネットから受信した、見通し通信路が遮蔽されるＳＴＡ宛のパケットの送信を停止する。また、通信制御部は、遮蔽が解除されると推定された時間に、ＳＴＡ宛てのパケットの送信を再開する。このトラヒック制御によって、ＡＰは、あるＳＴＡとの通信において人体遮蔽に伴いスループットが低下するときにおいても、別のＳＴＡとの通信にリソースを割り当てることができる。よって、トラヒック制御を行わない場合と比較して、ＡＰにおける合計スループットを増加できる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】P. Wang, Y. Li, L. Song, and B. Vucetic, “Multi-gigabit millimeter wave wireless communications for 5G: From fixed access to cellular networks,” IEEE Communications Magazine, 2015年1月, vol.53, no.1, p.168−178
【非特許文献２】S. Collonge, G. Zaharia, and G.E. Zein, “Influence of the human activity on wide-band characteristics of the 60 GHz indoor radio channel,” IEEE Transactions on Wireless Communications, 2004年11月, vol.3, no.6, p.2396−2406
【非特許文献３】T. Nishio, R. Arai, K. Yamamoto, and M. Morikura, “Proactive traffic control based on human blockage prediction using RGBD cameras for millimeter-wave communications,” Proc. 2015 IEEE Consumer Communications and Networking Conference(CCNC), Las Vegas, Nevada, USA, 2015年1月, p.152−153
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献３の技術では、見通し通信路が遮蔽されそうなときにその見通し通信路を使用するＳＴＡとの通信を遮断し、別のＳＴＡとの通信にリソースを割り当てるといったルールベースの制御を行っている。この方式では、環境に合わせてルールを人手で作る必要がある。例えば、見通し通信路の遮蔽が通信品質に影響しないような環境（反射による通信路ができるような環境）では、その見通し通信路が遮蔽された場合でも通信を停止する必要がない。しかし、ミリ波通信環境は、ミリ波基地局や家具の配置によって容易に変化するため、その度に設定し直す必要がある。
【０００８】
加えて、人手では適切なルールの設計が難しい環境、例えば、遮蔽する歩行者が多数存在し到来にムラがあるような場合や、動画や音声通話などアプリケーションが異なる場合などでは、適切なトラヒック制御方策は変わることが考えられる。しかしながら、適切な制御方策を決めるのは容易ではない。
【０００９】
さらには、画像から人体認識、移動予測、見通し通信路遮蔽予測など、様々な処理を行う必要がある。それらの性能は、通信制御の性能に強く影響を与える。
【００１０】
上記事情に鑑み、本発明は、移動する障害物により無線通信のための見通し通信路に一時的に遮蔽が生じる環境下における合計スループットを増加させることができる通信システム、トラヒック制御装置及びトラヒック制御方法を提供することを目的としている。
【課題を解決するための手段】
【００１１】
本発明の一態様は、第１通信装置と、前記第１通信装置と無線により通信する１台以上の第２通信装置と、第１通信装置から前記第２通信装置に送信するデータを取得する第３通信装置と、トラヒック制御装置とを有する通信システムであって、前記トラヒック制御装置は、前記第１通信装置と前記第２通信装置との間の通信環境を撮像した画像データと、前記第３通信装置が記憶する前記第２通信装置宛ての未送信の前記データのデータ量の情報とを用いて、前記第２通信装置それぞれのトラヒックの組み合わせにより表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、算出した前記価値に基づいて行動を決定する行動決定部と、前記行動決定部が決定した前記行動が表す前記第２通信装置それぞれのトラヒックに従って、前記第２通信装置宛ての前記データを前記第１通信装置に送信するよう前記第３通信装置を制御する通信制御部と、前記通信制御部による制御が行われたことによる前記第２通信装置の通信状況を取得し、取得した前記通信状況が過去の通信状況から向上した程度を表す報酬を計算する報酬計算部と、前記報酬計算部が計算した報酬に基づいて前記価値関数を更新する学習部と、を備え、前記第１通信装置は、前記第３通信装置から受信した前記第２通信装置宛ての前記データを無線により前記第２通信装置へ送信する、通信システムである。
【００１２】
本発明の一態様は、第１通信装置と１台以上の第２通信装置との間の通信環境を撮像した画像データと前記第２通信装置宛ての未送信のデータのデータ量の情報とを用いて、前記第２通信装置それぞれのトラヒックの組み合わせとして表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、算出した前記価値に基づいて行動を決定する行動決定部と、前記行動決定部が決定した前記行動が表す前記第２通信装置それぞれのトラヒックに従って、前記第１通信装置から前記第２通信装置宛ての前記データが配信されるよう通信を制御する通信制御部と、前記通信制御部による制御が行われたことによる前記第２通信装置の通信状況を取得し、取得した前記通信状況が過去の通信状況から向上した程度を表す報酬を計算する報酬計算部と、前記報酬計算部が計算した報酬に基づいて前記価値関数を更新する学習部と、を備えるトラヒック制御装置である。
【００１３】
本発明の一態様は、上述のトラヒック制御装置であって、前記第２通信装置の前記通信状況は、前記第２通信装置におけるスループット、又は、前記第２通信装置宛ての前記データの送信にかかった時間を表す情報である。
【００１４】
本発明の一態様は、上述のトラヒック制御装置であって、前記価値関数は、深層ニューラルネットワークにより近似される。
【００１５】
本発明の一態様は、上述のトラヒック制御装置であって、前記価値関数に用いられる前記画像データは、異なるタイミングにおいて撮影された複数の画像データそれぞれの解像度を低減したのちにピクセル値を正規化したデータである。
【００１６】
本発明の一態様は、上述のトラヒック制御装置であって、前記価値関数に用いられる未送信の前記第２通信装置宛てのデータ量の情報は、複数の前記第２通信装置それぞれ宛ての未送信の前記データ量をＯｎｅ−Ｈｏｔ表現により表したベクトルを並べた情報である。
【００１７】
本発明の一態様は、上述のトラヒック制御装置であって、前記画像データは、深度画像データである。
【００１８】
本発明の一態様は、第１通信装置と１台以上の第２通信装置との間の通信環境を撮像した画像データと前記第２通信装置宛ての未送信のデータのデータ量の情報とを用いて、前記第２通信装置それぞれのトラヒックの組み合わせとして表される行動の価値を算出する価値関数により複数種類の行動それぞれの価値を算出し、算出した前記価値に基づいて行動を決定する行動決定ステップと、前記行動決定ステップにおいて決定された前記行動が表す前記第２通信装置それぞれのトラヒックに従って、前記第１通信装置から前記第２通信装置宛ての前記データが配信されるよう通信を制御する通信制御ステップと、前記通信制御ステップによる制御が行われたことによる前記第２通信装置の通信状況を取得し、取得した前記通信状況が過去の通信状況から向上した程度を表す報酬を計算する報酬計算ステップと、前記報酬計算ステップにおいて計算された報酬に基づいて前記価値関数を更新する学習ステップと、を有するトラヒック制御方法である。
【発明の効果】
【００１９】
本発明により、移動する障害物により無線通信のための見通し通信路に一時的に遮蔽が生じる環境下における合計スループットを増加させることが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態による無線通信システムの構成例を示す図である。
【図２】同実施形態によるトラヒック制御装置の処理の流れを示すフロー図である。
【図３】同実施形態によるエピソードを説明するための図である。
【図４】同実施形態によるカメラ画像から入力データへの加工を示す図である。
【図５】同実施形態によるファイル残量情報から入力データへの加工を示す図である。
【図６】同実施形態による行動評価関数の層設計を示す図である。
【図７】同実施形態によるトラヒック制御装置のシミュレーション評価の諸元を示す図である。
【図８】同実施形態によるトラヒック制御装置のシミュレーション評価結果を示す図である。
【図９】制御対象の無線通信システムの構成例を示す図である。
【図１０】従来技術によるトラヒック制御装置の機能ブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
本実施形態のトラヒック制御装置は、従来の問題点を解決するために、深層強化学習を用いる。本実施形態のトラヒック制御装置は、カメラ画像とトラヒックバッファとを「状態」として用い、その「状態」に適切な制御を試行錯誤により学習的に獲得する。強化学習とは、行動主体であるエージェントが環境に対して試行錯誤をしながら行動し、その行動に対して環境から報酬を与えられることによって、より良い方策を獲得する機械学習の一種である。エージェントは、「状態」から期待される報酬を表す価値関数に従って行動し、得られた報酬によってこの価値関数を更新する。深層強化学習では、この価値関数に畳み込みニューラルネットワーク（ＣＮＮ；Convolutional Neural Network）などのニューラルネットワークを用いて関数近似をする。これによって、状態数が膨大な問題に適用できることに加え、畳込み層を用いることで画像を入力とするような問題に対して効果を発揮する。
【００２２】
図１は、本発明の一実施形態による通信システム１を示す図である。通信システム１は、アクセスポイント（ＡＰ）２、無線局（ＳＴＡ）３と、プロキシサーバ４と、トラヒック制御装置５と、撮像装置６とを備える。Ｎ台（Ｎは１以上の整数）のＳＴＡ３のうちｎ台目（ｎは１以上Ｎ以下の整数）のＳＴＡ３を、ＳＴＡ−ｎと記載する。また、同図において、トラヒック制御装置５は、プロキシサーバ４に搭載される。同図に示す通信システム１は、図１０に示す従来のトラヒック制御装置を、トラヒック制御装置５に置き換えた構成である。
【００２３】
ＡＰ２は、１台以上のＳＴＡ３と無線通信する。ＡＰ２は、インターネット７を介して接続される通信装置からプロキシサーバ４が受信したＳＴＡ３宛てのパケットを無線により送信する。また、ＡＰ２は、インターネット７を介して接続される通信装置宛てのパケットをＳＴＡ３から無線により受信し、プロキシサーバ４に送信する。プロキシサーバ４は、ＳＴＡ３の代理としてインターネット７を介した通信を行う。撮像装置６は、例えば、ＲＧＢ−Ｄカメラである。ＲＧＢ−Ｄカメラは、ＲＧＢ画像（カラー画像）と深度画像とを撮像する。撮像装置６は、ＡＰ２と複数のＳＴＡ３との間の無線の見通し通信路と及びその周辺を含んだ環境の画像を所定周期で撮像する。撮像装置６は、撮像した画像のデータであるカメラ画像をトラヒック制御装置５に送信する。
【００２４】
プロキシサーバ４は、第１通信部４１と、記憶部４２と、第２通信部４３と、トラヒック制御装置５とを備える。第１通信部４１は、インターネット７を介して受信したＳＴＡ３宛てのファイルのパケットを受信し、ＳＴＡ３別に記憶部４２に書き込む。記憶部４２は、複数のファイルバッファを有している。ＳＴＡ３に割り当てられたファイルバッファに、当該ＳＴＡ３宛てのファイルが記憶される。１台のＳＴＡ３に対して複数のファイルバッファを割り当てることができる。１台のＳＴＡ３に対して割り当て可能なファイルバッファに上限を設けてもよい。本実施形態では、１台のＳＴＡ３に３つのファイルバッファを割り当て可能とする。第２通信部４３は、トラヒック制御装置５の制御に従って、ＳＴＡ３宛てのファイルを記憶部４２から読み出してＡＰ２に送信する。
【００２５】
トラヒック制御装置５は、強化学習部５１と、報酬計算部５２と、通信制御部５３とを備える。強化学習部５１は、加工部５１１と、行動決定部５１２と、学習部５１３とを備える。行動決定部５１２及び学習部５１３は、深層強化学習アルゴリズムの処理部である。加工部５１１は、撮像装置６から入力されたカメラ画像と、トラヒックバッファ情報とを処理に適したデータ形式に加工し、深層強化学習アルゴリズムの処理部に出力する。行動決定部５１２は、データ形式が加工されたカメラ画像とトラヒックバッファ情報とを含む「状態」に基づいて、トラヒックの制御信号を「行動」として出力する。トラヒックバッファ情報とは、プロキシサーバ４に蓄積されている各ＳＴＡ３宛ての未送信のデータのデータ量である。本実施形態では、トラヒックバッファ情報として、ファイル残量が用いられる。ファイル残量は、記憶部４２に記憶される未送信の各ＳＴＡ３宛てのファイルの容量である。学習部５１３は、出力した「行動」について報酬計算部５２が計算した報酬に基づいて、より良い制御方法を学習する。
【００２６】
報酬計算部５２は、各ＳＴＡ３のスループット及びトラヒックバッファ情報、あるいは、それらの一部から、目的に合わせて設計された報酬を出力する。通信制御部５３は、ＡＰ２と各ＳＴＡ３とのトラヒックをスケジューリングしながらＳＴＡ３宛てのファイルを配信するようプロキシサーバ４の第２通信部を制御する。これは、ミリ波通信においては、その高速通信という利点を活かし、容量の大きいファイルを送信するという実用例が想定されるためである。
【００２７】
なお、トラヒック制御装置５が、プロキシサーバ４の第１通信部４１と、記憶部４２と、第２通信部４３とのうち任意の一以上の機能部を有してもよい。また、第１通信部４１と通信制御部５３とが同一の機能部でもよく、第２通信部４３と通信制御部５３とが同一の機能部でもよく、第１通信部４１、第２通信部４３及び通信制御部５３が同一の機能部でもよい。また、トラヒック制御装置５は、プロキシサーバ４と通信ネットワークにより接続される外部の装置であってもよい。また、第１通信部４１と、記憶部４２と、第２通信部４３と、強化学習部５１と、報酬計算部５２と、通信制御部５３とのうち一以上の任意の機能部を、プロキシサーバ４及びトラヒック制御装置５とが協働して実現してもよい。
【００２８】
図２は、トラヒック制御装置５の処理の流れを示すフロー図である。
トラヒック制御装置５が起動すると、撮像装置６は、一定時間間隔で通信環境を撮影してカメラ画像を生成し、強化学習部５１へ送信する（ステップＳ１）。一方で、通信制御部５３は、各ＳＴＡ３のファイルバッファ内のファイル残量を取得し、強化学習部５１へ送信する（ステップＳ２）。加工部５１１は、撮像装置６及び通信制御部５３のそれぞれから受信したデータを深層強化学習の設計に合わせて事前処理した後、行動決定部５１２に入力する（ステップＳ３）。
【００２９】
深層強化学習では価値関数にニューラルネットワークを用いるため、加工部５１１は、カメラ画像とファイル残量情報を、設計されたニューラルネットワークに適した入力データに加工する。この価値関数のニューラルネットワークの例として、全結合層のみの単純なものや、画像認識の分野でよく用いられる畳込み層を含んだものが挙げられる。例として、価値関数が全結合層のみのニューラルネットワークの場合、加工部５１１は、カメラ画像のうち深度画像の解像度を低くした後に１次元のデータにして、各深度値を０から１までの値に正規化する。また、加工部５１１は、各ＳＴＡ３のファイルバッファに残っているファイルの容量を離散化してＯｎｅ−Ｈｏｔ表現化したファイル残量情報を生成し、入力データとする。Ｏｎｅ−Ｈｏｔ表現とは、ある要素のみが１であり、それ以外の要素が０となるベクトル表現のことである。ファイル容量を表すベクトルの各要素はそれぞれファイル容量の範囲に対応しており、ファイルバッファに残っているファイル容量に対応した要素に１が設定され、他の要素には０が設定される。
【００３０】
行動決定部５１２は、深層強化学習アルゴリズムを用いて、価値関数の出力結果に基づいて各ＳＴＡ３の通信のトラヒック（強化学習の「行動」）を決定する（ステップＳ４）。具体的には、行動決定部５１２は、カメラ画像とファイルバッファのファイル残量情報という「状態」において、とりうる「行動」のうち、それら各「行動」によって最も価値が高くなるような状態遷移を起こす「行動」（各ＳＴＡ３のトラフィック）を優先的に採用する。行動決定部５１２は、決定した各ＳＴＡ３の通信のトラヒック制御情報を通信制御部５３に送信する。これを受信した通信制御部５３は、そのトラヒック制御情報に従って、ファイルバッファに保持していたファイルをパケットに設定してＡＰ２へ送信するようプロキシサーバ４の第２通信部４３を制御する（ステップＳ５）。
【００３１】
パケット送信後、通信制御部５３は、各ＳＴＡ３宛てのバッファ内のファイル残量とその時点での各ＳＴＡ３のスループットを取得し、報酬計算部５２へ送信する（ステップＳ６）。報酬計算部５２は、受信したファイル残量及びスループット情報を用いて報酬を計算する（ステップＳ７）。報酬は、トラヒック制御の詳細な目的に合わせて設計される。詳細な目的の例としては、ＡＰ２の合計スループットの最大化、ファイル送信時間の合計の最小化等が挙げられる。ＡＰ２の合計スループットの最大化が目的の場合、報酬計算部５２は、行動決定部５１２が行動を決定し、その決定に基づいて通信制御部５３が行動する度に毎回、その時点でのＡＰ２の合計スループットを報酬として与える。ファイル送信時間の合計の最小化が目的の場合、報酬計算部５２は、行動決定部５１２が行動を決定し、その決定に基づいて通信制御部５３が行動する度に毎回、ファイルがプロキシサーバ４に到着してからＳＴＡ３へファイルの送信を完了するまでの間、負の定数を報酬として与える。つまり、報酬の累積和が、ファイル送信時間の合計に比例した値になる。
【００３２】
例えば、ＡＰ２の合計スループットの最大化が目的の場合、時間ステップｔにおける報酬ｒｔは、以下の式（１）のように算出される。
【００３３】
【数１】
2019208188.tif 000003
【００３４】
Ｔｔは時間ステップｔにおける合計スループット、ｃ（ｔ）は時間パラメータｔに応じた係数である。Σの項はこれまでの合計スループットを時間等のパラメータにより加重平均した値である。例えば、各ｃ（ｉ）を、式（１）の第２項において時間に応じた荷重平均スループットが得られるように決定してもよい。また、ｃ（ｉ）＝１（ｉはｔ以下の整数）とすると、報酬ｒｔは、以下の式（２）により算出される。
【００３５】
【数２】
2019208188.tif 000004
【００３６】
また、報酬を、式（３）に示すようにＡＰ２全体の平均のスループットＴｔ￣で正規化したスループットとしてもよく、式（４）に示すように、正規化したスループットの差分としてもよい。
【００３７】
【数３】
2019208188.tif 000005
【００３８】
【数４】
2019208188.tif 000006
【００３９】
また、以下の式（５）のように、スループットの平均からの減衰率が一定値αを下回ったときに大きな負の報酬を与えるようにしてもよい。
【００４０】
【数５】
2019208188.tif 000007
【００４１】
また、式（１）〜式（５）におけるスループットを、ミリ波通信の物理伝送速度に置き換えてもよい。
【００４２】
報酬計算部５２は、計算した報酬を強化学習部５１に送信する。強化学習部５１は、通知された報酬に基づいて、深層強化学習アルゴリズムによって価値関数を更新していくことで学習を進める（ステップＳ８）。
【００４３】
この一連の動作を繰り返すことにより、強化学習部５１は、入力された報酬の累積和が最大となるように学習を進めながら各ＳＴＡ３のトラヒックのトラヒックを決定していく。従って、学習が進むに連れてトラヒック制御装置５を設置した環境に適応したトラヒック制御方法を自動的に獲得する。
【００４４】
トラヒック制御装置５は、複数エピソードを実施した結果に基づいて、上記の処理を行い、行動評価関数を学習する。図３は、エピソードを説明するための図である。エピソードとは、記憶部４２におけるファイルバッファ内のファイルが全て送信完了するまでの一連の流れを表す。プロキシサーバ４は、トラヒック制御装置５の通信制御部５３の制御に従って、ファイルバッファに記憶されるファイルを、ＡＰ２を介して各ＳＴＡ３へ送信していき、ファイルバッファ内のファイルを全て送信し終えた時点で１エピソードの終了とする。１エピソードの途中ではファイルは追加されない。エピソードが進むに連れて、本実施形態のトラヒック制御装置５の学習も進む。なお、学習する上限数をあらかじめ決めておき、エピソードが上限数に達した場合には学習を終了してもよい。
【００４５】
価値関数として用いられる深層ニューラルネットワーク（ＣＮＮ）の入力データ及び層設計の例を説明する。
図４は、ステップＳ３におけるカメラ画像から入力データへの加工を示す図である。強化学習部５１は、１秒間における過去５枚分のカメラ画像に含まれる深度画像データをそれぞれ２０×２０ピクセルの二次元画像データに圧縮する。強化学習部５１は、５枚の深度画像データそれぞれを圧縮して得られた５チャネルの二次元画像をＣＮＮへの入力データとする。
【００４６】
図５は、ステップＳ３におけるファイル残量情報から入力データへの加工を示す図である。まず、各ファイルの残量を複数段階に離散化する。ここでは、ファイル容量の最大値が２０００Ｍｂｉｔ（メガビット）であり、１０段階に離散化する場合を例とする。この場合、ファイル残量情報として用いられるＯｎｅ−Ｈｏｔ表現のベクトルの各要素を、[（０−２００Ｍｂｉｔ），（２００−４００Ｍｂｉｔ），（４００−６００Ｍｂｉｔ），（６００−８００Ｍｂｉｔ），…，（１８００−２０００ｂｉｔ）]と定める。記憶部４２から取得したＳＴＡ−ｎ（ｎは１以上Ｎ以下の整数）のファイル残量が容量７００Ｍｂｉｔである場合、ファイル残量情報はベクトル［０，０，０，１，０，０，０，０，０，０］と表される。強化学習部５１、ＳＴＡ−１、ＳＴＡ−２、…、ＳＴＡ−Ｎについて生成したファイル残量情報を表すベクトルを並べて結合し、入力データとする。
【００４７】
図６は、ＣＮＮの層設計を示す図である。なお、「Ａｆｆｉｎｅ，ａ−ｂ」は、ａ次元ベクトルを全結合層に入力し、ｂ次元ベクトルを出力する演算を表す。「ｋ×ｌ  ２Ｄ  Ｃｏｎｖｅｒｓｉｏｎ，ａ−ｂ」は、ｋ×ｌの二次元フィルタにより、ａチャネルの入力を畳み込み、ｂチャネルにして出力する演算を表す。また、「ｋ×ｌ  ２Ｄ  Ｍａｘ  Ｐｏｏｌｉｎｇ」は、サイズがｋ×ｌのグリッドに入力を分割し、各グリッドの最大値を代表値として出力する演算を表す。「ＲｅＬＵ」は、活性化関数ＲｅＬＵ（Rectified Linear Units）に入力する演算を表す。活性化関数ＲｅＬＵは、マイナスの値を０に変換する。
【００４８】
入力層では、図３に示した処理により５チャネルの二次元画像（5 Channels 2D Image）を生成する。さらに、入力層では、図４に示した処理により各ＳＴＡ３のファイル残量をＯｎｅ−Ｈｏｔ表現のベクトルに変換し、結合して６０次元ベクトルを生成する。
【００４９】
隠れ層には、１ａ層〜８ａ層と、１ｂ層〜２ｂ層と、８ａ層及び２ｂ層の出力を入力とする９層とがある。
１ａ層では、５チャネルの二次元画像（5 Channels 2D Image）を、５×５の二次元フィルタにより畳み込み、２０チャネルにして出力する。２ａ層では、２０チャネルの１ａ層の出力を活性化関数ＲｅＬＵに入力し、マイナスの値を取り除く。３ａ層では、２０チャネルの２ａ層の出力を２×２のグリッドに分割し、各グリッドの最大値を出力する。４ａ層では、２０チャネルの３ａ層の出力を、５×５の二次元フィルタにより畳み込み、５０チャネルにして出力する。５ａ層では、５０チャネルの４ａ層の出力を活性化関数ＲｅＬＵに入力し、マイナスの値を取り除く。６ａ層では、５０チャネルの５ａ層の出力を２×２のグリッドに分割し、各グリッドの最大値を出力する。７ａ層では、６ａ層の１２５０次元ベクトルを全結合層に入力し、５００次元ベクトルを出力する。８ａ層では、７ａ層の出力を活性化関数ＲｅＬＵに入力し、マイナスの値を取り除く。
【００５０】
一方、１ｂ層では、各ＳＴＡ３のファイル残量に基づいて得られた６０次元ベクトルを全結合層に入力し、１００次元ベクトルを出力する。なお、ＳＴＡ３の台数Ｎと、Ｏｎｅ−Ｈｏｔ表現のベクトルの要素数との乗算が６０であるとする。２ｂ層では、１ｂ層の出力を活性化関数ＲｅＬＵに入力し、マイナスの値を取り除く。
【００５１】
９層では、８ａ層の出力及び２ｂ層の出力を併せた６００次元ベクトルを全結合層に入力し、各行動の評価値を得る。出力層は、各行動の評価値を出力する。各行動は、各ＳＴＡ３との通信をＯＮにするかＯＦＦにするかの組み合わせでもよく、Ｎ台のＳＴＡ３それぞれのトラヒック量の組み合わせでもよい。同図では、２台のＳＴＡ３それぞれとの通信をＯＮにするかＯＦＦにするかの組み合わせから、２台ともＯＦＦの組み合わせを除いたものである。つまり、（ＳＴＡ−１，ＳＴＡ−２）を（ＯＮ，ＯＮ）、（ＯＮ，ＯＦＦ）、（ＯＦＦ，ＯＮ）とする３種類の行動である。この３種類の行動それぞれの評価値を得るため、９層からは３次元ベクトルが出力される。
【００５２】
なお、Ｃｏｎｖｅｒｓｉｏｎ層については、入力層に近いところにおいては画像から特徴量抽出するフィルタが学習されることが期待され、出力層に近いところでは特徴量から値を予測するフィルタが学習されることを期待される。ＲｅＬＵは、活性化関数として広く用いられる。ＲｅＬＵは、他の活性化関数（シグモイド関数など）とくらべて、経験的に学習速度が早く、性能が高くなることが知られている。また、Ｍａｘ  Ｐｏｏｌｉｎｇ層は、Ｃｏｎｖｅｒｓｉｏｎ層を通すことにより増大したパラメータ数を削減することで学習時間を短縮するために使用される。Ａｆｆｉｎｅ層は、ＣＮＮにより抽出された特徴量から値を予測することを期待して使用される。ＣＮＮのみで構成するような層設計と比較して、学習時間の短縮が期待できることが経験的に知られている。
【００５３】
学習部５１３は、価値関数として用いられるＣＮＮを更新する。具体的には、学習部５１３は、報酬計算部５２により計算される報酬に基づいて、全結合層における重みを更新する。例えば、行動決定部５１２において、ＡＰ２とＳＴＡ−１の通信ＯＮ、ＡＰ２とＳＴＡ−２の通信ＯＦＦという結果が得られた場合、通信制御部５３は、ＡＰ２とＳＴＡ−１との通信のみをＯＮにするよう制御を行う。例えば、通信制御部５３は、ＳＴＡ−１宛てのファイルをＡＰ２に出力し、ＳＴＡ−２宛てのファイルをＡＰ２に出力しないようにプロキシサーバ４の第２通信部４３を制御する。あるいは、プロキシサーバ４の第２通信部４３を介して、ＡＰ２に対してＳＴＡ−１との通信を行い、ＳＴＡ−２との通信を行わないよう制御信号を送信してもよい。しかしながら、このような制御を行っても、ＡＰ２とＳＴＡ−１間で遮蔽が発生している、マルチパスで反射が発生しているなど、実際はＡＰ２とＳＴＡ−１間の伝搬路の状態が悪い場合、通信速度は低くなる。極端な例として、ＡＰ２とＳＴＡ−１間に金属の壁があり、ＳＴＡ−１にまったく電波が届かない場合は、通信がＯＮの状態でもスループットは０Ｍｂｉｔ／ｓとなる。学習部５１３は、そのようなことが発生しないように、各ＳＴＡ３のＯＮ／ＯＦＦを制御するための学習を行うことができる。
【００５４】
本実施形態のトラヒック制御装置５によれば、カメラ画像を入力とした深層強化学習によりトラヒック制御を行い、様々な通信環境に自動的に適応して無線帯域を有効利用することが可能となる。また、通信端末やカメラの設置環境が変化した際にも、変化した環境に適応して自動的にトラヒックを制御することが可能となる。特に、ミリ波通信機能を搭載した無線ＬＡＮ（Local Area Network）ルータと、複数のミリ波通信端末とが接続された通信システムにおいて、人体遮蔽が起こりうる状況に有用である。また、無線ＬＡＮルータやミリ波通信端末の設置環境が変化する場合にも対応可能である。
【００５５】
トラヒック制御装置５の実測データを用いたシミュレーション評価について述べる。図７は、シミュレーション評価の諸元を示す図である。このシミュレーション評価では、１台のＡＰ２に、２台のＳＴＡ３を接続した場合を想定し、本実施形態のトラヒック制御を行った場合と、ファイル送信完了ごとに交互に送信宛先を切り替えるラウンドロビン方式で制御を行った場合のＡＰにおける合計スループットを得た。ＡＰ２は、ミリ波ＡＰである。シミュレーションで用いるミリ波通信の見通し通信時、遮蔽時のスループット及びカメラ画像は実機実験から測定した値を用いた。カメラ画像は、ＲＧＢ−Ｄカメラで撮影した画像のデータを用いた。また、ＡＰ２及びＳＴＡ３も市販のものを用いた。
【００５６】
図８は、シミュレーション評価結果を示す図である。同図は、本実施形態のトラヒック制御を行った場合とラウンドロビン方式で制御を行った場合のエピソード数に対する合計スループットの推移を示す。同図のグラフにおけるＡＰ２の合計スループットとして、各エピソードにおけるＡＰ２の合計スループットの時間平均として表示している。このシミュレーションでは、プロキシサーバ４のファイルバッファには最初、ファイルがランダムなサイズで与えられ、ＡＰ２を通して各ＳＴＡ３へファイルを送信していく。ファイルバッファ内のファイルを全て送信し終えた時点で１エピソードが終了する。同図に示す評価結果から、エピソードが進み、トラヒック制御装置５の学習が進むに連れて、ラウンドロビン方式による制御を行った場合のスループットよりも、本実施形態のトラヒック制御を行った場合の合計スループットが上回っていることがわかる。
【００５７】
以上説明した実施形態によれば、通信システムは、第１通信装置と、第１通信装置と無線により通信する１台以上の第２通信装置と、第１通信装置から第２通信装置に送信するデータを取得する第３通信装置と、トラヒック制御装置とを有する。例えば、第１通信装置はＡＰ２であり、第２通信装置はＳＴＡ３であり、第３通信装置はプロキシサーバ４である。
【００５８】
トラヒック制御装置は、行動決定部と、通信制御部と、報酬計算部と、学習部とを有する。行動決定部は、第１通信装置と第２通信装置との間の通信環境を撮像した画像データと、第３通信装置が記憶する第２通信装置宛ての未送信のデータのデータ量の情報とを用いて、第２通信装置それぞれのトラヒックの組み合わせにより表される行動の価値を算出する価値関数により、複数種類の行動それぞれの価値を算出する。価値関数は、深層ニューラルネットワークにより近似されてもよい。この場合、深層ニューラルネットワークに入力される画像データは、異なるタイミングにおいて撮影された複数の画像データそれぞれの解像度を低減したのちにピクセル値を正規化したデータである。また、深層ニューラルネットワークに入力される未送信の第２通信装置宛てのデータ量の情報は、複数の第２通信装置それぞれ宛ての未送信のデータ量をＯｎｅ−Ｈｏｔ表現により表したベクトルを並べた情報である。行動決定部は、算出した価値に基づいて行動を決定する。
【００５９】
通信制御部は、行動決定部が決定した行動が表す第２通信装置それぞれのトラヒックに従って、第２通信装置宛てのデータを第１通信装置に送信するよう第３通信装置を制御する。報酬計算部は、通信制御部による制御が行われたことによる第２通信装置の通信状況を取得し、取得した通信状況が過去の通信状況から向上した程度を表す報酬を計算する。第２通信装置の通信状況は、第２通信装置におけるスループット、又は、第２通信装置宛てのデータの送信にかかった時間を表す。学習部は、計算された報酬に基づいて価値関数を更新する。第１通信装置は、第３通信装置から受信した第２通信装置宛てのデータを無線により第２通信装置に送信する。
【００６０】
上述した実施形態におけるトラヒック制御装置５の機能をコンピュータで実現するようにしてもよい。その場合、トラヒック制御装置５はこの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００６１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００６２】
無線通信を行う通信システムに利用可能である。
【符号の説明】
【００６３】
１…通信システム、  ２…アクセスポイント、  ３…無線局、  ４…プロキシサーバ、  ５…トラヒック制御装置、  ６…撮像装置、  ７…インターネット、  ４１…第１通信部、  ４２…記憶部、  ４３…第２通信部、  ５１…強化学習部、  ５２…報酬計算部、  ５３…通信制御部、  ５１１…加工部、  ５１２…行動決定部、  ５１３…学習部
【図１】
2019208188.tif 000008
【図２】
2019208188.tif 000009
【図３】
2019208188.tif 000010
【図４】
2019208188.tif 000011
【図５】
2019208188.tif 000012
【図６】
2019208188.tif 000013
【図７】
2019208188.tif 000014
【図８】
2019208188.tif 000015
【図９】
2019208188.tif 000016
【図１０】
2019208188.tif 000017