Method, device, equipment and readable storage medium for updating model parameters

Through horizontal federated learning, combining data from the mobile and enterprise ends, and using encryption technology to update model parameters, the problem of low authenticity of data labels is solved, and the performance and prediction accuracy of the model are improved.

CN111368196BActive Publication Date: 2025-07-29WEBANK (CHINA)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010142907.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-03
Publication Date
2025-07-29
Estimated Expiration
2040-03-03

AI Technical Summary

Technical Problem

How to combine mobile and enterprise data in the field of financial technology to improve the performance of the model, especially the problem of insufficient performance of the recommended model due to the low authenticity of mobile data labels.

Method used

Through horizontal federated learning, the second terminal receives the encrypted feature data sent by the first terminal, calculates it with its own feature data and tag data, and obtains residuals, which are used to update the model parameters of the first terminal and the second terminal to ensure data privacy and security.

Benefits of technology

It realizes that on the premise of ensuring data privacy, the integration of mobile and enterprise data for model training is integrated, improving the performance and prediction accuracy of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111368196B_ABST
    Figure CN111368196B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, apparatus, device, and readable storage medium for updating model parameters, relating to the field of fintech. The method includes the steps: a second terminal receives encrypted first feature data sent by a first terminal, and obtains second feature data and label data corresponding to the second feature data, where the first feature data is obtained by the first terminal and at least one same-type terminal through horizontal federated learning; calculates a residual based on the first feature data, the second feature data, and the label data, and sends the residual to the first terminal for the first terminal to calculate a first gradient value according to the residual and update a first model parameter corresponding to the first feature data according to the first gradient value; calculates a second gradient value according to the residual and updates a second model parameter corresponding to the second feature data according to the second gradient value. The present invention realizes integrating data from two different terminals for model training to improve the performance of the trained model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing in financial technology (Fintech), and particularly to a method, device, equipment and readable storage medium for updating model parameters. Background Art

[0002] With the development of computer technology, more and more technologies are applied in the financial field. The traditional financial industry is gradually transforming into financial technology (Fintech), and data processing technology is no exception. However, due to the security and real-time requirements of the financial industry, higher requirements are also put forward for data processing technology.

[0003] A typical application is the recommendation system. However, in many cases, it is very difficult to directly obtain label data. For example, in the recommendation scenario of e-commerce, users do not directly specify whether they like a certain item. We can only rely on the behavior of users and define it according to some artificial rules. For example, if a user purchases a certain item, then we think the user likes it (labeled as 1); on the contrary, if a user only browses without purchasing, then we think the user does not like it (labeled as 0). However, this artificial rule definition is not real label data after all, and sometimes it may be very different from the actual situation.

[0004] Currently, the joint application of the mobile terminal and the enterprise terminal is a trend in the development of the current AI field. With the development of the mobile Internet, the mobile terminal has become the most important tool for people to obtain information currently. Therefore, the mobile terminal has very rich user behavior data. However, as described above, the authenticity of the data labels on the mobile terminal is not high. Therefore, a large amount of data preprocessing work needs to be done to utilize the user behavior on the mobile terminal. On the other hand, on the enterprise side, the user's information data is relatively small, but usually very sensitive and important privacy data, such as personal credit investigation and loan information of banks. Moreover, compared with the user behavior data on the mobile terminal, the authenticity of these data is much higher. Therefore, if these important and real data can be utilized and combined with the mobile terminal data, it will greatly improve the performance of the recommendation model.

[0005] It can be seen from this that currently, how to combine the data of two different terminals for model training to improve the performance of the trained model is an urgent problem to be solved. Summary of the Invention

[0006] The main purpose of the present invention is to provide a method, device, equipment and readable storage medium for updating model parameters, aiming to solve the technical problem of how to combine the data of two different terminals for model training to improve the performance of the trained model in the prior art.

[0007] To achieve the above object, the present invention provides a method for updating model parameters. The method for updating model parameters includes the steps:

[0008] The second terminal receives the encrypted first feature data sent by the first terminal, and obtains the second feature data and the label data corresponding to the second feature data. The first feature data is obtained by the first terminal and at least one terminal of the same type through horizontal federated learning, and the first terminal and the second terminal are terminals of different types;

[0009] Calculate a residual based on the first feature data, the second feature data, and the label data, and send the residual to the first terminal for the first terminal to calculate a first gradient value based on the residual and update the first model parameters corresponding to the first feature data according to the first gradient value;

[0010] Calculate a second gradient value based on the residual, and update the second model parameters corresponding to the second feature data according to the second gradient value.

[0011] Preferably, after the step that the second terminal receives the encrypted first feature data sent by the first terminal and obtains the second feature data and the label data corresponding to the second feature data, it further includes:

[0012] Obtain the encrypted first feature parameters corresponding to the first feature data, and obtain the second feature parameters corresponding to the second feature data, where the device identifiers corresponding to the first feature data and the second feature data are the same;

[0013] Calculate a loss value based on the first feature data, the second feature data, the label data, the first feature parameters, and the second feature parameters;

[0014] Send the loss value to a third terminal for the third terminal to determine whether the first model parameters and the second model parameters meet the stop update condition according to the loss value and return a prompt message;

[0015] If it is determined according to the prompt message that the first model parameters and the second model parameters do not meet the stop update condition, then return to execute the step that the second terminal receives the encrypted first feature data sent by the first terminal and obtains the second feature data and the label data.

[0016] Preferably, the step of sending the loss value to a third terminal for the third terminal to determine whether the first model parameters and the second model parameters meet the stop update condition includes:

[0017] Send the loss value to a third terminal, so that after receiving the loss value, the third terminal can obtain the historical loss value when the first model parameter and the second model parameter were last updated, and determine that the first model parameter and the second model parameter meet the stop update condition when detecting that the absolute value of the difference between the loss value and the historical loss value is less than a preset threshold, and determine that the first model parameter and the second model parameter do not meet the stop update condition when detecting that the absolute value is greater than or equal to the preset threshold.

[0018] Preferably, before the step of calculating the second gradient value according to the residual, the method further includes:

[0019] Obtain the training data corresponding to the second feature data, and obtain the third feature parameter corresponding to the second feature data;

[0020] The step of calculating the second gradient value according to the residual includes:

[0021] Calculate the second gradient value according to the training data, the third feature parameter, and the residual.

[0022] Preferably, the step of updating the second model parameter corresponding to the second feature data according to the second gradient value includes:

[0023] Obtain the update coefficient corresponding to the second terminal;

[0024] Update the second model parameter corresponding to the second feature data according to the second gradient value and the update coefficient.

[0025] Preferably, the step of calculating the residual according to the first feature data, the second feature data, and the label data includes:

[0026] Calculate the difference between the second feature data and the label data of the second feature data, and encrypt the difference to obtain the encrypted difference;

[0027] Calculate the encrypted residual according to the encrypted difference and the encrypted first feature data;

[0028] The steps of calculating the second gradient value according to the residual and updating the second model parameter corresponding to the second feature data according to the second gradient value include:

[0029] Calculate the encrypted second gradient value according to the encrypted residual, send the encrypted second gradient value to a third terminal, so that the third terminal decrypts the encrypted second gradient value and returns the decrypted second gradient value;

[0030] Receive the decrypted second gradient value returned by the third terminal, and update the second model parameters corresponding to the second feature data according to the decrypted second gradient value.

[0031] Preferably, after the step of calculating the second gradient value according to the residual and updating the second model parameters corresponding to the second feature data according to the second gradient value, the method further includes:

[0032] Use the updated second model parameters as the model parameters of the loan prediction model in the second terminal to obtain a loan prediction model;

[0033] After receiving the data to be predicted, input the data to be predicted into the loan prediction model to obtain the loan probability corresponding to the data to be predicted, and perform information push according to the loan probability.

[0034] In addition, to achieve the above object, the present invention also provides an update device for model parameters, where the update device for model parameters includes:

[0035] A receiving module, configured to receive the encrypted first feature data sent by the first terminal, where the first feature data is obtained by the first terminal and at least one same-type terminal through horizontal federated learning, and the first terminal and the second terminal are different types of terminals;

[0036] An obtaining module, configured to obtain second feature data and label data corresponding to the second feature data;

[0037] A calculating module, configured to calculate a residual according to the first feature data, the second feature data, and the label data;

[0038] A sending module, configured to send the residual to the first terminal for the first terminal to calculate a first gradient value according to the residual and update the first model parameters corresponding to the first feature data according to the first gradient value;

[0039] The calculating module is further configured to calculate a second gradient value according to the residual;

[0040] An updating module, configured to update the second model parameters corresponding to the second feature data according to the second gradient value.

[0041] In addition, to achieve the above object, the present invention also provides an update device for model parameters, where the update device for model parameters includes a memory, a processor, and a model parameter update program stored on the memory and executable on the processor. When the model parameter update program is executed by the processor, it implements the steps of the model parameter update method corresponding to the federated learning server.

[0042] In addition, to achieve the above object, the present invention also provides a computer-readable storage medium, on which an update program for model parameters is stored. When the update program for model parameters is executed by a processor, the steps of the above-described method for updating model parameters are implemented.

[0043] In the present invention, the second terminal performs joint training by combining the data encrypted by the first terminal to update the model parameters in the prediction model. While ensuring the privacy of the data of the first terminal, that is, on the basis that the first terminal does not disclose its own original data, the second terminal can integrate its own data and the data encrypted by the first terminal for joint training to update the model parameters, that is, update the corresponding prediction model, thereby realizing the integration of data from two different terminals for model training to improve the performance of the trained model. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 is a schematic flowchart of the first embodiment of the method for updating model parameters of the present invention;

[0045] Figure 2 is a schematic flowchart of the second embodiment of the method for updating model parameters of the present invention;

[0046] Figure 3 is a schematic flowchart of a process of updating model parameters in an embodiment of the present invention;

[0047] Figure 4 is a functional schematic block diagram of a preferred embodiment of the device for updating model parameters of the present invention;

[0048] Figure 5 is a schematic structural diagram of the hardware operating environment involved in the embodiment solution of the present invention.

[0049] The realization, functional features and advantages of the object of the present invention will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0050] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0051] The present invention provides a method for updating model parameters, referring to Figure 1 , Figure 1 which is a schematic flowchart of the first embodiment of the method for updating model parameters of the present invention.

[0052] The embodiments of the present invention provide embodiments of the method for updating model parameters. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than here.

[0053] The method for updating model parameters is applied to a server or a terminal. The terminal may include mobile terminals such as mobile phones, tablet computers, laptop computers, palmtop computers, personal digital assistants (PDAs), etc., and fixed terminals such as digital TVs and desktop computers. In each embodiment of the method for updating model parameters, for the sake of convenience of description, the execution subject is omitted to elaborate on each embodiment. The method for updating model parameters includes:

[0054] Step S10, the second terminal receives the encrypted first feature data sent by the first terminal, and obtains the second feature data and the label data corresponding to the second feature data, where the first feature data is obtained by the first terminal through horizontal federated learning with at least one terminal of the same type, and the first terminal and the second terminal are terminals of different types.

[0055] The second terminal receives the encrypted first feature data sent by the first terminal. Specifically, after the first terminal encrypts the first feature data, the first terminal sends the encrypted first feature data to the second terminal. Or when the second terminal needs to update the second model parameters, the second terminal generates an acquisition request and sends the acquisition request to the first terminal. When the first terminal receives the acquisition request, the first terminal performs horizontal federated learning with at least one terminal of the same type to obtain the first feature data, and encrypts the first feature data to obtain the encrypted first feature data. The first terminal sends the encrypted first feature parameter to the second terminal. In this embodiment, the first terminal and the second terminal are terminals of different types. For example, the first terminal is a mobile phone terminal, and the terminals performing horizontal federated learning with the first terminal are also mobile phone terminals. At this time, the mobile phone terminal has rich feature data but less label data and low data authenticity; the second terminal is an enterprise terminal, and the enterprise terminal has less data but high data authenticity. The first terminal can be one terminal or multiple terminals. In the first terminal and the second terminal, there are corresponding prediction models. Among them, the prediction model can be a linear regression model, a machine learning model, a deep learning model, etc. For the sake of distinction in this embodiment, the prediction model in the first terminal is denoted as the first prediction model, and the prediction model in the second terminal is denoted as the second prediction model.

