[go: up one dir, main page]

JP7617724B2 - MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU - Google Patents

MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU Download PDF

Info

Publication number
JP7617724B2
JP7617724B2 JP2020186617A JP2020186617A JP7617724B2 JP 7617724 B2 JP7617724 B2 JP 7617724B2 JP 2020186617 A JP2020186617 A JP 2020186617A JP 2020186617 A JP2020186617 A JP 2020186617A JP 7617724 B2 JP7617724 B2 JP 7617724B2
Authority
JP
Japan
Prior art keywords
data
model
local
nodes
global model
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
JP2020186617A
Other languages
Japanese (ja)
Other versions
JP2022076274A (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 JP2020186617A priority Critical patent/JP7617724B2/en
Publication of JP2022076274A publication Critical patent/JP2022076274A/en
Application granted granted Critical
Publication of JP7617724B2 publication Critical patent/JP7617724B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Machine Translation (AREA)

Description

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

深層学習に基づく学習モデルを用いた判定、認識等が実用化されている。学習モデルは多様な技術分野で活用できることが確認されている。学習モデルの精度を各種分野で実用化できる程度に向上するために膨大なトレーニングデータを用いたとしてもパラメータの収束に長時間を要し、精度が良くなるとも限らない。 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 makes them practical for use 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, repeating this process. 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 learning method, a model learning system, a server device, and a computer program that promote the practical application of learning models based on distributed learning.

本開示の一実施形態のモデル学習方法は、サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを取得し、前記複数のノード夫々から取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新する処理を含む。 A model learning method according to one embodiment of the present disclosure includes distributing global model data stored in a server to multiple nodes, acquiring local model data learned based on the global model using local data processed by the multiple nodes, and updating the global model data based on the multiple local model data acquired from each of the multiple nodes.

本開示の一実施形態のモデル学習システムは、ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、前記複数のノードは夫々、処理対象のローカルデータによって前記グローバルモデルからローカルモデルの学習を各々進め、前記サーバは、学習後のローカルモデルのデータを前記複数のノードから取得し、取得した複数のローカルモデルのデータに基づいてグローバルモデルのデータを更新する。 The model learning 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 a local model from the global model using the local data to be processed, and the server acquires learned local model data from the plurality of nodes and updates the global model data based on the acquired data for the plurality of local models.

本開示の一実施形態のサーバ装置は、複数のノードと通信接続する通信部と、記憶するグローバルモデルのデータに対する処理部とを備え、前記処理部により、前記グローバルモデルのデータを複数のノードに対して配布し、前記複数のノードで処理するローカルデータによって前記グローバルモデルのデータを基に学習したローカルモデルのデータを前記通信部から取得し、前記複数のノード夫々から取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新する。 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 global model data to the plurality of nodes using the processing unit, acquires from the communication unit local model data learned based on the global model data using local data processed by the plurality of nodes, and updates the global model data based on the plurality of local model data acquired from each of the plurality of nodes.

本開示の一実施形態のコンピュータプログラムは、複数のノードに通信接続が可能なコンピュータに、記憶するグローバルモデルのデータを前記複数のノードに対して配布し、前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを取得し、前記複数のノード夫々から取得した複数のローカルモデルのデータに基づいて、グローバルモデルのデータを更新する処理を実行させる。 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, and updating the global model data based on the multiple local model data acquired from each of the multiple nodes.

本開示のモデル学習方法、モデル学習システム、サーバ装置、及びコンピュータプログラムでは、配布されたグローバルモデルのデータに対し、複数のノードがアクセス可能なローカルデータで学習を実行し、ローカルモデルを作成し、そのデータをサーバへ送信する。サーバにローカルデータを集約せずとも、複数のノード夫々でアクセス可能なローカルデータを用いた学習が可能となる。 In the model learning method, model learning system, server device, and computer program disclosed herein, learning is performed on distributed global model data using local data accessible to multiple nodes, a local model is created, and the data is sent to the server. Learning is possible using local data accessible by each of multiple nodes without aggregating the local data on the server.

本開示の一実施形態のモデル学習方法では、更新後のグローバルモデルのデータを前記複数のノードへ再分配してもよい。 In a model learning method according to an embodiment of the present disclosure, the updated global model data may be redistributed to the multiple nodes.

更新後のグローバルモデルを、ローカルデータで再学習し、更にこれを集約することでグローバルモデルの精度を向上させることが期待できる。 By re-learning the updated global model using local data and then aggregating this data, it is expected that the accuracy of the global model will be improved.

本開示の一実施形態のモデル学習方法では、前記サーバは、前記複数のノードから取得したローカルモデルのデータを統計処理して前記グローバルモデルのデータを更新する。 In a model learning method according to one embodiment of the present disclosure, the server performs statistical processing on the local model data acquired from the multiple nodes to update the global model data.

グローバルモデルは、ローカルモデルの平均、加重平均等の統計処理によって求めることができる。各ノードがアクセス可能なローカルデータはデータ量が少量であっても、複数のノードからのローカルモデルを統計処理することによって、各ローカルデータによる学習が反映されたグローバルモデルが作成される。 The global model can be calculated by statistical processing such as averaging or weighted averaging of local models. Even if the amount of local data accessible to each node is small, a global model that reflects learning from each local data can be created by statistically processing local models from multiple nodes.

本開示の一実施形態のモデル学習方法は、前記グローバルモデルのデータの更新の都度、前記複数のノード夫々のローカルデータで前記グローバルモデルの精度の評価値を各算出させ、前記複数のノードで算出された異なる評価値に基づいて前記グローバルモデルの総評価値を算出し、算出された総評価値と対応付けて前記グローバルモデルのデータを記憶する処理を含んでもよい。 The model learning method of one embodiment of the present disclosure may include a process of calculating an evaluation value of the accuracy of the global model using local data of each of the multiple nodes each time the data of the global model is updated, calculating a total evaluation value of the global model based on the different evaluation values calculated at the multiple nodes, and storing the data of the global model in association with the calculated total evaluation value.

総評価値は、各ノードでのローカルデータを用いた精度に基づいて算出される。総評価値は、精度の平均でもよいし、ローカルデータのデータ量に基づく加重平均であってもよい。 The total evaluation value is calculated based on the accuracy using local data at each node. The total evaluation value may be the average of the accuracy values, or a weighted average based on the amount of local data.

本開示の一実施形態のモデル学習方法は、前記総評価値に基づいて学習が所定の基準を満たすまで前記グローバルモデルのデータの更新を継続し、前記所定の基準を満たした学習結果に対応するグローバルモデルのデータの前記複数のノード及び他の装置への提供を許可する処理を含んでもよい。 The model learning method of one embodiment of the present disclosure may include a process of continuing to update the data of the global model until the learning satisfies a predetermined criterion based on the total evaluation value, and allowing the provision of the data of the global model corresponding to the learning result that satisfies the predetermined criterion to the multiple nodes and other devices.

総評価値に基づいて学習が所定の基準を満たしてノード以外の他の装置への配布が可能と判断される程度まで学習が完了した段階で、学習に協力したノードのみならず他の装置への提供がされる。複数のノードのローカルデータに基づく集合知的な学習モデルを広く利用することが可能になる。所定の基準とは、総評価値に基づき学習の精度が向上しなくなること、総評価値が所定値以上となること等として設定されてよい。 When learning is completed to the extent that it is judged based on the total evaluation value that the learning meets a predetermined criterion and can be distributed to devices other than the node, it will be provided not only to the nodes that cooperated in the learning but also to other devices. This makes it possible to widely use a collective intelligence learning model based on the local data of multiple nodes. The predetermined criterion may be set as the accuracy of the learning no longer improving based on the total evaluation value, the total evaluation value being equal to or greater than a predetermined value, etc.

本開示の一実施形態のモデル学習方法は、前記グローバルモデルのデータの更新の都度、更新後のグローバルモデルに対して算出された総評価値を記憶し、総評価に基づいて再分配するグローバルモデルを決定する処理を含んでもよい。 The model learning method of one embodiment of the present disclosure may include a process of storing a total evaluation value calculated for the updated global model each time the data of the global model is updated, and determining a global model to be redistributed based on the total evaluation.

グローバルモデルのデータの配布、ローカルモデルの学習、学習されたローカルモデルのデータに基づくグローバルモデルのデータの更新の繰り返しの中では、1つ前の更新におけるグローバルモデルの方が、評価が高いことがあり得る。ローカルデータが逐次追記されていく環境では、繰り返しの中で時折、過去のグローバルモデルを基に再度学習を進めることで、精度を向上させることが期待できる。 When distributing data from a global model, training a local model, and updating the data of the global model based on the trained local model data is repeated, the global model from the previous update may be evaluated more highly. In an environment where local data is added sequentially, it is expected that accuracy can be improved by occasionally re-learning based on past global models during the repetitions.

本開示の一実施形態のモデル学習方法は、更新後のグローバルモデルに対して算出された総評価値と、前回の更新後のグローバルモデルに対する総評価値とを比較し、比較の結果、評価がより高いグローバルモデルを、再分配するグローバルモデルとして決定する処理を含んでもよい。 The model learning method of one embodiment of the present disclosure may include a process of comparing a total evaluation value calculated for the updated global model with a total evaluation value for the global model after a previous update, and determining the global model with the higher evaluation as the result of the comparison as the global model to be redistributed.

過去のグローバルモデルを選択する場合は、総評価値を基準として選択するとよい。 When selecting a past global model, it is a good idea to use the total evaluation value as the basis for your selection.

本開示の一実施形態のモデル学習方法では、前記複数のノードは、ローカルモデルの学習に用いたローカルデータのデータ量、又はローカルモデルの学習量を逐次記憶し、前記サーバは、前記複数のノードから集約したローカルモデルのデータ夫々に、前記データ量又は学習量に対応する重みを付与して前記グローバルモデルのデータの更新に使用する処理を含んでもよい。 In a model learning method according to an embodiment of the present disclosure, the plurality of nodes may sequentially store the amount of local data used to learn the local model or the amount of learning of the local model, and the server may include a process of assigning a weight corresponding to the amount of data or the amount of learning to each of the local model data aggregated from the plurality of nodes and using the weight to update the data of the global model.

本開示の一実施形態のモデル学習方法では、前記複数のノードは、ローカルデータの特性を記憶しており、前記サーバは、前記複数のノードから集約したローカルモデルのデータ夫々に、各ノードのローカルデータの特性に対応する重みを付与して前記グローバルモデルのデータの更新に使用する処理を含んでもよい。 In a model learning method according to an embodiment of the present disclosure, the plurality of nodes may store characteristics of local data, and the server may include a process of assigning weights corresponding to the characteristics of the local data of each node to each piece of local model data aggregated from the plurality of nodes and using the weights to update the data of the global model.

本開示の一実施形態のモデル学習方法では、前記ローカルデータの特性は、各ノードによるローカルデータの取得方法、前記ローカルデータを出力する機器の仕様、又は、前記ローカルデータの精度評価であってもよい。 In the model learning method of one embodiment of the present disclosure, the characteristics of the local data may be a method for acquiring the local data by each node, a specification of a device that outputs the local data, or an accuracy evaluation of the local data.

ローカルモデルに基づくグローバルモデルのデータは、各ローカルモデルの基になったデータ量、又は、ローカルモデルにおける学習量に応じて、加重平均で算出される。グローバルモデルは、ローカルデータの特性に応じて加重平均で算出されてもよい。ローカルデータの規模又は品質は、各所で多様であり、それらを均等に統計処理するよりも、精度の向上が期待できる。ローカルモデルは、ローカルデータを取得するための方法、ローカルデータを出力する機器の仕様、ローカルデータをトレーニングデータとして使用する場合のアノテーション精度等に影響される。これらの影響に対応する重みで加重平均することによって、グローバルモデルのデータの更新が適切に行なわれることが期待できる。 Data for a global model based on local models is calculated as a weighted average according to the amount of data on which each local model is based or the amount of learning in the local model. The global model may be calculated as a weighted average according to the characteristics of the local data. The scale or quality of the local data varies from place to place, and it is expected that accuracy will be improved compared to uniform statistical processing of the data. The local model is influenced by the method for acquiring the local data, the specifications of the equipment that outputs the local data, the annotation accuracy when the local data is used as training data, etc. By calculating a weighted average with weights corresponding to these influences, it is expected that the data for the global model will be updated appropriately.

本開示の一実施形態のモデル学習方法では、前記複数のノードに、前記サーバで更新された後のグローバルモデルに対して、ローカルデータに基づき評価値を算出させる都度に前記評価値及び前記グローバルモデルのデータを記憶し、最も評価値が高い更新後のグローバルモデルを選択してもよい。 In a model learning method according to an embodiment of the present disclosure, each time the multiple nodes calculate an evaluation value for a global model after it has been updated by the server based on local data, the evaluation value and data for the global model may be stored, and the updated global model with the highest evaluation value may be selected.

前回の更新のみならず、過去のグローバルモデルから最も評価値が高いグローバルモデルを選択してもよい。過去のグローバルモデルを基に再度学習を進めることで、精度を向上させることが期待できる。 In addition to the previous update, the global model with the highest evaluation value may be selected from past global models. By re-learning based on past global models, it is expected that accuracy will improve.

本開示のモデル学習方法によれば、学習用にデータを集約せずとも、その多数のデータに基づくモデル学習が可能になる。本開示のモデル学習方法は、データの機密性が高い場合でも、モデル学習を実用的にすることができる。 The model learning method disclosed herein enables model learning based on a large amount of data without aggregating the data for learning. The model learning method disclosed herein makes model learning practical even when the data is highly confidential.

第1の実施形態のモデル学習システムの概要図である。FIG. 1 is a schematic diagram of a model learning 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. モデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart showing an example of a learning process procedure in the model learning 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. ノードで表示される画面例を示す。An example of the screen displayed on the node is shown below. 第2の実施形態のモデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model learning system of the second embodiment. 第3の実施形態のモデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model learning system of the third embodiment. 第3の実施形態のモデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model learning system of the third embodiment. 第3の実施形態におけるモデル学習の概要図である。FIG. 13 is a schematic diagram of model learning in the third embodiment. 第4の実施形態のノードにおけるローカルモデルの学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure of a local model in a node according to the fourth embodiment. 第4の実施形態のサーバにおけるグローバルモデルの更新処理の一例を示すフローチャートである。13 is a flowchart illustrating an example of a global model update process in the server of the fourth embodiment. 第5の実施形態のモデル学習システムの概要図である。FIG. 13 is a schematic diagram of a model learning system according to a fifth embodiment. 第5の実施形態のモデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model learning system of the fifth embodiment. 第5の実施形態におけるローカルモデルの学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure of a local model according to the fifth embodiment. 第5の実施形態のサーバにおけるグローバルモデルの更新処理の一例を示すフローチャートである。13 is a flowchart illustrating an example of a global model update process in the server of the fifth 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 learning system 100 according to a first embodiment. The model learning 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 learning system 100 that learns the model in cooperation with node 1. In order to execute model learning 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 the model learning system 100 of this embodiment, learning can proceed in a state in which access to the local data from server 3 is disabled.

サーバ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 network definitions, losses, and pre-set hyperparameters) that defines the model configuration, and parameters such as weight coefficients to be trained.

