Data transmission method, apparatus, device, storage medium, and program product

By encrypting model parameter transmission through the lightweight dual-key ElGamal protocol and smart contract mechanism, the problem of data privacy leakage of computing power resources in federated learning is solved, and secure and efficient trading of computing power network resources is realized.

CN119232458BActive Publication Date: 2025-11-21CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411347156.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2025-11-21
Estimated Expiration
2044-09-25

AI Technical Summary

Technical Problem

In federated learning, methods such as model inversion attacks and membership attacks can lead to serious data privacy leaks of client computing resources, making it impossible to guarantee data security.

Method used

The model parameters are encrypted using a lightweight dual-key ElGamal protocol. Combined with a smart contract mechanism and a reverse auction strategy, the public key is generated from the private keys of the client and server for encrypted transmission, ensuring the security of the model parameters.

Benefits of technology

It improves the security of data transmission, reduces communication costs, enhances the efficiency and accuracy of model training, and enables reliable, fast, and low-cost transactions of computing network resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232458B_ABST
    Figure CN119232458B_ABST
Patent Text Reader

Abstract

The application discloses a data transmission method and device, equipment, a storage medium and a program product, relates to the technical field of communication, and is used for improving the security of data transmission. The method is applied to a target client and comprises the following steps: a first private key from a server and a second private key generated by the target client are acquired; a public key of the target client is generated according to the first private key and the second private key; model parameters of a local model trained by the target client are encrypted according to the public key of the target client, and the encrypted model parameters are sent to the server, so that the server trains a global model corresponding to the local model according to the model parameters. The application is applied to a scene of transmitting data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, and in particular to a data transmission method and device, equipment, storage medium and program product. BACKGROUND

[0002] With the development of computing power network, there are many problems such as uneven distribution of computing power in various regions, non-circulation, etc. How to efficiently aggregate multi-party computing power, improve computing power utilization, promote cost reduction and low-carbon development, brings great challenges. At present, the model can be trained by the method of federated learning to aggregate multi-party computing power. Specifically, each client (also known as computing power network resource provider, edge client, etc.) uses its own computing power resource data to train a local model (also known as machine learning model) locally, and then uploads the model parameters of the local model to the center server (also known as cloud server, server or Server, etc.). The center server updates the global model (also known as shared model) by aggregating the model parameters uploaded by each client, and then distributes the model parameters of the updated global model to each client to update the model parameters of the local model of each client. This continues to circulate until each model reaches the preset training target. In this way, each client does not need to share its own computing power resource data, which can effectively prevent attackers from directly accessing the computing power resource data of the client.

[0003] However, when training the model by the method of federated learning, there are still some methods that can extract the computing power resource data of the client, such as model inversion attack, member attack and model extraction attack, etc., resulting in serious privacy leakage problem and unable to guarantee data security. SUMMARY

[0004] The present application provides a data transmission method, device, equipment, storage medium and program product, which is used to solve the technical problem that when training the model by the method of federated learning, there are still some methods that can extract the computing power resource data of the client, resulting in serious privacy leakage problem and unable to guarantee data security.

[0005] To achieve the above purpose, the present application adopts the following technical solutions:

[0006] In a first aspect, a data transmission method is provided, applied to a target client, the method comprising: obtaining a first private key from a server and a second private key generated by the target client; generating a public key of the target client according to the first private key and the second private key; encrypting model parameters of a local model trained by the target client according to the public key of the target client, and sending the encrypted model parameters to the server, so that the server trains a global model corresponding to the local model according to the model parameters.

[0007] In a possible implementation, after the server trains a global model corresponding to the local model according to the model parameters, the method further includes: receiving aggregated model parameters sent by the server; the aggregated model parameters are obtained by the server aggregating the model parameters sent by each of the plurality of clients; the plurality of clients include the target client; decrypting the aggregated model parameters based on the second private key; and updating the model parameters of the target client based on the decrypted aggregated model parameters until the local model training is completed.

[0008] In a possible implementation, the method further includes: sending the second private key to the server; and the second private key is used by the server to decrypt the model parameters sent by the target client.

[0009] In a possible implementation, before the model parameters of the local model trained by the target client are encrypted according to the public key of the target client, the method further includes: performing a training update a times on the local model to obtain the model parameters; and a is an integer greater than 1.

[0010] In a possible implementation, before the model parameters of the local model trained by the target client are encrypted according to the public key of the target client, the method further includes: determining b model parameters in all model parameters of the target client as the model parameters of the target client; and b is an integer greater than 1.

[0011] In a possible implementation, after the model parameters of the target client are updated based on the decrypted aggregated model parameters until the local model training is completed, the method further includes: sending bid information of the target client to the server; the bid information includes: a similarity measure EMD and a bid; and the bid information is used by the server to determine a plurality of candidate clients from the plurality of clients.

[0012] In a second aspect, a data transmission method is provided, applied to a server, and the method includes: receiving model parameters of a local model trained by each of a plurality of clients; the model parameters of each client are obtained by encrypting model parameters of each client based on a public key of each client; and the public key of each client is generated based on a first private key of the server and a second private key of each client.

[0013] In a possible implementation, after the model parameters of the local model trained by each of the plurality of clients are received, the method further includes: aggregating the model parameters of each client to obtain aggregated model parameters; encrypting the aggregated model parameters based on the first private key, and sending the encrypted aggregated model parameters to each client.

[0014] In a possible implementation, the method further includes: receiving a second private key sent by each client; decrypting the aggregated model parameter according to the first private key and the second private key of each client; and updating the model parameter of the global model trained by the server based on the decrypted aggregated model parameter until the global model training is completed.

[0015] In a possible implementation, after the model parameter of the global model trained by the server is updated based on the decrypted aggregated model parameter until the global model training is completed, the method further includes: receiving bid information sent by the demand side and bid information sent by each client; the bid information includes: a range of the similarity metric EMD; the bid information includes: the EMD and a bid price; determining a plurality of candidate clients from the plurality of clients by using the trained global model based on the bid information and the bid information of each client; the EMD of the candidate client is within the range of the EMD; the bid price of the candidate client is lower than that of the clients other than the plurality of candidate clients; and sending a message of selecting the plurality of candidate clients to the demand side.

[0016] In a possible implementation, the demand side is configured to determine a winning client from the plurality of candidate clients based on a budget of the demand side and the bid price of each candidate client.

[0017] In a possible implementation, the resource type provided by the plurality of clients is the same as the resource type requested by the demand side.

