JP7551458B2 - Model data providing method, model data providing system, server device, and computer program - Google Patents

Model data providing method, model data providing system, server device, and computer program Download PDF

Info

Publication number
JP7551458B2
JP7551458B2 JP2020186620A JP2020186620A JP7551458B2 JP 7551458 B2 JP7551458 B2 JP 7551458B2 JP 2020186620 A JP2020186620 A JP 2020186620A JP 2020186620 A JP2020186620 A JP 2020186620A JP 7551458 B2 JP7551458 B2 JP 7551458B2
Authority
JP
Japan
Prior art keywords
model
data
local
global
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020186620A
Other languages
Japanese (ja)
Other versions
JP2022076277A (en
Inventor
健一 松崎
淳也 石川
悠哉 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JSOL Corp
Original Assignee
JSOL Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JSOL Corp filed Critical JSOL Corp
Priority to JP2020186620A priority Critical patent/JP7551458B2/en
Publication of JP2022076277A publication Critical patent/JP2022076277A/en
Application granted granted Critical
Publication of JP7551458B2 publication Critical patent/JP7551458B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、分散学習の実用化のためのモデルのデータ提供方法、モデルのデータ提供システム、サーバ装置、及びコンピュータプログラムに関する。 The present invention relates to a method for providing model data for practical application of distributed learning, a system for providing model data, a server device, and a computer program.

深層学習に基づく学習モデルを用いた判定、認識等が実用化されている。学習モデルは多様な技術分野で活用できることが確認されている。学習モデルの精度を各種分野で実用化できる程度に向上するために膨大なトレーニングデータを用いたとしてもパラメータの収束に長時間を要し、精度が良くなるとも限らない。 Judgment, recognition, etc. using learning models based on deep learning have been put to practical use. It has been confirmed that learning models can be used in a variety of technical fields. Even if a huge amount of training data is used to improve the accuracy of the learning models to a level that can be used in various fields, it takes a long time for the parameters to converge, and there is no guarantee that the accuracy will improve.

特許文献1には、学習対象の学習モデルのレプリカを複数用意し、それらの複数のモデルレプリカが、非同期で独自に学習する方法が開示されている。特許文献1では、パラメータサーバが複数に断片化されており、学習モデルの複数のレプリカが夫々、非同期で、断片化されたパラメータサーバからパラメータを取得して学習し、パラメータを各パラメータサーバへ返すことを繰り返す。このような分散処理により、学習モデルのパラメータが早期に収束するとされている。 Patent Document 1 discloses a method in which multiple replicas of a learning model to be learned are prepared, and these multiple model replicas learn independently and asynchronously. In Patent Document 1, a parameter server is fragmented into multiple parts, and each of the multiple replicas of the learning model asynchronously acquires parameters from the fragmented parameter servers, learns from them, and returns the parameters to each parameter server in a repeated manner. This type of distributed processing is said to allow the parameters of the learning model to converge quickly.

米国特許第8768870号明細書U.S. Pat. No. 8,768,870

特許文献1に開示されているような分散処理による深層学習の方法であっても、トレーニングデータは集約している。しかしながら、医療、金融、認証といった分野のデータは個人データであって機密性が高い。モデルの精度を高めるためにトレーニングデータとしてデータを集約するためには、データの提供に各個人の同意が必要である上、同意が得られたとしてもデータ管理の安全性に対するリスクが常につきまとう。 Even in the deep learning method using distributed processing as disclosed in Patent Document 1, training data is aggregated. However, data in fields such as medicine, finance, and authentication is personal data and is highly confidential. In order to aggregate data as training data to improve the accuracy of the model, each individual's consent is required to provide the data, and even if consent is obtained, there is always a risk to the security of data management.

本発明は、斯かる事情に鑑みてなされたものであり、分散学習に基づく学習モデルの実用化を促進するモデルのデータ提供方法、モデルのデータ提供システム、サーバ装置、及びコンピュータプログラムを提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and aims to provide a model data provision method, a model data provision system, a server device, and a computer program that promote the practical application of a learning model based on distributed learning.

本開示の一実施形態のモデルのデータ提供方法は、サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、前記複数のノードが処理するローカルデータによって、各ノードに前記グローバルモデルを基にローカルモデルを学習させ、学習後のローカルモデル及びローカルモデルのバージョン情報を各ノードから取得し、前記複数のノード夫々から取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新し、取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、選択されたモデルのデータを前記複数のノード又は他の装置へ配布する処理を含む。 A model data provision method according to an embodiment of the present disclosure includes distributing global model data stored in a server to a plurality of nodes, having each node learn a local model based on the global model using local data processed by the plurality of nodes, acquiring the learned local model and version information of the local model from each node, updating the global model data based on the plurality of local model data acquired from each of the plurality of nodes, storing the acquired local model data and the updated global model data in association with the version information, accepting a selection from the global model and the local model associated with different version information, and distributing the selected model data to the plurality of nodes or other devices.

本開示の一実施形態のモデルのデータ提供システムは、ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、前記複数のノードは夫々、処理対象のローカルデータのデータによって前記グローバルモデルからローカルモデルの学習を各々進め、前記サーバが備える処理部は、学習後の前記ローカルモデル及びローカルモデルのバージョン情報を前記複数のノードから取得し、前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、選択されたモデルのデータを前記複数のノード又は他の装置へ配布する。 The model data provision system of one embodiment of the present disclosure includes a plurality of nodes each processing local data, and a server connected to the plurality of nodes for communication, the server distributes global model data to the plurality of nodes, the plurality of nodes each proceeds with learning of a local model from the global model using data of the local data to be processed, the processing unit of the server acquires version information of the local model and the local model after learning from the plurality of nodes, updates the data of the global model based on the data of the local model after learning acquired from each of the plurality of nodes, stores the acquired local model data and the updated global model data in association with the version information, accepts a selection from the global model and the local model associated with different version information, and distributes the data of the selected model to the plurality of nodes or other devices.

本開示の一実施形態のサーバ装置は、複数のノードと通信接続する通信部と、記憶するグローバルモデルのデータに対する処理部とを備え、前記処理部により、記憶するグローバルモデルのデータを前記複数のノードに対して配布し、前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータをバージョン情報と対応付けて取得し、前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、選択されたモデルのデータを前記複数のノード又は他の装置へ配布する。 A server device according to an embodiment of the present disclosure includes a communication unit that communicates with a plurality of nodes and a processing unit for storing global model data, and distributes the stored global model data to the plurality of nodes by the processing unit, acquires local model data learned based on the global model using local data processed by the plurality of nodes in association with version information, updates the global model data based on the learned local model data acquired from each of the plurality of nodes, stores the acquired local model data and the updated global model data in association with version information, accepts a selection from the global model and local models associated with different version information, and distributes the selected model data to the plurality of nodes or other devices.

本開示の一実施形態のコンピュータプログラムは、複数のノードに通信接続が可能なコンピュータに、記憶するグローバルモデルのデータを前記複数のノードに対して配布し、前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータをバージョン情報と対応付けて取得し、前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、選択されたモデルのデータを前記複数のノード又は他の装置へ配布する処理を実行させる。 A computer program according to an embodiment of the present disclosure causes a computer capable of communication with multiple nodes to execute a process of distributing stored global model data to the multiple nodes, acquiring local model data learned based on the global model using local data processed by the multiple nodes in association with version information, updating the global model data based on the learned local model data acquired from each of the multiple nodes, storing the acquired local model data and the updated global model data in association with version information, accepting a selection from a global model and a local model associated with different version information, and distributing the selected model data to the multiple nodes or other devices.

本開示のモデルのデータ提供方法、モデルのデータ提供システム、サーバ装置、及びコンピュータプログラムでは、グローバルモデルのデータは、各ノードで学習されたローカルモデルによって更新され、サーバにて学習用のデータを集約せずに多くのデータを用いた学習が実現される。実際にノードで利用するために選択できるモデルの対象として、グローバルモデルのみならず、他のノードで学習されたローカルモデルが含まれる。 In the model data provision method, model data provision system, server device, and computer program disclosed herein, data of the global model is updated by local models trained at each node, and learning using a large amount of data is realized without aggregating data for learning at the server. The models that can be selected for actual use at a node include not only global models, but also local models trained at other nodes.

本開示の一実施形態のモデルのデータ提供方法は、前記複数のノードに、各ノードの処理対象であるローカルデータに基づいて、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの精度に基づく評価値を算出させ、算出された評価値に基づいて、グローバルモデル又はローカルモデルの選択を受け付ける処理を含む。 The model data provision method of one embodiment of the present disclosure includes a process of having the multiple nodes calculate evaluation values based on the accuracy of a global model and a local model associated with different version information, based on the local data to be processed by each node, and accepting a selection of the global model or the local model based on the calculated evaluation values.

本開示のモデルのデータ提供方法では、グローバルモデルのみならずローカルモデルについても、評価値が算出されて記憶され、他のノードから閲覧が可能になる。これにより、ノードは、他のノードで学習されて自ノードにとって適したモデルも使用可能である。 In the model data provision method disclosed herein, evaluation values are calculated and stored for not only global models but also local models, and can be viewed by other nodes. This allows nodes to use models that have been learned by other nodes and are suitable for the node itself.

本開示の一実施形態のモデルのデータ提供方法は、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、複数のグローバルモデル及び/又はローカルモデルの選択を受け付け、グローバルモデル及び/又はローカルモデルそれぞれに、前記ノードが処理するデータを入力して得られる複数の出力結果の比較に基づき、前記データに対する結果を特定させる。 The model data provision method of one embodiment of the present disclosure accepts the selection of multiple global models and/or local models from global models and local models associated with different version information, and causes each of the global model and/or local model to identify a result for the data based on a comparison of multiple output results obtained by inputting data to be processed by the node.

本開示の一実施形態のコンピュータプログラムは、サーバと通信接続されるコンピュータに、前記サーバから配布されるグローバルモデルのデータを基にして処理対象のローカルデータを用いたローカルモデルを学習する処理と、学習後のローカルモデルのデータを前記サーバへ送信する処理とを繰り返し、異なるバージョン情報が対応付けられたグローバルモデルのデータ及びローカルモデルのデータを取得し、取得したデータに対応する複数のグローバルモデル及び/又はローカルモデルそれぞれに、データを入力して得られる複数の出力結果の比較に基づいて前記データに対する結果を特定する処理を実行させる。 A computer program according to an embodiment of the present disclosure causes a computer connected to a server to repeatedly perform a process of learning a local model using local data to be processed based on global model data distributed from the server, and a process of transmitting the learned local model data to the server, to acquire global model data and local model data associated with different version information, and to execute a process of inputting data into each of a plurality of global models and/or local models corresponding to the acquired data and identifying a result for the data based on a comparison of a plurality of output results obtained.

本開示のモデルのデータ提供方法及びコンピュータプログラムでは、グローバルモデル及びローカルモデルの一覧から、複数の指定が可能であり、複数のモデルに対してデータを入力した場合に複数のモデルそれぞれから得られる結果を比較できる。比較の結果、より多くのモデルから得られた結果で、前記データに対する結果を特定することで、より精度良い結果を得ることが可能になる。 In the model data provision method and computer program disclosed herein, multiple specifications are possible from a list of global models and local models, and when data is input for multiple models, the results obtained from each of the multiple models can be compared. As a result of the comparison, it is possible to obtain more accurate results by identifying the results for the data from the results obtained from more models.

本開示の一実施形態のモデルのデータ提供方法は、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの内、前記複数のノード夫々に、モデルを選択させ、所定数以上のノードで選択されたモデルを選出する。 The model data provision method of one embodiment of the present disclosure has each of the multiple nodes select a model from among global models and local models associated with different version information, and selects the model selected by a predetermined number or more of nodes.

本開示のモデルのデータ提供方法では、各ノードから選択された履歴によって、所定数以上のノードで選択されたモデルが選出される。ローカルモデルをも含め、モデル内で多くのノードで利用されるモデルがどのモデルであるかが特定可能になる。選出されたモデルが以後、優先的に配布されてもよいし、バージョンアップ、更新対象とされてもよい。 In the model data provision method disclosed herein, models selected by a predetermined number of nodes or more are selected based on the history of selections from each node. It becomes possible to identify which models are used by many nodes within a model, including local models. The selected models may then be given priority for distribution, or may be targeted for version upgrades and updates.

本開示の一実施形態のモデルのデータ提供方法は、前記グローバルモデル及びローカルモデルのバージョン情報と対応付けて、学習に用いられたローカルデータのデータ量、データ特性、又は学習量を記憶し、前記データ量、データ特性又は学習量を示すデータと共に、前記グローバルモデル及びローカルモデルの選択肢を出力し選択を受け付ける。 A data provision method for a model according to an embodiment of the present disclosure stores the data volume, data characteristics, or learning volume of local data used in learning in association with version information of the global model and local model, and outputs options for the global model and local model together with data indicating the data volume, data characteristics, or learning volume, and accepts a selection.

本開示のモデルのデータ提供方法では、グローバルモデルのみならずローカルモデルさえも、各ノードで利用するために選択できる。各モデルがどのようなローカルデータによって学習されたかが出力されることによって、自ノードにとって適切なモデルを選択できる。 In the model data provision method disclosed herein, not only global models but even local models can be selected for use at each node. By outputting the local data with which each model was trained, an appropriate model for the node can be selected.

本開示の一実施形態のモデルのデータ提供方法は、前記グローバルモデルのデータの配布、ローカルモデルの学習、ローカルモデルのデータに基づくグローバルモデルのデータの更新を繰り返す過程における前記グローバルモデル及びローカルモデルの評価値を各算出し、前記評価値に基づき、配布、更新の対象であるグローバルモデルを、前記グローバルモデル又はローカルモデルから選出する。 A model data provision method according to an embodiment of the present disclosure calculates evaluation values for the global model and the local model during the repeated process of distributing data for the global model, learning a local model, and updating the data for the global model based on the data for the local model, and selects a global model to be distributed and updated from the global model or the local model based on the evaluation values.

本開示のモデルのデータ提供方法では、グローバルモデルのみならずローカルモデルをも含むモデルの中から、評価値によって適切なモデルが選出される。選出されたモデルのデータは優先的に選択されるように出力されてもよいし、以後の更新対象としてグローバルモデルのデータとして各ノードに再配布されてもよい。 In the model data provision method disclosed herein, an appropriate model is selected from among models including not only global models but also local models based on the evaluation value. The data of the selected model may be output so as to be selected preferentially, or may be redistributed to each node as global model data for future updates.

本開示のモデルのデータ提供方法によれば、グローバルモデルのみならず、他のノードで学習されたローカルモデルについても、ノードにとって精度が高い結果が得られる場合には利用可能になる。 According to the model data provision method disclosed herein, not only global models but also local models trained on other nodes can be used if they produce highly accurate results for the node.

第1の実施形態のモデル提供システムの概要図である。FIG. 1 is a schematic diagram of a model providing system according to a first embodiment. ノードの構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a node. サーバの構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a server. モデル提供システムにおけるモデルの学習処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a model learning processing procedure in the model providing system. 配布されたグローバルモデルに基づくローカルモデルの学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure for a local model based on a distributed global model. サーバにおけるグローバルモデルの更新処理の一例を示すフローチャートである。13 is a flowchart illustrating an example of a global model update process in the server. モデルの選択の処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a processing procedure for selecting a model. モデルの一覧画面の一例を示す。13 shows an example of a model list screen. モデルの個別画面の一例を示す。1 shows an example of an individual screen of a model. ノードにおけるモデル利用手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a model utilization procedure in a node. 第2の実施形態におけるモデルの選択の処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a processing procedure for selecting a model according to the second embodiment. 第3の実施形態のモデル提供システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model providing system of the third embodiment. 第3の実施形態におけるローカルモデルの更新手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a procedure for updating a local model according to the third embodiment. モデル選択の処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a processing procedure for model selection. 第3の実施形態におけるモデル一覧画面の一例を示す。13 shows an example of a model list screen according to the third embodiment. モデルの選出に基づく更新処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of an update process procedure based on model selection. モデルの選出に基づく更新処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of an update process procedure based on model selection. モデルの選出に基づく抽出処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of an extraction process procedure based on model selection. 第3の実施形態におけるモデル一覧画面の他の一例を示す。13 shows another example of the model list screen in the third embodiment. 第4の実施形態のモデル提供システムの概要図である。FIG. 13 is a schematic diagram of a model providing system according to a fourth embodiment. 第4の実施形態におけるローカルモデルの更新手順の一例を示すフローチャートである。23 is a flowchart illustrating an example of a procedure for updating a local model according to the fourth embodiment. 第4の実施形態におけるモデル一覧画面の一例を示す。23 shows an example of a model list screen in the fourth embodiment.

本開示をその実施の形態を示す図面を参照して具体的に説明する。 This disclosure will be specifically described with reference to drawings showing embodiments thereof.

(第1の実施形態)
図1は、第1の実施形態のモデル提供システム100の概要図である。モデル提供システム100は、データを記憶する記憶装置2に対して1又は複数設けられたノード1と、サーバ3と、ノード1及びサーバ3間を通信接続する通信網Nとを含む。
First Embodiment
1 is a schematic diagram of a model providing system 100 according to a first embodiment. The model providing system 100 includes one or more nodes 1 provided for a storage device 2 that stores data, a server 3, and a communication network N that connects the nodes 1 and the server 3 for communication.

記憶装置2は、物理量を測定するセンサ、画像を撮影するカメラ等、学習対象のデータを入出力する機器との間でデータの入出力が可能であり、それらのデータを蓄積する。記憶装置2は、操作によって入力されるデータに応じて出力する特定用途の計算機に接続されてもよい。記憶装置2は、ユーザが用いる情報端末の記憶装置であってもよい。記憶装置2は、クライアント装置からデータを収集するサーバ装置に使用される記憶装置であってもよい。 The storage device 2 is capable of inputting and outputting data between devices that input and output data to be learned, such as sensors that measure physical quantities and cameras that take images, and stores this data. The storage device 2 may be connected to a computer for a specific purpose that outputs data according to data input by operation. The storage device 2 may be a storage device of an information terminal used by a user. The storage device 2 may be a storage device used in a server device that collects data from client devices.

ノード1は、記憶装置2が記憶しているデータと同種のデータが入力された場合に、データに基づいて認識結果、判定結果、又は新たなデータを出力するように、モデルの深層学習を実行する。サーバ3は、ノード1に対してモデルを提供するコンピュータであると共に、ノード1と協働してモデルを学習するモデル提供システム100を実現する。記憶装置2が記憶しているデータ(以下、ローカルデータという)をトレーニングデータとしてモデルの学習を実行するには、これらにアクセスできる必要がある。本実施の形態のモデル提供システム100は、サーバ3からのローカルデータへのアクセスを不可とした状態で、学習を進行させることができる。 When node 1 is input with data of the same type as the data stored in storage device 2, node 1 executes deep learning of the model so as to output a recognition result, a judgment result, or new data based on the data. Server 3 is a computer that provides a model to node 1, and also realizes model providing system 100 that learns the model in cooperation with node 1. In order to learn the model using the data stored in storage device 2 (hereinafter referred to as local data) as training data, it is necessary to be able to access these. In this embodiment, model providing system 100 can proceed with learning in a state where access to the local data from server 3 is not possible.

サーバ3は、初期的に、第0次グローバルモデル51を得る。サーバ3は、第0次グローバルモデル51を、通信網Nを介してノード1へ配布する。サーバ3からノード1へ配布されるグローバルモデル51の実体(データ)は、学習済みのパラメータのみ、又は、学習済みのパラメータとプログラムの両方である。グローバルモデル51は、モデルの構成を定義する定義データ(ネットワーク定義、損失や予め設定されるハイパーパラメータを含む)と、学習対象の重み係数等のパラメータとであってもよい。 The server 3 initially obtains a zeroth-order global model 51. The server 3 distributes the zeroth-order global model 51 to the node 1 via the communication network N. The entity (data) of the global model 51 distributed from the server 3 to the node 1 is only the trained parameters, or both the trained parameters and the program. The global model 51 may be definition data (including the network definition, loss, and pre-set hyperparameters) that defines the configuration of the model, and parameters such as the weight coefficients of the learning target.

学習対象のモデルは、深層学習と呼ばれる学習の対象であればアーキテクチャは問わない。深層学習のモデルの種類は、入力データ及び出力データの内容に応じて適切に選択されるべきである。以下説明する学習対象のモデルは、畳み込み層を含むCNN(Convolutional Neural Network)を用いた分類系、検出系、又は生成系等のいずれでもよいし、時系列要素を加味して学習するRNN(Recurrent Neural Network)であってもよい。 The model to be trained can have any architecture as long as it is the subject of what is called deep learning. The type of deep learning model should be appropriately selected depending on the contents of the input data and output data. The model to be trained described below may be a classification system, detection system, or generation system using a CNN (Convolutional Neural Network) that includes a convolutional layer, or it may be a RNN (Recurrent Neural Network) that learns by taking into account time series elements.

通信網Nは、所謂インターネットである公衆通信網、キャリアネットワークを含む。通信網Nは、モデル提供システム100用の専用回線であってもよい。 The communication network N includes a public communication network, such as the Internet, and a carrier network. The communication network N may be a dedicated line for the model providing system 100.

ノード1は、記憶装置2との間のローカルネットワークLNに基づいて、記憶装置2に蓄積されたローカルデータにアクセス可能である。ノード1は、アクセス可能なローカルデータを用いて深層学習を実行する。ローカルデータに対しては既に、ノード1が設置されている場所のオペレータによってアノテーションが実施済であるとよい。ノード1は、サーバ3から配布される第0次グローバルモデル51を取得する。ノード1は、第0次グローバルモデル51を基に、ローカルデータをトレーニングデータとして学習を進行し、第1次ローカルモデル52を得る。 Node 1 can access local data stored in the storage device 2 based on the local network LN between node 1 and storage device 2. Node 1 performs deep learning using the accessible local data. It is preferable that the local data has already been annotated by an operator at the location where node 1 is installed. Node 1 obtains the 0th global model 51 distributed from server 3. Node 1 proceeds with learning based on the 0th global model 51 and the local data as training data, and obtains the 1st local model 52.

ノード1は、第1次ローカルモデル52を、サーバ3へ送信する。ローカルデータはサーバ3へ送信されないから、ローカルデータの抽象化、匿名化等の処理は不要である。 Node 1 transmits the first local model 52 to server 3. Because local data is not transmitted to server 3, processing such as abstraction and anonymization of local data is not required.

サーバ3は、複数のノード1夫々から第1次ローカルモデル52を複数受信し、受信した複数の第1次ローカルモデル52に対して統計処理を実行して第1次グローバルモデル51を作成する。サーバ3は、第1次グローバルモデル51を、複数のノード1へ再配布する。再配布されるグローバルモデル51は、重み係数のみであってもよい。再配布される重み係数は学習対象であってもよいし、全体であってもよい。再配布されるグローバルモデル51は、前回の更新からの差分に対応するものであってもよい。 The server 3 receives multiple first local models 52 from each of the multiple nodes 1, and performs statistical processing on the multiple received first local models 52 to create a first global model 51. The server 3 redistributes the first global model 51 to the multiple nodes 1. The redistributed global model 51 may be only the weight coefficient. The redistributed weight coefficient may be the learning target or may be the entire model. The redistributed global model 51 may correspond to the difference from the previous update.

モデル提供システム100は、サーバ3からノード1への第n次グローバルモデル51の配布、第n次グローバルモデル51のノード1におけるローカルデータを用いた学習、学習によって得られる第(n+1)次ローカルモデル52のサーバ3への送信、サーバ3での第(n+1)次ローカルモデル52の収集及び第(n+1)次グローバルモデル51の作成(更新)を繰り返す。 The model provision system 100 repeats the following steps: distributing an nth-order global model 51 from the server 3 to node 1, learning the nth-order global model 51 using local data at node 1, transmitting the (n+1)th-order local model 52 obtained by learning to the server 3, collecting the (n+1)th-order local model 52 at the server 3, and creating (updating) the (n+1)th-order global model 51.

これにより、サーバ3からローカルデータへのアクセスを許可することなく、分散学習が可能になる。モデル提供システム100では、グローバルモデル51の配布と、ローカルモデル52の学習とを繰り返していく学習過程において、ノード1で学習されたローカルモデル52も含む複数のモデルから、グローバルモデル51を更新する。また、ノード1で学習されたローカルモデル52及び導出されたグローバルモデル51の中から、ノード1又はシステム外の情報処理装置4で利用するモデルを選択することを可能とする。 This enables distributed learning without allowing access to local data from the server 3. In the model providing system 100, in the learning process in which the distribution of the global model 51 and the learning of the local model 52 are repeated, the global model 51 is updated from multiple models including the local model 52 learned at the node 1. In addition, it is possible to select a model to be used at the node 1 or an information processing device 4 outside the system from among the local model 52 learned at the node 1 and the derived global model 51.

このようなモデルの提供方法を実現するモデル提供システム100の構成について詳細に説明する。 The configuration of the model provision system 100 that realizes this model provision method will be described in detail below.

図2は、ノード1の構成を示すブロック図である。ノード1は、パーソナルコンピュータ又はサーバコンピュータである。ノード1は、処理部10、記憶部11、通信部12、表示部13及び操作部14を備える。 Figure 2 is a block diagram showing the configuration of node 1. Node 1 is a personal computer or a server computer. Node 1 includes a processing unit 10, a memory unit 11, a communication unit 12, a display unit 13, and an operation unit 14.

処理部10は、CPU(Central Processing Unit )及び/又はGPU(Graphics Processing Unit)を用いたプロセッサである。処理部10は、記憶部11に記憶されているノードプログラム1Pに基づき、記憶装置2からのデータの読み出し、サーバ3との間でのモデルの送受信、及びモデル学習を含む処理を実行する。 The processing unit 10 is a processor that uses a CPU (Central Processing Unit) and/or a GPU (Graphics Processing Unit). Based on the node program 1P stored in the memory unit 11, the processing unit 10 executes processing including reading data from the storage device 2, sending and receiving models to and from the server 3, and model learning.

記憶部11は、例えばハードディスク、フラッシュメモリ、SSD(Solid State Drive)等の不揮発性メモリを用いる。記憶部11は、処理部10が参照するデータを記憶する。記憶部11は、ノードプログラム1Pを記憶する。記憶部11は、深層学習用のライブラリ1Lを記憶する。ノードプログラム1P及び/又は深層学習用のライブラリ1Lは、記録媒体8に記憶してあるノードプログラム8P及び/又は深層学習用のライブラリ8Lを処理部10が読み出して記憶部11に複製したものであってもよい。記憶部11は、サーバ3から取得するグローバルモデル51、及び、ローカルデータによって学習されるローカルモデル52夫々を記憶する。 The storage unit 11 uses a non-volatile memory such as a hard disk, a flash memory, or an SSD (Solid State Drive). The storage unit 11 stores data referenced by the processing unit 10. The storage unit 11 stores a node program 1P. The storage unit 11 stores a library 1L for deep learning. The node program 1P and/or the library 1L for deep learning may be a node program 8P and/or a library 8L for deep learning stored in a recording medium 8 that is read by the processing unit 10 and copied to the storage unit 11. The storage unit 11 stores a global model 51 acquired from the server 3 and a local model 52 that is learned using local data.

通信部12は、通信網Nを介したデータ通信、及び、ローカルネットワークLNを介した記憶装置2との通信を各々実現する。通信部12は具体的には、例えばネットワークカードである。処理部10は、通信部12によって記憶装置2からデータを読み出し、サーバ3との間でデータを送受信する。 The communication unit 12 realizes data communication via the communication network N and communication with the storage device 2 via the local network LN. Specifically, the communication unit 12 is, for example, a network card. The processing unit 10 reads data from the storage device 2 via the communication unit 12 and transmits and receives data to and from the server 3.

表示部13は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等のディスプレイである。表示部13は、記憶部11に記憶されているデータに基づく情報、又はサーバ3から提供されるデータを含む画面を表示する。表示部13は、タッチパネル内蔵型ディスプレイであってもよい。 The display unit 13 is a display such as a liquid crystal display or an organic EL (Electro Luminescence) display. The display unit 13 displays a screen including information based on data stored in the memory unit 11 or data provided from the server 3. The display unit 13 may be a display with a built-in touch panel.

操作部14は、処理部10との間で入出力が可能なキーボード及びポインティングデバイス等のユーザインタフェースである。操作部14は、音声入力部であってもよい。操作部14は、表示部13のタッチパネルであってもよい。操作部14は、物理ボタンであってもよい。操作部14は、ノード1のオペレータによる操作データを処理部10へ通知する。 The operation unit 14 is a user interface such as a keyboard and a pointing device that can input and output data to and from the processing unit 10. The operation unit 14 may be a voice input unit. The operation unit 14 may be a touch panel of the display unit 13. The operation unit 14 may be physical buttons. The operation unit 14 notifies the processing unit 10 of operation data by the operator of the node 1.

図3は、サーバ3の構成を示すブロック図である。サーバ3は、サーバコンピュータである。サーバ3は、処理部30、記憶部31及び通信部32を備える。サーバ3は、以下の説明においては1台のサーバコンピュータによって構成されるものとして説明するが、複数台のサーバコンピュータをネットワークで通信接続して分散処理させる態様であってもよい。サーバ3は、通信網Nを介して各ノード1から通信接続が可能なクラウド型であってもよいし、仮想的なプライベートネットワークを介して各ノード1と通信接続するオンプレミス型であってもよい。 FIG. 3 is a block diagram showing the configuration of server 3. Server 3 is a server computer. Server 3 includes a processing unit 30, a storage unit 31, and a communication unit 32. In the following description, server 3 is described as being configured as one server computer, but it may also be configured in a manner in which multiple server computers are communicatively connected via a network for distributed processing. Server 3 may be a cloud type that can be communicatively connected from each node 1 via a communication network N, or an on-premise type that is communicatively connected to each node 1 via a virtual private network.

処理部30は、CPU及び/又はGPUを用いたプロセッサである。処理部30は、記憶部31に記憶されているサーバプログラム3Pに基づき、グローバルモデル51の学習処理を実行する。 The processing unit 30 is a processor using a CPU and/or a GPU. The processing unit 30 executes the learning process of the global model 51 based on the server program 3P stored in the memory unit 31.

記憶部31は、例えばハードディスク、SSD等の不揮発性メモリを用いる。記憶部31は、処理部30が参照するデータを記憶する。記憶部31は、サーバプログラム3Pを記憶する。サーバプログラム3Pは、Webサーバプログラムを含む。記憶部31は、グローバルモデル51、複数のノード1から送信されるローカルモデル52を記憶する。サーバプログラム3Pは、記録媒体9に記憶してあるサーバプログラム9Pを処理部30が読み出して記憶部31に複製したものであってもよい。 The storage unit 31 uses a non-volatile memory such as a hard disk or SSD. The storage unit 31 stores data referenced by the processing unit 30. The storage unit 31 stores a server program 3P. The server program 3P includes a web server program. The storage unit 31 stores a global model 51 and a local model 52 transmitted from multiple nodes 1. The server program 3P may be a server program 9P stored in a recording medium 9 that is read by the processing unit 30 and copied to the storage unit 31.

通信部32は、通信網Nを介したデータ通信を実現する。通信部32は具体的には、例えばネットワークカードである。処理部30は、通信部32によって複数のノード1との間でデータを送受信する。 The communication unit 32 realizes data communication via the communication network N. Specifically, the communication unit 32 is, for example, a network card. The processing unit 30 transmits and receives data between multiple nodes 1 via the communication unit 32.

このように構成されるモデル提供システム100における学習処理手順について説明する。図4は、モデル提供システム100におけるモデルの学習処理手順の一例を示すフローチャートである。 The learning process procedure in the model providing system 100 configured in this manner will be described. Figure 4 is a flowchart showing an example of the model learning process procedure in the model providing system 100.

サーバ3は、予め用意された初期的な(第0次)グローバルモデル51を取得する(ステップS1)。初期的なグローバルモデル51は、特定のノード1で第0次モデルとして作成されたモデルであってもよいし、ノード1ではなく特定の場所で学習されたモデルであってもよく、予め記憶部31に記憶してあるとよい。ステップS1の取得は、予め記憶部31に記憶されているグローバルモデル51の読み出しを含む。 The server 3 acquires an initial (0th order) global model 51 that has been prepared in advance (step S1). The initial global model 51 may be a model created as a 0th order model at a specific node 1, or may be a model learned at a specific location other than node 1, and may be stored in advance in the storage unit 31. The acquisition in step S1 includes reading out the global model 51 that has been stored in advance in the storage unit 31.

サーバ3は、取得した第0次グローバルモデル51をノード1へ配布する(ステップS2)。 The server 3 distributes the acquired zeroth global model 51 to node 1 (step S2).

サーバ3は、ノード1へ配布したグローバルモデル51を基に、ノード1で学習されるローカルモデル52を取得する(ステップS3)。 The server 3 obtains the local model 52 to be learned at the node 1 based on the global model 51 distributed to the node 1 (step S3).

サーバ3は、取得したローカルモデル52に対して統計処理を実行し、次世代のグローバルモデル51に更新する(ステップS4)。ステップS4においてサーバ3は、更新(ラウンド)回数を、加算して記憶してもよい。 The server 3 performs statistical processing on the acquired local model 52 and updates it to the next-generation global model 51 (step S4). In step S4, the server 3 may increment and store the number of updates (rounds).

サーバ3は、学習完了条件を満たすか否か判断する(ステップS5)。 The server 3 determines whether the learning completion conditions are met (step S5).

ステップS5についてサーバ3は例えば、更新回数が所定回数に到達したか否かで判断する。サーバ3は、グローバルモデル51の精度の向上が前回の更新に比して見られない場合に、学習が完了したと判断してもよい。 In step S5, the server 3 determines, for example, whether the number of updates has reached a predetermined number. The server 3 may determine that learning is complete when no improvement in the accuracy of the global model 51 is observed compared to the previous update.

学習完了条件を満たさないと判断された場合(S5:NO)、サーバ3は、更新後のグローバルモデル51を複数のノード1へ再分配し(ステップS6)、処理をステップS3へ戻す。 If it is determined that the learning completion condition is not met (S5: NO), the server 3 redistributes the updated global model 51 to multiple nodes 1 (step S6) and returns the process to step S3.

ステップS6においてサーバ3は、グローバルモデル51をそのまま再配布するのではなく、重み係数等のパラメータのみを再配布してもよい。 In step S6, the server 3 may redistribute only parameters such as weighting coefficients, rather than redistributing the global model 51 as is.

ステップS6においてサーバ3は、何回目の更新後のグローバルモデル51であるのか、即ち第n次グローバルモデル51の「n」を示すデータを共に送信するとよい。 In step S6, the server 3 may also transmit data indicating the number of updates to the global model 51, i.e., the "n" in the nth global model 51.

学習完了条件を満たすと判断された場合(S5:YES)、サーバ3は、更新後のグローバルモデル51を、ノード1以外へも配布可能なグローバルモデル51として、バージョン情報と対応付けて記憶し(ステップS7)、処理を終了する。バージョン情報は、ステップS5にて学習完了条件を満たすと判断されるまでローカルモデル52の学習及びグローバルモデル51の更新を実行した回数に対応する。バージョン情報は、ラウンド情報をマイナーな情報として含んでもよい。 If it is determined that the learning completion condition is met (S5: YES), the server 3 stores the updated global model 51 as a global model 51 that can be distributed to nodes other than the node 1 in association with the version information (step S7), and ends the process. The version information corresponds to the number of times that learning of the local model 52 and updating of the global model 51 were performed until it was determined in step S5 that the learning completion condition is met. The version information may include round information as minor information.

サーバ3は、図4のフローチャートに示した処理手順を、複数、例えば月に一度といった周期で実行する。その都度、グローバルモデルのバージョンが上昇し、より実用的なモデルとなる。 The server 3 executes the processing procedure shown in the flowchart in Figure 4 at regular intervals, for example once a month. Each time, the version of the global model is upgraded, making it a more practical model.

図5は、配布されたグローバルモデル51に基づくローカルモデル52の学習処理手順の一例を示すフローチャートである。図5のフローチャートに示す処理は、サーバ3がステップS2又はステップS6でグローバルモデル51を配布した場合に、複数のノード1夫々で実行する処理である。 Figure 5 is a flowchart showing an example of a learning process procedure for a local model 52 based on a distributed global model 51. The process shown in the flowchart in Figure 5 is executed by each of the multiple nodes 1 when the server 3 distributes the global model 51 in step S2 or step S6.

ノード1の処理部10は、配布されたグローバルモデル51を受信し、記憶部11に記憶する(ステップS301)。 The processing unit 10 of node 1 receives the distributed global model 51 and stores it in the memory unit 11 (step S301).

ノード1の処理部10は、記憶したグローバルモデル51をインスタンスとしてロードする(ステップS302)。処理部10は、記憶装置2に記憶してあるローカルデータをトレーニングデータとして取得し(ステップS303)、これをグローバルモデル51に与えて学習を実行する(ステップS304)。 The processing unit 10 of node 1 loads the stored global model 51 as an instance (step S302). The processing unit 10 acquires the local data stored in the storage device 2 as training data (step S303) and provides this to the global model 51 to perform learning (step S304).

ステップS304において処理部10は、ロードしたグローバルモデル51に対してローカルデータの入力データを入力する。処理部10は、出力されたデータと、ローカルデータに含まれる前記入力データに対応する結果データとに対する損失を算出する。処理部10は、算出した損失に基づいて配布されたグローバルモデル51における重み係数を含むパラメータを学習する。 In step S304, the processing unit 10 inputs the input data of the local data to the loaded global model 51. The processing unit 10 calculates the loss for the output data and the result data corresponding to the input data included in the local data. The processing unit 10 learns parameters including weight coefficients in the distributed global model 51 based on the calculated loss.

ノード1の処理部10は、学習完了条件を満たすか否かを判断する(ステップS305)。ステップS305において処理部10は、学習(更新)回数が所定回数(1回以上)を満たすことを学習完了条件とする。処理部10は、学習後のグローバルモデル51の出力精度が記憶してある所定値以上である場合に、学習完了条件を満たすと判断してもよい。処理部10は、出力精度の変化が所定範囲内に収まり、収束していると判断できる場合に学習完了条件を満たすと判断してもよい。 The processing unit 10 of node 1 determines whether the learning completion condition is met (step S305). In step S305, the processing unit 10 sets the learning completion condition to be that the number of learning (updates) meets a predetermined number (one or more). The processing unit 10 may determine that the learning completion condition is met when the output accuracy of the global model 51 after learning is equal to or greater than a stored predetermined value. The processing unit 10 may determine that the learning completion condition is met when the change in output accuracy falls within a predetermined range and can be determined to have converged.

学習完了条件を満たさないと判断された場合(S305:NO)、処理部10は処理をステップS304)へ戻す。これにより、学習が続行される。 If it is determined that the learning completion condition is not met (S305: NO), the processing unit 10 returns the process to step S304). This allows learning to continue.

