(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024075343
(43)【公開日】2024-06-03
(54)【発明の名称】通信システム、及び分散処理学習方法
(51)【国際特許分類】
G06N 3/08 20230101AFI20240527BHJP
G06N 3/063 20230101ALI20240527BHJP
【FI】
G06N3/08
G06N3/063
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022186725
(22)【出願日】2022-11-22
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】501061319
【氏名又は名称】学校法人 東洋大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】田尻 兼悟
(72)【発明者】
【氏名】川原 亮一
(57)【要約】
【課題】本開示の目的は、ネットワーク上で生成されたデータの端末への分配、及び学習時のモデルパラメータの転送経路という二つの問題についてfederated learning の精度を担保した上で、通信システム全体の学習時間が最小になるように最適化することである。
【解決手段】本開示は、分散処理学習を行う通信システム1において、転送するデータ量の比率を均等に分散すべく、各ルータ30a等からのデータの転送先のサーバ10a,10bや転送ルートの選択、及び各サーバ10a,10bの機械学習用のモデルパラメータの転送ルートの選択を行うことで、学習時間の削減につながる最適な分散処理学習を実現することが可能になる。これにより、通信システム全体での学習時間の削減ができるようになり、より直近の状況を加味した機械学習モデルでの推論が可能となる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムであって、
前記計算部は、転送するデータ量の比率を均等に分散すべく、前記第1の転送部から前記第2のサーバへのデータの第1の転送比率及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの転送に使用すべき第1の転送経路、並びに前記第2の転送部から前記第1のサーバへのデータの第2の転送比率及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの転送に使用すべき第2の転送経路を計算し、
前記第1の転送部は、第1の取得部によって取得した第1のデータを前記計算部による計算結果に基づいて均等に分散して転送すると共に、前記第2の転送部は、第2の取得部によって取得した第2のデータを前記計算部による計算結果に基づいて均等に分散して転送し、
前記第1の機械学習部は、前記第1の取得部によって取得した前記第1のデータを用いて、前記第1の機械学習モデルを機械学習させると共に、前記第2の機械学習部は、前記第2の取得部によって取得した前記第2のデータを用いて、第2の機械学習モデルを機械学習させ、
前記第1の転送部は、所定回数の機械学習毎に前記計算部によって計算された第1の経路に基づいて、前記第2のサーバに前記第1のモデルパラメータを転送すると共に、前記第2の転送部は、所定回数の機械学習毎に前記計算部によって計算された第2の経路に基づいて、前記第1のサーバに前記第2のモデルパラメータを転送する、
ことを特徴とする通信システム。
【請求項2】
第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムであって、
前記計算部は、前記第1の転送部から前記第2のサーバの前記第2の取得部へのデータの第1の転送比率、及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの第1の転送経路が制約条件を満たすかを判断すると共に、前記第2の転送部から前記第1のサーバの前記第1の取得部へのデータの第2の転送比率、及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの第2の転送経路が前記制約条件を満たすかを判断し、
前記第1の転送比率、前記第1の転送経路、前記第2の転送比率、及び前記第2の転送経路が前記制約条件を満たす場合に、前記計算部は、federated learningの機械学習を行い、
前記第1の機械学習部は、前記federated learningの機械学習の度に前記第1の機械学習モデルの第1のモデルパラメータを更新すると共に、前記第2の機械学習部は、前記federated learningの機械学習の度に前記第2の機械学習モデルの第2のモデルパラメータを更新し、
前記計算部は、前記federated learningの機械学習に基づいて、当該計算部が実行するアルゴリズムのパラメータを更新する、
ことを特徴とする通信システム。
【請求項3】
第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムであって、
前記計算部は、前記第1の転送部から前記第2のサーバの前記第2の取得部へのデータの第1の転送比率、及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの第1の転送経路が制約条件を満たすかを判断すると共に、前記第2の転送部から前記第1のサーバの前記第1の取得部へのデータの第2の転送比率、及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの第2の転送経路が前記制約条件を満たすかを判断し、
前記第1の機械学習部は、federated learningの機械学習に基づいて前記第1の機械学習モデルの第1のモデルパラメータの更新内容を確定すると共に、前記第2の機械学習部は、前記federated learningの機械学習に基づいて前記第2の機械学習モデルの第2のモデルパラメータの更新内容を確定し、
前記計算部は、前記federated learningの機械学習に基づいて、当該計算部が実行するアルゴリズムのパラメータの更新を確定する、
ことを特徴とする通信システム。
【請求項4】
第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムが実行する分散処理学習方法であって、
前記計算部は、転送するデータ量の比率を均等に分散すべく、前記第1の転送部から前記第2のサーバへのデータの第1の転送比率及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの転送に使用すべき第1の転送経路、及び前記第2の転送部から前記第1のサーバへのデータの第2の転送比率及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの転送に使用すべき第2の転送経路を計算し、
前記第1の転送部は、第1の取得部によって取得した第1のデータを前記計算部による計算結果に基づいて均等に分散して転送すると共に、前記第2の転送部は、第2の取得部によって取得した第2のデータを前記計算部による計算結果に基づいて均等に分散して転送し、
前記第1の機械学習部は、前記第1の取得部によって取得した前記第1のデータを用いて、前記第1の機械学習モデルを機械学習させると共に、前記第2の機械学習部は、前記第2の取得部によって取得した前記第2のデータを用いて、第2の機械学習モデルを機械学習し、
前記第1の転送部は、所定回数の機械学習毎に前記計算部によって計算された第1の経路に基づいて、前記第2のサーバに前記第1のモデルパラメータを転送すると共に、前記第2の転送部は、所定回数の機械学習毎に前記計算部によって計算された第2の経路に基づいて、前記第1のサーバに前記第2のモデルパラメータを転送する、
ことを特徴とする分散処理学習方法。
【請求項5】
第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムが実行する分散処理学習方法であって、
前記計算部は、前記第1の転送部から前記第2のサーバの前記第2の取得部へのデータの第1の転送比率、及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの第1の転送経路が制約条件を満たすかを判断すると共に、前記第2の転送部から前記第1のサーバの前記第1の取得部へのデータの第2の転送比率、及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの第2の転送経路が前記制約条件を満たすかを判断し、
前記第1の転送比率、前記第1の転送経路、前記第2の転送比率、及び前記第2の転送経路が前記制約条件を満たす場合に、前記計算部は、federated learningの機械学習を行い、
前記第1の機械学習部は、前記federated learningの機械学習の度に前記第1の機械学習モデルの第1のモデルパラメータを更新すると共に、前記第2の機械学習部は、前記federated learningの機械学習の度に前記第2の機械学習モデルの第2のモデルパラメータを更新し、
前記計算部は、前記federated learningの機械学習に基づいて、当該計算部が実行するアルゴリズムのパラメータを更新する、
ことを特徴とする分散処理学習方法。
【請求項6】
第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムが実行する分散処理学習方法であって、
前記計算部は、前記第1の転送部から前記第2のサーバの前記第2の取得部へのデータの第1の転送比率、及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの第1の転送経路が制約条件を満たすかを判断すると共に、前記第2の転送部から前記第1のサーバの前記第1の取得部へのデータの第2の転送比率、及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの第2の転送経路が前記制約条件を満たすかを判断し、
前記第1の機械学習部は、federated learningの機械学習に基づいて前記第1の機械学習モデルの第1のモデルパラメータの更新内容を確定すると共に、前記第2の機械学習部は、前記federated learningの機械学習に基づいて前記第2の機械学習モデルの第2のモデルパラメータの更新内容を確定し、
前記計算部は、前記federated learningの機械学習に基づいて、当該計算部が実行するアルゴリズムのパラメータの更新を確定する、
ことを特徴とする分散処理学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ネットワーク上で分散して取得されるデータを用いて、いくつかの拠点で機械学習モデル(深層学習モデル)を協調的に学習する技術に関し、特に学習時間の削減に関する。
【背景技術】
【0002】
近年、分散的な機械(深層)学習モデルの訓練手法としてfederated learning が提案されている(非特許文献1参照)。federated learning では機械学習モデルの訓練を行うことが可能な端末に対して共通のモデルパラメータを分配し、各端末で個別に自身の保有する訓練用データのみを用いて訓練を行いつつ、定期的に各端末で学習されたモデルパラメータの同期を行うことで学習を進める。Federated learning による学習では、モデルパラメータの転送時間及び各拠点で学習にかかる時間がシステム全体の学習時間に影響を与える。このうち、前者はモデルパラメータの転送経路及び経路上の各リンクの有効帯域、後者は各端末の処理能力及び訓練に用いられるデータの量に依存する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】WYB Lim et al., "Federated learning in mobile edge networks: A comprehensive survey" IEEE Communications Surveys & Tutorials, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、ネットワーク上で分散して取得されるデータを用いて、ネットワーク上に存在するいくつかの端末にて機械学習モデルを協調的に学習する際に、機械学習に用いるデータの端末への分配、及びモデルパラメータの転送経路の最適化問題がある。
【0005】
本開示は、上述の事情に鑑みてなされたもので、ネットワーク上で生成されたデータの端末への分配、及び学習時のモデルパラメータの転送経路という二つの問題についてfederated learning の精度を担保した上で、通信システム全体の学習時間が最小になるように最適化することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に係る発明は、第1の取得部、第1の転送部、第1の機械学習部、及び第1の機械学習モデルを有する第1のサーバと、第2の取得部、第2の転送部、第2の機械学習部、及び第2の機械学習モデルを有する第2のサーバと、計算部とによって構築されたネットワークを利用して、分散処理学習を行う通信システムであって、前記計算部は、転送するデータ量の比率を均等に分散すべく、前記第1の転送部から前記第2のサーバへのデータの第1の転送比率及び前記第1の機械学習部による機械学習用の第1のモデルパラメータの転送に使用すべき第1の転送経路、及び前記第1の転送部から前記第1のサーバへのデータの第2の転送比率及び前記第2の機械学習部による機械学習用の第2のモデルパラメータの転送に使用すべき第2の転送経路を計算し、前記第1の転送部は、第1の取得部によって取得した第1のデータを前記計算部による計算結果に基づいて均等に分散して転送すると共に、前記第2の転送部は、第2の取得部によって取得した第2のデータを前記計算部による計算結果に基づいて均等に分散して転送し、前記第1の機械学習部は、前記第1の取得部によって取得した前記第1のデータを用いて、前記第1の機械学習モデルを機械学習させると共に、前記第2の機械学習部は、前記第2の取得部によって取得した前記第2のデータを用いて、第2の機械学習モデルを機械学習し、前記第1の転送部は、所定回数の機械学習毎に前記計算部によって計算された第1の経路に基づいて、前記第2のサーバに前記第1のモデルパラメータを転送すると共に、前記第2の転送部は、所定回数の機械学習毎に前記計算部によって計算された第2の経路に基づいて、前記第1のサーバに前記第2のモデルパラメータを転送する、ことを特徴とする通信システムである。
【発明の効果】
【0007】
以上説明したように本発明によれば、federated learning の精度を担保した上で、通信システム全体の学習時間が最小になるように最適化することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係る通信システムの全体構成図である。
【
図2】統合制御システムの電気的なハードウェア構成図である。
【
図9】モデルパラメータ転送における可用帯域の最大化の場合の処理を示すフローチャートである。
【
図10】学習時間の最小化の場合の処理を示すフローチャートである。
【
図11】モデルパラメータ転送における可用帯域の最大化の場合に(式11)を用いる簡便な処理を示すフローチャートである。
【
図12】学習時間の最小化の場合に、本番環境中でストリーミング的に実施する処理を示すフローチャートである。
【
図13】学習時間の最小化の場合に、ある期間で本アルゴリズムを用いた学習を行い、そこで決まったモデルパラメータでデータ転送やモデルパラメータ転送を実施する処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を用いて本発明の実施形態を説明する。
【0010】
〔実施形態のシステム構成〕
図1を用いて、実施形態の通信システムの構成の概略について説明する。
図1は、実施形態に係る通信システムの全体構成図である。
【0011】
図1に示されているように、通信システム1は、複数の転送装置によって構築されている。
図1では、複数の転送装置として、サーバ10a,10b、ルータ30a,30b,30c,30dが、ネットワーク上で接続されている。なお、以降、サーバ10a,10bの総称を「サーバ10」と示す。また、ルータ30a,30b,30c,30dの総称を「ルータ30」と示す。
図1では、図面の紙面の都合上、2つのサーバ10、及び4つのルータが示されているが、これらの数はいくつであってもよい。
【0012】
<サーバの機能構成>
図1に示されているように、サーバ10aは、転送機能(ルータ部40a)として、取得部11a及び転送部12aを有している。また、サーバ10aは、機械学習機能として、機械学習部13a、推論部14a、データベース15a、及び機械学習モデル20aを有している。更に、サーバ10aは、計算部16を有している。各機能部(取得部11a、転送部12a、機械学習部13a、推論部14a)は、後述の
図2に示すRAM103上に展開されたプログラムに従ったCPU101からの命令によって動作することで実現される機能、又は機能する手段である。
【0013】
これらのうち、取得部11aは、他の転送装置からデータを取得する。
【0014】
転送部12aは、他の転送装置にデータを転送する。
【0015】
機械学習部13aは、ニューラルネットワーク等の機械学習アルゴリズムを用いた深層学習等によって機械学習モデル20aを機械学習させて、学習済みの機械学習モデル20aを生成する。
【0016】
推論部14aは、学習済みの機械学習モデル20aを用い、所定タスクに対する推論を行う。推論部14aは、学習済みの機械学習モデル20aが分類モデルであれば入力データに対する分類結果を推論したり、学習済みの機械学習モデル20aが将来予測モデルであれば入力データから次の時刻の値を推論したりする。
【0017】
データベース15aは、検索や蓄積が容易にできるよう整理された情報の集まりであり、サーバとしての機能を実現するために用いられる。
【0018】
計算部16は、機械学習機能とは独立に負荷分散を最適化するための計算を行う機能である。なお、計算部16は、通信システム1内で、サーバ10a,10b以外のサーバ等が有していてもよい。
【0019】
サーバ10bは、ルータ部40b(取得部11b、転送部12b)、機械学習部13b、推論部14b、データベース15b、及び機械学習モデル20bを有している。ルータ部40b(取得部11b、転送部12b)、機械学習部13b、推論部14b、データベース15b、及び機械学習モデル20bは、それぞれ、ルータ部40a(取得部11a、転送部12a)、機械学習部13a、推論部14a、データベース15a、及び機械学習モデル20aと同様の機能を有するため、これらの説明を省略する。
【0020】
なお、以降、機械学習モデル20a,20bの総称を「機械学習モデル20」と示す。また、ルータ部40a,40bの総称を「ルータ部40」と示す。更に、取得部11a,11bの総称を「取得部11」と示す。転送部12a,12bの総称を「転送部12」と示す。機械学習部13a,13bの総称を「機械学習部13」と示す。推論部14a,14bの総称を「推論部14」と示す。データベース15a,15bの総称を「データベース15」と示す。
【0021】
<ルータ>
ルータ30aは、転送機能として、取得部31a及び転送部32aを有している。ルータ30bは、転送機能として、取得部31b及び転送部32bを有している。ルータ30cは、転送機能として、取得部31c及び転送部32cを有している。ルータ30dは、転送機能として、取得部31d及び転送部32dを有している。
【0022】
取得部31a,31b,31c,31dは、上述の取得部11aと同様の機能を有するため、これらの説明を省略する。転送部32a,32b,32c,32dは、上述の転送部12aと同様の機能を有するため、これらの説明を省略する。
【0023】
なお、以降、ルータ30a,30b,30c,30dの総称を「ルータ30」と示す。また、取得部31a,31b,31c,31dの総称を「取得部31」と示す。転送部32a,32b,32c,32dの総称を「転送部32」と示す。
【0024】
また、以降の定式化の簡略化のため、サーバ10については、ルータ30に無限大帯域のリンクで接続されているとする。
【0025】
〔ハードウェア構成〕
次に、
図2を用いて、サーバ10の電気的なハードウェア構成を説明する。
図2は、サーバの電気的なハードウェア構成図である。
【0026】
サーバ10、コンピュータとして、
図2に示されているように、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、SSD(Solid State Drive)104、外部機器接続I/F(Interface)105、ネットワークI/F106、メディアI/F109、及びバスライン110を備えている。
【0027】
これらのうち、CPU101は、サーバ10全体の動作を制御する。ROM102は、IPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶する。RAM103は、CPU101のワークエリアとして使用される。
【0028】
SSD104は、CPU101の制御に従って各種データの読み出し又は書き込みを行う。なお、SDD104の代わりに、HDD(Hard Disk Drive)を用いても良い。
【0029】
外部機器接続I/F105は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、ディスプレイ、スピーカ、キーボード、マウス、USB(Universal Serial Bus)メモリ、及びプリンタ等である。
【0030】
ネットワークI/F106は、物理ネットワーク300等の通信ネットワークを介してデータ通信をするためのインターフェースである。
【0031】
メディアI/F109は、フラッシュメモリ等の記録メディア109mに対するデータの読み出し又は書き込み(記憶)を制御する。記録メディア109mには、DVD(Digital Versatile Disc)やBlu-ray Disc(登録商標)等も含まれる。
【0032】
バスライン110は、
図2に示されているCPU101等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0033】
なお、ルータ30は、サーバ10と同じ構成か、又は、SSD104、外部機器接続I/F105及びメディアI/F109のうち少なくとも1つが省略されているだけであるため、説明を省略する。
【0034】
以降では機械学習にかかる時間を最小化するための定式化を行っていく。
【0035】
〔記号の定義〕
まず初めに、以降で用いる記号の定義を行う。各定義は
図3及び
図4に示されている通りである。
【0036】
〔モデルパラメータの決定法〕
本実施形態では、モデルパラメータpi[ab]及びr[ab]を最適化する。最適化の方針として、(i)モデルパラメータ転送における可用帯域の最大化、(ii)学習時間の最小化の二つを提案する。(i)の場合、E、Gは予め与えられたものとして扱い、(ii)の場合、Eは追加の最適化モデルパラメータとして扱うと共にGとしてはその上限値Gmaxを用意する。
【0037】
(i)モデルパラメータ転送における可用帯域の最大化
この最適化において、学習速度はモデルパラメータ転送時の転送経路の可用帯域A
abに依存し、また学習時の精度はモデルパラメータの転送(分散)比率pi[ab]に依存すると考える。ここで、
図5及び
図6を用いて最適化式を提示する。
【0038】
ここで、(式3)はマスクを掛けられた帯域をデータ転送量が超えないという輻輳回避の制約、(式4)はルータ30と切り離されたサーバ10はデータを生成しないという制約、(式5)はサーバ10に送られたデータは全てそのサーバ10で処理されるという制約、(式6)はサーバ10におけるルータ部40はサーバ10とルータ部40が無限大帯域のリンクで接続されているという仮定を表している。
【0039】
図6において、(式7)~(式9)は、それぞれ、生成、処理、及び経由点における流量保存の式である。(式10)は検証用データ(各サーバ10が各サーバ10に送られたデータの一部を機械学習に使わずに保存しておいたデータ)に対する学習済みモデル20の損失に対する制約であり、pi[ab]、E、Gに依存する。
【0040】
また、
図5の(式1)は最適化式であるが、これはモデルパラメータの転送において、あるサーバセットjとkを考え、このうち取り得るモデルパラメータ転送経路の中で1モデルパラメータ転送あたりの可用帯域A
abの最小値が最大であるということを
【0041】
【0042】
可用帯域Aabとしては、
(a)各リンクの帯域からデータ転送量を引いた有効帯域
【0043】
【数2】
(b)有効帯域をそのリンクを経由するモデルパラメータの数で割ったもの
【0044】
【数3】
(c)各サーバ10の組jk毎にmax-min fairness(参考文献1)に基づいて割り当てられる帯域などが考えられる。
<参考文献1>Marbach, Peter. "Priority service and max-min fairness." Proceedings. Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies. Vol. 1. IEEE, 2002.
即ち、(式1)は、全てのサーバセットのうちの前記可用帯域の最小値が最大になるように、データの転送(分散)比率Pとモデルパラメータの転送に使用すべき転送経路Rを最大化するということを意味している。
【0045】
(式2)は各サーバ10に分配(分散)されるデータ量が均等になるべきという条件でデータが均等に分配されていると(式10)の収束が早くなるという仮定に基づいている。
【0046】
次に、
図9を用いて、本最適化を実現するアルゴリズムについて説明する。本実施形態では、本最適化を遺伝的アルゴリズムによって近似的に実現する。
【0047】
S11:計算部16は、Rを複数パターン入力する。なお、各Rを個体とみなす。
【0048】
S12:計算部16は、各個体の適合度を以下の手順で計算する。
【0049】
S12-1:計算部16は、各個体に対して(式2)を(式3)~(式9)の制約を満たしたうえで解く(線形計画問題なので各種ソルバーが利用可能)。
【0050】
S12-2:計算部16は、上記S12-1で求めたPを用いて各リンクの残帯域を算出し、モデルパラメータの転送経路を
【0051】
【数4】
であるものに決定し、それをもとにボトルネック帯域が大きいときに適合度が良くなるように適合度を定義し計算する。
【0052】
S12-3:計算部16は、実際の機械学習を行い、(式10)が成り立っているか否かを調べる。
【0053】
S12-4:もしも、(式10)が成り立っていない場合は(S12-3;NO)、計算部16は、適合度にペナルティーを導入して、処理S13に進む。(式10)が成り立っている場合は(S12-3;YES)、処理S13に進む。なお、本実施形態では、遺伝的アルゴリズムが適合度を各個体に対して算出し、適合度の高い個体が優先的に残り、適合度の低い個体が破棄されやすいことを繰り返しながら、最終的に良い個体を探す。ペナルティーを導入するということは、最終的に、その個体が破棄されやすくなるという意味を示す。
【0054】
S13:計算部16は、適合度をもとに個体の選択更新を行い、処理S12-1に戻る。
【0055】
続いて、学習時と(式10)の評価において使用するデータを分けるために、サーバ10は、サーバ10に送られてきたデータを学習用データと(式10)の評価用データに分けておき、学習時には学習用データを用い、(式10)の評価時には(式10)の評価用データを用いる。
【0056】
上述のアルゴリズムでは遺伝的アルゴリズムの処理S12-1~S12-4及び処理S3を繰り返すたびに、federated learning の学習を行う必要があるが、各ルータ30及びルータ部40で生成されるデータがi.i.d、かつ各ルータ30及びルータ部40から各サーバ10へのデータの転送がランダムの場合、各サーバ10に集まるデータの量が均一な方が、精度がよくなりやすいと考えられる。そのため(式10)を(式11)に置き換える方式が考えられ、この場合、処理S12-1で求められたPが(式11)を満たすかどうかを処理S12-3で確認することになる。この(式11)は、人為的(形式的)に決められており、転送するデータ量の比率を均等にするための式であるため、(式11)を使う場合はfederatedlearning の機械学習は必要ではない。
【0057】
(ii)学習時間の最小化
この場合は、予め与えられた要求損失εに至るまでの時間を最小にするための最適化になる。最適化モデルパラメータは、データの転送比率P、モデルパラメータの転送経路X、及び同期間隔中のローカル学習回数Eである。初めに、(式12)~(式20)により最適化式を提示する。
【0058】
ここで、(i)と異なる箇所は、(式11)及び(式12)である。(式12)は今回の提案の最適化式であり、(式13)はモデルパラメータの転送も含めた輻輳回避要件である。また、(式20)のEの依存性を(式12)で明記しておいた。
【0059】
次に、本最適化を実現するアルゴリズムについて述べる。この場合も最適化を遺伝的アルゴリズムによって近似的に実現する。
【0060】
S21:計算部16は、P,X,Eを複数パターン入力する。なお、ここでは、P,X,Eのセットを個体とみなす。
【0061】
S22-1:計算部16は、各P,Xが(式13)~(式15)、(式17)~(式19)の制約条件を満たすか否かを判断する。即ち、計算部16は、転送部12aからサーバ10bの取得部11bへのデータの転送比率(第1の転送比率)、及び機械学習部13aによる機械学習用のモデルパラメータの転送経路(第1の転送経路)が制約条件を満たすかを判断すると共に、転送部12bからサーバ10aの取得部11aへのデータの転送比率(第2の転送比率)、及び機械学習部13bによる機械学習用のモデルパラメータの転送経路(第2の転送経路)が制約条件を満たすかを判断する。
【0062】
S22-2:もしも、各P,Xが上記の制約条件を満たさない場合は(S22-1;NO)、計算部16は、適合度にペナルティーを導入して、処理S24に進む。各種P,Xが上記の制約条件を満たしている場合は(S22-1;YES)、処理S23-1に進む。
【0063】
S23-1:計算部16は、上記処理S22-1の条件を満たしたもので、実際に機械学習モデル20を用いて機械学習を行い、(式20)が満たされる時間Tを計測し、(式20)が満たされる時間Tがあるか否かを判断する。なお、機械学習時にはモデルパラメータEが使用される。このように、上記(i)において(式11)は人為的に定められるのに対して、(ii)では、機械学習を行うことで(式20)を導出している。また、この(式20)が満たされる時間Tがあるか否かの判断が推論(検証)に相当する。即ち、処理23-1において、機械学習と推論の両方が行われいる。
【0064】
S23-2:(式20)が満たされる時間Tがない場合(S23-1;NO)、計算部16は、Gmaxまで機械学習を繰り返したかを判断する。Gmaxまで機械学習を繰り返していない場合には(S23-2;NO)、処理S23-1に戻る。一方、Gmaxまで機械学習を繰り返している場合には(S23-2;YES)、処理S22-2に進み、その後、処理S24に進む。
【0065】
S24:計算部16は、Tが小さい個体の適合度が大きくなるように定義し(例えばTの逆数など)、適合度をもとに個体の選択更新を行い、処理S22-1に戻る。
【0066】
〔通信システムの処理又は動作〕
続いて、
図11乃至
図13を用いて、実施形態に係る通信システム1の処理又は動作について説明する。
図11乃至
図13は、通信システムの処理を示すフローチャートである。
【0067】
なお、本実施形態の処理は、大きく分けて2つあり、〔1〕上記(i)によりfederated learningの学習を行わずに人為的に定められた(式11)を用いる簡便な処理と、〔2〕上記(ii)により(式20)を用いて遺伝的アルゴリズムの中でfederated learningの機械学習を複数回行う処理がある。更に、後者の〔2〕には、federated learningの学習の方法として2種類ある。1種類目として、〔2-1〕ストリーミング的にデータが常に流れて来ている状態において、1番目に入力されたデータを用いて遺伝的アルゴリズムで1周する処理を行う。そのときの初期のモデルパラメータで学習した機械学習モデル20を次の時間の推論に使う。その推論のときに2番目の新しいデータが流れて来るため、この新しいデータを機械学習に使うときには、遺伝的アルゴリズムを1周だけ処理させて、機械学習モデル20を更新し、この更新した機械学習モデルを使って3番目以降の新しいデータを機械学習に使うということを繰り返すことで、遺伝的アルゴリズムを継続的に行って、機械学習モデル20を更新していく。
【0068】
また、2種類目として、〔2-2〕同じデータで遺伝的アルゴリズムを規定回数処理することで、最適化された機械学習モデル20を使い続ける。即ち、機械学習が完了した機械学習モデル20を生成し、それ以降は機械学習しないで、そのまま機械学習モデル20を使い続ける。
【0069】
そこで、以下に、〔1〕、〔2-1〕、〔2-2〕の順に処理を説明する。
【0070】
〔1〕(式11)を用いる簡便な処理
S31:サーバ10aの計算部16は、(式11)を用いる簡便な方式の場合、PおよびRを計算する。即ち、計算部16は、転送するデータ量の比率を均等に分散すべく、転送部12aからサーバ10bへのデータの転送比率(第1の転送比率の一例)及び機械学習部13aによる機械学習用の第1のモデルパラメータの転送に使用すべき転送経路(第1の転送経路の一例)、並びに転送部12bからサーバ10aへのデータの転送比率(第2の転送比率の一例)及び機械学習部13bによる機械学習用の第2のモデルパラメータの転送に使用すべき転送経路(第2の転送経路の一例)を計算する。なお、(式11)により、federated learning の精度を担保することは可能である。
【0071】
S32:各サーバ10のルータ部40の転送部12は、取得部11によって取得されたデータを各サーバ(自サーバを含む)に分配すると共に、各ルータ30の転送部32は、取得部31によって取得されたデータを各サーバ10に分配する。即ち、転送部12aは、取得部11aによって取得したデータを計算部16による計算結果に基づいて均等に分散して転送すると共に、転送部12bは、取得部11bによって取得したデータを計算部16による計算結果に基づいて均等に分散して転送する。
【0072】
S33:各サーバ10の機械学習部13は、取得部11によって取得されたデータを用いて、機械学習モデル20を機械学習させると共に、各サーバ10の転送部12は、E 回の機械学習毎に最終的な処理S12-2で決定された転送経路に基づいて、自身以外のサーバと機械学習モデル20のモデルパラメータをやり取りして学習を進める。即ち、機械学習部13aは、取得部11aによって取得したデータを用いて、機械学習モデル20aを機械学習させると共に、機械学習部13bは、取得部11bによって取得したデータを用いて、機械学習モデル20bを機械学習させる。また、転送部12aは、所定回数の機械学習毎に計算部16によって計算された経路(第1の経路)に基づいて、サーバ10bに第1のモデルパラメータを転送すると共に、転送部12bは、所定回数の機械学習毎に計算部16によって計算された経路(第2の経路)に基づいて、サーバ10aに第2のモデルパラメータを転送する。
【0073】
S34:各サーバ10の推論部14は、学習済みの機械学習モデル20を用いて、以降、各サーバ10のルータ部40の転送部12又は各ルータ30の転送部32から送られてくるデータに対して推論を行う。
【0074】
〔2-1〕(式20)を用いて機械学習モデルを更新しながら進める処理
S41:計算部16は、ある期間毎に、取得部11よって、各サーバ10のルータ部40の転送部12又は各ルータ30の転送部32から取得されたデータに関して、処理S22,S23を1度だけ実行する(初回実行時のみ処理S21も行う)。即ち、転送部12aからサーバ10bへのデータの転送比率(第1の転送比率)及び機械学習部13aによる機械学習用のモデルパラメータの転送に使用すべき転送経路(第1の転送経路)、並びに転送部12bからサーバ10aへのデータの転送比率(第2の転送比率)及び機械学習部13bによる機械学習用のモデルパラメータの転送に使用すべき転送経路(第2の転送経路)が制約条件を満たす場合に、計算部16は、federated learningの機械学習を行う。
【0075】
S42:各機械学習部18は、federated learningの機械学習の度に、機械学習モデル20のパラメータの更新、及び、計算部16は本アルゴリズムのモデルパラメータの更新を行う。即ち、機械学習部13aは、federated learningの機械学習の度に機械学習モデルの20aモデルパラメータを更新すると共に、機械学習部13bは、federated learningの機械学習の度に機械学習モデル20bのモデルパラメータを更新する。また、計算部16は、federated learningの機械学習に基づいて、計算部16が実行するアルゴリズムのパラメータを更新する。
【0076】
S43:各サーバ10の推論部14は、処理S22,S23で学習された最新の機械学習モデル20を用いて、各サーバ10のルータ部40の転送部12又は各ルータ30の転送部32から送られてくるデータに対して推論を行う。次のタイミングでのアルゴリズム実行において、前回実行時に遺伝的アルゴリズムで更新されたP,R もしくはP,X,E が用いられる。
【0077】
〔2-2〕(式20)を用いた学習済みの機械学習モデルで進める処理
S51:機械学習部18及び計算部16は、ある期間で取得部11よって、サーバ10のルータ部40の転送部12又は各ルータ30の転送部32から取得されたデータに関して、本アルゴリズムを繰り返し行い、P,R又はP,X,Eを確定させる。即ち、機械学習部13aは、federated learningの機械学習に基づいて機械学習モデル20aのモデルパラメータの更新内容を確定すると共に、機械学習部13bは、federated learningの機械学習に基づいて機械学習モデル20bのモデルパラメータの更新内容を確定する。また、計算部16は、federated learningの機械学習に基づいて、計算部16が実行するアルゴリズムのパラメータの更新を確定する。
【0078】
S52:機械学習の完了後、以降の機械学習モデル20の学習時及び推論用のデータの転送においては、転送部12は既に決定されたパラメータを用いてデータやモデルパラメータの転送を行い、機械学習部13が機械学習を行う。
【0079】
〔実施形態の効果〕
以上説明したように、本実施形態の通信システム1は、federated learning の精度を担保した上で、通信システム1全体の学習時間が最小になるように最適化することができるという効果を奏する。これにより、深層学習モデルの学習時間の削減ができるようになり、より直近の状況を加味した深層学習モデルでの推論が可能となる。これにより、通信システム全体での学習時間の削減ができるようになり、より直近の状況を加味した機械学習モデルでの推論が可能となる。
【0080】
〔補足〕
以上、本発明は、上記の実施形態に限定されることなく、例えば以下に示すように、種々の変更及び応用が可能である。
【0081】
(1)各転送装置は、コンピュータとプログラムによって実現できるが、このプログラムを(非一時的)記録媒体に記録することも、インターネット等の通信ネットワークを介して提供することも可能である。
【0082】
(2)CPU101は、単一だけでなく、複数であってもよい。
【符号の説明】
【0083】
1 通信システム
10,10a,10b サーバ(転送装置の一例)
11a 取得部(第1の取得部の一例)
11b 取得部(第2の取得部の一例)
31a,31b,31c,31d 取得部
12a 転送部(第1の転送部の一例)
12b 転送部(第2の転送部の一例)
32a,32b,32c,32d 転送部
13a 機械学習部(第1の機械学習部の一例)
13b 機械学習部(第2の機械学習部の一例)
14a 推論部(第1の推論部の一例)
14b 推論部(第2の推論部の一例)
15a,15b データベース
16 計算部
20a 機械学習モデル(第1の機械学習モデルの一例)
20b 機械学習モデル(第2の機械学習モデルの一例)
30a,30b,30c,30d ルータ(転送装置の一例)
31a,31b,31c,31d 取得部
32a,32b,32c,32d 転送部
40a,40b:ルータ部