Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7561005B2 - Model learning method, model learning system, and computer program - Google Patents
[go: Go Back, main page]

JP7561005B2 - Model learning method, model learning system, and computer program - Google Patents

Model learning method, model learning system, and computer program Download PDF

Info

Publication number
JP7561005B2
JP7561005B2 JP2020186618A JP2020186618A JP7561005B2 JP 7561005 B2 JP7561005 B2 JP 7561005B2 JP 2020186618 A JP2020186618 A JP 2020186618A JP 2020186618 A JP2020186618 A JP 2020186618A JP 7561005 B2 JP7561005 B2 JP 7561005B2
Authority
JP
Japan
Prior art keywords
data
model
global model
local
server
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
JP2020186618A
Other languages
Japanese (ja)
Other versions
JP2022076275A (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 JP2020186618A priority Critical patent/JP7561005B2/en
Publication of JP2022076275A publication Critical patent/JP2022076275A/en
Application granted granted Critical
Publication of JP7561005B2 publication Critical patent/JP7561005B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、分散学習の実用化のためのモデル学習方法、モデル学習システム、及びコンピュータプログラムに関する。 The present invention relates to a model learning method, a model learning system, 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 can be used in various fields, it takes a long time for the parameters to converge, and there is no guarantee that the accuracy will improve.

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

本開示の一実施形態のモデル学習方法は、サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを取得し、前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、更新後のグローバルモデルのデータを更新回数に対応する更新情報と対応付けて記憶し、前記グローバルモデルの性能評価値を算出し、算出された性能評価値を、前記グローバルモデルの更新情報と対応付けて記憶し、前記グローバルモデルの更新情報の指定と共に前記グローバルモデルの参照リクエストを受け付け、指定された更新情報が対応付けられている前記グローバルモデルのデータ及び性能評価値を出力する処理を含む。 A model learning method according to an embodiment of the present disclosure includes the steps of distributing global model data stored in a server to a plurality of nodes, acquiring local model data learned based on the global model by local data processed by the plurality of nodes, updating the global model data based on the learned local model data acquired from each of the plurality of nodes, storing the updated global model data in association with update information corresponding to the number of updates, calculating a performance evaluation value of the global model, storing the calculated performance evaluation value in association with the update information of the global model, accepting a reference request for the global model together with a specification of the update information of the global model, and outputting the global model data and performance evaluation value associated with the specified update information.

本開示の一実施形態のモデル学習システムは、ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、前記複数のノードは夫々、処理対象のローカルデータによって前記グローバルモデルからローカルモデルの学習を各々進め、前記サーバが備える処理部は、学習後の前記ローカルモデルのデータを前記複数のノードから取得し、前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、更新後のグローバルモデルのデータを更新回数に対応する更新情報と対応付けて記憶し、前記グローバルモデルの性能評価値を算出し、算出された性能評価値を、前記グローバルモデルの更新情報と対応付けて記憶し、前記グローバルモデルの更新情報の指定と共に前記グローバルモデルの参照リクエストを受け付け、指定された更新情報が対応付けられている前記グローバルモデルのデータ及び性能評価値を出力する。 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, and the plurality of nodes each proceeds with learning of the local model from the global model using the local data to be processed, and a processing unit provided in the server acquires the learned local model data from the plurality of nodes, updates the global model data based on the learned local model data acquired from each of the plurality of nodes, stores the updated global model data in association with update information corresponding to the number of updates, calculates a performance evaluation value of the global model, stores the calculated performance evaluation value in association with the update information of the global model, accepts a reference request for the global model together with a designation of the update information of the global model, and outputs the global model data and performance evaluation value associated with the designated update information.

本開示の一実施形態のコンピュータプログラムは、複数のノードに通信接続が可能なコンピュータに、記憶するグローバルモデルのデータを前記複数のノードに対して配布し、前記複数のノード夫々で学習されたローカルモデルのデータを取得し、前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、更新後のグローバルモデルのデータを更新回数に対応する更新情報と対応付けて記憶し、前記グローバルモデルの性能評価値を算出し、算出された性能評価値を、前記グローバルモデルの更新情報と対応付けて記憶し、前記グローバルモデルの更新情報の指定と共に前記グローバルモデルの参照リクエストを受け付け、指定された更新情報が対応付けられている前記グローバルモデルのデータ及び性能評価値を出力する処理を実行させる。 A computer program according to an embodiment of the present disclosure causes a computer capable of communication with a plurality of nodes to execute a process of distributing stored global model data to the plurality of nodes, acquiring local model data learned by each of the plurality of nodes, updating the global model data based on the learned local model data acquired from each of the plurality of nodes, storing the updated global model data in association with update information corresponding to the number of updates, calculating a performance evaluation value of the global model, storing the calculated performance evaluation value in association with the update information of the global model, accepting a reference request for the global model together with a specification of the update information of the global model, and outputting the global model data and performance evaluation value associated with the specified update information.

本開示の一実施形態のコンピュータプログラムは、サーバと通信接続されるコンピュータに、前記サーバから配布されるグローバルモデルを基にして処理対象のローカルデータを用いたローカルモデルを学習し、学習後のローカルモデルのデータを前記サーバへ送信し、異なる更新情報が対応付けられた更新後のグローバルモデルの一覧を含む画面データを前記サーバから受信し、受信した画面データに基づいて前記コンピュータに備えられる表示部に、前記一覧を表示し、前記一覧の内のいずれかの更新情報の指定を受け付け、指定された更新情報に対応するグローバルモデルの性能評価値を前記サーバから取得して表示する処理を実行させる。 A computer program according to an embodiment of the present disclosure causes a computer connected to a server to execute a process of learning a local model using local data to be processed based on a global model distributed from the server, transmitting data of the learned local model to the server, receiving screen data from the server including a list of updated global models associated with different update information, displaying the list on a display unit provided in the computer based on the received screen data, accepting a designation of any one of the update information in the list, and acquiring and displaying a performance evaluation value of the global model corresponding to the designated update information from the server.

本開示のモデル学習方法、モデル学習システム、及びコンピュータプログラムでは、グローバルモデルが更新されると、更新回数に対応する更新情報と対応付けてモデルのデータと、各段階における性能評価値が履歴として記憶される。グローバルモデルのデータが性能評価値と共に、ノード又は他の情報処理装置から取得され、一覧の表示が可能となる。 In the model learning method, model learning system, and computer program disclosed herein, when a global model is updated, the model data and the performance evaluation value at each stage are stored as history in association with update information corresponding to the number of updates. The global model data, together with the performance evaluation value, are acquired from a node or another information processing device, making it possible to display a list.

本開示の一実施形態のモデル学習方法は、前記サーバは、グローバルモデルのデータの配布、ローカルモデルのデータの取得、及びグローバルモデルのデータの更新を複数ラウンド繰り返し、前記グローバルモデルのデータの更新の都度、前記グローバルモデルのデータ及び性能評価値を更新情報と対応付けて記憶する。 In one embodiment of the model learning method of the present disclosure, the server repeats multiple rounds of distributing global model data, acquiring local model data, and updating the global model data, and each time the global model data is updated, stores the global model data and performance evaluation value in association with the update information.

グローバルモデルのデータの配布、グローバルモデルのデータの配布、ローカルモデルのデータの取得、及びグローバルモデルのデータの更新を複数ラウンド繰り返す更新の途上で、異なる更新情報を対応付けてグローバルモデルのデータ及び性能評価値が記憶される。したがって、更新履歴における過去のモデルに遡り、過去のモデルとの性能の比較を視覚化することが可能になる。 During the update process, which involves multiple rounds of global model data distribution, global model data distribution, local model data acquisition, and global model data updates, the data and performance evaluation values of the global model are stored in association with different update information. This makes it possible to trace back to past models in the update history and visualize a comparison of performance with past models.

本開示の一実施形態のモデル学習方法は、前記サーバは、前記参照リクエストに対し、前記性能評価値に基づく前記グローバルモデルの性能を示す画面データを作成し、出力する。 In one embodiment of the model learning method of the present disclosure, the server creates and outputs screen data in response to the reference request, the screen data showing the performance of the global model based on the performance evaluation value.

グローバルモデルの性能評価が画面データとして視覚化される。オペレータが、更新の過程を確認できるので、モデルの選択、更新方法の変更、更新停止等を決定することが可能である。 The performance evaluation of the global model is visualized as screen data. The operator can check the update process and decide to select a model, change the update method, stop the update, etc.

本開示の一実施形態のモデル学習方法は、前記サーバは、前記グローバルモデルのデータの更新回数の指定、前記グローバルモデルのデータの更新停止の指示を受け付ける。 In one embodiment of the model learning method disclosed herein, the server receives a designation of the number of times to update the data of the global model and an instruction to stop updating the data of the global model.

更新中のモデルの性能評価値が出力可能であり、各段階のグローバルモデルのデータが記憶され、ノード又は他の情報処理装置から取得可能である。性能評価値を参照した上での更新回数の指定や、更新の停止の指示が受け付けられる。性能評価値の変化に応じて、適切に分散学習を進めることができる。 The performance evaluation value of the model being updated can be output, and data on the global model at each stage is stored and can be obtained from the node or other information processing devices. The number of updates can be specified with reference to the performance evaluation value, and an instruction to stop updating can be accepted. Distributed learning can be carried out appropriately according to changes in the performance evaluation value.

本開示の一実施形態のモデル学習方法は、前記サーバは、前記複数のノード夫々に、ローカルデータに基づいて算出させた前記グローバルモデルの精度の評価値を取得し、前記評価値に基づいて前記グローバルモデルの性能評価値を算出する。 In one embodiment of the model learning method of the present disclosure, the server acquires an evaluation value of the accuracy of the global model calculated based on local data from each of the multiple nodes, and calculates a performance evaluation value of the global model based on the evaluation value.

性能評価値は、各ノードでのローカルデータを用いた精度に基づいて算出されてよい。グローバルモデルの性能評価値は、各ノードで算出され精度の平均でもよいし、ローカルデータのデータ量に基づく加重平均であってもよい。各ノードでの精度が実用に耐えうる程度となるまで、グローバルモデルのデータの配布、ローカルモデルの学習、学習されたローカルモデルに基づくグローバルモデルのデータの更新が繰り返されてもよい。 The performance evaluation value may be calculated based on the accuracy using local data at each node. The performance evaluation value of the global model may be the average of the accuracy calculated at each node, or may be a weighted average based on the amount of local data. Distribution of global model data, training of local models, and updating of global model data based on the trained local models may be repeated until the accuracy at each node is sufficient for practical use.

本開示の一実施形態のモデル学習方法は、再分配するグローバルモデルの選択を受け付け、学習の進行に関わらず、選択されたグローバルモデルのデータを前記複数のノードへ再分配する。 A model learning method according to one embodiment of the present disclosure accepts the selection of a global model to be redistributed, and redistributes the data of the selected global model to the multiple nodes regardless of the progress of learning.

更新履歴のモデルの中から、いずれか選択が可能である。オペレータによって、性能評価値を比較した上で、再分配、即ち、学習を進めるモデルを選択することが可能になる。 It is possible to select one of the models from the update history. The operator can compare the performance evaluation values and then select the model to redistribute, i.e., proceed with learning.

本開示の一実施形態のモデル学習方法は、前記複数のノードは、前記ローカルモデルのデータを更新情報と対応付けて記憶し、前記ローカルモデルの評価値を算出し、算出された評価値を、前記ローカルモデルの更新情報と対応付けて記憶する。 In one embodiment of the model learning method of the present disclosure, the multiple nodes store data of the local model in association with update information, calculate an evaluation value of the local model, and store the calculated evaluation value in association with the update information of the local model.

各ノードで学習したローカルモデル自体の性能履歴についても、サーバで集約しておく。サーバにて各ノードから集約したローカルモデルの性能及びその履歴を閲覧可能とすることにより、オペレータにて、分散学習に参加させるノードの選択が可能になる。 The performance history of the local models trained on each node is also aggregated on the server. By making the performance and history of the local models aggregated from each node available for viewing on the server, operators can select the nodes to participate in distributed learning.

本開示の一実施形態のモデル学習方法は、前記複数のノードに、前記ローカルモデルの学習に用いたローカルデータのデータ量、又は前記ローカルデータの特性を、前記ローカルモデルの更新情報と対応付けて記憶させ、前記サーバは、前記複数のノードから、ローカルモデルのデータと対応付けてデータ量又はデータの特性を取得する。 The model learning method of one embodiment of the present disclosure causes the multiple nodes to store the amount of local data used to learn the local model or the characteristics of the local data in association with update information for the local model, and the server acquires the amount of data or the characteristics of the data from the multiple nodes in association with the data of the local model.

グローバルモデルの更新に利用されるローカルモデルのデータ量、学習量又は学習に用いられるデータの特性が、サーバに集約される。グローバルモデルのデータの更新に、いずれのローカルモデルを使用するかの選択が、ローカルモデルの特徴に応じて可能になる。 The amount of data, amount of learning, or characteristics of the data used for learning of the local models used to update the global model are aggregated on the server. It becomes possible to select which local model to use to update the data of the global model, depending on the characteristics of the local model.

本開示のモデル学習方法、モデル学習システム、及びコンピュータプログラムによれば、モデルの性能評価値が可視化され、オペレータによって確認可能になる。更新途上のモデルと性能を比較し、より性能が高まると推測できるモデルを選択して学習を進めることもできる。 According to the model learning method, model learning system, and computer program disclosed herein, the performance evaluation value of the model is visualized and can be confirmed by an operator. It is also possible to compare the performance with a model in the process of being updated, select a model that is predicted to have better performance, and proceed with learning.

第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. モニタの構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a monitor. モデル学習システムにおける学習処理手順の一例を示すフローチャートである。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. 学習過程の参照処理手順の一例を示すフローチャートである。13 is a flowchart showing an example of a reference processing procedure in a learning process. グローバルモデルの更新履歴画面の一例を示す。13 shows an example of an update history screen for a global model. グローバルモデルの個別性能を視覚化した個別性能画面の一例を示す。An example of an individual performance screen that visualizes the individual performance of a global model is shown. 第2の実施形態のモデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model learning system of the second embodiment. 第2の実施形態のモデル学習システムにおける学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure in the model learning system of the second embodiment. グローバルモデルの個別性能を視覚化した個別性能画面の他の一例を示す。13 shows another example of an individual performance screen in which the individual performance of a global model is visualized. 評価値の詳細画面の一例を示す。13 shows an example of a detailed screen of an evaluation value. 学習条件の編集画面の例を示す。13 shows an example of a learning condition editing screen. 第2の実施形態のモデル学習の概要図である。FIG. 13 is a schematic diagram of model learning according to the second embodiment; 第3の実施形態におけるノードのローカルモデルの学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure for a local model of a node according to the third embodiment. 第3の実施形態におけるグローバルモデルの更新処理の一例を示すフローチャートである。13 is a flowchart illustrating an example of a global model update process according to the third embodiment. ローカルモデルの性能履歴画面を示す。The performance history screen of the local model is shown. 第4の実施形態のローカルモデルの学習処理手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a learning process procedure of a local model according to the fourth embodiment. 第4の実施形態のグローバルモデルの更新処理の一例を示すフローチャートである。13 is a flowchart illustrating an example of a global model update process according to the fourth embodiment; 各ノードの重みの編集画面を示す。The screen for editing the weight of each node is shown. 第4の実施形態におけるグローバルモデルの個別性能を視覚化した個別性能画面の一例を示す。13 shows an example of an individual performance screen in which individual performance of a global model is visualized in 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の実施形態のグローバルモデルの更新処理の一例を示すフローチャートである。23 is a flowchart illustrating an example of a global model update process according to the fifth embodiment. 第5の実施形態における重みの編集画面を示す。13 shows a weight editing screen in 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 cooperates with node 1 to learn the model. 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 with 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 what is called deep learning. The type of deep learning model should be appropriately selected according to the contents of the input data and output data. The model to be trained described below may be a classification system, detection system, or generation system using a CNN (Convolutional Neural Network) that includes a convolutional layer, or it may be a RNN (Recurrent Neural Network) that learns by taking into account time series elements.

通信網Nは、所謂インターネットである公衆通信網、キャリアネットワークを含む。通信網Nは、モデル学習システム100用の専用回線であってもよい。 The communication network N includes a public communication network, such as the Internet, and a carrier network. The communication network N may be a dedicated line for the model 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 model. The redistributed global model 51 may correspond to the difference from the previous update.

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

これにより、サーバ3からローカルデータへのアクセスを許可することなく、分散学習が可能になる。モデル学習システム100では、グローバルモデル51の配布と、ローカルモデル52の学習とを繰り返していく学習過程を、モニタ4から確認できるようにする。モニタ4のみならず、ノード1のオペレータからも確認できるとよい。モデル学習システム100では、モニタ4から、学習の中断や、適切なグローバルモデル51の選択をオペレータができるようにする。 This enables distributed learning without allowing access to local data from the server 3. In the model learning system 100, the learning process in which the distribution of the global model 51 and the learning of the local model 52 are repeated can be confirmed from the monitor 4. It is preferable that the process can be confirmed not only by the monitor 4 but also by the operator of the node 1. In the model learning system 100, the operator can interrupt learning and select an appropriate global model 51 from the monitor 4.

サーバ3は、モニタ4に対し、同一のローカルなネットワーク内からのみ通信接続を受け付けてもよいし(オンプレミス型)、図1で示したように、公衆通信網である通信網N経由でモニタ4からの通信接続を受け付けてもよい(クラウド型)。 The server 3 may accept communication connections to the monitor 4 only from within the same local network (on-premise type), or may accept communication connections from the monitor 4 via the communication network N, which is a public communication network, as shown in Figure 1 (cloud type).

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

このような学習方法を実現するモデル学習システム100の構成について詳細に説明する。 The configuration of the model learning system 100 that realizes 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 it 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を記憶する。サーバプログラム3Pは、Webサーバプログラムを含む。記憶部31は、グローバルモデル51、複数のノード1から送信されるローカルモデル52を記憶する。サーバプログラム3Pは、記録媒体9に記憶してあるサーバプログラム9Pを処理部30が読み出して記憶部31に複製したものであってもよい。 The storage unit 31 uses a non-volatile memory such as a hard disk or SSD. The storage unit 31 stores data referenced by the processing unit 30. The storage unit 31 stores a server program 3P. The server program 3P includes a web server program. The storage unit 31 stores a global model 51 and a local model 52 transmitted from multiple nodes 1. The server program 3P may be a server program 9P stored in a recording medium 9 that is read by the processing unit 30 and copied to the storage unit 31.

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

図4は、モニタ4の構成を示すブロック図である。モニタ4は、パーソナルコンピュータである。モニタ4は、タブレット端末又はスマートフォンであってもよい。モニタ4は、処理部40、記憶部41、通信部42、表示部43及び操作部44を備える。 Figure 4 is a block diagram showing the configuration of the monitor 4. The monitor 4 is a personal computer. The monitor 4 may be a tablet terminal or a smartphone. The monitor 4 includes a processing unit 40, a storage unit 41, a communication unit 42, a display unit 43, and an operation unit 44.

処理部40は、CPU及び/又はGPUを用いたプロセッサである。処理部40は、記憶部41に記憶されているWebブラウザプログラムに基づき、サーバ3から提供される情報を表示部43で表示する処理を実行する。 The processing unit 40 is a processor using a CPU and/or a GPU. The processing unit 40 executes a process of displaying information provided by the server 3 on the display unit 43 based on a web browser program stored in the storage unit 41.

記憶部41は、例えばハードディスク、フラッシュメモリ、SSD(Solid State Drive)等の不揮発性メモリを用いる。記憶部41は、処理部40が参照するデータを記憶する。記憶部41は、Webブラウザプログラムを含む各種プログラムを記憶する。 The storage unit 41 uses a non-volatile memory such as a hard disk, a flash memory, or an SSD (Solid State Drive). The storage unit 41 stores data referenced by the processing unit 40. The storage unit 41 stores various programs including a web browser program.

通信部42は、通信網Nを介した通信を実現する。通信部42は具体的には、例えばネットワークカードである。処理部40は、通信部42によってし、サーバ3との間でデータを送受信する。 The communication unit 42 realizes communication via the communication network N. Specifically, the communication unit 42 is, for example, a network card. The processing unit 40 transmits and receives data to and from the server 3 via the communication unit 42.

表示部43は、液晶ディスプレイ、有機ELディスプレイ等のディスプレイである。表示部43は、サーバ3から提供されるデータを含む画面を表示する。表示部43は、タッチパネル内蔵型ディスプレイであってもよい。 The display unit 43 is a display such as a liquid crystal display or an organic EL display. The display unit 43 displays a screen including data provided by the server 3. The display unit 43 may be a display with a built-in touch panel.

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

このように構成されるモデル学習システム100における学習処理手順について説明する。図5は、モデル学習システム100における学習処理手順の一例を示すフローチャートである。 The learning process procedure in the model learning system 100 configured in this manner will be described. Figure 5 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 node 1 (step S2).

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

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

サーバ3は、更新したグローバルモデル51に対する性能評価値を算出する(ステップS5)。サーバ3はステップS5において、特定のノード1又は情報処理装置6に対し、入力データを更新後のグローバルモデル51に入力した場合に、対応する出力データを出力する精度を評価値として算出してもよい。性能評価値は、後述するように各ノード1からの評価値を用いて算出してもよい。 The server 3 calculates a performance evaluation value for the updated global model 51 (step S5). In step S5, the server 3 may calculate, as an evaluation value, the accuracy with which corresponding output data is output when input data is input to the updated global model 51 for a specific node 1 or information processing device 6. The performance evaluation value may be calculated using evaluation values from each node 1, as described below.

サーバ3は、算出した性能評価値を、更新(ラウンド)回数に対応するラウンド情報と対応付けて、記憶部31に記憶する(ステップS6)。ラウンド情報は、更新回数のみならず、日時等であってもよい。サーバ3は、第0次から最初の数ラウンドにおいては、ステップS5,6の処理を省略してもよい。 The server 3 associates the calculated performance evaluation value with round information corresponding to the number of updates (rounds) and stores it in the storage unit 31 (step S6). The round information may be not only the number of updates but also the date and time, etc. The server 3 may omit the processing of steps S5 and S6 for the first few rounds from the 0th round.

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

ステップS7についてサーバ3は例えば、更新回数が所定回数に到達したか否かで判断する。サーバ3は、ステップS5で算出した性能評価値が、予め記憶してある基準値を満たした場合に、学習完了条件を満たすと判断してもよい。サーバ3はステップS7において、更新前と比較して性能評価値が向上していないと判断される場合に学習完了条件を満たすと判断してもよい。 For example, in step S7, the server 3 determines whether the number of updates has reached a predetermined number. The server 3 may determine that the learning completion condition is met when the performance evaluation value calculated in step S5 meets a pre-stored reference value. The server 3 may determine that the learning completion condition is met in step S7 when it is determined that the performance evaluation value has not improved compared to before the update.

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

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

ステップS8においてサーバ3は、何回目の更新後のグローバルモデル51であるのか、即ち第n次グローバルモデル51の「n」を示すデータを共に送信するとよい。ステップS8においてサーバ3は、ステップS6で記憶したラウンド情報を、グローバルモデル51に対応付けて送信するとよい。ラウンド情報は、上述したように、ステップS7で学習完了条件を満たすと判断されるまでに、ノード1への分配及び統計処理を実行した回数を示す情報である。サーバ3は、グローバルモデル51の種類、例えばどのようなアーキテクチャの深層学習がされたのか、を示すデータを共に送信してもよい。 In step S8, the server 3 may also transmit data indicating the number of updates to the global model 51, i.e., "n" in the nth global model 51. In step S8, the server 3 may transmit the round information stored in step S6 in association with the global model 51. As described above, the round information is information indicating the number of times distribution to nodes 1 and statistical processing were performed until it is determined in step S7 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.

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

サーバ3は、記憶したグローバルモデル51を複数のノード1又は他の情報処理装置6へ送信し(ステップS10)、処理を終了する。他の情報処理装置6とは、ノード1同様に、学習対象と同種のデータを用いるが、ローカルデータをトレーニング用に提供しない装置である(図1参照)。 The server 3 transmits the stored global model 51 to multiple nodes 1 or other information processing devices 6 (step S10), and ends the process. The other information processing devices 6 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 (see FIG. 1).

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

図6は、配布されたグローバルモデル51に基づくローカルモデル52の学習処理手順の一例を示すフローチャートである。図6のフローチャートに示す処理は、サーバ3がステップS2又はステップS8でグローバルモデル51を配布した場合に、複数のノード1夫々で実行する処理である。 Figure 6 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 6 is executed by each of the multiple nodes 1 when the server 3 distributes the global model 51 in step S2 or step S8.

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

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

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

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

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

学習完了条件を満たすと判断された場合(S305:YES)、処理部10は学習を終了し、パラメータが更新されたグローバルモデル51を、ローカルモデル52として記憶する(ステップS306)。 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 corresponding to the number of updates until one learning is completed, as described below, the node 1 may transmit the round information in association with the local model 52.

図6のフローチャートに示した処理によってノード1からは、ローカルデータがサーバ3へ送信されることがない点が、着目されるべきである。ローカルデータの匿名化も実行されない。ノード1から送信されるデータは、モデルそのものである。ローカルデータの特性は反映されているが、データの送信はされない。 It should be noted that the process shown in the flowchart of Figure 6 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.

図7は、サーバ3におけるグローバルモデル51の更新処理の一例を示すフローチャートである。図7のフローチャートに示す処理手順は、図5のフローチャートに示す処理手順の内のステップS4の詳細に対応する。 Figure 7 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 7 corresponds to the details of step S4 in the process procedure shown in the flowchart in Figure 5.

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

上述したように第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.

第1の実施形態では、サーバ3がグローバルモデル51の学習(更新)及び改訂(バージョンアップ)の過程でラウンド情報、及びバージョン情報と対応付けて、グローバルモデル51を記憶している。したがって、サーバ3にて、更新の過程に関する情報を、バージョン別、ラウンド毎に、モニタ4又はノード1に向けて提供することが可能である。 In the first embodiment, the server 3 stores the global model 51 in association with round information and version information during the process of learning (updating) and revising (upgrading) the global model 51. Therefore, the server 3 can provide information on the update process to the monitor 4 or node 1 for each version and each round.

図8は、学習過程の参照処理手順の一例を示すフローチャートである。サーバ3は、サーバプログラム3Pに含まれるWebサーバプログラムに基づいて、以下に示す処理手順により、モニタ4又はノード1からの参照リクエストに応じて学習過程に関する情報を提供する。 Figure 8 is a flowchart showing an example of a reference process for the learning process. Based on the Web server program included in the server program 3P, the server 3 provides information about the learning process in response to a reference request from the monitor 4 or node 1 according to the process steps shown below.

モニタ4又はノード1のオペレータは、記憶してあるWebブラウザプログラムに基づいて、サーバ3から提供されるWebページへのアクセスを試みる。 The operator of monitor 4 or node 1 attempts to access a web page provided by server 3 based on the stored web browser program.

サーバ3の処理部30は、Webサーバとしての機能により、接続リクエストを受信し(ステップS601)、リクエストに含まれるアカウント情報に応じて、メイン(ポータル)となるWebページを記憶部31から読み出してリクエスト元へ送信する(ステップS602)。 The processing unit 30 of the server 3 receives the connection request by functioning as a web server (step S601), and reads out the main (portal) web page from the memory unit 31 according to the account information included in the request and transmits it to the request source (step S602).

モニタ4の管理者及びノード1の管理者毎に、サーバ3へのアクセス用のアカウントが発行されている。アカウントは、アカウントID、認証情報、権限のデータを含む。サーバ3は、記憶部31にアカウントデータを記憶している。モニタ4の管理者向けのアカウントには、学習回数の指定、学習の中断などが可能な権限が対応付けられている。ノード1の管理者向けのアカウントには、学習過程での性能評価値の閲覧等、グローバルモデル51の内容に影響しない程度の権限が対応付けられている。 An account for accessing the server 3 is issued to each of the administrators of monitor 4 and node 1. The account includes an account ID, authentication information, and authority data. The server 3 stores the account data in the memory unit 31. The account for the administrator of monitor 4 is associated with authority to specify the number of learning times and interrupt learning. The account for the administrator of node 1 is associated with authority that does not affect the contents of the global model 51, such as viewing performance evaluation values during the learning process.

処理部30は、モニタ4又はノード1から送信されるグローバルモデル51の指定を受信し(ステップS603)、指定されたグローバルモデル51の更新履歴の一覧を含むWebページを送信する(ステップS604)。図5のフローチャートに示したように、グローバルモデル51が更新される都度に、グローバルモデル51及び性能評価値が、ラウンド情報及びバージョン情報と対応付けて記憶されている。したがって、処理部30は記憶されているデータに基づいて更新履歴の一覧を作成できる。 The processing unit 30 receives the specification of the global model 51 sent from the monitor 4 or node 1 (step S603), and transmits a web page including a list of the update history of the specified global model 51 (step S604). As shown in the flowchart of FIG. 5, each time the global model 51 is updated, the global model 51 and the performance evaluation value are stored in association with the round information and version information. Therefore, the processing unit 30 can create a list of the update history based on the stored data.

処理部30は、更新履歴の一覧に含まれるバージョン情報の指定を含む性能参照リクエストを受信すると(ステップS605)、指定されたバージョン情報に対応付けられて記憶してあった更新過程におけるグローバルモデル51の性能を示すイメージを含むWebページを作成する(ステップS606)。性能を示すイメージは、例えば性能の推移を示すグラフ、学習に使用したデータ件数等が含まれてよい。 When the processing unit 30 receives a performance reference request including a specification of version information included in the list of update history (step S605), it creates a web page including an image showing the performance of the global model 51 during the update process that was stored in association with the specified version information (step S606). The image showing the performance may include, for example, a graph showing the progress of performance, the number of data items used for learning, etc.

処理部30は、作成した画面データをリクエスト元のモニタ4又はノード1へ向けて出力し(ステップS607)、処理を終了する。 The processing unit 30 outputs the created screen data to the monitor 4 or node 1 that originated the request (step S607) and ends the process.

図9及び図10は、モニタ4又はノード1で表示される画面例を示す。図9は、グローバルモデル51の更新履歴画面430の一例を示す。図9の更新履歴画面430は、モニタ4の表示部43に表示される。更新履歴画面430は、グローバルモデル51のバージョン情報に対応するバージョン名に対応付けて、性能評価値、更新日時を表形式で示す一覧432を含む。一覧432にてバージョン名を示すテキストは、個別ページへのリンクを含んで選択可能にしてある。バージョン名を示すテキストが選択されると、ノード1の処理部10によって、バージョン情報の指定が受け付けられる。最新バージョンのグローバルモデル51が更新(ラウンド)中である場合、その更新中であることを示すアイコンが、バージョン名の横に表示されている。 Figures 9 and 10 show example screens displayed on the monitor 4 or node 1. Figure 9 shows an example of an update history screen 430 for the global model 51. The update history screen 430 in Figure 9 is displayed on the display unit 43 of the monitor 4. The update history screen 430 includes a list 432 showing performance evaluation values and update dates and times in a table format in association with the version names corresponding to the version information of the global model 51. The text showing the version names in the list 432 includes links to individual pages and is selectable. When the text showing the version name is selected, the processing unit 10 of the node 1 accepts the specification of the version information. When the latest version of the global model 51 is being updated (rounded), an icon showing that the update is being performed is displayed next to the version name.

図10は、グローバルモデル51の個別性能を視覚化した個別性能画面431の一例を示す。図10の個別性能画面431は、グローバルモデル51の更新履歴画面430の一覧432からいずれかのバージョン名のテキストが選択された場合に表示される。図10は、図9で「ver4.0」のバージョンを選択した場合の個別性能画面431の例を示す。個別性能画面431は、指定されたバージョン情報のグローバルモデル51の、更新ラウンド毎に算出された性能評価値の推移を示すグラフ434が含まれる。個別性能画面431は、選択されたバージョンのグローバルモデル51の学習に使用されたローカルモデル52、即ち学習に参加したノード1の数等の情報を示す詳細画面435を含む。モニタ4のオペレータは、詳細画面435の内容、性能の推移が視覚化されたイメージ434によってグローバルモデル51の学習(更新)過程を確認することができる。 Figure 10 shows an example of an individual performance screen 431 that visualizes the individual performance of the global model 51. The individual performance screen 431 in Figure 10 is displayed when any version name text is selected from the list 432 of the update history screen 430 of the global model 51. Figure 10 shows an example of the individual performance screen 431 when the version "ver4.0" is selected in Figure 9. The individual performance screen 431 includes a graph 434 that shows the progress of the performance evaluation value calculated for each update round of the global model 51 of the specified version information. The individual performance screen 431 includes a details screen 435 that shows information such as the local model 52 used in learning the selected version of the global model 51, i.e., the number of nodes 1 that participated in the learning. The operator of the monitor 4 can check the learning (update) process of the global model 51 by the contents of the details screen 435 and the image 434 in which the performance progress is visualized.

モニタ4の管理者で、学習の中断、終了の権限が与えられたアカウントからの参照リクエストに対しては、図10に示すように、個別性能画面431に、更新を中断することを指示するためのインタフェース433が表示される。インタフェース433が選択された場合、図5のフローチャートに示した処理手順のうち、学習完了条件を満たすまでのラウンドが中断される。更新中断のログが記録されるとよい。これにより、モニタ4の管理者は、各ラウンドの精度の状況を確認し、これ以上、更新を継続してもモデルの性能向上が見込めない場合に、学習を中断することができる。 In response to a reference request from an account of the administrator of monitor 4 that has been given the authority to interrupt and terminate learning, an interface 433 for instructing to interrupt the update is displayed on the individual performance screen 431 as shown in FIG. 10. When interface 433 is selected, the rounds up to the point where the learning completion condition is met are interrupted in the processing procedure shown in the flowchart of FIG. 5. It is preferable that a log of the interruption of the update is recorded. This allows the administrator of monitor 4 to check the accuracy status of each round, and interrupt the learning if continued updates are not expected to improve the model's performance any further.

モニタ4の管理者で、グローバルモデルの選択の権限が与えられたアカウントからの参照リクエスト対しては、個別性能画面431に、再分配するグローバルモデルの選択を受け付けるインタフェースが表示されてもよい。このインタフェースが選択された場合、処理部30は、図5のフローチャートに示した処理手順を中断し、選択されたグローバルモデル51を、ステップS8で再分配し、処理をステップS2へ戻し、更新の処理を継続する。 For a reference request from an account of the administrator of monitor 4 that has been given the authority to select a global model, an interface that accepts the selection of the global model to be redistributed may be displayed on the individual performance screen 431. When this interface is selected, the processing unit 30 interrupts the processing procedure shown in the flowchart of FIG. 5, redistributes the selected global model 51 in step S8, returns the process to step S2, and continues the update process.

このように第1の実施形態では、ローカルデータに基づいてローカルモデル52の学習をし、且つ、図9-図10に示したように、オペレータがモニタ4又はノード1から、グローバルモデル51の学習過程を視覚的に確認できる。図9及び図10に示したように、モニタ4の管理者の権限を有している場合、学習、すなわちグローバルモデルの更新を、管理者によって停止させることも可能である。 In this way, in the first embodiment, the local model 52 is learned based on the local data, and as shown in Figures 9 and 10, the operator can visually check the learning process of the global model 51 from the monitor 4 or node 1. As shown in Figures 9 and 10, if the operator has administrator authority for the monitor 4, the administrator can also stop the learning, i.e., the update of the global model.

(第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.

図11及び図12は、第2の実施形態のモデル学習システム100における学習処理手順の一例を示すフローチャートである。図11及び図12のフローチャートに示す処理手順の内、図5のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figures 11 and 12 are flowcharts 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 flowcharts of Figures 11 and 12, the same step numbers are used for the steps common to the process procedures shown in the flowchart of Figure 5, and detailed descriptions 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は、精度として、ローカルデータにおける入力データに対応する出力データとの合致率を算出してもよいし、ノード1のオペレータから表示部13及び操作部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 of the local data when the input data is input, and transmits it to the server 3. The processing unit 10 may calculate the matching rate between the input data in the local data and the output data corresponding to the input data as the accuracy, or may accept an accuracy evaluation from the operator of the node 1 via the display unit 13 and 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は、更新したグローバルモデル51に対してステップS502で各ノードから得た評価値、及びステップS503で算出した総評価値を、グローバルモデル51のラウンド情報と対応付けて記憶する(ステップS504)。 The processing unit 30 stores the evaluation values obtained from each node in step S502 for the updated global model 51 and the total evaluation value calculated in step S503 in association with the round information of the global model 51 (step S504).

処理部30は、ラウンド情報毎に記憶されたこれまでのグローバルモデル51に対する評価値、総評価値を含む更新履歴を含むWebページをモニタ4へ送信し、出力させる(ステップS505)。 The processing unit 30 transmits a web page including the update history including the evaluation value for the global model 51 stored for each round information and the total evaluation value to the monitor 4 and outputs it (step S505).

処理部30は、更新履歴に基づいて再分配するグローバルモデル51の選択を受け付け(ステップS506)、学習停止の選択を受け付けたか否かを判断する(ステップS507)。 The processing unit 30 accepts the selection of the global model 51 to be redistributed based on the update history (step S506) and determines whether or not the selection to stop learning has been accepted (step S507).

ステップS507において処理部30は、ステップS505に送信したWebページに、学習を終了させるインタフェースを含ませておき、学習を終了させるインタフェースで終了が選択された場合に、学習停止の選択を受け付けたと判断する。処理部30は、同Webページに、学習続行のインタフェースを含ませておき、学習続行が選択された場合に、学習続行を受け付けたと判断してもよい。 In step S507, the processing unit 30 includes an interface for ending learning in the web page sent in step S505, and determines that a selection to stop learning has been accepted when "end" is selected in the interface for ending learning. The processing unit 30 may also include an interface for continuing learning in the same web page, and determine that a selection to continue learning has been accepted when "continue learning" is selected.

ステップS507で学習停止の選択を受け付けないと判断された場合(S507:NO)、学習条件の変更があるか否かを判断する(ステップS508)。 If it is determined in step S507 that the selection to stop learning has not been accepted (S507: NO), it is determined whether there have been any changes to the learning conditions (step S508).

ステップS508において処理部30は、ステップS505に送信したWebページに、学習条件の変更を受け付けるインタフェースを含ませておき、学習条件の変更のインタフェースが選択された場合、学習条件の変更があると判断する。 In step S508, the processing unit 30 includes an interface for accepting changes to the learning conditions in the web page sent in step S505, and determines that there is a change to the learning conditions when the interface for changing the learning conditions is selected.

学習条件の変更があると判断された場合(S508:YES)、処理部30は、条件の変更を受け付ける(ステップS509)。ステップS509において処理部30は、後述するWebページにて、ローカルモデル52の学習に参加するノードの変更を受け付けてもよいし、ローカルモデル52の更新回数の変更を受け付けてもよい。他の条件の変更を受け付けてもよい。ステップS509及びS508の処理手順の順序は前後してもよいし、処理部30は、変更を受け付けた場合に学習条件の変更があると判断してもよい。 If it is determined that there is a change in the learning conditions (S508: YES), the processing unit 30 accepts the change in conditions (step S509). In step S509, the processing unit 30 may accept a change in the nodes participating in the learning of the local model 52 on a web page described later, or may accept a change in the number of updates to the local model 52. It may also accept changes to other conditions. The order of the processing procedures of steps S509 and S508 may be reversed, and the processing unit 30 may determine that there is a change in the learning conditions when a change is accepted.

処理部30は、受け付けた変更後の学習条件に基づいて、複数のノード1へ、ステップS506で選択されたラウンド情報に対応するグローバルモデル51を再分配し(ステップS510)、処理をステップS3へ戻す。 The processing unit 30 redistributes the global model 51 corresponding to the round information selected in step S506 to multiple nodes 1 based on the accepted changed learning conditions (step S510), and returns the process to step S3.

ステップS508で学習条件の変更がないと判断された場合(S508:NO)、処理部30は、ステップS506で選択されたラウンド情報に対応するグローバルモデル51を、これまでに送信対象としてきたノード1へ再分配し(S510)、処理をステップS3へ戻す。 If it is determined in step S508 that the learning conditions have not changed (S508: NO), the processing unit 30 redistributes the global model 51 corresponding to the round information selected in step S506 to the node 1 that has been the transmission target up to that point (S510), and returns the process to step S3.

ステップS507で学習停止の選択を受け付けたと判断された場合(S507:YES)、処理部30は、ステップS506で選択されたグローバルモデル51を、他の装置へも配布可能なグローバルモデル51として、バージョン情報と対応付けて記憶する(ステップS511)。 If it is determined in step S507 that the selection to stop learning has been accepted (S507: YES), the processing unit 30 stores the global model 51 selected in step S506 in association with the version information as a global model 51 that can be distributed to other devices (step S511).

処理部30は、記憶したグローバルモデル51を複数のノード又は他の情報処理装置6へ送信し(S10)、処理を終了する。 The processing unit 30 transmits the stored global model 51 to multiple nodes or other information processing devices 6 (S10) and ends the processing.

図13から図15は、モニタ4の表示部43に表示される画面例を示す図である。図13は、グローバルモデル51の個別性能を視覚化した個別性能画面431の他の一例を示す。図13の個別性能画面431は、図9に示した更新履歴画面430から、更新中のグローバルモデル51のバージョン情報のテキストが選択された場合に表示される。 FIGS. 13 to 15 are diagrams showing example screens displayed on the display unit 43 of the monitor 4. FIG. 13 shows another example of an individual performance screen 431 that visualizes the individual performance of the global model 51. The individual performance screen 431 in FIG. 13 is displayed when the text of the version information of the global model 51 being updated is selected from the update history screen 430 shown in FIG. 9.

図13に示すように、第2の実施形態における個別性能画面431は、性能評価値の推移を示すグラフ上に、第1の実施形態で示した図10同様に、指定されたバージョン情報のグローバルモデル51の、更新ラウンド毎に算出された総評価値の推移を示すグラフ434が含まれる。 As shown in FIG. 13, the individual performance screen 431 in the second embodiment includes a graph 434 showing the progress of the total evaluation value calculated for each update round for the global model 51 of the specified version information, on top of the graph showing the progress of the performance evaluation value, similar to FIG. 10 shown in the first embodiment.

グラフ434は、ラウンド数を選択するためのマーク436を含む。個別性能画面431の詳細画面435は、マーク436が付されているラウンド数のグローバルモデル51の評価等を示す。 The graph 434 includes a mark 436 for selecting the number of rounds. The details screen 435 of the individual performance screen 431 shows the evaluation of the global model 51 for the number of rounds to which the mark 436 is attached.

個別性能画面431は、以後に学習を続行するためのインタフェース437を含む。インタフェース437は、図13に示すように例えばボタンのアイコンである。モニタ4のオペレータは、個別性能画面431に対し、マーク436で選択中のラウンドグローバルモデル51に対し、学習続行のインタフェース437を選択する。サーバ3の処理部30はこの操作を受けて、学習条件の変更がないとして(S508:NO)、選択されたグローバルモデル51をノードへ配布し(S510)、処理を続行する。 The individual performance screen 431 includes an interface 437 for continuing learning thereafter. The interface 437 is, for example, a button icon, as shown in FIG. 13. The operator on the monitor 4 selects the interface 437 for continuing learning for the round global model 51 selected with the mark 436 on the individual performance screen 431. In response to this operation, the processing unit 30 of the server 3 determines that there have been no changes to the learning conditions (S508: NO), distributes the selected global model 51 to the node (S510), and continues processing.

個別性能画面431は、マーク436ではなく、詳細画面435中でラウンド数を選択してもよい。 In the individual performance screen 431, the number of rounds may be selected in the details screen 435 instead of the mark 436.

個別性能画面431は、更新を停止し、学習を終了させるためのインタフェース438を含む。インタフェース438は、図13に示すように、例えばボタンのアイコンである。インタフェース438は、リンクが張られたテキストであってもよい。モニタ4のオペレータは、個別性能画面431に対し、総評価値を基に、マーク436で選択中のグローバルモデル51で、学習を終了させるインタフェース438を選択する。サーバ3の処理部30はこの操作を受けて、選択されたグローバルモデル51を配布可能なグローバルモデル51として記憶する(S511)。 The individual performance screen 431 includes an interface 438 for stopping updates and terminating learning. The interface 438 is, for example, a button icon, as shown in FIG. 13. The interface 438 may also be linked text. The operator of the monitor 4 selects the interface 438 for terminating learning with the global model 51 selected with the mark 436 on the individual performance screen 431, based on the total evaluation value. In response to this operation, the processing unit 30 of the server 3 stores the selected global model 51 as a distributable global model 51 (S511).

個別性能画面431は、選択中のバージョン情報の各ラウンドの評価値の詳細を表示するためのインタフェース439を含む。モニタ4のオペレータがインタフェース439を選択すると、総評価値及び各ノード1からの評価値の具体的数値が出力される。図14は、評価値の詳細画面440の一例を示す。図14の詳細画面440には、更新(ラウンド)の都度に算出される総評価値及び各ノードからの評価値(S504)を、各ラウンドのラウンド情報と対応付けて表す一覧441を含む。一覧441には、更新日時が対応付けられていてもよい。 The individual performance screen 431 includes an interface 439 for displaying details of the evaluation value for each round of the selected version information. When the operator of the monitor 4 selects the interface 439, the total evaluation value and specific numerical values of the evaluation value from each node 1 are output. FIG. 14 shows an example of an evaluation value details screen 440. The details screen 440 in FIG. 14 includes a list 441 that shows the total evaluation value and the evaluation value from each node (S504) calculated each time an update (round) is performed, in association with the round information for each round. The list 441 may also be associated with the update date and time.

図13の個別性能画面431に戻って説明を続ける。個別性能画面431は、学習を中断するためのインタフェース442を含む。インタフェース442は、図13に示すように、ボタンのアイコンである。モニタ4のオペレータは、個別性能画面431に対し、これ以上学習を進めても、精度に対応する総評価値が配布可能な条件を満たさない様子であることを確認すると、学習を中断するためのインタフェース442を選択する。サーバ3の処理部30はこの操作を受けて、図11及び図12のフローチャートに示した処理手順を中断する。 Returning to the individual performance screen 431 in FIG. 13, the explanation will continue. The individual performance screen 431 includes an interface 442 for interrupting learning. As shown in FIG. 13, the interface 442 is a button icon. When the operator of the monitor 4 confirms on the individual performance screen 431 that further learning does not seem to satisfy the conditions for distribution, the operator selects the interface 442 for interrupting learning. In response to this operation, the processing unit 30 of the server 3 interrupts the processing procedure shown in the flowcharts of FIG. 11 and FIG. 12.

第2の実施形態の個別性能画面431は、そのバージョンのグローバルモデル51に対する各ノードにおける評価値を、視覚化したノード画面443を含む。ノード画面443には、グローバルモデル51に対応し、マーク436で選択されているラウンド情報を示すテキストを含んだ角丸矩形のグラフィックが含まれている。グローバルモデル51に対応するグラフィックには、そのラウンド数における総評価値を示すテキストが添えられるようにして表示されている。ノード画面443は、グローバルモデル51に対応するグラフィックにエッジを介して接続するように、各ノード1を識別するテキスト(A,B,C,…)を含む角丸矩形のグラフィックを含む。各ノード1に対応するグラフィックには、各ノード1におけるそのラウンド数のグローバルモデル51に対する評価値を示すテキストが添えられるようにして表示されている。各ノード1に対応するグラフィックには、各ノード1におけるローカルモデル52の性能履歴に対するリンクが対応付けられている。 The individual performance screen 431 of the second embodiment includes a node screen 443 that visualizes the evaluation value at each node for the global model 51 of that version. The node screen 443 includes a rounded rectangular graphic that corresponds to the global model 51 and includes text indicating the round information selected by the mark 436. The graphic corresponding to the global model 51 is displayed with text indicating the total evaluation value for that round number. The node screen 443 includes a rounded rectangular graphic that includes text (A, B, C, ...) identifying each node 1 so as to connect to the graphic corresponding to the global model 51 via an edge. The graphic corresponding to each node 1 is displayed with text indicating the evaluation value for the global model 51 for that round number at each node 1. The graphic corresponding to each node 1 is associated with a link to the performance history of the local model 52 at each node 1.

このように、各ノード1の評価値が視覚化され、オペレータはモデル学習システム100における全体の学習状況を把握することができる。 In this way, the evaluation value of each node 1 is visualized, allowing the operator to grasp the overall learning situation in the model learning system 100.

図15は、学習条件の編集画面の例を示す。図15は、図14の個別性能画面431のノード画面443上でいずれかのノード1が選択された場合に表示される編集画面444の例を示す。編集画面444は、学習条件の変更を受け付けるインタフェースに対応する。図15において編集画面444は、ノード1を選択した場合に、メニュー画面のように表示され、選択中のノード1を、グローバルモデル51の更新のために使用するローカルモデル52を学習するノード1から除外するか否かが選択できる。編集画面444は、図15の例ではメニュー画面の態様で表示されているが、これに限られない。 Figure 15 shows an example of an editing screen for learning conditions. Figure 15 shows an example of an editing screen 444 that is displayed when any node 1 is selected on the node screen 443 of the individual performance screen 431 in Figure 14. The editing screen 444 corresponds to an interface that accepts changes to the learning conditions. In Figure 15, the editing screen 444 is displayed like a menu screen when node 1 is selected, and it is possible to select whether or not to exclude the selected node 1 from the nodes 1 that learn the local model 52 used to update the global model 51. In the example of Figure 15, the editing screen 444 is displayed in the form of a menu screen, but is not limited to this.

モニタ4のオペレータは、ノード画面443に対する操作で表示される編集画面444で、学習条件を変更し、変更後の学習条件、例えば「ノードD」のノード1によるローカルモデル52を、除外するという条件で、個別性能画面431のインタフェース437にて学習を続行することができる。 The operator of monitor 4 can change the learning conditions on edit screen 444, which is displayed by operating node screen 443, and continue learning on interface 437 of individual performance screen 431 under the changed learning conditions, for example, excluding local model 52 by node 1 of "node D".

学習条件の編集画面444は、図15に示すように、ローカルモデル52を学習していく上での学習回数等の学習を終了する条件の設定を受け付けるメニューを含んでもよい。 The learning condition editing screen 444 may include a menu for accepting settings of conditions for terminating learning, such as the number of learning times when learning the local model 52, as shown in FIG. 15.

図16は、第2の実施形態のモデル学習の概要図である。図16の概要図では、更新後の第n+1次グローバルモデル51の更新時に、各回の更新(ラウンド)後の第n次グローバルモデル51が、モニタ4を介してオペレータによって選択された場合の更新の履歴を示している。図1のモデル学習システムの概要図と比較して、グローバルモデル51は常に、更新されるものが連綿と採用されるのではないことが示されている。これにより、精度が良くなるように分散学習を進めることが可能になる。 Figure 16 is a schematic diagram of model learning in the second embodiment. The schematic diagram in Figure 16 shows the update history when the nth global model 51 after each update (round) is selected by the operator via the monitor 4 when updating the n+1th global model 51 after the update. Compared to the schematic 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. This makes it possible to proceed with distributed learning so as to improve accuracy.

(第3の実施形態)
第3の実施形態では、ノード1においてローカルモデル52の学習中に性能評価を算出してサーバ3へ送信し、サーバ3を介してモニタ4から各ノード1におけるローカルモデル52の精度を閲覧できるようにする。
Third Embodiment
In the third embodiment, a performance evaluation is calculated while the local model 52 is being trained at the node 1 and transmitted to the server 3, so that the accuracy of the local model 52 at each node 1 can be viewed from the monitor 4 via the server 3.

第3の実施形態におけるモデル学習システム100の構成は、第1及び第2の実施形態における構成と同様であるから、第1及び第2の実施形態におけるモデル学習システム100と共通する構成については同一の符号を付して詳細な説明を省略する。 The configuration of the model learning system 100 in the third embodiment is similar to that in the first and second embodiments, so the same reference numerals are used for the configuration common to the model learning system 100 in the first and second embodiments, and detailed descriptions are omitted.

第3の実施形態では、ノード1はそれぞれ、学習過程及びローカルモデル52の履歴を記憶する。図17は、第3の実施形態におけるノードのローカルモデル52の学習処理手順の一例を示すフローチャートである。図17のフローチャートに示す処理手順の内、第1の実施形態の図6のフローチャートに示した処理手順と共通する手順については、同一のステップ番号を付して詳細な説明を省略する。 In the third embodiment, each node 1 stores the learning process and the history of the local model 52. FIG. 17 is a flowchart showing an example of a learning process procedure for the local model 52 of a node in the third embodiment. Among the process procedures shown in the flowchart of FIG. 17, the same step numbers are used for the steps common to the process procedures shown in the flowchart of FIG. 6 of the first embodiment, and detailed descriptions thereof are omitted.

ノード1の処理部10は、配布されたグローバルモデル51に基づく学習を実行し(S301-S304)、S305でYESと判断されるまで、あるいはステップS301-S304の繰り返し回数が所定回数となる都度に、学習の結果得られる性能評価を、ローカルモデル52の学習の進行具合を示すデータと対応付けて記憶する(ステップS311)。ステップS311で処理部10は、ローカルデータを入力した場合の出力データがトレーニングデータと合致する精度を、性能評価として算出してよい。ステップS311において処理部10は、配布されたグローバルモデル51のラウンド情報に対するステップS301-S304の繰り返し回数、又は精度を学習の進行具合を示すデータ(マイナーアップデート)として記憶してもよい。 The processing unit 10 of node 1 executes learning based on the distributed global model 51 (S301-S304), and stores the performance evaluation obtained as a result of the learning in association with data indicating the progress of the learning of the local model 52 (step S311) until YES is determined in S305 or each time the number of times steps S301-S304 are repeated reaches a predetermined number of times. In step S311, the processing unit 10 may calculate the accuracy with which the output data when local data is input matches the training data as the performance evaluation. In step S311, the processing unit 10 may store the number of times steps S301-S304 are repeated for the round information of the distributed global model 51, or the accuracy, as data indicating the progress of the learning (minor update).

処理部10は、ステップS305で学習完了条件を満たすと判断された場合(S305:YES)、学習後のローカルモデル52を、配布されたグローバルモデル51のラウンド情報と対応付けて記憶する(ステップS312)。 If the processing unit 10 determines in step S305 that the learning completion condition is met (S305: YES), it stores the learned local model 52 in association with the round information of the distributed global model 51 (step S312).

処理部10は、記憶したローカルモデル52及びステップS311で記憶した性能評価を、ラウンド情報と対応付けてサーバ3へ送信し(ステップS313)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習された各ラウンドにおけるローカルモデル52、及びその個々の性能評価を取得することができる。 The processing unit 10 transmits the stored local model 52 and the performance evaluation stored in step S311 to the server 3 in association with the round information (step S313), and ends the process. This enables the server 3 to acquire the local model 52 learned from the local data in each round and its individual performance evaluation from each of the multiple nodes 1.

ステップS311の性能評価の算出及び記憶は、ステップS304の学習の都度ではなく、学習が学習完了条件を満たすと判断されて終了した後に(S305:YES)、実行されてもよい。 The calculation and storage of the performance evaluation in step S311 may be performed after the learning is determined to satisfy the learning completion condition and is terminated (S305: YES), rather than each time the learning in step S304 is performed.

サーバ3では、ノード1からローカルモデル52と共に送信されるラウンド情報及び性能評価等の情報を記憶する。図18は、第3の実施形態におけるグローバルモデル51の更新処理の一例を示すフローチャートである。第3の実施形態のサーバ3は、第2の実施形態同様に、図11及び図12のフローチャートに示した処理手順を実行する。この中で、第3の実施形態におけるサーバは、ステップS4で以下に示す処理手順を実行する。図18のフローチャートに示す処理手順のうち、第1の実施形態の図7のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 The server 3 stores information such as round information and performance evaluation transmitted from the node 1 together with the local model 52. FIG. 18 is a flowchart showing an example of the update process of the global model 51 in the third embodiment. The server 3 in the third embodiment executes the processing procedures shown in the flowcharts of FIG. 11 and FIG. 12, as in the second embodiment. Among these, the server in the third embodiment executes the processing procedures shown below in step S4. Among the processing procedures shown in the flowchart of FIG. 18, the steps common to the processing procedures shown in the flowchart of FIG. 7 of the first embodiment are assigned the same step numbers and detailed explanations are omitted.

サーバ3の処理部30は、ノード1から送信されるローカルモデル52、及び性能評価をラウンド情報と対応付けて取得する(ステップS411)。処理部30は、取得したローカルモデル52及び性能評価を、ラウンド情報と対応付けて記憶する(ステップS412)。処理部30は、ローカルモデル52及びノード1の識別データと共に対応付けて記憶してもよい。処理部30は、ステップS403の処理を実行する。 The processing unit 30 of the server 3 acquires the local model 52 and performance evaluation transmitted from the node 1 in association with the round information (step S411). The processing unit 30 stores the acquired local model 52 and performance evaluation in association with the round information (step S412). The processing unit 30 may also store the local model 52 and performance evaluation in association with the identification data of the node 1. The processing unit 30 executes the process of step S403.

このようにサーバ3の処理部30は、ローカルモデル52をノード1から取得する際に、性能評価を取得し、バージョン別、ラウンド毎に記憶することができる。 In this way, when the processing unit 30 of the server 3 obtains the local model 52 from the node 1, it can obtain the performance evaluation and store it by version and by round.

これらのノード1から集約したローカルモデル52における学習の精度の推移を含むデータは、サーバ3は、図11及び図12のフローチャートにおけるステップ505の処理にてモニタ4へ出力する、更新したグローバルモデル51の更新履歴の中で出力される。 The data including the progress of the learning accuracy in the local model 52 aggregated from these nodes 1 is output by the server 3 to the monitor 4 in the processing of step 505 in the flowcharts of Figures 11 and 12, and is output in the update history of the updated global model 51.

図19は、ローカルモデル52の性能履歴画面445を示す。図19は、図13に示したグローバルモデル51の個別性能画面431において、ノード画面443に含まれる複数のノード1のグラフィックのいずれかが選択された場合に表示される。図19は、「ノードA」のノード1に対応するグラフィックが選択された場合に表示される例を示す。 Figure 19 shows the performance history screen 445 of the local model 52. Figure 19 is displayed when one of the graphics of multiple nodes 1 included in the node screen 443 is selected on the individual performance screen 431 of the global model 51 shown in Figure 13. Figure 19 shows an example that is displayed when the graphic corresponding to node 1 of "node A" is selected.

ローカルモデル52の性能履歴画面445は、異なるバージョンのグローバルモデル51に対して算出された性能評価の値の一覧を含む。性能履歴画面445は、選択されたノード1における各バージョンのローカルモデル52に対する精度(性能)の推移を示すグラフを出力する。性能履歴画面445は、更新中のグローバルモデル51に対応するローカルモデル52については、最新のラウンドに対する評価値が出力されている。図19の例では、「ノードA」のノード1では、ローカルモデル52の評価値が、バージョン1.0からバージョン4.0へ進むにつれ、「0.29」から順次「0.80」へ順調に増加していることが示されている。性能履歴画面445は、図14に示したような表形式で、バージョン別に、各ノード1におけるローカルモデル52に対するラウンド毎の性能評価値を出力するようにしてもよい。 The performance history screen 445 of the local model 52 includes a list of performance evaluation values calculated for different versions of the global model 51. The performance history screen 445 outputs a graph showing the progress of the accuracy (performance) for each version of the local model 52 in the selected node 1. The performance history screen 445 outputs the evaluation value for the latest round for the local model 52 corresponding to the global model 51 being updated. In the example of FIG. 19, it is shown that in the node 1 of "node A", the evaluation value of the local model 52 increases smoothly from "0.29" to "0.80" as it progresses from version 1.0 to version 4.0. The performance history screen 445 may output the performance evaluation value for each round for the local model 52 in each node 1 by version in a table format as shown in FIG. 14.

これにより、オペレータが、各ノード1における評価値を参照し、より精度が良くなるように分散学習を進めることが可能になる。 This allows the operator to refer to the evaluation values at each node 1 and proceed with 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の実施形態の図5のフローチャートに示した処理手順、第2の実施形態の図11及び図12のフローチャートに示した処理手順、の内のいずれかの学習処理手順を実行する。第4の実施形態では、それらの処理手順の内、ステップS4の更新処理が異なる。また、更新処理が異なることに対応して、ノード1から送信されるデータ内容も第1の実施形態での説明と異なる。 In the model learning system 100 of the fourth embodiment, the server 3 executes one of the learning processing procedures shown in the flowchart of FIG. 5 of the first embodiment and the processing procedures shown in the flowcharts of FIG. 11 and FIG. 12 of the second embodiment. In the fourth embodiment, among these processing procedures, the update processing of step S4 is different. In addition, in response to the difference in the update processing, the contents of the data transmitted from the node 1 are also different from those described in the first embodiment.

図20は、第4の実施形態のローカルモデル52の学習処理手順の一例を示すフローチャートである。図20のフローチャートに示す処理手順の内、第1の実施形態における図6のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 Figure 20 is a flowchart showing an example of a learning process procedure for the local model 52 of the fourth embodiment. Among the process procedures shown in the flowchart of Figure 20, 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)、ローカルデータのデータ量(データ件数)を算出し(ステップS323)、処理をステップ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 S323), and proceeds to step S304.

