A federated learning model iterative updating method, device, system and storage medium

By receiving the keys and encryption parameters from the participants, calculating the encryption probability value and updating the gradient, and iteratively updating the global model, the shortcomings of secure data exchange in vertical joint learning are solved, and secure model parameter updates are achieved.

CN116415267BActive Publication Date: 2026-06-26新奥新智科技有限公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
新奥新智科技有限公司
Filing Date
2021-12-30
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

There is a lack of research on secure information/data exchange/transmission in existing technologies for vertical joint learning scenarios. There is an urgent need to provide flexible, efficient and secure model parameter update methods to ensure the data security needs of the participants.

Method used

By receiving the key and encryption parameters from the participants, calculating the encryption probability value, sending it to the participants to calculate the training target loss value, receiving and calculating the updated gradient, and iteratively updating the global model, secure model parameter updates are achieved.

Benefits of technology

It enables flexible, efficient, and secure model parameter updates, meeting the data security needs of every participant.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116415267B_ABST
    Figure CN116415267B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of machine learning, and provides a federated learning model iterative updating method, device, system and storage medium. The method comprises the following steps: receiving a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant; calculating an encryption probability value according to the first encryption parameter, the second encryption parameter and the first key; sending the encryption probability value to the first participant, so that the first participant calculates a training target loss value according to the encryption probability value and a sample label value; receiving the training target loss value, and calculating an updating gradient according to the training target loss value, the first encryption parameter and the second encryption parameter; obtaining a model prediction value and a learning rate sent by the first participant, and iteratively updating a global model thereof according to the updating gradient, the model prediction value and the learning rate, so that flexible, efficient and secure model parameter updating can be realized, thereby meeting the data security requirements of each participant.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of machine learning technology, and in particular to a method, apparatus, system and storage medium for iterative updating of a joint learning model. Background Technology

[0002] Vertical federated learning leverages the diverse features of samples distributed across multiple participants to build a robust shared model. In a vertical federated learning system, each participant possesses a portion of the shared model associated with its features; therefore, the participants in vertical federated learning have a closer symbiotic relationship with each other.

[0003] However, in existing technologies, most research on preventing information leakage or combating malicious attacks focuses on horizontal collaborative learning scenarios, while research on secure information / data exchange / transmission in vertical collaborative learning scenarios is very limited. Since vertical collaborative learning typically requires closer interaction among participants, there is an urgent need to provide a flexible, efficient, and secure method for updating model parameters to ensure the data security needs of each participant. Summary of the Invention

[0004] In view of this, embodiments of the present disclosure provide a method, apparatus, system, and storage medium for iterative updating of a joint learning model, so as to provide a flexible, efficient, and secure method for updating model parameters to ensure the data security needs of each participant.

[0005] A first aspect of this disclosure provides an iterative update method for a joint learning model, comprising:

[0006] Receive the first key and first encryption parameters sent by the first participant, and the second encryption parameters sent by the second participant;

[0007] The encryption probability value is calculated based on the first encryption parameter, the second encryption parameter, and the first key.

[0008] The encrypted probability value is sent to the first participant so that the first participant can calculate the training target loss value based on the encrypted probability value and the sample label value.

[0009] Receive the training target loss value, and calculate the update gradient based on the training target loss value, the first encryption parameter, and the second encryption parameter;

[0010] Obtain the model predictions and learning rate sent by the first participant, and iteratively update its global model based on the updated gradient, model predictions, and learning rate.

[0011] A second aspect of this disclosure provides an iterative update apparatus for a joint learning model, comprising:

[0012] The parameter receiving module is configured to receive a first key and a first encrypted parameter sent by a first participant, and a second encrypted parameter sent by a second participant;

[0013] The probability calculation module is configured to calculate the encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key;

[0014] The loss calculation module is configured to send the encrypted probability value to the first participant, so that the first participant can calculate the training target loss value based on the encrypted probability value and the sample label value.

[0015] The gradient calculation module is configured to receive the training target loss value and calculate and update the gradient based on the training target loss value and the first encryption parameter and the second encryption parameter;

[0016] The iterative update module is configured to obtain the model predictions and learning rate sent by the first participant, and iteratively update its global model based on the update gradient, model predictions, and learning rate.