学習完了条件を満たすと判断された場合(S305:YES)、処理部10は学習を終了し、パラメータが更新されたグローバルモデル51を、ローカルモデル52としてバージョン情報と対応付けて記憶する(ステップS306)。ここでバージョン情報は、グローバルモデル51のバージョン情報と一致するものとする。バージョン情報は日時であってもよい。1つのバージョンに対して最新のローカルモデル52が上書き記憶されてもよいし、異なるラウンド毎にローカルモデル52が記憶されてもよい。 If it is determined that the learning completion condition is met (S305: YES), the processing unit 10 ends the learning, and stores the global model 51 with updated parameters as a local model 52 in association with the version information (step S306). Here, the version information is assumed to match the version information of the global model 51. The version information may be date and time. The latest local model 52 may be overwritten and stored for one version, or a local model 52 may be stored for each different round.

ノード1の処理部10は、記憶したローカルモデル52を、サーバ3へ送信し(ステップS307)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52を取得することができる。 The processing unit 10 of the node 1 transmits the stored local model 52 to the server 3 (step S307) and ends the process. This enables the server 3 to obtain the local model 52 trained with the local data from each of the multiple nodes 1.

ステップS307において処理部10は、第n次のローカルモデル52なのか、又は元となるグローバルモデル51が第n次なのかの「n」を示すデータ(1回のバージョンアップにおける更新回数)を共に送信するとよい。ステップS307においてノード1は、後述するように1回の学習完了までの更新回数に対応するラウンド情報を得られる場合にはそのラウンド情報を、ローカルモデル52に対応付けて送信してもよい。 In step S307, the processing unit 10 may also transmit data indicating "n" (the number of updates in one upgrade) indicating whether the local model 52 is the nth order or whether the original global model 51 is the nth order. In step S307, if the node 1 obtains round information corresponding to the number of updates until one learning is completed, as described below, the node 1 may transmit the round information in association with the local model 52.