学習対象のモデルは、深層学習と呼ばれる学習の対象であればアーキテクチャは問わない。深層学習のモデルの種類は、入力データ及び出力データの内容に応じて適切に選択されるべきである。以下説明する学習対象のモデルは、畳み込み層を含む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 learning 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) including 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 learning 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 weight coefficient. 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の作成(更新)を繰り返す。「n」は予め上限を設定してもよいし、更新の途上でサーバ3のオペレータによって更新を手動で停止させるようにしてもよい。オペレータからのサーバ3に対する操作指示は、サーバ3と同一のローカルなネットワーク内のみから可能であってもよいし(オンプレミス型)、通信網N経由で例えばノード1から可能であってもよい(クラウド型)。 The model learning system 100 repeats the following steps: distribution of an nth order global model 51 from the server 3 to the node 1, learning of the nth order global model 51 using local data in the node 1, transmission of the (n+1)th order local model 52 obtained by learning to the server 3, collection of the (n+1)th order local model 52 in the server 3, and creation (update) of the (n+1)th order global model 51. An upper limit may be set in advance for "n", or the update may be manually stopped in the middle of the update by an operator of the server 3. Operation instructions to the server 3 from the operator may be possible only from within the same local network as the server 3 (on-premise type), or may be possible from, for example, the node 1 via the communication network N (cloud type).

これにより、サーバ3からローカルデータへのアクセスを許可することなく、分散学習が可能になる。 This enables distributed learning without allowing server 3 to access local data.

分散学習によってノード1以外へも配布可能な精度までに学習されたグローバルモデル51は、各ノード1に加え、ローカルモデル52の作成に参加しない情報処理装置4へも配布され、使用される。 The global model 51, which has been trained through distributed learning to an accuracy that allows it to be distributed to nodes other than node 1, is distributed and used not only to each node 1 but also to information processing devices 4 that do not participate in the creation of the local model 52.

このような学習方法を実現するためのモデル学習システム100の構成について詳細に説明する。 The configuration of the model learning system 100 for realizing this learning 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 between 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 may be 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を記憶する。記憶部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 storage unit 31 stores a global model 51 to be learned and local models 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 learning system 100 configured in this manner will be described. Figure 4 is a flowchart showing an example of the learning process procedure in the model learning 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 the 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 the number of updates (rounds).

サーバ3は、更新したグローバルモデル51が学習完了条件を満たすか否か判断する(ステップS5)。 The server 3 determines whether the updated global model 51 satisfies the learning completion conditions (step S5).

ステップS5についてサーバ3は例えば、学習回数が所定回数に到達したか否かで判断する。サーバ3は、特定のノード1又は特定の場所におけるトレーニングデータの入力データをグローバルモデル51に入力した場合に、対応する出力データを出力する精度が所定の条件(所定値以上、向上が見られない等)を満たすか否かで判断してもよい。またサーバ3は、後述する方法によって学習完了条件を満たすか否かを判断してもよい。ステップS5においてサーバ3は、オペレータの操作によって学習回数が所定回数に到達していなくとも学習停止が指示されたか否かを判断し、指示された場合にはステップS5において条件を満たすと判断してもよい。 In step S5, the server 3 may, for example, make a judgment based on whether the number of learning attempts has reached a predetermined number. When input data of training data at a specific node 1 or a specific location is input to the global model 51, the server 3 may make a judgment based on whether the accuracy of outputting the corresponding output data satisfies a predetermined condition (above a predetermined value, no improvement is observed, etc.). The server 3 may also judge whether the learning completion condition is met by a method described below. In step S5, the server 3 may judge whether an instruction to stop learning has been given by the operator's operation even if the number of learning attempts has not reached the predetermined number, and if so, may judge that the condition is met in step S5.