[0017] A third aspect of this disclosure provides a joint learning model iterative update system, comprising:

[0018] Third party, the first participant in the communication connection with the third party;

[0019] The first participant is configured to send the first key and the first encryption parameters to a third party;

[0020] A third party is configured to receive a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant, calculate an encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key, and send the encryption probability value to the first participant.

[0021] The first participant is also configured to calculate the training target loss value based on the encrypted probability value and the sample label value, and return the training target loss value to a third party;

[0022] The third party is also configured to calculate the updated gradient based on the training target loss value and the first encryption parameter and the second encryption parameter;

[0023] The first participant is also configured to receive encrypted parameters for the prediction phase sent by the second participant, update its model parameters according to the training target loss value, obtain an updated model, use the updated model to predict its samples, obtain prediction results, calculate the model prediction value according to the encrypted parameters and prediction results, and send the model prediction value and learning rate to a third party.

[0024] The third party is also configured to iteratively update its global model based on the updated gradient, model predictions, and learning rate.

[0025] A fourth aspect of this disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.

[0026] The beneficial effects of this disclosed embodiment compared to the prior art include at least the following: receiving a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant; calculating an encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key; sending the encryption probability value to the first participant so that the first participant can calculate a training target loss value based on the encryption probability value and the sample label value; receiving the training target loss value, and calculating an update gradient based on the training target loss value, the first encryption parameter, and the second encryption parameter; obtaining the model prediction value and learning rate sent by the first participant, and iteratively updating its global model based on the update gradient, the model prediction value, and the learning rate, thereby achieving flexible, efficient, and secure model parameter updates, thus meeting the data security needs of each participant. Attached Figure Description

[0027] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0028] Figure 1 This is a flowchart illustrating an iterative update method for a joint learning model provided in an embodiment of this disclosure;

[0029] Figure 2 This is a schematic diagram of the structure of an iterative update device for a joint learning model provided in an embodiment of this disclosure;

[0030] Figure 3 This is a schematic diagram of the structure of an iterative update system for a joint learning model provided in an embodiment of this disclosure;

[0031] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0032] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, so as to provide a thorough understanding of the embodiments of this disclosure. However, those skilled in the art will understand that this disclosure may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this disclosure with unnecessary detail.

[0033] Federation learning refers to the comprehensive utilization of multiple AI (Artificial Intelligence) technologies, under the premise of ensuring data security and user privacy, to collaboratively explore the value of data and foster new intelligent business forms and models based on joint modeling. Federation learning has at least the following characteristics:

[0034] (1) Participating nodes control their own data in a weakly centralized joint training mode to ensure data privacy and security in the process of co-creating intelligence.

[0035] (2) In different application scenarios, various model aggregation optimization strategies are established by using screening and / or combination of AI algorithms and privacy-preserving computing to obtain high-level and high-quality models.

[0036] (3) Under the premise of ensuring data security and user privacy, based on multiple model aggregation optimization strategies, obtain methods to improve the performance of the federated learning engine. The performance methods can be improved by solving problems such as parallel computing architecture, information interaction under large-scale cross-domain networks, intelligent perception, and anomaly handling mechanisms.

[0037] (4) Obtain the needs of multiple users in various scenarios, determine the true contribution of each joint participant through a mutual trust mechanism, and allocate incentives accordingly.

[0038] Based on the above approach, an AI technology ecosystem based on collaborative learning can be established, fully leveraging the value of industry data and promoting the implementation of scenarios in vertical fields.

[0039] Figure 1 This is a flowchart illustrating an iterative update method for a joint learning model provided in an embodiment of this disclosure. Figure 1 As shown, the iterative update method of this joint learning model includes:

[0040] Step S101: Receive the first key and first encryption parameters sent by the first participant, and the second encryption parameters sent by the second participant.

[0041] In this context, the first participant refers to the party possessing feature data and sample labels. The second participant refers to the party possessing feature data but lacking sample labels. The third party can be a central server capable of globally aggregating the model parameters of both the first and second participants.

[0042] As an example, the first participant can generate a first key (public key) and a second key (private key) in advance through initialization, and send the first key to a third party.

[0043] During each training round, the first participant can calculate the y of each sample in the batch of samples for this training round according to the following formula (1). i value.

