MODEL LEARNING METHOD, MODEL LEARNING SYSTEM, SERVER DEVICE, AND COMPUTER PROGRAM

The method allows for secure and efficient model learning by distributing global model data to nodes for local processing, improving accuracy through statistical updates without central data aggregation.

JP7617724B2Active Publication Date: 2025-01-20JSOL
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2020186617
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-11-09
Publication Date
2025-01-20
Estimated Expiration
2040-11-09

AI Technical Summary

Technical Problem

Existing deep learning methods using distributed processing face challenges in aggregating highly confidential data, such as in medicine and finance, requiring individual consent and posing security risks in data management.

Method used

A model learning method that distributes global model data to multiple nodes for local learning, updates the global model based on local data, and uses statistical processing to improve accuracy without aggregating local data on a central server.

Benefits of technology

Enables accurate model learning on distributed data without compromising security, allowing for practical application of learning models even with limited local data access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007617724000001
    Figure 0007617724000001
  • Figure 0007617724000002
    Figure 0007617724000002
  • Figure 0007617724000003
    Figure 0007617724000003
Patent Text Reader

Abstract

To provide a model learning method for facilitating practical use of a learning model based on distributed learning, a model learning system, a server device, and a computer program.SOLUTION: A model learning method includes: distributing data of a global model stored in a server to a plurality of nodes; acquiring data of local models learned based on the global model with local data processed in the nodes; and updating the data of the global model on the basis of the data of the local models acquired from the nodes.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a model learning method, a model learning system, a server device, and a computer program for practical application of distributed learning. [Background technology]

[0002] 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 the accuracy is not necessarily improved.

[0003] Patent Document 1 discloses a method in which multiple replicas of a learning model to be learned are prepared, and the multiple model replicas learn independently and asynchronously. In Patent Document 1, a parameter server is fragmented into multiple parts, and the multiple replicas of the learning model each asynchronously acquire parameters from the fragmented parameter servers, learn, and return the parameters to each parameter server, repeating this process. It is said that such distributed processing allows the parameters of the learning model to converge quickly. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] U.S. Patent No. 8,768,870 Summary of the Invention [Problem to be solved by the invention]

[0005] 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.

[0006] The present invention has been made in consideration of the above circumstances, and aims to provide a model learning method, a model learning system, a server device, and a computer program that promote the practical application of a learning model based on distributed learning. [Means for solving the problem]

[0007] A model learning method of one embodiment of the present disclosure includes a process 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, and updating the global model data based on the plurality of local model data acquired from each of the plurality of nodes.

[0008] A model learning system according to one embodiment of the present disclosure includes a plurality of nodes each processing local data, and a server communicatively connected to the plurality of nodes, wherein the server distributes global model data to the plurality of nodes, and each of the plurality of nodes each proceeds with learning a local model from the global model using the local data to be processed, and the server acquires learned local model data from the plurality of nodes and updates the global model data based on the acquired data for the plurality of local models.

[0009] A server device of one embodiment of the present disclosure includes a communication unit that communicates with a plurality of nodes and a processing unit for storing global model data, and the processing unit distributes the global model data to the plurality of nodes, obtains from the communication unit local model data learned based on the global model data using local data processed by the plurality of nodes, and updates the global model data based on the plurality of local model data obtained from each of the plurality of nodes.

[0010] A computer program according to one 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 based on the global model using local data processed by the plurality of nodes, and updating the global model data based on the plurality of local model data acquired from each of the plurality of nodes.

[0011] In the model learning method, model learning system, server device, and computer program disclosed herein, learning is performed with local data accessible to multiple nodes for distributed global model data, a local model is created, and the data is transmitted to the server. Learning is possible using local data accessible by each of the multiple nodes without aggregating the local data in the server.

[0012] In the model learning method according to an embodiment of the present disclosure, data of the updated global model may be redistributed to the multiple nodes.

[0013] It is expected that the accuracy of the global model can be improved by re-learning the updated global model using local data and then aggregating this data.

[0014] In the model learning method according to an embodiment of the present disclosure, the server performs statistical processing on the local model data acquired from the multiple nodes to update the global model data.

[0015] The global model can be obtained by statistical processing such as averaging or weighted averaging of the local models. Even if the amount of local data accessible to each node is small, a global model that reflects learning from each local data can be created by statistically processing the local models from multiple nodes.

[0016] A model learning method according to an embodiment of the present disclosure may include a process of calculating an evaluation value of the accuracy of the global model using local data of each of the plurality of nodes each time data of the global model is updated, calculating a total evaluation value of the global model based on the different evaluation values ​​calculated at the plurality of nodes, and storing the data of the global model in correspondence with the calculated total evaluation value.

[0017] The total evaluation value is calculated based on the accuracy using local data at each node. The total evaluation value may be an average of the accuracy or a weighted average based on the amount of local data.

[0018] A model learning method according to an embodiment of the present disclosure may include a process of continuing to update the data of the global model until the learning satisfies a predetermined criterion based on the total evaluation value, and allowing the provision of global model data corresponding to the learning result that satisfies the predetermined criterion to the multiple nodes and other devices.

[0019] When the learning is completed to the extent that it is judged that the learning satisfies a predetermined criterion based on the total evaluation value and can be distributed to devices other than the node, the learning is provided not only to the nodes that cooperated in the learning but also to other devices. It becomes possible to widely use a collective intelligence learning model based on the local data of multiple nodes. The predetermined criterion may be set as the fact that the accuracy of the learning does not improve based on the total evaluation value, the total evaluation value is equal to or greater than a predetermined value, etc.

[0020] A model learning method according to an embodiment of the present disclosure may include a process of storing a total evaluation value calculated for the updated global model each time data of the global model is updated, and determining a global model to be redistributed based on the total evaluation.

[0021] In the repeated process of distributing data for a global model, learning a local model, and updating the data for the global model based on the learned data for the local model, the global model in the previous update may be evaluated higher. In an environment where local data is added sequentially, it is expected that accuracy can be improved by occasionally re-learning based on past global models during the repetition.