[0056] Specifically, the first terminal calculates the first feature data according to the first model parameters of the first prediction model and the first training data. If the first model parameters are denoted as the first training data is denoted as the first feature data is denoted as then the formula for the first terminal to calculate the first feature data can be expressed as: After the first terminal calculates a piece of feature data, the first terminal encrypts the first feature data using a pre-set encryption algorithm, and sends the encrypted first feature data to the second terminal. In the embodiments of the present invention, [[a]] is used to represent the encrypted a. For example, the encrypted first feature data is represented as In this embodiment, the encryption algorithm in the first terminal is not limited. For example, the first terminal can use encryption algorithms such as DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm), and AES (Advanced Encryption Standard) to encrypt the first feature data. It can be understood that the first terminal encrypts the first feature data and sends it to the second terminal, which ensures the privacy of the data in the first terminal, that is, it ensures the security of the data in the first terminal.

[0057] The second terminal obtains the second feature data and the label data corresponding to the second feature data. It should be noted that the process by which the second terminal obtains the second feature data is similar to the process by which the first terminal obtains a piece of feature data, that is, the second terminal obtains the second model parameters and obtains the second training data, and then calculates the product between the second parameters and the second training data to obtain the second feature data. If the second model parameters are denoted as The second training data is denoted as The second feature data is denoted as Then the formula for the second terminal to calculate the second feature data can be expressed as: It should be noted that this embodiment is for the convenience of description and uses two model parameters as an example. In the specific application process, the number of model parameters in the first prediction model and the second prediction model can be set according to specific needs.

[0058] The label data is corresponding to the second training data, and each second training data has corresponding label data. In this embodiment, only the second training data in the second terminal has label data, and the first training data in the first terminal does not have corresponding label data. Specifically, for example, when the second training data represents that the user likes item A, if the user indicates that they like item A, the label data is "1"; if the user indicates that they do not like item A, the label data is "0". In this embodiment, the form of the label data is not limited.

[0059] Step S20, calculate a residual based on the first feature data, the second feature data, and the label data, and send the residual to the first terminal for the first terminal to calculate a first gradient value based on the residual and update the first model parameters corresponding to the first feature data according to the first gradient value.

[0060] After the second terminal obtains the encrypted first feature data, second feature data, and label data, the second terminal calculates a residual based on the first feature data, second feature data, and label data, and sends the residual to the first terminal. It should be noted that the residual sent by the second terminal to the first terminal is the encrypted residual. After the first terminal receives the encrypted residual, the first terminal calculates a first gradient value based on the encrypted residual, first training data, and first model parameters.