[0018] In a third aspect, a data transmission apparatus is provided, which is applied to a target client and includes a transmission unit and a processing unit. The transmission unit is configured to acquire a first private key from a server and a second private key generated by the target client. The processing unit is configured to generate a public key of the target client according to the first private key and the second private key. The processing unit is further configured to encrypt a model parameter of a local model trained by the target client according to the public key of the target client, and send the encrypted model parameter to the server, so that the server trains a global model corresponding to the local model according to the model parameter.

[0019] In a possible implementation, the transmission unit is further configured to receive aggregated model parameters sent by the server; the aggregated model parameters are obtained by the server by aggregating the model parameters sent by each client in the plurality of clients; the plurality of clients include the target client; the processing unit is further configured to decrypt the aggregated model parameters based on the second private key; and the processing unit is further configured to update the model parameter of the target client based on the decrypted aggregated model parameters until the local model training is completed.

[0020] In a possible implementation, the transmission unit is further configured to send the second private key to the server; and the second private key is used by the server to decrypt the model parameter sent by the target client.

[0021] In a possible implementation, the processing unit is further configured to perform a training update on the local model a times to obtain the model parameter; a is an integer greater than 1.

[0022] In a possible implementation, the processing unit is further configured to determine b model parameters in the model parameters of the target client as the model parameters of the target client; b is an integer greater than 1.

[0023] In a possible implementation, the transmission unit is further configured to send, to the server, bid information of the target client; the bid information includes the similarity metric EMD and the bid; and the bid information is used by the server to determine a plurality of candidate clients from the plurality of clients.

[0024] In a fourth aspect, a data transmission apparatus is provided, applied to a server, and includes a transmission unit; the transmission unit is configured to receive model parameters of a locally trained model sent by each client in a plurality of clients; the model parameters of each client are obtained by encrypting model parameters of each client based on a public key of each client; and the public key of each client is generated based on a first private key of the server and a second private key of each client.

[0025] In a possible implementation, the data transmission apparatus further includes a processing unit; the processing unit is configured to aggregate the model parameters of each client to obtain aggregated model parameters; the processing unit is further configured to encrypt the aggregated model parameters based on the first private key; and the transmission unit is further configured to send the encrypted aggregated model parameters to each client.

[0026] In a possible implementation, the transmission unit is further configured to receive the second private key sent by each client; the processing unit is further configured to decrypt the aggregated model parameters according to the first private key and the second private key of each client; and the processing unit is further configured to update model parameters of a globally trained model of the server based on the decrypted aggregated model parameters until the globally trained model is trained.

[0027] In a possible implementation, the transmission unit is further configured to receive bid information sent by each client and tender information sent by a demand side; the tender information includes a range of the similarity metric EMD; the bid information includes the EMD and the bid; the processing unit is further configured to determine a plurality of candidate clients from the plurality of clients by the globally trained model based on the tender information and the bid information of each client; the EMD of the candidate client is located in the range of the EMD; and the bid of the candidate client is lower than that of a client other than the plurality of candidate clients in the plurality of clients; and the transmission unit is further configured to send, to the demand side, a message of selecting the plurality of candidate clients.

[0028] In a possible implementation, the demand side determines a winning client from the plurality of candidate clients based on a budget of the demand side and a bid of each candidate client.

[0029] In a possible implementation, the resource type provided by the plurality of clients is the same as the resource type requested by the demand side.

[0030] In a fifth aspect, an electronic device includes a processor and a memory. The memory is configured to store one or more programs including computer-executable instructions. When the electronic device is running, the processor executes the computer-executable instructions stored in the memory, so that the electronic device performs a data transmission method according to the first aspect and the second aspect.

[0031] In a sixth aspect, a computer-readable storage medium storing one or more programs is provided. The one or more programs include instructions that, when executed by a computer, cause the computer to perform a data transmission method according to the first aspect and the second aspect.

[0032] In a seventh aspect, a computer program product is provided. When computer instructions are run on an electronic device, the electronic device performs a data transmission method according to the first aspect and the second aspect.

[0033] The present application provides a data transmission method, device, equipment, storage medium and program product, which are applied to the scene of data transmission. When a client needs to transmit model parameters to a server, a first private key from the server and a second private key generated by a target client are obtained, and a public key of the target client is generated according to the first private key and the second private key. Further, the model parameters of the local model trained by the target client are encrypted according to the public key of the target client, and the encrypted model parameters are sent to the server, so that the server trains a global model corresponding to the local model according to the model parameters. That is, the public key obtained according to the private key of the server and the private key of the client is used to encrypt the model parameters, which can achieve the effect of double-key encryption. In this way, the security of the model parameters during transmission can be ensured, and the extraction of the computing resource data of the client through the model parameters can be avoided.

[0034] Through the above method, the model parameters sent by the client to the server can be encrypted according to the public key generated by the private key of the server and the private key of the client. Thus, the technical problem that the privacy leakage problem is serious and the data security cannot be guaranteed when training the model through the federated learning method is solved, and the security of data transmission is improved. BRIEF DESCRIPTION OF DRAWINGS

[0035] Figure 1A structural diagram of a data transmission system provided for an embodiment of the present application

[0036] Figure 2 A flowchart of a data transmission method provided for an embodiment of the present application Figure 1 ;

[0037] Figure 3 A flowchart of a data transmission method provided for an embodiment of the present application Figure 2 ;

[0038] Figure 4 A flowchart of a data transmission method provided for an embodiment of the present application Figure 3 ;

[0039] Figure 5 A flowchart of a data transmission method provided for an embodiment of the present application Figure 4 ;

[0040] Figure 6 A flowchart of a data transmission method provided for an embodiment of the present application Figure 5 ;

[0041] Figure 7 A flowchart of a data transmission method provided for an embodiment of the present application Figure 6 ;

[0042] Figure 8 A flowchart of a data transmission method provided for an embodiment of the present application Figure 7 ;

[0043] Figure 9 A flowchart of a data transmission method provided for an embodiment of the present application Figure 8 ;

[0044] Figure 10 A flowchart of a data transmission method provided for an embodiment of the present application Figure 9 ;

[0045] Figure 11 An architecture diagram of a federated learning algorithm training and updating model based on a lightweight double-key ElGamal protocol provided for an embodiment of the present application

[0046] Figure 12 An architecture diagram of selecting a winner set provided for an embodiment of the present application

[0047] Figure 13 A structural diagram of a data transmission apparatus provided for an embodiment of the present application Figure 1 ;

[0048] Figure 14A structural diagram of a data transmission device provided for an embodiment of the present application Figure 2 ;

[0049] Figure 15 A structural diagram of an electronic device provided for an embodiment of the present application. DETAILED DESCRIPTION

[0050] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.