[0022] A model learning method according to an embodiment of the present disclosure may include a process of comparing a total evaluation value calculated for an updated global model with a total evaluation value for a previously updated global model, and determining, as a result of the comparison, the global model with a higher evaluation as the global model to be redistributed.

[0023] When selecting a past global model, it is advisable to select it based on the total evaluation value.

[0024] In a model learning method of one embodiment of the present disclosure, the multiple nodes sequentially store the amount of local data used to learn the local model, or the learning amount of the local model, and the server may include a process of assigning a weight corresponding to the amount of data or learning amount to each of the local model data aggregated from the multiple nodes and using it to update the data of the global model.

[0025] In a model learning method of one embodiment of the present disclosure, the multiple nodes store characteristics of local data, and the server may include a process of assigning a weight corresponding to the characteristics of the local data of each node to each piece of local model data aggregated from the multiple nodes and using the weight to update the data of the global model.

[0026] In the model learning method of one embodiment of the present disclosure, the characteristics of the local data may be a method of acquiring local data by each node, a specification of a device that outputs the local data, or an accuracy evaluation of the local data.

[0027] The data of the global model based on the local model is calculated by weighted averaging according to the amount of data on which each local model is based or the amount of learning in the local model. The global model may be calculated by weighted averaging according to the characteristics of the local data. The scale or quality of the local data varies from place to place, and it is expected that the accuracy will be improved compared to uniform statistical processing of the local data. The local model is influenced by the method for acquiring the local data, the specifications of the device that outputs the local data, the annotation accuracy when the local data is used as training data, etc. By performing weighted averaging with weights corresponding to these influences, it is expected that the data of the global model will be appropriately updated.

[0028] In a model learning method according to an embodiment of the present disclosure, each time the multiple nodes calculate an evaluation value for a global model after it has been updated by the server based on local data, the evaluation value and data for the global model may be stored, and the updated global model with the highest evaluation value may be selected.

[0029] In addition to the previous update, the global model with the highest evaluation value may be selected from past global models. By re-learning based on the past global models, it is expected that the accuracy will improve. Effect of the Invention

[0030] According to the model training method of the present disclosure, it is possible to train a model based on a large amount of data without aggregating the data for training. The model training method of the present disclosure makes it possible to make model training practical even when the data is highly confidential. [Brief description of the drawings]

[0031] [Figure 1] FIG. 1 is a schematic diagram of a model learning system according to a first embodiment. [Diagram 2] FIG. 2 is a block diagram showing a configuration of a node. [Diagram 3] FIG. 2 is a block diagram showing a configuration of a server. [Figure 4] 13 is a flowchart showing an example of a learning process procedure in the model learning system. [Diagram 5] 13 is a flowchart illustrating an example of a learning process procedure for a local model based on a distributed global model. [Figure 6] 13 is a flowchart illustrating an example of a global model update process in the server. [Figure 7] An example of the screen displayed on the node is shown below. [Figure 8] 13 is a flowchart showing an example of a learning process procedure in the model learning system of the second embodiment. [Figure 9] 13 is a flowchart showing an example of a learning process procedure in the model learning system of the third embodiment. [Figure 10] 13 is a flowchart showing an example of a learning process procedure in the model learning system of the third embodiment. [Figure 11] FIG. 13 is a schematic diagram of model learning in the third embodiment. [Figure 12] 13 is a flowchart illustrating an example of a learning process procedure for a local model in a node according to the fourth embodiment. [Figure 13] 13 is a flowchart illustrating an example of a global model update process in the server of the fourth embodiment. [Figure 14] FIG. 13 is a schematic diagram of a model learning system according to a fifth embodiment. [Figure 15] 13 is a flowchart showing an example of a learning process procedure in the model learning system of the fifth embodiment. [Figure 16] 13 is a flowchart illustrating an example of a learning process procedure for a local model in the fifth embodiment. [Figure 17]13 is a flowchart illustrating an example of a global model update process in the server of the fifth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0032] The present disclosure will be specifically described with reference to the drawings showing the embodiments thereof.