ノード1の処理部10は、学習を実行する都度(S304)、学習量を算出し(ステップS324)、学習完了条件を満たすか否かを判断する(ステップS305)。ステップS324において処理部10は、学習の繰り返し回数を学習量として算出してもよいし、前回のバージョンにおけるローカルモデル52からの精度の向上度合いを学習量として算出してもよいし、ローカルモデル52の変化量を学習量として算出してもよい。 Each time learning is performed (S304), the processing unit 10 of node 1 calculates the amount of learning (step S324) and determines whether the learning completion condition is met (step S305). In step S324, 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 previous version of the local model 52 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と共に、ステップS323で算出したデータ量、又は、カウントされている学習量をサーバ3へ送信し(ステップS327)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52と共に、元となるローカルデータのデータ量、又は、学習量を取得することができる。 The processing unit 10 of the node 1 transmits the amount of data calculated in step S323 or the amount of learning counted together with the trained local model 52 to the server 3 (step S327), 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.

第4の実施形態では、各ノード1におけるローカルモデル52の学習量、学習のために使用されたデータのデータ量等を加味した重み付けが、オペレータから可能である。図21は、第4の実施形態のグローバルモデル51の更新処理の一例を示すフローチャートである。図21のフローチャートに示す処理手順の内、第1の実施形態の図7のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 In the fourth embodiment, the operator can assign weights that take into account the amount of learning of the local model 52 at each node 1, the amount of data used for learning, and the like. FIG. 21 is a flowchart showing an example of a process for updating the global model 51 in the fourth embodiment. Among the process steps shown in the flowchart in FIG. 21, those steps that are common to the process steps shown in the flowchart in FIG. 7 of the first embodiment are given the same step numbers and detailed descriptions are omitted.