[0051] In the description of the present application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this document is only a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can mean that A exists alone, A and B exist together, and B exists alone. In addition, "at least one" "multiple" means two or more. "First", "second", etc. do not limit the quantity and execution order, and "first", "second", etc. do not necessarily mean different.

[0052] At present, although the traditional machine learning algorithm has the ability to aggregate the computing power of multiple parties, due to privacy considerations or competition among peers, more and more computing power network resource providers are unwilling to share resource data. And in terms of privacy protection, multiple iterations of machine learning algorithms still consume a large amount of privacy space, resulting in a high risk of privacy leakage, and encryption technology requires a large amount of communication and computing resources, making the machine learning algorithm inefficient in actual application.

[0053] At present, federated learning algorithm is generally used for computing power network resource providers and cloud servers to trade computing power. This method is to distribute machine learning tasks to edge clients and use edge client data to collaboratively train shared models, thereby enhancing the protection of user privacy. Specifically, when using a federated learning algorithm training framework, all clients have a common model structure and training target. Each client uses its data to train a machine learning model locally, and then uploads the model parameters of the respective local model to the central server. The central server updates the global model by aggregating the model parameters uploaded by each client, and then distributes the model parameters of the updated global model to each client to update its local parameters, which is repeated until the preset training target is reached.

[0054] Although the federal learning algorithm can effectively prevent an attacker from directly accessing the local data of the client, some methods have emerged to extract local data information from the training process of the federal learning algorithm, such as model inversion attacks, member attacks and model extraction attacks. Even, in order to obtain the local private information of the client, the private data of the client is inferred from the shared gradient by using a generative adversarial network (GAN). Therefore, even if the model is trained using the federal learning method, there are still security problems.

[0055] In the federal learning training process, in order to effectively reduce the problem of indirect privacy leakage, the differential privacy (DP) technology can be used in the related art to reduce the risk of privacy leakage. The DP technology mainly adds controlled noise to reduce the sensitivity of the query result. In addition, in the related art, the secure multi-party computation (SMC) technology can also be used to reduce the risk of privacy leakage, and the function can be safely calculated without exposing the input.

[0056] These two privacy protection algorithms of federal learning can effectively reduce the risk of privacy leakage, but there are still two shortcomings. First, due to the multiple iterations of the deep learning algorithm, most DP-based methods consume a large amount of privacy protection resources, resulting in a high risk of privacy leakage. Therefore, these methods usually sacrifice some model accuracy to balance privacy and practicality. The second disadvantage is that existing SMC-based methods usually require a large amount of computing resources when using encryption technologies such as fully homomorphic encryption (FHE), which also leads to reduced efficiency in practical applications. In addition, during the training process of federal learning, the client and the cloud server need to interact multiple times, which also consumes a large amount of communication resources. Therefore, when using the privacy protection algorithm of federal learning, it is necessary to ensure the efficiency of the calculation, and also to improve the practicality and accuracy of the model.

[0057] In addition, in the process of computing power trading, a large amount of resources (such as power resources, bandwidth resources and computing resources) is consumed when training the model on the edge client, so how to determine the resource trading price is also a crucial challenge.

[0058] To address the aforementioned issues, this application provides a data transmission method. Through a lightweight federated learning-based computing power network transaction and protection strategy, it employs a distributed framework to solve the problem of computing power network resource providers being unwilling to share their resource data. This allows multiple clients to collaboratively train a machine learning model without sharing their individual data resources. Each client trains a local model locally and then uploads the model parameters to a central server. The central server aggregates these uploaded parameters to update the global model and then distributes the global model's parameters to each client to update their local parameters. This iterative training continues until the training objective is achieved. During this process, this application employs a lightweight two-key asymmetric encryption algorithm (ElGamal Cryptosystem, ElGamal) to protect the data transmitted between the client and server. Simultaneously, it utilizes an effective optimization strategy to achieve lightweight, easy-to-use, convenient, and efficient privacy protection, safeguarding the entire computing power network resource transaction process.

[0059] Furthermore, by employing a lightweight federated learning encryption protocol in conjunction with a smart contract mechanism, a transaction bridge is built between computing power network resource demanders and suppliers. Using a reverse auction mechanism algorithm, a data quality-driven reverse auction strategy is designed to incentivize clients to submit honest bids, helping computing power network resource demanders understand seller information and obtain more desirable results, thereby promoting automated, autonomous, and auditable auctions among clients. A privacy-preserving federated learning algorithm based on a lightweight encryption protocol is used to protect the security of the computing power network transaction process through local computation, selective parameter sharing, and dynamic client participation during training. This reduces communication costs, improves model training efficiency, and, in conjunction with the smart contract strategy, enables a trustworthy, fast, low-cost, and high-frequency payment transaction process.

[0060] The data transmission method provided in this application embodiment can be applied to data transmission systems. Figure 1 A schematic diagram of a data transmission system is shown. Figure 1 As shown, the data transmission system 10 includes a server 11 and multiple clients. The multiple clients include a target client 12. The server 11 and the multiple clients can be connected via wired or wireless means; this embodiment of the invention does not limit the connection.

[0061] The target client 12 is used to obtain the first private key from the server 11 and the second private key generated by the target client 12, generate the public key of the target client 12 according to the first private key and the second private key, encrypt the model parameters of the local model trained by the target client 12 according to the public key of the target client 12, and send the encrypted model parameters to the server 11 so that the server 11 can train the global model corresponding to the local model according to the model parameters.

[0062] Server 11 can be a virtualized server based on cloud computing technology. Clients can be network devices that provide computing resources, including computer equipment, servers, switches, storage devices, chips, and other devices.

[0063] The following description, in conjunction with the accompanying drawings, illustrates a data transmission method provided by an embodiment of this application. Figure 2 As shown in the embodiment of this application, a data transmission method is provided and applied to a target client. The method includes S201-S204:

[0064] S201. Obtain the first private key from the server and the second private key generated by the target client.

[0065] It is understandable that the target client can use the first private key from the server and the second private key generated by the target client.

[0066] Optionally, before training the global model and the local model for each of the multiple clients using the federated learning algorithm, keys can be generated for the cloud server and all clients (i.e., Clients), with all model parameters randomly initialized in the same way. There can be K clients. Specifically, a multiplication cyclic group can be assumed first: G = <g>, |G| = p, where G is the total number of multiplicative cyclic group, p is a safe prime number, and g is a single element in the multiplicative cyclic group. Then, for any one of the plurality of clients (i.e., the target client), a number x i ∈ RZ p-1 where RZ is a real number set, i is the i-th client, i is an integer greater than 0 and less than K, K is the number of the plurality of clients. Further, the client's and shares the client's

[0067] Further, each client calculates its own and the received Through formula one, each client can calculate its own shareable secret key.