[0033] (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 node 1 and the server 3 for communication.

[0034] The storage device 2 is capable of inputting and outputting data between devices that input and output data to be learned, such as a sensor that measures physical quantities and a camera that captures images, and stores the data. The storage device 2 may be connected to a computer for a specific purpose that outputs data according to data input by an 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.

[0035] When the node 1 receives input of data of the same type as the data stored in the storage device 2, the 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. The server 3 is a computer that provides the node 1 with a model, and also realizes a model learning system 100 that learns the model in cooperation with the node 1. In order to execute model learning using the data stored in the storage device 2 (hereinafter referred to as local data) as training data, it is necessary to be able to access these. The model learning system 100 of this embodiment can proceed with learning in a state in which access to the local data from the server 3 is disabled.

[0036] 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 trained parameters, or both trained parameters and a program. The global model 51 may be definition data (including a network definition, loss, and pre-set hyperparameters) that defines the configuration of the model, and parameters such as weight coefficients to be trained.

[0037] The model to be trained can have any architecture as long as it is the subject of learning called deep learning. The type of deep learning model should be appropriately selected according to the contents of the input data and output data. The model to be trained described below may be any of a classification system, detection system, or generation system using a CNN (Convolutional Neural Network) including a convolutional layer, or may be an RNN (Recurrent Neural Network) that learns by adding time series elements.

[0038] The communication network N includes a public communication network, which is the so-called Internet, and a carrier network. The communication network N may be a dedicated line for the model learning system 100.

[0039] Node 1 can access local data stored in storage device 2 based on a local network LN between node 1 and storage device 2. Node 1 executes deep learning using the accessible local data. It is preferable that an operator at the location where node 1 is installed has already performed annotation on the local data. Node 1 obtains a zeroth global model 51 distributed from server 3. Based on the zeroth global model 51, node 1 proceeds with learning using local data as training data to obtain a first local model 52.

[0040] The node 1 transmits the first local model 52 to the server 3. Since the local data is not transmitted to the server 3, processing such as abstraction and anonymization of the local data is not required.

[0041] The server 3 receives a plurality of first local models 52 from each of the plurality of nodes 1, and executes statistical processing on the received plurality of first local models 52 to create a first global model 51. The server 3 redistributes the first global model 51 to the plurality of nodes 1. The redistributed global model 51 may include only a weighting coefficient. The redistributed weighting coefficient may be a learning target or may be the entire weighting coefficient. The redistributed global model 51 may correspond to a difference from the previous update.

[0042] The model learning system 100 repeats the following steps: distribution of an n-th order global model 51 from the server 3 to the node 1, learning of the n-th order global model 51 using local data in the node 1, transmission of the (n+1)-th order local model 52 obtained by learning to the server 3, collection of the (n+1)-th order local model 52 in the server 3, and creation (update) of the (n+1)-th order global model 51. An upper limit may be set in advance for "n", or the update may be manually stopped in the middle of the update by an operator of the server 3. An operation instruction to the server 3 from the operator may be possible only from within the same local network as the server 3 (on-premise type), or may be possible from, for example, the node 1 via the communication network N (cloud type).

[0043] This allows for distributed learning without allowing access to local data from server 3.

[0044] The global model 51, which has been trained by distributed learning to an accuracy that allows it to be distributed to nodes other than the node 1, is distributed to and used by the information processing devices 4 that do not participate in the creation of the local model 52, in addition to each node 1.

[0045] The configuration of model learning system 100 for implementing such a learning method will now be described in detail.

[0046] 2 is a block diagram showing the configuration of the node 1. The node 1 is a personal computer or a server computer. The node 1 includes a processing unit 10, a storage unit 11, a communication unit 12, a display unit 13, and an operation unit .

[0047] The processing unit 10 is a processor using a CPU (Central Processing Unit) and / or a GPU (Graphics Processing Unit). Based on a node program 1P stored in a storage unit 11, the processing unit 10 executes processes including reading data from the storage device 2, transmitting and receiving models to and from the server 3, and learning models.

[0048] 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.

[0049] 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 through the communication unit 12 and transmits and receives the data to and from the server 3.

[0050] The display unit 13 is a display such as a liquid crystal display, an organic EL (Electro Luminescence) display, etc. The display unit 13 displays a screen including information based on data stored in the storage unit 11 or data provided from the server 3. The display unit 13 may be a display with a built-in touch panel.

[0051] The operation unit 14 is a user interface such as a keyboard and a pointing device capable of inputting and outputting 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 an operator of the node 1.

[0052] 3 is a block diagram showing the configuration of the server 3. The server 3 is a server computer. The server 3 includes a processing unit 30, a storage unit 31, and a communication unit 32. In the following description, the server 3 is described as being configured by one server computer, but it may be configured in a manner in which a plurality of server computers are communicatively connected via a network for distributed processing. The server 3 may be a cloud type that can be communicatively connected from each node 1 via a communication network N, or may be an on-premise type that is communicatively connected to each node 1 via a virtual private network.

[0053] The processing unit 30 is a processor using a CPU and / or a GPU. The processing unit 30 executes a learning process of the global model 51 based on a server program 3P stored in the storage unit 31.

[0054] The storage unit 31 uses a non-volatile memory such as a hard disk or SSD. The storage unit 31 stores data referenced by the processing unit 30. The storage unit 31 stores a server program 3P. The storage unit 31 stores a global model 51 to be learned and local models 52 transmitted from multiple nodes 1. The server program 3P may be a server program 9P stored in a recording medium 9 that is read by the processing unit 30 and copied to the storage unit 31.

[0055] 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 to and from the multiple nodes 1 via the communication unit 32.

[0056] A description will be given of a learning process procedure in the model learning system 100 configured as above.

[0057] The server 3 acquires an initial (0th order) global model 51 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 the 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 stored in advance in the storage unit 31.

[0058] The server 3 distributes the acquired 0th order global model 51 to the node 1 (step S2).

[0059] The server 3 acquires a local model 52 to be learned by the node 1 based on the global model 51 distributed to the node 1 (step S3).

[0060] The server 3 executes statistical processing on the acquired local model 52, and updates it to the next-generation global model 51 (step S4). In step S4, the server 3 may increment the number of updates (rounds).

[0061] The server 3 determines whether the updated global model 51 satisfies the learning completion condition (step S5).

[0062] In step S5, the server 3 may, for example, make a judgment based on whether the number of learning attempts has reached a predetermined number. When input data of training data at a specific node 1 or a specific location is input to the global model 51, the server 3 may make a judgment based on whether the accuracy of outputting corresponding output data satisfies a predetermined condition (above a predetermined value, no improvement is observed, etc.). The server 3 may also judge whether the learning completion condition is met by a method described later. In step S5, the server 3 may judge whether an instruction to stop learning has been given by the operator's operation even if the number of learning attempts has not reached the predetermined number, and if an instruction has been given, may judge in step S5 that the condition is met.

[0063] If it is determined that the learning completion condition is not satisfied (S5: NO), the server 3 redistributes the updated global model 51 to the multiple nodes 1 (step S6), and returns the process to step S3.

[0064] In step S6, the server 3 may redistribute only parameters such as weighting coefficients, rather than redistributing the global model 51 as is.

[0065] In step S6, the server 3 may also transmit data indicating how many times the global model 51 has been updated, i.e., data indicating "n" of the nth global model 51. In step S6, if the server 3 can obtain learning round information as described below, the server 3 may transmit the round information in association with the global model 51. The round information is information indicating the number of times distribution to the nodes 1 and statistical processing were performed until it is determined that the learning completion condition is satisfied. The server 3 may also transmit data indicating the type of global model 51, for example, the type of architecture that was used for deep learning, to the node 1.

[0066] If it is determined that the learning completion condition is satisfied (S5: YES), the server 3 stores the updated global model 51 as a global model 51 that can be distributed to devices other than the node 1 (step S7).

[0067] The server 3 transmits the stored global model 51 to the multiple nodes 1 or other information processing devices (step S8), and ends the process. The other information processing devices are devices that use the same type of data as the learning target, like the node 1, but do not provide local data for training.

[0068] 4 may be executed periodically, for example, once a month. Each time the server 3 executes the process shown in the flowchart of Fig. 4, the version of the global model is upgraded, making it a more practical model.

[0069] Fig. 5 is a flowchart showing an example of a learning process procedure for the local model 52 based on the distributed global model 51. The process shown in the flowchart in Fig. 5 is executed by each of the multiple nodes 1 when the server 3 distributes the global model 51 in step S2 or step S6.

[0070] The processing unit 10 of the node 1 receives the distributed global model 51 and stores it in the storage unit 11 (step S301).

[0071] The processing unit 10 of the 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 execute learning (step S304).

[0072] In step S304, the processing unit 10 inputs the input data included in the local data to the loaded global model 51. The processing unit 10 calculates a loss function for the output data and the result data corresponding to the input data included in the local data. The processing unit may proceed with learning based on the match rate between the output data and the result data corresponding to the input data included in the local data, and whether or not they match. The processing unit 10 learns parameters including weight coefficients in the distributed global model 51 based on the calculated loss function.

[0073] The processing unit 10 of the node 1 determines whether or not the learning completion condition is satisfied (step S305). In step S305, the processing unit 10 may set the learning completion condition to be that the number of times of learning satisfies a predetermined number (one or more). The processing unit 10 may determine that the learning completion condition is satisfied 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 satisfied when the change in accuracy falls within a predetermined range and can be determined to have converged.

[0074] If it is determined that the learning completion condition is not satisfied (S305: NO), the processing unit 10 returns the process to step S304, whereby the learning is continued.

[0075] If it is determined that the learning completion condition is satisfied (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).

[0076] 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 acquire the local model 52 trained with the local data from each of the multiple nodes 1.

[0077] In step S307, the processing unit 10 may also transmit data indicating "n" indicating whether the local model 52 is the nth order or whether the original global model 51 is the nth order. In step S307, when the node 1 obtains round information up to the completion of one learning round as described later, the node 1 may transmit the round information in association with the local model 52.

[0078] It should be noted that the process shown in the flowchart of Fig. 5 does not transmit local data from node 1 to server 3. No anonymization of the local data is performed. The data transmitted from node 1 is the model itself. The characteristics of the local data are reflected, but the data is not transmitted.

[0079] 6 is a flowchart showing an example of an update process of the global model 51 in the server 3. The process procedure shown in the flowchart of FIG. 6 corresponds to details of step S4 in the process procedure shown in the flowchart of FIG.

[0080] 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 from each node 1 asynchronously.

[0081] 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 the local models 52 have been 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 the local models 52 have been acquired from a plurality of representative nodes 1 determined in advance.

[0082] If it is determined that the update is not necessary (S403: NO), the processing unit 30 of the server 3 returns the process to step S401. Until it is determined that the update is necessary, the local models 52 transmitted from each node 1 are acquired and aggregated.

[0083] If it is determined that an update is necessary (S403: YES), the processing unit 30 of the server 3 calculates an 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).

