Learning system and method
The learning system optimizes federated learning by having clients learn operation parameters for a weighted sum, sharing these with a server for recalibration, addressing data leakage and ensuring accurate, personalized models across clients.
Patent Information
- Application Number
- JP2023534452
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-12
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2041-07-12
AI Technical Summary
Existing federated learning techniques, such as FedProx and FedFomo, face challenges in optimizing models for individual clients while minimizing data leakage and ensuring accuracy, as parameter deviations do not always correlate with model output variations, and sharing local models among clients is undesirable.
A learning system where clients learn parameters for a weighted sum of operations and share these parameters with a server, which recalculates and distributes them, ensuring each client obtains unique parameters suitable for their data without direct model exchange, using a configuration where the number of operations is less than the number of clients.
This approach reduces data leakage risk and enables each client to obtain highly accurate, personalized model parameters, maintaining model similarity while ensuring distinctiveness across clients.
Smart Images

Figure 0007613588000001 
Figure 0007613588000002 
Figure 0007613588000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a learning system, a learning method, and a learning program for learning model parameters. Hmm, It also relates to an inference device. [Background technology]
[0002] Generally, in machine learning, the more training data there is, the more accurate a model can be trained. Therefore, when multiple clients each have their own data, it is possible for a server to collect data from each client and use that data as training data to train a model.
[0003] However, from the standpoint of each client, providing data to an outside party is undesirable in terms of data leakage. This is especially true when each client is managed by a different administrator (e.g., a different company). For example, each company does not want to provide its own data to an outside party. Therefore, it is often difficult for a server to collect data from each client and use the data as learning data to train a model.
[0004] Therefore, federated learning has been proposed. An example of federated learning is shown below. In federated learning, for example, a model (called a global model) obtained by a server is provided to each client. Each client learns a model based on the global model and data that the client has independently. A model obtained by a client through learning is referred to as a local model. Each client transmits a local model or difference information between the global model and the local model to the server. The server updates the global model based on each local model (or each difference information) obtained from each client, and provides the global model to each client again. In the federated learning of this example, the above process is repeated. For example, the server repeats the operation from providing the global model to each client to updating the global model. Then, for example, it is determined that the learning end condition is that the number of times the above operation is repeated reaches a predetermined number, and when the number of times the above operation is repeated reaches the predetermined number, the global model obtained by the server is determined as the model that will be the learning result.
[0005] In federated learning, each client only needs to provide the local model or differential information to the server, and there is no need for each client to provide the server with data that it holds independently. Then, the server can obtain a model similar to that obtained when the server learns the model by collecting data from each client. In other words, the server can obtain a model without providing the data that each client holds independently to the outside.
[0006] In federated learning, the goal is often to obtain a global model. In contrast, technology has been proposed that allows each client to obtain a model suitable for that client. This technology is called personalized federated learning. In general, each client holds similar but different data. For example, a client of a bank in one region (let's say A) and a client of a bank in another region (let's say B) each hold data on the amount of deposits of their customers as learning data. Both sets of learning data are data on the amount of deposits of customers, and are similar data. However, the nature of the data may differ depending on the regionality. Also, depending on the regionality, the model suitable for a client of a bank in region A and the model suitable for a client of a bank in region B will also differ. In personalized federated learning, each client obtains a model suitable for that client.
[0007] An example of personalized federated learning is described in Non-Patent Document 1. The technology described in Non-Patent Document 1 is called FedProx. FedProx uses a formula that adds the output of a loss function that evaluates the deviation between the correct value and the predicted value in a local model and the deviation of the parameters of the global model and the local model.
[0008] Another example of Personalized Federated Learning is described in Non-Patent Document 2. The technology described in Non-Patent Document 2 is called FedFomo. In FedFomo, each client receives a local model of each of the other clients, and each client individually weights the local model of each client to obtain a model suitable for itself.
[0009] In addition to Personalized Federated Learning, various technologies related to deep learning have also been proposed (see Non-Patent Documents 3 and 4). Non-Patent Document 3 describes a method of using multiple fixed values obtained by learning to obtain a weighted sum of these fixed values according to an input value. For example, assume that three fixed values W1, W2, and W3 are obtained by learning. The technology described in Non-Patent Document 3 (called CondConv) determines weight values corresponding to W1, W2, and W3 according to the input value, and obtains a weighted sum of W1, W2, and W3 using the weight value according to the input value.
[0010] In addition, Non-Patent Document 4 describes that, during learning, parameters of multiple convolution operations processed in parallel are learned, and during inference, the multiple convolution operations are combined into one convolution operation. For example, Non-Patent Document 4 describes that, during learning, parameters of a convolution operation of a 3×3 filter and parameters of a convolution operation of a 1×1 filter are learned, and during inference, the convolution operations are combined into one convolution operation of a 3×3 filter. The technology described in Non-Patent Document 4 is called RepVGG. [Prior art documents] [Non-patent literature]
[0011] [Non-Patent Document 1] Tian Li, et al., “Federated Optimization in Heterogeneous Networks”, [Retrieved June 7, 2021], Internet,<URL:https: / / arxiv.org / pdf / 1812.06127.pdf> [Non-Patent Document 2] Michael Zhang, et al., “Personalized Federated Learning with First Order Model Optimization”, [Retrieved June 7, 2021], Internet,<URL:https: / / arxiv.org / pdf / 2012.08565.pdf> [Non-Patent Document 3] Brandon Yang, et al., “CondConv: Conditionally Parameterized Convolutions for Efficient Inference”, [Retrieved June 7, 2021], Internet,<URL:https: / / arxiv.org / pdf / 1904.04971.pdf> [Non-Patent Document 4] Xiaohan Ding, et al., “RepVGG: Making VGG-style ConvNets Great Again”, [Retrieved June 7, 2021], Internet,<URL:https: / / arxiv.org / pdf / 2101.03697.pdf> Summary of the Invention [Problem to be solved by the invention]
[0012] In the technology described in Non-Patent Document 1 (FedProx), as described above, a formula is used in which the output of the loss function and the deviation of the parameters of the global model and the local model are added together to obtain a local model. However, even if the deviation of this parameter is small, the output of the model may fluctuate significantly, and even if the deviation of this parameter is large, the output of the model may not fluctuate much. In other words, the deviation of the parameters between the global model and the local model is not related to the nature of the output of the local model. As a result, in the technology described in Non-Patent Document 1, optimization is difficult, and it is difficult to obtain a highly accurate model for each client.
[0013] In addition, in the technology (FedFomo) described in Non-Patent Document 2, each client needs to provide each of the other clients with a model that it has generated. There is also a technology that restores from a model the learning model that was used to learn that model. Therefore, it is not preferable for each client to provide a model that it has generated to multiple other clients from the viewpoint of preventing data leakage.
[0014] Therefore, the present invention provides a learning system, a learning method, and a learning program that can reduce the possibility of data leakage for each client and allow each client to obtain highly accurate model parameters suitable for each client. Hmm, Another object of the present invention is to provide a reasoner that performs inference using such a model. [Means for solving the problem]
[0015] A learning system according to the present invention is a learning system comprising a server and a plurality of clients, each of which comprises learning means for learning parameters of a plurality of predetermined operations that are in a relationship in which common input data is given and in which a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum, and a client-side parameter transmission means for transmitting the parameters of the predetermined plurality of operations, among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum, to the server, and the server comprises parameter calculation means for recalculating the parameters of the predetermined plurality of operations based on the parameters of the predetermined plurality of operations received from each of the clients, and server-side parameter transmission means for transmitting the parameters of the predetermined plurality of operations to each of the clients. ,The number of operations given is less than the number of clients. It is characterized by:
[0017] The learning method according to the present invention is a learning method performed by a server and a plurality of clients, in which each client learns parameters of a plurality of predetermined operations that are in a relationship in which common input data is given and in which a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum, and transmits the parameters of the predetermined plurality of operations out of the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum to the server, and the server recalculates the parameters of the predetermined plurality of operations based on the parameters of the predetermined plurality of operations received from each client, and transmits the parameters of the predetermined plurality of operations to each client. and the number of operations given is less than the number of clients. It is characterized by: Effect of the Invention
[0019] According to the present invention, the possibility of data leakage from each client can be reduced, and each client can obtain parameters of a highly accurate model suited to that client. [Brief description of the drawings]
[0020] [Figure 1] FIG. 1 is a schematic diagram showing a plurality of predetermined operations for which parameters are learned in associative learning. [Diagram 2] FIG. 1 is a schematic diagram showing a case where a plurality of predetermined operations 51, 52, 53 each include a plurality of layers. [Diagram 3] FIG. 13 is a schematic diagram showing a case where the number of layers included in a plurality of predetermined operations 51, 52, and 53 is different. [Figure 4] FIG. 2 is a schematic diagram showing an example of a model in which parameters are learned. [Diagram 5] 1 is a block diagram showing an example of the configuration of a learning system according to an embodiment of the present invention. [Figure 6] 4 is a flowchart showing an example of a processing progress of an embodiment of the present invention. [Figure 7] FIG. 13 is a block diagram showing an example of the configuration of each client in a modified example of the embodiment of the present invention. [Figure 8]FIG. 13 is a schematic diagram showing a model after conversion by a conversion unit. [Figure 9] FIG. 13 is a block diagram showing an example of the configuration of each client in a modified example of the embodiment of the present invention. [Figure 10] FIG. 2 is a block diagram illustrating a reasoner that is a separate device from a client. [Figure 11] FIG. 1 is a schematic block diagram showing an example of the configuration of a computer relating to a client, a server, and an inference device in an embodiment of the present invention and various modified examples thereof. [Figure 12] 1 is a block diagram showing an overview of a learning system of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0022] As described below, a learning system according to an embodiment of the present invention includes a server and multiple clients. In the embodiment of the present invention, the server and each client learn parameters of multiple predetermined operations by associative learning, and each client independently learns parameters related to the calculation of a weighted sum of output data of the multiple predetermined operations (hereinafter simply referred to as parameters related to the calculation of the weighted sum). Therefore, the parameters of the multiple predetermined operations are common to each client, but the parameters related to the calculation of the weighted sum are different for each client.
[0023] FIG. 1 is a schematic diagram showing a plurality of predetermined operations for which parameters are learned by associative learning. The predetermined plurality of operations are operations that are related to each other in that common input data is given and that a weighted sum of output data is calculated. In FIG. 1, operations 51, 52, and 53 correspond to the predetermined plurality of operations. That is, common input data is given to the operations 51, 52, and 53, and a weighted sum of output data of each of the operations 51, 52, and 53 is calculated. α1, α2, and α3 shown in FIG. 1 are weight values used when calculating the weighted sum of output data. Each of the weight values α1, α2, and α3 is a value between 0 and 1, and the sum of the weight values α1, α2, and α3 is 1.
[0024] 1, the parameters of a plurality of predetermined operations 51 to 53 are learned by the server and each client through federated learning. In addition, α1, α2, and α3 are parameters related to the calculation of the weighted sum, and are learned independently by each client.
[0025] FIG. 1 also illustrates a normalization operation 54 that normalizes the weighted sum of the output data of each of the operations 51, 52, and 53. The parameters of the normalization operation 54 are treated as parameters related to the calculation of the weighted sum. Therefore, the parameters of the normalization operation 54 are independently learned by each client, similar to α1, α2, and α3. Note that, as an example of the normalization operation 54, a process of subtracting a certain numerical value (assumed to be β) from the input data to the normalization operation 54 and multiplying the subtraction result by a certain numerical value (assumed to be γ) can be considered. In this case, β and γ correspond to the parameters of the normalization operation 54. However, the calculations and parameters in the normalization operation 54 are not limited to this example.
[0026] 1 shows a case where the number of the predetermined plurality of operations is three, but the number of the predetermined plurality of operations is not limited to three. However, there is a constraint that the number of the predetermined plurality of operations must be less than the number of the plurality of clients.
[0027] The predetermined plurality of operations 51, 52, 53 may include a plurality of layers. Fig. 2 is a schematic diagram showing a case where the predetermined plurality of operations 51, 52, 53 each include a plurality of layers. Fig. 2 illustrates a case where the operation 51 includes layers A to C, the operation 52 includes layers D to F, and the operation 53 includes layers G to I. In this case, the parameters of the layers A to C become the parameters of the operation 51. Similarly, the parameters of the layers D to F become the parameters of the operation 52, and the parameters of the layers G to I become the parameters of the operation 53.
[0028] Fig. 3 is a schematic diagram showing a case where the number of layers included in the predetermined plurality of operations 51, 52, 53 is different. As shown in Fig. 3, the number of layers included in the predetermined plurality of operations 51, 52, 53 may be different for each operation.
[0029] In the following description, for simplicity, a case will be taken as an example in which each of the predetermined operations 51, 52, and 53 is a convolution operation. Although the convolution operation is a linear operation, each of the predetermined operations may or may not be a linear operation. For example, the predetermined operations 51, 52, and 53 may all be linear operations, and the predetermined operations 51, 52, and 53 may not all be linear operations. Also, some of the predetermined operations 51, 52, and 53 may be linear operations, and the remaining part may not be linear operations. An example of a linear operation other than a convolution operation is, for example, a full join operation.
[0030] FIG. 4 is a schematic diagram showing an example of a model in which parameters are learned. In an actual model, many more operations are followed, but FIG. 4 illustrates a model with a simple configuration. In FIG. 4, the convolution operations 51, 52, and 53 are related to each other in that common input data is given, and are related to each other in that a weighted sum of output data is calculated. Therefore, the convolution operations 51, 52, and 53 correspond to a plurality of predetermined operations, similar to the operations 51, 52, and 53 shown in FIG. 1. Therefore, they are represented by the same symbols as the operations 51, 52, and 53 shown in FIG. 1. α1, α2, and α3 shown in FIG. 2, FIG. 3, and FIG. 4 are weight values used when calculating the weighted sum of output data, similar to α1, α2, and α3 shown in FIG. 1.
[0031] The parameters of the convolution operation 51, the convolution operation 52, and the convolution operation 53 are multiple weight values (hereinafter, referred to as weight value groups) used when performing a convolution operation on input data. The weight value groups of the convolution operations 51, 52, and 53 are learned by the server and each client through federated learning.
[0032] The normalization operation 54 is an operation that normalizes the weighted sum of the output data of each of the convolution operations 51, 52, and 53. As already explained, the parameters of the normalization operation 54 are treated as parameters related to the calculation of the weighted sum. Therefore, the parameters of the normalization operation 54, like α1, α2, and α3, are learned independently by each client.
[0033] The activation operation 55 is an operation of applying an activation function (e.g., ReLU (Rectified Linear Unit)) to the output data of the normalization operation 54. The activation operation 55 may not have parameters, and here, an example will be described in which the activation function is predetermined and there is no parameter for the activation operation 55. Note that, if there is a parameter for the activation operation 55, the parameter may be learned by the server and each client through associative learning, similar to the parameters for the predetermined multiple operations 51, 52, and 53.
[0034] Fig. 5 is a block diagram showing a configuration example of a learning system according to an embodiment of the present invention. In the following, an example will be described in which the learning system shown in Fig. 5 learns the parameters of the model shown in Fig. 4.
[0035] The learning system according to the embodiment of the present invention includes a server 20 and a plurality of clients 10. a ~10 e The server 20 and the multiple clients 10 a ~10 eare communicatively connected via a communication network 30. In FIG. 5, five clients 10 a ~10 e However, the number of clients is not limited to five. However, as described above, there is a constraint that the number of the predetermined operations is less than the number of the clients. In this example, the number of the predetermined operations (convolution operations 51, 52, 53) is "3" (see FIG. 4), and the number of the clients is "5", so this constraint is satisfied.
[0036] 10 per client a ~10 e have the same configuration, and when no distinction is made between clients, the client is indicated by the reference numeral 10.
[0037] Refer to Figure 5 below for client 10. a As an example, the configuration of the client 10 will be described. The client 10 includes a learning unit 11, a client-side parameter transmitting / receiving unit 12, and a storage unit 13.
[0038] The learning unit 11 learns the parameters of a plurality of predetermined operations (in this example, weighting value groups of the convolution operations 51, 52, and 53) and parameters related to the calculation of the weighted sum by machine learning. In this example, α1, α2, α3, and the parameters of the normalization operation 54 correspond to the parameters related to the calculation of the weighted sum.
[0039] The storage unit 13 is a storage device that stores learning data used when the learning unit 11 learns the above-mentioned various parameters, and a model determined by the learned parameters.
[0040] 10 per client a ~10 e Each of the storage units 13 stores client-specific learning data in advance.
[0041] The client-side parameter transmission / reception unit 12 transmits to the server 20 parameters of a predetermined number of operations, including parameters of the predetermined number of operations (in this example, weighting value groups for each of the convolution operations 51, 52, and 53) and parameters related to the calculation of the weighted sum (in this example, α1, α2, α3, and parameters for the normalization operation 54).
[0042] Therefore, the parameters involved in the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) are not transmitted to the server 20. This means that the parameters involved in the calculation of the weighted sum are not learned by federated learning, but are transmitted to each client 10. a ~10 e This means that the learning unit 11 independently learns the parameters related to the calculation of the weighted sum.
[0043] Moreover, the client-side parameter transmitting / receiving unit 12 receives from the server 20 the parameters of a plurality of predetermined operations (the weighting value groups of the convolution operations 51, 52, and 53) that have been recalculated in the server 20.
[0044] Each client 10 is realized by, for example, a computer. The client-side parameter transmitting / receiving unit 12 is realized by, for example, a CPU (Central Processing Unit) that operates according to a learning program, and a communication interface of the computer. For example, the CPU may read the learning program from a program recording medium such as a program storage device of the computer, and operate as the client-side parameter transmitting / receiving unit 12 using the communication interface according to the learning program. The communication interface is an interface with the communication network 30. The learning unit 11 is realized by, for example, a CPU that operates according to the learning program. For example, the CPU may read the learning program from a program recording medium as described above, and operate as the learning unit 11 according to the learning program.
[0045] The server 20 includes a parameter calculation unit 21 and a server-side parameter transmission / reception unit 22 .
[0046] The server-side parameter transmitting / receiving unit 22 receives from each client 10 the parameters of a plurality of predetermined operations (the weighting value groups of the convolution operations 51, 52, 53) transmitted by the client-side parameter transmitting / receiving unit 12 of each client 10.
[0047] Furthermore, the server-side parameter transmitting / receiving unit 22 transmits the parameters of the predetermined operations (the weighting value groups of the convolution operations 51, 52, and 53) recalculated by the parameter calculating unit 21 to each client 10. The parameters of the predetermined operations are received by the client-side parameter transmitting / receiving unit 12 of each client 10.
[0048] The parameter calculation unit 21 recalculates the parameters of the predetermined operations based on the parameters of the predetermined operations (the weighting value groups of the convolution operations 51, 52, 53) received by the server-side parameter transmission / reception unit 22 from each client 10.
[0049] For example, the weight values belonging to the weight value group of the convolution operation 51 are a ~10 e However, the individual weight values belonging to the weight value group of the convolution operation 51 are different for each client 10. a ~10 e The parameter calculation unit 21 calculates the weight value of the convolution operation 51 for each weight value belonging to the weight value group of the client 10. a The weight value obtained by client 10 b The weight value obtained by client 10 c The weight value obtained by client 10 d The weight value obtained by client 10 eParameter calculation unit 21 recalculates the set of weight values for convolution operation 51 by calculating the average value of the weight values obtained in . Similarly, parameter calculation unit 21 recalculates the set of weight values for convolution operation 52. Similarly, parameter calculation unit 21 recalculates the set of weight values for convolution operation 53.
[0050] As described above, the server-side parameter transmitting / receiving unit 22 transmits the parameters of the predetermined operations (the weighting value groups of the convolution operations 51, 52, 53) recalculated by the parameter calculating unit 21 to each client 10.
[0051] In addition, the learning unit 11 of each client 10 uses the learning data that it holds independently and the parameters of the specified multiple operations received from the server 20 to again learn the parameters of the specified multiple operations through machine learning, and also learns the parameters related to the calculation of the weighted sum.
[0052] The server 20 is realized by, for example, a computer. The server-side parameter transmitting / receiving unit 22 is realized by, for example, a CPU that operates according to a server program and a communication interface of the computer. For example, the CPU may read the server program from a program recording medium such as a program storage device of the computer, and operate as the server-side parameter transmitting / receiving unit 22 using the communication interface according to the server program. The communication interface is an interface with the communication network 30. The parameter calculation unit 21 is realized by, for example, a CPU that operates according to the server program. For example, the CPU may read the server program from a program recording medium as described above, and operate as the parameter calculation unit 21 according to the server program.
[0053] Next, the process flow of the embodiment of the present invention will be described. Fig. 6 is a flowchart showing an example of the process flow of the embodiment of the present invention. Note that Fig. 6 is an example, and the process flow of the embodiment of the present invention is not limited to the example shown in Fig. 6.
[0054] Also, in FIG. 6, the server 20 and the client 10 a This figure illustrates the operation of the client 10. b ~10 e The behavior is as follows: a However, the learning data held in the storage unit 13 of each client 10 is different for each client 10.
[0055] Client 10 a The learning unit 11 learns parameters of a predetermined number of operations (weighting value groups for each of the convolution operations 51, 52, and 53) through machine learning based on the learning data stored in the memory unit 13, and also learns parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) (step S1).
[0056] 10 for each other client b ~10 e Similarly, the learning unit 11 learns parameters for a plurality of predetermined operations, and also learns parameters related to the calculation of the weighted sum.
[0057] Next, client 10 a The client-side parameter transmission / reception unit 12 transmits to the server 20 the parameters of the predetermined plurality of operations learned in step S1 (weighting value groups for each of the convolution operations 51, 52, 53) and the parameters related to the calculation of the weighted sum (α1, α2, α3, and parameters of the normalization operation 54) (step S2).
[0058] 10 for each other client b ~10 e Similarly, each of the client-side parameter transmitting / receiving units 12 transmits to the server 20 the parameters of the predetermined plurality of operations among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum.
[0059] Therefore, the parameters involved in the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) are set by each client 10. a ~10 e is not sent to the server 20.
[0060] The server side parameter transmission / reception unit 22 of the server 20 transmits the parameter to each client 10. a ~10 e The parameter generator 50 receives parameters for a plurality of predetermined operations (a group of weight values for each of the convolution operations 51, 52, and 53) from the
[0061] The parameter calculation unit 21 of the server 20 calculates the parameter a ~10 e Based on the parameters of the predetermined operations received from the parameter calculation unit 21, the predetermined parameters are recalculated (step S3). An example of the operation of the parameter calculation unit 21 to recalculate the predetermined parameters has already been described, and therefore will not be described here.
[0062] Next, the server-side parameter transmission / reception unit 22 transmits the parameters of the predetermined operations (the weighting value groups of the convolution operations 51, 52, and 53) recalculated in step S3 to each client 10. a ~10 e In step S4, each client 10 a ~10 e The same parameters are sent to
[0063] Each client 10 that received the parameters transmitted in step S4 a ~10 e However, when performing step S1 after receiving the parameters of the predetermined operations recalculated by the server 20, the client 10 aThe learning unit 11 learns the parameters of the predetermined operations (weighting value groups of the convolution operations 51, 52, and 53) by machine learning based on the parameters of the predetermined operations and the learning data stored in the memory unit 13, and also learns the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54). b ~10 e The same is true for the learning unit 11.
[0064] 10 per client a ~10 e By repeating the processes from step S1 onwards, the processes of steps S1 to S4 are repeated in each client 10 and server 20. For example, it may be determined in advance that the end condition of learning (in other words, associative learning) by each client 10 and server 20 is that the number of repetitions of the processes of steps S1 to S4 reaches a predetermined number. In this case, for example, the learning unit 11 of each client 10 may count the number of times step S1 is executed, and when the number of times step S1 is executed reaches a predetermined number, determine the parameters of a plurality of predetermined operations (weight value groups of the convolution operations 51, 52, and 53) and the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) as the final values of the respective parameters, and store the model determined by these parameters in the storage unit 13.
[0065] The conditions for ending the learning by each client 10 and the server 20 are not limited to the above example, and may be other conditions.
[0066] According to this embodiment, the parameters of the predetermined operations (weighting value groups of the convolution operations 51, 52, and 53) are determined by learning (associative learning) by each client 10 and the server 20. On the other hand, the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) are independently learned by the learning unit 11 of each client 10. While the parameters of the predetermined operations are common to each client 10, each client 10 can obtain its own parameters. That is, while including common parameters, each client 10 can obtain individual parameters. And, unlike FedProx (see Non-Patent Document 1), this embodiment does not use parameter deviations that are not related to the nature of the model (parameter deviations between the global model and the local model). Therefore, each client 10 can obtain parameters suitable for each client 10, and a highly accurate model determined by the parameters can be obtained.
[0067] Furthermore, in this embodiment, each client 10 exchanges parameters with the server 20, but does not exchange models with other clients. Therefore, the possibility of data leakage can be reduced more than in FedFomo (see Non-Patent Document 2).
[0068] Moreover, the number of the predetermined operations is less than the number of the clients. Therefore, among the predetermined operations, operations that are important for the clients are common to some of the clients. For example, the phenomenon that the value of α1 increases is common to some of the clients. Similarly, the phenomenon that the value of α2 increases is also common to some of the clients, and the phenomenon that the value of α3 increases is also common to some of the clients. As a result, parameters suitable for each client 10 are obtained, and a model suitable for each client is obtained by using the parameters. Furthermore, it is possible to prevent the properties of the models from differing greatly from one another.
[0069] Consider a case where the number of the predetermined operations is greater than the number of the clients. For example, assume that the number of the predetermined operations is six and the number of clients is three. In this case, α1 to α6, which are weight values for each operation, become parameters. At this time, it may happen that α1 and α2 become large in the first client, α3 and α4 become large in the second client, and α5 and α6 become large in the third client. In this case, the operations that are important in the client will be different in the three clients, and the properties of the models of the three clients will be significantly different. This can be prevented by making the number of the predetermined operations less than the number of the clients. In other words, it is possible to prevent the properties of the models of each client from diverging too much. Therefore, it is possible to obtain a model suitable for each client, and to prevent the properties of the models of each client from differing significantly.
[0070] Next, a modified example of this embodiment will be described. In the flowchart shown in Fig. 6, the learning unit 11 learns the parameters of a plurality of predetermined operations and also learns the parameters related to the calculation of the weighted sum in step S1. In step S1, the learning unit 11 of each client 10 learns the parameters of a plurality of predetermined operations, but does not need to learn the parameters related to the calculation of the weighted sum. In this case, the learning unit 11 of each client 10 may independently learn the parameters related to the calculation of the weighted sum after the parameters of the plurality of predetermined operations are determined.
[0071] Next, another modified example of this embodiment will be described. Fig. 7 is a block diagram showing an example of the configuration of each client in this modified example. Note that the same elements as those in the above embodiment are given the same reference numerals as those in Fig. 5, and the description will be omitted. Also, the configuration and operation of the server 20 are the same as those in the above embodiment, and the description will be omitted.
[0072] In this modified example, the predetermined multiple operations are all linear operations. Therefore, this modified example will also be described with reference to Fig. 4. However, the predetermined multiple operations only need to be linear operations, and are not limited to the case where the predetermined multiple operations are all folding operations as shown in Fig. 4.
[0073] In this modification, the client 10 includes a learning unit 11, a client-side parameter transmitting / receiving unit 12, a storage unit 13, and a conversion unit 14.
[0074] The operation of determining the parameters of a predetermined number of operations (weighting value groups for each of the convolution operations 51, 52, and 53) and the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) and storing the model determined by these parameters in the memory unit 13 is the same as in the above embodiment.
[0075] After the parameters of the predetermined plurality of operations (weighting value groups for each of the convolution operations 51, 52, 53) and the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) have been determined, the conversion unit 14 converts the parameters of the predetermined plurality of operations into one operation based on the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum.
[0076] In the example shown in FIG. 4, after the weighting value groups of the convolution operations 51, 52, 53, and the parameters of α1, α2, α3 and the normalization operation 54 are determined, the conversion unit 14 converts the convolution operations 51, 52, 53 into one convolution operation based on the weighting value groups of the convolution operations 51, 52, 53, and α1, α2, α3.
[0077] The input data includes multiple numerical values, but is represented here for convenience by a single symbol x. The weighting value group of convolution operation 51 also includes multiple weighting values, but is represented here for convenience by a single symbol w1. Similarly, the weighting value group of convolution operation 52 and the weighting value group of convolution operation 53 are represented here for convenience by the symbols w2 and w3, respectively.
[0078] The output data obtained by the convolution operation 51 on the input data x is represented as w1*x. Similarly, the output data obtained by the convolution operation 52 on the input data x is represented as w2*x. Similarly, the output data obtained by the convolution operation 53 on the input data x is represented as w3*x.
[0079] In this case, the weighted sum of the output data is α1(w1*x)+α2(w2*x)+α3(w3*x). Since the convolution operations 51, 52, and 53 are linear operations, this weighted sum can be transformed into (α1w1+α2w2+α3w3)*x. Therefore, the conversion unit 14 converts the three convolution operations 51, 52, and 53 into one convolution operation having (α1w1+α2w2+α3w3) as a weight value group. FIG. 8 is a schematic diagram showing a model after conversion by the conversion unit 14. The one convolution operation 50 shown in FIG. 8 is an operation converted from the three convolution operations 51, 52, and 53 based on the weight value groups of the convolution operations 51, 52, and 53, and α1, α2, and α3. The set of weight values (parameters) of the convolution operation 50 can be represented diagrammatically as (α1w1+α2w2+α3w3), as described above.
[0080] The conversion unit 14 causes the storage unit 13 to store the converted operations and a model determined by the parameters of the operations.
[0081] Here, the case where the predetermined plurality of operations is three is taken as an example, but even if the predetermined plurality of operations is two or four or more, the conversion unit 14 can convert the predetermined plurality of operations into one operation. Also, here, the case where the predetermined plurality of operations are all folding operations is taken as an example, but if the predetermined plurality of operations are all linear operations, the conversion unit 14 can convert the predetermined plurality of operations into one operation.
[0082] According to this modification, a model is simplified by converting a plurality of predetermined operations into one operation. Therefore, when performing inference based on the model, the amount of calculation can be reduced. For example, when comparing FIG. 4 with FIG. 8, the model shown in FIG. 4 requires three convolution operations at the time of inference. On the other hand, the model shown in FIG. 8 requires only one convolution operation at the time of inference.
[0083] The conversion unit 14 is realized by, for example, a CPU of a computer that operates according to a learning program. For example, the CPU may read the learning program from a program recording medium such as a program storage device of the computer and operate as the conversion unit 14 according to the learning program.
[0084] Next, another modified example of this embodiment will be described. Fig. 9 is a block diagram showing an example of the configuration of each client in this modified example. Note that the same elements as those in the above embodiment are given the same reference numerals as those in Fig. 5, and the description will be omitted. Also, the configuration and operation of the server 20 are the same as those in the above embodiment, and the description will be omitted.
[0085] In this modification, the client 10 includes an inference unit 15 in addition to a learning unit 11, a client-side parameter transmission / reception unit 12, and a storage unit 13.
[0086] The operation of determining the parameters of a predetermined number of operations (weighting value groups for each of the convolution operations 51, 52, and 53) and the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) and storing the model determined by these parameters in the memory unit 13 is the same as in the above embodiment.
[0087] When the parameters of the predetermined multiple operations (weighting value groups for each of the convolution operations 51, 52, 53) and the parameters related to the calculation of the weighted sum (α1, α2, α3, and the parameters of the normalization operation 54) are determined in this manner, and a model determined by the parameters of the predetermined multiple operations and the parameters related to the calculation of the weighted sum is stored in the memory unit 13, the inference unit 15 performs inference based on that model.
[0088] Data is input to the inference unit 15 via an input interface (not shown). The inference unit 15 uses the data as input data for the first operation in the model, and calculates the output data for that operation. Then, the inference unit 15 uses the output data as input data for the next operation in the model, and calculates the output data for that operation. The inference unit 15 repeats this operation up to the last operation of the model, and derives the output data of the last operation as the inference result. The inference unit 15 may display the inference result obtained based on the data input to the inference unit 15 and the model, for example, on a display device (not shown) provided in the client 10.
[0089] According to this modification, not only can a model be obtained by determining parameters, but also inference can be performed using the model.
[0090] The inference unit 15 is realized by, for example, a CPU of a computer that operates according to a learning program. For example, the CPU may read the learning program from a program recording medium such as a program storage device of the computer and operate as the inference unit 15 according to the learning program.
[0091] The client 10 of this modified example can be said to be an inference device that performs inference based on a model.
[0092] Also, an inference device may be provided as a device separate from the client 10. Fig. 10 is a block diagram showing an inference device that is a device separate from the client 10. The inference device 40 shown in Fig. 10 includes a storage unit 41 and an inference unit 15.
[0093] The storage unit 41 is a storage device that stores the same model as the model stored in the storage unit 13 of the client 10 in the above embodiment or various modifications thereof. The model stored in the storage unit 13 of the client 10 in the above embodiment or various modifications thereof may be copied to the storage unit 41 of the inference device 40, and the model may be stored in the storage unit 41.
[0094] The inference unit 15 is similar to the inference unit 15 included in the client 10 shown in FIG. 9. That is, data is input to the inference unit 15 via an input interface (not shown). The inference unit 15 uses the data as input data for the first operation in the model, and calculates output data for that operation. Then, the inference unit 15 uses the output data as input data for the next operation in the model, and calculates output data for that operation. The inference unit 15 repeats this operation up to the last operation of the model, and derives the output data of the last operation as the inference result. The inference unit 15 may display the inference result, for example, on a display device (not shown) included in the inference device 40.
[0095] The inference unit 40 is realized, for example, by a computer, and the inference unit 15 is realized, for example, by the CPU of the computer that operates according to an inference program.
[0096] The above various modified examples may be implemented in combination. For example, the client 10 may include the conversion unit 14 (see FIG. 7) and the inference unit 15 (see FIG. 9).
[0097] Moreover, the above embodiment and various modified examples thereof have been described by taking as an example a model with a simple configuration as shown in Fig. 4. The model that is the learning target of the embodiment and various modified examples of the present invention may be a model that includes a plurality of predetermined operations at a plurality of locations.
[0098] When the predetermined operations are present at multiple locations in the model, the number of the predetermined operations may be different for each location, or the number of the predetermined operations may be the same for each location. When the number of the predetermined operations is the same for each location, the number of weight values used when calculating the weighted sum of the output data is also the same for each location. In this case, when the number of the predetermined operations is n, the weight values corresponding to each operation are expressed as α1,...,α n And, α at each point i (i is an integer between 1 and n) may be a common value. For example, the learning unit 11 may learn α1 at each point as a common value. n The same applies to.
[0099] Fig. 11 is a schematic block diagram showing an example of the configuration of a computer relating to the client 10, the server 20, and the inference device 40 in the embodiment of the present invention and various modified examples thereof. As will be described below with reference to Fig. 11, the computer used as the client 10, the computer used as the server 20, and the computer used as the inference device 40 are different computers.
[0100] The computer 1000 includes a CPU 1001 , a main memory device 1002 , an auxiliary memory device 1003 , an interface 1004 , and a communication interface 1005 .
[0101] The client 10, the server 20, and the inference device 40 in the embodiment of the present invention and its various modified examples are realized, for example, by a computer 1000. However, as described above, the computer used as the client 10, the computer used as the server 20, and the computer used as the inference device 40 are different computers.
[0102] The operation of the computer 1000 used as the client 10 is stored in the auxiliary storage device 1003 in the form of a learning program. The CPU 1001 reads out the learning program from the auxiliary storage device 1003, loads it into the main storage device 1002, and operates as the client 10 in the above-described embodiment and its various modified examples in accordance with the learning program. The computer 1000 used as the client 10 may also include a display device and an input interface for inputting data.
[0103] The operation of computer 1000 used as server 20 is stored in the form of a server program in auxiliary storage device 1003. CPU 1001 reads the server program from auxiliary storage device 1003, loads it in main storage device 1002, and operates as server 20 in the above-described embodiment and various modified examples thereof in accordance with the server program.
[0104] The operation of the computer 1000 used as the inference device 40 shown in Fig. 10 is stored in the auxiliary storage device 1003 in the form of an inference program. The CPU 1001 reads out the inference program from the auxiliary storage device 1003, loads it into the main storage device 1002, and operates as the inference device 40 according to the inference program. Note that the computer 1000 used as the inference device 40 does not need to include the communication interface 1005. Furthermore, the computer 1000 used as the inference device 40 may include a display device and an input interface into which data is input.
[0105] The auxiliary storage device 1003 is an example of a non-transient tangible medium. Other examples of non-transient tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), a semiconductor memory, and the like, which are connected via the interface 1004. In addition, when a program is distributed to the computer 1000 via a communication line, the computer 1000 that receives the program may load the program into the main storage device 1002 and operate according to the program.
[0106] Further, some or all of the components of the client 10 may be realized by general-purpose or dedicated circuits, processors, etc., or a combination of these. These may be configured by a single chip, or by multiple chips connected via a bus. Some or all of the components may be realized by a combination of the above-mentioned circuits, etc., and programs. This also applies to the server 20 and the inference device 40 shown in FIG. 10.
[0107] Next, an overview of the present invention will be described below. Fig. 12 is a block diagram showing an overview of a learning system according to the present invention.
[0108] The learning system of the present invention includes a server 120 (eg, server 20) and a plurality of clients 110 (eg, client 10).
[0109] Each client 110 includes a learning means 111 (for example, the learning unit 11) and a client-side parameter transmission means 112 (for example, the client-side parameter transmission / reception unit 12).
[0110] The learning means 111 learns parameters of a number of predetermined operations (e.g., operations 51, 52, 53) that are in a relationship in which common input data is given and that a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum (e.g., α1, α2, α3, and the parameters of normalization operation 54).
[0111] The client side parameter transmission means 112 transmits to the server 120 the parameters of the predetermined plurality of operations out of the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum.
[0112] The server 120 includes a parameter calculation means 121 (for example, a parameter calculation unit 21) and a server-side parameter transmission means 122 (for example, a server-side parameter transmission / reception unit 22).
[0113] The parameter calculation means 121 recalculates the parameters of the predetermined plurality of operations based on the parameters of the predetermined plurality of operations received from each client.
[0114] The server side parameter sending means 122 sends the parameters of the predetermined operations to each client 110 .
[0115] With such a configuration, the possibility of data leakage for each client can be reduced, and each client can obtain parameters of a highly accurate model suited to that client.
[0116] The above-described embodiment of the present invention and its modified examples can be described as follows, but are not limited to the following.
[0117] (Appendix 1) A learning system comprising a server and a plurality of clients, Each client: a learning means for learning parameters of a plurality of predetermined operations which are related to each other in that common input data is given and to which a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum; a client-side parameter transmission means for transmitting the parameters of the predetermined plurality of operations to the server, among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum; The server, a parameter calculation means for recalculating parameters of the predetermined plurality of operations based on parameters of the predetermined plurality of operations received from each of the clients; a server-side parameter transmission means for transmitting the parameters of the predetermined plurality of operations to each of the clients; A learning system characterized by:
[0118] (Appendix 2) The learning means of each of the clients independently learns parameters related to the calculation of the weighted sum. 2. A learning system as described in appendix 1.
[0119] (Appendix 3) The number of the predetermined operations is less than the number of the clients. 10. A learning system according to claim 1 or 2.
[0120] (Appendix 4) The predetermined operations are all linear operations. 4. A learning system according to any one of claims 1 to 3.
[0121] (Appendix 5) Each of the clients: A learning system as described in Appendix 4, comprising a conversion means for converting the predetermined plurality of operations into one operation based on the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum when the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum are determined.
[0122] (Appendix 6) Each of the clients: and an inference means for deriving an inference result for given data based on a model determined by the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum when the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum are determined. 6. A learning system according to any one of claims 1 to 5.
[0123] (Appendix 7) The learning system according to any one of claims 1 to 6 includes an inference means for deriving an inference result for given data based on a model determined by parameters of the predetermined operations and parameters related to the calculation of the weighted sum. An inference device characterized by:
[0124] (Appendix 8) A learning method performed by a server and a plurality of clients, comprising: Each client, learning parameters of a plurality of predetermined operations that are related to each other in that common input data is given and that a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum; Transmitting the parameters of the predetermined plurality of operations to the server, among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum; The server, recalculating parameters of the predetermined operations based on the parameters of the predetermined operations received from each of the clients; Sending parameters of the predetermined plurality of operations to each of the clients. A learning method comprising:
[0125] (Appendix 9) Each of the clients independently learns the parameters involved in the calculation of the weighted sum. The study method described in Appendix 8.
[0126] (Appendix 10) The number of the predetermined operations is less than the number of the clients. The study method described in Appendix 8 or Appendix 9.
[0127] (Appendix 11) The predetermined operations are all linear operations. 11. A learning method according to any one of claims 8 to 10.
[0128] (Appendix 12) Each of the clients, When the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum are determined, the predetermined plurality of operations are converted into one operation based on the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum. The learning method described in Appendix 11.
[0129] (Appendix 13) On the computer, a learning process for learning parameters of a plurality of predetermined operations that are related to each other in that common input data is given and that a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum; and a parameter transmission process for transmitting the parameters of the predetermined plurality of operations to the server, among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum; A computer-readable recording medium having a learning program recorded thereon for executing the above.
[0130] Although the present invention has been described above with reference to the embodiment, the present invention is not limited to the above embodiment. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
[0131] The present invention is suitably applicable to a learning system that learns model parameters. [Explanation of symbols]
[0132] 10 Clients 11 Learning Department 12 Client side parameter sending and receiving part 13 Storage section 14 Conversion section 15 Reasoning part 20 Servers 21 Parameter Calculation Section 22 Server side parameter transmission / reception part 40 Reasoner
Claims
1. A learning system comprising a server and a plurality of clients, Each client: a learning means for learning parameters of a plurality of predetermined operations which are related to each other in that common input data is given and to which a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum; a client-side parameter transmission means for transmitting the parameters of the predetermined plurality of operations to the server, among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum; The server, a parameter calculation means for recalculating parameters of the predetermined plurality of operations based on parameters of the predetermined plurality of operations received from each of the clients; a server-side parameter transmission means for transmitting parameters of the predetermined plurality of operations to each of the clients; The number of the predetermined operations is less than the number of the clients. A learning system characterized by:
2. The learning means of each of the clients independently learns parameters related to the calculation of the weighted sum. The learning system according to claim 1 .
3. The predetermined operations are all linear operations. The learning system according to claim 1 or 2.
4. Each of the clients:
4. The learning system according to claim 3, further comprising a conversion means for converting the predetermined plurality of operations into one operation based on the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum when the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum are determined.
5. Each of the clients: and an inference means for deriving an inference result for given data based on a model determined by the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum when the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum are determined. A learning system according to any one of claims 1 to 4.
6. A learning method performed by a server and a plurality of clients, comprising: Each client, learning parameters of a plurality of predetermined operations that are related to each other in that common input data is given and that a weighted sum of output data is calculated, and parameters related to the calculation of the weighted sum; Transmitting the parameters of the predetermined plurality of operations to the server, among the parameters of the predetermined plurality of operations and the parameters related to the calculation of the weighted sum; The server, recalculating parameters of the predetermined operations based on the parameters of the predetermined operations received from each of the clients; Sending parameters of the predetermined plurality of operations to each of the clients; The number of the predetermined operations is less than the number of the clients. A learning method comprising:
7. Each of the clients independently learns the parameters involved in the calculation of the weighted sum. The learning method according to claim 6.