[0068]

[0069] Then, each client can calculate its own second private key (i.e., ).

[0070] In one possible implementation, the target client can send the second private key to the server. Wherein the second private key is used by the server to decrypt the model parameters sent by the target client.

[0071] Optionally, each client can send its own second private key to the server. Further, the server can randomly select a number x S ∈ RZ p-1 As the server's key (i.e., sk S ), the server's first private key (i.e., ) is calculated and sent to all clients.

[0072] S202, generating the public key of the target client according to the first private key and the second private key.

[0073] Optionally, each client can generate its own public key (pk, public key) according to the server's first private key and its own second private key through formula two.

[0074]

[0075] S203, encrypting the model parameters of the local model trained by the target client according to the public key of the target client.

[0076] Optionally, each client can train and update the respective local model locally multiple times based on a local training data set, and then transmit the model parameters to the server based on a lightweight two-key ElGamal protocol. Specifically, each client can encrypt the model parameters (also referred to as local parameters) of the respective local model according to the respective public key. The local training data set can include multiple data of the client itself.

[0077] Specifically, in order to protect the privacy of the model parameters, the i-th client needs to not only encrypt the model parameters of the respective local model before uploading to the server, but also needs to ensure that the server can calculate the sum of the ciphertexts sent by each client. Therefore, the target parameters of each client need to be calculated by using a multiplication homomorphic encryption algorithm through Formula Three before being uploaded to the server.

[0078]

[0079] wherein, is the model parameter of the i-th client, n i is the number of model parameters of the i-th client, is the model parameter selected by the i-th client to send to the server (i.e., the shared model parameter).

[0080] Then, each client encrypts the target parameters according to the respective public key through Formula Four (i.e., the SelecEnc algorithm) to obtain the encrypted model parameters (i.e., which can also be expressed as ).

[0081]

[0082] wherein j is the number of times that each client updates the respective local model before sending the respective model parameters to the server each time.

[0083] S204, send the encrypted model parameters to the server, so that the server trains a global model corresponding to the local model according to the model parameters.

[0084] Optionally, each client can send the respective encrypted model parameters to the server, so that the server trains a global model corresponding to the local model according to the model parameters.

[0085] The federated learning algorithm is applied to many fields. In order to strengthen the privacy protection of the federated learning algorithm, the traditional ElGamal protocol can be improved into a lightweight double-key ElGamal protocol (i.e. a lightweight double-key encryption version of the ElGamal protocol) in the application, wherein the two keys are assigned to the cloud server and the client through the Diffie-Hellman key exchange protocol. The lightweight double-key ElGamal protocol can protect the privacy of the model through lightweight encryption and communication without losing the preparedness of the federated learning.

[0086] In one design, as shown in Figure 3 , the application provides a data transmission method, and after step S204, the method further includes steps S301-S303.

[0087] S301. Receive the aggregated model parameter sent by the server.

[0088] The aggregated model parameter is obtained by the server aggregating the model parameters sent by each of the plurality of clients; and the plurality of clients include the target client.

[0089] Optionally, the server can aggregate the model parameters sent by the M clients to obtain the aggregated model parameter (i.e. ), and send the aggregated model parameter to each of the M clients. Each client can download the aggregated model parameter (which can also be referred to as an aggregated weight vector) from the server.

[0090] S302. Decrypt the aggregated model parameter based on the second private key.

[0091] Optionally, each client can use the ParaAggre algorithm to decrypt the aggregated model parameter and update the respective model parameter.

[0092] Specifically, each client can use the respective second private key (i.e. sk c ) to decrypt the ciphertext of the aggregated model parameter (i.e. ) through Formula Five, to obtain the decrypted aggregated model parameter (i.e. which can also be expressed as ).

[0093]

[0094] wherein U j represents a set of model parameters uploaded by the client, and t is the number of all model parameters of the client.

[0095] S303. Update the model parameter of the target client based on the decrypted aggregated model parameter until the local model training is completed.

[0096] Optionally, each client can update the model parameters of the respective local model using the average of the decrypted aggregated model parameters, i.e. repeat the above steps S203-S204, and S301-S302 until the local model training is completed (i.e. the local model converges). Wherein, is the model parameter selected by the client i to share, is the number of model parameters (also referred to as the number of samples) sent by each of the M clients selected to the server.

[0097] The application can decrypt the aggregated model parameters through the private key of the client to update the model parameters of the local model, which realizes the update of the local model, and the aggregated model parameters can only be decrypted through the private key of the client, ensuring the secure transmission of the model parameters.

[0098] In one design, as shown in Figure 4 The data transmission method provided by the embodiment of the application further comprises S401 before the above step S203:

[0099] S401, update the model parameters by training the local model a times.

[0100] Wherein, a is an integer greater than 1.

[0101] Optionally, each client can select some weight parameters after updating its own local model based on the local training data set multiple times, and upload the ciphertext thereof to the server using the SelecEnc algorithm.

[0102] It should be noted that the local model and the global model are both deep learning models, and the deep learning model uses stochastic gradient descent (SGD) (also referred to as gradient) or its variants to optimize the neural network model: in each global traversal (i.e. each training update of the global model), each client i calculates the gradient g i on the respective local training data set, and updates the respective local gradient weight according to the gradient, and then the server updates the global gradient weight by aggregating the local gradient weights corresponding to the gradients. That is, the gradient g i is one of the model parameters.

[0103] However, in each global traversal, after all clients update the local gradient weight by SGD each time, the server needs to calculate the weighted average of their local gradient weights as the global gradient weight, which increases the number of traversals and complexity of model training.

[0104] In order to reduce the communication cost when training the model by using the federated learning algorithm, the application provides a more efficient gradient update optimization strategy. Specifically, before the server aggregates the model parameters, the number of iterations of the local model partial training update of the client can be increased on the client side to limit the number of interactions between the client and the server, and the gradient update method can be as follows: ω (i) ←(ω (i) -λg i ) μ , M≤K. Wherein, λ is a quantitative or variable, μ is the number of local training updates (i.e. a), M is the number of clients participating in each global update training, ω (i) is the local weight vector of the i-th client's local model (i.e. the model parameters of the local model).

[0105] The application can avoid the problem of high communication cost when training the model by using the federated learning algorithm by uploading the model parameters to the server to update the global model after a certain number of training updates of the local model, which can reduce the communication cost.

[0106] In one design, as shown in Figure 5 , the data transmission method provided by the application embodiment comprises the following steps:

[0107] S501, determine b model parameters in all model parameters of the target client as the model parameters of the target client.

[0108] Wherein, b is an integer greater than 1.