学習完了条件を満たさないと判断された場合(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」を示すデータを共に送信するとよい。ステップS6においてサーバ3は、後述するように学習のラウンド情報を得られる場合にはそのラウンド情報を、グローバルモデル51に対応付けて送信するとよい。ラウンド情報は、学習完了条件を満たすと判断されるまでに、ノード1への分配及び統計処理の実行した回数を示す情報である。サーバ3は、グローバルモデル51の種類、例えばどのようなアーキテクチャの深層学習がされたのか、を示すデータを共にノード1へ送信してもよい。 In step S6, the server 3 may also transmit data indicating the number of updates to the global model 51, i.e., the "n" of the nth global model 51. In step S6, if the server 3 can obtain learning round information as described below, the server 3 may transmit the round information in association with the global model 51. The round information is information indicating the number of times distribution to the node 1 and statistical processing were performed until it is determined that the learning completion condition is satisfied. The server 3 may also transmit data indicating the type of global model 51, for example, the type of architecture that was used for deep learning, to the node 1.

学習完了条件を満たすと判断された場合(S5:YES)、サーバ3は、更新後のグローバルモデル51を、ノード1以外の装置へも配布可能なグローバルモデル51として記憶する(ステップS7)。 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 devices other than the node 1 (step S7).

サーバ3は、記憶したグローバルモデル51を複数のノード1又は他の情報処理装置へ送信し(ステップS8)、処理を終了する。他の情報処理装置とは、ノード1同様に、学習対象と同種のデータを用いるが、ローカルデータをトレーニング用に提供しない装置である。 The server 3 transmits the stored global model 51 to multiple nodes 1 or other information processing devices (step S8), and ends the process. The other information processing devices are devices that, like the node 1, use the same type of data as the learning target, but do not provide local data for training.

サーバ3は、図4のフローチャートに示した処理手順を、複数、例えば月に一度といった周期で実行してもよい。その都度、グローバルモデルのバージョンが上昇し、より実用的なモデルとなる。 The server 3 may execute the processing procedure shown in the flowchart of FIG. 4 multiple times, 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 included in the local data to the loaded global model 51. The processing unit 10 calculates a loss function for the output data and the result data corresponding to the input data included in the local data. The processing unit may proceed with learning based on the match rate between the output data and the result data corresponding to the input data included in the local data, and the accuracy of the match. The processing unit 10 learns parameters including weight coefficients in the distributed global model 51 based on the calculated loss function.

ノード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 may set the learning completion condition to be that the number of learning times 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 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)。 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 the local model 52 (step S306).

ノード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」を示すデータを共に送信するとよい。ステップS307においてノード1は、後述するように1回の学習完了までのラウンド情報を得られる場合にはそのラウンド情報を、ローカルモデル52に対応付けて送信してもよい。 In step S307, the processing unit 10 may also transmit data indicating "n" indicating whether the local model 52 is of the nth order or whether the original global model 51 is of the nth order. In step S307, if the node 1 obtains round information up to the completion of one learning round 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を取得する。 The processing unit 30 of the server 3 acquires the local model 52 transmitted from the node 1 (step S401) and stores the local model 52 in association with the identification data 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.

処理部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 local models 52 sent from each node 1 are acquired and aggregated until it is determined that an update is necessary.

更新すべきであると判断された場合(S403:YES)、サーバ3の処理部30は、複数のノード1からのローカルモデル52の平均を求める(ステップS404)。処理部30は、平均を新たなグローバルモデル51として更新する(ステップS405)。 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).

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

更新が完了したグローバルモデル51は、各ノード1及び情報処理装置4から利用可能になる。図7は、ノード1で表示される画面例を示す。図7の更新結果画面431は、サーバ3から提供されるWebページに基づいてノード1の表示部13に表示される。更新結果画面431には、配布可能なモデルとして記憶されたグローバルモデル51の一覧が表示されている。更新結果画面431は、ノード1へサーバ3から自動的に配布された最新のグローバルモデル51のモデル名及び更新日時を示す。 Once the update is complete, the global model 51 becomes available to each node 1 and the information processing device 4. Figure 7 shows an example of a screen displayed on the node 1. The update result screen 431 in Figure 7 is displayed on the display unit 13 of the node 1 based on a web page provided by the server 3. The update result screen 431 displays a list of global models 51 stored as distributable models. The update result screen 431 shows the model name and update date and time of the latest global model 51 automatically distributed from the server 3 to the node 1.

サーバ3で更新が完了したグローバルモデル51は、各ノード1及び情報処理装置4から、選択的に利用されてもよい。更新結果画面431は、グローバルモデル51を識別するモデル名を表すテキストに、ダウンロードへのリンクを含んで選択可能にしてもよい。各々のグローバルモデル51を識別するテキストにダウンロードのアイコン等のインタフェースが含まれていてもよい。更新結果画面431に対し、ノード1又は情報処理装置4のオペレータが、モデルのいずれかを選択することによって初めて、選択されたモデルがノード1に記憶されるようにしてもよい。この場合、配布可能なモデルとして提供されるグローバルモデル51がノード1又は情報処理装置4でダウンロードされ、利用可能となる。なおこの場合、各モデルには、オペレータが選択するか否かを判断する基準となる評価や精度の情報が表示されていることが好ましい。 The global model 51 for which the update has been completed by the server 3 may be selectively used by each node 1 and information processing device 4. The update result screen 431 may include a link to download in the text representing the model name that identifies the global model 51, making it selectable. The text identifying each global model 51 may include an interface such as a download icon. The selected model may be stored in the node 1 only when the operator of the node 1 or the information processing device 4 selects one of the models on the update result screen 431. In this case, the global model 51 provided as a distributable model is downloaded to the node 1 or the information processing device 4 and becomes available. In this case, it is preferable that each model displays evaluation and accuracy information that serves as a criterion for the operator to determine whether to select it or not.

上述したように第1の実施形態のモデル学習システム100では、ローカルデータはサーバ3へ送信されることなしに、各所に記憶されているローカルデータを用いた学習結果に基づいてグローバルモデル51が実用化される。各所のローカルデータのみでは、データ量が不足するような場合であっても、1箇所に集約させた大量のデータによる学習よりも精度よく、且つ早期に実用可能なモデルを提供することが可能になる。 As described above, in the model learning 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.

(第2の実施形態)
第2の実施形態におけるモデル学習システム100は、学習完了条件を満たすための判断処理が、第1の実施形態と異なる。第2の実施形態におけるモデル学習システム100の構成は、上述の判断処理の詳細を除いて第1の実施形態のモデル学習システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Second Embodiment
The model learning system 100 in the second embodiment differs from the first embodiment in the judgment process for satisfying the learning completion condition. The configuration of the model learning system 100 in the second embodiment is the same as that of the model learning system 100 in the first embodiment except for the details of the judgment process described above, so the same reference numerals are used for the common configuration and detailed description will be omitted.

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

ステップS4でグローバルモデル51を更新すると(S4)、サーバ3の処理部30は、更新後のグローバルモデル51を、複数のノード1へ送信する(ステップS501)。 When the global model 51 is updated in step S4 (S4), the processing unit 30 of the server 3 transmits the updated global model 51 to multiple nodes 1 (step S501).

更新後のグローバルモデル51を受信した複数のノード1は夫々、送信されたグローバルモデル51を用いて、記憶装置2からローカルデータを読み出し、入力データに対する精度評価を実行する。ノード1の処理部10は、ローカルデータの入力データを入力した場合の精度を算出し、サーバ3へ送信する。処理部10は、精度として、ローカルデータにおける入力データをグローバルモデル51に入力した場合の出力データと、ローカルデータにおいて入力データに対応する出力データとの合致率を算出してもよい。処理部10は、ノード1のオペレータから操作部14を介して精度評価を受け付けてもよい。 Each of the multiple nodes 1 that receive the updated global model 51 reads local data from the storage device 2 using the transmitted global model 51 and performs accuracy evaluation on the input data. The processing unit 10 of the node 1 calculates the accuracy when the input data of the local data is input, and transmits it to the server 3. The processing unit 10 may calculate, as the accuracy, the matching rate between the output data when the input data in the local data is input to the global model 51, and the output data in the local data that corresponds to the input data. The processing unit 10 may accept the accuracy evaluation from the operator of the node 1 via the operation unit 14.

サーバ3の処理部30は、各ノード1から送信される評価値を取得し(ステップS502)、複数のノード1から取得した評価値から総評価値を算出する(ステップS503)。ステップS503において処理部30は、精度の平均値を算出してもよいし、合致率の平均でもよいし、オペレータから受けた評価の平均を求めてもよい。 The processing unit 30 of the server 3 acquires the evaluation value sent from each node 1 (step S502), and calculates a total evaluation value from the evaluation values acquired from the multiple nodes 1 (step S503). In step S503, the processing unit 30 may calculate the average accuracy, the average matching rate, or the average evaluations received from the operators.

処理部30は、算出した総評価値が所定の基準を満たすか否かを判断し(ステップS504)、所定の基準を満たすと判断された場合(S504:YES)、処理をステップS7へ進める。ステップS504において処理部30は、グローバルモデル51の更新を停止するか否かを判断してもよい。 The processing unit 30 determines whether the calculated total evaluation value satisfies a predetermined criterion (step S504), and if it is determined that the calculated total evaluation value satisfies the predetermined criterion (S504: YES), the processing unit 30 proceeds to step S7. In step S504, the processing unit 30 may determine whether to stop updating the global model 51.

所定の基準を満たさないと判断された場合(S504:NO)、処理部30は処理をステップS6へ進める。 If it is determined that the specified criteria are not met (S504: NO), the processing unit 30 proceeds to step S6.

ステップS504において所定の基準とは例えば、評価値が精度であって、評価値がその平均の場合、その値に対する閾値であることである。その他、所定の条件は、評価がA,B,C評価である場合にはB以上であることであってもよいし、評価に対する良/可/不可等の条件であってもよい。また所定の条件は、精度が安定することであってもよい。評価値の変化が学習の進行に応じて小さくなった場合に、所定の条件を満たすとしてもよい。 In step S504, the specified criterion is, for example, the evaluation value being the accuracy, and if the evaluation value is the average, the threshold value for that value. Alternatively, the specified condition may be B or higher if the evaluation is A, B, or C, or may be a condition such as good/passable/fail for the evaluation. The specified condition may also be that the accuracy is stable. The specified condition may be satisfied when the change in the evaluation value becomes smaller as the learning progresses.