図5のフローチャートに示した処理によってノード1からは、ローカルデータがサーバ3へ送信されることがない点が、着目されるべきである。ローカルデータの匿名化も実行されない。ノード1から送信されるデータは、モデルそのものである。ローカルデータの特性は反映されているが、データの送信はされない。 It should be noted that the process shown in the flowchart of Figure 5 does not result in local data being sent from node 1 to server 3. No anonymization of the local data is performed. The data sent from node 1 is the model itself. The characteristics of the local data are reflected, but no data is sent.

図6は、サーバ3におけるグローバルモデル51の更新処理の一例を示すフローチャートである。図6のフローチャートに示す処理手順は、図4のフローチャートに示す処理手順の内のステップS4の詳細に対応する。 Figure 6 is a flowchart showing an example of a process for updating the global model 51 in the server 3. The process procedure shown in the flowchart in Figure 6 corresponds to the details of step S4 in the process procedure shown in the flowchart in Figure 4.

サーバ3の処理部30は、ノード1から送信されるローカルモデル52をバージョン情報と対応付けて取得し(ステップS401)、ノード1の識別データ及びバージョン情報と対応付けてローカルモデル52を記憶する(ステップS402)。ステップS401においてサーバ3の処理部30は、非同期に各ノード1から送信されるローカルモデル52を取得する。ステップS402においてサーバ3の処理部30は、図4のフローチャートにおけるステップS5で学習完了条件を満たすと判断されるまで、各ノード1からの最新のローカルモデル52を記憶する。ラウンド毎に、ラウンド情報が対応付けてられている場合に、処理部30は、学習完了までのラウンド毎のローカルモデル52を記憶してもよい。 The processing unit 30 of the server 3 acquires the local model 52 transmitted from the node 1 in association with the version information (step S401), and stores the local model 52 in association with the identification data and version information of the node 1 (step S402). In step S401, the processing unit 30 of the server 3 acquires the local model 52 transmitted asynchronously from each node 1. In step S402, the processing unit 30 of the server 3 stores the latest local model 52 from each node 1 until it is determined in step S5 of the flowchart in FIG. 4 that the learning completion condition is met. When round information is associated with each round, the processing unit 30 may store the local model 52 for each round until learning is completed.

