Collaborative learning system and collaborative learning method
The collaborative learning system addresses the lack of output result validity indicators by using encrypted communication and model selection to enhance learning accuracy and speed while maintaining confidentiality.
Patent Information
- Application Number
- JP2022571712
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-25
- Filing Date
- 2021-12-24
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2041-12-24
AI Technical Summary
Existing deep learning systems lack indicators for explaining the validity of output results, making it difficult to determine when they can be applied and when they cannot.
A collaborative learning system where multiple local servers communicate with a central server, using encryption and decryption to iteratively learn, calculate gradients, and update models, allowing for the selection and weighting of local models to generate a global model that can explain the validity of output results.
Enables the explanation of output results' validity by calculating explanatory variable importance and reducing communication requirements, maintaining confidentiality, and improving learning accuracy and speed.
Smart Images

Figure 0007769982000031 
Figure 0007769982000032 
Figure 0007769982000033
Abstract
Description
[Technical Field]
[0001] The present invention relates to a collaborative learning system and a collaborative learning method. [Background technology]
[0002] In recent years, there has been an increasing demand for cross-sectional data analysis of data held by multiple servers. For example, when building a system to detect fraudulent remittances at a bank, it is difficult to build a model with sufficient accuracy because a single server does not have enough data. For this reason, learning systems that aim to improve learning efficiency by optimizing reproducibility in deep learning between multiple user terminals via a server, such as that disclosed in Patent Document 1, have attracted attention. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-121256 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the technology disclosed in Patent Document 1 uses deep learning, so there are no indicators when examining the output results, making it difficult to explain the validity of the output results based on the output process. This poses a problem in that it is difficult to determine when the technology described in Patent Document 1 can be applied and when it cannot.
[0005] The present invention was devised in consideration of the above-mentioned problems, and its purpose is to provide a collaborative learning system and collaborative learning method that can explain the validity of output results based on the output process. [Means for solving the problem]
[0006] A collaborative learning system according to a first aspect of the present invention is a collaborative learning system in which a plurality of local servers communicate with a central server via a network, and the plurality of local servers collaborate and iteratively learn together, wherein the local servers include a local receiving unit that receives an encrypted previous global model and a previous weight from the central server, a decryption unit that decrypts the received encrypted previous global model to generate a previous global model, an average gradient calculation unit that calculates a current local average gradient from the previous global model and a past global model before the previous one, current local training data stored in the local server, and current local data that is the number of current local training data, a model update unit that generates a current local model from the previous global model, the past global model, and the current local data, a validation error calculation unit that calculates a current local validation error from the current local model and the current local data, and a validation error calculation unit that encrypts the current local model and updates the encrypted current local model. and a local transmitting unit that transmits the encrypted current local model and at least one of the number of current local training data, the current local average gradient, and the current local validation error, wherein the global model and the local models are models that are decision trees or groups of decision trees including a tree shape and a branching condition, and the central server comprises: a central receiving unit that receives the encrypted current local model and at least one of the number of current local training data, the current local average gradient, and the current local validation error from each of the multiple local servers; a model selecting unit that selects at least one of the encrypted current local models received from the multiple local servers by a predetermined method to be the encrypted current global model; a weight determining unit that determines a current weight of the encrypted current global model by a predetermined method; and a central transmitting unit that transmits the encrypted current global model and the current weight to each of the multiple local servers.
[0007] A collaborative learning system according to a second aspect of the present invention is the first aspect of the present invention, wherein the current local data is calculated using part or all of the local data up to the previous time, and the learning is continuous learning.
[0008] A collaborative learning system according to a third aspect of the present invention is the same as that according to the first aspect of the present invention, wherein the model selection unit uses at least one of the number of current local training data, the current local average gradient, and the current local validation error received from the local servers to sort the encrypted current local models received from the local servers in a predetermined manner, and selects at least one of the encrypted current global models in a predetermined manner.
[0009] A collaborative learning system according to a fourth aspect of the present invention is based on the first aspect of the present invention, wherein the weight determination unit sets the current weights of the selected encrypted current global models to be the same.
[0010] A collaborative learning system according to a fifth aspect of the present invention is the first aspect of the present invention, wherein the weight determination unit determines the current weights of the encrypted current global model using at least one of the number of current local training data received from each of the multiple local servers, the current local average gradient, and the current local validation error.
[0011] A collaborative learning method according to a sixth aspect of the present invention is a collaborative learning method for a collaborative learning system in which a plurality of local servers communicate with a central server via a network, and the plurality of local servers collaborate and iteratively learn, the method comprising: a first step in the local server of receiving an encrypted previous global model and previous weights from the central server; a second step of decrypting the received encrypted previous global model to generate a previous global model; a third step of calculating a current local average gradient from the previous global model and a past global model before the previous one, current local training data stored in the local server, and current local data which is the number of current local training data; a fourth step of generating a current local model from the previous global model, the past global model, and the current local data; a fifth step of calculating a current local validation error from the current local model and the current local data; and a fifth step of encrypting the current local model to generate an encrypted current local model. a sixth step; and a seventh step of transmitting the encrypted current local model and at least one of the number of current local training data, the current local average gradient, and the current local validation error, wherein the global model and the local models are models that are decision trees or groups of decision trees including a tree shape and a branching condition, and the method comprises: an eighth step in the central server of receiving the encrypted current local model and at least one of the number of current local training data, the current local average gradient, and the current local validation error from each of the multiple local servers; a ninth step of selecting at least one of the encrypted current local models received from the multiple local servers by a predetermined method as an encrypted current global model; a tenth step of determining a current weight of the encrypted current global model by a predetermined method; and an eleventh step of transmitting the encrypted current global model and the current weight to each of the multiple local servers.
[0015] No. 7The collaborative learning system according to the present invention is a collaborative learning system in which a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of the relationships, is communicated between a plurality of local servers and collaboratively and repeatedly learned, and the system includes a model generation unit that generates a current local model based on the global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers, and a current local model generated by the model generation unit. ,before a gradient calculation unit that calculates, for each of the two or more local servers, a gradient value based on a function that indicates an error between a predicted value and an actual value of an output result of the current local model, based on the current local training data; a calculation unit that calculates the weight based on the gradient values calculated for each of the two or more local servers by the gradient calculation unit; and a global model update unit that updates the global model based on the current local model generated by the model generation unit and the weight calculated by the calculation unit. the model generation unit generates the current local model or a dummy model for calculating a random value as the gradient value, and the gradient calculation unit calculates the random value as the gradient value based on the dummy model generated by the model generation unit. .
[0016] No. 8 The collaborative learning system according to the present invention comprises: a global model generating unit configured to generate a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit configured to calculate, for each of two or more of the local servers, a gradient value based on a function indicating an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit configured to calculate the weights based on the gradient values calculated for each of the two or more of the local servers by the gradient calculation unit; and a global model update unit configured to update the global model based on the current local model generated by the model generation unit and the weights calculated by the calculation unit; The gradient calculation unit encrypts each gradient value calculated for each of the two or more local servers, calculates a cumulative gradient value by accumulating each of the encrypted gradient values, and transmits the calculated cumulative gradient value to each of the two or more local servers, and the calculation unit calculates the weight for each of the two or more local servers based on the cumulative gradient value transmitted by the gradient calculation unit.
[0017] No. 9 The collaborative learning system according to the present invention is 7 In the present invention, the calculation unit transmits the calculated weights to each of the two or more local servers, and the global model update unit updates the global model for each of the two or more local servers.
[0018] No. 1 0 The collaborative learning system according to the present invention comprises: a global model generating unit configured to generate a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit configured to calculate, for each of two or more of the local servers, a gradient value based on a function indicating an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit configured to calculate the weights based on the gradient values calculated for each of the two or more of the local servers by the gradient calculation unit; and a global model update unit configured to update the global model based on the current local model generated by the model generation unit and the weights calculated by the calculation unit;The model generation unit encrypts the generated current local model.
[0019] No. 1 1 The collaborative learning system according to the present invention comprises: a global model generating unit configured to generate a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit configured to calculate, for each of two or more of the local servers, a gradient value based on a function indicating an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit configured to calculate the weights based on the gradient values calculated for each of the two or more of the local servers by the gradient calculation unit; and a global model update unit configured to update the global model based on the current local model generated by the model generation unit and the weights calculated by the calculation unit; The system further includes a selection unit that selects a local server that will generate the current local model from two or more of the local servers, and the model generation unit causes the local server selected by the selection unit to generate the current local model.
[0020] No. 1 2 The collaborative learning system according to the present invention is 8th Invention, 10th Invention, 11th Invention In any one of the inventions, the model generation unit generates the current local model or a dummy model for calculating a random value as the gradient value, The aforementioned The gradient calculation unit calculates a random value as the gradient value based on the dummy model generated by the model generation unit.
[0021] No. 1 3 The collaborative learning method according to the present invention is a collaborative learning method in which a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of the relationships, is communicated between a plurality of local servers and collaboratively and repeatedly learned, the method comprising the steps of: generating a current local model based on the global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; ,before a gradient calculation step of calculating, for each of the two or more local servers, a gradient value based on a function indicating an error between a predicted value and an actual value of an output result of the current local model, based on the current local training data; a calculation step of calculating the weights based on the gradient values calculated for each of the two or more local servers by the gradient calculation step; and a global model update step of updating the global model based on the current local model generated by the model generation step and the weights calculated by the calculation step. the model generation step generates the current local model or a dummy model for calculating a random value as the gradient value, and the gradient calculation step calculates a random value as the gradient value based on the dummy model generated by the model generation step. . [Effects of the Invention]
[0023] According to the first to sixth inventions, at least one of the encrypted current local models received from the multiple local servers is selected by a predetermined method to be used as the encrypted current global model. This makes it possible to obtain the importance of explanatory variables calculated during calculation by the central server 2, and since the selected indexes such as the average gradient are not encrypted, it becomes easy to explain the validity of the output results based on the output process.
[0024] In particular, according to the second aspect of the present invention, the current local data is calculated using part or all of the previous local data, and learning is continuous learning, which results in more accurate output results.
[0025] In particular, according to the third aspect of the present invention, the model selection unit sorts the encrypted current local models received from the local servers in a predetermined manner using at least one of the number of current local training data, the current local average gradient, and the current local validation error received from each of the local servers, and selects at least one of them as the encrypted current global model in a predetermined manner. This makes it possible to select the encrypted current local model using any one of the number of current local training data, the current local average gradient, and the current local validation error, resulting in more accurate output results.
[0026] In particular, according to the fourth aspect of the present invention, the weight determination unit sets the same current weights for the selected encrypted current global models. This makes it possible to randomly select the current local model. This reduces the amount of calculation required for selection, and is expected to increase speed. In particular, according to the fifth aspect of the present invention, the weight determination unit determines the current weights of the encrypted current global model using at least one of the number of current local training data, the current local average gradient, and the current local validation error received from each of the multiple local servers. This allows the weights to be determined using at least one of the number of current local training data, the current local average gradient, and the current local validation error, resulting in more accurate output results.
[0030] No. 7 Invention ~ 12 According to the invention, weights are calculated based on the gradient values calculated for each of the multiple local servers. This makes it possible to reflect the current global model, which reflects the contents of the local training data stored in two or more local servers, in the global model. This allows for the realization of a collaborative learning system that can explain the validity of more accurate output results based on the output process.
[0031] In particular, 8 According to the present invention, weights are calculated for each of the local servers based on the cumulative gradient value. This allows the local servers to update the global model using the calculated weights without communication, making it possible to learn with less communication. 8 According to the present invention, the gradient values can be accumulated while remaining encrypted, which makes it possible to improve confidentiality.
[0032] In particular, 9 According to the present invention, the global model is updated for each of the multiple local servers. This allows the local servers to update the global model without sending or receiving the global model, enabling learning with less communication traffic.
[0033] In particular, the first 0 According to the invention, the generated local model is encrypted, which enables highly confidential learning.
[0034] In particular, the first 1 According to the invention, a local server that will generate a local model this time is selected from multiple local servers, which allows local models to be generated using local training data stored in various local servers, thereby enabling more diverse learning.
[0035] In particular, the first 2 According to the present invention, the calculation unit calculates random values as gradient values based on a dummy model. This allows for learning with higher confidentiality since the gradient values include dummy values. [Brief explanation of the drawings]
[0036] [Figure 1] FIG. 1 is a block diagram showing the configuration of a collaborative learning system to which the first embodiment is applied. [Figure 2] FIG. 2 is a sequence diagram illustrating the collaborative learning function to which the first embodiment is applied. [Figure 3] FIG. 3 is a flowchart showing the procedure of the local server process. [Figure 4] FIG. 4 is a flowchart showing the procedure of the central server process. [Figure 5] FIG. 5 is a block diagram showing the configuration of a collaborative learning system to which the second embodiment is applied. [Figure 6] FIG. 6 is a schematic diagram of a collaborative learning system to which the second embodiment is applied. [Figure 7] FIG. 7 is a flowchart showing the operation of the collaborative learning system to which the second embodiment is applied. [Figure 8] FIG. 8 is a schematic diagram of a collaborative learning system to which the third embodiment is applied. [Figure 9] FIG. 9 is a flowchart showing the operation of the collaborative learning system to which the third embodiment is applied. [Figure 10] FIG. 10 is a schematic diagram of a collaborative learning system to which the fourth embodiment is applied. [Figure 11]FIG. 11 is a flowchart showing the operation of the collaborative learning system to which the fourth embodiment is applied. [Figure 12] FIG. 12 is a schematic diagram of a collaborative learning system to which the fifth embodiment is applied. [Figure 13] FIG. 13 is a flowchart showing the operation of the collaborative learning system to which the fifth embodiment is applied. [Figure 14] FIG. 14 is a schematic diagram of a collaborative learning system to which the sixth embodiment is applied. [Figure 15] FIG. 15 is a flowchart showing the operation of the collaborative learning system to which the sixth embodiment is applied. DETAILED DESCRIPTION OF THE INVENTION
[0037] First Embodiment A collaborative learning system to which the first embodiment of the present invention is applied will be described below with reference to the drawings.
[0038] Fig. 1 is a block diagram showing the configuration of a collaborative learning system to which the first embodiment is applied. In the collaborative learning system to which the first embodiment is applied as shown in Fig. 1, for example, D local servers 1 and a central server 2 communicate with each other via a network 3 such as the Internet, and the local servers 1 cooperatively and repeatedly learn a global model, which is a decision tree or a group of decision trees including a tree shape indicating the relationship between data and branching conditions indicating the weight of the relationship. In addition, the collaborative learning may be federated learning.
[0039] For example, the i-th learning (hereinafter, this may be referred to as the current learning) of Z learning times will be described as an example. Note that in this embodiment, the learning is continuous learning, which is machine learning in which Z is a very large number.
[0040] The local server 1 includes a local receiving unit 4, a decryption unit 5, an average gradient calculation unit 6, a model update unit 7, a validation error calculation unit 8, an encryption unit 9, and a local transmission unit 10. The local receiving unit 4, the decryption unit 5, the average gradient calculation unit 6, the model update unit 7, the validation error calculation unit 8, the encryption unit 9, and the local transmission unit 10 are connected to each other by an internal bus (not shown), and are, for example, programs recorded in a RAM (Random Access Memory) that are called by a CPU (Central Processing Unit).
[0041] The central server 2 includes a central receiving unit 11, a model selecting unit 12, a weight determining unit 13, and a central transmitting unit 14. The central receiving unit 11, the model selecting unit 12, the weight determining unit 13, and the central transmitting unit 14 are connected to each other by an internal bus (not shown), and are, for example, programs recorded in RAM that are called by a CPU.
[0042] The local receiver 4 receives from the central server 2 the encrypted previous global model enc(T i-1 K_(i-1) ) and the previous global model enc(T i-1 K_(i-1) ) previous weight w i-1 K_(i-1) The decryption unit 5 receives the encrypted previous global model enc(T i-1 K_(i-1) ) and decrypted the previous global model T i-1 K_(i-1) Here, K_i is the number of the local server 1 used in the i-th learning, and is any number between 1 and D, where D is the number of local servers 1. i is the number of local servers 1 used in the i-th learning. For example, if D is 10 and K_i is 1, 4, or 5, then k i is set to 3. K_(i-1) is the number of the local server 1 used for the i-1th learning. The encrypted information may be called a ciphertext and may be written as enc(...).
[0043] The average gradient calculation unit 6 calculates the average gradient of the previous global model T i-1 K_(i-1) And the global model T1 mentioned below, which was released before the previous model. K_1 ~T i-2 K_(i-2) and the local training data R used for this learning. i Nij and the number of local training data this time N i j This time's local data and this time's local average gradient Calculate TIFF0007769982000001.tif85. This time, the local average gradient TIFF0007769982000002.tif85 is the previous Global Model T i-1 K_(i-1) The gradient is the average of the gradients calculated from the local mean gradient. The gradient indicates the sensitivity of the model output to the error between the predicted value and the actual value. TIFF0007769982000003.tif1016 may simply be called the average gradient. Here, j is any one of 1 to D, and indicates which of the multiple local servers 1 it is.
[0044] Model update section 7 is the previous global model T i-1 K_(i-1) and past global models (hereinafter, these may be referred to as global models from 1st to i-2nd times) T1 K_1 ,…,T i-2 K_(i-2) So this time, the local model T i j The model update unit 7 determines a model so as to minimize the error using the gradient. In this case, the model update unit 7 uses, for example, a GBDT (Gradient Boosting Decision Trees) algorithm to generate the current local model T i j may be generated.
[0045] The validation error calculation unit 8 is the global model T i K_iThe current local validation error δ is the average of the prediction errors from the current local data and i j Calculate.
[0046] Encryption unit 9 is the local model T i j This time the local model enc(T i j )
[0047] The local transmission unit 10 encrypts the current local model enc(T i j ) and the number of local training data N i j , this time local average gradient TIFF0007769982000004.tif85 and this local validation error δ i j and at least one of the above to the central server 2.
[0048] The central receiving unit 11 receives the encrypted local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) and the number of local training data N i 1 ,…,N i j ,…,N i D , this time local average gradient TIFF0007769982000005.tif942 and this local validation error δ i 1 ,…,δ i j ,…,δ i D and receiving at least one of.
[0049] The model selection unit 12 selects the encrypted current local models enc(Ti 1 ),…,enc(T i j ),…,enc(T i D ) is selected by a predetermined method, and the encrypted global model enc(T i K_i )
[0050] The weight determination unit 13 determines the encrypted current global model enc(T i K_i ) weight this time w i K_i Determine.
[0051] The central transmission unit 14 transmits the encrypted global model enc(T i K_i ) and this time weight w i K_i to each of the multiple local servers 1.
[0052] The global model T1 K_1 ,…,T i K_i ,…,T Z K_Z and local model T1 j ,…,T i j ,…,T Z j The global model T1 is a decision tree or a group of decision trees that includes a tree shape indicating the relationship between data and branching conditions indicating the weight of the relationship. K_1 ,…,T i K_i ,…,T Z K_Z Each has a weight w1 which is the weight of the relationship between the data. K_1 ,…,w i K_i ,…,w Z K_Z The relationships between data are expressed by the branching conditions of the nodes. The terminal nodes of a decision tree can also be called leaves.
[0053] The flow of data between a plurality of local servers 1 and the central server 2 in the collaborative learning system will be described with reference to Fig. 2. Fig. 2 is a sequence diagram illustrating the collaborative learning function according to this embodiment.
[0054] 2, the collaborative learning system according to this embodiment repeats collaborative learning by a collaborative learning process S1, for example, Z times. The collaborative learning process S1 includes a local server process S2 performed by multiple local servers 1 and a central server process S3 performed by a central server 2.
[0055] Furthermore, it is assumed that the local servers 1 share a common key and perform decryption and encryption using the common key. The central server 2 does not decrypt information that has been encrypted without having a common key, but this is not limited thereto, and the local servers 1 may share a common key as necessary and perform decryption and encryption using the common key.
[0056] D local servers 1 each perform local server processing S2, and this time the number of local training data is N i j and encrypted this time local model enc(T i j ) and the local average gradient TIFF0007769982000006.tif85 and this local validation error δ i j and is transmitted to the central server 2.
[0057] The central server 2 receives the number of local training data N for this time, which is the number of data registered in advance, for example, D. i j and encryption this time local model enc(T i j ) and the local average gradient TIFF0007769982000007.tif85 and this local validation error δ i j Upon receiving the request, the central server performs a process S3.
[0058] The central server 2, as a central server process S3, transmits the encrypted global model enc(T i K_i ) and this time weight w i K_i Send.
[0059] The local server process S2 will be described in detail with reference to FIG. 3. FIG. 3 is a flowchart showing the procedure of the local server process S2. First, in step S4, the local receiving unit 4 receives the encrypted previous global model enc(T i-1 K_(i-1) ) and the previous weight w i-1 K_(i-1) Receive.
[0060] Next, in step S5, the decryption unit 5 decrypts the previous encrypted global model enc(T i-1 K_(i-1) ) and decrypted the previous global model T i-1 K_(i-1) Generate.
[0061] Next, in step S6, the average gradient calculation unit 6 calculates the average gradient of the previous global model T i-1 K_(i-1) and the previous global model T1 K_1 ~T i-2 K_(i-2) and the current local data stored in the local server, Calculate TIFF0007769982000008.tif85.
[0062] The local data this time is the local data up to the previous time, which is the local training data R1 N1j ~R i-1 N(i-1)j and the number of local training data before the previous time, N1 j ~N i-1 jIn addition, the local server 1 whose current local data has not been changed from the previous local data sends the current local average gradient to the central server in the learning of that time. It is not necessary to send TIFF0007769982000009.tif85.
[0063] The local data this time is the local training data R used for this learning. i Nij and the number of local training data this time N i j This time, the local training data R i Nij is the main data R used for learning. i_main Nij and the current validation data R to calculate the model prediction error i_vali Nij This time, the local training data R i Nij is divided into X_i pieces, and the divided local training data R i Nij One of the validation data is R i_vali Nij The remaining X_i-1 data is the main data R i_main Nij In addition, the prediction error is the main data R i_main Nij After learning with R, this time validation i_vali Nij is the error between the predicted value and the actual measured value obtained using
[0064] The local data is stored in a storage unit (not shown) such as a solid state drive included in the local server 1.
[0065] Next, in step S7, the model update unit 7 updates the previous global model T i-1 K_(i-1) and the previous global model T1 K_1 ,…,T i-2 K_(i-2)And this time from the local data this time local model T i j Update the model by generating
[0066] Next, in step S8, the validation error calculation unit 8 calculates the current global model T i K_i and the local training data R stored in the local server. i Nij and the number of local training data this time N i j The current local validation error δ i j Calculate.
[0067] Current local validation error δ i j is the local training data R divided into X_i pieces. i Nij are the validation data R i_vali Nij The average of the X_i prediction errors obtained when
[0068] Next, in step S9, the encryption unit 9 encrypts the current local model T i j Encrypt the local model enc(T i j ) to encrypt the model.
[0069] Next, in step S10, the local transmission unit 10 generates the encrypted current local model enc(T i j ) and the number of local training data N i j , this time local average gradient TIFF0007769982000010.tif85 and this local validation error δ i j and transmit at least one of them to the central server 2. By the above steps S4 to S10, the local server process S2 is completed.
[0070] The central server process S3 will be described in detail with reference to Fig. 4. Fig. 4 is a flowchart showing the procedure of the central server process S3. First, in step S11, the central receiving unit 11 receives the encrypted current local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) and the number of local training data N i 1 ,…,N i j ,…,N i D , this time local average gradient TIFF0007769982000011.tif942 and this local validation error δ i 1 ,…,δ i j ,…,δ i D and receiving at least one of.
[0071] Next, in step S12, the model selection unit 12 selects each of the encrypted current local models enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) is selected by a predetermined method, and the encrypted global model enc(T i K_i )
[0072] The model selection unit 12 selects the encrypted current local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D) randomly encrypt at least one global model enc(T i K_i ) may be selected.
[0073] The random selection method is the local average gradient. TIFF0007769982000012.tif942 and this local validation error δ i 1 ,…,δ i j ,…,δ i D Compared to using the above, the amount of calculation required for selection can be reduced, so faster speeds can be expected.
[0074] Also, the random selection method is to select the local average gradient from local server 1 to central server 2. TIFF0007769982000013.tif942 and this local validation error δ i 1 ,…,δ i j ,…,δ i D This reduces the possibility of leakage of local data of the local server 1, and also speeds up processing due to the reduction in communication volume.
[0075] The model selection unit 12 also selects the number of current local training data N received from each of the multiple local servers. i 1 ,…,N i j ,…,N i D and this time the local average gradient TIFF0007769982000014.tif942 and this local validation error δ i 1 ,…,δ i j ,…,δ i D The encrypted local model enc(T i1 ),…,enc(T i j ),…,enc(T i D ) in a predetermined way and encrypt at least one global model enc(T i K_i ) may be selected in a predetermined manner.
[0076] For example, the predetermined way to align is to use the local average gradient TIFF0007769982000015.tif942 corresponds to the encryption local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) is aligned.
[0077] The predetermined method to select is the local average gradient TIFF0007769982000016.tif942 is large encrypted this time local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) in order of k i It refers to the selection of an individual.
[0078] Also, for example, the predetermined method of alignment is the local validation error δ i 1 ,…,δ i j ,…,δ i D By encrypting this local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) is aligned.
[0079] The predetermined method to be selected is the local validation error δ i 1 ,…,δ i j ,…,δ i D This time, the local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) in order of k i It refers to the selection of an individual.
[0080] For example, the predetermined method of sorting is the number of local training data N i 1 ,…,N i j ,…,N i D By encrypting this local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) is aligned.
[0081] The predetermined method to be selected is the number of local training data N i 1 ,…,N i j ,…,N i D There are many encryption methods available in this local model. i 1 ),…,enc(T i j ),…,enc(T i D ) in order of k i It refers to the selection of an individual.
[0082] Next, in step S13, the weight determination unit 13 determines the encrypted current global model enc(T i K_i ) weight this time w i K_i Determine.
[0083] The weight determination unit 13 uses a predetermined method, for example, to determine the encrypted current global model enc(T i K_i ) weight this time w i K_i are the same, and 1 / k i It may be determined as:
[0084] For example, the weight determination unit 13 determines the weight w i K_i By making each of these the same, the model selection unit 12 selects the encrypted local model enc(T i 1 ),…,enc(T i j ),…,enc(T i D ) can be randomly selected.
[0085] The weight determination unit 13 also determines the number of current local training data N received from each of the multiple local servers 1. i 1 ,…,N i j ,…,N i D and this time the local average gradient TIFF0007769982000017.tif942 and this local validation error δ i 1 ,…,δ i j ,…,δ i D and at least one of the encryption global model enc(T i K_i ) weight this time w i K_i For example, the weight determining unit 13 may determine the current local average gradient TIFF0007769982000018.tif942 Encryption as per the ratio of this global model enc(T i K_i ) weight this time w i K_i may be determined.
[0086] Furthermore, for example, the weight determination unit 13 determines the current local validation error δ i 1 ,…,δ i j ,…,δ i D Encrypt the inverse of this global model enc(T i K_i ) weight this time w i K_i may be determined.
[0087] For example, the weight determination unit 13 determines the number of local training data N i 1 ,…,N i j ,…,N i D The ratio of the street to the encryption this time global model enc(T i K_i ) weight this time w i K_i may be determined.
[0088] Next, in step S14, the central transmission unit 14 transmits the encrypted current global model enc(T i K_i ) and this time weight w i K_i to each of the plurality of local servers 1. The central server process S3 is completed by the above steps S11 to S14.
[0089] As described above, the collaborative learning system according to this embodiment can obtain explanatory variable importance, which is the importance of explanatory variables calculated during calculation by the central server 2, and since selection indices such as the average gradient are not encrypted, it is easy to explain the validity of the output results based on the output process.
[0090] Furthermore, according to the collaborative learning system of this embodiment, when concealing information, epsilon differential privacy, which requires the addition of noise, is not used, but rather encryption techniques such as AES (Advanced Encryption Standard), a symmetric key encryption algorithm, are used, thereby preventing a decrease in accuracy due to the addition of noise.
[0091] The central server 2 does not aggregate and process the gradient information of each local server 1 to generate statistical information, but instead uses the average gradient, so each local server 1 and the central server 2 do not need to share more gradient information with each other than necessary. Because the central server 2 uses the average gradient, each local server 1 can maintain confidentiality from other local servers 1 and the central server 2.
[0092] If the depth of the decision tree is d, and the central server 2 aggregates and processes each node of the decision tree, the communication between the central server 2 and the local server 1 will be 2 d In contrast to the conventional method, the local server 1 performs processing for each decision tree, and only one communication is required, thereby enabling faster processing.
[0093] If the central server 2 aggregates and processes each node of the decision tree, the number of encryptions on the local server 1 is 2. d In contrast to the conventional method, the local server 1 performs the process for each decision tree individually, and the local server 1 only needs to perform encryption once, thereby enabling faster processing.
[0094] Furthermore, in the collaborative learning system according to this embodiment, the central server 2 does not perform homomorphic calculations such as addition of ciphertext in the encrypted state during encryption. This makes it possible to use symmetric encryption, which uses a common key and requires less processing time than homomorphic encryption, which allows for homomorphic calculations, thereby improving processing speed.
[0095] Specifically, the collaborative learning system according to this embodiment can be applied to a fraudulent remittance detection system for a bank, etc. For example, the local servers 1 may be servers located at multiple branches of a bank, and the central server 2 may be a server located at the head office of the bank.
[0096] The collaborative learning process according to this embodiment requires hardware resources for processing, making it difficult to perform the process during normal bank business hours, and is therefore effective even when the process is performed on weekends when the bank is closed.
[0097] For example, consider a case where a communication failure occurs at one branch office over the weekend, making it impossible to communicate with local server 1. With existing technology, if central server 2 aggregates and processes the gradient information of each local server 1, collaborative learning processing must be performed over the weekend with central server 2 and multiple local servers 1. For this reason, collaborative learning processing must be performed the following weekend.
[0098] In contrast to this, in the collaborative learning system of this embodiment, each local server 1 performs processing using the information stored in that local server 1, and the processing in the central server 2 does not require many hardware resources.
[0099] For this reason, for local servers 1 where no communication failure has occurred, processing is carried out over the weekend as usual, and information is sent to central server 2, but central server 2 does not yet carry out processing. For local servers 1 where a communication failure has occurred, processing is completed over the weekend, and once the communication failure has been resolved, communication is resumed with central server 2, and central server 2 can carry out processing after receiving information from local server 1 where the communication failure has occurred, without waiting for the weekend.
[0100] For example, if the central server 2 performs processing when all registered information on the local server 1 is collected, processing such as case-by-case processing that is necessary for implementation in existing technology becomes unnecessary. Also, operations due to implementation become unnecessary in operation.
[0101] The central server 2 also stores the number of local training data N for this time, which is the number of data registered in advance, for example, D. i j and encryption this time local model enc(T i j ) and the local average gradient TIFF0007769982000019.tif85 and this local validation error δ i j However, this embodiment is not limited to synchronous learning in which the central server process S3 is executed when the instruction is received.
[0102] This embodiment may be asynchronous learning in which the number of local servers 1 is less than D and the central server 2 performs central server processing S3 based on information from, for example, one local server 1.
[0103] In this embodiment, one of the local servers 1 may also serve as the central server 2. For example, if a local server 1 with a large amount of local data serves as the central server 2, there is no need for communication between the local server 1 with a large amount of local data and the central server 2, reducing the frequency of communication and improving processing speed. For example, the local server 1 with a large amount of local data may be a megabank with a large number of customer accounts.
[0104] In addition, when one of the local servers 1 plays the role of the central server 2, the central server 2 has a common key that can decrypt part of the encrypted information. In the case where one of the local servers 1 plays the role of the central server 2, the central server 2 will not decrypt the encrypted local model enc(T ij ) instead of the local model T i j may be used.
[0105] In the above embodiment, the local receiving unit 4, the decryption unit 5, the average gradient calculation unit 6, the model update unit 7, the validation error calculation unit 8, the encryption unit 9, the local transmitting unit 10, the central receiving unit 11, the model selection unit 12, the weight determination unit 13, and the central transmitting unit 14 are described as programs, but the present embodiment is not limited to this.
[0106] For example, the local receiving unit 4, the decoding unit 5, the average gradient calculation unit 6, the model updating unit 7, the validation error calculation unit 8, the encryption unit 9, the local transmitting unit 10, the central receiving unit 11, the model selection unit 12, the weight determination unit 13, and the central transmitting unit 14 may be implemented by an integrated circuit.
[0107] Second Embodiment A collaborative learning system to which the second embodiment of the present invention is applied will be described below, and explanations similar to those of the first embodiment will be omitted.
[0108] 5 is a block diagram showing the configuration of a collaborative learning system 100 to which the second embodiment is applied. In the collaborative learning system 100, multiple local servers 1 communicate with each other and collaboratively learn repeatedly.
[0109] The local server 1 includes a model generation unit 31, a calculation unit 32, a model update unit 36, an encryption unit 33, a decryption unit 34, a memory unit 35, an evaluation unit 37, and a communication interface 38, each of which is connected to an internal bus (not shown).
[0110] The central server 2 includes a selection aggregation unit 21, a storage unit 22, a sorting unit 24, and a selection unit 25, which are all connected to an internal bus (not shown).
[0111] The model generation unit 31 generates a current local model based on a global model generated by past learning and current local training data to be used in current learning.
[0112] The calculation unit 32 calculates various values such as gradient values based on the current local model, the global model generated by past learning, and the current local training data stored in the memory unit 35.
[0113] The evaluation unit 37 evaluates the accuracy, AUC (Area Under the Curve), accuracy rate, precision rate, recall rate, etc. of the current local model.
[0114] The model update unit 36 updates the global model based on the current local model. For example, the model update unit 36 updates the global model based on the current local model and the current local training data.
[0115] The encryption unit 33 encrypts various types of information. The decryption unit 34 decrypts the encrypted various types of information. The encryption unit 33 may use any encryption method, such as additive homomorphic encryption, fully homomorphic encryption, somewhat homomorphic encryption, or secret sharing.
[0116] The storage unit 35 stores various information such as local training data and global models.
[0117] The communication interface 38 is an interface for communicating with the multiple local servers 1 and the central server 2 via the network 3.
[0118] The selection aggregation unit 21 calculates a cumulative gradient value by accumulating the gradient values transmitted from the multiple local servers 1.
[0119] The storage unit 22 is a recording medium such as a memory that stores various types of information.
[0120] The communication interface 23 is an interface for communicating with a plurality of local servers 1 via the network 3.
[0121] The sorting unit 24 sorts the local models transmitted from the multiple local servers 1.
[0122] The selection unit 25 selects, from among the multiple local servers 1, a builder server that is a local server 1 for generating the current local model.
[0123] 6 is a schematic diagram of a collaborative learning system 100 to which the second embodiment of the present invention is applied. In the collaborative learning system 100, multiple local servers 1 and an aggregator 1-J selected from the multiple local servers 1 communicate via a network 3, whereby the global model is collaboratively and repeatedly learned. Furthermore, it is not necessary to use all of the local servers 1 for each learning, and any two or more local servers 1 may be used.
[0124] The aggregator 1-J is a local server 1 for updating the current global model that is selected from among a plurality of local servers 1. The aggregator 1-J may be selected from the local servers 1 using any method.
[0125] The operation of the collaborative learning system 100 to which the second embodiment is applied will be described below with reference to FIGS.
[0126] 7 is a flowchart showing the operation of the collaborative learning system 100 to which the second embodiment is applied. First, in step S21, multiple local servers 1 generate a current local model M based on a global model G generated by past learning and current local training data L.
[0127] In step S21, for example, the local servers 1-A, 1-B, ..., 1-C each generate current local models MA, MB, ..., MC based on the past global model G and current local training data LA, LB, ..., LC stored in the local servers 1-A, 1-B, ..., 1-C, respectively. It is not necessary for all local servers 1 to generate current local models M, but any two or more local servers 1 may each generate a current local model M. The current local model M is a decision tree or a group of decision trees that includes a tree shape indicating the relationship between the local training data and the weight of the relationship.
[0128] Next, in step S22, the multiple local servers 1 transmit the respective current local models M generated in step S21 to the aggregator 1-J. For example, the local servers 1-A, 1-B, ..., 1-C transmit the respective current local models MA, MB, ..., MC that they generated to the aggregator 1-J. In this case, the current local models MA, MB, ..., MC may be encrypted by the encryption unit 33 and transmitted.
[0129] Next, in step S23, the aggregator 1-J evaluates each current local model M transmitted in step S22. For example, in step S22, the aggregator 1-J evaluates the accuracy of the current local models MA, MB, ..., MC transmitted from the local servers 1-A, 1-B, ..., 1-C, respectively, using the current local training data LJ stored in the aggregator 1-J. Furthermore, if the aggregator 1-J considers an estimated probability equal to or greater than a threshold to be positive, it may calculate the AUC of the current local model MA using a receiver operating characteristic (ROC) curve on a graph with the true positive rate on the vertical axis and the false positive rate on the horizontal axis. Furthermore, the aggregator 1-J may use the current local training data LJ to calculate the error and gradient between the predicted value and the actual measurement value of the current local models MA, MB, ..., MC, and evaluate the current local models MA, MB, ..., MC based on the calculated error and gradient.
[0130] Next, in step S24, the aggregator 1-J selects at least one of the current local models M based on the evaluation results obtained in step S23, and designates the selected current local model M as the current global model G'. For example, the current local model M with the highest accuracy rate evaluation result obtained in step S23 may be selected as the current global model G'.
[0131] Next, in step S25, the current global model G' selected in step S24 is transmitted to the multiple local servers 1. The local servers 1 reflect the transmitted current global model G' in the global model G, updating it. This makes it possible to reflect the current global model G', which reflects the contents of the local training data L stored in the two local servers 1, in the global model G. This enables learning of the global model G with higher accuracy. Through the steps described above, the collaborative learning system 100 completes the i-th learning operation.
[0132] Third Embodiment A collaborative learning system 100 to which the third embodiment of the present invention is applied will be described below. Explanations similar to those of the first and second embodiments will be omitted. The third embodiment differs from the second embodiment in that a central server rearranges encrypted current local models transmitted from multiple local servers.
[0133] 8 is a schematic diagram of a collaborative learning system 100 to which the third embodiment of the present invention is applied. In the collaborative learning system 100, multiple local servers 1, an aggregator 1-J, and a central server 2 communicate with each other to collaboratively and repeatedly learn. The central server 2 may be a local server 1 selected from the multiple local servers 1.
[0134] The operation of the collaborative learning system 100 to which the third embodiment is applied will be described below with reference to FIGS.
[0135] 9 is a flowchart showing the operation of the collaborative learning system 100 to which the third embodiment is applied. In step S31, the collaborative learning system 100 has multiple local servers 1 generate a current local model M based on a global model G generated by past learning and current local training data L.
[0136] Next, in step S32, the multiple local servers 1 encrypt the generated current local model M. For example, local servers 1-A, 1-B, ..., 1-C encrypt the generated current local models MA, MB, ..., MC, respectively. This makes it possible to maintain confidentiality even when transmitting the current local model M to the central server 2.
[0137] Next, in step S33, the local servers 1 transmit the current local models M encrypted in step S32 to the central server 2. For example, the local servers 1-A, 1-B, ..., 1-C transmit the encrypted current local models MA, MB, ..., MC to the central server 2, respectively.
[0138] Next, in step S34, the central server 2 rearranges the multiple current local models M transmitted in step S33. In this case, the central server 2 may rearrange the multiple current local models M, for example, randomly, but is not limited to this and may rearrange the multiple local models M in any manner. This makes it impossible to identify which local server 1 generated which current local model M from the order in which the multiple local servers 1 transmitted the current local models M, thereby improving confidentiality.
[0139] In step S34, the central server 2 transmits the rearranged current local models M to the aggregator 1-J.
[0140] Next, in step S35, the aggregator 1-J decodes the local models M transmitted in step S34.
[0141] Next, in step S36, the aggregator 1-J evaluates each of the current local models M that have been decoded.
[0142] Next, in step S37, at least one of the current local models M is selected based on the evaluation results obtained in step S36, and the selected current local model M is designated as the current global model G'. The aggregator 1-J then transmits the selected current local model M as the current global model G' to the central server 2. In this case, the aggregator 1-J transmits the encrypted current global model G' to the central server 2.
[0143] Next, in step S38, the current global model G′ transmitted to the central server 2 in step S37 is transmitted to a plurality of local servers 1.
[0144] Through the steps described above, the collaborative learning system 100 completes the i-th learning operation. Furthermore, the central server 2 and the multiple local servers 1 may communicate using a highly confidential channel such as TLS (Transport Layer Security). This allows learning to be performed without the local servers storing the local training data L communicating with each other. This allows for more confidential learning.
[0145] Fourth Embodiment A collaborative learning system 100 to which the fourth embodiment of the present invention is applied will be described below. Also, explanations similar to those of the first to third embodiments will be omitted.
[0146] 10 is a schematic diagram of a collaborative learning system 100 to which the fourth embodiment of the present invention is applied. In the collaborative learning system 100, multiple local servers 1, an aggregator 1-J selected from the multiple local servers 1, and a builder server 1-J' for generating the current local model M selected from the multiple local servers 1 communicate with each other to perform collaborative and repeated learning. In the collaborative learning system 100, the central server 2 may also be used as the aggregator.
[0147] The builder server 1-J′ is a local server 1 selected from among a plurality of local servers 1 for generating the current local model M. The builder server 1-J′ may be selected from the local servers 1 using any method.
[0148] The operation of the collaborative learning system 100 to which the fourth embodiment is applied will be described below with reference to Figures 10 and 11. The collaborative learning system 100 uses multiple local servers 1 to calculate gradient values and weights based on local models M generated via one or more local servers 1, and updates the global model.
[0149] FIG. 11 is a flowchart showing the operation of the collaborative learning system 100 to which the fourth embodiment is applied. In step S41 of the collaborative learning system 100, the builder server 1-J′ generates a current local model MJ′ based on the past global model G and current local training data LJ′ stored in the builder server 1-J′. In this case, the current local model MJ′ may be a decision tree or a group of decision trees that includes a tree shape indicating the relationships between the current local training data LJ′ but does not include weights of the relationships between the current local training data LJ′. The current local model MJ′ may also be a model with empty leaf nodes. The current local model MJ′ may also be a decision tree or a group of decision trees that includes a tree shape indicating the relationships between the local training data and weights of the relationships. The builder server 1-J′ transmits the generated current local model MJ′ to multiple local servers 1.
[0150] Next, in step S42, the local servers 1 calculate a gradient value g based on the current local model MJ′ transmitted in step S41, the global model G generated by past learning, and the current local training data L stored in each of the local servers 1. j , h j are calculated respectively.
[0151] In this case, the local servers 1 first calculate a loss function (loss function) that indicates the error between the predicted value and the actual measured value of the result that is the output of the local model MJ′ this time. Calculate TIFF0007769982000020.tif1027. Loss function TIFF0007769982000021.tif1027 is calculated using, for example, equation (1) shown in the following equation 1.
number
[0152] where TIFF0007769982000023.tif1221 shows the predicted value based on the relationship between t-1 data points in the i-th learning, and y i indicates the actual measured value. Gradient value g j is the loss function TIFF0007769982000024.tif1027 is partially differentiated, and is shown by, for example, the following equation (2):
number
[0153] Also, the loss function Gradient value h obtained by partially differentiating TIFF0007769982000026.tif1027 twice j may be calculated.
[0154] Next, in step S43, the local servers 1 calculate the gradient values g j , h jto aggregator 1-J.
[0155] Next, in step S44, the aggregator 1-J calculates the gradient values g j , h j Based on this, the weight W of the relationship of the current local training data LJ′ is calculated. In this case, for example, the loss function, which is the error between the predicted value and the actual value of the result that is the output of the current local model MJ′, is TIFF0007769982000027.tif1027 varies depending on parameters such as the weight W. Therefore, the loss function Gradient value g, which is the gradient of TIFF0007769982000028.tif1027 j When becomes 0, the loss function TIFF0007769982000029.tif1027 is the smallest, so the gradient value g j In step S44, the aggregator 1-J calculates the weight W by searching for a weight W such that the gradient value g j , h j The weight W may be calculated based on the cumulative gradient values g and h. The cumulative gradient values g and h are expressed by, for example, Equation 3.
number
[0156] Next, in step S45, the aggregator 1-J updates the global model G based on the current local model MJ′ and the weight W.
[0157] Next, in step S46, the aggregator 1-J transmits the updated global model G to each of the local servers 1.
[0158] Through the steps described above, collaborative learning system 100 completes the i-th learning operation. This makes it possible to reflect in global model G the current global model G', which reflects the contents of local training data L stored in two or more local servers 1, in global model G. This makes it possible to realize collaborative learning system 100 that can explain the validity of more accurate output results based on the output process.
[0159] Fifth Embodiment A collaborative learning system 100 to which the fifth embodiment of the present invention is applied will be described below. Also, explanations similar to those of the first to fourth embodiments will be omitted.
[0160] 12 is a schematic diagram of a collaborative learning system 100 to which the fifth embodiment of the present invention is applied. In the collaborative learning system 100, multiple local servers 1, a builder server 1-J′, and a central server 2 communicate with each other to cooperatively and repeatedly learn. In the collaborative learning system 100, the local servers 1 may also be used as the central server 2.
[0161] The operation of the collaborative learning system 100 to which the fifth embodiment is applied will be described below with reference to FIGS.
[0162] 13 is a flowchart showing the operation of the collaborative learning system 100 to which the fifth embodiment is applied. First, in step S51, the central server 2 selects a builder server 1-J' from the multiple local servers 1. In this case, the central server 2 may, for example, select the builder server 1-J' at random, but this is not limitative and any method may be used for selection.
[0163] Next, in step S52, the builder server 1-J' selected in step S51 generates a current local model MJ' based on the past global model G and the current local training data LJ' stored in the builder server 1-J'. The current local model MJ' may be a decision tree or a group of decision trees that includes a tree shape indicating the relationships between the current local training data LJ' but does not include weights W of the relationships between the current local training data LJ'. The current local model MJ' may also be a model with empty leaf nodes.
[0164] Next, in step S53, the builder server 1-J' encrypts the current local model MJ' generated in step S52.
[0165] Next, in step S54, the builder server 1-J′ transmits the current local model MJ′ encrypted in step S53 to the central server 2. The central server 2 to which the encrypted current local model MJ′ has been transmitted transmits the encrypted current local model MJ′ to the multiple local servers 1.
[0166] Next, in step S55, the local servers 1 decrypt the encrypted current local model MJ' received in step S54.
[0167] Next, in step S56, the local servers 1 calculate the gradient value g based on the current local model MJ′ decoded in step S55, the global model G generated by past learning, and the current local training data L stored in each of the local servers 1. j , h j are calculated respectively.
[0168] Next, in step S57, the local servers 1 calculate the respective gradient values g j , h j Encrypt the gradient value g j , h jFor example, multiple local servers 1 use additive homomorphic encryption to send their respective gradient values g j , h j may be used as an encrypted gradient value.
[0169] Next, in step S58, the central server 2 converts the encrypted gradient value g j , h j are accumulated to calculate the encrypted accumulated gradient values g and h.
[0170] Next, in step S59, the central server 2 transmits the encrypted cumulative gradient values g and h calculated in step S58 to the multiple local servers 1.
[0171] Next, in step S60, the local servers 1 decrypt the encrypted cumulative gradient values g and h transmitted in step S59, and calculate the weight W of the current local model MJ′ based on the decrypted cumulative gradient values g and h. The local servers 1 also update the global model G based on the calculated weight W.
[0172] Through the steps described above, the collaborative learning system 100 completes the i-th learning operation. Furthermore, the central server 2 and the multiple local servers 1 may communicate using a highly confidential channel such as TLS (Transport Layer Security). This allows learning to be performed without the local servers storing the local training data L communicating with each other. This allows for more confidential learning.
[0173] Sixth Embodiment A collaborative learning system 100 to which the sixth embodiment of the present invention is applied will be described below. Further, explanations similar to those of the first embodiment will be omitted.
[0174] 14 is a schematic diagram of a collaborative learning system 100 to which the sixth embodiment of the present invention is applied. In the collaborative learning system 100, multiple local servers 1, a builder server 1-J′, and a central server 2 communicate with each other to cooperatively and repeatedly learn. In the collaborative learning system 100, the local servers 1 may also be used as the central server 2.
[0175] The operation of the collaborative learning system 100 to which the sixth embodiment is applied will be described below with reference to FIGS.
[0176] 15 is a flowchart showing the operation of the collaborative learning system 100 to which the sixth embodiment is applied. First, in step S61, the central server 2 selects a builder server 1-J' from the multiple local servers 1.
[0177] Next, in step S62, the builder server 1-J′ selected in step S61 calculates the current local model MJ′ or the gradient value g j , h j A dummy model MD is generated to calculate a random value as follows: The dummy model MD may be, for example, a model that does not include the relationships between the local training data LJ′ and the weights W of the relationships, but is not limited to this and any dummy model may be used.
[0178] Next, in step S63, the builder server 1-J' encrypts the current local model MJ' or the dummy model MD generated in step S62.
[0179] Next, in step S64, the builder server 1-J′ transmits the current local model MJ′ or the dummy model MD encrypted in step S63 to the central server 2. The central server 2 to which the encrypted current local model MJ′ or the dummy model MD has been transmitted transmits the encrypted current local model MJ′ or the dummy model MD to the multiple local servers 1.
[0180] Next, in step S65, the local servers 1 decrypt the encrypted current local model MJ' or the dummy model MD transmitted in step S64.
[0181] Next, in step S66, the local servers 1 calculate a gradient value g based on the current local model MJ′ decoded in step S65, the global model G generated by past learning, and the current local training data LJ′ stored in each of the local servers. j , h j In step S66, when the dummy model MD is transmitted in step S64, the local servers 1 calculate random values as the gradient values g j , h j In this case, the local servers 1 may use values calculated by any method, not limited to random values, as the gradient values g j , h j This allows the gradient value g j , h j Since j contains a dummy value, confidentiality is increased.
[0182] Next, in step S67, the local servers 1 calculate the respective gradient values g j , h j is sent to central server 2.
[0183] Next, in step S68, the central server 2 calculates the gradient value g j , h j are accumulated to calculate cumulative gradient values g and h, and a weight W is calculated based on the cumulative gradient values g and h.
[0184] Next, in step S69, the central server 2 transmits the weight W calculated in step S68 to each of the local servers 1.
[0185] Next, in step S70, the local servers 1 calculate the weight W of the current local model MJ′ based on the cumulative gradient values g and h transmitted in step S69. The local servers 1 also update the global model G based on the calculated weight W.
[0186] Through the steps described above, collaborative learning system 100 completes the i-th learning operation. In collaborative learning system 100, a specific data owner determines the structure of a decision tree, which is composed of the weights of each node and their positional relationships, and all data owners cooperate to calculate the weights of the remaining components, the leaves. Therefore, the entire organization calculates the leaf weights, which have a large impact on prediction performance and require a small number of communications for calculation and disclose little information, while a single local server 1 determines the tree structure, which has a small impact on prediction performance and requires a large number of communications for calculation and discloses a large amount of information. This makes it possible to reduce the number of communications required for updates, the amount of information disclosed to other organizations, and the degradation of prediction performance. [Explanation of symbols]
[0187] 1...Local server, 2...Central server, 3...Network, 4...Local receiving unit, 5...Decryption unit, 6...Average gradient calculation unit, 7...Model update unit, 8...Validation error calculation unit, 9...Encryption unit, 10...Local transmitting unit, 11...Central receiving unit, 12...Model selection unit, 13...Weight determination unit, 14...Central transmitting unit, 21...Selection and aggregation unit, 22...Memory unit, 23...Communication interface, 24...Sorting unit, 25...Selection unit, 31...Model generation unit, 32...Calculation unit, 33...Encryption unit, 34...Decryption unit, 35...Memory unit, 36...Model update unit, 37...Evaluation unit, 38...Communication interface, 100...Collaborative learning system.
Claims
1. A collaborative learning system in which a plurality of local servers and a central server communicate with each other via a network, and the plurality of local servers cooperate and repeatedly learn, The local server a local receiver for receiving the encrypted previous global model and the previous weights from the central server; a decryption unit that decrypts the received encrypted previous global model to generate a previous global model; an average gradient calculation unit that calculates a current local average gradient from the previous global model, the past global model before the previous one, and the current local training data and current local data that is the number of current local training data stored in the local server; a model update unit that generates a current local model from the previous global model, the past global model, and the current local data; a validation error calculation unit that calculates a current local validation error from the current local model and the current local data; an encryption unit that encrypts the current local model and generates an encrypted current local model; a local transmitter that transmits the encrypted current local model and at least one of the number of current local training data, the current local average gradient, and the current local validation error; Equipped with The global model and the local model are models that are decision trees or groups of decision trees including tree shapes and branching conditions, The central server a central receiving unit that receives the encrypted current local model and at least one of the current local training data number, the current local average gradient, and the current local validation error from each of the plurality of local servers; a model selection unit that selects, by a predetermined method, at least one of the encrypted current local models received from the plurality of local servers as an encrypted current global model; a weight determination unit that determines a current weight of the encrypted current global model by a predetermined method; a central sending unit that sends the encrypted current global model and the current weights to each of the plurality of local servers; A collaborative learning system comprising:
2. the current local data is calculated using part or all of the previous local data, and the learning is continuous learning. The collaborative learning system of claim 1 .
3. the model selection unit sorts the encrypted current local models received from the plurality of local servers in a predetermined manner using at least one of the number of current local training data, the current local average gradient, and the current local validation error received from each of the plurality of local servers, and selects at least one of the encrypted current local models as the encrypted current global model in a predetermined manner. The collaborative learning system of claim 1 .
4. the weight determination unit sets the current weights of the selected encrypted current global models to be the same. The collaborative learning system of claim 1 .
5. the weight determination unit determines the current weights of the encrypted current global model using at least one of the number of current local training data pieces received from each of the plurality of local servers, the current local average gradient, and the current local validation error. The collaborative learning system of claim 1 .
6. A collaborative learning method using a collaborative learning system in which a plurality of local servers and a central server communicate with each other via a network, and the plurality of local servers cooperate and repeatedly learn, comprising: In the local server, a first step of receiving an encrypted previous global model and previous weights from the central server; a second step of decrypting the received encrypted previous global model to generate a previous global model; a third step of calculating a current local average gradient from the previous global model, the past global model before the previous one, and current local training data stored in the local server and current local data which is the number of current local training data; a fourth step of generating a current local model from the previous global model, the past global model, and the current local data; a fifth step of calculating a current local validation error from the current local model and the current local data; a sixth step of encrypting the current local model to generate an encrypted current local model; a seventh step of transmitting the encrypted current local model and at least one of the current local training data number, the current local average gradient, and the current local validation error; Equipped with The global model and the local model are models that are decision trees or groups of decision trees including tree shapes and branching conditions, In the central server, an eighth step of receiving the encrypted current local model and at least one of the number of current local training data, the current local average gradient, and the current local validation error from each of the plurality of local servers; a ninth step of selecting, by a predetermined method, at least one of the encrypted current local models received from the plurality of local servers as an encrypted current global model; a tenth step of determining current weights of the encrypted current global model by a predetermined method; an eleventh step of transmitting the encrypted current global model and the current weights to each of the plurality of local servers; A collaborative learning method comprising:
7. A collaborative learning system that communicates among a plurality of local servers and cooperatively and repeatedly learns a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of the relationships, a model generation unit that generates a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit that calculates, for each of the two or more local servers, a gradient value based on a function that indicates an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit that calculates the weight based on each gradient value calculated for each of the two or more local servers by the gradient calculation unit; a global model update unit that updates the global model based on the current local model generated by the model generation unit and the weight calculated by the calculation unit, the model generation unit generates the current local model or a dummy model for calculating a random value as the gradient value; A collaborative learning system, wherein the gradient calculation unit calculates a random value as the gradient value based on the dummy model generated by the model generation unit.
8. A collaborative learning system that communicates among multiple local servers and cooperatively and repeatedly learns a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of the relationships, comprising: a model generation unit that generates a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit that calculates, for each of the two or more local servers, a gradient value based on a function that indicates an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit that calculates the weight based on each gradient value calculated for each of the two or more local servers by the gradient calculation unit; a global model update unit that updates the global model based on the current local model generated by the model generation unit and the weight calculated by the calculation unit, the gradient calculation unit encrypts each gradient value calculated for each of the two or more local servers, calculates a cumulative gradient value by accumulating each of the encrypted gradient values, and transmits the calculated cumulative gradient value to each of the two or more local servers; The calculation unit calculates the weight for each of the two or more local servers based on the cumulative gradient value transmitted by the gradient calculation unit.
9. the calculation unit transmits the calculated weights to two or more of the local servers, 8. The collaborative learning system according to claim 7, wherein the global model update unit updates the global model for each of the two or more local servers.
10. A collaborative learning system for repeatedly and cooperatively learning a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of said relationships, through communication between multiple local servers, comprising: a model generation unit that generates a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit that calculates, for each of the two or more local servers, a gradient value based on a function that indicates an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit that calculates the weight based on each gradient value calculated for each of the two or more local servers by the gradient calculation unit; a global model update unit that updates the global model based on the current local model generated by the model generation unit and the weight calculated by the calculation unit, A collaborative learning system in which the model generation unit encrypts the generated current local model.
11. A collaborative learning system that communicates among multiple local servers and cooperatively and repeatedly learns a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of the relationships, comprising: a model generation unit that generates a current local model based on a global model generated by past learning and current local training data to be used in current learning, via at least one of the local servers; a gradient calculation unit that calculates, for each of the two or more local servers, a gradient value based on a function that indicates an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation unit and the current local training data; a calculation unit that calculates the weight based on each gradient value calculated for each of the two or more local servers by the gradient calculation unit; a global model update unit that updates the global model based on the current local model generated by the model generation unit and the weight calculated by the calculation unit, a selection unit that selects a local server that generates the current local model from two or more of the local servers; In the collaborative learning system, the model generation unit generates the current local model using the local server selected by the selection unit.
12. the model generation unit generates the current local model or a dummy model for calculating a random value as the gradient value; 12. The collaborative learning system according to claim 8, wherein the gradient calculation unit calculates a random value as the gradient value based on the dummy model generated by the model generation unit.
13. A collaborative learning method for repeatedly learning a global model, which is a decision tree or a group of decision trees including tree shapes indicating relationships between local training data and weights of the relationships, through communication between a plurality of local servers in a collaborative manner, comprising: a model generation step of generating, via at least one of the local servers, a current local model based on a global model generated by past learning and current local training data to be used in current learning; a gradient calculation step of calculating, for each of the two or more local servers, a gradient value based on a function indicating an error between a predicted value and an actual value of an output result of the current local model, based on the current local model generated by the model generation step and the current local training data; a calculation step of calculating the weight based on each gradient value calculated for each of the two or more local servers in the gradient calculation step; a global model updating step of updating the global model based on the current local model generated in the model generating step and the weight calculated in the calculating step, the model generation step generates the current local model or a dummy model for calculating a random value as the gradient value; A collaborative learning method, wherein the gradient calculation step calculates a random value as the gradient value based on the dummy model generated in the model generation step.
Citation Information
Patent Citations
Credit risk control system and method based on federation mode
CN111461874A
Learning system and learning method
JP2019121256A
Systems and methods for obtaining an artificial intelligence model in a parallel configuration
US20200234119A1
Support vector machine learning system and support vector machine learning method
WO2015155896A1