評価をノード1におけるローカルデータを用いた有用性に基づいて導出し、各ノード1で精度が認められる場合に配布可能なモデルとして提供することができる。 The evaluation is derived based on the usefulness using local data at node 1, and can be provided as a distributable model if the accuracy is recognized at each node 1.

(第3の実施形態)
第3の実施形態では、サーバ3が、過去の更新後のグローバルモデル51と比較して、分配するグローバルモデル51を決定する。第3の実施形態のモデル学習システム100の構成は、第1の実施形態のモデル学習システム100の構成と同様であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Third Embodiment
In the third embodiment, the server 3 determines the global model 51 to be distributed by comparing with the previously updated global model 51. Since the configuration of the model learning system 100 of the third embodiment is similar to the configuration of the model learning system 100 of the first embodiment, the same reference numerals are used for the common configuration, and detailed description thereof will be omitted.

図9及び図10は、第3の実施形態のモデル学習システム100における学習処理手順の一例を示すフローチャートである。図9及び図10のフローチャートに示す処理手順の内、第2の実施形態の図8のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figures 9 and 10 are flowcharts showing an example of a learning process procedure in the model learning system 100 of the third embodiment. Among the process procedures shown in the flowcharts of Figures 9 and 10, the same step numbers are used for the process procedures common to the process procedures shown in the flowchart of Figure 8 of the second embodiment, and detailed descriptions are omitted.

サーバ3は、ステップS4で更新した後のグローバルモデル51と、更新前のグローバルモデル51とを各ノード1へ送信する(ステップS511)。 The server 3 transmits the global model 51 after the update in step S4 and the global model 51 before the update to each node 1 (step S511).

サーバ3は、送信先の複数のノード1から、各々のグローバルモデル51の評価値を取得し(ステップS512)、総評価値を算出する(ステップS513)。サーバ3は、ラウンド情報と対応付けて、更新後のグローバルモデル51、及び総評価値を、記憶部31に記憶する(ステップS514)。ラウンド情報は、1回の学習(バージョン)が完了するまでの間に何度目に更新されたグローバルモデル51であるかを示すデータであり、第n次の「n」の情報である。 The server 3 acquires the evaluation value of each global model 51 from the multiple destination nodes 1 (step S512) and calculates a total evaluation value (step S513). The server 3 stores the updated global model 51 and the total evaluation value in the storage unit 31 in association with the round information (step S514). The round information is data indicating how many times the global model 51 has been updated before one learning session (version) is completed, and is the nth-order "n" information.

サーバ3は、ステップS513で算出した、更新後のグローバルモデル51に対して算出した総評価値と、更新前のグローバルモデル51に対する総評価値とを比較する(ステップS515)。 The server 3 compares the total evaluation value calculated for the updated global model 51 in step S513 with the total evaluation value for the global model 51 before the update (step S515).

ステップS515においてサーバ3は、総評価値が数値である場合には値同士を比較してもよいし、総評価値が、複数段階の評価である場合には評価内容同士を比較してもよい。ステップS515においてサーバ3は、過去の更新後のグローバルモデル51を廃棄せずに記憶している場合、3つ以上のグローバルモデル51に対する総評価値を比較してもよい。 In step S515, the server 3 may compare the values if the total evaluation value is a numerical value, or may compare the evaluation contents if the total evaluation value is a multi-level evaluation. In step S515, the server 3 may compare the total evaluation values for three or more global models 51 if the server 3 has stored a previously updated global model 51 without discarding it.

サーバ3は、評価が高い方のグローバルモデル51を、分配対象の最新のグローバルモデル51として決定する(ステップS516)。サーバ3は、評価が低い方のグローバルモデル51を、記憶部31から削除(廃棄)してもよい。 The server 3 determines the global model 51 with the higher rating as the latest global model 51 to be distributed (step S516). The server 3 may delete (discard) the global model 51 with the lower rating from the storage unit 31.

サーバ3は、決定したグローバルモデル51に対してステップS513で算出した総評価値が所定の基準を満たすか否かを判断する(ステップS517)。所定の基準は、評価値が精度であって、総評価値がその平均である場合、その値に対する閾値であることである。その他、所定の条件は、評価がA,B,C評価である場合にはB以上であることであってもよいし、評価に対する良/可/不可等の条件であってもよい。また所定の条件は、精度が安定することであってもよい。評価値の変化が学習の進行に応じて小さくなった場合に、所定の条件を満たすとしてもよい The server 3 judges whether the total evaluation value calculated in step S513 for the determined global model 51 satisfies a predetermined criterion (step S517). The predetermined criterion is a threshold value for the evaluation value, if the evaluation value is accuracy and the total evaluation value is its average. In addition, the predetermined condition may be B or higher if the evaluation is A, B, or C, or may be a condition such as good/passable/fail for the evaluation. The predetermined condition may also be that the accuracy is stable. The predetermined condition may be satisfied when the change in the evaluation value becomes smaller as the learning progresses.

所定の基準を満たさないと判断された場合(S517:NO)、サーバ3は、分配対象のグローバルモデル51を各ノード1へ再配布し(ステップS518)、処理をステップS3へ戻す。 If it is determined that the specified criteria are not met (S517: NO), the server 3 redistributes the global model 51 to be distributed to each node 1 (step S518) and returns the process to step S3.

所定の基準を満たすと判断された場合(S517:YES)、サーバ3は、決定したグローバルモデル51を他の装置へも配布可能なモデルとして記憶部31に記憶し(ステップS519)、処理をステップS8へ進める。 If it is determined that the specified criteria are met (S517: YES), the server 3 stores the determined global model 51 in the memory unit 31 as a model that can be distributed to other devices (step S519), and proceeds to step S8.

図11は、第3の実施形態のモデル学習の概要図である。図11の概要図では、サーバ3が、グローバルモデルの更新時に、前回の更新後の第n次グローバルモデルモデル51が、今回の更新後の第n+1次グローバルモデル51よりも評価が高い場合に、前回の第n次グローバルモデル51を選択することを示している。図1のモデル学習システムの概要図と比較して、グローバルモデル51が常に、更新されるものが連綿と採用されるのではないことが示されている。 Figure 11 is an overview diagram of model learning in the third embodiment. The overview diagram in Figure 11 shows that when updating the global model, if the nth order global model 51 after the previous update has a higher evaluation than the n+1th order global model 51 after the current update, the server 3 selects the previous nth order global model 51. Compared to the overview diagram of the model learning system in Figure 1, it shows that the global model 51 is not always adopted in succession as it is updated.

1回のグローバルモデル51の更新の間に、各ノード1ではローカルデータが増加している、又は、更新されている。前回更新された第n次グローバルモデル51が採用され続けたとしても、各ノード1でアクセス可能なローカルデータに基づく評価が変化し得る。同一のグローバルモデル51でも、評価が高くなるグローバルモデル51が得られる。 During one update of the global model 51, the local data is increased or updated at each node 1. Even if the previously updated nth global model 51 continues to be used, the evaluation based on the local data accessible at each node 1 may change. Even with the same global model 51, a global model 51 with a higher evaluation can be obtained.

これにより、精度が良くなるように分散学習を進めることが可能になる。 This makes it possible to carry out distributed learning to improve accuracy.

(第4の実施形態)
第4の実施形態では、各ノード1で学習されたローカルモデル52に基づくグローバルモデル51の更新方法が第1~第3の実施形態で説明した方法と異なる。第4の実施形態におけるモデル学習システム100の構成は、グローバルモデル51の更新処理の詳細を除いて第1の実施形態のモデル学習システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
(Fourth embodiment)
In the fourth embodiment, the method of updating the global model 51 based on the local model 52 learned in each node 1 differs from the methods described in the first to third embodiments. The configuration of the model learning system 100 in the fourth embodiment is similar to that of the model learning system 100 in the first embodiment except for the details of the update process of the global model 51, so the same reference numerals are used for the common configuration and detailed description will be omitted.

第4の実施形態のモデル学習システム100では、サーバ3は第1の実施形態の図4のフローチャートに示した処理手順、第2の実施形態の図8のフローチャートに示した処理手順、第3の実施形態の図9及び図10のフローチャートに示した処理手順のいずれかの学習処理手順を実行する。第4の実施形態では、それらの処理手順の内、ステップS4の更新処理が異なる。また、更新処理が異なることに対応して、ノード1から送信されるデータ内容も第1の実施形態での説明と異なる。 In the model learning system 100 of the fourth embodiment, the server 3 executes a learning process procedure, which is either the process procedure shown in the flowchart of FIG. 4 of the first embodiment, the process procedure shown in the flowchart of FIG. 8 of the second embodiment, or the process procedure shown in the flowcharts of FIG. 9 and FIG. 10 of the third embodiment. In the fourth embodiment, among these process procedures, the update process of step S4 is different. In addition, in response to the difference in the update process, the contents of the data transmitted from the node 1 are also different from those described in the first embodiment.

図12は、第4の実施形態のノード1におけるローカルモデル52の学習処理手順の一例を示すフローチャートである。図12のフローチャートに示す処理手順の内、第1の実施形態における図6のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 12 is a flowchart showing an example of a learning process procedure for the local model 52 in node 1 of the fourth 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 6 in the first embodiment are given the same step numbers and detailed descriptions are omitted.

ノード1の処理部10は、記憶装置2からその時点で記憶されているローカルデータを取得し(S303)、ローカルデータのデータ量(データ件数)を算出し(ステップS313)、処理をステップS304へ進める。 The processing unit 10 of node 1 acquires the local data stored at that time from the storage device 2 (S303), calculates the amount of local data (number of data items) (step S313), and proceeds to step S304.