[0061] Specifically, the first terminal calculates a first product between the encrypted residual and the first training data, and calculates a second product between the first model parameters and the gradient coefficient, and encrypts the second product to obtain the encrypted second product, and calculates the encrypted first gradient value based on the first product and the encrypted second product. If the encrypted residual is denoted as [[d i , the gradient coefficient is denoted as λ, the magnitude of the gradient coefficient can be set according to specific needs, and the present embodiment does not specifically limit the magnitude of the gradient coefficient. The encrypted first gradient value is denoted as Then the formula for calculating the encrypted first gradient value can be expressed as:

[0062]

[0063] After the first terminal calculates the encrypted first gradient value, the first terminal sends the encrypted first gradient value to the third terminal. It should be noted that the third terminal is a terminal trusted by the first terminal and the second terminal. The third terminal knows the encryption algorithms for encrypting data by the first terminal and the second terminal, and the third terminal can decrypt the encrypted data sent by the first terminal and the second terminal. After the third terminal receives the encrypted first gradient value sent by the first terminal, the third terminal decrypts the encrypted first gradient value to obtain the decrypted first gradient value, and sends the decrypted first gradient value to the first terminal. After the first terminal receives the decrypted first gradient value, the first terminal obtains a first update coefficient, calculates the product between the first update coefficient and the decrypted first gradient value, and then subtracts the product between the first update coefficient and the decrypted first gradient value from the first model parameters to obtain the updated first model parameters. In the present embodiment, the magnitude of the first update coefficient is not limited, and the user can set the magnitude of the first update coefficient according to specific needs. If the first update coefficient is denoted as η1, and the updated first model parameters are denoted as Then the formula for the first terminal to calculate the updated first model parameters can be expressed as:

[0064]

[0065] As can be seen from the above formula, in the present embodiment, the gradient descent algorithm is used to update the model parameters.

[0066] Step S30: Calculate a second gradient value based on the residual, and update the second model parameter corresponding to the second feature data according to the second gradient value.

[0067] After the second terminal calculates the residual, the second terminal calculates a second gradient value based on the residual, and updates the second model parameter corresponding to the second feature data according to the second gradient value, that is, updates the second model parameter of the second prediction model to obtain the updated second model parameter. When the updated second model parameter is obtained, the second terminal inputs the updated second model parameter into the second prediction model to obtain a second prediction model that can be used for data prediction.

[0068] Further, the step of calculating the residual based on the first feature data, the second feature data, and the label data includes:

[0069] Step a: Calculate the difference between the second feature data and the label data corresponding to the second feature data, and encrypt the difference to obtain the encrypted difference.

[0070] Step b: Calculate the encrypted residual based on the encrypted difference and the encrypted first feature data.

[0071] Specifically, the second terminal calculates the difference between the second feature data and the label data corresponding to the second feature data, and encrypts the calculated difference to obtain the encrypted difference. It can be understood that the label data corresponding to the second feature data is the label data corresponding to the second training data. In this embodiment, the encryption algorithm for the second terminal to encrypt this difference is not limited. In this embodiment, in order to improve the update efficiency of the model parameter, the encryption algorithms used by the second terminal and the first terminal to encrypt data are the same. In other embodiments, the encryption algorithms used by the first terminal and the second terminal to encrypt data may also be different.

[0072] When the second terminal obtains the encrypted difference, the second terminal calculates the encrypted residual based on the encrypted difference and the encrypted first feature data. If the label data is denoted as y i , then the calculation formula for the second terminal to calculate the encrypted residual can be expressed as:

[0073]

[0074] The step S30 includes:

[0075] Step c: Calculate the encrypted second gradient value based on the encrypted residual, send the encrypted second gradient value to the third terminal for the third terminal to decrypt the encrypted second gradient value and return the decrypted second gradient value.

[0076] Step d, receive the decrypted second gradient value returned by the third terminal, and update the second model parameter corresponding to the second feature data according to the decrypted second gradient value.

[0077] When the second terminal calculates the encrypted residual, the second terminal calculates the encrypted second gradient value based on the encrypted residual and sends the encrypted second gradient value to the third terminal. When the third terminal receives the encrypted second gradient value, the third terminal decrypts the encrypted second gradient value and sends the decrypted second gradient value to the second terminal. When the second terminal receives the decrypted second gradient value sent by the third terminal, the second terminal updates the second model parameter corresponding to the second feature data according to the decrypted second gradient value.

[0078] Further, the method for updating the model parameter further includes:

[0079] Step e, obtain the training data corresponding to the second feature data and obtain the third feature parameter corresponding to the second feature data.

[0080] The step of calculating the second gradient value according to the residual includes:

[0081] Step f, calculate the second gradient value according to the training data, the third feature parameter and the residual.

[0082] When the second terminal obtains the second feature data, the second terminal obtains the training data corresponding to the second feature data, that is, obtains the second training data corresponding to the second feature data, and obtains the third feature parameter corresponding to the second feature data. Specifically, the second terminal obtains the gradient coefficient, calculates the product between the gradient coefficient and the second model parameter, and records the product between the gradient coefficient and the second model parameter as the third product, encrypts the third product to obtain the encrypted third product, and calculates the product between the second training data and the encrypted residual, and records the product between the second training data and the encrypted residual as the fourth product, and then calculates the encrypted second gradient value according to the fourth product and the encrypted third product. Among them, if the encrypted second gradient value is expressed as The gradient coefficient is expressed as λ, and the third feature parameter is expressed as Then the calculation formula for the second terminal to calculate the encrypted second gradient value can be expressed as:

[0083]

[0084] Further, the step of updating the second model parameter corresponding to the second feature data according to the second gradient value includes:

[0085] Step g, obtain the update coefficient corresponding to the second terminal.

[0086] Step h, update the second model parameters corresponding to the second feature data according to the second gradient value and the update coefficient.

[0087] Specifically, it should be noted that during the process of the second terminal updating the second model parameters, the second gradient value used by the second terminal is the decrypted second gradient value. The second terminal obtains the update coefficient corresponding to updating the second model parameters, that is, obtains the second update coefficient, and updates the second model parameters corresponding to the second feature data according to the decrypted second gradient value and the second update coefficient. Specifically, the second terminal calculates the product between the second update coefficient and the decrypted second gradient value, and then subtracts the product between the second update coefficient and the decrypted second gradient value from the second model parameters to obtain the updated second model parameters, so as to update the second model parameters. Among them, the second update coefficient may be equal to the first update coefficient or not equal to the first update coefficient. If the second update coefficient is denoted as η2 and the updated second model parameters are denoted as Then the calculation formula for the second terminal to calculate the updated second model parameters can be:

[0088]

[0089] In this embodiment, the second terminal performs joint training by combining the encrypted data of the first terminal, updates the model parameters in the prediction model, and while ensuring the privacy of the data of the first terminal, that is, without the first terminal disclosing its own original data, enables the second terminal to integrate its own data and the encrypted data of the first terminal for joint training, update the model parameters, that is, update the corresponding prediction model, thereby realizing the integration of the data of two different terminals for model training to improve the performance of the trained model.

[0090] Furthermore, a second embodiment of the method for updating the model parameters of the present invention is proposed. The difference between the second embodiment of the method for updating the model parameters and the first embodiment of the method for updating the model parameters is that with reference to Figure 2 , the method for updating the model parameters further includes:

[0091] Step S40, obtain the encrypted first feature parameters corresponding to the first feature data, and obtain the second feature parameters corresponding to the second feature data, where the device identifiers corresponding to the first feature data and the second feature data are the same.

[0092] The second terminal obtains the encrypted first feature parameter corresponding to the first feature data, and obtains the second feature parameter corresponding to the second feature data. Among them, when the first terminal sends the second feature data to the second terminal, the encrypted first feature parameter can be sent to the second terminal together. The way for the first terminal to send the encrypted first feature parameter to the second terminal can be the same as or different from the way of sending the encrypted first feature data. It should be noted that the device identifiers corresponding to the first feature data and the second feature data are the same, that is, the device identifiers of the first training data and the second training data in this embodiment are the same. The device identifier can uniquely represent a certain terminal, and each different terminal can be identified through the device identifier. In this embodiment, the device identifier can be represented by the package name of the terminal or other information, or can be represented by the ID number or phone number of the user corresponding to the terminal, etc.

[0093] Specifically, when the first terminal needs to send the encrypted first feature parameter to the second terminal, the first terminal obtains the first feature data, then calculates the square of the first feature data, and obtains the first model parameter and the gradient coefficient. The to-be-calculated feature parameter is calculated according to the first model parameter and the gradient coefficient, and the first feature parameter is obtained according to the to-be-calculated feature parameter and the square of the first feature data. If the intersection of the device identifier in the first training data and the device identifier in the second training data is denoted as D, then the encrypted first feature parameter of the first terminal can be expressed as:

[0094]

[0095] Further, the first terminal can calculate the encrypted first feature parameter through the encrypted first feature data and the square of the encrypted first feature data. If the square of the encrypted first feature data is denoted as Then the process for the first terminal to calculate the encrypted first feature parameter through the encrypted first feature data and the square of the encrypted first feature data gradient series data can be expressed as:

[0096]

[0097] When the second terminal obtains the second feature parameter, the second terminal obtains the gradient coefficient and the second model parameter, and calculates the second feature parameter according to the second model parameter. Specifically, the encrypted second feature parameter can be expressed as It should be noted that in this embodiment, the loss value is calculated based on the second feature parameter, and the loss value is to be sent to the third terminal. Therefore, in order to protect the security of the data of the second terminal, it is necessary to encrypt the data for calculating the loss value. In the embodiments of the present invention, for the convenience of calculation, the encryption algorithm for encrypting the data by the first terminal is the same as the encryption algorithm for encrypting the data by the second terminal. In other embodiments, the encryption algorithm for encrypting the data by the first terminal and the encryption algorithm for encrypting the data by the second terminal may also be different.

[0098] Step S50, calculate a loss value according to the first feature data, the second feature data, the label data, the first feature parameter, and the second feature parameter.

[0099] After the second terminal obtains the first feature parameter and the second feature parameter, the second terminal calculates a loss value according to the first feature data, the second feature data, the label data, the first feature parameter, and the second feature parameter. It should be noted that since all the data for calculating the loss value are encrypted, the calculated loss value is also encrypted.

[0100] Specifically, if the encrypted loss value is denoted as [[L]], the loss function for the second terminal to calculate the loss value can be expressed as:

[0101]

[0102] Specifically, the derivation process of the loss function is as follows:

[0103]

[0104] Since Therefore:

[0105]

[0106] Step S60, send the loss value to the third terminal for the third terminal to determine whether the first model parameter and the second model parameter meet the stop update condition according to the loss value and return a prompt message.

[0107] After the second terminal calculates the encrypted loss value, the second terminal sends the encrypted loss value to the third terminal. It should be noted that the second terminal can send the loss value to the third terminal while sending the residual to the first terminal, or can send the loss value to the third terminal after sending the residual to the first terminal, or can send the loss value to the third terminal before sending the residual to the first terminal. After the third terminal receives the encrypted loss value, the third terminal decrypts the encrypted loss value to obtain the decrypted loss value, and determines whether the first model parameter and the second model parameter meet the stop update condition according to the decrypted loss value. Among them, the stop update condition can be set according to specific needs. For example, it can be set that when the decrypted loss value is less than the preset loss value, it is determined that the first model parameter and the second model parameter meet the stop update condition; when the decrypted loss value is greater than or equal to the preset loss value, it is determined that the first model parameter and the second model parameter do not meet the stop update condition. Among them, the size of the preset loss value can be set according to specific needs.

[0108] After the third terminal determines whether the first model parameter and the second model parameter meet the stop update condition, it generates a prompt message and sends the prompt message to the second terminal, or can also send the prompt message to the first terminal at the same time. Among them, the prompt message carries a keyword, and whether the first model parameter and the second model parameter meet the stop update condition can be determined through this keyword. For example, when the keyword in the prompt message is "true", it indicates that the first model parameter and the second model parameter meet the stop update condition; when the keyword in the prompt message is "false", it indicates that the first model parameter and the second model parameter do not meet the stop update condition. It should be noted that the examples of keywords in this embodiment are only for easy understanding and do not constitute a limitation on the keywords. For example, the keywords can be set to "0" and "1", etc.

[0109] Further, step S60 includes:

[0110] Step g, sending the loss value to the third terminal, so that after the third terminal receives the loss value, it obtains the loss history value when the first model parameter and the second model parameter were updated last time, and determines that the first model parameter and the second model parameter meet the stop update condition when it detects that the absolute value of the difference between the loss value and the loss history value is less than the preset threshold, and determines that the first model parameter and the second model parameter do not meet the stop update condition when it detects that the absolute value is greater than or equal to the preset threshold.

[0111] Further, when the second terminal sends the encrypted loss value to the third terminal, and the third terminal receives the encrypted loss value and decrypts it to obtain the decrypted loss value, the third terminal obtains the historical loss value when the first model parameters and the second model parameters were last updated. It should be noted that each time the model parameters are updated, a loss value is generated. That is, each time the model parameters are updated, the third terminal receives the loss value sent by the second terminal and stores the loss value. After the third terminal obtains the historical loss value, the third terminal calculates the difference between the currently received loss value and the historical loss value, and calculates the absolute value of the difference, and detects whether the absolute value of the difference is less than a preset threshold. If the third terminal detects that the absolute value of the difference is less than the preset threshold, the third terminal determines that the first model parameters and the second model parameters meet the stop update condition; if the third terminal detects that the absolute value of the difference is greater than or equal to the preset threshold, the third terminal determines that the first model parameters and the second model parameters do not meet the stop update condition. Among them, the size of the preset threshold can be set according to specific needs, such as it can be set to 0.00001.

[0112] Step S70, if it is determined according to the prompt information that the first model parameters and the second model parameters do not meet the stop update condition, then return to execute the step that the second terminal receives the encrypted first feature data sent by the first terminal, and obtains the second feature data and the label data.

[0113] When the second terminal receives the prompt information and determines according to the prompt information that the first model parameters and the second model parameters do not meet the stop update condition, the second terminal receives the encrypted first feature data sent by the first terminal again, and obtains the second feature data and the label data, that is, continues to perform the model parameter update operation. Further, when the second terminal receives the prompt information and determines according to the prompt information that the first model parameters and the second model parameters meet the stop update condition, the model parameter update operation is no longer performed, that is, no iteration is performed, and the second terminal inputs the updated second model parameters into the second prediction model to obtain the trained second prediction model. When the first terminal determines according to the received prompt information that the first model parameters and the second model parameters meet the stop update condition, the first terminal inputs the updated first model parameters into the first prediction model to obtain the trained first prediction model. It can be understood that when the first model parameters and the second model parameters meet the stop update condition, it indicates that the update of the model parameters meets the convergence condition.

[0114] In this embodiment, the loss value is used to determine whether to end the update operations of the first model parameters and the second model parameters. When it is determined not to end the update operations of the first model parameters and the second model parameters, that is, when it is determined that the first model parameters and the second model parameters do not meet the stop update conditions, the update operations of the first model parameters and the second model parameters are continued, thereby improving the model performance of the prediction model obtained according to the updated model parameters and improving the accuracy of the prediction model for data prediction.

[0115] Specifically, referring to Figure 3 , the whole process of the model parameter update method is as follows: Step 1: First, initialize the weight parameters, that is, initialize the first model parameters and the second model parameters. In this embodiment, the user can select how to initialize the first model parameters and the second model parameters according to needs. For example, all the first model parameters can be initialized to the same value, or each first model parameter can be initialized to a different value; Step 2: After initializing the first model parameters and the second model parameters, perform device ID duplicate check, that is, select the first training data and the second training data with the same device identifier; Step 3: Select the training data of some mobile device terminals for training. The set of mobile device terminals is the first terminal (PartA), and A1, A i , A k , etc. represent different mobile device terminals; Steps 4 and 5 are the calculation processes performed on the first terminal; Step 6 is the process of the second terminal (Part B) calculating the encrypted loss function and the encrypted residual, that is, the process of calculating the loss value and the residual; Steps 7 and 8 are the operation processes of the first terminal after receiving the encrypted residual. In Step 8, both the first terminal and the second terminal calculate the encrypted gradient, that is, calculate the first gradient value and the second gradient value; In Step 9, the third terminal (third party C) will obtain the decrypted gradient value according to the gradient values sent by the first terminal and the second terminal and return it correspondingly; In Step 10, the first terminal and the second terminal will update their respective model parameters according to the gradient values returned by the third terminal; In Step 11, the third terminal will decrypt the loss function to determine whether the iteration ends, that is, determine whether the iteration ends according to the loss value. Among them, the end of the iteration indicates that the first model parameters and the second model parameters meet the stop update conditions, and the non-end of the iteration indicates that the first model parameters and the second model parameters do not meet the stop update conditions. If the iteration ends, the update operation of the model parameters is completed. If the iteration does not end, return to Step 3 and continue the update operation of the model parameters.

[0116] It should be noted that this embodiment is an extension of the existing federated learning solution. Federated learning is a technology for collaborative modeling while protecting user data privacy. It ensures that data can still be effectively modeled without leaving the local area. According to the division of data and features, it can generally be divided into horizontal federation and vertical federation. Horizontal federation requires that each client has the same features and also has labeled data at the same time. The problem to be solved by vertical federation is the situation where only one party has labeled data and the remaining parties only have features.

[0117] Furthermore, a third embodiment of the method for updating the model parameters of the present invention is proposed.

[0118] The difference between the third embodiment of the method for updating the model parameters and the first and / or second embodiment of the method for updating the model parameters is that the method for updating the model parameters further includes:

[0119] Step h, using the updated second model parameters as the model parameters of the loan prediction model in the second terminal to obtain a loan prediction model.

[0120] Step i, after receiving the data to be predicted, inputting the data to be predicted into the loan prediction model to obtain the loan probability corresponding to the data to be predicted, and performing information push according to the loan probability.

[0121] When the second terminal obtains the updated second model parameters, the second terminal uses the updated second model parameters as the model parameters of the loan prediction model. It can be understood that at this time, the second prediction model in the second terminal is the loan prediction model, and the user can also set the second prediction model as a character recognition model or a picture recognition model, etc. according to needs. It should be noted that for different types of models, the training data used before are different. For example, the training data corresponding to the loan prediction model are the data generated when users apply for loans, and the training data corresponding to the picture recognition model are picture-related data.

[0122] When the second terminal obtains the loan prediction model, the second terminal inputs the data to be predicted into the loan prediction model to obtain the loan probability corresponding to the data to be predicted. It can be understood that the loan probability is the output result of the loan prediction model. The second terminal can perform loan-related information push according to the loan probability.

[0123] In this embodiment, by using the updated second model parameters as the model parameters of the loan prediction model in the second terminal to obtain a loan prediction model, and then performing information push according to the loan probability obtained from the loan prediction model, the accuracy of loan-related information push is improved.

[0124] In addition, the present invention also provides a device for updating model parameters. Refer to Figure 4, the updating device for the model parameters includes:

[0125] A receiving module 10, configured to receive the encrypted first feature data sent by a first terminal, where the first feature data is obtained by the first terminal and at least one same-type terminal through horizontal federated learning, and the first terminal and the second terminal are different-type terminals;

[0126] An obtaining module 20, configured to obtain second feature data and label data corresponding to the second feature data;

[0127] A calculating module 30, configured to calculate a residual according to the first feature data, the second feature data, and the label data;

[0128] A sending module 40, configured to send the residual to the first terminal for the first terminal to calculate a first gradient value according to the residual and update first model parameters corresponding to the first feature data according to the first gradient value;

[0129] The calculating module 30 is further configured to calculate a second gradient value according to the residual;

[0130] An updating module 50, configured to update second model parameters corresponding to the second feature data according to the second gradient value.

[0131] Further, the obtaining module 20 is further configured to obtain encrypted first feature parameters corresponding to the first feature data and second feature parameters corresponding to the second feature data, where device identifiers corresponding to the first feature data and the second feature data are the same;

[0132] The calculating module 30 is further configured to calculate a loss value according to the first feature data, the second feature data, the label data, the first feature parameters, and the second feature parameters;

[0133] The sending module 40 is further configured to send the loss value to a third terminal for the third terminal to determine whether the first model parameters and the second model parameters meet a stop updating condition according to the loss value and return a prompt message;

[0134] The updating device for the model parameters further includes:

[0135] An execution module, configured to, if it is determined according to the prompt message that the first model parameters and the second model parameters do not meet the stop updating condition, return to execute the steps of the second terminal receiving the encrypted first feature data sent by the first terminal and obtaining the second feature data and the label data.

[0136] Further, the sending module 40 is further configured to send the loss value to a third terminal, so that after receiving the loss value, the third terminal can obtain the historical loss value when the first model parameter and the second model parameter were updated last time, and determine that the first model parameter and the second model parameter meet the stop update condition when detecting that the absolute value of the difference between the loss value and the historical loss value is less than a preset threshold, and determine that the first model parameter and the second model parameter do not meet the stop update condition when detecting that the absolute value is greater than or equal to the preset threshold.

[0137] Further, the obtaining module 20 is further configured to obtain the training data corresponding to the second feature data, and obtain the third feature parameter corresponding to the second feature data;

[0138] The calculating module 30 is further configured to calculate a second gradient value according to the training data, the third feature parameter, and the residual.

[0139] Further, the updating module 50 includes:

[0140] An obtaining unit, configured to obtain the update coefficient corresponding to the second terminal;

[0141] An updating unit, configured to update the second model parameter corresponding to the second feature data according to the second gradient value and the update coefficient.

[0142] Further, the calculating module 30 includes:

[0143] A calculating unit, configured to calculate the difference between the second feature data and the second feature data label data;

[0144] An encrypting unit, configured to encrypt the difference to obtain an encrypted difference;

[0145] The calculating unit is further configured to calculate an encrypted residual according to the encrypted difference and the encrypted first feature data; calculate an encrypted second gradient value according to the encrypted residual;

[0146] A sending unit, configured to send the encrypted second gradient value to a third terminal, so that the third terminal decrypts the encrypted second gradient value and returns the decrypted second gradient value;

[0147] The updating module 50 is further configured to receive the decrypted second gradient value returned by the third terminal, and update the second model parameter corresponding to the second feature data according to the decrypted second gradient value.

[0148] Further, the model parameter updating device further includes:

[0149] A processing module, configured to use the updated second model parameters as the model parameters of the loan prediction model in the second terminal, so as to obtain a loan prediction model;

[0150] An input module, configured to, after receiving data to be predicted, input the data to be predicted into the loan prediction model, obtain a loan probability corresponding to the data to be predicted, and perform information push according to the loan probability.

[0151] The specific implementation manner of the model parameter update device of the present invention is basically the same as that of the above-mentioned embodiments of the model parameter update method, and will not be elaborated herein.

[0152] In addition, the present invention further provides a model parameter update device. As Figure 5 shown, Figure 5 is a schematic structural diagram of a hardware operating environment involved in the embodiment solution of the present invention.

[0153] It should be noted that Figure 5 can be a schematic structural diagram of the hardware operating environment of the model parameter update device. The model parameter update device in the embodiment of the present invention can be a terminal device such as a PC or a portable computer.

[0154] As Figure 5 shown, the model parameter update device may include: a processor 1001, such as a CPU, a memory 1005, a user interface 1003, a network interface 1004, and a communication bus 1002. Among them, the communication bus 1002 is used to implement connection communication between these components. The user interface 1003 may include a display screen (Display) and an input unit such as a keyboard (Keyboard). Optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. Optionally, the memory 1005 may also be a storage device independent of the foregoing processor 1001.

[0155] Those skilled in the art can understand that Figure 5 the structural diagram of the model parameter update device shown in does not constitute a limitation on the model parameter update device, and may include more or fewer components than shown, or combine some components, or have different component arrangements.

[0156] As Figure 5As shown in the figure, the memory 1005, which is a computer storage medium, may include an operating system, a network communication module, a user interface module, and a model parameter update program. Among them, the operating system is a program that manages and controls the hardware and software resources of the model parameter update device, and supports the operation of the model parameter update program and other software or programs.

[0157] In Figure 5 In the model parameter update device shown in the figure, the user interface 1003 is mainly used to connect the first terminal and the third terminal, and perform data communication with the first terminal and the third terminal respectively; the network interface 1004 is mainly used for the background server and performs data communication with the background server; the processor 1001 can be used to call the model parameter update program stored in the memory 1005 and execute the steps of the model parameter update method described above.

[0158] The specific implementation manner of the model parameter update device of the present invention is basically the same as that of each embodiment of the above model parameter update method, and will not be described in detail here.

[0159] In addition, an embodiment of the present invention also proposes a computer-readable storage medium, on which a model parameter update program is stored. When the model parameter update program is executed by a processor, the steps of the model parameter update method described above are implemented.

[0160] The specific implementation manner of the computer-readable storage medium of the present invention is basically the same as that of each embodiment of the above model parameter update method, and will not be described in detail here.

[0161] It should be noted that in this article, the term "including", "comprising" or any other variant thereof is intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of another identical element in the process, method, article or device including the element.

[0162] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0163] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-described example methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in various embodiments of the present invention.

[0164] The above are only the preferred embodiments of the present invention, and do not limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the content of the specification and drawings of the present invention, or directly or indirectly applied in other related technical fields, shall be equally included in the patent protection scope of the present invention.

Claims

1. A method for updating model parameters, characterized in that, The method for updating the model parameters includes the following steps: The second terminal receives the encrypted first feature data sent by the first terminal, and obtains the second feature data and the label data corresponding to the second feature data. Among them, the first feature data is obtained by the first terminal through horizontal federated learning with at least one terminal of the same type. The first terminal and the second terminal are terminals of different types. The first terminal is a mobile phone terminal, and the second terminal is an enterprise terminal; Calculate the residual according to the first feature data, the second feature data and the label data, and send the residual to the first terminal for the first terminal to calculate the first gradient value according to the residual and update the first model parameters corresponding to the first feature data according to the first gradient value; Among them, the step of calculating the residual according to the first feature data, the second feature data and the label data includes: Calculate the difference between the second feature data and the label data of the second feature data, and encrypt the difference to obtain the encrypted difference; Calculate the encrypted residual according to the encrypted difference and the encrypted first feature data; Among them, the step in which the first terminal calculates the first gradient value according to the residual and updates the first model parameters corresponding to the first feature data according to the first gradient value includes: Calculate the first product between the encrypted residual and the first training data, calculate the second product between the first model parameters and the gradient coefficient, and encrypt the second product to obtain the encrypted second product. Calculate the encrypted first gradient value according to the first product and the encrypted second product; Send the encrypted first gradient value to the third terminal. The third terminal decrypts the encrypted first gradient value to obtain the decrypted first gradient value, and sends the decrypted first gradient value to the first terminal; Obtain the first update coefficient and calculate the product between the first update coefficient and the decrypted first gradient value; Calculate through the first model parameters and the product between the first update coefficient and the decrypted first gradient value to obtain the updated first model parameters; Among them, after the step in which the second terminal receives the encrypted first feature data sent by the first terminal and obtains the second feature data and the label data corresponding to the second feature data, it further includes: Obtain the encrypted first feature parameters corresponding to the first feature data, and obtain the second feature parameters corresponding to the second feature data. The device identifiers corresponding to the first feature data and the second feature data are the same; Calculate the loss value according to the first feature data, the second feature data, the label data, the first feature parameters and the second feature parameters; Send the loss value to the third terminal for the third terminal to judge whether the first model parameters and the second model parameters meet the stop update condition according to the loss value and return a prompt message; If it is determined according to the prompt information that the first model parameter and the second model parameter do not meet the stop update condition, return to execute the steps of the second terminal receiving the encrypted first feature data sent by the first terminal, and obtaining the second feature data and the label data; Calculate a second gradient value according to the residual, and update the second model parameter corresponding to the second feature data according to the second gradient value.

2. The method for updating model parameters according to claim 1, wherein The step of sending the loss value to a third terminal for the third terminal to determine whether the first model parameter and the second model parameter meet the stop update condition according to the loss value includes: Send the loss value to a third terminal, so that after receiving the loss value, the third terminal obtains a loss history value when the first model parameter and the second model parameter were updated last time, and determines that the first model parameter and the second model parameter meet the stop update condition when detecting that the absolute value of the difference between the loss value and the loss history value is less than a preset threshold, and determines that the first model parameter and the second model parameter do not meet the stop update condition when detecting that the absolute value is greater than or equal to the preset threshold.

3. The method for updating model parameters according to claim 1, wherein, Before the step of calculating the second gradient value according to the residual, it further includes: Obtain the training data corresponding to the second feature data, and obtain the third feature parameter corresponding to the second feature data; The step of calculating the second gradient value according to the residual includes: Calculate a second gradient value according to the training data, the third feature parameter, and the residual.

4. The method for updating model parameters according to claim 1, wherein The step of updating the second model parameter corresponding to the second feature data according to the second gradient value includes: Obtain the update coefficient corresponding to the second terminal; Update the second model parameter corresponding to the second feature data according to the second gradient value and the update coefficient.

5. The method for updating model parameters according to claim 1, wherein The step of calculating the second gradient value according to the residual and updating the second model parameter corresponding to the second feature data according to the second gradient value includes: Calculate an encrypted second gradient value according to the encrypted residual, and send the encrypted second gradient value to a third terminal for the third terminal to decrypt the encrypted second gradient value and return the decrypted second gradient value; Receive the decrypted second gradient value returned by the third terminal, and update the second model parameter corresponding to the second feature data according to the decrypted second gradient value.

6. The method for updating model parameters according to any one of claims 3 to 5, characterized in that, After the step of calculating the second gradient value according to the residual and updating the second model parameter corresponding to the second feature data according to the second gradient value, it further includes: Use the updated second model parameter as the model parameter of the loan prediction model in the second terminal to obtain a loan prediction model; After receiving the data to be predicted, input the data to be predicted into the loan prediction model to obtain the loan probability corresponding to the data to be predicted, and perform information push according to the loan probability.

7. An update device for model parameters, characterized in that, The device is applied to a second terminal, and the model parameter update device includes: A receiving module, configured to receive the encrypted first feature data sent by a first terminal, where the first feature data is obtained by the first terminal and at least one terminal of the same type through horizontal federated learning, the first terminal and the second terminal are terminals of different types, the first terminal is a mobile phone terminal, and the second terminal is an enterprise terminal; An obtaining module, configured to obtain second feature data and label data corresponding to the second feature data; A calculating module, configured to calculate a residual based on the first feature data, the second feature data, and the label data; Wherein, the calculating module is further configured to calculate a difference between the second feature data and the label data of the second feature data, and encrypt the difference to obtain an encrypted difference; Calculate an encrypted residual based on the encrypted difference and the encrypted first feature data; A sending module, configured to send the residual to the first terminal for the first terminal to calculate a first gradient value based on the residual and update a first model parameter corresponding to the first feature data according to the first gradient value; Wherein, the step of the first terminal calculating a first gradient value based on the residual and updating a first model parameter corresponding to the first feature data according to the first gradient value includes: Calculating a first product between the encrypted residual and first training data, calculating a second product between the first model parameter and a gradient coefficient, encrypting the second product to obtain an encrypted second product, and calculating an encrypted first gradient value based on the first product and the encrypted second product; Sending the encrypted first gradient value to a third terminal, decrypting the encrypted first gradient value by the third terminal to obtain a decrypted first gradient value, and sending the decrypted first gradient value to the first terminal; Obtaining a first update coefficient and calculating a product between the first update coefficient and the decrypted first gradient value; Calculating through the first model parameter and the product between the first update coefficient and the decrypted first gradient value to obtain an updated first model parameter; Wherein, after the second terminal receives the encrypted first feature data sent by the first terminal and obtains the second feature data and the label data corresponding to the second feature data, it further includes: Obtaining an encrypted first feature parameter corresponding to the first feature data and a second feature parameter corresponding to the second feature data, where device identifiers corresponding to the first feature data and the second feature data are the same; Calculating a loss value based on the first feature data, the second feature data, the label data, the first feature parameter, and the second feature parameter; Sending the loss value to a third terminal for the third terminal to determine whether the first model parameter and the second model parameter meet a stop update condition according to the loss value and return a prompt message; If it is determined according to the prompt information that the first model parameter and the second model parameter do not meet the stop update condition, return to execute the steps of receiving the encrypted first feature data sent by the first terminal, and acquiring the second feature data and the label data; The calculation module is further configured to calculate a second gradient value according to the residual; The update module is configured to update the second model parameter corresponding to the second feature data according to the second gradient value.

8. An update device for model parameters, characterized in that, The update device of the model parameter includes a memory, a processor, and a model parameter update program stored on the memory and executable on the processor. When the model parameter update program is executed by the processor, the steps of the model parameter update method described in any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium, characterized in that, A model parameter update program is stored on the computer-readable storage medium. When the model parameter update program is executed by the processor, the steps of the model parameter update method described in any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Prediction method, terminal and server

    CN109754105A

  • Model parameter determination method and device based on federal learning

    CN110276210A