サーバ3の処理部30は、各ノード1から送信されるローカルモデル52、及び、データ量又は学習量を取得し(ステップS421)、ノード1の識別データと対応付けてローカルモデル52、及び、データ量又は学習量を記憶する(ステップS422)。ステップ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 S421), and stores the local model 52 and the amount of data or learning in association with the identification data of the node 1 (step S422). 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に対する、データ量又は学習量に基づく重みを初期的に算出する(ステップS423)。 When the processing unit 30 determines that it is time to update (S403: YES), the processing unit 30 of the server 3 initially calculates weights based on the amount of data or the amount of learning for the local models 52 from multiple nodes 1 (step S423).

サーバ3の処理部30は、各ノード1におけるデータ量及び/又は学習量、並びに初期的に算出した重みを出力し(ステップS424)、重みの設定(編集)を受け付ける(ステップS425)。 The processing unit 30 of the server 3 outputs the amount of data and/or the amount of learning at each node 1, as well as the initially calculated weights (step S424), and accepts the setting (editing) of the weights (step S425).

処理部30は、初期的に算出した重み、又はステップS425で受け付けた重みを用い、各ノード1で学習されたローカルモデル52の加重平均を求める(ステップS426)。処理部30は、ローカルモデル52の加重平均を、新たなグローバルモデル51として更新する(ステップS427)。 The processing unit 30 uses the initially calculated weights or the weights received in step S425 to calculate a weighted average of the local models 52 learned at each node 1 (step S426). The processing unit 30 updates the weighted average of the local models 52 as a new global model 51 (step S427).

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