ノード1の処理部10は、学習を実行する都度(S304)、学習量を算出し(ステップS314)、学習完了条件を満たすか否かを判断する(S305)。 Each time learning is performed (S304), the processing unit 10 of node 1 calculates the amount of learning (step S314) and determines whether the learning completion condition is met (S305).

ステップS314において処理部10は、学習の繰り返し回数を学習量として算出してもよいし、前回のラウンドにおけるローカルモデル52からの精度の向上度合いを学習量として算出してもよいし、ローカルモデル52の変化量を学習量として算出してもよい。 In step S314, the processing unit 10 may calculate the number of times the learning is repeated as the amount of learning, may calculate the degree of improvement in accuracy from the local model 52 in the previous round as the amount of learning, or may calculate the amount of change in the local model 52 as the amount of learning.

ステップS305において処理部10は、学習の結果、ローカルデータに対するニューラルネットワークからの出力データの精度が所定の条件を満たす、例えば精度が所定値以上である場合に、学習完了条件を満たすと判断してもよい。処理部10は、学習量(学習回数)が所定量(所定回数)以上である場合に学習完了条件を満たすと判断してもよい。 In step S305, the processing unit 10 may determine that the learning completion condition is met when, as a result of the learning, the accuracy of the output data from the neural network for the local data satisfies a predetermined condition, for example, the accuracy is equal to or greater than a predetermined value. The processing unit 10 may determine that the learning completion condition is met when the amount of learning (number of times of learning) is equal to or greater than a predetermined amount (predetermined number of times).

ノード1の処理部10は、学習したローカルモデル52と共に、ステップS313で算出したデータ量、又は、カウントされている学習量をサーバ3へ送信し(ステップS315)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52と共に、元となるローカルデータのデータ量、又は、学習量を取得することができる。 The processing unit 10 of the node 1 transmits the amount of data calculated in step S313 or the amount of learning that has been counted together with the trained local model 52 to the server 3 (step S315), and ends the process. This enables the server 3 to obtain the amount of data or the amount of learning of the original local data together with the local model 52 trained with the local data from each of the multiple nodes 1.

第4の実施形態においても、ノード1からは、ローカルデータのデータ量は送信されても、データ自体がサーバ3へ送信されることがない。 Even in the fourth embodiment, node 1 transmits the amount of local data, but the data itself is not transmitted to server 3.

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

サーバ3の処理部30は、各ノード1から送信されるローカルモデル52、及びデータ量又は学習量を取得し(ステップS411)、ノード1の識別データと対応付けてローカルモデル52、及びデータ量又は学習量を記憶する(ステップS412)。ステップS411においてサーバ3の処理部30は、非同期に、各ノード1から送信されるローカルモデル52を取得する。 The processing unit 30 of the server 3 acquires the local model 52 and the amount of data or learning transmitted from each node 1 (step S411), and stores the local model 52 and the amount of data or learning in association with the identification data of the node 1 (step S412). In step S411, the processing unit 30 of the server 3 asynchronously acquires the local model 52 transmitted from each node 1.

処理部30は、更新すべきであると判断された場合(S403:YES)、サーバ3の処理部30は、複数のノード1からのローカルモデル52に、データ量又は学習量の重みを付与した加重平均を求める(ステップS414)。処理部30は、ローカルモデル52の加重平均を、新たなグローバルモデル51として更新する(ステップS415)。 When the processing unit 30 determines that an update is necessary (S403: YES), the processing unit 30 of the server 3 calculates a weighted average by weighting the amount of data or the amount of learning to the local models 52 from the multiple nodes 1 (step S414). The processing unit 30 updates the weighted average of the local models 52 as a new global model 51 (step S415).

処理部30は、更新後のグローバルモデル51を、ラウンド情報を示すデータと対応付けて記憶し(S406)、グローバルモデル51の更新処理を終了する。 The processing unit 30 stores the updated global model 51 in association with the data indicating the round information (S406), and ends the update process of the global model 51.

更新後のグローバルモデル51の精度が所定の基準を満たすまで、図13のフローチャートに示した更新処理を継続する。 The update process shown in the flowchart in Figure 13 continues until the accuracy of the updated global model 51 meets a predetermined standard.

第4の実施形態における更新方法によって、データ量が異なるローカルデータによって学習されたモデルを、データ量に応じて扱い、適切に評価することが可能になる。また、異なる学習量のローカルモデル52を単純平均するよりも、グローバルモデル51の性能の向上が期待できる。 The update method in the fourth embodiment makes it possible to handle models trained using local data with different amounts of data according to the amount of data and to appropriately evaluate them. In addition, it is expected that the performance of the global model 51 will be improved compared to simply averaging local models 52 with different amounts of training.

(第5の実施形態)
モデル学習システム100は、ニューラルネットワークを始めとする深層学習のモデルに適用できる。例えば、入力データは画像データであり、出力データは画像データの画像に写っている被写体の検出結果、又は被写体に対する判定結果である。他の例では、入力データは、入出金データであり、出力データは評価等の判定結果、あるいは企業業況変化(成長または劣化)に関する予測値や経済予測に関する予測値である。他の例では、入力データは、工場、生産設備に設けられた各種センサからの測定データであり、出力データは異常/正常を含む生産管理に関するデータである。他の例では、入力データはテキストデータであり、出力データは判定結果、または予測データである。
Fifth Embodiment
The model learning 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.

第5の実施形態では、モデル学習システム100を、医療施設にて患者に関して得られる医療データから、患者に特定の病気の症状が発生しているか否かの診断を支援するデータを出力するモデルの学習に適用させた例を挙げて説明する。以下の説明では、医療データは、例えば検査で撮影された眼底写真の画像データである。 In the fifth embodiment, an example will be described in which the model learning system 100 is applied to learning a model that outputs data that assists in diagnosing 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.

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

第5の実施形態においてノード1及び情報処理装置は、医療施設に設けられている。ノード1及び情報処理装置は、患者の眼底写真を撮影する撮影装置から得られる画像データを取得できる。ノード1が設けられている医療施設では、撮影装置は記憶装置2に対して画像データを出力する。撮影装置は、異なる種類の装置を含む。 In the fifth 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.

第5の実施形態においてグローバルモデル51、ローカルモデル52及び配布可として記憶されるモデルは、画像データが入力された場合に、緑内障の診断を支援するデータ及び精度を出力するように学習されるモデルである。トレーニングデータとして用いられるローカルデータは、入力データとして画像データと、出力データとして眼底写真におけるDisc部分とCup部分とをセグメンテーションした結果の画像データである。出力データはその他、症状がみられるか否かを医師又は技師が判定した判定結果を含むデータセットであってもよい。ローカルデータの入力データである画像データは、撮影装置の種類を示す装置データと対応付けられている。装置データは型番でもよいし、装置メーカを識別するデータであってもよい。 In the fifth 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.

第5の実施形態においてモデル学習システム100では、サーバ3が予め特定の医療施設で複数の異なるアーキテクチャで作成された初期的なグローバルモデル(第0次グローバルモデル)51を取得する。サーバ3は、異なるアーキテクチャの第0次グローバルモデル51を、トレーニングに協力する医療施設のノード1へ各配布する。 In the fifth 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を作成する。作成された第1次グローバルモデル51を、サーバ3は、複数のノード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. 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及び情報処理装置へ提供する。 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 as a distributable model.

これにより、個人情報そのものである検査結果の画像データが、サーバ3へ集約されることなく、且つ、異なる医療施設に亘って多くのデータを用いて学習することが可能になる。 This makes it possible to learn using a large amount of data from different medical facilities without consolidating image data of test results, which is personal information itself, on server 3.

図15は、第5の実施形態のモデル学習システム100における学習処理手順の一例を示すフローチャートである。 Figure 15 is a flowchart showing an example of a learning process procedure in the model learning system 100 of the fifth embodiment.

サーバ3は、特定の医療施設にて、異なるアーキテクチャで作成された初期的な(第0次)グローバルモデル51を取得する(ステップS201)。ステップS201の取得は、予め記憶部31に記憶されているグローバルモデル51の読み出しを含む。 The server 3 acquires an initial (0th order) global model 51 created with a different architecture at a specific medical facility (step S201). The acquisition in step S201 includes reading out the global model 51 previously stored in the memory unit 31.

サーバ3は、取得した複数の第0次グローバルモデル51を各ノード1へ配布する(ステップS202)。 The server 3 distributes the acquired multiple zeroth-order global models 51 to each node 1 (step S202).

サーバ3は、ノード1へ配布したグローバルモデル51を基に、異なるアーキテクチャ毎に、ノード1で学習されるローカルモデル52を取得する(ステップS203)。 Based on the global model 51 distributed to node 1, server 3 obtains local models 52 to be learned at node 1 for each different architecture (step S203).

サーバ3は、取得したローカルモデル52に対し、異なるアーキテクチャ毎に、統計処理を実行し、次世代のグローバルモデル51に更新する(ステップS204)。ステップS204においてサーバ3は、更新の回数を加算するとよい。 The server 3 performs statistical processing on the acquired local model 52 for each different architecture, and updates it to the next-generation global model 51 (step S204). In step S204, the server 3 may increment the number of updates.

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

ステップS205についてサーバ3は例えば、更新回数(ラウンド数)が所定回数に到達したか否かで判断する。サーバ3は、特定のノード1におけるローカルデータの入力データを異なるアーキテクチャのグローバルモデル51に入力した場合に、いずれか複数のグローバルモデル51において、対応する出力データを出力する精度が所定の条件を満たすか否かで判断してもよい。学習完了条件は、第2から第4の実施形態で示したように、各ノード1へ送信したグローバルモデル51に対する評価値から総評価値を算出し、総評価値が所定の基準を満たすことであってもよい。 In step S205, the server 3 makes a judgment based on, for example, whether the number of updates (number of rounds) has reached a predetermined number. When input data of local data in a specific node 1 is input to a global model 51 of a different architecture, the server 3 may also make a judgment based on whether the accuracy of outputting corresponding output data in any of a plurality of global models 51 satisfies a predetermined condition. The learning completion condition may be, as shown in the second to fourth embodiments, that a total evaluation value is calculated from the evaluation values for the global model 51 sent to each node 1, and the total evaluation value satisfies a predetermined criterion.

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