[0084] The processing unit 30 stores the updated global model 51 in association with data indicating the number of rounds (nth order) (step S406), and ends the update process of the global model 51. As a result, the (n-1)th order global model 51 is updated to the nth order global model 51.

[0085] The global model 51 for which the update has been completed can be used by each node 1 and the information processing device 4. Fig. 7 shows an example of a screen displayed on the node 1. An update result screen 431 in Fig. 7 is displayed on the display unit 13 of the node 1 based on a Web page provided by the server 3. The update result screen 431 displays a list of global models 51 stored as distributable models. The update result screen 431 shows the model name and update date and time of the latest global model 51 automatically distributed to the node 1 from the server 3.

[0086] The global model 51 for which the update has been completed by the server 3 may be selectively used by each node 1 and the information processing device 4. The update result screen 431 may include a link to download in the text representing the model name for identifying the global model 51, making it selectable. The text for identifying each global model 51 may include an interface such as a download icon. The selected model may be stored in the node 1 only when the operator of the node 1 or the information processing device 4 selects one of the models on the update result screen 431. In this case, the global model 51 provided as a distributable model is downloaded to the node 1 or the information processing device 4 and becomes available. In this case, it is preferable that each model displays information on evaluation and accuracy that serves as a criterion for the operator to determine whether to select it or not.

[0087] As described above, in the model learning system 100 of the first embodiment, the global model 51 is put to practical use based on the learning results using the local data stored in each location, without the local data being transmitted to the server 3. 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 to practical use sooner than learning using a large amount of data aggregated in one location.

[0088] 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 is omitted.

[0089] Fig. 8 is a flowchart showing an example of a learning process procedure in the model learning system 100 of the second embodiment. Among the process procedures shown in the flowchart of Fig. 8, the same step numbers are used for the steps common to the process procedures shown in the flowchart of Fig. 4, and detailed descriptions thereof will be omitted.

[0090] 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 the multiple nodes 1 (step S501).

[0091] Each of the multiple nodes 1 that have received the updated global model 51 reads local data from the storage device 2 using the transmitted global model 51, and performs accuracy evaluation on the input data. The processing unit 10 of the node 1 calculates the accuracy when the input data of the local data is input, and transmits it to the server 3. The processing unit 10 may calculate, as the accuracy, a matching rate between output data when the input data in the local data is input to the global model 51, and output data in the local data corresponding to the input data. The processing unit 10 may accept the accuracy evaluation from an operator of the node 1 via the operation unit 14.