[0044] y i =ω ai *x ai (1).

[0045] In equation (1) y i ω represents the parameter value of the i-th sample in this batch. ai x represents the feature importance vector of the i-th sample in this batch. ai This represents the feature vector of the i-th sample in this batch.

[0046] y of all samples in this batch i The values ​​are processed into a one-dimensional array [y1, y2, y3…y i The first key is used to encrypt the one-dimensional array to obtain the first encryption parameter, which is then sent to a third party.

[0047] In one embodiment, a third party may first send a first key to a second participant, enabling the second participant to calculate a second parameter based on its sample, and then use the first key to encrypt the second parameter to obtain a second encrypted parameter.

[0048] Specifically, the second participant can calculate the z-value of each sample in the batch of samples in this round of training according to the following formula (2). i Value (i.e., the second parameter).

[0049] z i =ω bi *x bi (2).

[0050] z in equation (2) i ω represents the parameter value of the i-th sample in this batch. bi x represents the feature importance vector of the i-th sample in this batch. bi This represents the feature vector of the i-th sample in this batch.

[0051] z of all samples in this batch i The values ​​are processed into a one-dimensional array [z1, z2, z3… zi], and the one-dimensional array is encrypted using the first key to obtain the second encryption parameter, which is then sent to a third party.

[0052] Step S102: Calculate the encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key.

[0053] In one embodiment, the model prediction probability value can be calculated first based on the first encryption parameter and the second encryption parameter; then the model prediction probability value can be encrypted using the first key to obtain the encrypted probability value.

[0054] Specifically, when a third party receives the first encryption parameter, the second encryption parameter and the first key, it can calculate the model prediction probability value using the following formula (3).

[0055]

[0056] In equation (3), h(x) i () represents the model prediction probability value of the i-th aligned sample. Y i The sum of parameters for the i-th aligned sample from the first and second participants; m represents the batch size, ω bi Let x represent the feature importance vector of the i-th sample in this batch of samples from the second participant. bi This represents the feature vector of the i-th sample in this batch of samples from the participating party.

[0057] Next, the first key is used to encrypt the predicted probability value of the above model to obtain the encrypted probability value.

[0058] Step S103: Send the encrypted probability value to the first participant so that the first participant can calculate the training target loss value based on the encrypted probability value and the sample label value.

[0059] In one embodiment, the first participant can use the second key to decrypt the encryption probability value to obtain the decryption probability value; then, based on the decryption probability value and the sample label value, calculate the training target loss value.

[0060] Specifically, the third party sends the encrypted probability value obtained in the above steps to the first participant. At this time, the first participant can first use the above second key (private key) to decrypt the above encrypted probability value to obtain the decryption probability value. Then, the training target loss value J(ω) is calculated according to the following formula (3).

[0061]

[0062] In equation (4), p belongs to [0,1], representing the sample label value; hω(x (i) )≈0.5+1.15(ωx)-0.0015(ωx) 3 ;p (i) x represents the label value of the i-th sample; (i) Let represent the feature vector of the i-th sample.

[0063] Step S104: Receive the training target loss value, and calculate the update gradient based on the training target loss value, the first encryption parameter, and the second encryption parameter.

[0064] In one embodiment, after calculating the training target loss value according to the above steps, the first participant sends the training target loss value to a third party. Upon receiving the training target loss value, the third party can first calculate the sum of the first encryption parameter and the second encryption parameter; then, it can calculate the partial derivative of the training target loss value with respect to the sum to obtain the updated gradient.

[0065] Specifically, a third party can calculate the sum of the first encryption parameter and the second encryption parameter according to the above formula (3), i.e., Y i Then, calculate the partial derivative of the training target loss value with respect to the sum according to the following formula (5) to obtain the updated gradient.

[0066]

[0067] In equation (5), ω j The above model predicts the probability value Y. i .

[0068] It should be noted that if the gradient update of the first participant is being calculated, then ω in equation (5) j The feature vector and feature importance vector of the sample corresponding to the first participant (for example, y in equation (1) above). i If the gradient update is calculated by the second participant, then ω in equation (5) j The feature vector and its feature importance vector corresponding to the sample of the second participant (e.g., z in equation (2) above). i ).

