JP7561005B2 - Model learning method, model learning system, and computer program - Google Patents
Model learning method, model learning system, and computer program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 164
- 238000004590 computer program Methods 0.000 title claims description 9
- 238000012545 processing Methods 0.000 claims description 152
- 238000011156 evaluation Methods 0.000 claims description 111
- 230000008569 process Effects 0.000 claims description 89
- 238000004891 communication Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 230000007704 transition Effects 0.000 claims 5
- 238000003860 storage Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 230000010365 information processing Effects 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 9
- 238000003384 imaging method Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 208000010412 Glaucoma Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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では、パラメータサーバが複数に断片化されており、学習モデルの複数のレプリカが夫々、非同期で、断片化されたパラメータサーバからパラメータを取得して学習し、パラメータを各パラメータサーバへ返すことを繰り返す。このような分散処理により、学習モデルのパラメータが早期に収束するとされている。
特許文献1に開示されているような分散処理による深層学習の方法であっても、トレーニングデータは集約している。しかしながら、医療、金融、認証といった分野のデータは個人データであって機密性が高い。モデルの精度を高めるためにトレーニングデータとしてデータを集約するためには、データの提供に各個人の同意が必要である上、同意が得られたとしてもデータ管理の安全性に対するリスクが常につきまとう。
Even in the deep learning method using distributed processing as disclosed in
本発明は、斯かる事情に鑑みてなされたものであり、分散学習に基づく学習モデルの実用化を促進するモデル学習方法、モデル学習システム、及びコンピュータプログラムを提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and aims to provide a model 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.
本開示をその実施の形態を示す図面を参照して具体的に説明する。 This disclosure will be specifically described with reference to drawings showing embodiments thereof.
(第1の実施形態)
図1は、第1の実施形態のモデル学習システム100の概要図である。モデル学習システム100は、データを記憶する記憶装置2に対して1又は複数設けられたノード1と、サーバ3と、ノード1及びサーバ3間を通信接続する通信網Nとを含む。
First Embodiment
1 is a schematic diagram of a
記憶装置2は、物理量を測定するセンサ、画像を撮影するカメラ等、学習対象のデータを入出力する機器との間でデータの入出力が可能であり、それらのデータを蓄積する。記憶装置2は、操作によって入力されるデータに応じて出力する特定用途の計算機に接続されてもよい。記憶装置2は、ユーザが用いる情報端末の記憶装置であってもよい。記憶装置2は、クライアント装置からデータを収集するサーバ装置に使用される記憶装置であってもよい。
The
ノード1は、記憶装置2が記憶しているデータと同種のデータが入力された場合に、データに基づいて認識結果、判定結果、又は新たなデータを出力するように、モデルの深層学習を実行する。サーバ3は、ノード1に対してモデルを提供するコンピュータであると共に、ノード1と協働してモデルを学習するモデル学習システム100を実現する。記憶装置2が記憶しているデータ(以下、ローカルデータという)をトレーニングデータとしてモデルの学習を実行するには、これらにアクセスできる必要がある。本実施の形態のモデル学習システム100は、サーバ3からのローカルデータへのアクセスを不可とした状態で、学習を進行させることができる。
When
サーバ3は、初期的に、第0次グローバルモデル51を得る。サーバ3は、第0次グローバルモデル51を、通信網Nを介してノード1へ配布する。サーバ3からノード1へ配布されるグローバルモデルモデル51の実体(データ)は、学習済みのパラメータのみ、又は、学習済みのパラメータとプログラムとの両方である。グローバルモデル51は、モデルの構成を定義する定義データ(ネットワーク定義、損失や予め設定されるハイパーパラメータを含む)と、学習対象の重み係数等のパラメータとであってもよい。
The
学習対象のモデルは、深層学習と呼ばれる学習の対象であればアーキテクチャは問わない。深層学習のモデルの種類は、入力データ及び出力データの内容に応じて適切に選択されるべきである。以下説明する学習対象のモデルは、畳み込み層を含むCNN(Convolutional Neural Network)を用いた分類系、検出系、又は生成系等のいずれでもよいし、時系列要素を加味して学習するRNN(Recurrent Neural Network)であってもよい。 The model to be trained can have any architecture as long as it is the subject of what is called deep learning. The type of deep learning model should be appropriately selected 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
ノード1は、記憶装置2との間のローカルネットワークLNに基づいて、記憶装置2に蓄積されたローカルデータにアクセス可能である。ノード1は、アクセス可能なローカルデータを用いて深層学習を実行する。ローカルデータに対しては既に、ノード1が設置されている場所のオペレータによってアノテーションが実施済であるとよい。ノード1は、サーバ3から配布される第0次グローバルモデル51を取得する。ノード1は、第0次グローバルモデル51を基に、ローカルデータをトレーニングデータとして学習を進行し、第1次ローカルモデル52を得る。
ノード1は、第1次ローカルモデル52を、サーバ3へ送信する。ローカルデータはサーバ3へ送信されないから、ローカルデータの抽象化、匿名化等の処理は不要である。
サーバ3は、複数のノード1夫々から第1次ローカルモデル52を複数受信し、受信した複数の第1次ローカルモデル52に対して統計処理を実行して第1次グローバルモデル51を作成する。サーバ3は、第1次グローバルモデル51を、複数のノード1へ再配布する。再配布されるグローバルモデル51は、重み係数のみであってもよい。再配布される重み係数は学習対象であってもよいし、全体であってもよい。再配布されるグローバルモデル51は、前回の更新からの差分に対応するものであってもよい。
The
モデル学習システム100は、サーバ3からノード1への第n次グローバルモデル51の配布、第n次グローバルモデル51のノード1におけるローカルデータを用いた学習、学習によって得られる第(n+1)次ローカルモデル52のサーバ3への送信、サーバ3での第(n+1)次ローカルモデル52の収集及び第(n+1)次グローバルモデル51の作成(更新)を繰り返す。
The
これにより、サーバ3からローカルデータへのアクセスを許可することなく、分散学習が可能になる。モデル学習システム100では、グローバルモデル51の配布と、ローカルモデル52の学習とを繰り返していく学習過程を、モニタ4から確認できるようにする。モニタ4のみならず、ノード1のオペレータからも確認できるとよい。モデル学習システム100では、モニタ4から、学習の中断や、適切なグローバルモデル51の選択をオペレータができるようにする。
This enables distributed learning without allowing access to local data from the
サーバ3は、モニタ4に対し、同一のローカルなネットワーク内からのみ通信接続を受け付けてもよいし(オンプレミス型)、図1で示したように、公衆通信網である通信網N経由でモニタ4からの通信接続を受け付けてもよい(クラウド型)。
The
分散学習によってノード1以外の装置へも配布可能な精度までに学習されたグローバルモデル51は、各ノード1に加え、ローカルモデル52の作成に参加しないシステム外の情報処理装置6へも配布され、使用される。
The
このような学習方法を実現するモデル学習システム100の構成について詳細に説明する。
The configuration of the
図2は、ノード1の構成を示すブロック図である。ノード1は、パーソナルコンピュータ又はサーバコンピュータである。ノード1は、処理部10、記憶部11、通信部12、表示部13及び操作部14を備える。
Figure 2 is a block diagram showing the configuration of
処理部10は、CPU(Central Processing Unit )及び/又はGPU(Graphics Processing Unit)を用いたプロセッサである。処理部10は、記憶部11に記憶されているノードプログラム1Pに基づき、記憶装置2からのデータの読み出し、サーバ3との間でのモデルの送受信、及びモデル学習を含む処理を実行する。
The
記憶部11は、例えばハードディスク、フラッシュメモリ、SSD(Solid State Drive)等の不揮発性メモリを用いる。記憶部11は、処理部10が参照するデータを記憶する。記憶部11は、ノードプログラム1Pを記憶する。記憶部11は、深層学習用のライブラリ1Lを記憶する。ノードプログラム1P及び/又は深層学習用のライブラリ1Lは、記録媒体8に記憶してあるノードプログラム8P及び/又は深層学習用のライブラリ8Lを処理部10が読み出して記憶部11に複製したものであってもよい。記憶部11は、サーバ3から取得するグローバルモデル51、及び、ローカルデータによって学習されるローカルモデル52夫々を記憶する。
The
通信部12は、通信網Nを介したデータ通信、及び、ローカルネットワークLNを介した記憶装置2との通信を各々実現する。通信部12は具体的には、例えばネットワークカードである。処理部10は、通信部12によって記憶装置2からデータを読み出し、サーバ3との間でデータを送受信する。
The
表示部13は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等のディスプレイである。表示部13は、記憶部11に記憶されているデータに基づく情報、又はサーバ3から提供されるデータを含む画面を表示する。表示部13は、タッチパネル内蔵型ディスプレイであってもよい。
The
操作部14は、処理部10との間で入出力が可能なキーボード及びポインティングデバイス等のユーザインタフェースである。操作部14は、音声入力部であってもよい。操作部14は、表示部13のタッチパネルであってもよい。操作部14は、物理ボタンであってもよい。操作部14は、ノード1のオペレータによる操作データを処理部10へ通知する。
The
図3は、サーバ3の構成を示すブロック図である。サーバ3は、サーバコンピュータである。サーバ3は、処理部30、記憶部31及び通信部32を備える。サーバ3は、以下の説明においては1台のサーバコンピュータによって構成されるものとして説明するが、複数台のサーバコンピュータをネットワークで通信接続して分散処理させる態様であってもよい。サーバ3は、通信網Nを介して各ノード1から通信接続が可能なクラウド型であってもよいし、仮想的なプライベートネットワークを介して各ノード1と通信接続するオンプレミス型であってもよい。
FIG. 3 is a block diagram showing the configuration of
処理部30は、CPU及び/又はGPUを用いたプロセッサである。処理部30は、記憶部31に記憶されているサーバプログラム3Pに基づき、グローバルモデル51の学習処理を実行する。
The
記憶部31は、例えばハードディスク、SSD等の不揮発性メモリを用いる。記憶部31は、処理部30が参照するデータを記憶する。記憶部31は、サーバプログラム3Pを記憶する。サーバプログラム3Pは、Webサーバプログラムを含む。記憶部31は、グローバルモデル51、複数のノード1から送信されるローカルモデル52を記憶する。サーバプログラム3Pは、記録媒体9に記憶してあるサーバプログラム9Pを処理部30が読み出して記憶部31に複製したものであってもよい。
The
通信部32は、通信網Nを介したデータ通信を実現する。通信部32は具体的には、例えばネットワークカードである。処理部30は、通信部32によって複数のノード1との間でデータを送受信する。
The
図4は、モニタ4の構成を示すブロック図である。モニタ4は、パーソナルコンピュータである。モニタ4は、タブレット端末又はスマートフォンであってもよい。モニタ4は、処理部40、記憶部41、通信部42、表示部43及び操作部44を備える。
Figure 4 is a block diagram showing the configuration of the
処理部40は、CPU及び/又はGPUを用いたプロセッサである。処理部40は、記憶部41に記憶されているWebブラウザプログラムに基づき、サーバ3から提供される情報を表示部43で表示する処理を実行する。
The
記憶部41は、例えばハードディスク、フラッシュメモリ、SSD(Solid State Drive)等の不揮発性メモリを用いる。記憶部41は、処理部40が参照するデータを記憶する。記憶部41は、Webブラウザプログラムを含む各種プログラムを記憶する。
The
通信部42は、通信網Nを介した通信を実現する。通信部42は具体的には、例えばネットワークカードである。処理部40は、通信部42によってし、サーバ3との間でデータを送受信する。
The
表示部43は、液晶ディスプレイ、有機ELディスプレイ等のディスプレイである。表示部43は、サーバ3から提供されるデータを含む画面を表示する。表示部43は、タッチパネル内蔵型ディスプレイであってもよい。
The
操作部44は、処理部40との間で入出力が可能なキーボード及びポインティングデバイス等のユーザインタフェースである。操作部44は、音声入力部であってもよい。操作部44は、表示部43のタッチパネルであってもよい。操作部44は、物理ボタンであってもよい。操作部44は、ノード1のオペレータによる操作データを処理部40へ通知する。
The
このように構成されるモデル学習システム100における学習処理手順について説明する。図5は、モデル学習システム100における学習処理手順の一例を示すフローチャートである。
The learning process procedure in the
サーバ3は、予め用意された初期的な(第0次)グローバルモデル51を取得する(ステップS1)。初期的なグローバルモデル51は、特定のノード1で第0次モデルとして作成されたモデルであってもよいし、ノード1ではなく特定の場所で学習されたモデルであってもよく、予め記憶部31に記憶してあるとよい。ステップS1の取得は、予め記憶部31に記憶されているグローバルモデル51の読み出しを含む。
The
サーバ3は、取得した第0次グローバルモデル51をノード1へ配布する(ステップS2)。
The
サーバ3は、ノード1へ配布したグローバルモデル51を基に、ノード1で学習されるローカルモデル52を取得する(ステップS3)。
The
サーバ3は、取得したローカルモデル52に対して統計処理を実行し、次世代のグローバルモデル51に更新する(ステップS4)。ステップS4においてサーバ3は、更新(ラウンド)回数を、加算して記憶してもよい。
The
サーバ3は、更新したグローバルモデル51に対する性能評価値を算出する(ステップS5)。サーバ3はステップS5において、特定のノード1又は情報処理装置6に対し、入力データを更新後のグローバルモデル51に入力した場合に、対応する出力データを出力する精度を評価値として算出してもよい。性能評価値は、後述するように各ノード1からの評価値を用いて算出してもよい。
The
サーバ3は、算出した性能評価値を、更新(ラウンド)回数に対応するラウンド情報と対応付けて、記憶部31に記憶する(ステップS6)。ラウンド情報は、更新回数のみならず、日時等であってもよい。サーバ3は、第0次から最初の数ラウンドにおいては、ステップS5,6の処理を省略してもよい。
The
サーバ3は、更新したグローバルモデル51が学習完了条件を満たすか否か判断する(ステップS7)。
The
ステップS7についてサーバ3は例えば、更新回数が所定回数に到達したか否かで判断する。サーバ3は、ステップS5で算出した性能評価値が、予め記憶してある基準値を満たした場合に、学習完了条件を満たすと判断してもよい。サーバ3はステップS7において、更新前と比較して性能評価値が向上していないと判断される場合に学習完了条件を満たすと判断してもよい。
For example, in step S7, the
学習完了条件を満たさないと判断された場合(S7:NO)、サーバ3は、更新後のグローバルモデル51を複数のノード1へ再分配し(ステップS8)、処理をステップS3へ戻す。
If it is determined that the learning completion condition is not met (S7: NO), the
ステップS8においてサーバ3は、グローバルモデル51をそのまま再配布するのではなく、重み係数等のパラメータのみを再配布してもよい。
In step S8, the
ステップS8においてサーバ3は、何回目の更新後のグローバルモデル51であるのか、即ち第n次グローバルモデル51の「n」を示すデータを共に送信するとよい。ステップS8においてサーバ3は、ステップS6で記憶したラウンド情報を、グローバルモデル51に対応付けて送信するとよい。ラウンド情報は、上述したように、ステップS7で学習完了条件を満たすと判断されるまでに、ノード1への分配及び統計処理を実行した回数を示す情報である。サーバ3は、グローバルモデル51の種類、例えばどのようなアーキテクチャの深層学習がされたのか、を示すデータを共に送信してもよい。
In step S8, the
学習完了条件を満たすと判断された場合(S7:YES)、サーバ3は、更新後のグローバルモデル51を、ノード1以外の装置へも配布可能なグローバルモデル51としてバージョン情報と対応付けて記憶する(ステップS9)。バージョン情報は、ステップS7にて学習完了条件を満たすと判断されるまでローカルモデル52の学習及びグローバルモデル51の更新を実行した回数に対応する。バージョン情報は、ラウンド情報をマイナーな情報として含んでもよい。
If it is determined that the learning completion condition is met (S7: YES), the
サーバ3は、記憶したグローバルモデル51を複数のノード1又は他の情報処理装置6へ送信し(ステップS10)、処理を終了する。他の情報処理装置6とは、ノード1同様に、学習対象と同種のデータを用いるが、ローカルデータをトレーニング用に提供しない装置である(図1参照)。
The
サーバ3は、図5のフローチャートに示した処理手順を、複数、例えば月に一度といった周期で実行する。その都度、グローバルモデルのバージョンが上昇し、より実用的なモデルとなる。
The
図6は、配布されたグローバルモデル51に基づくローカルモデル52の学習処理手順の一例を示すフローチャートである。図6のフローチャートに示す処理は、サーバ3がステップS2又はステップS8でグローバルモデル51を配布した場合に、複数のノード1夫々で実行する処理である。
Figure 6 is a flowchart showing an example of a learning process procedure for a
ノード1の処理部10は、配布されたグローバルモデル51を受信し、記憶部11に記憶する(ステップS301)。
The
ノード1の処理部10は、記憶したグローバルモデル51をインスタンスとしてロードする(ステップS302)。処理部10は、記憶装置2に記憶してあるローカルデータをトレーニングデータとして取得し(ステップS303)、これをグローバルモデル51に与えて学習を実行する(ステップS304)。
The
ステップS304において処理部10は、ロードしたグローバルモデル51に対してローカルデータの入力データを入力する。処理部10は、出力されたデータと、ローカルデータに含まれる前記入力データに対応する結果データとに対する損失を算出する。処理部10は、算出した損失に基づいて配布されたグローバルモデル51における重み係数を含むパラメータを学習する。
In step S304, the
ノード1の処理部10は、学習完了条件を満たすか否かを判断する(ステップS305)。ステップS305において処理部10は、学習(更新)回数が所定回数(1回以上)を満たすことを学習完了条件とする。処理部10は、学習後のグローバルモデル51の出力精度が記憶してある所定値以上である場合に、学習完了条件を満たすと判断してもよい。処理部10は、出力精度の変化が所定範囲内に収まり、収束していると判断できる場合に学習完了条件を満たすと判断してもよい。
The
学習完了条件を満たさないと判断された場合(S305:NO)、処理部10は処理をステップS304へ戻す。これにより、学習が続行される。
If it is determined that the learning completion condition is not met (S305: NO), the
学習完了条件を満たすと判断された場合(S305:YES)、処理部10は学習を終了し、パラメータが更新されたグローバルモデル51を、ローカルモデル52として記憶する(ステップS306)。
If it is determined that the learning completion condition is met (S305: YES), the
ノード1の処理部10は、記憶したローカルモデル52を、サーバ3へ送信し(ステップS307)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52を取得することができる。
The
ステップS307において処理部10は、第n次のローカルモデル52なのか、又は元となるグローバルモデル51が第n次なのかの「n」を示すデータを共に送信するとよい。ステップS307においてノード1は、後述するように1回の学習完了までの更新回数に対応するラウンド情報を得られる場合にはそのラウンド情報を、ローカルモデル52に対応付けて送信してもよい。
In step S307, the
図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
図7は、サーバ3におけるグローバルモデル51の更新処理の一例を示すフローチャートである。図7のフローチャートに示す処理手順は、図5のフローチャートに示す処理手順の内のステップS4の詳細に対応する。
Figure 7 is a flowchart showing an example of a process for updating the
サーバ3の処理部30は、ノード1から送信されるローカルモデル52を取得し(ステップS401)、ノード1の識別データと対応付けてローカルモデル52を記憶する(ステップS402)。ステップS401においてサーバ3の処理部30は、非同期に各ノード1から送信されるローカルモデル52を取得する。
The
処理部30は、取得したローカルモデル52でグローバルモデル51を更新すべきか否かを判断する(ステップS403)。ステップS403において処理部30は、グローバルモデル51を配布した配布先のノード1全てからローカルモデル52を取得できた場合に更新すべきであると判断してもよい。ステップS403において処理部30は、予め決定しておいた代表的の複数のノード1からローカルモデル52を取得できた場合に更新すべきであると判断してもよい。
The
更新すべきでないと判断された場合(S403:NO)、サーバ3の処理部30は処理をステップS401へ戻す。更新すべきであると判断されるまで、各ノード1から送信されるローカルモデル52を取得し、集約する。
If it is determined that an update is not necessary (S403: NO), the
更新すべきであると判断された場合(S403:YES)、サーバ3の処理部30は、複数のノード1からのローカルモデル52の平均を求める(ステップS404)。処理部30は、平均を新たなグローバルモデル51として更新する(ステップS405)。
If it is determined that an update is necessary (S403: YES), the
処理部30は、更新後のグローバルモデル51を、ラウンド情報、例えば更新回数(第n次)を示すデータ「n」と対応付けて記憶し(ステップS406)、グローバルモデル51の更新処理を終了する。これにより、第n-1次グローバルモデル51は、第n次グローバルモデル51に更新される。
The
上述したように第1の実施形態のモデル学習システム100では、ローカルデータはサーバ3へ送信されることなしに、各所に記憶されているローカルデータを用いた学習結果に基づいてグローバルモデル51が実用化される。各所のローカルデータのみでは、データ量が不足するような場合であっても、1箇所に集約させた大量のデータによる学習よりも精度よく、且つ早期に実用可能なモデルを提供することが可能になる。
As described above, in the
第1の実施形態では、サーバ3がグローバルモデル51の学習(更新)及び改訂(バージョンアップ)の過程でラウンド情報、及びバージョン情報と対応付けて、グローバルモデル51を記憶している。したがって、サーバ3にて、更新の過程に関する情報を、バージョン別、ラウンド毎に、モニタ4又はノード1に向けて提供することが可能である。
In the first embodiment, the
図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
モニタ4又はノード1のオペレータは、記憶してあるWebブラウザプログラムに基づいて、サーバ3から提供されるWebページへのアクセスを試みる。
The operator of
サーバ3の処理部30は、Webサーバとしての機能により、接続リクエストを受信し(ステップS601)、リクエストに含まれるアカウント情報に応じて、メイン(ポータル)となるWebページを記憶部31から読み出してリクエスト元へ送信する(ステップS602)。
The
モニタ4の管理者及びノード1の管理者毎に、サーバ3へのアクセス用のアカウントが発行されている。アカウントは、アカウントID、認証情報、権限のデータを含む。サーバ3は、記憶部31にアカウントデータを記憶している。モニタ4の管理者向けのアカウントには、学習回数の指定、学習の中断などが可能な権限が対応付けられている。ノード1の管理者向けのアカウントには、学習過程での性能評価値の閲覧等、グローバルモデル51の内容に影響しない程度の権限が対応付けられている。
An account for accessing the
処理部30は、モニタ4又はノード1から送信されるグローバルモデル51の指定を受信し(ステップS603)、指定されたグローバルモデル51の更新履歴の一覧を含むWebページを送信する(ステップS604)。図5のフローチャートに示したように、グローバルモデル51が更新される都度に、グローバルモデル51及び性能評価値が、ラウンド情報及びバージョン情報と対応付けて記憶されている。したがって、処理部30は記憶されているデータに基づいて更新履歴の一覧を作成できる。
The
処理部30は、更新履歴の一覧に含まれるバージョン情報の指定を含む性能参照リクエストを受信すると(ステップS605)、指定されたバージョン情報に対応付けられて記憶してあった更新過程におけるグローバルモデル51の性能を示すイメージを含むWebページを作成する(ステップS606)。性能を示すイメージは、例えば性能の推移を示すグラフ、学習に使用したデータ件数等が含まれてよい。
When the
処理部30は、作成した画面データをリクエスト元のモニタ4又はノード1へ向けて出力し(ステップS607)、処理を終了する。
The
図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
図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
モニタ4の管理者で、学習の中断、終了の権限が与えられたアカウントからの参照リクエストに対しては、図10に示すように、個別性能画面431に、更新を中断することを指示するためのインタフェース433が表示される。インタフェース433が選択された場合、図5のフローチャートに示した処理手順のうち、学習完了条件を満たすまでのラウンドが中断される。更新中断のログが記録されるとよい。これにより、モニタ4の管理者は、各ラウンドの精度の状況を確認し、これ以上、更新を継続してもモデルの性能向上が見込めない場合に、学習を中断することができる。
In response to a reference request from an account of the administrator of
モニタ4の管理者で、グローバルモデルの選択の権限が与えられたアカウントからの参照リクエスト対しては、個別性能画面431に、再分配するグローバルモデルの選択を受け付けるインタフェースが表示されてもよい。このインタフェースが選択された場合、処理部30は、図5のフローチャートに示した処理手順を中断し、選択されたグローバルモデル51を、ステップS8で再分配し、処理をステップS2へ戻し、更新の処理を継続する。
For a reference request from an account of the administrator of
このように第1の実施形態では、ローカルデータに基づいてローカルモデル52の学習をし、且つ、図9-図10に示したように、オペレータがモニタ4又はノード1から、グローバルモデル51の学習過程を視覚的に確認できる。図9及び図10に示したように、モニタ4の管理者の権限を有している場合、学習、すなわちグローバルモデルの更新を、管理者によって停止させることも可能である。
In this way, in the first embodiment, the
(第2の実施形態)
第2の実施形態におけるモデル学習システム100は、学習完了条件を満たすための判断処理が、第1の実施形態と異なる。第2の実施形態におけるモデル学習システム100の構成は、上述の判断処理の詳細を除いて第1の実施形態のモデル学習システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Second Embodiment
The
図11及び図12は、第2の実施形態のモデル学習システム100における学習処理手順の一例を示すフローチャートである。図11及び図12のフローチャートに示す処理手順の内、図5のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
Figures 11 and 12 are flowcharts showing an example of a learning process procedure in the
ステップS4でグローバルモデル51を更新すると(S4)、サーバ3の処理部30は、更新後のグローバルモデル51を、複数のノード1へ送信する(ステップS501)。
When the
更新後のグローバルモデル51を受信した複数のノード1は夫々、送信されたグローバルモデル51を用いて、記憶装置2からローカルデータを読み出し、入力データに対する精度評価を実行する。ノード1の処理部10は、ローカルデータの入力データを入力した場合の精度を算出し、サーバ3へ送信する。処理部10は、精度として、ローカルデータにおける入力データに対応する出力データとの合致率を算出してもよいし、ノード1のオペレータから表示部13及び操作部14を介して精度評価を受け付けてもよい。
Each of the
サーバ3の処理部30は、各ノード1から送信される評価値を取得し(ステップS502)、複数のノード1から取得した評価値から総評価値を算出する(ステップS503)。ステップS503において処理部30は、精度の平均値を算出してもよいし、合致率の平均でもよいし、オペレータから受けた評価の平均を求めてもよい。
The
処理部30は、更新したグローバルモデル51に対してステップS502で各ノードから得た評価値、及びステップS503で算出した総評価値を、グローバルモデル51のラウンド情報と対応付けて記憶する(ステップS504)。
The
処理部30は、ラウンド情報毎に記憶されたこれまでのグローバルモデル51に対する評価値、総評価値を含む更新履歴を含むWebページをモニタ4へ送信し、出力させる(ステップS505)。
The
処理部30は、更新履歴に基づいて再分配するグローバルモデル51の選択を受け付け(ステップS506)、学習停止の選択を受け付けたか否かを判断する(ステップS507)。
The
ステップS507において処理部30は、ステップS505に送信したWebページに、学習を終了させるインタフェースを含ませておき、学習を終了させるインタフェースで終了が選択された場合に、学習停止の選択を受け付けたと判断する。処理部30は、同Webページに、学習続行のインタフェースを含ませておき、学習続行が選択された場合に、学習続行を受け付けたと判断してもよい。
In step S507, the
ステップ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
学習条件の変更があると判断された場合(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
処理部30は、受け付けた変更後の学習条件に基づいて、複数のノード1へ、ステップS506で選択されたラウンド情報に対応するグローバルモデル51を再分配し(ステップS510)、処理をステップS3へ戻す。
The
ステップ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
ステップ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
処理部30は、記憶したグローバルモデル51を複数のノード又は他の情報処理装置6へ送信し(S10)、処理を終了する。
The
図13から図15は、モニタ4の表示部43に表示される画面例を示す図である。図13は、グローバルモデル51の個別性能を視覚化した個別性能画面431の他の一例を示す。図13の個別性能画面431は、図9に示した更新履歴画面430から、更新中のグローバルモデル51のバージョン情報のテキストが選択された場合に表示される。
FIGS. 13 to 15 are diagrams showing example screens displayed on the
図13に示すように、第2の実施形態における個別性能画面431は、性能評価値の推移を示すグラフ上に、第1の実施形態で示した図10同様に、指定されたバージョン情報のグローバルモデル51の、更新ラウンド毎に算出された総評価値の推移を示すグラフ434が含まれる。
As shown in FIG. 13, the
グラフ434は、ラウンド数を選択するためのマーク436を含む。個別性能画面431の詳細画面435は、マーク436が付されているラウンド数のグローバルモデル51の評価等を示す。
The
個別性能画面431は、以後に学習を続行するためのインタフェース437を含む。インタフェース437は、図13に示すように例えばボタンのアイコンである。モニタ4のオペレータは、個別性能画面431に対し、マーク436で選択中のラウンドグローバルモデル51に対し、学習続行のインタフェース437を選択する。サーバ3の処理部30はこの操作を受けて、学習条件の変更がないとして(S508:NO)、選択されたグローバルモデル51をノードへ配布し(S510)、処理を続行する。
The
個別性能画面431は、マーク436ではなく、詳細画面435中でラウンド数を選択してもよい。
In the
個別性能画面431は、更新を停止し、学習を終了させるためのインタフェース438を含む。インタフェース438は、図13に示すように、例えばボタンのアイコンである。インタフェース438は、リンクが張られたテキストであってもよい。モニタ4のオペレータは、個別性能画面431に対し、総評価値を基に、マーク436で選択中のグローバルモデル51で、学習を終了させるインタフェース438を選択する。サーバ3の処理部30はこの操作を受けて、選択されたグローバルモデル51を配布可能なグローバルモデル51として記憶する(S511)。
The
個別性能画面431は、選択中のバージョン情報の各ラウンドの評価値の詳細を表示するためのインタフェース439を含む。モニタ4のオペレータがインタフェース439を選択すると、総評価値及び各ノード1からの評価値の具体的数値が出力される。図14は、評価値の詳細画面440の一例を示す。図14の詳細画面440には、更新(ラウンド)の都度に算出される総評価値及び各ノードからの評価値(S504)を、各ラウンドのラウンド情報と対応付けて表す一覧441を含む。一覧441には、更新日時が対応付けられていてもよい。
The
図13の個別性能画面431に戻って説明を続ける。個別性能画面431は、学習を中断するためのインタフェース442を含む。インタフェース442は、図13に示すように、ボタンのアイコンである。モニタ4のオペレータは、個別性能画面431に対し、これ以上学習を進めても、精度に対応する総評価値が配布可能な条件を満たさない様子であることを確認すると、学習を中断するためのインタフェース442を選択する。サーバ3の処理部30はこの操作を受けて、図11及び図12のフローチャートに示した処理手順を中断する。
Returning to the
第2の実施形態の個別性能画面431は、そのバージョンのグローバルモデル51に対する各ノードにおける評価値を、視覚化したノード画面443を含む。ノード画面443には、グローバルモデル51に対応し、マーク436で選択されているラウンド情報を示すテキストを含んだ角丸矩形のグラフィックが含まれている。グローバルモデル51に対応するグラフィックには、そのラウンド数における総評価値を示すテキストが添えられるようにして表示されている。ノード画面443は、グローバルモデル51に対応するグラフィックにエッジを介して接続するように、各ノード1を識別するテキスト(A,B,C,…)を含む角丸矩形のグラフィックを含む。各ノード1に対応するグラフィックには、各ノード1におけるそのラウンド数のグローバルモデル51に対する評価値を示すテキストが添えられるようにして表示されている。各ノード1に対応するグラフィックには、各ノード1におけるローカルモデル52の性能履歴に対するリンクが対応付けられている。
The
このように、各ノード1の評価値が視覚化され、オペレータはモデル学習システム100における全体の学習状況を把握することができる。
In this way, the evaluation value of each
図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
モニタ4のオペレータは、ノード画面443に対する操作で表示される編集画面444で、学習条件を変更し、変更後の学習条件、例えば「ノードD」のノード1によるローカルモデル52を、除外するという条件で、個別性能画面431のインタフェース437にて学習を続行することができる。
The operator of
学習条件の編集画面444は、図15に示すように、ローカルモデル52を学習していく上での学習回数等の学習を終了する条件の設定を受け付けるメニューを含んでもよい。
The learning
図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
(第3の実施形態)
第3の実施形態では、ノード1においてローカルモデル52の学習中に性能評価を算出してサーバ3へ送信し、サーバ3を介してモニタ4から各ノード1におけるローカルモデル52の精度を閲覧できるようにする。
Third Embodiment
In the third embodiment, a performance evaluation is calculated while the
第3の実施形態におけるモデル学習システム100の構成は、第1及び第2の実施形態における構成と同様であるから、第1及び第2の実施形態におけるモデル学習システム100と共通する構成については同一の符号を付して詳細な説明を省略する。
The configuration of the
第3の実施形態では、ノード1はそれぞれ、学習過程及びローカルモデル52の履歴を記憶する。図17は、第3の実施形態におけるノードのローカルモデル52の学習処理手順の一例を示すフローチャートである。図17のフローチャートに示す処理手順の内、第1の実施形態の図6のフローチャートに示した処理手順と共通する手順については、同一のステップ番号を付して詳細な説明を省略する。
In the third embodiment, each
ノード1の処理部10は、配布されたグローバルモデル51に基づく学習を実行し(S301-S304)、S305でYESと判断されるまで、あるいはステップS301-S304の繰り返し回数が所定回数となる都度に、学習の結果得られる性能評価を、ローカルモデル52の学習の進行具合を示すデータと対応付けて記憶する(ステップS311)。ステップS311で処理部10は、ローカルデータを入力した場合の出力データがトレーニングデータと合致する精度を、性能評価として算出してよい。ステップS311において処理部10は、配布されたグローバルモデル51のラウンド情報に対するステップS301-S304の繰り返し回数、又は精度を学習の進行具合を示すデータ(マイナーアップデート)として記憶してもよい。
The
処理部10は、ステップS305で学習完了条件を満たすと判断された場合(S305:YES)、学習後のローカルモデル52を、配布されたグローバルモデル51のラウンド情報と対応付けて記憶する(ステップS312)。
If the
処理部10は、記憶したローカルモデル52及びステップS311で記憶した性能評価を、ラウンド情報と対応付けてサーバ3へ送信し(ステップS313)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習された各ラウンドにおけるローカルモデル52、及びその個々の性能評価を取得することができる。
The
ステップ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
サーバ3の処理部30は、ノード1から送信されるローカルモデル52、及び性能評価をラウンド情報と対応付けて取得する(ステップS411)。処理部30は、取得したローカルモデル52及び性能評価を、ラウンド情報と対応付けて記憶する(ステップS412)。処理部30は、ローカルモデル52及びノード1の識別データと共に対応付けて記憶してもよい。処理部30は、ステップS403の処理を実行する。
The
このようにサーバ3の処理部30は、ローカルモデル52をノード1から取得する際に、性能評価を取得し、バージョン別、ラウンド毎に記憶することができる。
In this way, when the
これらのノード1から集約したローカルモデル52における学習の精度の推移を含むデータは、サーバ3は、図11及び図12のフローチャートにおけるステップ505の処理にてモニタ4へ出力する、更新したグローバルモデル51の更新履歴の中で出力される。
The data including the progress of the learning accuracy in the
図19は、ローカルモデル52の性能履歴画面445を示す。図19は、図13に示したグローバルモデル51の個別性能画面431において、ノード画面443に含まれる複数のノード1のグラフィックのいずれかが選択された場合に表示される。図19は、「ノードA」のノード1に対応するグラフィックが選択された場合に表示される例を示す。
Figure 19 shows the
ローカルモデル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
これにより、オペレータが、各ノード1における評価値を参照し、より精度が良くなるように分散学習を進めることが可能になる。
This allows the operator to refer to the evaluation values at each
(第4の実施形態)
第4の実施形態では、各ノード1で学習されたローカルモデル52に基づくグローバルモデル51の更新方法が第1~第3の実施形態で説明した方法と異なる。第4の実施形態におけるモデル学習システム100の構成は、グローバルモデル51の更新処理の詳細を除いて第1の実施形態のモデル学習システム100と同様の構成であるから、共通する構成については同一の符号を付して詳細な説明を省略する。
Fourth Embodiment
In the fourth embodiment, the method of updating the
第4の実施形態のモデル学習システム100では、サーバ3は第1の実施形態の図5のフローチャートに示した処理手順、第2の実施形態の図11及び図12のフローチャートに示した処理手順、の内のいずれかの学習処理手順を実行する。第4の実施形態では、それらの処理手順の内、ステップS4の更新処理が異なる。また、更新処理が異なることに対応して、ノード1から送信されるデータ内容も第1の実施形態での説明と異なる。
In the
図20は、第4の実施形態のローカルモデル52の学習処理手順の一例を示すフローチャートである。図20のフローチャートに示す処理手順の内、第1の実施形態における図6のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
Figure 20 is a flowchart showing an example of a learning process procedure for the
ノード1の処理部10は、記憶装置2からその時点で記憶されているローカルデータを取得し(S303)、ローカルデータのデータ量(データ件数)を算出し(ステップS323)、処理をステップS304へ進める。
The
ノード1の処理部10は、学習を実行する都度(S304)、学習量を算出し(ステップS324)、学習完了条件を満たすか否かを判断する(ステップS305)。ステップS324において処理部10は、学習の繰り返し回数を学習量として算出してもよいし、前回のバージョンにおけるローカルモデル52からの精度の向上度合いを学習量として算出してもよいし、ローカルモデル52の変化量を学習量として算出してもよい。
Each time learning is performed (S304), the
ステップS305において処理部10は、学習の結果、ローカルデータに対するニューラルネットワークからの出力データの精度が所定の条件を満たす、例えば精度が所定値以上である場合に、学習完了条件を満たすと判断してもよい。処理部10は、学習量(学習回数)が所定量(所定回数)以上である場合に学習完了条件を満たすと判断してもよい。
In step S305, the
ノード1の処理部10は、学習後のローカルモデル52と共に、ステップS323で算出したデータ量、又は、カウントされている学習量をサーバ3へ送信し(ステップS327)、処理を終了する。これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52と共に、元となるローカルデータのデータ量、又は、学習量を取得することができる。
The
第4の実施形態においても、ノード1からは、ローカルデータのデータ量は送信されても、データ自体がサーバ3へ送信されることがない。
Even in the fourth embodiment,
第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
サーバ3の処理部30は、各ノード1から送信されるローカルモデル52、及び、データ量又は学習量を取得し(ステップS421)、ノード1の識別データと対応付けてローカルモデル52、及び、データ量又は学習量を記憶する(ステップS422)。ステップS411においてサーバ3の処理部30は、非同期に、各ノード1から送信されるローカルモデル52を取得する。
The
処理部30は、更新タイミングであると判断された場合(S403:YES)、サーバ3の処理部30は、複数のノード1からのローカルモデル52に対する、データ量又は学習量に基づく重みを初期的に算出する(ステップS423)。
When the
サーバ3の処理部30は、各ノード1におけるデータ量及び/又は学習量、並びに初期的に算出した重みを出力し(ステップS424)、重みの設定(編集)を受け付ける(ステップS425)。
The
処理部30は、初期的に算出した重み、又はステップS425で受け付けた重みを用い、各ノード1で学習されたローカルモデル52の加重平均を求める(ステップS426)。処理部30は、ローカルモデル52の加重平均を、新たなグローバルモデル51として更新する(ステップS427)。
The
処理部30は、更新後のグローバルモデル51を、バージョン情報を示すデータと対応付けて記憶し(S406)、グローバルモデル51の更新処理を終了する。
The
サーバ3は、更新が所定回数に到達するまで、又は、更新後のグローバルモデル51の精度が所定の基準を満たすまで、図21のフローチャートに示した更新処理を継続する。繰り返し更新処理を実行するに際し、ステップS425の受付処理は、1度実行された後はスキップされてもよい。
The
図22は、各ノードの重みの編集画面446を示す。編集画面446は、図21のフローチャートに示したグローバルモデル51の更新中に、サーバ3のステップS424の処理によってモニタ4の表示部43に表示される。重みの編集画面446は、各ノード1におけるローカルデータのデータ量(データ件数)を含む。重みの編集画面446は、ノード1毎に初期的に、データ量を基に算出された重みを、編集可能に含んでいる。図22の例では、モニタ4を操作するオペレータは、各ノード1におけるローカルデータを参照しながら、加重平均を算出するための重みの調整が可能である。このとき、重みを0(ゼロ)に設定することで特定のノード1を除外して、サーバ3に加重平均を算出させることも可能である。
Figure 22 shows an
第4の実施形態では、グローバルモデル51の更新(ラウンド)の都度、重み係数を出力し、変更を受け付け可能としたが、1つのバージョン中は1回だけ、編集画面446を表示させるようにしてもよい。同一のバージョンの中で、重み係数を変更しなくてもよい。
In the fourth embodiment, the weighting coefficients are output and changes can be accepted each time the
第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
このように、サーバ3が各ノード1からデータ量等の情報をも取得することにより、データ量が少ない環境においても、オペレータの知見に基づき、ローカルモデル52の学習情報を用いてグローバルモデル51を最適化することが期待できる。
In this way, the
(第5の実施形態)
モデル学習システム100は、ニューラルネットワークを始めとする深層学習のモデルに適用できる。例えば、入力データは画像データであり、出力データは画像データの画像に写っている被写体の検出結果、又は被写体に対する判定結果である。他の例では、入力データは、入出金データであり、出力データは評価等の判定結果、あるいは企業業況変化(成長または劣化)に関する予測値や経済予測に関する予測値である。他の例では、入力データは、工場、生産設備に設けられた各種センサからの測定データであり、出力データは異常/正常を含む生産管理に関するデータである。他の例では、入力データはテキストデータであり、出力データは判定結果、または予測データである。
Fifth Embodiment
The
第5の実施形態では、モデル学習システム100を、医療施設にて患者に関して得られる医療データから、患者に特定の病気の症状が発生しているか否かの診断を支援するデータを出力するモデルの学習に適用させた例を挙げて説明する。以下の説明では、医療データは、例えば検査で撮影された眼底写真の画像データである。
In the fifth embodiment, an example will be described in which the
図24は、第5の実施形態のモデル学習システム100の概要図である。第5の実施形態におけるモデル学習システム100の構成は基本的に、第1の実施形態のモデル学習システム100と同様である。第5の実施形態のモデル学習システム100の内、第1の実施形態のモデル学習システム100と共通する構成については同一の符号を付して詳細な説明を省略する。
Figure 24 is a schematic diagram of the
第5の実施形態においてノード1及び情報処理装置は、医療施設に設けられている。ノード1及び情報処理装置は、患者の眼底写真を撮影する撮影装置7から得られる画像データを取得できる。ノード1が設けられている医療施設では、撮影装置7は記憶装置2に対して画像データを出力する。撮影装置は、異なる種類の装置を含む。
In the fifth embodiment, the
第5の実施形態においてグローバルモデル51、ローカルモデル52及び配布可能として記憶されたモデルは、画像データが入力された場合に、緑内障の診断を支援するデータ及び精度を出力するように学習されるモデルである。トレーニングデータとして用いられるローカルデータは、入力データとして画像データと、出力データとして眼底写真におけるDisc部分とCup部分とをセグメンテーションした結果の画像データである。出力データはその他、症状がみられるか否かを医師又は技師が判定した判定結果を含むデータセットであってもよい。ローカルデータの入力データである画像データは、撮影装置の種類を示す装置データと対応付けられている。装置データは型番でもよいし、装置メーカを識別するデータであってもよい。
In the fifth embodiment, the
第5の実施形態においてモデル学習システム100では、サーバ3が予め特定の医療施設で複数の異なるアーキテクチャで作成された初期的なグローバルモデル(第0次グローバルモデル)51を取得する。サーバ3は、異なるアーキテクチャの第0次グローバルモデル51を、トレーニングに協力する医療施設のノード1へ各配布する。
In the fifth embodiment of the
各ノード1は、配布された複数の第0次グローバルモデル51を受信し、異なる第0次グローバルモデル51に基づいてそれぞれ、ローカルデータをトレーニングデータとして学習を進行し、複数の第1次ローカルモデル52を得る。ノード1は、異なるアーキテクチャで学習された第1次ローカルモデル52をサーバ3へ送信する。
Each
サーバ3は、各ノード1から取得したローカルモデル52を、異なるアーキテクチャ毎に、加重平均して第1次グローバルモデル51を作成する。作成された第1次グローバルモデル51を、サーバ3は、複数のノード1へ再配布する。
The
サーバ3は、配布した第n次グローバルモデル51から作成される第(n+1)次ローカルモデル52の取得、第(n+1)次ローカルモデル52からの第(n+1)次グローバルモデル51の更新を、異なるアーキテクチャ毎に繰り返す。
The
サーバ3は、異なるアーキテクチャ毎に繰り返して得られたグローバルモデル51を、相互に比較し、精度がより高いアーキテクチャのグローバルモデル51を選択し、配布可能なモデルとしてノード1及び情報処理装置へ提供する。
The
これにより、個人情報そのものである検査結果の画像データが、サーバ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
図25は、第5の実施形態のモデル学習システム100における学習処理手順の一例を示すフローチャートである。
Figure 25 is a flowchart showing an example of a learning process procedure in the
サーバ3は、特定の医療施設にて、異なるアーキテクチャで作成された初期的な(第0次)グローバルモデル51を取得する(ステップS201)。ステップS201の取得は、予め記憶部31に記憶されているグローバルモデル51の読み出しを含む。
The
サーバ3は、取得した複数の第0次グローバルモデル51を各ノード1へ配布する(ステップS202)。
The
サーバ3は、ノード1へ配布したグローバルモデル51を基に、異なるアーキテクチャ毎に、ノード1で学習されるローカルモデル52を取得する(ステップS203)。
Based on the
サーバ3は、取得したローカルモデル52に対し、異なるアーキテクチャ毎に、統計処理を実行し、次世代のグローバルモデル51に更新する(ステップS204)。ステップS204においてサーバ3は、更新の回数を加算するとよい。
The
サーバ3は、更新したグローバルモデル51に対する性能評価値を、異なるアーキテクチャ毎に、算出する(ステップS205)。サーバ3は、ステップS205において、特定のノード1におけるローカルデータの入力データを異なるアーキテクチャのグローバルモデル51に入力した場合に、対応する出力データに対する精度を評価値として算出してもよい。ステップS205においてサーバ3は、第2の実施形態に示したように、各ノード1に更新後のグローバルモデル51を送信し、各ノード1から評価値を取得し、総評価値を算出してもよい。
The
サーバ3は、算出した性能評価値を、更新回数に対応するラウンド情報、及びアーキテクチャを識別するデータと対応付けて記憶部31に記憶する(ステップS206)。バージョン情報は、更新回数のみならず、日時等であってもよい。サーバ3は、第0次から最初の数ラウンドにおいては、ステップS205、S206の処理を省略してもよい。
The
サーバ3は、学習完了条件を満たすか否かを判断する(ステップS207)。
The
ステップS207についてサーバ3は例えば、更新回数(ラウンド数)が所定回数に到達したか否かで判断する。サーバ3は、特定のノード1におけるローカルデータの入力データを異なるアーキテクチャのグローバルモデル51に入力した場合に、いずれか複数のグローバルモデル51において、対応する出力データを出力する精度が所定の条件を満たすか否かで判断してもよい。学習の終了条件は、第2の実施形態で示したように、各ノード1へ送信したグローバルモデル51に対する評価値から総評価値を算出し、総評価値が所定の基準を満たすことであってもよい。
In step S207, the
学習完了条件を満たさないと判断された場合(S207:NO)、サーバ3は、更新後の各アーキテクチャのグローバルモデル51を複数のノード1へ再分配し(ステップS208)、処理をステップS203へ戻す。
If it is determined that the learning completion condition is not met (S207: NO), the
学習完了条件を満たすと判断された場合(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
サーバ3は、選択したグローバルモデル51を複数のノード1又は他の情報処理装置へ送信し(ステップS210)、処理を終了する。
The
これにより、各医療施設の画像データに対しての精度が高く、実用性が高いアーキテクチャのモデルを、各医療施設で使用することができる。 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
ノード1の処理部10は、配布されたグローバルモデル51を受信及び記憶すると(S301)、アーキテクチャ毎に、S302からS305の処理を実行する。処理部10は、学習後のグローバルモデル51を、ローカルモデル52として、アーキテクチャを識別するデータと対応付けて記憶する(ステップS336)。
When the
処理部10は、全てのアーキテクチャについて学習を完了したか否か判断する(ステップS337)。
The
学習が完了していないと判断された場合(S337:NO)、処理部10は処理をステップS302へ戻し、次のアーキテクチャについてステップS302からS336の処理を実行する。
If it is determined that learning is not complete (S337: NO), the
全てのアーキテクチャについて学習が完了したと判断された場合(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
これにより、サーバ3は、複数のノード1夫々から、ローカルデータで学習されたローカルモデル52を取得することができる。ローカルデータそのものはサーバ3へ送信されないが、ローカルデータの品質が、サーバ3で区別できるようになる。
This allows the
図27は、第5の実施形態のグローバルモデル51の更新処理の一例を示すフローチャートである。図27のフローチャートに示す処理手順は、図25のフローチャートに示した処理手順の内のステップS204の詳細に対応する。
Figure 27 is a flowchart showing an example of the update process of the
サーバ3の処理部30は、ノード1から送信されるアーキテクチャ毎のローカルモデル52、及び装置データを取得する(ステップS431)。処理部30は、取得したアーキテクチャ毎のローカルモデル52及び装置データを対応付けて記憶する(ステップS432)。ステップS432において処理部30は、ノード1の識別コード別にローカルモデル52を記憶してもよい。
The
処理部30は、更新すべきであるか否かを判断する(ステップS433)。ステップS433において処理部30は、グローバルモデル51を配布した配布先のノード1全てからローカルモデル52を取得できた場合に更新すべきであると判断してもよい。ステップS433において処理部30は、予め決定しておいた代表的の複数のノード1からローカルモデル52を取得できた場合に更新すべきであると判断してもよい。
The
更新すべきであると判断された場合(S433:YES)、サーバ3の処理部30は、複数のノード1におけるデータの特性として、データ量及び装置データを出力し(ステップS434)、重みの設定(編集)を受け付ける(ステップS435)。
If it is determined that an update is required (S433: YES), the
処理部30は、ステップS425で受け付けた重みを用い、各ノード1で学習されたローカルモデル52の加重平均を、アーキテクチャ毎に求める(ステップS436)。処理部30は、ローカルモデル52の加重平均を、アーキテクチャ毎に、新たなグローバルモデル51として更新する(ステップS437)。
The
処理部30は、更新後のグローバルモデル51を、アーキテクチャ毎に、ラウンド情報を示すデータと対応付けて記憶し(ステップS438)、グローバルモデル51の更新処理を終了する。
The
図28は、第5の実施形態における重みの編集画面446を示す。編集画面446は、図27のフローチャートで示したグローバルモデル51の更新中に、サーバ3のステップS434の処理によってモニタ4の表示部43に表示される。重みの編集画面446は、各ノード1におけるローカルデータのデータ量(データ件数)、及びローカルデータを出力する装置の型番の名前を含む。図28の例では、モニタ4を操作するオペレータは、各ノード1におけるローカルデータのデータ量、学習に用いられたローカルデータを出力する撮影装置7の型番を参照しながら、加重平均を算出するための重みの調整が可能である。このとき、重みを0(ゼロ)に設定することで特定のノード1を除外して、サーバ3に加重平均を算出させることも可能である。
Figure 28 shows a
第5の実施形態では、グローバルモデル51の更新(ラウンド)の都度、重み係数を出力し、変更を受け付け可能としたが、1つのバージョン中は1回だけ、編集画面446を表示させるようにしてもよい。同一のバージョンの中で、重み係数を変更しなくてもよい。
In the fifth embodiment, the weighting coefficients are output and changes can be accepted each time the
第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
データの特性はその他、ローカルデータに対するアノテーションの正確性についての評価を、各ノード1で記憶しておき、サーバ3は、その評価の高低に応じた重みによって加重平均を算出してもよい。アノテーションの正確性についての評価は、モニタ4の管理者によって実行されてもよい。
As another data characteristic, an evaluation of the accuracy of annotations for local data may be stored at each
第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
また、第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
上述のように開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれる。 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 ローカルモデル
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 .
請求項3に記載のモデル学習方法。The model learning method according to claim 3 .
請求項3に記載のモデル学習方法。The model learning method according to claim 3 .
前記グローバルモデルの更新のために使用する複数のローカルモデルそれぞれに対する重みの設定を受け付ける編集画面をノードに出力させ、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から請求項6のいずれか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 .
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)
| 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)
| 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 |
-
2020
- 2020-11-09 JP JP2020186618A patent/JP7561005B2/en active Active
Patent Citations (3)
| 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)
| 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 |