学習完了条件を満たすと判断された場合(S205:YES)、サーバ3は、更新後の各アーキテクチャのグローバルモデル51から、1又は複数、配布可能なグローバルモデル51として選択する(ステップS207)。ステップS207においてサーバ3は例えば、精度が比較的高い1又は複数のグローバルモデル51を選択する。 If it is determined that the learning completion condition is met (S205: YES), the server 3 selects one or more global models 51 that can be distributed from the global models 51 of each architecture after the update (step S207). In step S207, the server 3 selects, for example, one or more global models 51 with relatively high accuracy.

サーバ3は、記憶したグローバルモデル51を複数のノード1又は他の情報処理装置へ送信し(ステップS208)、処理を終了する。 The server 3 transmits the stored global model 51 to multiple nodes 1 or other information processing devices (step S208) and ends the process.

これにより、各医療施設の画像データに対しての精度が高く、実用性が高いアーキテクチャのモデルを、各医療施設で使用することができる。一旦配布可能なモデルとして送信されるグローバルモデル51についても、サーバ3は以後、図15のフローチャートに示した処理を実行してバージョンを更新するとよい。 This allows each medical facility to use a model with a highly accurate and practical architecture for the image data of that facility. Once the global model 51 is sent as a distributable model, the server 3 can then update the version by executing the process shown in the flowchart of FIG. 15.

図16は、第5の実施形態におけるローカルモデル52の学習処理手順の一例を示すフローチャートである。図16のフローチャートに示す処理は、サーバ3がステップS202又はステップS206でグローバルモデル51を配布した場合に、複数のノード1夫々で実行する処理である。図16のフローチャートに示す処理手順の内、第1の実施形態の図6のフローチャートに示した処理手順と共通する手順については同一の符号を付して詳細な説明を省略する。 Figure 16 is a flowchart showing an example of a learning process procedure for the local model 52 in the fifth embodiment. The process shown in the flowchart in Figure 16 is executed by each of the multiple nodes 1 when the server 3 distributes the global model 51 in step S202 or step S206. Among the process procedures shown in the flowchart in Figure 16, steps that are common to the process procedures shown in the flowchart in Figure 6 of the first embodiment are given the same reference numerals and detailed explanations are omitted.

ノード1の処理部10は、配布されたグローバルモデル51を受信及び記憶すると(S301)、アーキテクチャ毎に、S302からS305の処理を実行する。処理部10は、学習後のグローバルモデル51を、ローカルモデル52として、アーキテクチャを識別するデータと対応付けて記憶する(ステップS316)。 When the processing unit 10 of node 1 receives and stores the distributed global model 51 (S301), it executes the processes from S302 to S305 for each architecture. The processing unit 10 stores the learned global model 51 as a local model 52 in association with data identifying the architecture (step S316).

処理部10は、学習を完了させた時点における前記ローカルモデル52の出力精度の評価を、ローカルデータに基づいて算出する(ステップS317)。ステップS317で処理部10は、ローカルモデル52にローカルデータの入力データを与えた場合に出力される精度の平均を精度評価として算出してよい。処理部10は、ローカルデータをローカルモデル52に入力した場合の出力データがトレーニングデータの出力データと合致する合致率を、精度評価として算出してもよい。処理部10は、精度評価を操作部14にて受け付けてもよい。 The processing unit 10 calculates an evaluation of the output accuracy of the local model 52 at the time when learning is completed based on the local data (step S317). In step S317, the processing unit 10 may calculate, as the accuracy evaluation, the average accuracy output when the local data input data is provided to the local model 52. The processing unit 10 may calculate, as the accuracy evaluation, the matching rate at which the output data when the local data is input to the local model 52 matches the output data of the training data. The processing unit 10 may accept the accuracy evaluation at the operation unit 14.

処理部10は、全てのアーキテクチャについて学習を完了したか否か判断する(ステップS318)。 The processing unit 10 determines whether learning has been completed for all architectures (step S318).

学習が完了していないと判断された場合(S318:NO)、処理部10は処理をステップS302へ戻し、次のアーキテクチャについてステップS302からS317の処理を実行する。 If it is determined that learning is not complete (S318: NO), the processing unit 10 returns the process to step S302 and executes the processes from step S302 to S317 for the next architecture.

全てのアーキテクチャについて学習が完了したと判断された場合(S318:YES)、ノード1の処理部10は、記憶したローカルモデル52及びその精度の評価を、ローカルデータの特性である装置データと対応付けてサーバ3へ送信する(ステップS319)。そして処理部10はノード1における第n次の学習処理を終了する。 If it is determined that learning has been completed for all architectures (S318: YES), the processing unit 10 of node 1 transmits the stored local model 52 and its accuracy evaluation to the server 3 in association with the device data, which is a characteristic of the local data (step S319). The processing unit 10 then terminates the n-th learning process in node 1.

これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52を取得することができる。ローカルデータそのものはサーバ3へ送信されないが、ローカルデータの品質が、サーバ3で区別できるようになる。 This allows the server 3 to obtain a local model 52 trained with local data from each of the multiple nodes 1. The local data itself is not transmitted to the server 3, but the quality of the local data can be distinguished by the server 3.

図17は、第5の実施形態のサーバ3におけるグローバルモデル51の更新処理の一例を示すフローチャートである。図17のフローチャートに示す処理手順は、図15のフローチャートに示した処理手順の内のステップS204の詳細に対応する。図17のフローチャートに示す処理手順の内、第1の実施形態の図6のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 17 is a flowchart showing an example of a process for updating the global model 51 in the server 3 of the fifth embodiment. The process procedure shown in the flowchart of Figure 17 corresponds to the details of step S204 in the process procedure shown in the flowchart of Figure 15. Among the process procedures shown in the flowchart of Figure 17, the steps common to the process procedure shown in the flowchart of Figure 6 of the first embodiment are given the same step numbers and detailed explanations are omitted.

サーバ3の処理部30は、ノード1から送信されるアーキテクチャ毎のローカルモデル52及び精度評価、並びに装置データを取得する(ステップS421)。処理部30は、取得したアーキテクチャ毎のローカルモデル52及びノード1における精度評価、並びに装置データを、ノード1の識別コードと対応付けて記憶する(ステップS422)。 The processing unit 30 of the server 3 acquires the local model 52 for each architecture, the accuracy assessment, and the device data transmitted from the node 1 (step S421). The processing unit 30 stores the acquired local model 52 for each architecture, the accuracy assessment at the node 1, and the device data in association with the identification code of the node 1 (step S422).

更新すべきであると判断された場合(S403:YES)、サーバ3の処理部30は、複数のノード1からのローカルモデル52の内、精度評価が所定の評価よりも低いローカルモデル52を除外する(ステップS423)。処理部30は、除外後のローカルモデル52に対して装置データに対応付けられている重みを付与した加重平均を、アーキテクチャ毎に求める(ステップS424)。処理部30は、ローカルモデル52の加重平均を、アーキテクチャ毎に、新たなグローバルモデル51として更新する(ステップS425)。 If it is determined that an update is necessary (S403: YES), the processing unit 30 of the server 3 excludes, from among the local models 52 from the multiple nodes 1, local models 52 whose accuracy evaluation is lower than a predetermined evaluation (step S423). The processing unit 30 calculates a weighted average for each architecture by applying weights associated with the device data to the excluded local models 52 (step S424). The processing unit 30 updates the weighted average of the local models 52 as a new global model 51 for each architecture (step S425).

ステップS424において装置データに対応付けられている重みは、予め記憶部31に記憶されている。装置が新しく、品質が高い画像データのローカルデータから学習されたローカルモデル52については、重みを大きくし、古い装置から得られる画像データのローカルデータから学習されたローカルモデル52については、重みを小さくしてあってもよい。装置の医療施設への普及量が大きいほど、重みが大きくしてあり、汎用性の高いモデルが作成されるようにしてあってもよい。異なる品質で集められているローカルデータから学習されたローカルモデル52を、そのまま平均した場合よりも、ローカルデータの品質に応じた重みをローカルモデル52に付与して加重平均を算出する場合の精度の向上が期待できる。 The weights associated with the device data in step S424 are stored in advance in the storage unit 31. The weights may be large for local models 52 trained from local data of image data obtained from newer devices and small for local models 52 trained from local data of image data obtained from older devices. The weights may be large the more widely used the device is in medical facilities, so that a highly versatile model may be created. It is expected that accuracy will be improved when weights corresponding to the quality of the local data are assigned to the local models 52 to calculate the weighted average, compared to when local models 52 trained from local data collected with different qualities are simply averaged.

ステップS424では、精度評価が所定の評価よりも低いローカルモデル52を除外することによって、評価に応じた重みを考慮したグローバルモデル51を作成することができる。なお所定の評価については、予めサーバ3のオペレータによって閾値が設定されてもよい。ノード1経由で、サーバ3のオペレータからのアクセスを許可して、ローカルモデル52の評価を受け付けてもよい。 In step S424, a global model 51 can be created that takes into account weighting according to the evaluation by excluding local models 52 whose accuracy evaluation is lower than a predetermined evaluation. Note that a threshold value for the predetermined evaluation may be set in advance by an operator of the server 3. Access from the operator of the server 3 may be permitted via node 1 to accept the evaluation of the local model 52.