サーバ3は、更新が所定回数に到達するまで、又は、更新後のグローバルモデル51の精度が所定の基準を満たすまで、図21のフローチャートに示した更新処理を継続する。繰り返し更新処理を実行するに際し、ステップS425の受付処理は、1度実行された後はスキップされてもよい。 The server 3 continues the update process shown in the flowchart of FIG. 21 until the update has been performed a predetermined number of times or until the accuracy of the updated global model 51 meets a predetermined standard. When repeatedly performing the update process, the reception process of step S425 may be skipped after being performed once.

図22は、各ノードの重みの編集画面446を示す。編集画面446は、図21のフローチャートに示したグローバルモデル51の更新中に、サーバ3のステップS424の処理によってモニタ4の表示部43に表示される。重みの編集画面446は、各ノード1におけるローカルデータのデータ量(データ件数)を含む。重みの編集画面446は、ノード1毎に初期的に、データ量を基に算出された重みを、編集可能に含んでいる。図22の例では、モニタ4を操作するオペレータは、各ノード1におけるローカルデータを参照しながら、加重平均を算出するための重みの調整が可能である。このとき、重みを0(ゼロ)に設定することで特定のノード1を除外して、サーバ3に加重平均を算出させることも可能である。 Figure 22 shows an editing screen 446 for the weights of each node. The editing screen 446 is displayed on the display unit 43 of the monitor 4 by the processing of step S424 of the server 3 during the update of the global model 51 shown in the flowchart of Figure 21. The weight editing screen 446 includes the amount of local data (number of data items) in each node 1. The weight editing screen 446 includes an editable weight that is initially calculated for each node 1 based on the amount of data. In the example of Figure 22, the operator operating the monitor 4 can adjust the weights for calculating the weighted average while referring to the local data in each node 1. At this time, it is also possible to exclude a specific node 1 by setting the weight to 0 (zero) and have the server 3 calculate the weighted average.