[0069] Step S105: Obtain the model prediction value and learning rate sent by the first participant, and iteratively update its global model based on the update gradient, model prediction value and learning rate.

[0070] In one embodiment, after receiving the model prediction value and learning rate sent by the first participant, the third party can first calculate the updated model parameters based on the updated gradient, the model prediction value, and the learning rate; and then use the updated model parameters to iteratively update its global model.

[0071] After receiving the training target loss value from the first participant, the second participant can calculate its model update gradient and weight update values ​​based on the training target loss value, the feature vectors of its samples, and their feature importance vectors. It then updates its model using these weight update values ​​to obtain an updated model. Next, it uses the updated model to predict its sample data, obtaining a first prediction result. This prediction result is then encrypted using a first key to obtain encrypted parameters for the prediction stage. Finally, these encrypted parameters are sent to the first participant.

[0072] Similarly, the first participant can use its calculated training target loss value and the feature vectors and feature importance vectors of its samples to calculate its model update gradient and weight update values. It then updates its model based on these weight update values ​​to obtain an updated model. Next, it uses its updated model to predict its sample data, obtaining a second prediction result. Afterwards, it uses a second key to decrypt the encrypted parameters sent by the second participant, and calculates the model prediction value based on the decrypted parameters and the aforementioned second prediction result. This model prediction value is then sent to a third party.

[0073] The third party, upon receiving the model prediction value and learning rate from the first participant, and combining them with the previously calculated update gradient, calculates the updated model parameters (i.e., the updated weight values). Specifically, the formula for calculating the updated model parameters is shown in equation (6) below.

[0074]

[0075] In equation (6), α represents the learning rate, and ω on the right side of the equation... j The first part represents the unupdated weight values ​​of the third-party global model (e.g., the initial weight values), and the second part represents the updated model parameters.

[0076] The technical solution provided in this disclosure receives a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant; calculates an encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key; sends the encryption probability value to the first participant so that the first participant can calculate a training target loss value based on the encryption probability value and the sample label value; receives the training target loss value, calculates an update gradient based on the training target loss value, the first encryption parameter, and the second encryption parameter; obtains the model prediction value and learning rate sent by the first participant, and iteratively updates its global model based on the update gradient, the model prediction value, and the learning rate. This enables flexible, efficient, and secure model parameter updates, thereby meeting the data security needs of each participant.

[0077] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.

[0078] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the embodiments of the method disclosed herein.

[0079] Figure 2 This is a schematic diagram of an iterative update device for a joint learning model provided in an embodiment of this disclosure. Figure 2 As shown, the joint learning model iterative update device includes:

[0080] The parameter receiving module 201 is configured to receive a first key and a first encrypted parameter sent by a first participant, and a second encrypted parameter sent by a second participant;

[0081] The probability calculation module 202 is configured to calculate the encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key;

[0082] The loss calculation module 203 is configured to send the encrypted probability value to the first participant so that the first participant can calculate the training target loss value based on the encrypted probability value and the sample label value.

[0083] The gradient calculation module 204 is configured to receive the training target loss value and calculate and update the gradient based on the training target loss value and the first encryption parameter and the second encryption parameter;

[0084] The iterative update module 205 is configured to obtain the model prediction value and learning rate sent by the first participant, and iteratively update its global model based on the update gradient, model prediction value and learning rate.

[0085] The technical solution provided in this embodiment of the disclosure includes: a parameter receiving module 201 receiving a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant; a probability calculation module 202 calculating an encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key; a loss calculation module 203 sending the encryption probability value to the first participant so that the first participant can calculate a training target loss value based on the encryption probability value and the sample label value; a gradient calculation module 204 receiving the training target loss value and calculating an update gradient based on the training target loss value, the first encryption parameter, and the second encryption parameter; and an iterative update module 205 obtaining the model prediction value and learning rate sent by the first participant, and iteratively updating its global model based on the update gradient, the model prediction value, and the learning rate. This enables flexible, efficient, and secure model parameter updates, thereby meeting the data security requirements of each participant.

[0086] In some embodiments, the above step of calculating the encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key includes:

[0087] The model prediction probability value is calculated based on the first encryption parameter and the second encryption parameter;