ステップS424において、上述の例では、重みは、装置データに対応付けられているデータが採用された。これに限られず、ローカルデータに対するアノテーションの正確性についての評価を、各ノード1で記憶しておき、サーバ3は、その評価の高低に応じた重みによって加重平均を算出してもよい。アノテーションの正確性についての評価は、ノード1の管理者によって実行されてもよい。 In step S424, in the above example, the weights used are those associated with the device data. This is not limiting, and each node 1 may store an evaluation of the accuracy of annotations for local data, and the server 3 may calculate a weighted average using a weight according to the level of the evaluation. The evaluation of the accuracy of annotations may be performed by an administrator of node 1.

処理部30は、ステップS425で更新したグローバルモデル51を、アーキテクチャ毎に、記憶部31に記憶し(ステップS426)、処理を終了する。 The processing unit 30 stores the global model 51 updated in step S425 in the memory unit 31 for each architecture (step S426) and ends the process.

第5の実施形態では、ローカルデータは医療データであるから、ステップS424の加重平均で用いられる重みは、医療データの属性に応じて付与されてもよい。例えば、患者の男女比、年齢分布、又は地域性等に応じた重みが付与されてもよい。これらの抽象化されたデータについてはローカルモデル52に反映されてもよい。 In the fifth embodiment, since the local data is medical data, the weights used in the weighted average in step S424 may be assigned according to the attributes of the medical data. For example, weights may be assigned according to the male/female ratio of patients, age distribution, regionality, etc. These abstracted data may be reflected in the local model 52.

第5の実施形態では、更新後のグローバルモデル51が学習完了条件を満たすまで、図17のフローチャートに示した更新処理を継続する。 In the fifth embodiment, the update process shown in the flowchart in FIG. 17 is continued until the updated global model 51 satisfies the learning completion condition.

第5の実施形態における更新方法によって、品質が異なるローカルデータによって学習されたモデルを、データの品質に応じて重みを変えて統合することができる。異なる品質のローカルモデル52を単純平均するよりも、グローバルモデル51の性能の向上が期待できる。 The update method in the fifth embodiment makes it possible to integrate models trained using local data of different quality by changing the weights according to the quality of the data. This is expected to improve the performance of the global model 51 compared to simply averaging local models 52 of different quality.

第5の実施形態における更新方法によって、異なるアーキテクチャのCNNのいずれを用いたグローバルモデル51が最も適切であるかが評価されて実用可能となる。 The update method in the fifth embodiment allows for evaluation of which of the different CNN architectures is most appropriate for the global model 51, making it practical to use.

上述のように開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれる。 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 処理部
2 記憶装置
3 サーバ
30 処理部
51 グローバルモデル
52 ローカルモデル
Reference Signs List 1 Node 10 Processing unit 2 Storage device 3 Server 30 Processing unit 51 Global model 52 Local model

Claims (18)

サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを、前記ローカルデータの特性と共に取得し、
前記複数のノード夫々から取得した複数のローカルモデルのデータに、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みを付与することにより、グローバルモデルのデータを更新する
処理を前記サーバによって実行し、
前記ローカルデータの特性は、各ノードによるローカルデータの取得方法、又は、前記ローカルデータを出力する機器の仕様である、モデル学習方法。
Distributing global model data stored in the server to multiple nodes;
acquiring data of a local model trained on the global model using local data processed by the plurality of nodes together with characteristics of the local data;
updating data of a global model by assigning weights to data of a plurality of local models acquired from each of the plurality of nodes, the weights corresponding to characteristics of local data used in training each of the local models ;
A model learning method , wherein the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data .
サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを、前記ローカルデータの特性と共に取得し、
前記複数のノード夫々から取得した複数のローカルモデルのデータに、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みを付与することにより、グローバルモデルのデータを更新する
処理を前記サーバによって実行し、
前記ローカルデータの特性は、前記ローカルデータの取得元の人物の属性であって、
前記重みとして、前記人物の男女比、年齢分布、又は地域性に応じて予め設定されている重みが付与される、モデル学習方法。
Distributing global model data stored in the server to multiple nodes;
acquiring data of a local model trained on the global model using local data processed by the plurality of nodes together with characteristics of the local data;
updating data of a global model by assigning weights to data of a plurality of local models acquired from each of the plurality of nodes, the weights corresponding to characteristics of local data used in training each of the local models ;
The characteristics of the local data are attributes of a person from whom the local data was obtained,
A model learning method , wherein the weights are preset based on the gender ratio, age distribution, or regionality of the persons .
更新後のグローバルモデルのデータを前記複数のノードへ再分配する
処理を含む請求項1又は2に記載のモデル学習方法。
The model learning method according to claim 1 or 2 , further comprising the step of redistributing data of the updated global model to the plurality of nodes.
前記サーバは、前記複数のノードから取得したローカルモデルのデータを統計処理して前記グローバルモデルのデータを更新する
請求項1から請求項3のいずれか1項に記載のモデル学習方法。
The model learning method according to claim 1 , wherein the server performs statistical processing on the data of the local model acquired from the plurality of nodes to update the data of the global model.
前記グローバルモデルのデータの更新の都度、前記複数のノード夫々のローカルデータで前記グローバルモデルの精度の評価値を各算出させ、
前記複数のノードで算出された異なる評価値に基づいて前記グローバルモデルの総評価値を算出し、
算出された総評価値と対応付けて前記グローバルモデルのデータを記憶する
処理を含む請求項1から請求項のいずれか1項に記載のモデル学習方法。
Each time the data of the global model is updated, an evaluation value of the accuracy of the global model is calculated using local data of each of the plurality of nodes;
calculating a total evaluation value of the global model based on the different evaluation values calculated at the plurality of nodes;
The model learning method according to claim 1 , further comprising: storing data of the global model in association with the calculated total evaluation value.
前記総評価値に基づいて学習が所定の基準を満たすまで前記グローバルモデルのデータの更新を継続し、
前記所定の基準を満たした学習結果に対応するグローバルモデルのデータの前記複数のノード及び他の装置への提供を許可する
処理を含む請求項に記載のモデル学習方法。
continuing to update the data of the global model based on the total evaluation value until the learning satisfies a predetermined criterion;
The model learning method according to claim 5 , further comprising a process of permitting provision of global model data corresponding to the learning result that satisfies the predetermined criterion to the plurality of nodes and other devices.
前記グローバルモデルのデータの更新の都度、
更新後のグローバルモデルに対して算出された総評価値を記憶し、
総評価に基づいて再分配するグローバルモデルを決定する
処理を含む請求項又はに記載のモデル学習方法。
Each time the data of the global model is updated,
A total evaluation value calculated for the updated global model is stored.
The model learning method according to claim 5 or 6 , further comprising a process of determining a global model for redistribution based on a total evaluation.
更新後のグローバルモデルに対して算出された総評価値と、前回の更新後のグローバルモデルに対する総評価値とを比較し、
比較の結果、評価がより高いグローバルモデルを、再分配するグローバルモデルとして決定する
処理を含む請求項に記載のモデル学習方法。
A total evaluation value calculated for the updated global model is compared with a total evaluation value for the previously updated global model;
The model learning method according to claim 7 , further comprising the step of: determining, as a result of the comparison, a global model having a higher evaluation as a global model to be redistributed.
前記複数のノードは、ローカルモデルの学習に用いたローカルデータのデータ量、又はローカルモデルの学習量を逐次記憶し、
前記サーバは、前記複数のノードから集約したローカルモデルのデータ夫々に、前記データ量又は学習量に対応する重みを付与して前記グローバルモデルのデータの更新に使用する
処理を含む請求項1から請求項のいずれか1項に記載のモデル学習方法。
the plurality of nodes sequentially store an amount of local data used in learning a local model or an amount of learning of the local model;
9. The model learning method according to claim 1, further comprising a process in which the server assigns a weight corresponding to the amount of data or the amount of learning to each of the local model data aggregated from the plurality of nodes and uses the weight for updating the data of the global model.
前記ローカルデータは画像データであり、前記特性は、前記機器が出力する画像データの画質であって、
画像データの画質が高いほどに重みが大きく付与される
請求項1に記載のモデル学習方法。
The local data is image data, and the characteristic is image quality of the image data output by the device,
The model learning method according to claim 1 , wherein the higher the image quality of the image data, the greater the weighting.
前記特性は、前記ローカルデータを出力する機器の型番であって、
普及度が高い型番の機器から出力されるローカルデータほどに重みが大きく付与される
請求項1に記載のモデル学習方法。
The characteristic is a model number of a device that outputs the local data,
The model learning method according to claim 1 , wherein a greater weight is assigned to local data output from a device having a model number that is more widely used.
前記複数のノードに、前記サーバで更新された後のグローバルモデルに対して、ローカルデータに基づき評価値を算出させる都度に前記評価値及び前記グローバルモデルのデータを記憶し、
最も評価値が高い更新後のグローバルモデルを選択する
請求項に記載のモデル学習方法。
storing, in the plurality of nodes, an evaluation value for a global model updated by the server based on local data, the evaluation value and data of the global model;
The model learning method according to claim 5 , further comprising the step of selecting the updated global model having the highest evaluation value.
ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、
前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、
前記複数のノードは夫々、処理対象のローカルデータによって前記グローバルモデルからローカルモデルの学習を各々進め、
前記サーバは、
学習後のローカルモデルのデータを、学習に使用したローカルデータの特性と共に前記複数のノードから取得し、
前記ローカルデータの特性は、各ノードによるローカルデータの取得方法、又は、前記ローカルデータを出力する機器の仕様であり、
前記サーバは、取得した複数のローカルモデルのデータを、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みを付与することにより、グローバルモデルのデータを更新する
モデル学習システム。
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 using local data to be processed;
The server,
obtaining trained local model data from the plurality of nodes together with characteristics of the local data used in training;
the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data;
The server updates the data of the global model by assigning weights to the acquired data of the multiple local models corresponding to characteristics of the local data used to train each local model.
ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、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 using local data to be processed;
前記サーバは、The server,
学習後のローカルモデルのデータを、学習に使用したローカルデータの特性と共に前記複数のノードから取得し、obtaining trained local model data from the plurality of nodes together with characteristics of the local data used in training;
前記ローカルデータの特性は、前記ローカルデータの取得元の人物の属性であって、The characteristics of the local data are attributes of a person from whom the local data was obtained,
前記複数のノード夫々から取得した複数のローカルモデルのデータに対し、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みとして、前記人物の男女比、年齢分布、又は地域性に応じて予め設定されている重みを付与することにより、グローバルモデルのデータを更新するThe data of the global model is updated by assigning weights, which are preset according to the gender ratio, age distribution, or regionality of the people, to the data of the multiple local models acquired from each of the multiple nodes as weights corresponding to the characteristics of the local data used in learning each local model.
モデル学習システム。Model learning system.
複数のノードと通信接続する通信部と、
記憶するグローバルモデルのデータに対する処理部と
を備え、
前記処理部により、
前記グローバルモデルのデータを複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルのデータを基に学習したローカルモデルのデータを、前記ローカルデータの特性と共に前記通信部から取得する処理を実行し、
前記ローカルデータの特性は、各ノードによるローカルデータの取得方法、又は、前記ローカルデータを出力する機器の仕様であり、
前記処理部は、前記複数のノード夫々から取得した複数のローカルモデルのデータを、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みを付与することにより、グローバルモデルのデータを更新する
サーバ装置。
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 global model data to a plurality of nodes;
execute a process of acquiring data of a local model learned based on data of the global model by local data processed by the plurality of nodes from the communication unit together with characteristics of the local data;
the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data;
The processing unit updates the data of a global model by assigning weights to the data of a plurality of local models acquired from each of the plurality of nodes, the weights corresponding to characteristics of the local data used in training each local model.
複数のノードと通信接続する通信部と、A communication unit that communicates with a plurality of nodes;
記憶するグローバルモデルのデータに対する処理部とA processing unit for storing data of a global model;
を備え、Equipped with
前記処理部により、The processing unit
前記グローバルモデルのデータを複数のノードに対して配布し、Distributing the global model data to a plurality of nodes;
前記複数のノードで処理するローカルデータによって前記グローバルモデルのデータを基に学習したローカルモデルのデータを、前記ローカルデータの特性と共に前記通信部から取得する処理を実行し、execute a process of acquiring data of a local model learned based on data of the global model by local data processed by the plurality of nodes from the communication unit together with characteristics of the local data;
前記ローカルデータの特性は、前記ローカルデータの取得元の人物の属性であって、The characteristics of the local data are attributes of a person from whom the local data was obtained,
前記複数のノード夫々から取得した複数のローカルモデルのデータに対し、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みとして、前記人物の男女比、年齢分布、又は地域性に応じて予め設定されている重みを付与することにより、グローバルモデルのデータを更新するThe data of the global model is updated by assigning weights, which are preset according to the gender ratio, age distribution, or regionality of the people, to the data of the multiple local models acquired from each of the multiple nodes as weights corresponding to the characteristics of the local data used in learning each local model.
サーバ装置。Server device.
複数のノードに通信接続が可能なコンピュータに、
記憶するグローバルモデルのデータを前記複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを、前記ローカルデータの特性と共に取得する処理を実行させ、
前記ローカルデータの特性は、各ノードによるローカルデータの取得方法、又は、前記ローカルデータを出力する機器の仕様であり、
前記コンピュータに、
前記複数のノード夫々から取得した複数のローカルモデルのデータを、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みを付与することにより、グローバルモデルのデータを更新する
処理を実行させるコンピュータプログラム。
A computer that can communicate with multiple nodes.
Distributing the stored global model data to the plurality of nodes;
executing a process of acquiring data of a local model learned based on the global model by local data processed by the plurality of nodes together with characteristics of the local data;
the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data;
The computer includes:
A computer program that executes a process of updating data of a global model by assigning weights to data of a plurality of local models acquired from each of the plurality of nodes, the weights corresponding to characteristics of the local data used in training each local model.
複数のノードに通信接続が可能なコンピュータに、A computer that can communicate with multiple nodes.
記憶するグローバルモデルのデータを前記複数のノードに対して配布し、Distributing the stored global model data to the plurality of nodes;
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを、前記ローカルデータの特性と共に取得する処理を実行させ、executing a process of acquiring data of a local model learned based on the global model by local data processed by the plurality of nodes together with characteristics of the local data;
前記ローカルデータの特性は、前記ローカルデータの取得元の人物の属性であって、The characteristics of the local data are attributes of a person from whom the local data was obtained,
前記コンピュータに、The computer includes:
前記複数のノード夫々から取得した複数のローカルモデルのデータに対し、各ローカルモデルの学習に用いられたローカルデータの特性に対応する重みとして、前記人物の男女比、年齢分布、又は地域性に応じて予め設定されている重みを付与することにより、グローバルモデルのデータを更新するThe data of the global model is updated by assigning weights, which are preset according to the gender ratio, age distribution, or regionality of the people, to the data of the multiple local models acquired from each of the multiple nodes as weights corresponding to the characteristics of the local data used in learning each local model.
処理を実行させるコンピュータプログラム。A computer program that executes a process.
JP2020186617A 2020-11-09 2020-11-09 MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU Active JP7617724B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020186617A JP7617724B2 (en) 2020-11-09 2020-11-09 MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020186617A JP7617724B2 (en) 2020-11-09 2020-11-09 MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU

Publications (2)

Publication Number Publication Date
JP2022076274A JP2022076274A (en) 2022-05-19
JP7617724B2 true JP7617724B2 (en) 2025-01-20

Family

ID=81606562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020186617A Active JP7617724B2 (en) 2020-11-09 2020-11-09 MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU

Country Status (1)

Country Link
JP (1) JP7617724B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7673678B2 (en) 2022-05-02 2025-05-09 トヨタ自動車株式会社 Luggage delivery vehicle
JP2024006291A (en) * 2022-07-01 2024-01-17 株式会社東芝 Learning systems and methods
WO2025177459A1 (en) * 2024-02-21 2025-08-28 Ntt株式会社 Model integration device, method, and program

Citations (4)

* 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
JP2020528589A (en) 2017-08-11 2020-09-24 グーグル エルエルシー On-device machine learning platform
CN111754000A (en) 2020-06-24 2020-10-09 清华大学 Quality-aware edge intelligent federated learning method and system
WO2020223620A1 (en) 2019-05-02 2020-11-05 Splashlight Holding Llc Digital anthropology and ethnography system

Patent Citations (4)

* 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
JP2020528589A (en) 2017-08-11 2020-09-24 グーグル エルエルシー On-device machine learning platform
WO2020223620A1 (en) 2019-05-02 2020-11-05 Splashlight Holding Llc Digital anthropology and ethnography system
CN111754000A (en) 2020-06-24 2020-10-09 清华大学 Quality-aware edge intelligent federated learning method and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JADHAV, Ashwin R et al.,Federated-Learning-PyTorch / src / federated_main.py,GitHub [online],2020年07月25日,[検索日 2024.05.16]、インターネット:<URL:https://github.com/AshwinRJ/Federated-Learning-PyTorch/blob/master/src/federated_main.py>
MCMAHAN, H. Brendan et al.,Communication-Efficient Learning of Deep Networks from Decentralized Data,arXiv [online],2017年02月28日,pp.1-11,[検索日 2024.05.16]、インターネット:<URL:https://arxiv.org/pdf/1602.05629v3>

Also Published As

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

Similar Documents

Publication Publication Date Title
Jesson et al. Quantifying ignorance in individual-level causal-effect estimates under hidden confounding
JP7617724B2 (en) MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU
KR102190299B1 (en) Method, device and program for predicting the prognosis of gastric cancer using artificial neural networks
JP6975692B2 (en) Method of presenting information related to the basis of the predicted value output by the computer system and the predictor.
US20180144244A1 (en) Distributed clinical workflow training of deep learning neural networks
CN112735535A (en) Prediction model training method, prediction model training device, data prediction method, data prediction device and storage medium
US20190019582A1 (en) Systems and methods for predicting multiple health care outcomes
EP3223183A1 (en) Case-based reasoning in the cloud using deep learning
CN112074915A (en) Visualization of biomedical predictions
JP2019185751A (en) Method of feature quantity preparation, system, and program
CN114611707A (en) Method and system for machine learning by combining rules
US11847389B2 (en) Device and method for optimizing an input parameter in a processing of a semiconductor
CN105808906B (en) The analysis method and its device of patient personal characteristics
JP2022076278A (en) Model learning method, model learning system, server device, and computer program
KR102829085B1 (en) Health state prediction system including ensemble prediction model and operation method thereof
JP2023533587A (en) Selecting a training dataset on which to train the model
JP7561005B2 (en) Model learning method, model learning system, and computer program
Cunha Jr et al. Uncertainty quantification in mechanistic epidemic models via cross-entropy approximate Bayesian computation
US9304895B1 (en) Evolutionary technique with n-pool evolution
Farag et al. Inductive conformal prediction for harvest-readiness classification of cauliflower plants: A comparative study of uncertainty quantification methods
CN118114257B (en) Private domain data privacy disclosure risk assessment method based on knowledge graph
JP7551458B2 (en) Model data providing method, model data providing system, server device, and computer program
CN116324830A (en) Appropriate for decentralized training methods on disparate training sets
JP7401260B2 (en) Information processing system, information processing method and computer program
JP7545297B2 (en) Model data provision method, model data provision system, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240528

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20240717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241126

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20241209

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: 20241224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250107

R150 Certificate of patent or registration of utility model

Ref document number: 7617724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150