第4の実施形態では、グローバルモデル51の更新(ラウンド)の都度、重み係数を出力し、変更を受け付け可能としたが、1つのバージョン中は1回だけ、編集画面446を表示させるようにしてもよい。同一のバージョンの中で、重み係数を変更しなくてもよい。 In the fourth embodiment, the weighting coefficients are output and changes can be accepted each time the global model 51 is updated (round), but the editing screen 446 may be displayed only once in one version. The weighting coefficients do not need to be changed within the same version.

第4の実施形態における更新方法によって、データ量が異なるローカルデータによって学習されたモデルを、データ量に応じて扱い、適切に評価することが可能になる。実施の形態4の更新方法は、第2又は第3の実施形態にも適用できる。 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. The update method in the fourth embodiment can also be applied to the second or third embodiment.

第4の実施形態では、各ノード1からローカルモデル52の学習の都度に、サーバ3が、その時点でのローカルデータのデータ量、又は、学習量を取得することができるから、グローバルモデル51の性能を出力する際に、それらのデータを出力することが可能である。図23は、第4の実施形態におけるグローバルモデル51の個別性能を視覚化した個別性能画面431の一例を示す。図23に示す個別性能画面431では、図13に示した画面と異なり、選択されたバージョンのグローバルモデル51の性能を示す詳細画面435に、学習に使用されたデータ件数の情報が含まれる。 In the fourth embodiment, each time the local model 52 is learned from each node 1, the server 3 can obtain the amount of local data or the amount of learning at that time, and can output this data when outputting the performance of the global model 51. Figure 23 shows an example of an individual performance screen 431 that visualizes the individual performance of the global model 51 in the fourth embodiment. In the individual performance screen 431 shown in Figure 23, unlike the screen shown in Figure 13, the details screen 435 showing the performance of the selected version of the global model 51 includes information on the number of data items used for learning.