[0109] Optionally, each client can use the SelecEnc algorithm to select b model parameters from all model parameters respectively to determine the model parameters to be uploaded to the server.

[0110] Specifically, the all model parameters of the client i are In order to reduce the communication cost, each client only needs to share a small part of the model parameters with the server. These model parameters can be randomly selected, or the parameters with the largest gradient (e.g. the model parameters with the largest gradient, which means that the model parameters are more critical) can be selected.

[0111] Assuming that the client i selects a part of the model parameters with larger gradient from ω (i) , which can be represented as: Wherein, j is the number of local iterations (i.e. μ) of each client in each global iteration, is ω (i) the jth s model parameter.

[0112] The application can select part of the model parameters of the client to upload to the server. The fewer the model parameters, the less the communication resources required, and the lower the communication cost. In addition, the fewer the model parameters, the faster the speed of training and updating the model. In this way, the communication cost can be reduced, and the efficiency of the server training and updating the global model and the client training and updating the local model according to the aggregated model parameters can be improved.

[0113] In one design, as shown in Figure 6 The data transmission method provided by the embodiment of the application comprises the following steps:

[0114] S601, sending the bidding information of the target client to the server.

[0115] The bidding information comprises the EMD and the bid (also referred to as the bidding price). The bidding information is used for the server to determine a plurality of candidate clients from the plurality of clients.

[0116] Optionally, when the computing power network resource demander (also referred to as the demander) needs the client to provide the computing power network resource, the demander can send the bidding information (i.e., publish the task) to the server based on the lightweight double-key ElGamal protocol. The bidding information comprises the EMD range (i.e., the maximum value of the EMD value through the smart contract), the resource type (i.e., the resource type of the resource requested by the demander, such as CPU computing power, GPU computing power, etc.), and the total budget.

[0117] Each client can receive the bidding information sent by the demander and forwarded by the server, and determine whether to participate in the bidding (also referred to as the auction) according to the bidding information sent by the demander.

[0118] In one possible implementation, the resource type provided by the plurality of clients is the same as the resource type requested by the demander.

[0119] Optionally, if the resource type of the resource requested by the demander is the same as the resource type that can be provided by a certain client, the client can determine to participate in the bidding. The client participating in the bidding can send the respective bidding information to the server based on the lightweight double-key ElGamal protocol. The bidding information comprises the EMD, the bid, and the resource quantity, etc.

[0120] Optionally, clients can calculate their respective EMDs as follows: First, assuming a K-classification problem, define a contract X and a label space y = [K], where [K] = 1, ..., K, and K refers to K samples. Client n i The local training dataset is D i ={x i y i }, according to distribution Distributed in From the above, we can obtain D. i EMD (i.e., σ) i The calculation formula for ) is Formula Six:

[0121]

[0122] in, This indicates a reference distribution, including demanders and clients of computing network resources; D represents i The probability of class j.

[0123] It should be noted that EMD is used to measure the similarity between two probability distributions. EMD can be used to evaluate the performance of a model. In this application, the smaller the EMD, the better the model's performance, which means that more resources are consumed when training the model.

