(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023121503
(43)【公開日】2023-08-31
(54)【発明の名称】計算機システム、学習方法、及びエッジ装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20230824BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022024877
(22)【出願日】2022-02-21
【国等の委託研究の成果に係る記載事項】(出願人による申告)2020年度、国立研究開発法人新エネルギー・産業技術総合開発機構、「ポスト5G情報通信システム基盤強化研究開発事業/先導研究(委託)/デジタルツイン高度化に向けた高精度測位・同期制御技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】谷村 崇仁
(57)【要約】
【課題】エッジ装置及びサーバ間の通信状態を考慮した連合学習を提供する。
【解決手段】計算機システムは、学習に使用するデータを取得し、データを用いてタスクに関する推論に用いる第1モデルを生成するための学習処理を実行するエッジ装置と、複数のエッジ装置の各々によって生成された第1モデルを用いて第2モデルを生成し、第2モデルを前記複数のエッジ装置に送信するサーバ装置と、を備える。エッジ装置は、エッジ装置及びサーバ装置の間の通信路の通信状態に関する通信状態情報を取得し、通信状態情報に基づいてモデルのデータサイズを削減するための縮減処理に使用するパラメータを算出し、パラメータに基づいて第1モデルに対して縮減処理を実行し、縮減された第1モデルをサーバ装置に送信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
計算機システムであって、
学習に使用するデータを取得し、前記データを用いてタスクに関する推論に用いる第1モデルを生成するための学習処理を実行するエッジ装置と、
前記複数のエッジ装置の各々によって生成された前記第1モデルを用いて第2モデルを生成し、前記第2モデルを前記複数のエッジ装置に送信するサーバ装置と、
を備え、
前記エッジ装置は、
前記エッジ装置及び前記サーバ装置の間の通信路の通信状態に関する通信状態情報を取得し、
前記通信状態情報に基づいて、モデルのデータサイズを削減するための縮減処理に使用する第1パラメータを算出し、
前記第1パラメータに基づいて、生成された前記第1モデルに対して前記縮減処理を実行し、
前記縮減処理が実行された前記第1モデルを前記サーバ装置に送信することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記サーバ装置は、
前記通信状態情報を取得し、
前記通信状態情報に基づいて、前記縮減処理に使用する第2パラメータを算出し、
前記第2パラメータに基づいて、生成された前記第2モデルに対して前記縮減処理を実行し、
前記縮減処理が実行された前記第2モデルを前記エッジ装置に送信することを特徴とする計算機システム。
【請求項3】
請求項2に記載の計算機システムであって、
前記第1モデル及び前記第2モデルはニューラルネットワークであって、
前記サーバ装置は、前記複数のエッジ装置の各々から受信した前記第1モデルの重みの平均、最頻値、及び最大値を考慮したアルゴリズムに基づいて、前記第2モデルの重みを決定することを特徴とする計算機システム。
【請求項4】
請求項1に記載の計算機システムであって、
前記エッジ装置は、
前記学習処理において、前記データから特徴情報を抽出する特徴抽出モデルと、前記特徴情報を用いて前記タスクに関する推論を行うタスク推論モデルとを生成し、
前記第1モデルは、前記特徴抽出モデルであることを特徴とする計算機システム。
【請求項5】
計算機システムにおける学習方法であって、
前記計算機システムは、学習に使用するデータを取得し、前記データを用いてタスクに関する推論に用いる第1モデルを生成するための学習処理を実行するエッジ装置と、前記複数のエッジ装置の各々によって生成された前記第1モデルを用いて第2モデルを生成し、前記第2モデルを前記複数のエッジ装置に送信するサーバ装置と、を含み、
前記学習方法は、
前記エッジ装置が、前記エッジ装置及び前記サーバ装置の間の通信路の通信状態に関する通信状態情報を取得する第1のステップと、
前記エッジ装置が、前記通信状態情報に基づいて、モデルのデータサイズを削減するための縮減処理に使用する第1パラメータを算出する第2のステップと、
前記エッジ装置が、前記第1パラメータに基づいて、生成された前記第1モデルに対して前記縮減処理を実行する第3のステップと、
前記エッジ装置が、前記縮減処理が実行された前記第1モデルを前記サーバ装置に送信する第4のステップと、を含むことを特徴とする学習方法。
【請求項6】
請求項5に記載の学習方法であって、
前記サーバ装置が、前記通信状態情報を取得するステップと、
前記サーバ装置が、前記通信状態情報に基づいて、前記縮減処理に使用する第2パラメータを算出するステップと、
前記サーバ装置が、前記第2パラメータに基づいて、生成された前記第2モデルに対して前記縮減処理を実行するステップと、
前記サーバ装置が、前記縮減処理が実行された前記第2モデルを前記エッジ装置に送信するステップと、を含むことを特徴とする学習方法。
【請求項7】
請求項6に記載の学習方法であって、
前記第1モデル及び前記第2モデルはニューラルネットワークであって、
前記学習方法は、前記サーバ装置が、前記複数のエッジ装置の各々から受信した前記第1モデルの重みの平均、最頻値、及び最大値を考慮したアルゴリズムに基づいて、前記第2モデルの重みを決定するステップを含むことを特徴とする学習方法。
【請求項8】
請求項5に記載の学習方法であって、
前記エッジ装置が、前記データから特徴情報を抽出する特徴抽出モデルと、前記特徴情報を用いて前記タスクに関する推論を行うタスク推論モデルとを生成するステップを含み、
前記第1モデルは、前記特徴抽出モデルであることを特徴とする学習方法。
【請求項9】
学習に使用するデータを取得し、前記データを用いてタスクに関する推論に用いる第1モデルを生成するための学習処理を実行するエッジ装置であって、
プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを備え、
複数のエッジ装置の各々によって生成された前記第1モデルを用いて第2モデルを生成し、前記第2モデルを前記複数のエッジ装置に送信するサーバ装置と接続し、
前記エッジ装置及び前記サーバ装置の間の通信路の通信状態に関する通信状態情報を取得し、
前記通信状態情報に基づいて、モデルのデータサイズを削減するための縮減処理に使用するパラメータを算出し、
前記パラメータに基づいて、生成された前記第1モデルに対して前記縮減処理を実行し、
前記縮減処理が実行された前記第1モデルを前記サーバ装置に送信することを特徴とするエッジ装置。
【請求項10】
請求項9に記載のエッジ装置であって、
前記学習処理において、前記データから特徴情報を抽出する特徴抽出モデルと、前記特徴情報を用いて前記タスクに関する推論を行うタスク推論モデルとを生成し、
前記第1モデルは、前記特徴抽出モデルであることを特徴とするエッジ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連合学習に関する。
【背景技術】
【0002】
タスクの推論を行うモデルの学習では大量のデータが必要となるため、複数の組織又は複数の拠点からデータを収集する方法が考えられる。しかし、個人情報のプライバシー保護及びセキュリティの観点からデータの収集が困難になっている。
【0003】
データを直接収集することなく汎用的なモデルを生成する方法として連合学習が注目されている。連合学習は、各組織又は各拠点でモデルを学習し、複数のモデルを集約及び統合することによって汎用的なモデルを生成する学習方法である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
連合学習では、モデルを学習するエッジ装置と、モデルを集約及び統合するサーバとの間でモデルの情報が送受信される。モデルの情報が大きい場合、エッジ装置及びサーバ間の通信帯域が逼迫するという問題がある。これに対して、特許文献1に記載の技術が知られている。
【0006】
特許文献1には「ネットワーク係数圧縮装置は、推論部と、学習部と、を備える。推論部は、学習されたニューラルネットワークの入力層に入力された入力データに対する、ニューラルネットワークの隠れ層または出力層の出力値を出力する。学習部は、ニューラルネットワークのネットワーク係数の非可逆圧縮を行いながら、入力データと出力値を教師データとしてネットワーク係数を学習し、圧縮されたネットワーク係数を生成する」ことが記載されている。
【0007】
特許文献1等の従来技術では、エッジ装置及びサーバ間の通信状態(例えば、通信帯域の空き等)を考慮したものではない。したがって、従来技術では、通信帯域の逼迫が発生し、モデルの正常な送受信が行われない等の問題が発生する可能性がある。
【0008】
本発明は、エッジ装置及びサーバ間の通信状態を考慮したモデルの縮減手法を組み込んだ連合学習を実行するシステム、装置、及び方法を提供する。
【課題を解決するための手段】
【0009】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機システムであって、学習に使用するデータを取得し、前記データを用いてタスクに関する推論に用いる第1モデルを生成するための学習処理を実行するエッジ装置と、前記複数のエッジ装置の各々によって生成された前記第1モデルを用いて第2モデルを生成し、前記第2モデルを前記複数のエッジ装置に送信するサーバ装置と、を備え、前記エッジ装置は、前記エッジ装置及び前記サーバ装置の間の通信路の通信状態に関する通信状態情報を取得し、前記通信状態情報に基づいて、モデルのデータサイズを削減するための縮減処理に使用する第1パラメータを算出し、前記第1パラメータに基づいて、生成された前記第1モデルに対して前記縮減処理を実行し、前記縮減処理が実行された前記第1モデルを前記サーバ装置に送信する。
【発明の効果】
【0010】
本発明によれば、連合学習において、エッジ装置は、エッジ装置及びサーバ間の通信状態を考慮してモデルを縮減し、サーバに送信することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施例1の計算機システムの構成例を示す図である。
【
図2】実施例1のエッジ装置のハードウェア構成の一例を示す図である。
【
図3A】実施例1の推論部の構成の一例を示す図である。
【
図3B】実施例1の推論部の構成の一例を示す図である。
【
図4】実施例1のエッジ装置が連合学習において実行する処理の一例を説明するフローチャートである。
【
図5】実施例1のサーバ装置が連合学習において実行する処理の一例を説明するフローチャートである。
【
図6】実施例1のエッジ装置が実行する推論処理の一例を説明するフローチャートである。
【
図7】エッジ装置の機能構成の変形例を示す図である。
【
図8】実施例1の学習監視装置が表示する画面の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0013】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0014】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【0015】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例0016】
図1は、実施例1の計算機システムの構成例を示す図である。
図2は、実施例1のエッジ装置のハードウェア構成の一例を示す図である。
【0017】
計算機システムは、サーバ装置100、複数のエッジ装置101、通信路監視装置102、及び学習監視装置103から構成される。サーバ装置100及びエッジ装置101は、通信路105を介して互いに通信する。通信路監視装置102は、通信路105又は図示しないネットワークを介してサーバ装置100及びエッジ装置101と接続する。また、学習監視装置103は、通信路105又は図示しないネットワークを介して、サーバ装置100、複数のエッジ装置101、及び通信路監視装置102と接続する。
【0018】
学習監視装置103は、サーバ装置100、複数のエッジ装置101、及び通信路監視装置102のパラメータ設定及びステータスを監視する。学習監視装置103は、例えば、
図8に示す画面800を介して監視結果を提示する。画面800は、エッジ装置選択欄801、監視結果表示欄802、及びメッセージ欄803を含む。エッジ装置選択欄801は、監視結果を参照するエッジ装置101を選択するための欄であり、学習監視装置103が監視するエッジ装置101を表すアイコンが表示される。監視結果表示欄802は、エッジ装置選択欄801にて選択されたエッジ装置101の監視結果(パラメータ設定及びステータス)を表示する欄である。メッセージ欄803は、計算機システムの状況を表すメッセージを表示する欄である。
【0019】
サーバ装置100及び複数のエッジ装置101は連合学習を行うように構成される。連合学習において、エッジ装置101は、ローカルデータの収集、ローカルデータを用いたモデルの学習、及びサーバ装置100へのローカルモデルの送信を行う。また、サーバ装置100は、ローカルモデルを用いたグローバルモデルの生成、及びエッジ装置101へのグローバルモデルの送信を行う。
【0020】
通信路監視装置102は、通信路105の通信状態を監視する。ここで、通信路105の通信状態とは、通信レイテンシ、スループット、無線周波数帯域等の通信リソース利用率、及びこれらの確率的分布等を表す。これらの通信状態は、時間的に変化するものであってもよい。
【0021】
エッジ装置101は、
図2に示すようなバードウェア構成の計算機であって、プロセッサ201、主記憶装置202、副記憶装置203、及びネットワークインタフェース204を有する。各ハードウェア要素は内部バス205を介して互いに接続される。
【0022】
プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。例えば、プロセッサ201は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等である。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ201が当該機能部を実現するプログラムを実行していることを示す。
【0023】
主記憶装置202は、例えば、DRAM(Dynamic Random Access Memory)であり、プロセッサ201が実行するプログラム及びプログラムが使用するデータを格納する。主記憶装置202は、また、ワークエリアとしても使用される。
【0024】
副記憶装置203は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、データを永続的に格納する。主記憶装置202に格納されるプログラム及びデータは、副記憶装置203に格納されてもよい。この場合、プロセッサ201が副記憶装置203からプログラム及び情報を読み出し、主記憶装置202にロードする。
【0025】
ネットワークインタフェース204は、ネットワークを介して外部装置と接続するためのインタフェースである。
【0026】
なお、エッジ装置101のハードウェア構成は一例であってこれに限定されない。キーボード、マウス、タッチパネル等の入力装置を有してもよいし、また、ディスプレイ及びプリンタ等の出力装置を有してもよい。また、エッジ装置101は、サーバ装置100内のプログラムとして仮想的に実現されてもよい。
【0027】
サーバ装置100及び通信路監視装置102のハードウェア構成は、エッジ装置101と同一であるため説明を省略する。
【0028】
サーバ装置100は、機能構成として、送受信部110、ローカルモデル縮減部111、縮減化設定部112、グローバルモデル生成部113、及びグローバルモデル縮減部114を有する。
【0029】
送受信部110は、サーバ装置100及び外部装置の間のデータの送受信を制御する。ローカルモデル縮減部111は、エッジ装置101から受信したローカルモデルを縮減する。縮減化設定部112は、通信路105の通信状態に基づいてローカルモデルの縮減度合いを決定するパラメータを設定する。なお、エッジ装置101毎にパラメータが設定される。グローバルモデル生成部113は、複数のエッジ装置101から受信したローカルモデルを用いてグローバルモデルを生成する。グローバルモデル縮減部114は、縮減化設定部112によって設定されたパラメータに基づいて、グローバルモデル生成部113によって生成されたグローバルモデルを縮減し、エッジ装置101に送信する。なお、エッジ装置101毎にグローバルモデルが縮減される。
【0030】
なお、サーバ装置100は、エッジ装置101毎にローカルモデル縮減部111を有してもよい。
【0031】
エッジ装置101は、機能構成として、送受信部120、縮減化設定部121、学習部122、ローカルモデル縮減部123、及び推論部124を有する。
【0032】
送受信部120は、エッジ装置101及び外部装置の間のデータの送受信を制御する。縮減化設定部121は、通信路105の通信状態に基づいてローカルモデルの縮減度合いを決定するパラメータを設定する。学習部122は、ローカルデータを用いて学習処理を実行する。ローカルモデル縮減部123は、縮減化設定部121によって設定されたパラメータに基づいて、学習部122によって生成されたローカルモデルを縮減し、サーバ装置100に送信する。推論部124は、サーバ装置100から受信したグローバルモデル及びタスクデータを用いてタスクの推論を行う。
【0033】
ここで、推論部124は様々な構成が考えられる。
図3A及び
図3Bは、実施例1の推論部124の構成の一例を示す図である。
【0034】
図3Aの推論部124は、特徴抽出部300及びタスク推論部301を含む。特徴抽出部300は、タスクデータから特徴量を抽出する。タスク推論部301は、特徴量を用いてタスクの推論を行って、推論結果を出力する。
図3Aの推論部124では、特徴抽出部300が使用するモデル(特徴抽出モデル)と、タスク推論部301が使用するモデル(タスク推論モデル)とが必要となる。この場合、二つのモデルを連合学習の対象のモデル(ローカルモデル)として扱ってもよいし、いずれか一方のモデルをローカルモデルとして扱ってもよい。
図3Aに示す構成の推論部124の場合、学習部122は、各モデルを生成する学習部に分割してもよい。
【0035】
図3Bの推論部124は、タスク推論部310を含む。タスク推論部310は、タスクデータを用いてタスクの推論を行って、推論結果を出力する。
図3Bの推論部124では、タスク推論部310が使用するモデル(タスク推論モデル)が必要となる。この場合、当該モデルがローカルモデルとして扱われる。
【0036】
なお、サーバ装置100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。また、エッジ装置101が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【0037】
次に、本実施例の連合学習の詳細について説明する。連合学習は、以下のような流れで行われる。
【0038】
(1)エッジ装置101は、ローカルデータを用いた学習処理を実行することによってモデルを生成する。なお、ローカルデータは、エッジ装置101に接続される機器及びセンサ等から取得されるデータでもよいし、シミュレータ等から取得されるデータでもよい。また、エッジ装置101はサーバ装置100内のプログラムとして仮想的に実現されてもよい。また、エッジ装置101は前記の構成を複数組み合わせたものでもよい。(2)エッジ装置101は、生成されたモデルのうち、連合学習の対象のモデルをローカルモデルとしてサーバ装置100に送信する。(3)サーバ装置100は、複数のローカルモデルを用いてグローバルモデルを生成し、各エッジ装置101にグローバルモデルを送信する。(4)エッジ装置101は、グローバルモデルを初期のローカルモデルに設定し、再度学習処理を実行する。以下、(2)から(4)までの処理が繰り返し実行される。
【0039】
以下、連合学習におけるエッジ装置101及びサーバ装置100の処理の詳細を説明する。
【0040】
図4は、実施例1のエッジ装置101が連合学習において実行する処理の一例を説明するフローチャートである。
【0041】
エッジ装置101は、通信路監視装置102から通信状態情報を取得する(ステップS101)。
【0042】
エッジ装置101の縮減化設定部121は、通信状態情報に基づいて縮減率を算出する(ステップS102)。
【0043】
例えば、縮減化設定部121は、ローカルモデルの転送に要する時間の条件を管理しており、当該条件と通信スループット及び通信レイテンシ等とに基づいて縮減率を算出する。さらに、縮減化設定部121は、縮減率に基づいてモデルを縮減するためのパラメータを算出する。パラメータは、例えば、閾値である。なお、時間的に変化する通信状態情報にあわせ、縮減率及びモデル縮減率に関するパラメータを更新してもよい。
【0044】
エッジ装置101の学習部122は学習処理の設定を行う(ステップS103)。具体的には、初期モデルを設定し、また、学習処理で使用する各種パラメータを設定する。ここで、初期モデルは初期のローカルモデルのみでもよいし、初期のローカルモデル及び他のモデルを含んでもよい。サーバ装置100からグローバルモデルを受信している場合には、グローバルモデルが初期のローカルモデルとして設定される。
【0045】
また、学習部122は、モデルのスパース化を促進するための設定を行う。例えば、損失関数にL1正則化項又はL2正則化項を追加する。また、重みの絶対値が閾値以下の場合にペナルティを課すような正則化項を追加してもよい。
【0046】
エッジ装置101の学習部122は学習処理を実行する(ステップS104)。学習処理は公知の技術であるため詳細な説明は省略する。学習処理によって生成されるモデルは、例えば、ニューラルネットワークである。
【0047】
図3Aに示す構成の推論部124の場合、特徴抽出モデル及びタスク推論モデルが生成される。特徴抽出モデルは、例えば、オートエンコーダ、VAE(Variational AutoEncoder)、VQ-VAE(Vector Quantised-Variational AutoEncoder)、及び、SimCLR(Simple framework for Contrastive Learning of visual Representations)、BYOL(Bootstrap Your Own Latent)等の対照学習(Contrastive Learning)等を用いて生成することができる。
【0048】
なお、連合学習の対象が特徴抽出モデルのみである場合、学習部122は、連合学習による特徴抽出モデルの学習が終了するまでは、特徴抽出モデルのみを学習し、連合学習による特徴抽出モデルの学習が終了した後、特徴抽出モデル及び学習データを用いてタスク推論モデルを学習するようにしてもよい。
【0049】
エッジ装置101のローカルモデル縮減部123は、縮減化設定部121によって算出されたパラメータに基づいて、学習処理によって生成されたローカルモデルを縮減する(ステップS105)。例えば、以下のような縮減方法が考えられる。
【0050】
(縮減方法1)ローカルモデル縮減部123はモデルの重み情報を取得する。ローカルモデル縮減部123は、重みの絶対値が閾値以下の重みを0に置き換える。
【0051】
(縮減方法2)ローカルモデル縮減部123はモデルの重み情報を取得する。絶対値が大きい順に重みを並び替える。ローカルモデル縮減部123は、重みの総数に対する非ゼロの重みの数の割合が閾値となるように、絶対値が小さい順に所定の数の重みを0に置き換える。
【0052】
値が0の重みの数を増やすことによって、モデルのデータサイズを小さくすることができる。
【0053】
エッジ装置101のローカルモデル縮減部123は、サーバ装置100に縮減ローカルモデルを送信する(ステップS106)。
【0054】
図5は、実施例1のサーバ装置100が連合学習において実行する処理の一例を説明するフローチャートである。
【0055】
サーバ装置100のローカルモデル縮減部111は、エッジ装置101から受信したローカルモデルを縮減する(ステップS201)。縮減に使用するパラメータは予め設定されているものとする。全てのエッジ装置101からローカルモデルを受信していない場合、サーバ装置100は、ステップS201には進まず、待機する。
【0056】
全てのエッジ装置101からローカルモデルを受信した場合、サーバ装置100のグローバルモデル生成部113は、複数のローカルモデルを用いてグローバルモデルを生成する(ステップS202)。例えば、グローバルモデル生成部113は、式(1)を用いて重みを算出する。
【0057】
【0058】
ここで、wiはi番目のエッジ装置101から受信したローカルモデルの重み情報(重みベクトル)を表し、a1、a2、a3は係数を表す。なお、iは1からNまでの自然数である。また、mode関数は最頻値を出力する関数であり、max関数は最大値を出力する関数である。
【0059】
式(1)は、重みの最頻値及び最大値を考慮して、グローバルモデルの重みを算出する数式になっている。
【0060】
サーバ装置100は、各通信路105の通信状態情報を取得する(ステップS203)。
【0061】
サーバ装置100の縮減化設定部112は、各通信路105の通信状態情報に基づいて縮減率を算出する(ステップS204)。
【0062】
縮減化設定部112は、グローバルモデルの転送に要する時間の条件を管理しており、当該条件及び各通信路105のスループットに基づいて各エッジ装置101の縮減率を算出する。さらに、縮減化設定部121は、縮減率に基づいてモデルを縮減するためのパラメータを算出する。パラメータは、例えば、閾値である。
【0063】
サーバ装置100のグローバルモデル縮減部114は、各エッジ装置101のパラメータに基づいて、グローバルモデルを縮減する(ステップS205)。モデルの縮減方法は、ステップS105で説明した方法と同一である。ここでは、エッジ装置101毎にグローバルモデルが縮減される。
【0064】
サーバ装置100のグローバルモデル縮減部114は、各エッジ装置101に縮減グローバルモデルを送信する(ステップS206)。
【0065】
次に、エッジ装置101が実行する推論処理について説明する。
図6は、実施例1のエッジ装置101が実行する推論処理の一例を説明するフローチャートである。
【0066】
推論部124は、学習部122によって生成されたモデルの情報を取得し(ステップS301)、また、タスクデータを取得する(ステップS302)。
【0067】
推論部124は、モデル及びタスクデータを用いて推論を行い(ステップS303)、推論結果を出力する(ステップS304)。具体的には、推論部124は、モデルにタスクデータを入力することによって推論結果を取得する。
【0068】
なお、ローカルモデル及びグローバルモデルの少なくともいずれか一方を縮減する計算機システムでもよい。なお、サーバ装置100及びエッジ装置101の少なくともいずれかが通信路監視装置102の機能を有する構成でもよい。
【0069】
以下、実施例1で説明した計算機システムの具体的な事例について説明する。
【0070】
(事例1)工場の消費電力を監視及び制御するシステム
エッジ装置101は、工場で稼働する機器及びセンサと通信可能に接続される。また、エッジ装置101は、機器及びセンサから取得したデータから電力使用状況の特徴を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いて電力使用量の予測値又は電量消費量を削減する制御ポリシーを出力するタスク推論モデルとを保持する。
【0071】
(事例2)工場における製品の製造作業の割当を制御するシステム
エッジ装置101は、工場で稼働する機器及びセンサと通信可能に接続される。また、エッジ装置101は、機器及びセンサから取得したデータから機器が行う作業の特性を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いてロボットの作業割り当てポリシーを出力するタスク推論モデルとを保持する。
【0072】
(事例3)工場における製造の製造作業を制御するシステム
エッジ装置101は、工場で稼働する機器及びセンサと通信可能に接続される。また、エッジ装置101は、機器及びセンサから取得したデータから機器が行う作業の状態(例えば、ロボットアームがワークを把持する力等)を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いて機器の制御値を出力するタスク推論モデルとを保持する。
【0073】
(事例4)工場における設備の異常を監視するシステム
エッジ装置101は、工場の設備及びセンサと通信可能に接続される。また、エッジ装置101は、設備及びセンサから取得したデータから、設備の稼働状態を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いて設備の異常の有無及び内容を出力するタスク推論モデルとを保持する。
【0074】
(事例5)工場における設備の異常原因を出力するシステム
エッジ装置101は、工場の設備及びセンサと通信可能に接続される。また、エッジ装置101は、設備及びセンサから取得したデータから、設備の異常の発生状態(例えば、電気ノイズの有無、可動部回転数の異常など)を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いて設備異常の原因を出力するタスク推論モデルとを保持する。
【0075】
(事例6)工場における製品の品質を管理するシステム
エッジ装置101は、工場の検査を行う設備及びセンサと通信可能に接続される。また、エッジ装置101は、設備及びセンサから取得したデータから、製品の状態を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いて製品の品質を出力するタスク推論モデルとを保持する。
【0076】
(事例7)通信網における通信品質を管理するシステム
エッジ装置101は、光及び無線通信網における送受信器/ノード機器等の通信機器又は通信機器に具備されたセンサと通信可能に接続される。また、エッジ装置101は、通信機器及びセンサから取得したデータから、通信機器又は通信機器が接続された通信路の状態を表す特徴ベクトルを出力する特徴抽出モデルと、当該特徴ベクトルを用いて通信機器又は通信機器が接続された通信路の品質を出力するタスク推論モデルとを保持する。
【0077】
(変形例)エッジ装置101は、推論結果を利用した処理を実行するようにしてよい。例えば、
図7に示すような機能構成が考えられる。エッジ装置101は、ドキュメント及び検索キーを対応づけたデータを格納するドキュメントDB126を保持し、また、ドキュメントDB126からドキュメントを検索するドキュメント検索部125を有する。推論部124は、画像及び文書等を含むタスクデータから推定キーを出力する。ドキュメント検索部125は、推論部124から出力された推定キーと、ドキュメントDB126に登録されている検索キーとの類似度を評価するスコアを算出し、スコアに基づいて関連するドキュメントを検索する。
【0078】
ドキュメントDB126には、例えば、機器の動作状態を表す検索キーと、機器の動作状態に応じた対処方法又は改善策が記載されたドキュメントとを対応づけたデータを登録することが考えられる。この場合、推論部124は、機器の動作に関する値を含むタスクデータから機器の動作状態を表す推定キーを出力し、ドキュメント検索部125は関連するドキュメントを出力する。これによって、機器に関する情報を取得することができる。
【0079】
以上で説明したように、本発明によれば、連合学習において、通信状況に応じてモデルを縮減し、サーバ装置100及びエッジ装置101間でモデルを送受信することができる。これによって、連合学習における通信負荷を抑えることができる。
【0080】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0081】
特許請求の範囲に記載した以外の発明の観点の代表的なものとして、次のものがあげられる。
(1)学習に使用するデータを取得し、前記データを用いたタスクに関する推論に用いる第1モデルを生成するための学習処理を実行するエッジ装置と接続するサーバ装置であって、
前記複数のエッジ装置の各々によって生成された前記第1モデルを用いて第2モデルを生成し、
前記エッジ装置及び前記サーバ装置の間の通信路の通信状態に関する通信状態情報を取得し、
前記通信状態情報に基づいて、モデルのデータサイズを削減するための縮減処理に使用するパラメータを算出し、
前記パラメータに基づいて、生成された前記第2モデルに対して前記縮減処理を実行し、
前記縮減処理が実行された前記第2モデルを前記エッジ装置に送信することを特徴とするサーバ装置。
(2)(1)に記載のサーバ装置であって、
前記第1モデル及び前記第2モデルはニューラルネットワークであって、
前記サーバ装置は、前記複数のエッジ装置の各々から受信した前記第1モデルの重みの平均、最頻値、及び最大値を考慮したアルゴリズムに基づいて、前記第2モデルの重みを決定することを特徴とするサーバ装置。
(3)(1)に記載のサーバ装置であって、
前記エッジ装置は、前記学習処理において、前記データから特徴情報を抽出する特徴抽出モデルと、前記特徴情報を用いて前記タスクに関する推論を行うタスク推論モデルとを生成し、
前記第1モデルは、前記特徴抽出モデルであることを特徴とするサーバ装置。
【0082】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0083】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0084】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0085】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。