[0092] The processing unit 30 of the server 3 acquires the evaluation value transmitted 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 an average value of accuracy, an average of match rates, or an average of evaluations received from operators.

[0093] The processing unit 30 determines whether the calculated total evaluation value satisfies a predetermined criterion (step S504), and if it is determined that the calculated total evaluation value satisfies the predetermined criterion (S504: YES), the processing proceeds to step S7. In step S504, the processing unit 30 may determine whether to stop updating the global model 51.

[0094] If it is determined that the predetermined criterion is not satisfied (S504: NO), the processing unit 30 advances the process to step S6.

[0095] In step S504, the predetermined criterion is, for example, the evaluation value being the accuracy, and if the evaluation value is the average, the threshold value for that value. Alternatively, the predetermined condition may be B or higher if the evaluation is A, B, or C, or may be a condition such as good / passable / fail for the evaluation. Another predetermined condition may be that the accuracy is stable. The predetermined condition may be satisfied when the change in the evaluation value becomes smaller as the learning progresses.

[0096] The evaluation can be derived based on the usefulness using local data at node 1 and provided as a distributable model if accuracy is recognized at each node 1.

[0097] (Third embodiment) In the third embodiment, the server 3 determines the global model 51 to be distributed by comparing with the previously updated global model 51. Since the configuration of the model learning system 100 of the third embodiment is similar to the configuration of the model learning system 100 of the first embodiment, the same reference numerals are used for the common configuration and detailed description will be omitted.

[0098] Figures 9 and 10 are flowcharts showing an example of a learning process procedure in the model learning system 100 of the third embodiment. Among the process procedures shown in the flowcharts of Figures 9 and 10, the same step numbers are used for the process procedures common to the flowchart of Figure 8 of the second embodiment, and detailed descriptions thereof will be omitted.

[0099] The server 3 transmits the global model 51 after the update in step S4 and the global model 51 before the update to each node 1 (step S511).

[0100] The server 3 acquires the evaluation value of each global model 51 from the multiple destination nodes 1 (step S512) and calculates a total evaluation value (step S513). The server 3 stores the updated global model 51 and the total evaluation value in the storage unit 31 in association with the round information (step S514). The round information is data indicating how many times the global model 51 has been updated until one learning (version) is completed, and is information on the nth order "n".

[0101] The server 3 compares the total evaluation value calculated for the updated global model 51 in step S513 with the total evaluation value for the pre-update global model 51 (step S515).

[0102] In step S515, the server 3 may compare the values ​​when the total evaluation value is a numerical value, or may compare the evaluation contents when the total evaluation value is a multi-level evaluation. In step S515, the server 3 may compare the total evaluation values ​​for three or more global models 51 when the server 3 has stored past updated global models 51 without discarding them.

[0103] The server 3 determines the global model 51 with the higher evaluation as the latest global model 51 to be distributed (step S516). The server 3 may delete (discard) the global model 51 with the lower evaluation from the storage unit 31.

[0104] The server 3 determines whether the total evaluation value calculated in step S513 for the determined global model 51 satisfies a predetermined criterion (step S517). The predetermined criterion is that, if the evaluation value is accuracy and the total evaluation value is its average, the predetermined criterion is a threshold value for that value. Alternatively, the predetermined condition may be that the evaluation is B or higher if the evaluation is A, B, or C, or may be a condition such as good / passable / fail for the evaluation. Another predetermined condition may be that the accuracy is stable. The predetermined condition may be satisfied when the change in the evaluation value becomes smaller as the learning progresses.

[0105] If it is determined that the predetermined criterion is not met (S517: NO), the server 3 redistributes the global model 51 to be distributed to each node 1 (step S518), and returns the process to step S3.

[0106] If it is determined that the predetermined criteria are met (S517: YES), the server 3 stores the determined global model 51 in the storage unit 31 as a model that can be distributed to other devices (step S519), and the process proceeds to step S8.

[0107] Fig. 11 is a schematic diagram of model learning according to the third embodiment. The schematic diagram of Fig. 11 shows that when updating a global model, if the n-th global model 51 after the previous update has a higher evaluation than the n+1-th global model 51 after the current update, the server 3 selects the previous n-th global model 51. Compared with the schematic diagram of the model learning system in Fig. 1, it shows that the global model 51 is not always adopted as it is updated.

[0108] During one update of the global model 51, the local data is increased or updated in each node 1. Even if the previously updated n-th global model 51 continues to be used, the evaluation based on the local data accessible to each node 1 may change. Even with the same global model 51, a global model 51 with a higher evaluation can be obtained.

[0109] This makes it possible to carry out distributed learning so as to improve accuracy.