[0124] This application can determine the candidate client from multiple clients based on their EMD (Employment Model Designation) and quotes via a server. A smaller EMD indicates better performance of the client's local model and a lower quote, resulting in lower costs for the requesting party and making the client more likely to be selected. This incentivizes clients to submit honest quotes, helps the requesting party understand the seller's (i.e., the client's) information, and achieves a more favorable bidding result.

[0125] like Figure 7 As shown in the embodiment of this application, a data transmission method is provided and applied to a server. The method includes S701:

[0126] S701: Receive model parameters of the local model trained by each of the multiple clients.

[0127] The model parameters for each client are obtained by encrypting the model parameters for each client based on the client's public key; the public key for each client is generated based on the server's first private key and the client's second private key.

[0128] Optionally, the server can receive model parameters from each of multiple clients, representing their respective trained local models. That is, the server can receive parameters from each of M clients. When receiving the model parameters sent by each of the M clients, the server notifies the K clients other than the M clients to stop uploading data.

[0129] It should be noted that this method is suitable for the case where the computing power and network transmission rate of each client are similar, and it allows some clients to exit without disrupting the training process.

[0130] The application controls the number of clients participating in training by setting a threshold M, thereby reducing communication costs.

[0131] In one design, as shown in Figure 8 FIG. 8, the data transmission method provided by an embodiment of the application comprises the following steps S801-S802 after step S701:

[0132] S801, aggregate the model parameters of each client to obtain aggregated model parameters.

[0133] Optionally, the server can calculate the aggregated weight vector (which can also be referred to as aggregated model parameters) using the ParaAggre algorithm, and encrypt the aggregated model parameters using the sk s to decrypt the partial ciphertext of the aggregated model parameters. Specifically, the server can obtain the aggregated model parameters (i.e. ) of each client in the M clients by formula seven. which can also be expressed as .

[0134]

[0135] wherein U i represents the set of model parameters uploaded by the clients selected by the SelecEnc algorithm. Note that there may be Because the clients may share many identical model parameters.

[0136] S802, encrypt the aggregated model parameters based on the first private key, and send the encrypted aggregated model parameters to each client.

[0137] Optionally, the server can encrypt the partial aggregation value of the aggregated model parameters based on the first private key (sk s ) to obtain the encrypted aggregated model parameters (i.e. which can also be expressed as ), and send the encrypted aggregated model parameters to each of the M clients.

[0138]

[0139] The application can aggregate the model parameters sent by each client through the server, and encrypt the aggregated model parameters through the private key of the server, so that the client can decrypt the aggregated model parameters to update the local model, and ensure the safe transmission of the model parameters in the model training process.

[0140] In one design, as shown in Figure 9 , the data transmission method provided by the embodiment of the application further includes S901-S903.

[0141] S901, receiving the second private key sent by each client.

[0142] S902, decrypting the aggregated model parameters according to the first private key and the second private key of each client.

[0143] Optionally, the server can receive the second private key (i.e., sk c ) sent by each client, obtain the public key (i.e., pk) through Formula Two according to the first private key (sk S ) of the server and sk c , and then decrypt the aggregated model parameters according to pk.

[0144] S903, updating the model parameters of the global model trained by the server based on the decrypted aggregated model parameters until the global model training is completed.

[0145] Optionally, the server can update the model parameters of the global model trained by the server based on the decrypted aggregated model parameters until the global model training is completed.

[0146] In one design, as shown in Figure 10 , the data transmission method provided by the embodiment of the application further includes S1001-S1003 after the above step S802.

[0147] S1001, receiving the bidding information sent by the demand side and the bidding information sent by each client.

[0148] The bidding information includes the EMD range of the similarity measure, and the bidding information includes the EMD and the bid.

[0149] Optionally, the server can receive the bidding information sent by the demand side, and send the bidding information sent by the demand side to each client (i.e., M clients) based on the lightweight double-key ElGamal protocol to complete the local model training. Further, receive the respective bidding information sent by the client participating in this bidding.

[0150] S1002. Based on the bidding information and the bidding information of each client, multiple candidate clients are determined from multiple clients through the trained global model.

[0151] Among them, the EMD of the candidate client is within the EMD range; the price of the candidate client is lower than that of the other clients among the multiple clients.

[0152] Optionally, based on the bidding information and the bidding information of each client, the server can determine multiple candidate clients (i.e., the winner set) from multiple clients using a trained global model (also known as a federated learning neural network).

[0153] First, the server can select clients that meet the EMD range set by the platform through the server's smart contract, based on each client's EMD. That is, it can select clients whose EMD is less than the maximum value of the EMD value set by the smart contract.

[0154] The server can then select a winner set from clients meeting the EMD range set by the following method: First, a monotonic greedy allocation algorithm is used to maximize the valuation of requesters with a fixed budget in a single global iteration. To achieve our objective function of maximizing the valuation of requesters, a new parameter called edge contribution is defined. in, This refers to the set of winners in the first k-1 iteration; This refers to the contribution of the winner in the first k-1 iteration; This refers to if the platform selects client n i Then the incremental contribution of the kth iteration.

[0155] When the server receives multi-dimensional information (also known as bidding information) from all clients confirmed to participate in the auction, the server's smart contract creates two sets: a winner set and a candidate set. Specifically, through client n... i The winner set is selected based on the edge density, and the client n is defined. i Edge density (i.e., f(x)) i ))for: Among them, b i is n i The bid price.

[0156] Therefore, in each iteration, the server will take N m Select the client with the highest edge density n i and n i Add to the winners set N * middle.

[0157] If several clients have the same marginal density, the server will randomly select one of them. According to the greedy mechanism, we can get: where N s is the feasible candidate set (i.e., candidate set) containing s winners.

[0158] In order, the server greedily adds clients to the winner set until the current client n k Violates the budget feasibility mechanism, which is defined as:

[0159] By looping the above steps, the server finally outputs the winner set N * .

[0160] S1003, send a message to the demand side to select multiple candidate clients.

[0161] Optionally, the client can send a message to the demand side and each of the multiple candidate clients to select multiple candidate clients.

[0162] According to the EMD and bid of multiple clients, the server can determine the candidate client from the multiple clients, that is, the smaller the EMD of the client, the better the performance of the local model of the client, and the lower the bid, the lower the cost of the demand side, and the easier the client is selected by the demand side. In this way, each client can be encouraged to bid honestly, help the demand side understand the information of the seller (i.e., the client), and obtain a more ideal bidding result.

[0163] In a possible implementation, the demand side is used to determine the winning client from the multiple candidate clients based on the budget of the demand side and the bid of each candidate client.

[0164] Optionally, when the demand side receives the winner set sent by the server, the demand side can determine the winning client from the winner set based on the budget of the demand side and the bid of each candidate client by the following method:

[0165] For each winner n k , similar to the winner selection, the demand side will recalculate the maximum marginal density Use to represent the winner set, assuming l is the index of , n l is the client selected in the lth loop on . Then according to the marginal density, the demand side can calculate a bid a k,l So that n k can replace n l in the new set The winner in the lth round of circulation is α. k,l It can be expressed as: Further, according to the feasibility of the budget, the conditions that the bid price should meet are: Where, Φ(N * ) means that if n k is selected in the lth round of circulation, the total income of the client n k , means the edge contribution of the client n k to the set in the lth iteration. Through the above steps of circulation, the winner payment set P (i.e. the winning client) is finally output. Then the demand side determines the final winning client from the winning client.

[0166] According to the bid of the client, the winning client can be determined by the demand side from the client. The lower the bid, the lower the cost of the demand side. For the demand side, the client is easier to be selected by the demand side. In this way, it can help the demand side to obtain a more ideal bidding result.

[0167] As shown in Figure 11 , an architecture diagram of a federated learning algorithm for training and updating a model based on a lightweight double-key ElGamal protocol is shown. Each client in the M clients (i.e. client 1, client 2, …, client M) can upload the encrypted model parameters (i.e. ) of each client to the cloud server after local model training and updating. Further, the cloud server aggregates the encrypted model parameters uploaded by each client to obtain aggregated model parameters (i.e. ). Then the cloud server can encrypt the aggregated model parameters to obtain encrypted aggregated model parameters (i.e. ). Each client in the M clients downloads the encrypted aggregated model parameters from the cloud server. Further, each client can decrypt the encrypted aggregated model parameters to obtain decrypted aggregated model parameters (i.e. ), and update the local model using the average value of the decrypted aggregated model parameters .

[0168] As shown in Figure 12 As shown, a schematic diagram of selecting a winner set is shown. First, the computing power network resource demander (i.e., User 1, User 2, …, User N) can send the EMD range, total budget, and resource type, etc. tendering information to the cloud server based on the double-key ElGamal protocol. Then, the cloud server can send the tendering information to each of the M clients (i.e., Client 1, Client 2, Client 3, …, Client M) based on the double-key ElGamal protocol. Further, each client can determine whether to participate in this auction according to the tendering information. Further, the client that determines to participate in this auction can send the respective bid price, resource quantity, and EMD, etc. bidding information to the cloud server based on the double-key ElGamal protocol. Further, according to the bidding information, the federated learning neural network of the cloud server can determine the winner set from the clients that participate in this auction based on the smart contract of the cloud server, and send the winner set to the computing power network resource demander and the clients that participate in this auction based on the double-key ElGamal protocol.

[0169] The above mainly introduces the scheme provided by the embodiments of the present application from the perspective of the method. In order to realize the above functions, it contains the hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed in the present text, the embodiments of the present application can be realized in the form of hardware or the combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driven hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0170] The embodiments of the present application can divide a data transmission method into functional modules according to the above method examples. For example, each functional module can be divided according to each function, or two or more functions can be integrated in one processing module. The above integrated module can be realized in the form of hardware or software functional module. Optionally, the division of modules in the embodiments of the present application is illustrative, and is only a logical functional division. Actual implementation can have another division manner.