このように、サーバ3が各ノード1からデータ量等の情報をも取得することにより、データ量が少ない環境においても、オペレータの知見に基づき、ローカルモデル52の学習情報を用いてグローバルモデル51を最適化することが期待できる。 In this way, the server 3 can obtain information such as data volume from each node 1, so that even in an environment with a small amount of data, it is expected that the global model 51 can be optimized using the learning information of the local model 52 based on the operator's knowledge.

(第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.

図24は、第5の実施形態のモデル学習システム100の概要図である。第5の実施形態におけるモデル学習システム100の構成は基本的に、第1の実施形態のモデル学習システム100と同様である。第5の実施形態のモデル学習システム100の内、第1の実施形態のモデル学習システム100と共通する構成については同一の符号を付して詳細な説明を省略する。 Figure 24 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及び情報処理装置は、患者の眼底写真を撮影する撮影装置7から得られる画像データを取得できる。ノード1が設けられている医療施設では、撮影装置7は記憶装置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 7 that takes fundus photographs of patients. In the medical facility where the node 1 is provided, the imaging device 7 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.

図25は、第5の実施形態のモデル学習システム100における学習処理手順の一例を示すフローチャートである。 Figure 25 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は、更新したグローバルモデル51に対する性能評価値を、異なるアーキテクチャ毎に、算出する(ステップS205)。サーバ3は、ステップS205において、特定のノード1におけるローカルデータの入力データを異なるアーキテクチャのグローバルモデル51に入力した場合に、対応する出力データに対する精度を評価値として算出してもよい。ステップS205においてサーバ3は、第2の実施形態に示したように、各ノード1に更新後のグローバルモデル51を送信し、各ノード1から評価値を取得し、総評価値を算出してもよい。 The server 3 calculates a performance evaluation value for the updated global model 51 for each different architecture (step S205). In step S205, 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 calculate the accuracy of the corresponding output data as an evaluation value. In step S205, the server 3 may transmit the updated global model 51 to each node 1, obtain evaluation values from each node 1, and calculate a total evaluation value, as shown in the second embodiment.

サーバ3は、算出した性能評価値を、更新回数に対応するラウンド情報、及びアーキテクチャを識別するデータと対応付けて記憶部31に記憶する(ステップS206)。バージョン情報は、更新回数のみならず、日時等であってもよい。サーバ3は、第0次から最初の数ラウンドにおいては、ステップS205、S206の処理を省略してもよい。 The server 3 stores the calculated performance evaluation value in the storage unit 31 in association with round information corresponding to the number of updates and data identifying the architecture (step S206). The version information may be not only the number of updates but also the date and time, etc. The server 3 may omit the processing of steps S205 and S206 in the first few rounds from the 0th round.

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

ステップS207についてサーバ3は例えば、更新回数(ラウンド数)が所定回数に到達したか否かで判断する。サーバ3は、特定のノード1におけるローカルデータの入力データを異なるアーキテクチャのグローバルモデル51に入力した場合に、いずれか複数のグローバルモデル51において、対応する出力データを出力する精度が所定の条件を満たすか否かで判断してもよい。学習の終了条件は、第2の実施形態で示したように、各ノード1へ送信したグローバルモデル51に対する評価値から総評価値を算出し、総評価値が所定の基準を満たすことであってもよい。 In step S207, 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 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 condition for ending learning may be, as shown in the second embodiment, 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.

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

学習完了条件を満たすと判断された場合(S207:YES)、サーバ3は、更新後の各アーキテクチャのグローバルモデル51から、1又は複数、配布可能なグローバルモデル51として選択する(ステップS209)。ステップS209においてサーバ3は、精度が比較的高い1又は複数のグローバルモデル51を選択する。 If it is determined that the learning completion condition is met (S207: 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 S209). In step S209, the server 3 selects one or more global models 51 that have relatively high accuracy.

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

これにより、各医療施設の画像データに対しての精度が高く、実用性が高いアーキテクチャのモデルを、各医療施設で使用することができる。 This allows each medical facility to use a highly accurate and practical architecture model for their image data.

図26は、第5の実施形態におけるローカルモデル52の学習処理手順の一例を示すフローチャートである。図26のフローチャートに示す処理は、サーバ3がステップS202又はステップS206でグローバルモデル51を配布した場合に、複数のノード1夫々で実行する処理である。図26のフローチャートに示す処理手順の内、第1の実施形態の図6のフローチャートに示した処理手順と共通する手順については同一の符号を付して詳細な説明を省略する。 Figure 26 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 26 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 26, 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として、アーキテクチャを識別するデータと対応付けて記憶する(ステップS336)。 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 S336).

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

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

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