処理部30は、取得したローカルモデル52でグローバルモデル51を更新すべきか否かを判断する(ステップS403)。ステップS403において処理部30は、グローバルモデル51を配布した配布先のノード1全てからローカルモデル52を取得できた場合に更新すべきであると判断してもよい。ステップS403において処理部30は、予め決定しておいた代表的の複数のノード1からローカルモデル52を取得できた場合に更新すべきであると判断してもよい。 The processing unit 30 determines whether the global model 51 should be updated with the acquired local model 52 (step S403). In step S403, the processing unit 30 may determine that the global model 51 should be updated if local models 52 can be acquired from all of the nodes 1 to which the global model 51 has been distributed. In step S403, the processing unit 30 may determine that the global model 51 should be updated if local models 52 can be acquired from a number of representative nodes 1 that have been determined in advance.

更新すべきでないと判断された場合(S403:NO)、サーバ3の処理部30は処理をステップS401へ戻す。更新すべきであると判断されるまで、各ノード1から送信されるローカルモデル52を取得し、集約する。 If it is determined that an update is not necessary (S403: NO), the processing unit 30 of the server 3 returns the process to step S401. The processing unit 30 acquires and aggregates the local models 52 sent from each node 1 until it is determined that an update is necessary.

更新すべきであると判断された場合(S403:YES)、サーバ3の処理部30は、複数のノード1からのローカルモデル52の平均を求める(ステップS404)。処理部30は、平均を新たなグローバルモデル51として更新する(ステップS405)。ステップS404において処理部30は例えば、ローカルモデル52に含まれる各重み係数の平均を算出する。 If it is determined that an update is necessary (S403: YES), the processing unit 30 of the server 3 calculates the average of the local models 52 from the multiple nodes 1 (step S404). The processing unit 30 updates the average as a new global model 51 (step S405). In step S404, the processing unit 30 calculates, for example, the average of each weighting coefficient included in the local model 52.

処理部30は、更新後のグローバルモデル51を、ラウンド情報、例えば更新回数(第n次)を示すデータ「n」と対応付けて記憶し(ステップS406)、グローバルモデル51の更新処理を終了する。これにより、第n-1次グローバルモデル51は、第n次グローバルモデル51に更新される。 The processing unit 30 stores the updated global model 51 in association with round information, for example, data "n" indicating the number of updates (nth) (step S406), and ends the update process for the global model 51. As a result, the (n-1)th global model 51 is updated to the nth global model 51.

ステップS406において処理部30は、各世代のグローバルモデル51を、更新回数を遡って読み出し可能に記憶部31に記憶する。 In step S406, the processing unit 30 stores the global model 51 of each generation in the memory unit 31 so that it can be read back by going back in time by the number of updates.

上述したように第1の実施形態のモデル提供システム100では、ローカルデータはサーバ3へ送信されることなしに、各所に記憶されているローカルデータを用いた学習結果に基づいてグローバルモデル51が実用化される。各所のローカルデータのみでは、データ量が不足するような場合であっても、1箇所に集約させた大量のデータによる学習よりも精度よく、且つ早期に実用可能なモデルを提供することが可能になる。 As described above, in the model providing system 100 of the first embodiment, the local data is not sent to the server 3, and the global model 51 is put into practical use based on the learning results using the local data stored in each location. Even in cases where the amount of data is insufficient using only the local data from each location, it is possible to provide a model that is more accurate and can be put into practical use sooner than learning using a large amount of data aggregated in one location.

第1の実施形態では、サーバ3がグローバルモデル51の学習(更新)及び改訂(バージョンアップ)の過程でラウンド情報、及びバージョン情報と対応付けて、グローバルモデル51と、ノード1から取るローカルモデル52とを記憶している。サーバ3は、バージョン別、ラウンド毎に、ノード1に対し、各バージョンのグローバルモデル51及びローカルモデル52から選択を受け付ける。 In the first embodiment, the server 3 stores the global model 51 and the local model 52 taken from the node 1 in association with round information and version information during the process of learning (updating) and revising (upgrading) the global model 51. The server 3 accepts a selection from the global model 51 and the local model 52 of each version for the node 1 for each version and each round.

図7は、モデルの選択の処理手順の一例を示すフローチャートである。サーバ3は、サーバプログラム3Pに基づく以下の処理手順により、ノード1からのリクエストに応じて、記憶してあるグローバルモデル51及びローカルモデル52の中から、選択を受け付ける。ノード1は、ノードプログラム1Pに基づく以下の処理手順により、オペレータからの選択操作を受け付け、利用するモデルをノード1に取得する。 Figure 7 is a flowchart showing an example of a processing procedure for selecting a model. The server 3 accepts a selection from among the stored global models 51 and local models 52 in response to a request from the node 1, by the following processing procedure based on the server program 3P. The node 1 accepts a selection operation from the operator and acquires the model to be used in the node 1, by the following processing procedure based on the node program 1P.

ノード1のオペレータは、サーバ3から提供されるWebページへのアクセスを試みる。ノード1の処理部10は、ノードプログラム1Pに含まれるWebブラウザプログラムに基づき、リクエストをサーバ3へ送信する(ステップS201)。以下、Webブラウザプログラムに基づく処理は、Webブラウザのバックグラウンドで実行されてもよい。 The operator of node 1 attempts to access a web page provided by server 3. The processing unit 10 of node 1 sends a request to server 3 based on a web browser program included in node program 1P (step S201). Hereinafter, processing based on the web browser program may be executed in the background of the web browser.

サーバ3は、リクエストを受信する(ステップS601)。サーバ3の処理部30は、リクエストに含まれるノード1のアカウント情報に応じて、アカウントに対応するグローバルモデル51及びローカルモデル52の一覧を含むWebページをノード1へ送信する(ステップS602)。 The server 3 receives the request (step S601). The processing unit 30 of the server 3 sends a web page including a list of global models 51 and local models 52 corresponding to the account to the node 1 according to the account information of the node 1 included in the request (step S602).

ノード1の管理者毎に、サーバ3へのアクセス用のアカウントが発行されている。アカウントは、アカウントID、認証情報、権限のデータを含む。サーバ3は、記憶部31にアカウントデータを記憶している。ノード1の管理者向けのアカウントには、グローバルモデル51及びローカルモデル52の選択及びダウンロードの権限が対応付けられている。ダウンロードが可能なグローバルモデル51及びローカルモデル52は、アカウント毎に設定されていてもよい。 Each administrator of node 1 is issued an account for accessing server 3. The account includes an account ID, authentication information, and authority data. Server 3 stores the account data in the storage unit 31. The account for the administrator of node 1 is associated with authority to select and download global models 51 and local models 52. The global models 51 and local models 52 that can be downloaded may be set for each account.

ノード1では処理部10が、グローバルモデル51及びローカルモデル52の一覧を受信し(ステップS202)、表示部13に表示する(ステップS203)。処理部10は、グローバルモデル51及びローカルモデル52の一覧から、いずれか1又は複数の選択を受け付ける(ステップS204)。処理部10は、選択されたモデルの指定をサーバ3へ送信する(ステップS205)。 At node 1, the processing unit 10 receives the list of global models 51 and local models 52 (step S202) and displays them on the display unit 13 (step S203). The processing unit 10 accepts the selection of one or more models from the list of global models 51 and local models 52 (step S204). The processing unit 10 transmits a designation of the selected models to the server 3 (step S205).

サーバ3は、モデルの指定を受信し(ステップS603)、指定されたモデル(グローバルモデル51又はローカルモデル52)を、ノード1へ送信し(ステップS604)、サーバ3の処理を終了する。 Server 3 receives the model specification (step S603), sends the specified model (global model 51 or local model 52) to node 1 (step S604), and ends the processing of server 3.

ノード1は、指定したグローバルモデル51又はローカルモデル52をサーバ3から取得し(ステップS206)、受信したグローバルモデル51又はローカルモデル52に、記憶装置2に記憶されているローカルデータを用いて精度の評価値を算出する(ステップS207)。 The node 1 acquires the specified global model 51 or local model 52 from the server 3 (step S206), and calculates an accuracy evaluation value for the received global model 51 or local model 52 using the local data stored in the storage device 2 (step S207).

ノード1の処理部10は、算出した評価値を表示し(ステップS208)、利用するか否かの選択を受け付ける(ステップS209)。利用すると選択された場合(S209:YES)、処理部10は、対象のモデルを記憶部11に記憶する(ステップS210)。記憶されたグローバルモデル51又はローカルモデル52は、以後、ノード1で利用可能になる。 The processing unit 10 of node 1 displays the calculated evaluation value (step S208) and accepts a selection of whether to use it or not (step S209). If it is selected to use it (S209: YES), the processing unit 10 stores the target model in the storage unit 11 (step S210). The stored global model 51 or local model 52 can be used by node 1 thereafter.

処理部10は、利用しないと選択された場合(S209:NO)、又は、S210の後、他のモデルを取得するか否か判断し(ステップS211)、取得しないと判断された場合(S211:NO)、処理を終了する。 If it is selected not to use (S209: NO), or after S210, the processing unit 10 determines whether to acquire another model (step S211), and if it is determined not to acquire another model (S211: NO), the processing unit 10 ends the processing.

取得すると判断された場合(S211:YES)、処理をステップS203へ戻す。 If it is determined that the information should be acquired (S211: YES), the process returns to step S203.

図7のフローチャートに示す処理手順の内、ステップS207-S211の処理手順は必須ではなく、ステップS204で指定されたグローバルモデル51又はローカルモデル52をそのまま記憶して利用してもよい。 Of the processing steps shown in the flowchart of FIG. 7, steps S207-S211 are not essential, and the global model 51 or local model 52 specified in step S204 may be stored and used as is.

図8は、モデルの一覧画面131の一例を示す。図8の一覧画面131は、サーバ3から送信されるグローバルモデル51及びローカルモデル52一覧を含むページを表示した例(S203)を示す。一覧には、グローバルモデル51及びローカルモデル52のモデル名及びバージョン情報を示すテキストを含む。バージョン情報は、異なるラウンド別にされてもよい。バージョン情報を示すテキストは、個別ページへのリンクを含んで選択可能にしてある。図8では、グローバルモデル51とローカルモデル52とが区別されている。ローカルモデル52のモデル名には、モデルを学習させたノードを識別するデータが含まれている。例えば、図8の一覧中、末尾に「_ndA」が付加されているモデル名のローカルモデル52は、「ノードA」で学習されたものである。ローカルモデル52のモデル名バージョン名を示すテキストが選択されると、ノード1の処理部10によって、モデルの指定が受け付けられる。 Figure 8 shows an example of a model list screen 131. The list screen 131 in Figure 8 shows an example (S203) of a page including a list of global models 51 and local models 52 sent from the server 3. The list includes text indicating the model names and version information of the global models 51 and local models 52. The version information may be divided into different rounds. The text indicating the version information includes links to individual pages and is selectable. In Figure 8, the global model 51 and the local model 52 are distinguished. The model name of the local model 52 includes data identifying the node that trained the model. For example, in the list in Figure 8, the local model 52 with the model name suffixed with "_ndA" was trained in "node A". When the text indicating the model name and version name of the local model 52 is selected, the model designation is accepted by the processing unit 10 of the node 1.

図9は、モデルの個別画面132の一例を示す。図9の個別画面132は、図8の一覧画面131にていずれかのバージョン名のテキストが選択され、モデルが指定された場合に表示される。図9の個別画面132は、指定されたモデルに対して算出された評価値を含む。個別画面132には、利用するか否かの選択を受け付けるインタフェース133を含む。インタフェース133が選択された場合、利用することが受け付けられ(S209:YES)、選択されたモデルが記憶部11に記憶され、以後、モデルが利用される。全画面に戻るためのインタフェース134が選択された場合、他のモデルを取得すると判断され(S211:YES)、図8のモデルの一覧画面131へ戻る。 Figure 9 shows an example of an individual model screen 132. The individual model screen 132 in Figure 9 is displayed when any version name text is selected on the list screen 131 in Figure 8 and a model is specified. The individual model screen 132 in Figure 9 includes an evaluation value calculated for the specified model. The individual model screen 132 includes an interface 133 that accepts a selection of whether or not to use the model. When the interface 133 is selected, use is accepted (S209: YES), the selected model is stored in the storage unit 11, and the model is used thereafter. When the interface 134 for returning to the full screen is selected, it is determined that another model is to be acquired (S211: YES), and the display returns to the model list screen 131 in Figure 8.

第1の実施形態に示したように、モデル提供システム100では、各ノード1で学習されたローカルモデル52を集約して更新されたグローバルモデル51のみならず、他のノード1から集約されたローカルモデル52についても、他のノード1に対して提供可能である。 As shown in the first embodiment, the model providing system 100 can provide to other nodes 1 not only the global model 51 updated by aggregating the local models 52 learned at each node 1, but also the local models 52 aggregated from other nodes 1.