[0171] Figure 13 A structural schematic diagram of a data transmission device provided by the embodiments of the present application is shown in FIG. 11. As shown in FIG. 11, a data transmission device 110 is used to improve the security of data transmission, for example, used to execute the data transmission method shown in FIG. 10. The data transmission device 110 includes a transmission unit 1101 and a processing unit 1102. Figure 13 As shown in FIG. 10, a data transmission method is provided. The data transmission method includes the following steps. In step 101, a computing power network resource demander sends EMD range, total budget, and resource type, etc. tendering information to a cloud server based on a double-key ElGamal protocol. In step 102, the cloud server sends the tendering information to each of M clients based on the double-key ElGamal protocol. In step 103, each client determines whether to participate in this auction according to the tendering information. In step 104, the client that determines to participate in this auction sends respective bid price, resource quantity, and EMD, etc. bidding information to the cloud server based on the double-key ElGamal protocol. In step 105, the cloud server determines a winner set from the clients that participate in this auction based on a smart contract of the cloud server. In step 106, the cloud server sends the winner set to the computing power network resource demander and the clients that participate in this auction based on the double-key ElGamal protocol. Figure 2 As shown in FIG. 11, the data transmission device 110 is used to improve the security of data transmission, for example, used to execute the data transmission method shown in FIG. 10. The data transmission device 110 includes a transmission unit 1101 and a processing unit 1102.

[0172] The transmission unit 1101 is used to obtain a first private key from the server and a second private key generated by the target client; the processing unit 1102 is used to generate a public key of the target client based on the first private key and the second private key; the processing unit 1102 is also used to encrypt the model parameters of the local model trained by the target client based on the public key of the target client, and send the encrypted model parameters to the server, so that the server can train the global model corresponding to the local model based on the model parameters.

[0173] In one possible implementation, the transmission unit 1101 is further configured to receive aggregated model parameters sent by the server; the aggregated model parameters are obtained by the server aggregating the model parameters sent by each of the multiple clients; the multiple clients include the target client; the processing unit 1102 is further configured to decrypt the aggregated model parameters based on the second private key; the processing unit 1102 is further configured to update the model parameters of the target client based on the decrypted aggregated model parameters until the local model training is completed.

[0174] In one possible implementation, the transmission unit 1101 is also used to send a second private key to the server; the second private key is used by the server to decrypt the model parameters sent by the target client.

[0175] In one possible implementation, the processing unit 1102 is also used to perform a training updates on the local model to obtain model parameters; where a is an integer greater than 1.

[0176] In one possible implementation, the processing unit 1102 is further configured to determine b model parameters out of all model parameters of the target client as model parameters of the target client; where b is an integer greater than 1.

[0177] In one possible implementation, the transmission unit 1101 is further configured to send bidding information of the target client to the server; the bidding information includes: similarity metric EMD and price quote; the bidding information is used by the server to determine multiple candidate clients from multiple clients.

[0178] Figure 14 This is a schematic diagram of a data transmission device provided in an embodiment of this application. Figure 14 As shown, a data transmission device 120 is used to enhance the security of data transmission, for example, for performing... Figure 3 A data transmission method is shown. The data transmission device 120 includes a transmission unit 1201.

[0179] The transmission unit 1201 is configured to receive model parameters of a respective trained local model sent by each client in the plurality of clients; the model parameters of each client are obtained by encrypting the model parameters of each client based on a public key of each client; and the public key of each client is generated based on a first private key of the server and a second private key of each client.

[0180] In a possible implementation, the data transmission apparatus further includes a processing unit 1202; the processing unit 1202 is configured to aggregate the model parameters of each client to obtain aggregated model parameters; the processing unit 1202 is further configured to encrypt the aggregated model parameters based on the first private key; and the transmission unit 1201 is further configured to send the encrypted aggregated model parameters to each client.

[0181] In a possible implementation, the transmission unit 1201 is further configured to receive the second private key sent by each client; the processing unit 1202 is further configured to decrypt the aggregated model parameters based on the first private key and the second private key of each client; and the processing unit 1202 is further configured to update model parameters of a global model trained by the server based on the decrypted aggregated model parameters until the global model is trained.

[0182] In a possible implementation, the transmission unit 1201 is further configured to receive bidding information sent by the demand side and bidding information sent by each client; the bidding information includes a range of the similarity metric EMD; and the bidding information includes the EMD and a bid; the processing unit 1202 is further configured to determine a plurality of candidate clients from the plurality of clients by using the trained global model based on the bidding information and the bidding information of each client; the EMD of the candidate client is within the range of the EMD; and the bid of the candidate client is lower than that of the clients other than the plurality of candidate clients in the plurality of clients; and the transmission unit 1201 is further configured to send a message of selecting the plurality of candidate clients to the demand side.

[0183] In a possible implementation, the demand side is configured to determine a winning client from the plurality of candidate clients based on a budget of the demand side and the bid of each candidate client.

[0184] In a possible implementation, the resource type provided by the plurality of clients is the same as the resource type requested by the demand side.

[0185] As shown in Figure 15 , an electronic device 130 is configured to improve the rationality of allocating resources, for example, to execute a data transmission method as shown in Figure 2 . The electronic device 130 includes a processor 1301, a memory 1302, and a bus 1303. The processor 1301 and the memory 1302 can be connected through the bus 1303.

[0186] Processor 1301 is the control center of the communication device. It can be a single processor or a collective term for multiple processing elements. For example, processor 1301 can be a general-purpose central processing unit (CPU) or other general-purpose processors. Among them, the general-purpose processor can be a microprocessor or any conventional processor.

[0187] As one embodiment, processor 1301 may include one or more CPUs, for example Figure 15 CPU 0 and CPU 1 are shown in the diagram.

[0188] The memory 1302 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.

[0189] As one possible implementation, the memory 1302 can exist independently of the processor 1301. The memory 1302 can be connected to the processor 1301 via the bus 1303 and is used to store instructions or program code. When the processor 1301 calls and executes the instructions or program code stored in the memory 1302, it can implement a data transmission method provided in the embodiments of this application.

[0190] In another possible implementation, the memory 1302 can also be integrated with the processor 1301.

[0191] Bus 1303 can be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (EISA) bus. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 15 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0192] It should be noted that, Figure 15 The illustrated structure does not constitute a limitation on the electronic device 130. In addition to Figure 15 The electronic device 130 can include more or fewer components than shown, or combine certain components, or different component arrangements.

[0193] As an example, in combination with Figure 13 The functions implemented by the transmission unit 1101 and the processing unit 1102 in the data transmission device 110 are the same as the functions of the processor 1301 in Figure 15 In combination with Figure 14 The functions implemented by the transmission unit 1201 and the processing unit 1202 in the data transmission device 120 are the same as the functions of the processor 1301 in Figure 15 .

[0194] Optionally, as shown in Figure 15 The electronic device 130 provided by the embodiments of the present application can further include a communication interface 1304.

