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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 112
- 238000004590 computer program Methods 0.000 title claims description 8
- 238000012545 processing Methods 0.000 claims description 155
- 238000011156 evaluation Methods 0.000 claims description 89
- 230000008569 process Effects 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 26
- 238000012549 training Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 description 42
- 238000013135 deep learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000003384 imaging method Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 208000010412 Glaucoma Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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では、パラメータサーバが複数に断片化されており、学習モデルの複数のレプリカが夫々、非同期で、断片化されたパラメータサーバからパラメータを取得して学習し、パラメータを各パラメータサーバへ返すことを繰り返す。このような分散処理により、学習モデルのパラメータが早期に収束するとされている。
特許文献1に開示されているような分散処理による深層学習の方法であっても、トレーニングデータは集約している。しかしながら、医療、金融、認証といった分野のデータは個人データであって機密性が高い。モデルの精度を高めるためにトレーニングデータとしてデータを集約するためには、データの提供に各個人の同意が必要である上、同意が得られたとしてもデータ管理の安全性に対するリスクが常につきまとう。
Even in the deep learning method using distributed processing as disclosed in
本発明は、斯かる事情に鑑みてなされたものであり、分散学習に基づく学習モデルの実用化を促進するモデルのデータ提供方法、モデルのデータ提供システム、サーバ装置、及びコンピュータプログラムを提供することを目的とする。 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.
本開示をその実施の形態を示す図面を参照して具体的に説明する。 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
記憶装置2は、物理量を測定するセンサ、画像を撮影するカメラ等、学習対象のデータを入出力する機器との間でデータの入出力が可能であり、それらのデータを蓄積する。記憶装置2は、操作によって入力されるデータに応じて出力する特定用途の計算機に接続されてもよい。記憶装置2は、ユーザが用いる情報端末の記憶装置であってもよい。記憶装置2は、クライアント装置からデータを収集するサーバ装置に使用される記憶装置であってもよい。
The
ノード1は、記憶装置2が記憶しているデータと同種のデータが入力された場合に、データに基づいて認識結果、判定結果、又は新たなデータを出力するように、モデルの深層学習を実行する。サーバ3は、ノード1に対してモデルを提供するコンピュータであると共に、ノード1と協働してモデルを学習するモデル提供システム100を実現する。記憶装置2が記憶しているデータ(以下、ローカルデータという)をトレーニングデータとしてモデルの学習を実行するには、これらにアクセスできる必要がある。本実施の形態のモデル提供システム100は、サーバ3からのローカルデータへのアクセスを不可とした状態で、学習を進行させることができる。
When
サーバ3は、初期的に、第0次グローバルモデル51を得る。サーバ3は、第0次グローバルモデル51を、通信網Nを介してノード1へ配布する。サーバ3からノード1へ配布されるグローバルモデル51の実体(データ)は、学習済みのパラメータのみ、又は、学習済みのパラメータとプログラムの両方である。グローバルモデル51は、モデルの構成を定義する定義データ(ネットワーク定義、損失や予め設定されるハイパーパラメータを含む)と、学習対象の重み係数等のパラメータとであってもよい。
The
学習対象のモデルは、深層学習と呼ばれる学習の対象であればアーキテクチャは問わない。深層学習のモデルの種類は、入力データ及び出力データの内容に応じて適切に選択されるべきである。以下説明する学習対象のモデルは、畳み込み層を含む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
ノード1は、記憶装置2との間のローカルネットワークLNに基づいて、記憶装置2に蓄積されたローカルデータにアクセス可能である。ノード1は、アクセス可能なローカルデータを用いて深層学習を実行する。ローカルデータに対しては既に、ノード1が設置されている場所のオペレータによってアノテーションが実施済であるとよい。ノード1は、サーバ3から配布される第0次グローバルモデル51を取得する。ノード1は、第0次グローバルモデル51を基に、ローカルデータをトレーニングデータとして学習を進行し、第1次ローカルモデル52を得る。
ノード1は、第1次ローカルモデル52を、サーバ3へ送信する。ローカルデータはサーバ3へ送信されないから、ローカルデータの抽象化、匿名化等の処理は不要である。
サーバ3は、複数のノード1夫々から第1次ローカルモデル52を複数受信し、受信した複数の第1次ローカルモデル52に対して統計処理を実行して第1次グローバルモデル51を作成する。サーバ3は、第1次グローバルモデル51を、複数のノード1へ再配布する。再配布されるグローバルモデル51は、重み係数のみであってもよい。再配布される重み係数は学習対象であってもよいし、全体であってもよい。再配布されるグローバルモデル51は、前回の更新からの差分に対応するものであってもよい。
The
モデル提供システム100は、サーバ3からノード1への第n次グローバルモデル51の配布、第n次グローバルモデル51のノード1におけるローカルデータを用いた学習、学習によって得られる第(n+1)次ローカルモデル52のサーバ3への送信、サーバ3での第(n+1)次ローカルモデル52の収集及び第(n+1)次グローバルモデル51の作成(更新)を繰り返す。
The
これにより、サーバ3からローカルデータへのアクセスを許可することなく、分散学習が可能になる。モデル提供システム100では、グローバルモデル51の配布と、ローカルモデル52の学習とを繰り返していく学習過程において、ノード1で学習されたローカルモデル52も含む複数のモデルから、グローバルモデル51を更新する。また、ノード1で学習されたローカルモデル52及び導出されたグローバルモデル51の中から、ノード1又はシステム外の情報処理装置4で利用するモデルを選択することを可能とする。
This enables distributed learning without allowing access to local data from the
このようなモデルの提供方法を実現するモデル提供システム100の構成について詳細に説明する。
The configuration of the
図2は、ノード1の構成を示すブロック図である。ノード1は、パーソナルコンピュータ又はサーバコンピュータである。ノード1は、処理部10、記憶部11、通信部12、表示部13及び操作部14を備える。
Figure 2 is a block diagram showing the configuration of
処理部10は、CPU(Central Processing Unit )及び/又はGPU(Graphics Processing Unit)を用いたプロセッサである。処理部10は、記憶部11に記憶されているノードプログラム1Pに基づき、記憶装置2からのデータの読み出し、サーバ3との間でのモデルの送受信、及びモデル学習を含む処理を実行する。
The
記憶部11は、例えばハードディスク、フラッシュメモリ、SSD(Solid State Drive)等の不揮発性メモリを用いる。記憶部11は、処理部10が参照するデータを記憶する。記憶部11は、ノードプログラム1Pを記憶する。記憶部11は、深層学習用のライブラリ1Lを記憶する。ノードプログラム1P及び/又は深層学習用のライブラリ1Lは、記録媒体8に記憶してあるノードプログラム8P及び/又は深層学習用のライブラリ8Lを処理部10が読み出して記憶部11に複製したものであってもよい。記憶部11は、サーバ3から取得するグローバルモデル51、及び、ローカルデータによって学習されるローカルモデル52夫々を記憶する。
The
通信部12は、通信網Nを介したデータ通信、及び、ローカルネットワークLNを介した記憶装置2との通信を各々実現する。通信部12は具体的には、例えばネットワークカードである。処理部10は、通信部12によって記憶装置2からデータを読み出し、サーバ3との間でデータを送受信する。
The
表示部13は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等のディスプレイである。表示部13は、記憶部11に記憶されているデータに基づく情報、又はサーバ3から提供されるデータを含む画面を表示する。表示部13は、タッチパネル内蔵型ディスプレイであってもよい。
The
操作部14は、処理部10との間で入出力が可能なキーボード及びポインティングデバイス等のユーザインタフェースである。操作部14は、音声入力部であってもよい。操作部14は、表示部13のタッチパネルであってもよい。操作部14は、物理ボタンであってもよい。操作部14は、ノード1のオペレータによる操作データを処理部10へ通知する。
The
図3は、サーバ3の構成を示すブロック図である。サーバ3は、サーバコンピュータである。サーバ3は、処理部30、記憶部31及び通信部32を備える。サーバ3は、以下の説明においては1台のサーバコンピュータによって構成されるものとして説明するが、複数台のサーバコンピュータをネットワークで通信接続して分散処理させる態様であってもよい。サーバ3は、通信網Nを介して各ノード1から通信接続が可能なクラウド型であってもよいし、仮想的なプライベートネットワークを介して各ノード1と通信接続するオンプレミス型であってもよい。
FIG. 3 is a block diagram showing the configuration of
処理部30は、CPU及び/又はGPUを用いたプロセッサである。処理部30は、記憶部31に記憶されているサーバプログラム3Pに基づき、グローバルモデル51の学習処理を実行する。
The
記憶部31は、例えばハードディスク、SSD等の不揮発性メモリを用いる。記憶部31は、処理部30が参照するデータを記憶する。記憶部31は、サーバプログラム3Pを記憶する。サーバプログラム3Pは、Webサーバプログラムを含む。記憶部31は、グローバルモデル51、複数のノード1から送信されるローカルモデル52を記憶する。サーバプログラム3Pは、記録媒体9に記憶してあるサーバプログラム9Pを処理部30が読み出して記憶部31に複製したものであってもよい。
The
通信部32は、通信網Nを介したデータ通信を実現する。通信部32は具体的には、例えばネットワークカードである。処理部30は、通信部32によって複数のノード1との間でデータを送受信する。
The
このように構成されるモデル提供システム100における学習処理手順について説明する。図4は、モデル提供システム100におけるモデルの学習処理手順の一例を示すフローチャートである。
The learning process procedure in the
サーバ3は、予め用意された初期的な(第0次)グローバルモデル51を取得する(ステップS1)。初期的なグローバルモデル51は、特定のノード1で第0次モデルとして作成されたモデルであってもよいし、ノード1ではなく特定の場所で学習されたモデルであってもよく、予め記憶部31に記憶してあるとよい。ステップS1の取得は、予め記憶部31に記憶されているグローバルモデル51の読み出しを含む。
The
サーバ3は、取得した第0次グローバルモデル51をノード1へ配布する(ステップS2)。
The
サーバ3は、ノード1へ配布したグローバルモデル51を基に、ノード1で学習されるローカルモデル52を取得する(ステップS3)。
The
サーバ3は、取得したローカルモデル52に対して統計処理を実行し、次世代のグローバルモデル51に更新する(ステップS4)。ステップS4においてサーバ3は、更新(ラウンド)回数を、加算して記憶してもよい。
The
サーバ3は、学習完了条件を満たすか否か判断する(ステップS5)。
The
ステップS5についてサーバ3は例えば、更新回数が所定回数に到達したか否かで判断する。サーバ3は、グローバルモデル51の精度の向上が前回の更新に比して見られない場合に、学習が完了したと判断してもよい。
In step S5, the
学習完了条件を満たさないと判断された場合(S5:NO)、サーバ3は、更新後のグローバルモデル51を複数のノード1へ再分配し(ステップS6)、処理をステップS3へ戻す。
If it is determined that the learning completion condition is not met (S5: NO), the
ステップS6においてサーバ3は、グローバルモデル51をそのまま再配布するのではなく、重み係数等のパラメータのみを再配布してもよい。
In step S6, the
ステップS6においてサーバ3は、何回目の更新後のグローバルモデル51であるのか、即ち第n次グローバルモデル51の「n」を示すデータを共に送信するとよい。
In step S6, the
学習完了条件を満たすと判断された場合(S5:YES)、サーバ3は、更新後のグローバルモデル51を、ノード1以外へも配布可能なグローバルモデル51として、バージョン情報と対応付けて記憶し(ステップS7)、処理を終了する。バージョン情報は、ステップS5にて学習完了条件を満たすと判断されるまでローカルモデル52の学習及びグローバルモデル51の更新を実行した回数に対応する。バージョン情報は、ラウンド情報をマイナーな情報として含んでもよい。
If it is determined that the learning completion condition is met (S5: YES), the
サーバ3は、図4のフローチャートに示した処理手順を、複数、例えば月に一度といった周期で実行する。その都度、グローバルモデルのバージョンが上昇し、より実用的なモデルとなる。
The
図5は、配布されたグローバルモデル51に基づくローカルモデル52の学習処理手順の一例を示すフローチャートである。図5のフローチャートに示す処理は、サーバ3がステップS2又はステップS6でグローバルモデル51を配布した場合に、複数のノード1夫々で実行する処理である。
Figure 5 is a flowchart showing an example of a learning process procedure for a
ノード1の処理部10は、配布されたグローバルモデル51を受信し、記憶部11に記憶する(ステップS301)。
The
ノード1の処理部10は、記憶したグローバルモデル51をインスタンスとしてロードする(ステップS302)。処理部10は、記憶装置2に記憶してあるローカルデータをトレーニングデータとして取得し(ステップS303)、これをグローバルモデル51に与えて学習を実行する(ステップS304)。
The
ステップS304において処理部10は、ロードしたグローバルモデル51に対してローカルデータの入力データを入力する。処理部10は、出力されたデータと、ローカルデータに含まれる前記入力データに対応する結果データとに対する損失を算出する。処理部10は、算出した損失に基づいて配布されたグローバルモデル51における重み係数を含むパラメータを学習する。
In step S304, the
ノード1の処理部10は、学習完了条件を満たすか否かを判断する(ステップS305)。ステップS305において処理部10は、学習(更新)回数が所定回数(1回以上)を満たすことを学習完了条件とする。処理部10は、学習後のグローバルモデル51の出力精度が記憶してある所定値以上である場合に、学習完了条件を満たすと判断してもよい。処理部10は、出力精度の変化が所定範囲内に収まり、収束していると判断できる場合に学習完了条件を満たすと判断してもよい。
The
学習完了条件を満たさないと判断された場合(S305:NO)、処理部10は処理をステップS304)へ戻す。これにより、学習が続行される。
If it is determined that the learning completion condition is not met (S305: NO), the
学習完了条件を満たすと判断された場合(S305:YES)、処理部10は学習を終了し、パラメータが更新されたグローバルモデル51を、ローカルモデル52としてバージョン情報と対応付けて記憶する(ステップS306)。ここでバージョン情報は、グローバルモデル51のバージョン情報と一致するものとする。バージョン情報は日時であってもよい。1つのバージョンに対して最新のローカルモデル52が上書き記憶されてもよいし、異なるラウンド毎にローカルモデル52が記憶されてもよい。
If it is determined that the learning completion condition is met (S305: YES), the
ノード1の処理部10は、記憶したローカルモデル52を、サーバ3へ送信し(ステップS307)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52を取得することができる。
The
ステップS307において処理部10は、第n次のローカルモデル52なのか、又は元となるグローバルモデル51が第n次なのかの「n」を示すデータ(1回のバージョンアップにおける更新回数)を共に送信するとよい。ステップS307においてノード1は、後述するように1回の学習完了までの更新回数に対応するラウンド情報を得られる場合にはそのラウンド情報を、ローカルモデル52に対応付けて送信してもよい。
In step S307, the
図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
図6は、サーバ3におけるグローバルモデル51の更新処理の一例を示すフローチャートである。図6のフローチャートに示す処理手順は、図4のフローチャートに示す処理手順の内のステップS4の詳細に対応する。
Figure 6 is a flowchart showing an example of a process for updating the
サーバ3の処理部30は、ノード1から送信されるローカルモデル52をバージョン情報と対応付けて取得し(ステップS401)、ノード1の識別データ及びバージョン情報と対応付けてローカルモデル52を記憶する(ステップS402)。ステップS401においてサーバ3の処理部30は、非同期に各ノード1から送信されるローカルモデル52を取得する。ステップS402においてサーバ3の処理部30は、図4のフローチャートにおけるステップS5で学習完了条件を満たすと判断されるまで、各ノード1からの最新のローカルモデル52を記憶する。ラウンド毎に、ラウンド情報が対応付けてられている場合に、処理部30は、学習完了までのラウンド毎のローカルモデル52を記憶してもよい。
The
処理部30は、取得したローカルモデル52でグローバルモデル51を更新すべきか否かを判断する(ステップS403)。ステップS403において処理部30は、グローバルモデル51を配布した配布先のノード1全てからローカルモデル52を取得できた場合に更新すべきであると判断してもよい。ステップS403において処理部30は、予め決定しておいた代表的の複数のノード1からローカルモデル52を取得できた場合に更新すべきであると判断してもよい。
The
更新すべきでないと判断された場合(S403:NO)、サーバ3の処理部30は処理をステップS401へ戻す。更新すべきであると判断されるまで、各ノード1から送信されるローカルモデル52を取得し、集約する。
If it is determined that an update is not necessary (S403: NO), the
更新すべきであると判断された場合(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
処理部30は、更新後のグローバルモデル51を、ラウンド情報、例えば更新回数(第n次)を示すデータ「n」と対応付けて記憶し(ステップS406)、グローバルモデル51の更新処理を終了する。これにより、第n-1次グローバルモデル51は、第n次グローバルモデル51に更新される。
The
ステップS406において処理部30は、各世代のグローバルモデル51を、更新回数を遡って読み出し可能に記憶部31に記憶する。
In step S406, the
上述したように第1の実施形態のモデル提供システム100では、ローカルデータはサーバ3へ送信されることなしに、各所に記憶されているローカルデータを用いた学習結果に基づいてグローバルモデル51が実用化される。各所のローカルデータのみでは、データ量が不足するような場合であっても、1箇所に集約させた大量のデータによる学習よりも精度よく、且つ早期に実用可能なモデルを提供することが可能になる。
As described above, in the
第1の実施形態では、サーバ3がグローバルモデル51の学習(更新)及び改訂(バージョンアップ)の過程でラウンド情報、及びバージョン情報と対応付けて、グローバルモデル51と、ノード1から取るローカルモデル52とを記憶している。サーバ3は、バージョン別、ラウンド毎に、ノード1に対し、各バージョンのグローバルモデル51及びローカルモデル52から選択を受け付ける。
In the first embodiment, the
図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
ノード1のオペレータは、サーバ3から提供されるWebページへのアクセスを試みる。ノード1の処理部10は、ノードプログラム1Pに含まれるWebブラウザプログラムに基づき、リクエストをサーバ3へ送信する(ステップS201)。以下、Webブラウザプログラムに基づく処理は、Webブラウザのバックグラウンドで実行されてもよい。
The operator of
サーバ3は、リクエストを受信する(ステップS601)。サーバ3の処理部30は、リクエストに含まれるノード1のアカウント情報に応じて、アカウントに対応するグローバルモデル51及びローカルモデル52の一覧を含むWebページをノード1へ送信する(ステップS602)。
The
ノード1の管理者毎に、サーバ3へのアクセス用のアカウントが発行されている。アカウントは、アカウントID、認証情報、権限のデータを含む。サーバ3は、記憶部31にアカウントデータを記憶している。ノード1の管理者向けのアカウントには、グローバルモデル51及びローカルモデル52の選択及びダウンロードの権限が対応付けられている。ダウンロードが可能なグローバルモデル51及びローカルモデル52は、アカウント毎に設定されていてもよい。
Each administrator of
ノード1では処理部10が、グローバルモデル51及びローカルモデル52の一覧を受信し(ステップS202)、表示部13に表示する(ステップS203)。処理部10は、グローバルモデル51及びローカルモデル52の一覧から、いずれか1又は複数の選択を受け付ける(ステップS204)。処理部10は、選択されたモデルの指定をサーバ3へ送信する(ステップS205)。
At
サーバ3は、モデルの指定を受信し(ステップS603)、指定されたモデル(グローバルモデル51又はローカルモデル52)を、ノード1へ送信し(ステップS604)、サーバ3の処理を終了する。
ノード1は、指定したグローバルモデル51又はローカルモデル52をサーバ3から取得し(ステップS206)、受信したグローバルモデル51又はローカルモデル52に、記憶装置2に記憶されているローカルデータを用いて精度の評価値を算出する(ステップS207)。
The
ノード1の処理部10は、算出した評価値を表示し(ステップS208)、利用するか否かの選択を受け付ける(ステップS209)。利用すると選択された場合(S209:YES)、処理部10は、対象のモデルを記憶部11に記憶する(ステップS210)。記憶されたグローバルモデル51又はローカルモデル52は、以後、ノード1で利用可能になる。
The
処理部10は、利用しないと選択された場合(S209:NO)、又は、S210の後、他のモデルを取得するか否か判断し(ステップS211)、取得しないと判断された場合(S211:NO)、処理を終了する。
If it is selected not to use (S209: NO), or after S210, the
取得すると判断された場合(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
図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
図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
第1の実施形態に示したように、モデル提供システム100では、各ノード1で学習されたローカルモデル52を集約して更新されたグローバルモデル51のみならず、他のノード1から集約されたローカルモデル52についても、他のノード1に対して提供可能である。
As shown in the first embodiment, the
図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
ノード1のオペレータは、同一の入力データ及び出力データについていずれのモデルを採用してもよい。ノード1は、バージョン違いのグローバルモデル51、及びローカルモデル52を用い、各々からの出力データの多数決を自動的に取るようにしてもよい。
The operator of
図10は、ノード1におけるモデル利用手順の一例を示すフローチャートである。ノード1は、ノードプログラム1Pに基づき、1つのモデルについてバージョン違いのグローバルモデル51、及びローカルモデル52の指定をサーバ3へ送信する(ステップS221)。
Figure 10 is a flowchart showing an example of a model usage procedure in
サーバ3では、指定されたモデルのバージョン違いのグローバルモデル51、及びローカルモデル52をノード1へ送信する。
ノード1は、指定したモデルのバージョン違いのグローバルモデル51、及びローカルモデル52を受信し、取得する(ステップS222)。
ノード1の処理部10は、取得したバージョン違いのグローバルモデル51、及びローカルモデル52それぞれに、記憶装置2に記憶されているローカルデータを入力データとして与え、複数の出力データを取得する(ステップS223)。
The
処理部10は、取得した複数の出力データの結果を比較し(ステップS224)、最も多くの出力データから得られる結果を特定する(ステップS225)。
The
処理部10は、特定した結果を表示部に出力して表示し(ステップS226)、記憶して(ステップS227)、処理を終了する。
The
ステップ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
(第2の実施形態)
第2の実施形態では、サーバ3に記憶されるローカルモデル51は、ノード1で最適化したものを含んでもよい。第2の実施形態におけるモデル提供システム100の構成は、処理の詳細を除いて第1の実施形態のモデル提供システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Second Embodiment
In the second embodiment, the
図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
ノード1の処理部10は、再学習後のグローバルモデル51又はローカルモデル52を、バージョン情報と対応付けてサーバ3へ送信し(ステップS213)、処理をステップS211へ進める。
The
サーバ3では、再学習後のグローバルモデル51又はローカルモデル52、並びにバージョン情報を受信し(ステップS605)、ノード1の識別データ及びバージョン情報と共に記憶する(ステップS606)。以後、このノード1での再学習後のグローバルモデル51又はローカルモデル52も、ステップS602で送信される一覧に含まれる。
The
(第3の実施形態)
第3の実施形態モデル提供システム100は、ノード1にて、グローバルモデル51及びローカルモデル52に対してローカルデータに基づく評価値を算出し、その評価値を共にノード1に出力して選択時にノード1のオペレータに参照できるようにする。第3の実施形態におけるモデル提供システム100の構成は、上述の処理の詳細を除いて第1の実施形態のモデル提供システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Third Embodiment
The
図12は、第3の実施形態のモデル提供システム100における学習処理手順の一例を示すフローチャートである。図12のフローチャートに示す処理手順の内、第1の実施形態の図4のフローチャートに示す処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
Figure 12 is a flowchart showing an example of a learning process procedure in the
第2の実施形態において、サーバ3は、集約したローカルモデル52に基づいてグローバルモデル51を更新した後(S4)、更新後のグローバルモデル51について評価値の算出を受けるべく、各ノード1へ送信する(ステップS501)。
In the second embodiment, the
各ノードでは、ローカルデータを更新後のグローバルモデル51に与えた評価値を算出し、サーバ3へ送信する。
Each node calculates the evaluation value given to the updated
サーバ3は、各ノード1から送信された評価値を取得し(ステップS502)、取得した評価値に基づいて総評価値を算出し(ステップS503)、取得した評価値及び総評価値を、更新後のグローバルモデル51のラウンド情報と対応付けて記憶する(ステップS504)。
The
これにより、各グローバルモデル51には、ノード1での評価値を各バージョンに対して記憶しておき、グローバルモデル51の一覧に評価値を含めることが可能になる。
This allows each
図13は、第3の実施形態におけるローカルモデル52の更新手順の一例を示すフローチャートである。図13のフローチャートに示す処理手順のうち、図5のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
Figure 13 is a flowchart showing an example of a procedure for updating the
ノード1の処理部10は、配布されたグローバルモデル51の学習実行前に、取得したローカルデータのデータ量(データ件数)を算出し、記憶しておく(ステップS311)。
Before learning the distributed
処理部10は、学習完了条件を満たすと(S305:YES)、学習処理後に得られるローカルモデル52の評価値を算出する(ステップS312)。ステップS312において処理部10は、評価値として、ローカルデータを入力した場合の精度の平均値等を算出する。処理部10は、評価値として、A/B/Cの判定結果を導出してもよい。
When the learning completion condition is satisfied (S305: YES), the
処理部10は、学習後のローカルモデル52と共に、ステップS311で記憶しておいたローカルモデル52の学習に用いたローカルデータのデータ量と、ステップS312で算出した評価値とを共にサーバ3へ送信し(ステップS313)、処理を終了する。
The
これにより、ローカルモデル52の学習の元となったローカルデータのデータ量を、ローカルモデル52の評価の指標として参照することが可能になる。
This makes it possible to refer to the amount of local data that was the basis for learning the
図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),
ノード1では処理部10が、グローバルモデル51及びローカルモデル52の一覧を受信して表示する(S202,S203)。ステップS203において処理部10は、各モデルに対応付けられている評価値及び総評価値を、各モデルのモデル名及びバージョン名と共に表示する。処理部10は、一覧から選択を受け付け(S204)、選択されたモデルの指定をサーバ3へ送信する(S205)。ステップS204において処理部10は、評価値に基づいて、グローバルモデル51又はローカルモデル52の選択を受け付けることができる。
At
サーバ3の処理部30は、モデルの指定を受信し(S603)、指定されたモデルそのものを送信すると(S604)、指定されたグローバルモデル51又はローカルモデル52について、指定された履歴を記憶しておき(ステップS614)、処理を終了する。これにより、ノード1でオペレータに選択されたグローバルモデル51又はローカルモデル52の履歴が記憶部31に記憶される。
The
第3の実施形態のモデル提供システム100では、図14のフローチャートに示したように、指定されたグローバルモデル51又はローカルモデル52を記憶する(S614)。指定されたモデルの数量、指定回数等が蓄積された後には、サーバ3は、所定数以上のノード1から指定されたグローバルモデル51又はローカルモデル52を、選出することができる。グローバルモデル51及びローカルモデル52に対する各ノード1からの投票が可能になる、と言える。
In the
図15は、第3の実施形態におけるモデル一覧画面131の一例を示す。図15に示すように、モデル一覧画面131には、グローバルモデル51に対して算出された総評価値が対応付けて表示され、ローカルモデル52には評価値が共に出力される。図15に示すように、モデル一覧画面131には、ローカルモデル52と共に送信されるデータ量が対応付けて出力される。モデル一覧画面131を確認するオペレータは、これらの評価値、あるいはローカルモデル52の学習に用いられたデータ量を基に、利用するモデルを選択することができる。
Figure 15 shows an example of a
第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
以下のようにしてモデルの選出が行われてもよい。第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
選出されたグローバルモデル51又はローカルモデル52が、以後のモデル一覧画面131に優先的に表示されるようにしてもよい。選出されたグローバルモデル51又はローカルモデル52がその後、各ノード1で選択されたモデルをノード1へ配布して更新を続けるグローバルモデル51として選出されてもよい。この場合、図4のフローチャートに示した学習の処理手順の内のステップS1において、選出されたグローバルモデル51又はローカルモデル52を取得し、以後、S2~S7の処理を実行する。
The selected
図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
サーバ3の処理部30は、同一モデル名のバージョンの異なるグローバルモデル51、及び、そのグローバルモデル51に対応するローカルモデル52の選択履歴を参照する(ステップS101)。
The
処理部30は、同一モデル名のグローバルモデル51、及び対応するローカルモデル52の内、所定数以上のノード1で選択されているグローバルモデル51又はローカルモデル52を抽出する(ステップS102)。
The
処理部30は、抽出したグローバルモデル51又はローカルモデル52の内、最も評価値が高いグローバルモデル51又はローカルモデル52を選出する(ステップS103)。ステップS102及びステップS103により、より多くのノード1に支持されているグローバルモデル51、又はローカルモデル52が選出される。
The
処理部30は、選出したグローバルモデル51又はローカルモデル52を各ノード1へ配布する(ステップS104)。配布したグローバルモデル51又はローカルモデル52について評価値を取得し、記憶する(ステップS105)。
The
ステップS104及びS105の処理に対して各ノード1は、評価値を算出し、配布されたグローバルモデル51又はローカルモデル52を基に、ローカルモデル52を学習する。
For the processing of steps S104 and S105, each
処理部30は、各ノード1で学習されたローカルモデルを取得し(S3)、取得したローカルモデルを統計処理してグローバルモデル51を更新する(S4)。
The
処理部30は、更新後のグローバルモデル51について評価値の算出を受けるべく、各ノード1へ送信し(S501)、算出された評価値を取得する(S502)。
The
処理部30は、複数のノード1毎に、更新前後のグローバルモデル51(又はローカルモデル52)の内、より多くのノード1で評価値が高く算出されたモデルを選出する(ステップS513)。ステップS513において、更新後のグローバルモデル51に高い評価値を更新前よりも算出するノード1と、更新前のグローバルモデル51(又はローカルモデル52)に更新後よりも高い評価値を算出するノード1とが存在する。ステップS513において処理部30は、それらのノード1の多数決を取る。
For each of the
処理部30は、選出したモデルについて学習完了条件を満たすか否かを判断する(S5)。
The
学習完了条件を満たさないと判断された場合(S5:NO)、処理部30は、ステップS513で選出されたグローバルモデル51をノードへ配布し(ステップS516)、処理をステップS3へ戻す。
If it is determined that the learning completion condition is not met (S5: NO), the
ステップ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
サーバ3の処理部30は、同一モデル名のバージョンの異なるグローバルモデル51の選択履歴を参照する(ステップS701)。処理部30は、同一モデル名のグローバルモデル51、及び対応するローカルモデル52の内、所定数以上のノード1で選択されているグローバルモデル51又はローカルモデル52を抽出する(ステップS702)。
The
処理部30は、抽出したグローバルモデル51又はローカルモデル52の内、最も評価値が高いグローバルモデル51又はローカルモデル52を選出する(ステップS703)。ステップS702及びステップS703により、より多くのノード1に支持されているグローバルモデル51、又はローカルモデル52が選出される。
The
処理部30は、選出したグローバルモデル51又はローカルモデル52を記憶し(ステップS704)、処理を終了する。
The
図19は、第3の実施形態におけるモデル一覧画面131の他の一例を示す。図19のモデル一覧画面131では、図15のモデル一覧画面131と比較して、選出されたグローバルモデル51又はローカルモデル52が選出されているために、同一モデルに関して1つずつが表示されている。モデル一覧画面131を確認するオペレータは、これらの選択実績に基づいて、利用するモデルを選択することができる。
Figure 19 shows another example of the
(第4の実施形態)
モデル提供システム100は、ニューラルネットワークを始めとする深層学習のモデルに適用できる。例えば、入力データは画像データであり、出力データは画像データの画像に写っている被写体の検出結果、又は被写体に対する判定結果である。他の例では、入力データは、入出金データであり、出力データは評価等の判定結果、あるいは企業業況変化(成長または劣化)に関する予測値や経済予測に関する予測値である。他の例では、入力データは、工場、生産設備に設けられた各種センサからの測定データであり、出力データは異常/正常を含む生産管理に関するデータである。他の例では、入力データはテキストデータであり、出力データは判定結果、または予測データである。
Fourth Embodiment
The
第4の実施形態では、モデル提供システム100を、医療施設にて患者に関して得られる医療データから、患者に特定の病気の症状が発生しているか否かの診断を支援する診断支援データを出力するモデルの学習に適用させた例を挙げて説明する。以下の説明では、医療データは、例えば検査で撮影された眼底写真の画像データである。
In the fourth embodiment, an example will be described in which the
図20は、第4の実施形態のモデル提供システム100の概要図である。第4の実施形態におけるモデル提供システム100の構成は基本的に、第1の実施形態のモデル提供システム100と同様である。第4の実施形態のモデル提供システム100の構成の内、第1の実施形態のモデル提供システム100と共通する構成については同一の符号を付して詳細な説明を省略する。
Figure 20 is a schematic diagram of the
第4の実施形態においてノード1及び情報処理装置は、医療施設に設けられている。ノード1及び情報処理装置は、患者の眼底写真を撮影する撮影装置から得られる画像データを取得できる。ノード1が設けられている医療施設では、撮影装置は記憶装置2に対して画像データを出力する。撮影装置は、異なる種類の装置を含む。
In the fourth embodiment, the
第4の実施形態においてグローバルモデル51、ローカルモデル52及び配布可能として記憶されたモデルは、画像データが入力された場合に、緑内障の診断を支援するデータ及び精度を出力するように学習されるモデルである。トレーニングデータとして用いられるローカルデータは、入力データとして画像データと、出力データとして眼底写真におけるDisc部分とCup部分とをセグメンテーションした結果の画像データである。出力データはその他、症状がみられるか否かを医師又は技師が判定した判定結果を含むデータセットであってもよい。ローカルデータの入力データである画像データは、撮影装置の種類を示す装置データと対応付けられている。装置データは型番でもよいし、装置メーカを識別するデータであってもよい。
In the fourth embodiment, the
第4の実施形態においてモデル学習システム100では、サーバ3が予め特定の医療施設で複数の異なるアーキテクチャで作成された初期的なグローバルモデル(第0次グローバルモデル)51を取得する。サーバ3は、異なるアーキテクチャの第0次グローバルモデル51を、トレーニングに協力する医療施設のノード1へ各配布する。
In the fourth embodiment of the
各ノード1は、配布された複数の第0次グローバルモデル51を受信し、異なる第0次グローバルモデル51に基づいてそれぞれ、ローカルデータをトレーニングデータとして学習を進行し、複数の第1次ローカルモデル52を得る。ノード1は、異なるアーキテクチャで学習された第1次ローカルモデル52をサーバ3へ送信する。
Each
サーバ3は、各ノード1から取得したローカルモデル52を、異なるアーキテクチャ毎に、加重平均して第1次グローバルモデル51を作成する。ここでサーバ3は、各ローカルモデル52の重み係数の加重平均を算出する。サーバ3は、作成された第1次グローバルモデル51を、複数のノード1へ再配布する。
The
サーバ3は、配布した第n次グローバルモデル51から作成される第(n+1)次ローカルモデル52の取得、第(n+1)次ローカルモデル52からの第(n+1)次グローバルモデル51の更新を、異なるアーキテクチャ毎に繰り返す。
The
サーバ3は、異なるアーキテクチャ毎に繰り返して得られたグローバルモデル51を、相互に比較し、精度がより高いアーキテクチャのグローバルモデル51を選択し、配布可能なモデルとしてノード1及び情報処理装置4へ提供する。
The
これにより、個人情報そのものである検査結果の画像データが、サーバ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
第4の実施形態におけるサーバ3及びノード1によるモデル学習に関する処理は、第1から第3の実施形態に示した処理手順と同様である。ただし第4の実施形態では、各ノード1は、ローカルモデル52の更新の際に、ローカルデータの特性をサーバ3へ送信する。
The process of model learning by the
図21は、第4の実施形態におけるローカルモデル52の更新手順の一例を示すフローチャートである。図21のフローチャートに示す処理手順のうち、第1の実施形態の図5のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
Figure 21 is a flowchart showing an example of a procedure for updating the
ノード1の処理部10は、配布されたグローバルモデル51の学習実行前に、取得したローカルデータのデータ量(データ件数)を算出し、記憶しておく(ステップS321)。処理部10は、予め記憶部11に記憶してある、又は記憶装置2に画像データと対応付けられている、撮影装置の装置データを取得し、記憶する(ステップS322)。ステップS322で処理部10は、ローカルデータの特性として、装置の種類のみならず、ローカルデータのアノテーション精度等の特性を取得してもよい。
Before executing learning of the distributed
処理部10は、学習完了条件を満たし(S305:YES)、学習後のローカルモデル52を記憶すると(S306)、処理部10は、学習処理後に得られるローカルモデル52の評価値を算出する(ステップS323)。ステップS323において処理部10は、評価値として、ローカルデータを入力した場合の精度の平均値等を算出する。処理部10は、評価値として、A/B/Cの判定結果を導出してもよい。
When the
処理部10は、学習後のローカルモデル52と共に、ステップS321で記憶しておいたローカルデータのデータ量と、ステップS322で記憶しておいた装置データと、ステップS323で算出した評価値を、サーバ3へ送信し(ステップS324)、処理を終了する。
The
これにより、ローカルモデル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
図22は、第4の実施形態におけるモデル一覧画面131の一例を示す。図22に示すように、各モデルの内、ローカルモデル52には、評価値の他に、学習に用いられたローカルデータのデータ特性が出力され、選択時に参照可能である。図22に示す例では、データ特性として、撮影装置の仕様データ(型番)と、データ件数を含む。オペレータは、これらのデータ特性を基に、利用するモデルを、ローカルモデル52も含めて選択することができる。
Figure 22 shows an example of the
上述のように開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれる。 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
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.
前記複数のノードが処理するローカルデータによって、各ノードに前記グローバルモデルを基にローカルモデルを学習させ、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又は請求項2に記載のモデルのデータ提供方法。 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から請求項3のいずれか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から請求項4のいずれか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.
前記複数のノードが処理するローカルデータによって、各ノードに前記グローバルモデルを基にローカルモデルを学習させ、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 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 .
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)
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 |
-
2020
- 2020-11-09 JP JP2020186620A patent/JP7551458B2/en active Active
Patent Citations (2)
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 |