[0088] The model's predicted probability values ​​are encrypted using the first key to obtain encrypted probability values.

[0089] In some embodiments, the above steps, in which the first participant calculates the training target loss value based on the encryption probability value and the sample label value, include:

[0090] The first participant uses the second key to decrypt the encryption probability value and obtain the decryption probability value;

[0091] The training target loss value is calculated based on the decryption probability value and the sample label value.

[0092] In some embodiments, the above step of calculating the update gradient based on the training target loss value and the first encryption parameter and the second encryption parameter includes:

[0093] Calculate the sum of the first encryption parameter and the second encryption parameter;

[0094] Calculate the partial derivative of the training target loss with respect to the sum to obtain the updated gradient.

[0095] In some embodiments, the above steps, updating the global model based on the updated gradient, model predictions, and learning rate, include:

[0096] Calculate the updated model parameters based on the updated gradient, model predictions, and learning rate;

[0097] Use the updated model parameters to iteratively update the global model.

[0098] In some embodiments, before receiving the second encrypted parameter sent by the second participant, the above steps further include:

[0099] Send the first key to the second participant so that the second participant can calculate the second parameter based on its sample, and encrypt the second parameter using the first key to obtain the second encrypted parameter.

[0100] In some embodiments, before the first participant sends the model prediction value, the above steps further include:

[0101] Receive encrypted parameters for the prediction phase sent by the second participant;

[0102] The model parameters are updated based on the training target loss value to obtain an updated model, and the updated model is used to predict the samples to obtain the prediction results.

[0103] Based on the encryption parameters and prediction results, the model prediction value is calculated.

[0104] Figure 3 This is a schematic diagram of an iterative update system for a joint learning model provided in an embodiment of this disclosure. Figure 3 As shown, the joint learning model iterative update system includes:

[0105] Third party 301, first participant 302 and second participant 303 respectively communicate with third party, first participant 302 and second participant 303 communicate with each other;

[0106] The first participant is configured to send the first key and the first encryption parameters to a third party;

[0107] A third party is configured to receive a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant, calculate an encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key, and send the encryption probability value to the first participant.

[0108] The first participant is also configured to calculate the training target loss value based on the encrypted probability value and the sample label value, and return the training target loss value to a third party;

[0109] The third party is also configured to calculate the updated gradient based on the training target loss value and the first encryption parameter and the second encryption parameter;

[0110] The first participant is also configured to receive encrypted parameters for the prediction phase sent by the second participant, update its model parameters according to the training target loss value, obtain an updated model, use the updated model to predict its samples, obtain prediction results, calculate the model prediction value according to the encrypted parameters and prediction results, and send the model prediction value and learning rate to a third party.

[0111] The third party is also configured to iteratively update its global model based on the updated gradient, model predictions, and learning rate.

[0112] The technical solutions provided in this disclosure can achieve flexible, efficient and secure model parameter updates, thereby meeting the data security needs of each participant.

[0113] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this disclosure.

[0114] Figure 4 This is a schematic diagram of the electronic device 400 provided in an embodiment of this disclosure. Figure 4As shown, the electronic device 400 of this embodiment includes a processor 401, a memory 402, and a computer program 403 stored in the memory 402 and executable on the processor 401. When the processor 401 executes the computer program 403, it implements the steps in the various method embodiments described above. Alternatively, when the processor 401 executes the computer program 403, it implements the functions of each module / unit in the various device embodiments described above.

[0115] For example, computer program 403 may be divided into one or more modules / units, which are stored in memory 402 and executed by processor 401 to perform the present disclosure. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 403 in electronic device 400.

[0116] Electronic device 400 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 400 may include, but is not limited to, processor 401 and memory 402. Those skilled in the art will understand that... Figure 4 This is merely an example of electronic device 400 and does not constitute a limitation on electronic device 400. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device may also include input / output devices, network access devices, buses, etc.

[0117] Processor 401 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0118] The memory 402 can be an internal storage unit of the electronic device 400, such as a hard disk or RAM of the electronic device 400. The memory 402 can also be an external storage device of the electronic device 400, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the electronic device 400. Furthermore, the memory 402 can include both internal and external storage units of the electronic device 400. The memory 402 is used to store computer programs and other programs and data required by the electronic device. The memory 402 can also be used to temporarily store data that has been output or will be output.