図7のフローチャートに示した処理手順によってノード1で選択されたグローバルモデル51及びローカルモデル52の利用について説明する。図7-図9で説明したように、ノード1は、複数のグローバルモデル51及びローカルモデル52を取得する。同一のモデル「model-image2segmentation」についてノード1は、「ver. 4.0」及び「ver. 3.0」の異なるバージョンのグローバルモデル51、並びに、モデル名の末尾にノードの識別データ「_ndA」が付加されているローカルモデル52を取得できる。 The following describes the use of a global model 51 and a local model 52 selected by node 1 according to the processing procedure shown in the flowchart of Figure 7. As described in Figures 7 to 9, node 1 obtains multiple global models 51 and local models 52. For the same model "model-image2segmentation", node 1 can obtain global models 51 of different versions, "ver. 4.0" and "ver. 3.0", as well as a local model 52 with node identification data "_ndA" added to the end of the model name.

ノード1のオペレータは、同一の入力データ及び出力データについていずれのモデルを採用してもよい。ノード1は、バージョン違いのグローバルモデル51、及びローカルモデル52を用い、各々からの出力データの多数決を自動的に取るようにしてもよい。 The operator of node 1 may use either model for the same input data and output data. Node 1 may use different versions of global model 51 and local model 52 and automatically take a majority vote for the output data from each.

図10は、ノード1におけるモデル利用手順の一例を示すフローチャートである。ノード1は、ノードプログラム1Pに基づき、1つのモデルについてバージョン違いのグローバルモデル51、及びローカルモデル52の指定をサーバ3へ送信する(ステップS221)。 Figure 10 is a flowchart showing an example of a model usage procedure in node 1. Based on node program 1P, node 1 transmits to server 3 a specification of a global model 51 and a local model 52 of different versions for one model (step S221).

サーバ3では、指定されたモデルのバージョン違いのグローバルモデル51、及びローカルモデル52をノード1へ送信する。 Server 3 sends a global model 51, which is a different version of the specified model, and a local model 52 to node 1.

ノード1は、指定したモデルのバージョン違いのグローバルモデル51、及びローカルモデル52を受信し、取得する(ステップS222)。 Node 1 receives and acquires the global model 51 and local model 52, which are different versions of the specified model (step S222).

ノード1の処理部10は、取得したバージョン違いのグローバルモデル51、及びローカルモデル52それぞれに、記憶装置2に記憶されているローカルデータを入力データとして与え、複数の出力データを取得する(ステップS223)。 The processing unit 10 of node 1 provides the local data stored in the storage device 2 as input data to each of the acquired different versions of the global model 51 and the local model 52, and obtains multiple output data (step S223).

処理部10は、取得した複数の出力データの結果を比較し(ステップS224)、最も多くの出力データから得られる結果を特定する(ステップS225)。 The processing unit 10 compares the results of the multiple output data obtained (step S224) and identifies the result obtained from the largest amount of output data (step S225).

処理部10は、特定した結果を表示部に出力して表示し(ステップS226)、記憶して(ステップS227)、処理を終了する。 The processing unit 10 outputs the identified results to the display unit for display (step S226), stores them (step S227), and ends the processing.

ステップS225において処理部10は例えば、モデルが判定結果を出力するモデルである場合、判定結果の多数決をとる。モデルが画像のセグメンテーション結果を出力するモデルである場合、平均、AND、OR等の演算を実行してもよい。ステップS225で結果を特定する際、ノード1の処理部10は、ステップS222で取得した複数のモデルそれぞれに対して算出できる評価値を用い、評価値が高いモデルからの出力データが、結果に影響し易いように、精度を重みとして利用してもよい。 In step S225, for example, if the model is a model that outputs a judgment result, the processing unit 10 takes a majority vote on the judgment result. If the model is a model that outputs an image segmentation result, calculations such as average, AND, and OR may be performed. When identifying the result in step S225, the processing unit 10 of node 1 may use an evaluation value that can be calculated for each of the multiple models obtained in step S222, and may use the accuracy as a weight so that output data from a model with a high evaluation value is more likely to affect the result.

(第2の実施形態)
第2の実施形態では、サーバ3に記憶されるローカルモデル51は、ノード1で最適化したものを含んでもよい。第2の実施形態におけるモデル提供システム100の構成は、処理の詳細を除いて第1の実施形態のモデル提供システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Second Embodiment
In the second embodiment, the local model 51 stored in the server 3 may include one optimized in the node 1. The configuration of the model providing system 100 in the second embodiment is similar to that of the model providing system 100 in the first embodiment except for the details of the processing, and therefore the common configuration is denoted by the same reference numerals and detailed description thereof will be omitted.

図11は、第2の実施形態におけるモデルの選択の処理手順の一例を示すフローチャートである。図11のフローチャートに示す処理手順の内、第1の実施形態の図7のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 11 is a flowchart showing an example of a processing procedure for model selection in the second embodiment. Among the processing procedures shown in the flowchart in Figure 11, the steps common to the processing procedures shown in the flowchart in Figure 7 of the first embodiment are given the same step numbers and detailed descriptions are omitted.

第2の実施形態では、取得したモデルを利用するとして選択された場合(S209:YES)、ノード1は、アクセスできる記憶装置2に記憶されたローカルデータで再学習を実行してから(ステップS212)、バージョン情報と対応付けて記憶する(S210)。 In the second embodiment, when the acquired model is selected for use (S209: YES), the node 1 performs re-learning using local data stored in the accessible storage device 2 (step S212), and then stores the model in association with the version information (S210).

ノード1の処理部10は、再学習後のグローバルモデル51又はローカルモデル52を、バージョン情報と対応付けてサーバ3へ送信し(ステップS213)、処理をステップS211へ進める。 The processing unit 10 of node 1 transmits the re-learned global model 51 or local model 52 to the server 3 in association with the version information (step S213), and proceeds to step S211.

サーバ3では、再学習後のグローバルモデル51又はローカルモデル52、並びにバージョン情報を受信し(ステップS605)、ノード1の識別データ及びバージョン情報と共に記憶する(ステップS606)。以後、このノード1での再学習後のグローバルモデル51又はローカルモデル52も、ステップS602で送信される一覧に含まれる。 The server 3 receives the re-learned global model 51 or local model 52 and the version information (step S605), and stores them together with the identification data and version information of the node 1 (step S606). After this, the re-learned global model 51 or local model 52 at the node 1 is also included in the list sent in step S602.

(第3の実施形態)
第3の実施形態モデル提供システム100は、ノード1にて、グローバルモデル51及びローカルモデル52に対してローカルデータに基づく評価値を算出し、その評価値を共にノード1に出力して選択時にノード1のオペレータに参照できるようにする。第3の実施形態におけるモデル提供システム100の構成は、上述の処理の詳細を除いて第1の実施形態のモデル提供システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Third Embodiment
The model provision system 100 of the third embodiment calculates evaluation values based on local data for the global model 51 and the local model 52 at node 1, and outputs both evaluation values to node 1 so that the operator of node 1 can refer to them at the time of selection. The configuration of the model provision system 100 in the third embodiment is similar to that of the model provision system 100 of the first embodiment except for the details of the above-mentioned processing, and therefore the common configuration is denoted by the same reference numerals and detailed description will be omitted.

図12は、第3の実施形態のモデル提供システム100における学習処理手順の一例を示すフローチャートである。図12のフローチャートに示す処理手順の内、第1の実施形態の図4のフローチャートに示す処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 12 is a flowchart showing an example of a learning process procedure in the model provision system 100 of the third embodiment. Among the process procedures shown in the flowchart of Figure 12, the steps common to the process procedures shown in the flowchart of Figure 4 of the first embodiment are given the same step numbers and detailed explanations are omitted.

第2の実施形態において、サーバ3は、集約したローカルモデル52に基づいてグローバルモデル51を更新した後(S4)、更新後のグローバルモデル51について評価値の算出を受けるべく、各ノード1へ送信する(ステップS501)。 In the second embodiment, the server 3 updates the global model 51 based on the aggregated local model 52 (S4), and then transmits the updated global model 51 to each node 1 to have an evaluation value calculated (step S501).

各ノードでは、ローカルデータを更新後のグローバルモデル51に与えた評価値を算出し、サーバ3へ送信する。 Each node calculates the evaluation value given to the updated global model 51 using the local data and transmits it to the server 3.

サーバ3は、各ノード1から送信された評価値を取得し(ステップS502)、取得した評価値に基づいて総評価値を算出し(ステップS503)、取得した評価値及び総評価値を、更新後のグローバルモデル51のラウンド情報と対応付けて記憶する(ステップS504)。 The server 3 acquires the evaluation values transmitted from each node 1 (step S502), calculates a total evaluation value based on the acquired evaluation values (step S503), and stores the acquired evaluation values and the total evaluation value in association with the round information of the updated global model 51 (step S504).

これにより、各グローバルモデル51には、ノード1での評価値を各バージョンに対して記憶しておき、グローバルモデル51の一覧に評価値を含めることが可能になる。 This allows each global model 51 to store the evaluation value at node 1 for each version, making it possible to include the evaluation value in the list of global models 51.

図13は、第3の実施形態におけるローカルモデル52の更新手順の一例を示すフローチャートである。図13のフローチャートに示す処理手順のうち、図5のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 13 is a flowchart showing an example of a procedure for updating the local model 52 in the third embodiment. Among the processing procedures shown in the flowchart of Figure 13, the steps common to the processing procedures shown in the flowchart of Figure 5 are assigned the same step numbers and detailed descriptions are omitted.

ノード1の処理部10は、配布されたグローバルモデル51の学習実行前に、取得したローカルデータのデータ量(データ件数)を算出し、記憶しておく(ステップS311)。 Before learning the distributed global model 51, the processing unit 10 of node 1 calculates and stores the amount of data (number of data items) of the acquired local data (step S311).

処理部10は、学習完了条件を満たすと(S305:YES)、学習処理後に得られるローカルモデル52の評価値を算出する(ステップS312)。ステップS312において処理部10は、評価値として、ローカルデータを入力した場合の精度の平均値等を算出する。処理部10は、評価値として、A/B/Cの判定結果を導出してもよい。 When the learning completion condition is satisfied (S305: YES), the processing unit 10 calculates an evaluation value of the local model 52 obtained after the learning process (step S312). In step S312, the processing unit 10 calculates, as the evaluation value, an average value of accuracy when local data is input, or the like. The processing unit 10 may derive a judgment result of A/B/C as the evaluation value.

処理部10は、学習後のローカルモデル52と共に、ステップS311で記憶しておいたローカルモデル52の学習に用いたローカルデータのデータ量と、ステップS312で算出した評価値とを共にサーバ3へ送信し(ステップS313)、処理を終了する。 The processing unit 10 transmits the amount of local data used to train the local model 52 stored in step S311, together with the trained local model 52, and the evaluation value calculated in step S312 to the server 3 (step S313), and ends the process.

これにより、ローカルモデル52の学習の元となったローカルデータのデータ量を、ローカルモデル52の評価の指標として参照することが可能になる。 This makes it possible to refer to the amount of local data that was the basis for learning the local model 52 as an index for evaluating the local model 52.

図14は、モデル選択の処理手順の一例を示すフローチャートである。図14のフローチャートに示す処理手順の内、第1の実施形態の図7のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 14 is a flowchart showing an example of a processing procedure for model selection. Among the processing procedures shown in the flowchart of Figure 14, the steps common to the processing procedures shown in the flowchart of Figure 7 of the first embodiment are given the same step numbers and detailed explanations are omitted.

第3の実施形態では、ノード1からリクエストが送信されると(S201)、サーバ3はリクエストを受信する(S601)。サーバ3の処理部30は、ノード1のアカウント情報に応じて、アカウントに対応するグローバルモデル51及びローカルモデル52の内、評価値及び総評価値が所定値以上であるモデルを抽出する(ステップS612)。処理部30は、抽出したモデルを優先的に出力するためのモデルと評価値とを含む一覧のWebページをノード1へ送信する(ステップS613)。 In the third embodiment, when a request is sent from node 1 (S201), server 3 receives the request (S601). The processing unit 30 of server 3 extracts models whose evaluation values and total evaluation values are equal to or greater than a predetermined value from among the global models 51 and local models 52 corresponding to the account according to the account information of node 1 (step S612). The processing unit 30 transmits to node 1 a web page of a list including models and evaluation values for preferentially outputting the extracted models (step S613).

ノード1では処理部10が、グローバルモデル51及びローカルモデル52の一覧を受信して表示する(S202,S203)。ステップS203において処理部10は、各モデルに対応付けられている評価値及び総評価値を、各モデルのモデル名及びバージョン名と共に表示する。処理部10は、一覧から選択を受け付け(S204)、選択されたモデルの指定をサーバ3へ送信する(S205)。ステップS204において処理部10は、評価値に基づいて、グローバルモデル51又はローカルモデル52の選択を受け付けることができる。 At node 1, the processing unit 10 receives and displays a list of global models 51 and local models 52 (S202, S203). In step S203, the processing unit 10 displays the evaluation value and total evaluation value associated with each model, along with the model name and version name of each model. The processing unit 10 accepts a selection from the list (S204) and transmits a designation of the selected model to the server 3 (S205). In step S204, the processing unit 10 can accept a selection of the global model 51 or local model 52 based on the evaluation value.

サーバ3の処理部30は、モデルの指定を受信し(S603)、指定されたモデルそのものを送信すると(S604)、指定されたグローバルモデル51又はローカルモデル52について、指定された履歴を記憶しておき(ステップS614)、処理を終了する。これにより、ノード1でオペレータに選択されたグローバルモデル51又はローカルモデル52の履歴が記憶部31に記憶される。 The processing unit 30 of the server 3 receives the model specification (S603), transmits the specified model itself (S604), stores the specification history for the specified global model 51 or local model 52 (step S614), and terminates the process. As a result, the history of the global model 51 or local model 52 selected by the operator at node 1 is stored in the storage unit 31.