[0195] The communication interface 1304 is used to connect with other devices through a communication network. The communication network can be an Ethernet, a wireless access network, a wireless local area network (WLAN), etc. The communication interface 1304 can include a receiving unit for receiving data, and a sending unit for sending data.

[0196] In one design, the communication interface in the electronic device provided by the embodiments of the present application can also be integrated in the processor.

[0197] Through the description of the above embodiments, those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of functional units is taken as an example. In actual application, the above-mentioned functions can be completed by different functional units according to needs, that is, the internal structure of the device is divided into different functional units to complete all or part of the functions described above. The specific working process of the above-mentioned system, device and unit can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0198] The embodiments of the present application also provide a computer readable storage medium, which stores instructions, when the computer executes the instructions, the computer executes each step in the method flow shown in the above method embodiments.

[0199] The embodiments of the present application provide a computer program product, when the computer instructions run on the electronic device, the electronic device executes a data transmission method in the above method embodiments.

[0200] The computer readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), registers, a hard disk, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The computer readable storage medium of the present application is any tangible medium that is capable of storing, containing or storing a program for use by or in connection with an instruction execution system, apparatus or device.

[0201] An exemplary computer readable storage medium is coupled with the processor such that the processor can read information from the storage medium to execute a sequence of instructions. The instruction execution system, apparatus or device is further can write information to the storage medium. Of course, the storage medium can be part of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC).

[0202] In the embodiments of the present application, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus or device.

[0203] Since the electronic device, the computer readable storage medium and the computer program product in the embodiments of the present application can be applied to the above method, the technical effects they can obtain can refer to the above method embodiments, and the embodiments of the present application will not be repeated here.

[0204] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto, any change or replacement within the technical scope disclosed in the present application should be covered in the protection scope of the present application.< / g>

Claims

1. A data transmission method, characterized in that, Applied to the target client, the method includes: Obtain the first private key from the server and the second private key generated by the target client; Generate the public key of the target client based on the first private key and the second private key; The model parameters of the local model trained by the target client are encrypted using the target client's public key, and the encrypted model parameters are sent to the server so that the server can train a global model corresponding to the local model based on the model parameters.

2. The method according to claim 1, characterized in that, After sending encrypted model parameters to the server so that the server can train a global model corresponding to the local model based on the model parameters, the method further includes: The server receives aggregated model parameters; the aggregated model parameters are obtained by the server aggregating the model parameters sent by each of the multiple clients; the multiple clients include the target client. Decrypt the aggregation model parameters based on the second private key; Based on the decrypted aggregated model parameters, update the model parameters of the target client until the local model training is complete.

3. The method according to claim 1, characterized in that, The method further includes: The second private key is sent to the server; the second private key is used by the server to decrypt the model parameters sent by the target client.

4. The method according to claim 1, characterized in that, Before encrypting the model parameters of the local model trained on the target client using the target client's public key, the method further includes: The local model is trained and updated a times to obtain the model parameters; a is an integer greater than 1.

5. The method according to claim 1, characterized in that, Before encrypting the model parameters of the local model trained on the target client using the target client's public key, the method further includes: b model parameters out of all model parameters of the target client are determined as the model parameters of the target client; b is an integer greater than 1.

6. The method according to claim 2, characterized in that, The method further includes updating the model parameters of the target client based on the decrypted aggregated model parameters until the local model training is completed. The server sends the bidding information of the target client; the bidding information includes: similarity metric EMD and price quote; the bidding information is used by the server to determine multiple candidate clients from the multiple clients.

7. A data transmission method, characterized in that, Applied to a server, the method includes: The system receives model parameters of the local model trained by each of multiple clients; the model parameters of each client are obtained by encrypting the model parameters of each client based on the public key of each client; the public key of each client is generated based on the first private key of the server and the second private key of each client.

8. The method according to claim 7, characterized in that, After receiving the model parameters of their respective trained local models sent by each of the multiple clients, the method further includes: The model parameters of each client are aggregated to obtain aggregated model parameters; Based on the first private key, the aggregation model parameters are encrypted, and the encrypted aggregation model parameters are sent to each client.

9. The method according to claim 8, characterized in that, The method further includes: Receive the second private key sent by each client; The aggregation model parameters are decrypted based on the first private key and the second private key of each client; The model parameters of the global model trained on the server are updated based on the decrypted aggregate model parameters until the global model training is completed.

10. The method according to claim 9, characterized in that, The method further includes updating the model parameters of the global model trained on the server based on the decrypted aggregate model parameters until the global model training is completed. The system receives bidding information from the demand side and bidding information from each client; the bidding information includes: the similarity metric EMD range; the bidding information includes: EMD and price quote. Based on the bidding information and the bidding information of each client, a number of candidate clients are determined from the multiple clients through the trained global model; the EMD of the candidate clients is within the range of the EMD; the bid of the candidate clients is lower than that of the other clients among the multiple clients. Send a message to the requesting party to select one of the multiple candidate clients.

11. The method according to claim 10, characterized in that, The demand side is used to determine the winning client from the plurality of candidate clients based on the demand side's budget and the bids of each candidate client.

12. The method according to claim 10, characterized in that, The resource types provided by the multiple clients are the same as the resource types requested by the demander.

13. A data transmission device, characterized in that, Applied to a target client, the data transmission device includes: a transmission unit and a processing unit; The transmission unit is used to obtain a first private key from the server and a second private key generated by the target client; The processing unit is configured to generate the public key of the target client based on the first private key and the second private key; The processing unit is further configured to encrypt the model parameters of the local model trained by the target client according to the public key of the target client, and send the encrypted model parameters to the server, so that the server can train the global model corresponding to the local model according to the model parameters.

14. A data transmission device, characterized in that, Applied to a server, the data transmission device includes: a transmission unit; The transmission unit is used to receive model parameters of the local model trained by each of the multiple clients; the model parameters of each client are obtained by encrypting the model parameters of each client based on the public key of each client; the public key of each client is generated based on the first private key of the server and the second private key of each client.

15. An electronic device, characterized in that, include: Processor and memory; The memory is used to store one or more programs, the one or more programs including computer execution instructions. When the electronic device is running, the processor executes the computer execution instructions stored in the memory to cause the electronic device to perform the method of any one of claims 1-12.

16. A computer-readable storage medium for storing one or more programs, characterized in that, The one or more programs include instructions that, when executed by a computer, cause the computer to perform the method as described in any one of claims 1-12.

17. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-12.

Citation Information

Patent Citations

  • Federated learning training data privacy enhancement method and system

    CN110572253A

  • Privacy protection federated learning method, system and device in distributed environment and medium

    CN116383864A