[0110] (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.

[0111] In the model learning system 100 of the fourth embodiment, the server 3 executes a learning process procedure, which is any one of the process procedures shown in the flowchart of Fig. 4 of the first embodiment, the process procedures shown in the flowchart of Fig. 8 of the second embodiment, and the process procedures shown in the flowcharts of Fig. 9 and Fig. 10 of the third embodiment. In the fourth embodiment, among these process procedures, the update process of step S4 is different. In addition, in response to the difference in the update process, the contents of the data transmitted from the node 1 are also different from those described in the first embodiment.

[0112] Fig. 12 is a flowchart showing an example of a learning process procedure of the local model 52 in the node 1 of the fourth embodiment. Among the process procedures shown in the flowchart of Fig. 12, the same steps as those shown in the flowchart of Fig. 6 in the first embodiment are denoted by the same step numbers, and detailed descriptions thereof will be omitted.

[0113] The processing unit 10 of the node 1 acquires the local data stored at that time from the storage device 2 (S303), calculates the amount of local data (number of data items) (step S313), and advances the process to step S304.

[0114] The processing unit 10 of the node 1 calculates the amount of learning (step S314) every time learning is executed (S304), and judges whether or not the learning completion condition is satisfied (S305).

[0115] In step S314, the processing unit 10 may calculate the number of times the learning is repeated as the amount of learning, may calculate the degree of improvement in accuracy from the local model 52 in the previous round as the amount of learning, or may calculate the amount of change in the local model 52 as the amount of learning.

[0116] In step S305, the processing unit 10 may determine that the learning completion condition is satisfied when the accuracy of the output data from the neural network for the local data as a result of the learning satisfies a predetermined condition, for example, when the accuracy is equal to or greater than a predetermined value. The processing unit 10 may determine that the learning completion condition is satisfied when the amount of learning (number of times of learning) is equal to or greater than a predetermined amount (predetermined number of times).

[0117] The processing unit 10 of the node 1 transmits the amount of data calculated in step S313 or the amount of learning counted together with the trained local model 52 to the server 3 (step S315), and ends the process. This enables the server 3 to acquire 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.

[0118] In the fourth embodiment, the node 1 also transmits the amount of local data, but does not transmit the data itself to the server 3.

[0119] Fig. 13 is a flowchart showing an example of an update process of the global model 51 in the server 3 of the fourth embodiment. Among the process steps shown in the flowchart of Fig. 13, the same step numbers are assigned to the process steps in common with the process steps shown in the flowchart of Fig. 7 of the first embodiment, and detailed descriptions thereof will be omitted.

[0120] The processing unit 30 of the server 3 acquires the local model 52 and the amount of data or the amount of learning transmitted from each node 1 (step S411), and stores the local model 52 and the amount of data or the amount of learning in association with the identification data of the node 1 (step S412). In step S411, the processing unit 30 of the server 3 acquires the local model 52 transmitted from each node 1 asynchronously.

[0121] If it is determined that an update is necessary (S403: YES), the processing unit 30 of the server 3 obtains a weighted average by weighting the amount of data or the amount of learning to the local models 52 from the multiple nodes 1 (step S414). The processing unit 30 updates the weighted average of the local models 52 as a new global model 51 (step S415).

[0122] The processing unit 30 stores the updated global model 51 in association with the data indicating the round information (S406), and ends the update process of the global model 51.

[0123] The update process shown in the flowchart of FIG. 13 is continued until the accuracy of the updated global model 51 satisfies a predetermined standard.

[0124] The update method in the fourth embodiment makes it possible to handle models trained with local data having different amounts of data according to the amount of data and to appropriately evaluate them. In addition, the performance of the global model 51 can be expected to be improved compared to simply averaging the local models 52 with different amounts of training.

[0125] 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 deposit and withdrawal 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.

[0126] 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 supports diagnosis of whether or not a patient has a symptom of a specific disease from 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.

[0127] 14 is a schematic diagram of model learning system 100 of the fifth embodiment. The configuration of model learning system 100 in the fifth embodiment is basically the same as that of model learning system 100 of the first embodiment. In model learning system 100 of the fifth embodiment, the configurations common to model learning system 100 of the first embodiment are assigned the same reference numerals and detailed explanations are omitted.

[0128] 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 a photographing device that photographs the fundus of a patient. In the medical facility where the node 1 is provided, the photographing device outputs image data to a storage device 2. The photographing device includes different types of devices.

[0129] 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 portion and the cup portion of a fundus photograph as output data. The output data may also be a data set including the determination result of a doctor or technician as to whether or not symptoms are observed. The image data that is input data for the local data is associated with device data indicating the type of imaging device. The device data may be a model number or data identifying the device manufacturer.

[0130] In the model learning system 100 in the fifth embodiment, the server 3 acquires an initial global model (0th order global model) 51 created in advance with a plurality of different architectures in a specific medical facility. The server 3 distributes the 0th order global models 51 with different architectures to the nodes 1 of the medical facilities that cooperate in the training.

[0131] Each node 1 receives the distributed multiple 0th order global models 51, and proceeds with learning using local data as training data based on different 0th order global models 51, respectively, to obtain multiple first order local models 52. The node 1 transmits the first order local models 52 trained with different architectures to the server 3.

[0132] 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 the multiple nodes 1.

[0133] The server 3 repeatedly acquires 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.

[0134] The server 3 compares the global models 51 obtained by repeatedly performing the process 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.

[0135] This makes it possible to learn using a large amount of data across different medical facilities without consolidating image data of test results, which is personal information itself, in the server 3.

[0136] FIG. 15 is a flowchart showing an example of a learning process procedure in the model learning system 100 of the fifth embodiment.

[0137] The server 3 acquires an initial (0th order) global model 51 created with a different architecture in a specific medical facility (step S201). The acquisition in step S201 includes reading out the global model 51 stored in advance in the storage unit 31.

[0138] The server 3 distributes the acquired multiple 0th order global models 51 to each node 1 (step S202).

[0139] The server 3 acquires a local model 52 to be learned by the node 1 for each different architecture based on the global model 51 distributed to the node 1 (step S203).

[0140] The server 3 executes statistical processing for each different architecture on the acquired local model 52, and updates it to the next-generation global model 51 (step S204). In step S204, the server 3 may increment the number of updates.

[0141] The server 3 judges whether or not the learning completion condition is satisfied (step S205).

[0142] In step S205, the server 3 makes a determination 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 determination based on whether the accuracy of outputting corresponding output data in any of a plurality of global models 51 satisfies a predetermined condition. As shown in the second to fourth embodiments, the learning completion condition may be that a total evaluation value is calculated from the evaluation values ​​for the global model 51 transmitted to each node 1, and the total evaluation value satisfies a predetermined criterion.

[0143] If it is determined that the learning completion condition is not satisfied (S205: NO), the server 3 redistributes the updated global model 51 of each architecture to the multiple nodes 1 (step S206), and returns the process to step S203.

[0144] If it is determined that the learning completion condition is satisfied (S205: YES), the server 3 selects one or more global models 51 that can be distributed from the global models 51 of each architecture after the update (step S207). In step S207, the server 3 selects, for example, one or more global models 51 with relatively high accuracy.

[0145] The server 3 transmits the stored global model 51 to the multiple nodes 1 or other information processing devices (step S208), and ends the process.

[0146] This allows each medical facility to use a model with a highly accurate and practical architecture for the image data of the medical facility. The server 3 may then update the version of the global model 51 once it is transmitted as a distributable model by executing the process shown in the flowchart of FIG.

[0147] Fig. 16 is a flowchart showing an example of a learning process procedure of the local model 52 in the fifth embodiment. The process shown in the flowchart in Fig. 16 is executed by each of the multiple nodes 1 when the server 3 distributes the global model 51 in step S202 or step S206. Among the process procedures shown in the flowchart in Fig. 16, steps common to the process procedures shown in the flowchart in Fig. 6 of the first embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.

[0148] When the processing unit 10 of the 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 for identifying the architecture (step S316).

[0149] The processing unit 10 calculates an evaluation of the output accuracy of the local model 52 at the time when learning is completed, based on the local data (step S317). In step S317, the processing unit 10 may calculate, as the accuracy evaluation, the average of the accuracy output when the input data of the local data is provided to the local model 52. The processing unit 10 may calculate, as the accuracy evaluation, the matching rate at which the output data when the local data is input to the local model 52 matches the output data of the training data. The processing unit 10 may accept the accuracy evaluation at the operation unit 14.

[0150] The processing unit 10 judges whether or not the learning has been completed for all the architectures (step S318).

[0151] If it is determined that the learning is not completed (S318: NO), the processing unit 10 returns the process to step S302, and executes the processes from step S302 to S317 for the next architecture.

[0152] If it is determined that learning has been completed for all architectures (S318: YES), the processing unit 10 of the node 1 transmits the stored local model 52 and its accuracy evaluation to the server 3 in association with the device data, which is a characteristic of the local data (step S319). Then, the processing unit 10 ends the n-th learning process in the node 1.

[0153] This allows the server 3 to obtain a local model 52 trained with local data from each of the multiple nodes 1. Although the local data itself is not transmitted to the server 3, the quality of the local data can be distinguished by the server 3.

[0154] Fig. 17 is a flowchart showing an example of an update process of the global model 51 in the server 3 of the fifth embodiment. The process procedure shown in the flowchart of Fig. 17 corresponds to details of step S204 in the process procedure shown in the flowchart of Fig. 15. Among the process procedures shown in the flowchart of Fig. 17, the same step numbers are assigned to steps common to the process procedure shown in the flowchart of Fig. 6 of the first embodiment, and detailed descriptions thereof will be omitted.

[0155] The processing unit 30 of the server 3 acquires the local model 52 for each architecture, the accuracy evaluation, and the device data transmitted from the node 1 (step S421). The processing unit 30 stores the acquired local model 52 for each architecture, the accuracy evaluation in the node 1, and the device data in association with the identification code of the node 1 (step S422).

[0156] If it is determined that an update is necessary (S403: YES), the processing unit 30 of the server 3 excludes the local models 52 from the multiple nodes 1 that have an accuracy evaluation lower than a predetermined evaluation (step S423). The processing unit 30 calculates a weighted average for each architecture by applying weights associated with the device data to the excluded local models 52 (step S424). The processing unit 30 updates the weighted average of the local models 52 as a new global model 51 for each architecture (step S425).

[0157] The weights associated with the device data in step S424 are stored in advance in the storage unit 31. The weights may be large for local models 52 trained from local data of image data obtained from new devices and high quality, and small for local models 52 trained from local data of image data obtained from old devices. The weights may be large as the number of devices in use in medical facilities increases, so that a model with high versatility may be created. It is expected that the accuracy will be improved when a weight according to the quality of the local data is assigned to the local models 52 to calculate the weighted average, compared to when the local models 52 trained from local data collected with different qualities are averaged as is.

[0158] In step S424, the local models 52 with accuracy evaluations lower than a predetermined evaluation are excluded, thereby creating a global model 51 that takes into account weights according to the evaluations. Note that a threshold value for the predetermined evaluation may be set in advance by an operator of the server 3. Access from the operator of the server 3 may be permitted via the node 1 to receive the evaluation of the local model 52.

[0159] In the above example, in step S424, the weight is adopted as the data associated with the device data. However, the present invention is not limited to this. Each node 1 may store an evaluation of the accuracy of the annotation for the local data, and the server 3 may calculate a weighted average according to the weight according to the high or low of the evaluation. The evaluation of the accuracy of the annotation may be performed by an administrator of the node 1.

[0160] The processing unit 30 stores the global model 51 updated in step S425 in the storage unit 31 for each architecture (step S426), and ends the process.

[0161] 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, age distribution, or regionality of the patients. These abstracted data may be reflected in the local model 52.

[0162] In the fifth embodiment, the update process shown in the flowchart in FIG. 17 is continued until the updated global model 51 satisfies the learning completion condition.

[0163] By the update method in the fifth embodiment, models trained by local data of different quality can be integrated by changing the weight according to the quality of the data. This is expected to improve the performance of the global model 51 compared to simply averaging local models 52 of different quality.

[0164] The update method in the fifth embodiment allows evaluation of which of the CNNs with different architectures the global model 51 is most appropriate, making it practical to use.

[0165] 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. [Explanation of symbols]

[0166] 1 Node 10 Processing section 2 Storage device 3 Server 30 Processing section 51 Global Model 52 Local Model

Claims

1. Distributing global model data stored in the server to multiple nodes; acquiring data of a local model trained on the global model using local data processed by the plurality of nodes together with characteristics of the local data; The data of the global model is updated by assigning weights to the data of the local models acquired from each of the plurality of nodes, the weights corresponding to the characteristics of the local data used in training each of the local models. Processing is performed by the server; A model learning method, wherein the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data.

2. Distributing global model data stored in the server to multiple nodes; acquiring data of a local model trained on the global model using local data processed by the plurality of nodes together with characteristics of the local data; The data of the global model is updated by assigning weights to the data of the local models acquired from each of the plurality of nodes, the weights corresponding to the characteristics of the local data used in training each of the local models. Processing is performed by the server; The characteristics of the local data are attributes of a person from whom the local data was obtained, A model learning method, wherein the weights are preset based on the gender ratio, age distribution, or regionality of the persons.

3. Redistributing the updated global model data to the plurality of nodes. The model learning method according to claim 1 or 2, further comprising the steps of:

4. The server performs statistical processing on the data of the local model acquired from the plurality of nodes to update the data of the global model. The model learning method according to any one of claims 1 to 3.

5. Each time the data of the global model is updated, an evaluation value of the accuracy of the global model is calculated using local data of each of the plurality of nodes; calculating a total evaluation value of the global model based on the different evaluation values ​​calculated at the plurality of nodes; The data of the global model is stored in association with the calculated total evaluation value. The model learning method according to claim 1 , further comprising the steps of:

6. continuing to update the data of the global model based on the total evaluation value until the learning satisfies a predetermined criterion; Allowing provision of data of a global model corresponding to a learning result that satisfies the predetermined criteria to the plurality of nodes and other devices. The model learning method according to claim 5, further comprising the steps of:

7. Each time the data of the global model is updated, A total evaluation value calculated for the updated global model is stored. Determine a global model for redistribution based on total ratings The model learning method according to claim 5 or 6, further comprising the steps of:

8. A total evaluation value calculated for the updated global model is compared with a total evaluation value for the previously updated global model; As a result of the comparison, the global model with the higher evaluation is determined as the global model to be redistributed. The method of claim 7, further comprising the steps of:

9. the plurality of nodes sequentially store an amount of local data used in learning a local model or an amount of learning of the local model; The server assigns a weight corresponding to the amount of data or the amount of learning to each of the local model data aggregated from the plurality of nodes and uses the weight to update the data of the global model. The model learning method according to claim 1 , further comprising the steps of:

10. The local data is image data, and the characteristic is image quality of the image data output by the device, The higher the image quality of the image data, the greater the weighting. The model training method according to claim 1 .

11. The characteristic is a model number of a device that outputs the local data, The more popular the device model number, the more weight is given to the local data output. The model training method according to claim 1 .

12. storing, in the plurality of nodes, an evaluation value for a global model updated by the server based on local data, the evaluation value and data of the global model; Select the updated global model with the highest evaluation value. The model learning method according to claim 5 .

13. The system includes a plurality of nodes each processing local data, and a server connected to the plurality of nodes for communication; The server distributes data of a global model to the plurality of nodes; each of the plurality of nodes learns a local model from the global model using local data to be processed; The server, obtaining trained local model data from the plurality of nodes together with characteristics of the local data used in training; the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data; The server updates the data of the global model by assigning weights to the acquired data of the local models corresponding to characteristics of the local data used in training each of the local models. Model learning system.

14. A system including a plurality of nodes each processing local data, and a server connected to the plurality of nodes for communication therewith, The server distributes data of a global model to the plurality of nodes; each of the plurality of nodes learns a local model from the global model using local data to be processed; The server, obtaining trained local model data from the plurality of nodes together with characteristics of the local data used in training; The characteristics of the local data are attributes of a person from whom the local data was obtained, The data of the global model is updated by assigning weights, which are preset according to the gender ratio, age distribution, or regionality of the people, to the data of the multiple local models acquired from each of the multiple nodes as weights corresponding to the characteristics of the local data used in learning each local model. Model learning system.

15. A communication unit that communicates with a plurality of nodes; A processing unit for storing data of a global model; Equipped with The processing unit Distributing the global model data to a plurality of nodes; execute a process of acquiring data of a local model learned based on data of the global model by local data processed by the plurality of nodes from the communication unit together with characteristics of the local data; the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data; The processing unit updates the data of the global model by assigning weights to the data of the local models acquired from each of the plurality of nodes, the weights corresponding to characteristics of the local data used in training each of the local models. Server device.

16. A communication unit that communicates with a plurality of nodes; A processing unit for storing data of a global model; Equipped with The processing unit Distributing the global model data to a plurality of nodes; execute a process of acquiring data of a local model learned based on data of the global model by local data processed by the plurality of nodes from the communication unit together with characteristics of the local data; The characteristics of the local data are attributes of a person from whom the local data was obtained, The data of the global model is updated by assigning weights, which are preset according to the gender ratio, age distribution, or regionality of the people, to the data of the multiple local models acquired from each of the multiple nodes as weights corresponding to the characteristics of the local data used in learning each local model. Server device.

17. A computer that can communicate with multiple nodes. Distributing the stored global model data to the plurality of nodes; executing a process of acquiring data of a local model learned based on the global model by local data processed by the plurality of nodes together with characteristics of the local data; the characteristics of the local data are a method for acquiring the local data by each node or a specification of a device that outputs the local data; The computer includes: The data of the global model is updated by assigning weights to the data of the local models acquired from each of the plurality of nodes, the weights corresponding to the characteristics of the local data used in training each of the local models. A computer program that executes a process.

18. A computer capable of communication with a plurality of nodes, Distributing the stored global model data to the plurality of nodes; executing a process of acquiring data of a local model learned based on the global model by local data processed by the plurality of nodes together with characteristics of the local data; The characteristics of the local data are attributes of a person from whom the local data was obtained, The computer includes: The data of the global model is updated by assigning weights, which are preset according to the gender ratio, age distribution, or regionality of the people, to the data of the multiple local models acquired from each of the multiple nodes as weights corresponding to the characteristics of the local data used in learning each local model. A computer program that executes a process.

Citation Information

Patent Citations

  • Quality-aware edge intelligent federated learning method and system

    CN111754000A

  • Distributed machine learning system, apparatus, and method

    JP2019526851A

  • On-device machine learning platform

    JP2020528589A

  • Training a model using parameter server shards

    US8768870B1

  • Digital anthropology and ethnography system

    WO2020223620A1