第3の実施形態のモデル提供システム100では、図14のフローチャートに示したように、指定されたグローバルモデル51又はローカルモデル52を記憶する(S614)。指定されたモデルの数量、指定回数等が蓄積された後には、サーバ3は、所定数以上のノード1から指定されたグローバルモデル51又はローカルモデル52を、選出することができる。グローバルモデル51及びローカルモデル52に対する各ノード1からの投票が可能になる、と言える。 In the model providing system 100 of the third embodiment, as shown in the flowchart of FIG. 14, the specified global model 51 or local model 52 is stored (S614). After the quantity of specified models, the number of times they have been specified, etc. are accumulated, the server 3 can select the specified global model 51 or local model 52 from a predetermined number or more of nodes 1. It can be said that voting for the global model 51 and the local model 52 becomes possible from each node 1.

図15は、第3の実施形態におけるモデル一覧画面131の一例を示す。図15に示すように、モデル一覧画面131には、グローバルモデル51に対して算出された総評価値が対応付けて表示され、ローカルモデル52には評価値が共に出力される。図15に示すように、モデル一覧画面131には、ローカルモデル52と共に送信されるデータ量が対応付けて出力される。モデル一覧画面131を確認するオペレータは、これらの評価値、あるいはローカルモデル52の学習に用いられたデータ量を基に、利用するモデルを選択することができる。 Figure 15 shows an example of a model list screen 131 in the third embodiment. As shown in Figure 15, the model list screen 131 displays the total evaluation value calculated for the global model 51 in association with the global model, and the evaluation value is also output to the local model 52. As shown in Figure 15, the model list screen 131 displays the amount of data transmitted together with the local model 52 in association with the global model. An operator checking the model list screen 131 can select a model to use based on these evaluation values or the amount of data used to train the local model 52.

第3の実施形態では、算出された評価値、又は、選択されたモデルの履歴を記憶することにより、評価値又はモデルの選択履歴に基づいて、サーバ3が、ローカルモデル52を含めた過去のバージョンのモデルの中から、いずれかを選出することができる。サーバ3は、所定値以上の評価値が算出されたグローバルモデル51及びローカルモデル52を選出してもよいし、投票数、即ち、所定数以上のノード1で選択されたグローバルモデル51及びローカルモデル52を選出してもよい。 In the third embodiment, the calculated evaluation value or the history of the selected model is stored, and the server 3 can select one of the models from among past versions including the local model 52 based on the evaluation value or the model selection history. The server 3 may select the global model 51 and the local model 52 for which an evaluation value equal to or greater than a predetermined value has been calculated, or may select the global model 51 and the local model 52 for which the number of votes, i.e., the number of selected nodes 1, is equal to or greater than a predetermined number.

以下のようにしてモデルの選出が行われてもよい。第1の実施形態の図7のフローチャートに示したように、各ノード1のローカルデータで、グローバルモデル51と、他のノード1で学習されたローカルモデル52とに対する評価値を算出してから選択されたモデルを、その評価値と共にサーバ3へ送信する。そしてサーバ3は、モデルの選択履歴(S614)を、評価値と共に記憶し、評価値及び選択履歴を基に、所定数以上のノード1で選出されたグローバルモデル51及びローカルモデル52の内、最も評価値が高いモデルを1つ選出してもよい。 The model may be selected as follows. As shown in the flowchart of FIG. 7 of the first embodiment, the local data of each node 1 is used to calculate evaluation values for the global model 51 and the local models 52 learned by the other nodes 1, and the selected model is then transmitted to the server 3 together with the evaluation value. The server 3 may then store the model selection history (S614) together with the evaluation value, and based on the evaluation value and selection history, select one model with the highest evaluation value from among the global models 51 and local models 52 selected by a predetermined number or more of nodes 1.

選出されたグローバルモデル51又はローカルモデル52が、以後のモデル一覧画面131に優先的に表示されるようにしてもよい。選出されたグローバルモデル51又はローカルモデル52がその後、各ノード1で選択されたモデルをノード1へ配布して更新を続けるグローバルモデル51として選出されてもよい。この場合、図4のフローチャートに示した学習の処理手順の内のステップS1において、選出されたグローバルモデル51又はローカルモデル52を取得し、以後、S2~S7の処理を実行する。 The selected global model 51 or local model 52 may be preferentially displayed on the model list screen 131 thereafter. The selected global model 51 or local model 52 may then be selected as the global model 51 that distributes the model selected at each node 1 to the node 1 and continues to update it. In this case, in step S1 of the learning processing procedure shown in the flowchart of FIG. 4, the selected global model 51 or local model 52 is obtained, and thereafter, the processes of S2 to S7 are executed.

図16及び図17は、モデルの選出に基づく更新処理手順の一例を示すフローチャートである。図16及び図17のフローチャートは、サーバ3が、ノード1へ配布して更新を続けるモデルとして選出する場合の処理手順を示す。図16及び図17のフローチャートに示す処理手順の内、図12のフローチャートに示した処理手順と共通する手順については同一の符号を付して詳細な説明を省略する。 Figures 16 and 17 are flowcharts showing an example of an update processing procedure based on model selection. The flowcharts in Figures 16 and 17 show the processing procedure when the server 3 selects a model to distribute to node 1 and continue updating. Among the processing procedures shown in the flowcharts in Figures 16 and 17, steps common to the processing procedures shown in the flowchart in Figure 12 are given the same reference numerals and detailed explanations are omitted.

サーバ3の処理部30は、同一モデル名のバージョンの異なるグローバルモデル51、及び、そのグローバルモデル51に対応するローカルモデル52の選択履歴を参照する(ステップS101)。 The processing unit 30 of the server 3 refers to the selection history of a global model 51 with the same model name but a different version, and a local model 52 corresponding to that global model 51 (step S101).

処理部30は、同一モデル名のグローバルモデル51、及び対応するローカルモデル52の内、所定数以上のノード1で選択されているグローバルモデル51又はローカルモデル52を抽出する(ステップS102)。 The processing unit 30 extracts global models 51 and local models 52 that have the same model name and are selected by a predetermined number or more of nodes 1 (step S102).

処理部30は、抽出したグローバルモデル51又はローカルモデル52の内、最も評価値が高いグローバルモデル51又はローカルモデル52を選出する(ステップS103)。ステップS102及びステップS103により、より多くのノード1に支持されているグローバルモデル51、又はローカルモデル52が選出される。 The processing unit 30 selects the global model 51 or local model 52 with the highest evaluation value from among the extracted global models 51 or local models 52 (step S103). Through steps S102 and S103, the global model 51 or local model 52 supported by more nodes 1 is selected.

処理部30は、選出したグローバルモデル51又はローカルモデル52を各ノード1へ配布する(ステップS104)。配布したグローバルモデル51又はローカルモデル52について評価値を取得し、記憶する(ステップS105)。 The processing unit 30 distributes the selected global model 51 or local model 52 to each node 1 (step S104). The processing unit 30 obtains and stores an evaluation value for the distributed global model 51 or local model 52 (step S105).

ステップS104及びS105の処理に対して各ノード1は、評価値を算出し、配布されたグローバルモデル51又はローカルモデル52を基に、ローカルモデル52を学習する。 For the processing of steps S104 and S105, each node 1 calculates an evaluation value and learns a local model 52 based on the distributed global model 51 or local model 52.

処理部30は、各ノード1で学習されたローカルモデルを取得し(S3)、取得したローカルモデルを統計処理してグローバルモデル51を更新する(S4)。 The processing unit 30 acquires the local models learned at each node 1 (S3) and performs statistical processing on the acquired local models to update the global model 51 (S4).

処理部30は、更新後のグローバルモデル51について評価値の算出を受けるべく、各ノード1へ送信し(S501)、算出された評価値を取得する(S502)。 The processing unit 30 transmits the updated global model 51 to each node 1 to calculate the evaluation value (S501), and obtains the calculated evaluation value (S502).

処理部30は、複数のノード1毎に、更新前後のグローバルモデル51(又はローカルモデル52)の内、より多くのノード1で評価値が高く算出されたモデルを選出する(ステップS513)。ステップS513において、更新後のグローバルモデル51に高い評価値を更新前よりも算出するノード1と、更新前のグローバルモデル51(又はローカルモデル52)に更新後よりも高い評価値を算出するノード1とが存在する。ステップS513において処理部30は、それらのノード1の多数決を取る。 For each of the multiple nodes 1, the processing unit 30 selects the model for which the evaluation value is calculated higher by more nodes 1 from the global model 51 (or local model 52) before and after the update (step S513). In step S513, there are nodes 1 that calculate a higher evaluation value in the updated global model 51 than before the update, and nodes 1 that calculate a higher evaluation value in the pre-update global model 51 (or local model 52) than after the update. In step S513, the processing unit 30 takes a majority vote of those nodes 1.

処理部30は、選出したモデルについて学習完了条件を満たすか否かを判断する(S5)。 The processing unit 30 determines whether the selected model satisfies the learning completion condition (S5).

学習完了条件を満たさないと判断された場合(S5:NO)、処理部30は、ステップS513で選出されたグローバルモデル51をノードへ配布し(ステップS516)、処理をステップS3へ戻す。 If it is determined that the learning completion condition is not met (S5: NO), the processing unit 30 distributes the global model 51 selected in step S513 to the node (step S516) and returns the process to step S3.

ステップS101-S103における選択履歴に基づくモデルの選出と、ステップS513における更新前後のモデルに対して算出された評価値に基づく多数決とは、一方のみが実施されてもよい。 Only one of the selection of a model based on the selection history in steps S101-S103 and the majority vote based on the evaluation values calculated for the models before and after the update in step S513 may be performed.

図18は、モデルの選出に基づく抽出処理手順の一例を示すフローチャートである。サーバ3は、一定の周期で、記憶しているグローバルモデル51及びローカルモデル52について、同一モデル名のグローバルモデル51及び対応するローカルモデル52を対象に、以下の処理を実行する。サーバ3の処理部30は、例えば図14のフローチャートに示した処理の内のステップS612で実行する。 Figure 18 is a flowchart showing an example of an extraction processing procedure based on model selection. The server 3 executes the following processing at regular intervals for the global models 51 and local models 52 stored therein that have the same model name and the corresponding local models 52. The processing unit 30 of the server 3 executes this processing, for example, in step S612 of the processing shown in the flowchart of Figure 14.

サーバ3の処理部30は、同一モデル名のバージョンの異なるグローバルモデル51の選択履歴を参照する(ステップS701)。処理部30は、同一モデル名のグローバルモデル51、及び対応するローカルモデル52の内、所定数以上のノード1で選択されているグローバルモデル51又はローカルモデル52を抽出する(ステップS702)。 The processing unit 30 of the server 3 refers to the selection history of global models 51 with the same model name but different versions (step S701). The processing unit 30 extracts global models 51 or local models 52 that have been selected by a predetermined number or more of nodes 1 from among the global models 51 with the same model name and the corresponding local models 52 (step S702).

処理部30は、抽出したグローバルモデル51又はローカルモデル52の内、最も評価値が高いグローバルモデル51又はローカルモデル52を選出する(ステップS703)。ステップS702及びステップS703により、より多くのノード1に支持されているグローバルモデル51、又はローカルモデル52が選出される。 The processing unit 30 selects the global model 51 or local model 52 with the highest evaluation value from among the extracted global models 51 or local models 52 (step S703). Through steps S702 and S703, the global model 51 or local model 52 supported by more nodes 1 is selected.

処理部30は、選出したグローバルモデル51又はローカルモデル52を記憶し(ステップS704)、処理を終了する。 The processing unit 30 stores the selected global model 51 or local model 52 (step S704) and ends the processing.

図19は、第3の実施形態におけるモデル一覧画面131の他の一例を示す。図19のモデル一覧画面131では、図15のモデル一覧画面131と比較して、選出されたグローバルモデル51又はローカルモデル52が選出されているために、同一モデルに関して1つずつが表示されている。モデル一覧画面131を確認するオペレータは、これらの選択実績に基づいて、利用するモデルを選択することができる。 Figure 19 shows another example of the model list screen 131 in the third embodiment. In the model list screen 131 in Figure 19, compared to the model list screen 131 in Figure 15, the selected global model 51 or local model 52 is selected, and therefore one of each of the same models is displayed. An operator checking the model list screen 131 can select a model to use based on these selection records.

(第4の実施形態)
モデル提供システム100は、ニューラルネットワークを始めとする深層学習のモデルに適用できる。例えば、入力データは画像データであり、出力データは画像データの画像に写っている被写体の検出結果、又は被写体に対する判定結果である。他の例では、入力データは、入出金データであり、出力データは評価等の判定結果、あるいは企業業況変化(成長または劣化)に関する予測値や経済予測に関する予測値である。他の例では、入力データは、工場、生産設備に設けられた各種センサからの測定データであり、出力データは異常/正常を含む生産管理に関するデータである。他の例では、入力データはテキストデータであり、出力データは判定結果、または予測データである。
Fourth Embodiment
The model providing system 100 can be applied to deep learning models including neural networks. For example, the input data is image data, and the output data is a detection result of a subject appearing in the image of the image data, or a judgment result for the subject. In another example, the input data is cash receipts and withdrawals data, and the output data is a judgment result such as an evaluation, or a predicted value regarding a change in a company's business condition (growth or deterioration) or a predicted value regarding an economic forecast. In another example, the input data is measurement data from various sensors installed in a factory or production equipment, and the output data is data regarding production management including abnormality/normality. In another example, the input data is text data, and the output data is a judgment result or predicted data.

第4の実施形態では、モデル提供システム100を、医療施設にて患者に関して得られる医療データから、患者に特定の病気の症状が発生しているか否かの診断を支援する診断支援データを出力するモデルの学習に適用させた例を挙げて説明する。以下の説明では、医療データは、例えば検査で撮影された眼底写真の画像データである。 In the fourth embodiment, an example will be described in which the model providing system 100 is applied to learning a model that outputs diagnostic support data that supports the diagnosis of whether or not a patient is experiencing symptoms of a specific disease, based on medical data obtained about the patient at a medical facility. In the following description, the medical data is, for example, image data of a fundus photograph taken during an examination.

