IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-システム、方法及び制御装置 図1
  • 特許-システム、方法及び制御装置 図2
  • 特許-システム、方法及び制御装置 図3
  • 特許-システム、方法及び制御装置 図4
  • 特許-システム、方法及び制御装置 図5
  • 特許-システム、方法及び制御装置 図6
  • 特許-システム、方法及び制御装置 図7
  • 特許-システム、方法及び制御装置 図8
  • 特許-システム、方法及び制御装置 図9
  • 特許-システム、方法及び制御装置 図10
  • 特許-システム、方法及び制御装置 図11
  • 特許-システム、方法及び制御装置 図12
  • 特許-システム、方法及び制御装置 図13
  • 特許-システム、方法及び制御装置 図14
  • 特許-システム、方法及び制御装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】システム、方法及び制御装置
(51)【国際特許分類】
   H04L 41/16 20220101AFI20221206BHJP
   H04L 47/10 20220101ALI20221206BHJP
【FI】
H04L41/16
H04L47/10
【請求項の数】 10
(21)【出願番号】P 2021550735
(86)(22)【出願日】2019-09-30
(86)【国際出願番号】 JP2019038458
(87)【国際公開番号】W WO2021064770
(87)【国際公開日】2021-04-08
【審査請求日】2022-03-23
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100141519
【弁理士】
【氏名又は名称】梶田 邦之
(72)【発明者】
【氏名】沢辺 亜南
(72)【発明者】
【氏名】岩井 孝法
(72)【発明者】
【氏名】小林 航生
【審査官】宮島 郁美
(56)【参考文献】
【文献】特表2010-539760(JP,A)
【文献】特表2019-526107(JP,A)
【文献】特開2018-142199(JP,A)
【文献】特開2019-29856(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/16
H04L 47/10
(57)【特許請求の範囲】
【請求項1】
通信ネットワークの状態に関する状態情報を取得する取得手段と、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
を含むシステム。
【請求項2】
前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項1に記載のシステム。
【請求項3】
前記通信ネットワークの前記状態を判定する判定手段をさらに含む、請求項1又は2に記載のシステム。
【請求項4】
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、請求項1~3のいずれか1項に記載のシステム。
【請求項5】
前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
請求項4に記載のシステム。
【請求項6】
通信ネットワークの状態に関する状態情報を取得することと、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
を含む方法。
【請求項7】
前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項6に記載の方法。
【請求項8】
前記通信ネットワークの前記状態を判定することをさらに含む、請求項6又は7に記載の方法。
【請求項9】
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、請求項6~8のいずれか1項に記載の方法。
【請求項10】
通信ネットワークの状態に関する状態情報を取得する取得手段と、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
を備える制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、システム、方法及び制御装置に関する。
【背景技術】
【0002】
通信環境が変化するネットワークにおいて、通信環境に適した制御パラメータを自動で設定することは、非常に重要である。当該制御パラメータを自動で設定するための手法として、機械学習(machine learning)が期待されている。当該機械学習の一種として、強化学習(reinforcement learning)が知られている。
【0003】
例えば、特許文献1には、無線通信ネットワークの制御パラメータを自動で設定するために強化学習を使用する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-026980号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、シンプルな手法として、単一の機械学習ベースのコントローラ(machine learning based controller)を用いて、機械学習を行い、通信環境に適した制御パラメータを自動で設定することが考えられる。
【0006】
しかし、適切な制御パラメータは通信環境によって異なるので、通信環境が変化するネットワーク(例えば、無線ネットワーク)において単一の機械学習ベースのコントローラを使用すると、最適な制御パラメータの発見、及び、制御パラメータの収束に、多大な時間がかかり得る。また、たとえ制御パラメータが収束したとしても、収束後の制御パラメータの精度は低くなり得る。
【0007】
本開示の目的は、通信ネットワークにおいて通信環境に適した通信制御を行うことをより容易にするシステム、方法及び制御装置を提供することにある。
【課題を解決するための手段】
【0008】
本開示の一態様に係るシステムは、通信ネットワークの状態に関する状態情報を取得する取得手段と、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、を含む。
【0009】
本開示の一態様に係る方法は、通信ネットワークの状態に関する状態情報を取得することと、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、を含む。
【0010】
本開示の一態様に係る制御装置は、通信ネットワークの状態に関する状態情報を取得する取得手段と、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、を備える。
【発明の効果】
【0011】
本発明によれば、通信ネットワークにおいて通信環境に適した通信制御を行うことがより容易になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
【図面の簡単な説明】
【0012】
図1】強化学習の概略を説明するための図である。
図2】Qテーブルの一例を説明するための図である。
図3】第1の実施形態に係るシステムの概略的な構成の一例を示す図である。
図4】第1の実施形態に係る制御装置の概略的な機能構成の例を示すブロック図である。
図5】第1の実施形態に係る制御装置の概略的なハードウェア構成の例を示すブロック図である。
図6】第1の実施形態に係る各機械学習ベースのコントローラの学習条件の例を説明するための図である。
図7】第1の実施形態に係るニューラルネットワークの構成の例を説明するための図である。
図8】第1の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。
図9】第1の実施形態に係る通信ネットワークの状態の判定の手法の例を説明するための図である。
図10】第1の実施形態に係る制御装置の動作の一例を説明するための図である。
図11】第1の実施形態の第4の変形例に係る制御装置の動作の第1の例を説明するための図である。
図12】第1の実施形態の第4の変形例に係る制御装置の動作の第2の例を説明するための図である。
図13】第1の実施形態の第4の変形例に係る制御装置の動作の第3の例を説明するための図である。
図14】第2の実施形態に係るシステムの概略的な構成の一例を示す図である。
図15】第2の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。
【発明を実施するための形態】
【0013】
以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
【0014】
説明は、以下の順序で行われる。
1.関連技術
2.第1の実施形態
2.1.システムの構成
2.2.制御装置の構成
2.3.機械学習ベースのコントローラの特徴
2.4.機械学習ベースのコントローラの選択
2.5.変形例
3.第2の実施形態
【0015】
<<1.関連技術>>
図1及び図2を参照して、本開示の実施形態に関連する技術として、機械学習の一種である強化学習を説明する。
【0016】
図1は、強化学習の概略を説明するための図である。図1を参照すると、強化学習では、エージェント(agent)81は、環境(environment)83の状態(state)を観測し、観測した状態から行動(action)を選択する。エージェント81は、当該環境の下での当該行動の選択により、環境83から報酬(reward)を得る。このような一連の動作の繰り返しにより、エージェント81は、環境83の状態に応じてどのような行動が最も大きい報酬をもたらすかを学習することができる。即ち、エージェント81は、報酬を最大化するために、環境に応じて選択すべき行動を学習することができる。
【0017】
強化学習の一例として、Q学習がある。Q学習では、例えば、環境83の各状態について各行動がどの程度の価値があるかを示すQテーブルが用いられる。エージェント81は、Qテーブルを用いて、環境83の状態に応じて行動を選択する。さらに、エージェント81は、当該行動の選択に応じて得られる報酬に基づいて、Qテーブルを更新する。
【0018】
図2は、Qテーブルの一例を説明するための図である。図2を参照すると、環境83の状態として、状態A(State A)及び状態B(State B)があり、エージェント81の行動として、行動A(Action A)及び行動B(Action B)がある。Qテーブルは、各状態において各行動をとった場合の価値を示す。例えば、状態Aにおいて行動Aをとることの価値はqAAであり、状態Aにおいて行動Bをとることの価値はqABである。状態Bにおいて行動Aをとることの価値はqBAであり、状態Bにおいて行動Bをとることの価値はqBBである。例えば、エージェント81は、各状態において、価値が最も高い行動をとる。一例として、qAAがqABよりも高い場合に、エージェント81は、状態Aにおいて行動Aをとる。なお、Qテーブル内の価値(qAA、qAB、qBA及びqBB)は、行動の選択に応じて得られる報酬に基づいて更新される。
【0019】
強化学習では、上述したように各状態において価値が最も高い行動をとることは、「利用(exploitation)」と呼ばれる。「利用」のみにより学習が行われると、各状態においてとられる行動は限定されるので、学習結果は、最適解ではなく局所最適解となり得る。そのため、強化学習では、「利用」と「探索(exploration)」とにより学習が行われる。「探索」は、各状態においてランダムに選択された行動をとることを意味する。例えば、Epsilon-Greedy法では、確率εで「探索」が選択され、確率1-εで「利用」が選択される。「探索」により、例えば、ある状態において、価値が不明である行動が選択され、その結果、当該ある状態における当該行動の価値を知ることができる。このような「探索」により、学習結果として最適解を得られる可能性が高くなる。
【0020】
<<2.第1の実施形態>>
図3図9を参照して、本開示の第1の実施形態を説明する。
【0021】
<2.1.システムの構成>
図3は、第1の実施形態に係るシステム1の概略的な構成の一例を示す。図3を参照すると、システム1は、通信ネットワーク10及び制御装置100を含む。
【0022】
(1)通信ネットワーク10
通信ネットワーク10は、データを転送する。例えば、通信ネットワーク10は、ネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)と回線とを含み、当該ネットワーク機器の各々が、回線を介してデータを転送する。
【0023】
通信ネットワーク10は、有線ネットワークであってもよく、又は、無線ネットワークであってもよい。あるいは、通信ネットワーク10は、有線ネットワーク及び無線ネットワークの両方を含んでもよい。無線ネットワークは、例えば、LTE(Long Term Evolution)又は5G(5th Generation)等の通信回線規格を用いた移動体通信ネットワークであってもよいし、無線LAN(Local Area Network)又はローカル5Gのような特定のエリアで用いるネットワークであってよい。有線ネットワークは、例えば、LAN、WAN(Wide Area Network)又はインターネット等であってもよい。
【0024】
(2)制御装置100
制御装置100は、通信ネットワーク10のための制御を行う。
【0025】
例えば、制御装置100は、通信ネットワーク10における通信を制御するための複数の機械学習ベースのコントローラを含む。当該複数の機械学習ベースのコントローラは、後に詳細に説明する。
【0026】
例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。
【0027】
なお、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第1の実施形態の第4の変形例として後に詳細に説明する。
【0028】
<2.2.制御装置の構成>
(1)機能構成
図4は、第1の実施形態に係る制御装置100の概略的な機能構成の例を示すブロック図である。図4を参照すると、制御装置100は、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、複数の機械学習ベースのコントローラ160(機械学習ベースのコントローラ160A、160B及び160C等)(例えば、N個の機械学習ベースのコントローラ160)、パラメータ設定手段170及び通信処理手段180を備える。
【0029】
観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び通信処理手段180の各々の動作は、後に説明する。
【0030】
なお、機械学習ベースのコントローラ160は、区別が必要である場合には、例えば図4に示されるように「機械学習ベースのコントローラ160A」、「機械学習ベースのコントローラ160B」又は「機械学習ベースのコントローラ160C」等と表現され得る。一方、機械学習ベースのコントローラ160は、区別が不要である場合には、単に「機械学習ベースのコントローラ160」と表現される。
【0031】
(2)ハードウェア構成
図5は、第1の実施形態に係る制御装置100の概略的なハードウェア構成の例を示すブロック図である。図5を参照すると、制御装置100は、プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250を備える。プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250は、バス260を介して互いに接続されている。
【0032】
プロセッサ210は、メインメモリ220から読み出されるプログラムを実行する。一例として、プロセッサ210は、CPU(Central Processing Unit)である。
【0033】
メインメモリ220は、プログラム及び各種データを記憶する。一例として、メインメモリ220は、RAM(Random Access Memory)である。
【0034】
ストレージ230は、プログラム及び各種データを記憶する。一例として、ストレージ230は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。
【0035】
通信インタフェース240は、他の装置との通信のためのインタフェースである。一例として、通信インタフェース240は、ネットワークアダプタ又はネットワークインタフェースカードである。
【0036】
入出力インタフェース250は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインタフェースである。
【0037】
観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び通信処理手段180の各々は、プロセッサ210及びメインメモリ220により実装されてもよく、又は、プロセッサ210、メインメモリ220及び通信インタフェース240により実装されてもよい。
【0038】
当然ながら、制御装置100のハードウェア構成はこの例に限定されない。制御装置100は、他のハードウェア構成により実装されてもよい。
【0039】
あるいは、制御装置100は、仮想化されていてもよい。即ち、制御装置100は、仮想マシンとして実装されてもよい。この場合に、制御装置100(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。当然ながら、制御装置100(仮想マシン)は、複数の物理マシンに分散され、動作してもよい。
【0040】
制御装置100は、プログラム(命令)を記憶するメモリ(メインメモリ220)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ210)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び/又は通信処理手段180の動作を行ってもよい。上記プログラムは、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び/又は通信処理手段180の動作をプロセッサに実行させるためのプログラムであってもよい。
【0041】
<2.3.機械学習ベースのコントローラの特徴>
上記複数の機械学習ベースのコントローラ160(例えば、N個の機械学習ベースのコントローラ160)の各々は、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラである。
【0042】
(1)機械学習ベースのコントローラ160の動作
例えば、上記複数の機械学習ベースのコントローラ160の各々は、強化学習ベースのコントローラである。この場合に、上記複数の機械学習ベースのコントローラ160の各々は、強化学習のエージェントとして動作し、例えば、入力される状態に基づいて行動を出力する。
【0043】
例えば、通信ネットワーク10が、強化学習の「環境」であり、通信ネットワーク10の状態が、強化学習の「状態」(即ち、強化学習の入力)である。例えば、通信ネットワーク10の制御パラメータの変更(例えば、通信ネットワーク10の制御パラメータの増加若しくは減少、又は、通信ネットワーク10の制御パラメータの特定の値への変更)が、強化学習の「行動」(即ち、強化学習の出力)である。即ち、機械学習ベースのコントローラ160は、観測された通信ネットワーク10の状態から、通信ネットワーク10の制御パラメータの変更を選択する。また、機械学習ベースのコントローラ160は、通信ネットワーク10の制御パラメータの変更(強化学習の「行動」)の選択により、報酬を得る。なお、通信ネットワーク10の状態は、通信ネットワーク10における通信の状態とも言える。
【0044】
上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。この場合に、例えば、機械学習ベースのコントローラ160は、制御装置100において観測される通信ネットワーク10の状態から、制御装置100の制御パラメータの変更を選択し、出力する。制御装置100(パラメータ設定手段170)は、選択された当該制御パラメータの当該変更に従って、変更された制御パラメータを制御装置100において設定する。その結果、制御装置100(通信処理手段180)は、当該変更された制御パラメータに従って、データ(例えば、パケット)を転送する。このように、機械学習ベースのコントローラ160は、例えば制御パラメータの変更を選択することにより、通信ネットワーク10における通信を制御する。
【0045】
なお、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第1の実施形態の第4の変形例として後に詳細に説明する。
【0046】
上述したような機械学習ベースのコントローラ160の動作によれば、例えば、制御パラメータを自動で設定することが可能になる。
【0047】
(2)強化学習の「状態」と「行動」の例
上述したように、例えば、通信ネットワーク10の状態が、強化学習の「状態」(即ち、強化学習の入力)であり、通信ネットワーク10の制御パラメータの変更が、強化学習の「行動」(即ち、強化学習の出力)である。ここでは、強化学習の「状態」及び「行動」のさらに具体的な例を説明する。
【0048】
-第1の例
第1の例として、機械学習ベースのコントローラ160は、通信ネットワーク10におけるTCP(Transmission Control Protocol)フローの制御のために使用される。この場合に、強化学習の「状態」及び「行動」は、例えば以下のようなものである。
[状態]アクティブフロー数、可用帯域、及び/又は、
IP(Internet Protocol)の過去のバッファサイズ
[行動]送信バッファサイズの増加又は減少
【0049】
-第2の例
第2の例として、機械学習ベースのコントローラ160は、通信ネットワーク10における動画トラフィックの流量の制御のために使用される。この場合に、強化学習の「状態」及び「行動」は、例えば以下のようなものである。
[状態]動画のQoE(Quality of Experience)
(例えば、動画のビットレート、及び/又は、動画の解像度)
[行動]スループットの上限の増加又は減少
【0050】
-第3の例
第3の例として、機械学習ベースのコントローラ160は、ロボット制御のために使用される。この場合に、強化学習の「状態」及び「行動」は、例えば以下のようなものである。
[状態]パケット到着間隔及び/又はパケットサイズの統計値
(例えば、最大値、最小値、平均値又は標準偏差など)
[行動]パケット送信間隔の増加又は減少
【0051】
-その他
当然ながら、第1の実施形態に係る強化学習の「状態」及び「行動」は、上述した例に限定されない。
【0052】
強化学習の「状態」は、上述したように例えば通信ネットワーク10の状態であるが、より具体的には、通信ネットワーク10のいずれかのプロトコルレイヤ(TCP、UDP(User Datagram Protocol)、IP又はMAC(Medium Access Control))での状態であってもよい。
【0053】
強化学習の「行動」は、例えば通信ネットワーク10の制御パラメータの変更であるが、より具体的には、通信ネットワーク10のいずれかのプロトコルレイヤ(TCP、UDP、IP又はMAC)の制御パラメータの変更であってもよい。
【0054】
なお、例えば、上記複数の機械学習ベースのコントローラ160は、同一形式の状態を強化学習の入力として有し、同一形式の行動を強化学習の出力として有する。ただし、第1の実施形態はこの例に限定されない。この点については第1の実施形態の第1の変形例として後に詳細に説明する。
【0055】
(3)機械学習ベースのコントローラ160間の相違点
例えば、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる1つ以上の他の機械学習ベースのコントローラ160とは異なる学習条件を有する。即ち、上記複数の機械学習ベースのコントローラ160の中で、学習条件に相違がある。
【0056】
より具体的には、例えば、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる他の全ての機械学習ベースのコントローラ160と異なる学習条件を有する。換言すると、上記複数の機械学習ベースのコントローラ160の各々は、固有の(unique)学習条件を有する。例えば、上記複数の機械学習ベースのコントローラ160の各々は、通信ネットワーク10の対象状態(例えば、対象の輻輳状態)に適した固有の(unique)学習条件を有する。換言すると、上記複数の機械学習ベースのコントローラ160に含まれる機械学習ベースのコントローラ160は、当該機械学習ベースのコントローラ160に対応する通信ネットワーク10の状態に応じた学習条件を有する。
【0057】
このように学習条件が異なる機械学習ベースのコントローラ160により、例えば、通信ネットワーク10の様々な状態に適した学習及び制御を行うことが可能になる。
【0058】
(4)学習条件
例えば、上記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む。
【0059】
図6は、第1の実施形態に係る各機械学習ベースのコントローラ160の学習条件の例を説明するための図である。図6を参照すると、N個の機械学習ベースのコントローラ160の各々の学習条件が示されている。当該学習条件は、探索確率下限、パラメータ変更量及びニューラルネット構成を含む。
【0060】
上記探索確率下限は、強化学習における探索の確率の下限である。上述したように、強化学習では、「利用」と「探索」とにより学習が行われ、例えば、Epsilon-Greedy法では、確率εで「探索」が選択され、確率1-εで「利用」が選択される。このような場合には、上記探索確率下限は、確率εの下限である。一例として、図6のレベル1の機械学習ベースのコントローラ160については、探索確率下限が0.2なので、確率εは0.2以上となる。
【0061】
上記パラメータ変更量は、強化学習におけるパラメータの変更量である。上述したように、例えば、強化学習の行動は、通信ネットワーク10の制御パラメータの変更であり、上記パラメータ変更量は、強化学習の行動として当該制御パラメータを変更する量である。例えば、上記パラメータ変更量が大きければ、制御パラメータを最適値に大幅に近づけることができ、上記パラメータ変更量が小さければ、制御パラメータを最適値にきめ細かく近づけることができる。
【0062】
上記ニューラルネット構成は、強化学習におけるニューラルネットワークの構成である。図7は、第1の実施形態に係るニューラルネットワークの構成の例を説明するための図である。図7を参照すると、ニューラルネットワークは、複数の層を含む。例えば、ニューラルネットワークにおける層の数を多くすることにより、入力(即ち、状態)と出力(即ち、行動)との複雑な関係をより適切に表すことができる。例えば、ニューラルネットワークにおける層の数を少なくする(層を浅くする)ことにより、より少ない計算を通じて、入力(即ち、状態)と出力(即ち、行動)との関係を表すことができる。
【0063】
(5)機械学習ベースのコントローラ160の数
例えば、制御装置100(コントローラ設定手段150)は、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ160の数(例えばN)を決定する。
【0064】
-決定の手法
例えば、制御装置100(コントローラ設定手段150)は、通信ネットワーク10の観測の結果(例えば、通信ネットワーク10における輻輳レベルのレンジ)に基づいて、機械学習ベースのコントローラ160の数(例えばN)を決定する。
【0065】
あるいは、制御装置100(コントローラ設定手段150)は、通信ネットワーク10において制御装置100を使用するために人間により設定された情報(例えば、機械学習ベースのコントローラ160の数を示す情報)に基づいて、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。
【0066】
なお、機械学習ベースのコントローラ160の数の決定の手法は、これらの例に限定されない。
【0067】
-決定のタイミング
例えば、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の使用の開始前に、機械学習ベースのコントローラ160の数(例えばN)を予め決定する。
【0068】
さらに、又は、あるいは、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の使用の開始後に、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。一例として、通信ネットワーク10の構成が変更された場合等に、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。別の例として、機械学習ベースのコントローラ160における学習が適切に収束しない場合に、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。
【0069】
-決定後の処理
例えば、多数の機械学習ベースのコントローラ160が予め用意されている。この場合に、例えば、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(N)の決定後に、上記多数の機械学習ベースのコントローラ160のうちのN個の機械学習ベースのコントローラ160を起動(activate)する。
【0070】
あるいは、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(N)の決定後に、N個の機械学習ベースのコントローラ160を生成してもよい。
【0071】
例えば上述したように、機械学習ベースのコントローラ160の数が決定される。これにより、例えば、通信ネットワーク10に適した数の機械学習ベースのコントローラ160を選択的に使用することが可能になる。その結果、例えば、通信ネットワーク10の通信がより適切に制御され得る。
【0072】
(6)実装
一例として、上記複数の機械学習ベースのコントローラ160(例えば、N個の機械学習ベースのコントローラ160)は、それぞれ別々のソフトウェアとして実装される。
【0073】
別の例として、上記複数の機械学習ベースのコントローラ160は、それぞれ共通のソフトウェアと別々のライブラリとにより実装されてもよい。
【0074】
さらに別の例として、上記複数の機械学習ベースのコントローラ160は、それぞれ別々のハードウェアとして実装されてもよい。
【0075】
<2.4.機械学習ベースのコントローラの選択>
制御装置100(選択手段140)は、通信ネットワーク10における通信を制御するための複数の機械学習ベースのコントローラ160のうちの1つを選択する。即ち、制御装置100(選択手段140)は、上記複数の機械学習ベースのコントローラ160の中から、通信ネットワーク10における通信の制御に使用する1つの機械学習ベースのコントローラ160を選択する。
【0076】
図8は、第1の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。以下、図8を参照して、機械学習ベースのコントローラ160の選択のための動作を説明する。
【0077】
(1)観測(S310)
例えば、制御装置100(観測手段110)は、通信ネットワーク10を観測する(S310)。
【0078】
より具体的には、例えば、制御装置100(観測手段110)は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を観測する。例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器であり、観測される上記スループットは、制御装置100におけるスループットであり、観測される上記パケットロス率は、制御装置100におけるパケットロス率である。
【0079】
例えば、制御装置100(観測手段110)は、通信ネットワーク10についての観測情報を生成する。当該観測情報は、通信ネットワーク10の観察の結果を示す。より具体的には、例えば、上記観測情報は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を示す。
【0080】
(2)判定(S320)
例えば、制御装置100(判定手段120)は、通信ネットワーク10の状態を判定する(S320)。
【0081】
-通信ネットワーク10の状態
例えば、判定される上記状態は、通信ネットワーク10の輻輳状態である。即ち、制御装置100(判定手段120)は、通信ネットワーク10の輻輳状態を判定する。
【0082】
より具体的には、例えば、判定される上記輻輳状態は、通信ネットワーク10の輻輳レベルである。即ち、制御装置100(判定手段120)は、通信ネットワーク10の輻輳レベルを判定する。一例として、輻輳レベルとして、1からNのレベルが予め定義され、制御装置100(判定手段120)は、通信ネットワーク10の輻輳レベルが1からNのどのレベルであるかを判定する。
【0083】
なお、ここで判定される上記状態(通信ネットワーク10の状態)は、あくまで機械学習ベースのコントローラ160の選択のために判定される状態であり、機械学習ベースのコントローラ160の強化学習の入力である「状態」を意味しない、ということに留意すべきである。
【0084】
-判定手法
例えば、制御装置100(判定手段120)は、上記観測情報に基づいて、通信ネットワーク10の状態を判定する。
【0085】
上述したように、例えば、上記観測情報は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を示す。この場合に、制御装置100(判定手段120)は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率に基づいて、通信ネットワーク10の状態(例えば、輻輳レベル)を判定する。
【0086】
図9は、第1の実施形態に係る通信ネットワーク10の状態の判定の手法の例を説明するための図である。スループットに基づいて輻輳レベルが判定される場合には、スループットが100Mbpsよりも大きければ、輻輳レベルはレベル1であると判定され、スループットが50Mbpsよりも大きく100Mbps以下であれば、輻輳レベルはレベル2であると判定される。一方、パケットロス率に基づいて輻輳レベルが判定される場合には、パケットロス率が0.001よりも小さければ、輻輳レベルはレベル1であると判定され、パケットロス率が0.001以上であり0.01よりも小さければ、輻輳レベルはレベル2であると判定される。
【0087】
図9の例において、スループット及びパケットロス率の両方に基づいて輻輳レベルが判定されてもよい。この場合に、一例として、スループットのみに基づいて判定されるレベルと、パケットロス率のみに基づいて判定されるレベルとのうち、より高いレベルが、輻輳レベルとして判定されてもよい。
【0088】
図9の例では、より高いレベルが、より激しい輻輳を意味している。
【0089】
なお、通信ネットワーク10の状態を判定する手法はこの例に限定されない。判定手法の他の例は、第1の実施形態の第2の変形例として後に詳細に説明する。
【0090】
-状態情報
例えば、制御装置100(判定手段120)は、通信ネットワーク10の上記状態(即ち、判定された状態)に関する状態情報を生成する。
【0091】
例えば、上記状態情報は、通信ネットワーク10の上記状態(即ち、判定された状態)を示す。より具体的には、例えば、上記状態情報は、通信ネットワーク10の上記輻輳レベル(即ち、判定された輻輳レベル)を示す。
【0092】
なお、上記状態情報はこの例に限定されない。この点については、第1の実施形態の第3の変形例として後に詳細に説明する。
【0093】
(3)選択(S330)
制御装置100(取得手段130)は、上記状態情報を取得する。制御装置100(選択手段140)は、上記状態情報に基づいて、上記複数の機械学習ベースのコントローラ160のうちの1つを選択する(S330)。即ち、制御装置100(選択手段140)は、上記状態情報に基づいて、上記複数の機械学習ベースのコントローラ160の中から、通信ネットワーク10における通信の制御に使用する1つの機械学習ベースのコントローラ160を選択する。換言すると、制御装置100(選択手段140)は、上記状態情報に基づいて、通信ネットワーク10における通信の制御に使用する機械学習ベースのコントローラ160を切り替える。このような選択により、上記複数の機械学習ベースのコントローラは、通信ネットワーク10における通信の制御のために選択的に使用される。
【0094】
例えば、上記複数の機械学習ベースのコントローラ160は、それぞれ、通信ネットワーク10の異なる状態(例えば、異なる輻輳レベル)に対応する。この場合に、制御装置100(選択手段140)は、上記状態情報により示される通信ネットワーク10の上記状態(上記輻輳レベル)に対応する機械学習ベースのコントローラ160を選択する。
【0095】
具体的には、例えば、図6に示されるように、上記複数の機械学習ベースのコントローラ160は、1からNの輻輳レベルにそれぞれ対応するN個の機械学習ベースのコントローラ160である。この場合に、制御装置100(選択手段140)は、上記状態情報により示される上記輻輳レベルに対応する機械学習ベースのコントローラ160を選択する。図6に示されるように、より高い輻輳レベルに対応する機械学習ベースのコントローラ160は、より高い探索確率下限を有し、より多くの層を伴うニューラルネットワーク構成を有する。
【0096】
以上のように、通信ネットワークの状態(例えば輻輳レベル)ごとに、機械学習ベースのコントローラ160が用意され、選択的に使用される。そのため、各機械学習ベースのコントローラ160は、ターゲットとする状態(例えば輻輳レベル)でのみ使用され、ターゲットとする状態(例えば輻輳レベル)に専用の学習及び制御を行うことができる。よって、通信ネットワークの状態(例えば輻輳レベル)が変化する場合でも、各機械学習ベースのコントローラ160では、多大な時間を要することなく、最適な制御パラメータが発見され、制御パラメータが収束し得る。また、収束後の制御パラメータの精度は高くなり得る。このように、通信ネットワーク10において通信ネットワークの状態(即ち、通信環境)に適した制御を行うことがより容易になる。
【0097】
なお、選択された機械学習ベースのコントローラ160は、通信ネットワーク10における通信の制御に使用される。具体的には、例えば、選択された機械学習ベースのコントローラ160は、上述したように、例えば、入力される通信ネットワーク10の状態に基づいて制御パラメータの変更を選択し、変更された制御パラメータを制御装置100において設定する。
【0098】
<2.5.変形例>
第1の実施形態の第1~第5の変形例を説明する。なお、第1~第5の変形例のうちの2つ以上の変形例が組み合せられてもよい。
【0099】
(1)第1の変形例
上述したように、例えば、上記複数の機械学習ベースのコントローラ160は、同一形式の状態を強化学習の入力として有し、同一形式の行動を強化学習の出力として有する。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の状態及び行動の形式に相違はない。しかし、第1の実施形態はこの例に限定されない。
【0100】
-入力される状態の相違
第1の実施形態の第1の変形例では、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる1つ以上の他の機械学習ベースのコントローラ160とは異なる形式の状態を強化学習の入力として有してもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の状態の形式に相違があってもよい。
【0101】
一例として、上記異なる形式の状態は、異なる量の状態であってもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の状態の量に相違があってもよい。具体的には、例えば、機械学習ベースのコントローラ160Aは、直近の1回の観測により得られた状態(即ち、1つの状態)を強化学習の入力として有してもよく、機械学習ベースのコントローラ160Bは、直近の2回の観測により得られた状態(即ち、同一の種類の2つの状態)を強化学習の入力として有してもよい。
【0102】
-出力される行動の相違
第1の実施形態の第1の変形例では、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる1つ以上の他の機械学習ベースのコントローラ160とは異なる形式の行動を強化学習の出力として有してもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の行動の形式に相違があってもよい。
【0103】
一例として、上記異なる形式の行動は、通信ネットワーク10の異なる制御パラメータの変更であってもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、行動として変更する制御パラメータに相違があってもよい。具体的には、例えば、機械学習ベースのコントローラ160Aは、送信バッファサイズの変更を強化学習の行動として有してもよく、機械学習ベースのコントローラ160Bは、送信バッファサイズ及びスループットの変更を強化学習の行動として有してもよい。
【0104】
-機械学習ベースのコントローラ160間の相違点
第1の実施形態の第1の変形例では、上記複数の機械学習ベースのコントローラ160の各々は、学習条件、強化学習の状態の形式、及び、強化学習の行動の形式のいずれかの点で、他の全ての機械学習ベースのコントローラ160の各々と異なっていてもよい。即ち、上記複数の機械学習ベースのコントローラ160の各々は、学習条件、強化学習の状態の形式、及び、強化学習の行動の形式の組合せの観点から、上記複数の機械学習ベースのコントローラ160の中で固有(unique)であってもよい。
【0105】
(2)第2の変形例
上述したように、機械学習ベースのコントローラ160の選択のために、制御装置100(判定手段120)は、例えば、通信ネットワーク10についての観測情報に基づいて、通信ネットワーク10の状態を判定する。しかし、第1の実施形態に係る判定はこの例に限定されない。
【0106】
第1の実施形態の第2の変形例では、制御装置100(判定手段120)は、時間帯ごとの通信ネットワーク10の状態を示す情報(以下、「時間帯状態情報」と呼ぶ)に基づいて、通信ネットワーク10の状態を判定してもよい。
【0107】
一例として、上記時間帯状態情報は、12時から13時の時間帯(通信ネットワーク10が混在する時間帯)の輻輳レベルとして、レベルN(最も激しい輻輳を意味するレベル)を示す。ここでは明示しないが、当然ながら、上記時間帯状態情報は、他の時間帯の輻輳レベルも示す。
【0108】
例えば、上記時間帯状態情報は、予め定められ、制御装置100に記憶される。上記時間帯状態情報は、手動で予め定められてもよく、統計情報に基づいて自動で予め定められてもよい。
【0109】
このような判定により、通信ネットワーク10の観測なしで、通信ネットワーク10の状態を判定することが可能になる。
【0110】
(3)第3の変形例
上述したように、機械学習ベースのコントローラ160の選択のために、通信ネットワーク10の状態に関する状態情報が用いられ、例えば、当該状態情報は、通信ネットワーク10の状態を示す。しかし、第1の実施形態に係る状態情報はこの例に限定されない。
【0111】
第1の実施形態の第3の変形例では、上記状態情報は、通信ネットワーク10の状態そのものを示さなくてもよい。例えば、上記状態情報は、通信ネットワーク10の状態そのものを示さないが、通信ネットワーク10の状態に対応する情報であってもよい。
【0112】
一例として、上記状態情報は、通信ネットワーク10の輻輳レベルそのものを示さないが、通信ネットワーク10の輻輳レベルに対応するインデックスであってもよい。
【0113】
(4)第4の変形例
上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である(図10を参照)。また、上述したように、例えば、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、変更された制御パラメータを制御装置100において設定する(図10を参照)。しかし、第1の実施形態に係る制御装置100はこの例に限定されない。
【0114】
-第1の例
第1の実施形態の第4の変形例では、第1の例として、図11に示されるように、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器そのものではなく、通信ネットワーク10内でデータを転送するネットワーク機器30を制御する装置(例えば、ネットワークコントローラ)であってもよい。
【0115】
制御装置100(観測手段110)は、通信ネットワーク10を自ら観測せず、ネットワーク機器30が、通信ネットワーク10を観測してもよい。制御装置100(観測手段110)は、通信ネットワーク10についての観測情報をネットワーク機器30から取得してもよい。
【0116】
図11に示されるように、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、変更された制御パラメータをネットワーク機器30に設定させてもよい。一例として、制御装置100(パラメータ設定手段170)は、制御パラメータの変更を示すパラメータ情報(例えば、制御パラメータの変更を指示するコマンド)をネットワーク機器30へ送信し、ネットワーク機器30は、当該パラメータ情報に基づいて、変更された制御パラメータを設定してもよい。その結果、ネットワーク機器30は、当該変更された制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
【0117】
-第2の例
第2の例として、図12に示されるように、ネットワークコントローラ50が、通信ネットワーク10内でデータを転送するネットワーク機器40を制御し、制御装置100は、ネットワークコントローラ50を制御又は支援(assist)する装置であってもよい。
【0118】
制御装置100(観測手段110)は、通信ネットワーク10を自ら観測せず、ネットワーク機器40が、通信ネットワーク10を観測してもよい。制御装置100(観測手段110)は、通信ネットワーク10についての観測情報をネットワーク機器40又はネットワークコントローラ50から取得してもよい。
【0119】
図12に示されるように、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、制御パラメータの変更を示す第1のパラメータ情報(例えば、制御パラメータの変更を指示するコマンド、又は、制御パラメータの変更を教える支援情報)をネットワークコントローラ50へ送信してもよい。さらに、ネットワークコントローラ50は、当該第1のパラメータ情報に基づいて、制御パラメータの変更を示す第2のパラメータ情報(例えば、制御パラメータの変更を指示するコマンド)をネットワーク機器40へ送信し、ネットワーク機器40は、当該第2のパラメータ情報に基づいて、変更された制御パラメータを設定してもよい。その結果、ネットワーク機器40は、当該変更された制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
【0120】
-第3の例
第3の例として、図13に示されるように、ネットワークコントローラ70が、通信ネットワーク10内でデータを転送するネットワーク機器60を制御し、制御装置100は、ネットワークコントローラ70を制御する装置であってもよい。
【0121】
制御装置100(観測手段110)は、通信ネットワーク10を自ら観測せず、ネットワーク機器60が、通信ネットワーク10を観測してもよい。制御装置100(観測手段110)は、通信ネットワーク10についての観測情報をネットワーク機器60又はネットワークコントローラ70から取得してもよい。
【0122】
図13に示されるように、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、変更された制御パラメータをネットワークコントローラ70に設定させてもよい。一例として、制御装置100(パラメータ設定手段170)は、制御パラメータの変更を示すパラメータ情報(例えば、制御パラメータの変更を指示するコマンド)をネットワークコントローラ70へ送信し、ネットワークコントローラ70は、当該パラメータ情報に基づいて、変更された制御パラメータを設定してもよい。その結果、ネットワークコントローラ70は、当該変更された制御パラメータに従って、ネットワーク機器60を制御してもよく、ネットワーク機器60は、ネットワークコントローラ70による制御に従って、データ(例えば、パケット)を転送してもよい。
【0123】
(5)第5の変形例
上述したように、例えば、制御装置100は、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、複数の機械学習ベースのコントローラ160、パラメータ設定手段170及び通信処理手段180を備える。しかし、第1の実施形態に係る制御装置100はこの例に限定されない。
【0124】
第1の実施形態の第5の変形例では、例えば、観測手段110は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、制御装置100は、通信ネットワーク10についての観測情報を当該他の装置から受信してもよい。さらに、例えば、判定手段120も、制御装置100に含まれず、上記他の装置に含まれてもよい。この場合に、制御装置100は、通信ネットワーク10の状態に関する状態情報を上記他の装置から受信してもよい。例えば、第4の変形例のような場合に、観測手段110(及び判定手段120)が、制御装置100に含まれず、他の装置(例えば、ネットワーク機器又はネットワークコントローラ)に含まれてもよい。
【0125】
第1の実施形態の第5の変形例では、例えば、コントローラ設定手段150は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、機械学習ベースのコントローラ160の数(例えばN)は、当該他の装置により決定されてもよい。
【0126】
第1の実施形態の第5の変形例では、例えば、上記複数の機械学習ベースのコントローラ160は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、制御装置100は、選択した機械学習ベースのコントローラ160を当該他の装置に通知してもよい。パラメータ設定手段170も、制御装置100に含まれず、上記他の装置に含まれてもよい。なお、機械学習ベースのコントローラ160が制御装置100に含まれない場合には、第4の変形例における説明において、「制御装置100」は、「機械学習ベースのコントローラ160を含む装置」に置き換えられてもよい。
【0127】
第1の実施形態の第5の変形例では、例えば、パラメータ設定手段170は、複数の機械学習ベースのコントローラ160の各々に含まれていてもよい。即ち、複数の機械学習ベースのコントローラ160の各々は、上述したパラメータ設定手段170の動作を行ってもよい。
【0128】
第1の実施形態の第5の変形例では、例えば、データ(例えば、パケット)を転送する通信処理手段180は、制御装置100に含まれず、他の装置に含まれてもよい。例えば、第4の変形例のような場合に、通信処理手段180が、制御装置100に含まれず、ネットワーク機器に含まれてもよい。
【0129】
<<3.第2の実施形態>>
続いて、図14及び図15を参照して、本開示の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
【0130】
図14は、第2の実施形態に係るシステム2の概略的な構成の一例を示す。図14を参照すると、システム2は、取得手段400及び選択手段500を含む。
【0131】
図15は、第2の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。
【0132】
取得手段400は、通信ネットワークの状態に関する状態情報を取得する(S610)。
【0133】
選択手段500は、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する(S620)。
【0134】
上記通信ネットワーク、上記通信ネットワークの上記状態、上記状態情報、及び、上記複数の機械学習ベースのコントローラについての説明は、例えば、第1の実施形態におけるこれらについての説明と同じである。また、機械学習ベースのコントローラの選択についての説明も、例えば、第1の実施形態における説明と同じである。よって、ここでは重複する説明を省略する。なお、当然ながら、第2の実施形態は、第1の実施形態の例に限定されない。
【0135】
以上のように、機械学習ベースのコントローラが選択される。これにより、通信ネットワークにおいて通信環境に適した通信制御を行うことがより容易になる。
【0136】
以上、本開示の実施形態を説明したが、本開示はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本開示のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
【0137】
例えば、本明細書に記載されている処理におけるステップは、必ずしもフローチャートに記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、フローチャートとして記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
【0138】
また、本明細書において説明したシステム又は制御装置の構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable recording medium)が提供されてもよい。当然ながら、このような方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本開示に含まれる。
【0139】
上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0140】
(付記1)
通信ネットワークの状態に関する状態情報を取得する取得手段と、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
を含むシステム。
【0141】
(付記2)
前記状態情報は、前記通信ネットワークの前記状態を示す、付記1に記載のシステム。
【0142】
(付記3)
前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記1又は2に記載のシステム。
【0143】
(付記4)
前記通信ネットワークの前記輻輳状態は、前記通信ネットワークの輻輳レベルである、付記3に記載のシステム。
【0144】
(付記5)
前記通信ネットワークの前記状態を判定する判定手段をさらに含む、付記1~4のいずれか1項に記載のシステム。
【0145】
(付記6)
前記判定手段は、前記通信ネットワークについての観測情報に基づいて、前記通信ネットワークの前記状態を判定する、付記5に記載のシステム。
【0146】
(付記7)
前記観測情報は、前記通信ネットワークにおけるスループット、又は、前記通信ネットワークにおけるパケットロス率を示す、付記6に記載のシステム。
【0147】
(付記8)
前記判定手段は、時間帯ごとの前記通信ネットワークの状態を示す情報に基づいて、前記通信ネットワークの前記状態を判定する、付記5に記載のシステム。
【0148】
(付記9)
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、付記1~8のいずれか1項に記載のシステム。
【0149】
(付記10)
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる学習条件を有する、付記1~9のいずれか1項に記載のシステム。
【0150】
(付記11)
前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
付記9又は10に記載のシステム。
【0151】
(付記12)
前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の状態を強化学習の入力として有する、
付記1~11のいずれか1項に記載のシステム。
【0152】
(付記13)
前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の行動を強化学習の出力として有する、
付記1~12のいずれか1項に記載のシステム。
【0153】
(付記14)
前記1つ以上の他の機械学習ベースのコントローラは、前記複数の機械学習ベースのコントローラに含まれる他の全ての機械学習ベースのコントローラである、付記10~13のいずれか1項に記載のシステム。
【0154】
(付記15)
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定するコントローラ設定手段をさらに含む、付記1~14のいずれか1項に記載のシステム。
【0155】
(付記16)
通信ネットワークの状態に関する状態情報を取得することと、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
を含む方法。
【0156】
(付記17)
前記状態情報は、前記通信ネットワークの前記状態を示す、付記16に記載の方法。
【0157】
(付記18)
前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記16又は17に記載の方法。
【0158】
(付記19)
前記通信ネットワークの前記輻輳状態は、前記通信ネットワークの輻輳レベルである、付記18に記載の方法。
【0159】
(付記20)
前記通信ネットワークの前記状態を判定することをさらに含む、付記16~19のいずれか1項に記載の方法。
【0160】
(付記21)
前記通信ネットワークについての観測情報に基づいて前記通信ネットワークの前記状態を判定することをさらに含む、付記16~20のいずれか1項に記載の方法。
【0161】
(付記22)
前記観測情報は、前記通信ネットワークにおけるスループット、又は、前記通信ネットワークにおけるパケットロス率を示す、付記21に記載の方法。
【0162】
(付記23)
時間帯ごとの前記通信ネットワークの状態を示す情報に基づいて前記通信ネットワークの前記状態を判定することをさらに含む、付記16~20のいずれか1項に記載の方法。
【0163】
(付記24)
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、付記16~23のいずれか1項に記載の方法。
【0164】
(付記25)
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる学習条件を有する、付記16~24のいずれか1項に記載の方法。
【0165】
(付記26)
前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
付記24又は25に記載の方法。
【0166】
(付記27)
前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の状態を強化学習の入力として有する、
付記16~26のいずれか1項に記載の方法。
【0167】
(付記28)
前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の行動を強化学習の出力として有する、
付記16~27のいずれか1項に記載の方法。
【0168】
(付記29)
前記1つ以上の他の機械学習ベースのコントローラは、前記複数の機械学習ベースのコントローラに含まれる他の全ての機械学習ベースのコントローラである、付記25~28のいずれか1項に記載の方法。
【0169】
(付記30)
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定することをさらに含む、付記16~29のいずれか1項に記載の方法。
【0170】
(付記31)
通信ネットワークの状態に関する状態情報を取得する取得手段と、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
を備える制御装置。
【0171】
(付記32)
前記状態情報は、前記通信ネットワークの前記状態を示す、付記31に記載の制御装置。
【0172】
(付記33)
前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記31又は32に記載の制御装置。
【0173】
(付記34)
前記通信ネットワークの前記輻輳状態は、前記通信ネットワークの輻輳レベルである、付記33に記載の制御装置。
【0174】
(付記35)
前記通信ネットワークの前記状態を判定する判定手段をさらに備える、付記31~34のいずれか1項に記載の制御装置。
【0175】
(付記36)
前記判定手段は、前記通信ネットワークについての観測情報に基づいて、前記通信ネットワークの前記状態を判定する、付記35に記載の制御装置。
【0176】
(付記37)
前記観測情報は、前記通信ネットワークにおけるスループット、又は、前記通信ネットワークにおけるパケットロス率を示す、付記36に記載の制御装置。
【0177】
(付記38)
前記判定手段は、時間帯ごとの前記通信ネットワークの状態を示す情報に基づいて、前記通信ネットワークの前記状態を判定する、付記35に記載の制御装置。
【0178】
(付記39)
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、付記31~38のいずれか1項に記載の制御装置。
【0179】
(付記40)
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる学習条件を有する、付記31~39のいずれか1項に記載の制御装置。
【0180】
(付記41)
前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
付記39又は40に記載の制御装置。
【0181】
(付記42)
前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の状態を強化学習の入力として有する、
付記31~41のいずれか1項に記載の制御装置。
【0182】
(付記43)
前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の行動を強化学習の出力として有する、
付記31~42のいずれか1項に記載の制御装置。
【0183】
(付記44)
前記1つ以上の他の機械学習ベースのコントローラは、前記複数の機械学習ベースのコントローラに含まれる他の全ての機械学習ベースのコントローラである、付記40~43のいずれか1項に記載の制御装置。
【0184】
(付記45)
前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定するコントローラ設定手段をさらに備える、付記31~44のいずれか1項に記載の制御装置。
【0185】
(付記46)
通信ネットワークの状態に関する状態情報を取得することと、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
をプロセッサに実行させるプログラム。
【0186】
(付記47)
通信ネットワークの状態に関する状態情報を取得することと、
前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
【符号の説明】
【0187】
1、2 システム
10 通信ネットワーク
100 制御装置
120 判定手段
130、400 取得手段
140、500 選択手段
150 コントローラ設定手段150
160 機械学習ベースのコントローラ


図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15