[0119] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0120] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0121] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0122] In the embodiments provided in this disclosure, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0123] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0124] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0125] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. A computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in a computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0126] The above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit it. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be included within the protection scope of this disclosure.

Claims

1. An iterative update method for a joint learning model, characterized in that, include: Receive the first key and first encryption parameters sent by the first participant, and the second encryption parameters sent by the second participant; The encryption probability value is calculated based on the first encryption parameter, the second encryption parameter, and the first key, including: calculating the model prediction probability value based on the first encryption parameter and the second encryption parameter, and encrypting the model prediction probability value using the first key to obtain the encryption probability value; Sending the encrypted probability value to the first participant, so that the first participant can calculate the training target loss value based on the encrypted probability value and the sample label value, includes: the first participant decrypting the encrypted probability value using a second key to obtain a decryption probability value, and calculating the training target loss value based on the decryption probability value and the sample label value; Receive the training target loss value, and calculate the update gradient based on the training target loss value, the first encryption parameter, and the second encryption parameter, including: calculating the sum of the first encryption parameter and the second encryption parameter, calculating the partial derivative of the training target loss value with respect to the sum, and obtaining the update gradient; Obtain the model prediction value and learning rate sent by the first participant, and iteratively update its global model based on the update gradient, model prediction value, and learning rate.

2. The method according to claim 1, characterized in that, The step of updating the global model based on the updated gradient, model predictions, and learning rate includes: Calculate the updated model parameters based on the updated gradient, model predictions, and learning rate; The global model is iteratively updated using the updated model parameters.

3. The method according to claim 1, characterized in that, Before receiving the second encrypted parameter sent by the second participant, the process also includes: The first key is sent to the second participant so that the second participant can calculate the second parameter based on its sample, and encrypt the second parameter using the first key to obtain the second encrypted parameter.

4. The method according to claim 1, characterized in that, Before the model prediction value sent by the first participant, the following is also included: Receive encrypted parameters for the prediction phase sent by the second participant; The model parameters are updated based on the training target loss value to obtain an updated model, and the updated model is used to predict the samples to obtain the prediction results. Based on the encryption parameters and prediction results, the model prediction value is calculated.

5. An iterative update device for a joint learning model, characterized in that, The apparatus is used to implement the method as described in any one of claims 1 to 4, the apparatus comprising: The parameter receiving module is configured to receive a first key and a first encrypted parameter sent by a first participant, and a second encrypted parameter sent by a second participant; The probability calculation module is configured to calculate the encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key; The loss calculation module is configured to send the encrypted probability value to the first participant, so that the first participant can calculate the training target loss value based on the encrypted probability value and the sample label value. The gradient calculation module is configured to receive the training target loss value and calculate and update the gradient based on the training target loss value and the first encryption parameter and the second encryption parameter; The iterative update module is configured to obtain the model prediction value and learning rate sent by the first participant, and iteratively update its global model based on the update gradient, model prediction value and learning rate.

6. An iterative update system for a joint learning model, characterized in that, The system is used to implement the method as described in any one of claims 1 to 4, the system comprising: a third party, a first participant and a second participant respectively connected in communication with the third party, the first participant and the second participant being connected in communication; The first participant is configured to send a first key and a first encryption parameter to a third party; The third party is configured to receive a first key and a first encryption parameter sent by a first participant, and a second encryption parameter sent by a second participant, calculate an encryption probability value based on the first encryption parameter, the second encryption parameter, and the first key, and send the encryption probability value to the first participant. The first participant is also configured to calculate the training target loss value based on the encryption probability value and the sample label value, and return the training target loss value to the third party; The third party is also configured to calculate the update gradient based on the training target loss value and the first encryption parameter and the second encryption parameter; The first participant is also configured to receive encrypted parameters for the prediction phase sent by the second participant, update its model parameters according to the training target loss value to obtain an updated model, use the updated model to predict its samples to obtain a prediction result, calculate the model prediction value according to the encrypted parameters and the prediction result, and send the model prediction value and learning rate to the third party. The third party is also configured to iteratively update its global model based on the update gradient, model predictions, and learning rate.

7. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 4.