図27は、第5の実施形態のグローバルモデル51の更新処理の一例を示すフローチャートである。図27のフローチャートに示す処理手順は、図25のフローチャートに示した処理手順の内のステップS204の詳細に対応する。 Figure 27 is a flowchart showing an example of the update process of the global model 51 in the fifth embodiment. The process procedure shown in the flowchart of Figure 27 corresponds to the details of step S204 in the process procedure shown in the flowchart of Figure 25.

サーバ3の処理部30は、ノード1から送信されるアーキテクチャ毎のローカルモデル52、及び装置データを取得する(ステップS431)。処理部30は、取得したアーキテクチャ毎のローカルモデル52及び装置データを対応付けて記憶する(ステップS432)。ステップS432において処理部30は、ノード1の識別コード別にローカルモデル52を記憶してもよい。 The processing unit 30 of the server 3 acquires the local model 52 for each architecture and the device data transmitted from the node 1 (step S431). The processing unit 30 associates and stores the acquired local model 52 for each architecture and the device data (step S432). In step S432, the processing unit 30 may store the local model 52 for each identification code of the node 1.

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

更新すべきであると判断された場合(S433:YES)、サーバ3の処理部30は、複数のノード1におけるデータの特性として、データ量及び装置データを出力し(ステップS434)、重みの設定(編集)を受け付ける(ステップS435)。 If it is determined that an update is required (S433: YES), the processing unit 30 of the server 3 outputs the data volume and device data as the characteristics of the data in the multiple nodes 1 (step S434) and accepts the setting (editing) of the weights (step S435).

処理部30は、ステップS425で受け付けた重みを用い、各ノード1で学習されたローカルモデル52の加重平均を、アーキテクチャ毎に求める(ステップS436)。処理部30は、ローカルモデル52の加重平均を、アーキテクチャ毎に、新たなグローバルモデル51として更新する(ステップS437)。 The processing unit 30 uses the weights received in step S425 to calculate the weighted average of the local models 52 learned by each node 1 for each architecture (step S436). The processing unit 30 updates the weighted average of the local models 52 for each architecture as a new global model 51 (step S437).

処理部30は、更新後のグローバルモデル51を、アーキテクチャ毎に、ラウンド情報を示すデータと対応付けて記憶し(ステップS438)、グローバルモデル51の更新処理を終了する。 The processing unit 30 stores the updated global model 51 in association with data indicating round information for each architecture (step S438), and ends the update process of the global model 51.

図28は、第5の実施形態における重みの編集画面446を示す。編集画面446は、図27のフローチャートで示したグローバルモデル51の更新中に、サーバ3のステップS434の処理によってモニタ4の表示部43に表示される。重みの編集画面446は、各ノード1におけるローカルデータのデータ量(データ件数)、及びローカルデータを出力する装置の型番の名前を含む。図28の例では、モニタ4を操作するオペレータは、各ノード1におけるローカルデータのデータ量、学習に用いられたローカルデータを出力する撮影装置7の型番を参照しながら、加重平均を算出するための重みの調整が可能である。このとき、重みを0(ゼロ)に設定することで特定のノード1を除外して、サーバ3に加重平均を算出させることも可能である。 Figure 28 shows a weight editing screen 446 in the fifth embodiment. The editing screen 446 is displayed on the display unit 43 of the monitor 4 by the process of step S434 of the server 3 during the update of the global model 51 shown in the flowchart of Figure 27. The weight editing screen 446 includes the amount of local data (number of data items) in each node 1 and the model name of the device that outputs the local data. In the example of Figure 28, the operator operating the monitor 4 can adjust the weights for calculating the weighted average while referring to the amount of local data in each node 1 and the model number of the imaging device 7 that outputs the local data used in learning. At this time, it is also possible to exclude a specific node 1 by setting the weight to 0 (zero) and have the server 3 calculate the weighted average.

第5の実施形態では、グローバルモデル51の更新(ラウンド)の都度、重み係数を出力し、変更を受け付け可能としたが、1つのバージョン中は1回だけ、編集画面446を表示させるようにしてもよい。同一のバージョンの中で、重み係数を変更しなくてもよい。 In the fifth embodiment, the weighting coefficients are output and changes can be accepted each time the global model 51 is updated (round), but the editing screen 446 may be displayed only once in one version. The weighting coefficients do not need to be changed within the same version.

第5の実施形態における更新方法によって、データの特性が異なるローカルデータによって学習されたモデルを、データの特性に応じて適切に評価することが可能になる。また、異なるデータ特性のローカルモデル52を単純平均するよりも、グローバルモデル51の性能の向上が期待できる。実施の形態5の更新方法は、第2~第4の実施形態と組み合わせることも可能である。 The update method in the fifth embodiment makes it possible to appropriately evaluate a model trained using local data with different data characteristics according to the characteristics of the data. In addition, it is expected that the performance of the global model 51 will be improved compared to a simple average of local models 52 with different data characteristics. The update method in the fifth embodiment can also be combined with the second to fourth embodiments.

データの特性はその他、ローカルデータに対するアノテーションの正確性についての評価を、各ノード1で記憶しておき、サーバ3は、その評価の高低に応じた重みによって加重平均を算出してもよい。アノテーションの正確性についての評価は、モニタ4の管理者によって実行されてもよい。 As another data characteristic, an evaluation of the accuracy of annotations for local data may be stored at each node 1, and the server 3 may calculate a weighted average with weights according to the high or low of the evaluation. The evaluation of the accuracy of annotations may be performed by an administrator of the monitor 4.

第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の実施形態における更新方法によって、異なるアーキテクチャのCNNのいずれを用いたグローバルモデル51が最も適切であるかが評価されて実用可能となる。 In addition, the update method in the fifth embodiment allows the 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 処理部
13 表示部
14 操作部
2 記憶装置
3 サーバ
30 処理部
31 記憶部
3P サーバプログラム
4 モニタ
40 処理部
43 表示部
44 操作部
51 グローバルモデル
52 ローカルモデル
Reference Signs List 1 Node 10 Processing section 13 Display section 14 Operation section 2 Storage device 3 Server 30 Processing section 31 Storage section 3P Server program 4 Monitor 40 Processing section 43 Display section 44 Operation section 51 Global model 52 Local model

Claims (11)