図20は、第4の実施形態のモデル提供システム100の概要図である。第4の実施形態におけるモデル提供システム100の構成は基本的に、第1の実施形態のモデル提供システム100と同様である。第4の実施形態のモデル提供システム100の構成の内、第1の実施形態のモデル提供システム100と共通する構成については同一の符号を付して詳細な説明を省略する。 Figure 20 is a schematic diagram of the model providing system 100 of the fourth embodiment. The configuration of the model providing system 100 in the fourth embodiment is basically the same as that of the model providing system 100 of the first embodiment. Among the configuration of the model providing system 100 of the fourth embodiment, the configuration common to the model providing system 100 of the first embodiment is given the same reference numerals and detailed description is omitted.

第4の実施形態においてノード1及び情報処理装置は、医療施設に設けられている。ノード1及び情報処理装置は、患者の眼底写真を撮影する撮影装置から得られる画像データを取得できる。ノード1が設けられている医療施設では、撮影装置は記憶装置2に対して画像データを出力する。撮影装置は、異なる種類の装置を含む。 In the fourth embodiment, the node 1 and the information processing device are provided in a medical facility. The node 1 and the information processing device can acquire image data obtained from an imaging device that takes fundus photographs of patients. In the medical facility where the node 1 is provided, the imaging device outputs image data to the storage device 2. The imaging device includes different types of devices.

第4の実施形態においてグローバルモデル51、ローカルモデル52及び配布可能として記憶されたモデルは、画像データが入力された場合に、緑内障の診断を支援するデータ及び精度を出力するように学習されるモデルである。トレーニングデータとして用いられるローカルデータは、入力データとして画像データと、出力データとして眼底写真におけるDisc部分とCup部分とをセグメンテーションした結果の画像データである。出力データはその他、症状がみられるか否かを医師又は技師が判定した判定結果を含むデータセットであってもよい。ローカルデータの入力データである画像データは、撮影装置の種類を示す装置データと対応付けられている。装置データは型番でもよいし、装置メーカを識別するデータであってもよい。 In the fourth embodiment, the global model 51, the local model 52, and the model stored as distributable are models that are trained to output data and accuracy that assists in the diagnosis of glaucoma when image data is input. The local data used as training data is image data as input data, and image data resulting from segmenting the disc and cup portions of a fundus photograph as output data. The output data may also be a data set including the results of a doctor or technician's determination of whether or not symptoms are present. The image data that is input data for the local data is associated with device data that indicates the type of imaging device. The device data may be a model number or data that identifies the device manufacturer.

第4の実施形態においてモデル学習システム100では、サーバ3が予め特定の医療施設で複数の異なるアーキテクチャで作成された初期的なグローバルモデル(第0次グローバルモデル)51を取得する。サーバ3は、異なるアーキテクチャの第0次グローバルモデル51を、トレーニングに協力する医療施設のノード1へ各配布する。 In the fourth embodiment of the model learning system 100, the server 3 acquires an initial global model (zeroth-order global model) 51 that has been created in advance with multiple different architectures at a specific medical facility. The server 3 distributes the zeroth-order global models 51 with different architectures to each of the nodes 1 of the medical facilities that cooperate in the training.

各ノード1は、配布された複数の第0次グローバルモデル51を受信し、異なる第0次グローバルモデル51に基づいてそれぞれ、ローカルデータをトレーニングデータとして学習を進行し、複数の第1次ローカルモデル52を得る。ノード1は、異なるアーキテクチャで学習された第1次ローカルモデル52をサーバ3へ送信する。 Each node 1 receives the distributed multiple 0th order global models 51, and proceeds with learning based on different 0th order global models 51, each using local data as training data, to obtain multiple first order local models 52. Node 1 transmits the first order local models 52 trained with different architectures to server 3.

サーバ3は、各ノード1から取得したローカルモデル52を、異なるアーキテクチャ毎に、加重平均して第1次グローバルモデル51を作成する。ここでサーバ3は、各ローカルモデル52の重み係数の加重平均を算出する。サーバ3は、作成された第1次グローバルモデル51を、複数のノード1へ再配布する。 The server 3 creates a first global model 51 by weighting the local models 52 acquired from each node 1 for each different architecture. Here, the server 3 calculates the weighted average of the weight coefficients of each local model 52. The server 3 redistributes the created first global model 51 to multiple nodes 1.

サーバ3は、配布した第n次グローバルモデル51から作成される第(n+1)次ローカルモデル52の取得、第(n+1)次ローカルモデル52からの第(n+1)次グローバルモデル51の更新を、異なるアーキテクチャ毎に繰り返す。 The server 3 repeatedly obtains the (n+1)th order local model 52 created from the distributed nth order global model 51 and updates the (n+1)th order global model 51 from the (n+1)th order local model 52 for each different architecture.

サーバ3は、異なるアーキテクチャ毎に繰り返して得られたグローバルモデル51を、相互に比較し、精度がより高いアーキテクチャのグローバルモデル51を選択し、配布可能なモデルとしてノード1及び情報処理装置4へ提供する。 The server 3 compares the global models 51 obtained repeatedly for each different architecture, selects the global model 51 of the architecture with higher accuracy, and provides it to the node 1 and the information processing device 4 as a distributable model.

これにより、個人情報そのものである検査結果の画像データが、サーバ3へ集約されることなく、且つ、異なる医療施設に亘って多くのデータを用いて学習することが可能になる。そして診断支援データについて、各ノード1からノード1に有用なモデルを選択することが可能になる。 This makes it possible to learn using a large amount of data across different medical facilities without consolidating image data of test results, which is personal information itself, on the server 3. It also makes it possible for each node 1 to select a model that is useful for node 1 regarding the diagnostic assistance data.

第4の実施形態におけるサーバ3及びノード1によるモデル学習に関する処理は、第1から第3の実施形態に示した処理手順と同様である。ただし第4の実施形態では、各ノード1は、ローカルモデル52の更新の際に、ローカルデータの特性をサーバ3へ送信する。 The process of model learning by the server 3 and node 1 in the fourth embodiment is similar to the process procedure shown in the first to third embodiments. However, in the fourth embodiment, each node 1 transmits the characteristics of the local data to the server 3 when updating the local model 52.

図21は、第4の実施形態におけるローカルモデル52の更新手順の一例を示すフローチャートである。図21のフローチャートに示す処理手順のうち、第1の実施形態の図5のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 21 is a flowchart showing an example of a procedure for updating the local model 52 in the fourth embodiment. Among the processing procedures shown in the flowchart in Figure 21, the steps common to the processing procedures shown in the flowchart in Figure 5 of the first embodiment are given the same step numbers and detailed descriptions are omitted.

ノード1の処理部10は、配布されたグローバルモデル51の学習実行前に、取得したローカルデータのデータ量(データ件数)を算出し、記憶しておく(ステップS321)。処理部10は、予め記憶部11に記憶してある、又は記憶装置2に画像データと対応付けられている、撮影装置の装置データを取得し、記憶する(ステップS322)。ステップS322で処理部10は、ローカルデータの特性として、装置の種類のみならず、ローカルデータのアノテーション精度等の特性を取得してもよい。 Before executing learning of the distributed global model 51, the processing unit 10 of node 1 calculates and stores the amount of data (number of data items) of the acquired local data (step S321). The processing unit 10 acquires and stores device data of the imaging device that is stored in advance in the storage unit 11 or associated with the image data in the storage device 2 (step S322). In step S322, the processing unit 10 may acquire not only the type of device but also characteristics such as annotation accuracy of the local data as characteristics of the local data.

処理部10は、学習完了条件を満たし(S305:YES)、学習後のローカルモデル52を記憶すると(S306)、処理部10は、学習処理後に得られるローカルモデル52の評価値を算出する(ステップS323)。ステップS323において処理部10は、評価値として、ローカルデータを入力した場合の精度の平均値等を算出する。処理部10は、評価値として、A/B/Cの判定結果を導出してもよい。 When the processing unit 10 satisfies the learning completion condition (S305: YES) and stores the learned local model 52 (S306), the processing unit 10 calculates an evaluation value of the local model 52 obtained after the learning process (step S323). In step S323, the processing unit 10 calculates, as the evaluation value, an average value of accuracy when local data is input, or the like. The processing unit 10 may derive a judgment result of A/B/C as the evaluation value.

処理部10は、学習後のローカルモデル52と共に、ステップS321で記憶しておいたローカルデータのデータ量と、ステップS322で記憶しておいた装置データと、ステップS323で算出した評価値を、サーバ3へ送信し(ステップS324)、処理を終了する。 The processing unit 10 transmits the amount of local data stored in step S321, the device data stored in step S322, and the evaluation value calculated in step S323 together with the learned local model 52 to the server 3 (step S324), and ends the process.

これにより、ローカルモデル52の学習の元となったローカルデータのデータ量、特性等がサーバ3にてローカルモデル52と対応付けて記憶される。サーバ3から、モデルの一覧を取得するに際し、ノード1のオペレータは、他のノード1のローカルモデル52の評価の指標として、これらの特性を参照することが可能になる。 As a result, the amount of data, characteristics, etc. of the local data that was the basis for learning the local model 52 are stored in the server 3 in association with the local model 52. When obtaining a list of models from the server 3, the operator of node 1 can refer to these characteristics as an index for evaluating the local models 52 of other nodes 1.

図22は、第4の実施形態におけるモデル一覧画面131の一例を示す。図22に示すように、各モデルの内、ローカルモデル52には、評価値の他に、学習に用いられたローカルデータのデータ特性が出力され、選択時に参照可能である。図22に示す例では、データ特性として、撮影装置の仕様データ(型番)と、データ件数を含む。オペレータは、これらのデータ特性を基に、利用するモデルを、ローカルモデル52も含めて選択することができる。 Figure 22 shows an example of the model list screen 131 in the fourth embodiment. As shown in Figure 22, among the models, in addition to the evaluation value, the data characteristics of the local data used in learning are output to the local model 52, which can be referenced at the time of selection. In the example shown in Figure 22, the data characteristics include the specification data (model number) of the imaging device and the number of data items. Based on these data characteristics, the operator can select the model to be used, including the local model 52.

上述のように開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれる。 The embodiments disclosed above are illustrative in all respects and are not restrictive. The scope of the present invention is defined by the claims, and includes all modifications within the meaning and scope of the claims.

1 ノード
10 処理部
11 記憶部
2 記憶装置
3 サーバ
30 処理部
31 記憶部
3P サーバプログラム
51 グローバルモデル
52 ローカルモデル
REFERENCE SIGNS LIST 1 Node 10 Processing section 11 Storage section 2 Storage device 3 Server 30 Processing section 31 Storage section 3P Server program 51 Global model 52 Local model

Claims (11)

サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、
前記複数のノードが処理するローカルデータによって、各ノードに前記グローバルモデルを基にローカルモデルを学習させ、
学習後のローカルモデル及びローカルモデルそれぞれのバージョン情報を各ノードから取得し、
前記複数のノードそれぞれから取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新し、
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータをそれぞれ、バージョン情報と対応付けて記憶し、
前記複数のノードに、各ノードの処理対象であるローカルデータに基づいて、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの精度に基づく評価値を算出させ、
前記複数のノードで算出された評価値に基づいて前記グローバルモデル及びローカルモデルそれぞれの総評価値を算出し、
取得した評価値及び総評価値を、前記グローバルモデル及びローカルモデルと対応付けて記憶し、
異なるバージョン情報と、各々の評価値及び総評価値とが対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、
選択されたモデルのデータを前記複数のノード又は他の装置へ配布する
処理を含むモデルのデータ提供方法。
Distributing global model data stored in the server to multiple nodes;
By using local data processed by the plurality of nodes, each node learns a local model based on the global model;
Obtaining the local model after training and version information of each local model from each node;
updating data of a global model based on data of a plurality of local models acquired from each of the plurality of nodes;
The acquired local model data and the updated global model data are stored in association with version information,
causing the plurality of nodes to calculate evaluation values based on accuracy of a global model and a local model associated with different version information, based on local data to be processed by each node;
Calculating a total evaluation value for each of the global model and the local model based on the evaluation values calculated for the plurality of nodes;
The acquired evaluation value and total evaluation value are stored in association with the global model and the local model;
Accepting a selection from a global model and a local model in which different version information is associated with each of the evaluation values and the total evaluation value;
distributing data of a selected model to the plurality of nodes or other devices.
サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、Distributing global model data stored in the server to multiple nodes;
前記複数のノードが処理するローカルデータによって、各ノードに前記グローバルモデルを基にローカルモデルを学習させ、By using local data processed by the plurality of nodes, each node learns a local model based on the global model;
学習後のローカルモデル及びローカルモデルのバージョン情報を各ノードから取得し、Obtaining the local model after training and version information of the local model from each node;
前記複数のノードそれぞれから取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新し、updating data of a global model based on data of a plurality of local models acquired from each of the plurality of nodes;
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータをそれぞれ、バージョン情報と対応付けて記憶し、The acquired local model data and the updated global model data are stored in association with version information,
異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、複数のグローバルモデル及び/又はローカルモデルの選択を受け付け、accepting a selection of a plurality of global models and/or local models from among global models and local models associated with different version information;
選択された複数のモデルのデータを前記複数のノード又は他の装置へ配布し、Distributing data of the selected models to the nodes or other devices;
前記複数のノード又は他の装置が処理可能なデータを、配布された前記複数のモデルそれぞれに入力させ、inputting data that can be processed by the plurality of nodes or other devices into each of the plurality of distributed models;
配布された前記複数のモデルから出力される複数の出力結果の多数決により、前記データに対する結果を特定させるA result for the data is determined by a majority vote of a plurality of output results output from the plurality of distributed models.
処理を含むモデルのデータ提供方法。How the model provides data, including processing.
異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの内、前記複数のノードそれぞれに、モデルを選択させ、
所定数以上のノードで選択されたモデルを選出する
請求項1又は請求項に記載のモデルのデータ提供方法。
having each of the plurality of nodes select a model from among a global model and a local model to which different version information is associated;
The method for providing model data according to claim 1 or 2 , further comprising the step of selecting a model selected by a predetermined number of nodes or more.
前記グローバルモデル及びローカルモデルのバージョン情報と対応付けて、学習に用いられたローカルデータのデータ量、データ特性、又は学習量を記憶し、
前記データ量、データ特性又は学習量を示すデータと共に、前記グローバルモデル及びローカルモデルの選択肢を出力し選択を受け付ける
請求項1から請求項のいずれか1項に記載のモデルのデータ提供方法。
storing a data amount, a data characteristic, or a learning amount of the local data used in the learning in association with version information of the global model and the local model;
The method for providing model data according to claim 1 , further comprising the steps of : outputting options for the global model and the local model together with the data indicating the data amount, the data characteristics, or the learning amount, and accepting a selection.
前記グローバルモデルのデータの配布、ローカルモデルの学習、ローカルモデルのデータに基づくグローバルモデルのデータの更新を繰り返す過程における前記グローバルモデル及びローカルモデルの評価値を各算出し、
前記評価値に基づき、配布、更新の対象であるグローバルモデルを、前記グローバルモデル又はローカルモデルから選出する
請求項1から請求項のいずれか1項に記載のモデルのデータ提供方法。
calculating evaluation values of the global model and the local model in a process of repeating distribution of data of the global model, learning of the local model, and updating of the data of the global model based on the data of the local model;
The method for providing model data according to claim 1 , further comprising the step of selecting a global model to be distributed or updated from the global models or the local models based on the evaluation value.
サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、Distributing global model data stored in the server to multiple nodes;
前記複数のノードが処理するローカルデータによって、各ノードに前記グローバルモデルを基にローカルモデルを学習させ、By using local data processed by the plurality of nodes, each node learns a local model based on the global model;
学習後のローカルモデル及びローカルモデルそれぞれのバージョン情報を各ノードから取得し、Obtaining the local model after training and version information of each local model from each node;
前記複数のノードそれぞれから取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新し、updating data of a global model based on data of a plurality of local models acquired from each of the plurality of nodes;
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、The acquired local model data and the updated global model data are stored in association with version information,
異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの内、前記複数のノード夫々に、モデルを選択させ、having each of the plurality of nodes select a model from among a global model and a local model to which different version information is associated;
所定数以上のノードで選択されたモデルを選出し、Select a model that is selected by a predetermined number of nodes or more;
選出されたモデルのデータを前記複数のノード又は他の装置へ配布するDistributing data of the selected model to the plurality of nodes or other devices.
処理を含むモデルのデータ提供方法。How the model provides data, including processing.
ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、
前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、
前記複数のノードは夫々、処理対象のローカルデータのデータによって前記グローバルモデルからローカルモデルの学習を各々進め、
前記サーバが備える処理部は、
学習後の前記ローカルモデル及びローカルモデルそれぞれのバージョン情報を前記複数のノードから取得し、
前記複数のノードそれぞれから取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、
前記複数のノードに、各ノードの処理対象であるローカルデータに基づいて、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの精度に基づく評価値を算出させ、
前記複数のノードで算出された評価値に基づいて前記グローバルモデル及びローカルモデルそれぞれの総評価値を算出し、
取得した評価値及び総評価値を、前記グローバルモデル及びローカルモデルと対応付けて記憶し、
異なるバージョン情報と、各々の評価値及び総評価値とが対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、
選択されたモデルのデータを前記複数のノード又は他の装置へ配布する
モデルのデータ提供システム。
The system includes a plurality of nodes each processing local data, and a server connected to the plurality of nodes for communication;
The server distributes data of a global model to the plurality of nodes;
each of the plurality of nodes learns a local model from the global model based on the local data to be processed;
The processing unit included in the server includes:
acquiring the local model after learning and version information of each of the local models from the plurality of nodes;
updating data of a global model based on data of a local model after learning acquired from each of the plurality of nodes;
The acquired local model data and the updated global model data are stored in association with version information,
causing the plurality of nodes to calculate evaluation values based on accuracy of a global model and a local model associated with different version information, based on local data to be processed by each node;
Calculating a total evaluation value for each of the global model and the local model based on the evaluation values calculated for the plurality of nodes;
The acquired evaluation value and total evaluation value are stored in association with the global model and the local model;
Accepting a selection from a global model and a local model in which different version information is associated with each of the evaluation values and the total evaluation value;
A model data providing system that distributes data of a selected model to the plurality of nodes or other devices.
ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、The system includes a plurality of nodes each processing local data, and a server connected to the plurality of nodes for communication;
前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、The server distributes data of a global model to the plurality of nodes;
前記複数のノードは夫々、処理対象のローカルデータのデータによって前記グローバルモデルからローカルモデルの学習を各々進め、each of the plurality of nodes learns a local model from the global model based on the local data to be processed;
前記サーバが備える処理部は、The processing unit included in the server includes:
学習後の前記ローカルモデル及びローカルモデルそれぞれのバージョン情報を前記複数のノードから取得し、acquiring the local model after learning and version information of each of the local models from the plurality of nodes;
前記複数のノードそれぞれから取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、updating data of a global model based on data of a local model after learning acquired from each of the plurality of nodes;
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータを夫々、バージョン情報と対応付けて記憶し、The acquired local model data and the updated global model data are stored in association with version information,
異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルから、複数のグローバルモデル及び/又はローカルモデルの選択を受け付け、accepting a selection of a plurality of global models and/or local models from among global models and local models associated with different version information;
選択された複数のモデルのデータを前記複数のノード又は他の装置へ配布し、Distributing data of the selected models to the nodes or other devices;
前記複数のノード又は他の装置が処理可能なデータを、配布された前記複数のモデルそれぞれに入力させ、inputting data that can be processed by the plurality of nodes or other devices into each of the plurality of distributed models;
配布された前記複数のモデルから出力される複数の出力結果の多数決により、前記データに対する結果を特定させるA result for the data is determined by a majority vote of a plurality of output results output from the plurality of distributed models.
モデルのデータ提供システム。Data provision system for the model.
複数のノードと通信接続する通信部と、
記憶するグローバルモデルのデータに対する処理部と
を備え、
前記処理部により、
記憶するグローバルモデルのデータを前記複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータをバージョン情報と対応付けて取得し、
前記複数のノードそれぞれから取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータをそれぞれ、バージョン情報と対応付けて記憶し、
前記複数のノードに、各ノードの処理対象であるローカルデータに基づいて、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの精度に基づく評価値を算出させ、
前記複数のノードで算出された評価値に基づいて前記グローバルモデル及びローカルモデルそれぞれの総評価値を算出し、
取得した評価値及び総評価値を、前記グローバルモデル及びローカルモデルと対応付けて記憶し、
異なるバージョン情報と、各々の評価値及び総評価値とが対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、
選択されたモデルのデータを前記複数のノード又は他の装置へ配布する
サーバ装置。
A communication unit that communicates with a plurality of nodes;
a processing unit for storing data of a global model;
The processing unit
Distributing the stored global model data to the plurality of nodes;
acquiring data of a local model learned based on the global model using local data processed by the plurality of nodes in association with version information ;
updating data of a global model based on data of a local model after learning acquired from each of the plurality of nodes;
The acquired local model data and the updated global model data are stored in association with version information,
causing the plurality of nodes to calculate evaluation values based on accuracy of a global model and a local model associated with different version information, based on local data to be processed by each node;
Calculating a total evaluation value for each of the global model and the local model based on the evaluation values calculated for the plurality of nodes;
The acquired evaluation value and total evaluation value are stored in association with the global model and the local model;
Accepting a selection from a global model and a local model in which different version information is associated with each of the evaluation values and the total evaluation value;
A server device that distributes data of the selected model to the plurality of nodes or other devices.
複数のノードに通信接続が可能なコンピュータに、
記憶するグローバルモデルのデータを前記複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルそれぞれのデータをバージョン情報と対応付けて取得し、
前記複数のノードそれぞれから取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、
取得したローカルモデルのデータ、及び、更新後のグローバルモデルのデータをそれぞれ、バージョン情報と対応付けて記憶し、
前記複数のノードに、各ノードの処理対象であるローカルデータに基づいて、異なるバージョン情報が対応付けられたグローバルモデル及びローカルモデルの精度に基づく評価値を算出させ、
前記複数のノードで算出された評価値に基づいて前記グローバルモデル及びローカルモデルそれぞれの総評価値を算出し、
取得した評価値及び総評価値を、前記グローバルモデル及びローカルモデルと対応付けて記憶し、
異なるバージョン情報と、各々の評価値及び総評価値とが対応付けられたグローバルモデル及びローカルモデルから、選択を受け付け、
選択されたモデルのデータを前記複数のノード又は他の装置へ配布する
処理を実行させるコンピュータプログラム。
A computer that can communicate with multiple nodes.
Distributing the stored global model data to the plurality of nodes;
acquiring data of each local model learned based on the global model using local data processed by the plurality of nodes in association with version information;
updating data of a global model based on data of a local model after learning acquired from each of the plurality of nodes;
The acquired local model data and the updated global model data are stored in association with version information,
causing the plurality of nodes to calculate evaluation values based on accuracy of a global model and a local model associated with different version information, based on local data to be processed by each node;
Calculating a total evaluation value for each of the global model and the local model based on the evaluation values calculated for the plurality of nodes;
The acquired evaluation value and total evaluation value are stored in association with the global model and the local model;
Accepting a selection from a global model and a local model in which different version information is associated with each of the evaluation values and the total evaluation value;
and distributing data of the selected model to the plurality of nodes or other devices.
サーバと通信接続されるコンピュータに、
前記サーバから配布されるグローバルモデルのデータを基にして処理対象のローカルデータを用いたローカルモデルを学習する処理と、学習後のローカルモデルのデータを前記サーバへ送信する処理とを繰り返し、
異なるバージョン情報が対応付けられた複数のグローバルモデルのデータ及びローカルモデルのデータを取得し、
取得したデータに対応する複数のグローバルモデル及び/又はローカルモデルそれぞれに、処理対象のデータを入力し、
前記複数のグローバルモデル及び/又はローカルモデルから出力される複数の出力結果の多数決により、前記データに対する結果を特定する
処理を実行させるコンピュータプログラム。
The computer that is connected to the server
repeating a process of learning a local model using the local data to be processed based on the data of a global model distributed from the server, and a process of transmitting the data of the learned local model to the server;
Acquire a plurality of global model data and local model data associated with different version information,
inputting data to be processed into a plurality of global models and/or local models corresponding to the acquired data;
A computer program that executes a process of determining a result for the data by majority vote of a plurality of output results output from the plurality of global models and/or local models .
JP2020186620A 2020-11-09 2020-11-09 Model data providing method, model data providing system, server device, and computer program Active JP7551458B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020186620A JP7551458B2 (en) 2020-11-09 2020-11-09 Model data providing method, model data providing system, server device, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020186620A JP7551458B2 (en) 2020-11-09 2020-11-09 Model data providing method, model data providing system, server device, and computer program

Publications (2)

Publication Number Publication Date
JP2022076277A JP2022076277A (en) 2022-05-19
JP7551458B2 true JP7551458B2 (en) 2024-09-17

Family

ID=81606556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020186620A Active JP7551458B2 (en) 2020-11-09 2020-11-09 Model data providing method, model data providing system, server device, and computer program

Country Status (1)

Country Link
JP (1) JP7551458B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019526851A (en) 2016-07-18 2019-09-19 ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC Distributed machine learning system, apparatus, and method
WO2020223620A1 (en) 2019-05-02 2020-11-05 Splashlight Holding Llc Digital anthropology and ethnography system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019526851A (en) 2016-07-18 2019-09-19 ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC Distributed machine learning system, apparatus, and method
WO2020223620A1 (en) 2019-05-02 2020-11-05 Splashlight Holding Llc Digital anthropology and ethnography system

Also Published As

Publication number Publication date
JP2022076277A (en) 2022-05-19

Similar Documents

Publication Publication Date Title
US11748677B2 (en) Multi-model medical scan analysis system using fine-tuned models
US11742093B2 (en) Machine learning models in location based episode prediction
KR102216689B1 (en) Method and system for visualizing classification result of deep neural network for prediction of disease prognosis through time series medical data
US20180144244A1 (en) Distributed clinical workflow training of deep learning neural networks
US11276495B2 (en) Systems and methods for predicting multiple health care outcomes
US11636497B1 (en) Computer network architecture with machine learning and artificial intelligence and risk adjusted performance ranking of healthcare providers
CN108366788A (en) Diagnostic system and diagnosis management method whether abnormal using the cell of DNN study
CN106462655B (en) Network, system and method are supported in clinical diagnosis
US20200111575A1 (en) Producing a multidimensional space data structure to perform survival analysis
JP7545297B2 (en) Model data provision method, model data provision system, and computer program
US20190221294A1 (en) Time series data processing device, health prediction system including the same, and method for operating the time series data processing device
JP2022076278A (en) Model learning method, model learning system, server device, and computer program
JP7551458B2 (en) Model data providing method, model data providing system, server device, and computer program
KR20220145654A (en) Time series data processing device configured to process time series data with irregularity
CN116959715A (en) Disease prognosis prediction system based on time sequence evolution process explanation
CN113223677A (en) Doctor matching method and device for patient
JP2022076274A (en) Model learning method, model learning system, server device, and computer program
Petousis et al. Evaluating the impact of uncertainty on risk prediction: Towards more robust prediction models
JP7313165B2 (en) Alzheimer's Disease Survival Analyzer and Alzheimer's Disease Survival Analysis Program
US20230351252A1 (en) Decentralized training method suitable for disparate training sets
JP2023025415A (en) Program, storage medium, system, learned model, and determination method
KR20240106485A (en) Apparatus and method for exploring optimized treatment pathway through model based reinforcement learning based on similar episode sampling
JP2022076275A (en) Model learning method, model learning system, and computer program
CN118553372A (en) Medical data management system based on artificial intelligence

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240904

R150 Certificate of patent or registration of utility model

Ref document number: 7551458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150