サーバに記憶するグローバルモデルのデータを複数のノードに対して配布し、
前記複数のノードで処理するローカルデータによって前記グローバルモデルを基に学習したローカルモデルのデータを取得し、
前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいて前記グローバルモデルのデータを更新し、
更新後のグローバルモデルのデータを更新回数に対応する更新情報と対応付けて記憶し、
前記グローバルモデルの性能評価値を算出し、
前記グローバルモデルのデータの配布、ローカルモデルのデータの取得、及びグローバルモデルのデータの更新を複数ラウンド繰り返し、
前記グローバルモデルのデータの更新の都度、前記グローバルモデルのデータ及び性能評価値を更新情報と対応付けて記憶し、
前記グローバルモデルの更新情報の指定と共に前記グローバルモデルの参照リクエストを受け付け、
前記参照リクエストに対し、算出された前記性能評価値に基づく前記グローバルモデルの性能の更新毎の推移を示す画面を表示するための画面データを作成し、
前記画面を前記参照リクエストのリクエスト元に出力させ
処理を含むモデル学習方法。
Distributing global model data stored in the server to multiple nodes;
acquiring data of a local model learned based on the global model by local data processed by the plurality of nodes;
updating data of the global model based on data of the local model after learning acquired from each of the plurality of nodes;
The updated global model data is stored in association with update information corresponding to the number of updates;
Calculating a performance evaluation value of the global model;
Repeating the distribution of the data of the global model, the acquisition of the data of the local model, and the update of the data of the global model for multiple rounds;
Each time the data of the global model is updated, the data and the performance evaluation value of the global model are stored in association with update information;
receiving a request to reference the global model together with a specification of update information for the global model;
creating screen data for displaying a screen showing a transition of performance of the global model for each update based on the calculated performance evaluation value in response to the reference request;
outputting the screen to a request source of the reference request .
前記サーバは、前記グローバルモデルの性能の推移を示す画面上で、前記グローバルモデルのデータの更新回数の指定、前記グローバルモデルのデータの更新停止の指示を受け付ける
請求項1に記載のモデル学習方法。
The model learning method according to claim 1 , wherein the server accepts, on a screen showing a transition in performance of the global model, a designation of the number of updates to the data of the global model and an instruction to stop updating the data of the global model.
前記サーバは、
前記複数のノード夫々に、ローカルデータに基づいて算出させた前記グローバルモデルの精度の評価値を取得し、
前記評価値に基づいて前記グローバルモデルの総合の性能評価値を算出し、
前記グローバルモデルの前記更新情報と対応付けて前記複数のノード夫々で算出された評価値と、前記総合の評価値とを示す性能画面を、前記参照リクエストのリクエスト元に出力させる
請求項1に記載のモデル学習方法。
The server,
obtaining an evaluation value of accuracy of the global model calculated based on local data for each of the plurality of nodes;
calculating an overall performance evaluation value of the global model based on the evaluation value ;
outputting, to a source of the reference request, a performance screen showing the evaluation values calculated at each of the plurality of nodes in association with the update information of the global model and the overall evaluation value;
The model training method according to claim 1 .
前記性能画面は、前記複数のノード夫々で算出された評価値を、前記グローバルモデルに対応するグラフィックに、エッジを介して接続する前記複数のノード夫々に対応するグラフィックを接続させて視覚化した画面を含むThe performance screen includes a screen in which the evaluation values calculated for each of the plurality of nodes are visualized by connecting a graphic corresponding to the global model with a graphic corresponding to each of the plurality of nodes connected via an edge.
請求項3に記載のモデル学習方法。The model learning method according to claim 3 .
前記サーバは、前記グローバルモデルの更新のために使用するローカルモデルの選択を受け付ける編集画面をノードに出力させるThe server causes the node to output an edit screen that accepts selection of a local model to be used for updating the global model.
請求項3に記載のモデル学習方法。The model learning method according to claim 3 .
前記サーバは、The server,
前記グローバルモデルの更新のために使用する複数のローカルモデルそれぞれに対する重みの設定を受け付ける編集画面をノードに出力させ、outputting to the node an edit screen for accepting settings of weights for each of a plurality of local models used for updating the global model;
設定された重みづけを用いて、前記複数のローカルモデルのデータで前記グローバルモデルのデータを更新するUsing the set weighting, the data of the global model is updated with the data of the plurality of local models.
請求項3に記載のモデル学習方法。The model learning method according to claim 3 .
前記サーバは、
再分配するグローバルモデルの選択を前記画面上で受け付け、
学習の進行に関わらず、選択されたグローバルモデルのデータを前記複数のノードへ再分配する
請求項1から請求項のいずれか1項に記載のモデル学習方法。
The server,
Accepting a selection of a global model to be redistributed on the screen ;
The model learning method according to claim 1 , further comprising the step of redistributing data of a selected global model to the plurality of nodes regardless of progress of learning.
前記サーバは、
前記複数のノードに、更新の都度、ローカルモデルの評価値を算出させ、
前記複数のノードに、前記ローカルモデルの学習に用いたローカルデータのデータ量、又は前記ローカルデータの特性を、前記ローカルモデルのデータと共に前記ローカルモデルの更新情報と対応付けて記憶させ、
記複数のノードから、ローカルモデルのデータと対応付けてデータ量又はデータの特性を取得し、
前記ローカルモデルの更新情報と対応付けられた評価値を、ノードに出力させる
請求項1から請求項6のいずれか1項に記載のモデル学習方法。
The server,
causing the plurality of nodes to calculate an evaluation value of a local model each time an update is performed;
storing, in the plurality of nodes, an amount of local data used in learning the local model or characteristics of the local data in association with update information of the local model together with data of the local model ;
acquiring a data amount or a data characteristic from the plurality of nodes in association with data of a local model ;
The node outputs an evaluation value associated with the update information of the local model.
The model learning method according to any one of claims 1 to 6 .
ローカルデータを各々処理する複数のノードと、該複数のノードから通信接続されるサーバとを含み、
前記サーバは、前記複数のノードへグローバルモデルのデータを配布し、
前記複数のノードは夫々、処理対象のローカルデータによって前記グローバルモデルからローカルモデルの学習を各々進め、
前記サーバが備える処理部は、
学習後の前記ローカルモデルのデータを前記複数のノードから取得し、
前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、
更新後のグローバルモデルのデータを更新回数に対応する更新情報と対応付けて記憶し、
前記グローバルモデルの性能評価値を算出し、
前記グローバルモデルのデータの配布、ローカルモデルのデータの取得、及びグローバルモデルのデータの更新を複数ラウンド繰り返し、
前記グローバルモデルのデータの更新の都度、前記グローバルモデルのデータ及び性能評価値を更新情報と対応付けて記憶し、
記グローバルモデルの参照リクエストをノードから受け付け、
前記参照リクエストに対し、算出された前記性能評価値に基づく前記グローバルモデルの性能の更新毎の推移を示す画面を表示するための画面データを作成し、
前記画面を前記参照リクエストのリクエスト元から出力させ
モデル学習システム。
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 processing unit included in the server includes:
acquiring data of the local model after training from the plurality of nodes;
updating data of a global model based on data of a local model after learning acquired from each of the plurality of nodes;
The updated global model data is stored in association with update information corresponding to the number of updates;
Calculating a performance evaluation value of the global model;
Repeating the distribution of the data of the global model, the acquisition of the data of the local model, and the update of the data of the global model for multiple rounds;
Each time the data of the global model is updated, the data and the performance evaluation value of the global model are stored in association with update information;
receiving a reference request for the global model from a node ;
creating screen data for displaying a screen showing a transition of performance of the global model for each update based on the calculated performance evaluation value in response to the reference request;
A model learning system that outputs the screen from the request source of the reference request .
複数のノードに通信接続が可能なコンピュータに、
記憶するグローバルモデルのデータを前記複数のノードに対して配布し、
前記複数のノード夫々で学習されたローカルモデルのデータを取得し、
前記複数のノード夫々から取得した学習後のローカルモデルのデータに基づいてグローバルモデルのデータを更新し、
更新後のグローバルモデルのデータを更新回数に対応する更新情報と対応付けて記憶し、
前記グローバルモデルの性能評価値を算出し、
前記グローバルモデルのデータの配布、ローカルモデルのデータの取得、及びグローバルモデルのデータの更新を複数ラウンド繰り返し、
前記グローバルモデルのデータの更新の都度、前記グローバルモデルのデータ及び性能評価値を更新情報と対応付けて記憶し、
記グローバルモデルの参照リクエストを受け付け、
前記参照リクエストに対し、算出された前記性能評価値に基づく前記グローバルモデルの性能の更新毎の推移を示す画面を表示するための画面データを作成し、
前記画面を前記参照リクエストのリクエスト元から出力させ
処理を実行させるコンピュータプログラム。
A computer that can communicate with multiple nodes.
Distributing the stored global model data to the plurality of nodes;
Acquire data of a local model trained at each of the plurality of nodes;
updating data of a global model based on data of a local model after learning acquired from each of the plurality of nodes;
The updated global model data is stored in association with update information corresponding to the number of updates;
Calculating a performance evaluation value of the global model;
Repeating the distribution of the data of the global model, the acquisition of the data of the local model, and the update of the data of the global model for multiple rounds;
Each time the data of the global model is updated, the data and the performance evaluation value of the global model are stored in association with update information;
receiving a request to reference the global model;
creating screen data for displaying a screen showing a transition of performance of the global model for each update based on the calculated performance evaluation value in response to the reference request;
a computer program that causes the screen to be output from a request source of the reference request .
サーバと通信接続されるコンピュータに、
前記サーバから配布されるグローバルモデルを基にして処理対象のローカルデータを用いたローカルモデルを学習し、
学習後のローカルモデルのデータを前記サーバへ送信し、
異なる更新情報が対応付けられた更新後のグローバルモデルの一覧を含む画面データを前記サーバから受信し、
受信した画面データに基づいて前記コンピュータに備えられる表示部に、前記一覧を表示し、
前記一覧の内のいずれかの更新情報の指定を受け付け、
指定された更新情報に対応するグローバルモデルの性能評価値に基づく前記グローバルモデルの性能の更新毎の推移を示す画面の画面データを前記サーバから取得し
取得した画面データに基づき、前記画面を表示する
処理を実行させるコンピュータプログラム。
The computer that is connected to the server
learning a local model using the local data to be processed based on the global model distributed from the server;
Transmitting data of the local model after training to the server;
receiving screen data including a list of updated global models associated with different update information from the server;
displaying the list on a display unit provided in the computer based on the received screen data;
Accepting a designation of any update information in the list,
acquiring from the server screen data of a screen showing a transition of performance of the global model for each update based on a performance evaluation value of the global model corresponding to the specified update information ;
A computer program that executes a process to display the screen based on the acquired screen data .
JP2020186618A 2020-11-09 2020-11-09 Model learning method, model learning system, and computer program Active JP7561005B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020186618A JP7561005B2 (en) 2020-11-09 2020-11-09 Model learning method, model learning system, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020186618A JP7561005B2 (en) 2020-11-09 2020-11-09 Model learning method, model learning system, and computer program

Publications (2)

Publication Number Publication Date
JP2022076275A JP2022076275A (en) 2022-05-19
JP7561005B2 true JP7561005B2 (en) 2024-10-03

Family

ID=81606557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020186618A Active JP7561005B2 (en) 2020-11-09 2020-11-09 Model learning method, model learning system, and computer program

Country Status (1)

Country Link
JP (1) JP7561005B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025104771A1 (en) * 2023-11-13 2025-05-22 日本電気株式会社 Information processing device, information processing system, information processing method, and program
CN120301779A (en) * 2024-01-11 2025-07-11 华为技术有限公司 A communication method and device
CN119135533B (en) * 2024-08-20 2025-11-18 中移(苏州)软件技术有限公司 A method and apparatus for optimizing server parameters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058848A (en) 2015-09-15 2017-03-23 日本電気株式会社 Information processing system, information processing method, and program
JP2019526851A (en) 2016-07-18 2019-09-19 ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC Distributed machine learning system, apparatus, and method
JP2020166681A (en) 2019-03-29 2020-10-08 株式会社日立製作所 Systems and methods to support model acceptance / rejection decisions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058848A (en) 2015-09-15 2017-03-23 日本電気株式会社 Information processing system, information processing method, and program
JP2019526851A (en) 2016-07-18 2019-09-19 ナント ホールディングス アイピー エルエルシーNant Holdings IP, LLC Distributed machine learning system, apparatus, and method
JP2020166681A (en) 2019-03-29 2020-10-08 株式会社日立製作所 Systems and methods to support model acceptance / rejection decisions

Non-Patent Citations (1)

* 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>

Also Published As

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

Similar Documents

Publication Publication Date Title
US11636497B1 (en) Computer network architecture with machine learning and artificial intelligence and risk adjusted performance ranking of healthcare providers
US20180144244A1 (en) Distributed clinical workflow training of deep learning neural networks
JP7561005B2 (en) Model learning method, model learning system, and computer program
US11276495B2 (en) Systems and methods for predicting multiple health care outcomes
JP6975692B2 (en) Method of presenting information related to the basis of the predicted value output by the computer system and the predictor.
JP7617724B2 (en) MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPU
US20210407694A1 (en) Healthcare network
EP3675138B1 (en) Medical imaging device control based on decision tree data structures
CN112074915A (en) Visualization of biomedical predictions
WO2021193815A1 (en) Machine learning system and method, integration server, information processing device, program, and inference model preparation method
JP2022076278A (en) Model learning method, model learning system, server device, and computer program
CN101421736A (en) Personalized prognosis modeling in medical treatment planning
WO2021106111A1 (en) Learning device, inference device, learning method, inference method, and program
JP7551458B2 (en) Model data providing method, model data providing system, server device, and computer program
KR102366206B1 (en) Apparatus for estimating radiologic report turnaround time on clinical setting and method thereof
JP7545297B2 (en) Model data provision method, model data provision system, and computer program
US12073940B2 (en) Extracting sales and upgrade opportunities from utilization data
WO2014150436A1 (en) Interactive healthcare modeling with continuous convergence
JP7401260B2 (en) Information processing system, information processing method and computer program
Englund et al. A crowdsourcing system for integrated and reproducible evaluation in scientific visualization
WO2025013521A1 (en) Patient care plan determination system and patient care plan determination method
JP2023025415A (en) Program, storage medium, system, learned model, and determination method
CN119170189B (en) Brain tumor diagnosis and treatment plan generation method and system that weighs knowledge base and model results
US20180315508A1 (en) Methods and apparatus for dynamic event driven simulations
JP7818908B2 (en) Information processing device, information processing system, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240920

R150 Certificate of patent or registration of utility model

Ref document number: 7561005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150