WO2021082633A1 - 实现安全防御的多方联合训练神经网络的方法及装置 - Google Patents

实现安全防御的多方联合训练神经网络的方法及装置 Download PDF

Info

Publication number
WO2021082633A1
WO2021082633A1 PCT/CN2020/108957 CN2020108957W WO2021082633A1 WO 2021082633 A1 WO2021082633 A1 WO 2021082633A1 CN 2020108957 W CN2020108957 W CN 2020108957W WO 2021082633 A1 WO2021082633 A1 WO 2021082633A1
Authority
WO
WIPO (PCT)
Prior art keywords
loss
client
output
server
clients
Prior art date
Application number
PCT/CN2020/108957
Other languages
English (en)
French (fr)
Inventor
陈超超
王力
周俊
Original Assignee
支付宝(杭州)信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 支付宝(杭州)信息技术有限公司 filed Critical 支付宝(杭州)信息技术有限公司
Publication of WO2021082633A1 publication Critical patent/WO2021082633A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • One or more embodiments of the present specification relate to the field of information security technology, and in particular to a method and device for multi-party joint training of neural networks for realizing security defense.
  • the collaborative training of machine learning models by multiple data parties has triggered a research boom.
  • the difficulty lies in how to ensure the security of the data of all parties during the training process.
  • the payment platform has some characteristics and tags of the user, and the bank has some other characteristics of the user.
  • the payment platform and the bank hope to use the data of both parties to jointly build a machine learning model.
  • One or more embodiments of this specification describe a method for multi-party joint training of neural networks to achieve security defense, which can efficiently train neural network models while ensuring data security for all parties, thereby saving computing resources and computing time.
  • a method for multi-party joint training of a neural network for realizing security defense wherein the neural network includes N hidden layers, the multi-party includes a server and M clients; each of the M clients Store part of the characteristics of the target sample, maintain part of the parameters of the first K hidden layers in the N hidden layers, and deploy an attacker model respectively.
  • the attacker model is used to target the Kth hidden layer in the corresponding client
  • the output of inversely deduces the sample features stored in the client where N, K, and M are positive integers, and N>K, M>1.
  • the method is applied to the server, and the method includes: obtaining M outputs for the Kth hidden layer from the M clients; A client terminal is determined according to the first characteristic part and the first parameter part stored therein, and the encryption characteristic and encryption parameter obtained from other clients among the M clients based on the secure multi-party computing MPC technology.
  • the M outputs are synthesized to obtain a synthesized output; the synthesized output is equivalent to an output obtained by inputting the first K hidden layers after synthesizing partial features stored in each of the M clients.
  • the integrated output is input into the last N-K hidden layers of the neural network to obtain an output for the Nth hidden layer, which is used to input the output layer of the neural network to obtain a prediction result.
  • Obtain a prediction loss which is determined according to the prediction result and the sample label of the target sample.
  • M attack losses are obtained from the M clients; wherein the first attack loss obtained from the first client is determined based on the first characteristic part and the first inversion result, the first inversion The result is obtained by inputting the first output into the first attacker model deployed in the first client.
  • a training loss is determined, and the training loss is positively correlated with the predicted loss and negatively correlated with the M attack losses.
  • the training loss is used to adjust at least the parameters in the last N-K hidden layers, and the training loss is also used for the M clients to adjust some of the parameters maintained by each.
  • the sample label is stored in a second client included in the M clients, and before the obtaining the prediction loss, the method further includes: Obtain the sample label.
  • the MPC technology includes secret sharing; synthesizing the M outputs to obtain a comprehensive output includes: summing the M outputs to obtain the comprehensive output.
  • a method for multi-party joint training of a neural network for realizing security defense wherein the neural network includes N hidden layers, the multi-party includes a server and M clients; each of the M clients Store part of the characteristics of the target sample, maintain part of the parameters of the first K hidden layers in the N hidden layers, and deploy an attacker model respectively.
  • the attacker model is used to target the Kth hidden layer in the corresponding client
  • the method is applied to any first client among the M clients, and the method includes: obtaining encryption features and encryption parameters from other clients among the M clients based on the secure multi-party computing MPC technology.
  • the first output is sent to the server, and the first output and the output for the Kth hidden layer sent by the other client to the server form M outputs, so that the server responds to the M
  • the two outputs are synthesized to obtain a synthesized output, which is used to input the last NK hidden layers of the neural network to obtain a prediction result.
  • the first output is input into the first attacker model deployed in the first client to obtain a first reverse inference result. Based on the first reverse estimation result and the first characteristic part, a first attack loss is determined.
  • the loss gradient corresponding to the training loss is received from the server, and the first parameter part is adjusted using the loss gradient.
  • the training loss is also used by the other clients to adjust some of the parameters maintained by the server and the server to adjust the parameters.
  • the parameters in the NK hidden layers are described later.
  • the method before determining the first output for the Kth hidden layer, the method further includes: encrypting the first characteristic part and the first parameter part based on the MPC technology; The obtained first encryption feature and first encryption parameter are provided to the other clients.
  • the MPC technology includes secret sharing; encrypting the first characteristic part and the first parameter part includes: adding a characteristic random number to the first characteristic part to obtain the The first encryption feature; using a parameter random number to add the first parameter part to obtain the first encryption parameter.
  • the method further includes: adjusting the parameters of the first attacker model in a direction in which the first attack loss decreases. Or, adjust the parameters of the first attacker model in the direction where the first attack loss decreases; and adjust the first parameter part in the direction where the first attack loss increases.
  • the method further includes: sending the sample label to the server, so that the server determines the prediction loss according to the sample label and the prediction result; wherein, the The training loss is also used by the server to adjust the parameters in the output layer.
  • the slave server Before receiving the loss gradient corresponding to the training loss, the method further includes: receiving the output for the Nth hidden layer from the server, and inputting it into the output layer to obtain the prediction result; based on the prediction The result and the sample label determine the prediction loss; send the prediction loss to the server.
  • an apparatus for multi-party joint training of neural networks for realizing security defense wherein the neural network includes N hidden layers, the multi-party includes a server and M clients; each of the M clients Store part of the characteristics of the target sample, maintain part of the parameters of the first K hidden layers in the N hidden layers, and deploy an attacker model respectively.
  • the attacker model is used to target the Kth hidden layer in the corresponding client
  • the device is integrated in the server, and the device includes: a first obtaining unit configured to obtain M outputs for the Kth hidden layer from the M clients; An output is generated by the first client according to the first feature part and the first parameter part stored by the first client, and the encryption features and encryption parameters obtained from other clients of the M clients based on the secure multi-party computing MPC technology determine.
  • the synthesis unit is configured to synthesize the M outputs to obtain a synthesis output; the synthesis output is equivalent to synthesizing part of the features stored in each of the M clients and then inputting the first K hidden layers to obtain Output.
  • the first input unit is configured to input the integrated output into the last N-K hidden layers of the neural network to obtain an output for the Nth hidden layer, which is used to input the output layer of the neural network to obtain a prediction result.
  • the second obtaining unit is configured to obtain a prediction loss, the prediction loss being determined according to the prediction result and the sample label of the target sample.
  • the third obtaining unit is configured to obtain M attack losses from the M clients; wherein the first attack loss obtained from the first client is determined based on the first characteristic part and the first inversion result , The first reverse deduction result is obtained by inputting the first output into the first attacker model deployed in the first client.
  • the determining unit is configured to determine a training loss based on the prediction loss and the M attack losses, where the training loss is positively related to the prediction loss and negatively related to the M attack losses.
  • the parameter adjustment unit is configured to use the training loss to adjust at least the parameters in the last N-K hidden layers, and the training loss is also used for the M clients to adjust some of the parameters maintained by each.
  • an apparatus for multi-party joint training of neural networks for realizing security defense wherein the neural network includes N hidden layers, the multi-party includes a server and M clients; each of the M clients Store part of the characteristics of the target sample, maintain part of the parameters of the first K hidden layers in the N hidden layers, and deploy an attacker model respectively.
  • the attacker model is used to target the Kth hidden layer in the corresponding client
  • the device is integrated in any first client of the M clients, and the device includes: a first obtaining unit configured to obtain encryption features and encryption features from other clients of the M clients based on the secure multi-party computing MPC technology Encryption parameters.
  • the first determining unit is configured to determine the first output for the Kth hidden layer according to the first characteristic part and the first parameter part stored by the first client, and the encryption characteristic and encryption parameter.
  • the first sending unit is configured to send the first output to the server, and the first output and the output for the Kth hidden layer sent by the other client to the server form M outputs, so that The server synthesizes the M outputs to obtain a synthesized output, which is used to input the last NK hidden layers of the neural network to obtain a prediction result.
  • the first input unit is configured to input the first output into the first attacker model deployed in the first client to obtain a first reverse inference result.
  • the second determining unit is configured to determine the first attack loss based on the first reverse estimation result and the first characteristic part.
  • the second sending unit is configured to send the first attack loss to the server, and the first attack loss and the attack loss received by the server from the other clients form M attack losses, so that the The server determines a training loss based on the M attack losses and the obtained prediction loss, wherein the prediction loss is determined according to the prediction result and the sample label of the target sample, and the training loss is positively correlated to the prediction loss , And negatively correlated with the M attack losses.
  • the first receiving unit is configured to receive the loss gradient corresponding to the training loss from the server.
  • the first parameter adjustment unit is configured to adjust the first parameter part by using the loss gradient, and the training loss is also used for the other clients to adjust the respective maintenance parameters and the server to adjust the last NK hidden parameters. Parameters in the layer.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed in a computer, the computer is caused to execute the method of the first aspect or the second aspect.
  • a computing device including a memory and a processor, the memory stores executable code, and when the processor executes the executable code, the method of the first aspect or the second aspect is implemented .
  • Figure 1 shows an architecture diagram of a multi-party joint deployment of a neural network according to an embodiment
  • Fig. 2 shows an interaction diagram of a multi-party joint training neural network according to an embodiment
  • Fig. 3 shows an architecture diagram of a neural network jointly deployed by multiple parties according to another embodiment
  • Fig. 4 shows an interaction diagram of a multi-party joint training neural network according to another embodiment
  • Fig. 5 shows a structure diagram of an apparatus for multi-party joint training of a neural network according to an embodiment
  • Fig. 6 shows a structure diagram of an apparatus for multi-party joint training of a neural network according to another embodiment.
  • encryption technology is usually used to process data in the collaborative modeling process of multiple data holders (hereinafter referred to as data parties), which consumes a lot of computing resources, consumes a lot of time, and The computational resources consumed in the scenario of training a neural network are particularly huge.
  • FIG. 1 shows an architecture diagram of a multi-party joint deployment of a neural network, which includes M clients corresponding to M data parties, and a neutral server. Further, the method involves segmentation of the neural network. As shown in Figure 1, the neural network includes N hidden layers, in which the parameters of the first K hidden layers are maintained by M clients, and the last NK hidden layers And the output layer is maintained by the server.
  • M clients can use Secure Multi-Party Computation (MPC) technology to determine the parameters for the Kth hidden layer according to their own sample characteristics and the parameters of the first K hidden layers maintained by each M outputs. Then, the server uses MPC technology to synthesize the M outputs to obtain the synthetic output h K for the Kth hidden layer. This synthetic output is equivalent to synthesizing the sample features owned by each of the M clients and inputting the first K hidden layers And the output obtained. Then, the server inputs the integrated output to the last NK hidden layers and output layer to obtain the prediction result. It can be understood that in the model use stage, only the prediction result is obtained, and in the model training stage, after the prediction result is obtained, the prediction result and sample label need to be used for model training.
  • MPC Secure Multi-Party Computation
  • the hidden layer data in the server will bring security risks. Specifically, although the hidden layer data in the server will not directly leak the sample features input by the M clients, under certain conditions, an attacker can learn an inverse transformation to inversely deduce the sample features based on the hidden layer data. For example, a certain client among M clients wants to illegally obtain the sample characteristics of other clients. At this time, the certain client can use its own sample characteristics and the information for the Kth hidden layer. The output learns an inverse transformation, and then according to the comprehensive output and the learned inverse transformation in the server for the Kth layer, the sample features stored in each of the M clients are deduced.
  • a defense mechanism against the attacker can be introduced to train the neural network, so that the characteristics of the attacker's anti-introduction and the actual sample characteristics have large deviations and are not available, so as to realize the security defense of the neural network training.
  • a loss item related to the above-mentioned inverse transformation hereinafter referred to as an attacker model
  • an attacker model may be added to the training loss of the neural network to implement security defense.
  • Fig. 2 shows an interaction diagram of a multi-party joint training neural network according to an embodiment.
  • the deployment architecture of the neural network in multiple parties is introduced.
  • the neural network includes N hidden layers, where N is a positive integer. It can be understood that the specific value of N is usually preset, for example, it can be preset by the staff, set to 2, 3, 12, and so on.
  • the types of neural networks may include DNN (Deep Neural Network, deep neural network), convolutional neural network CNN (Convolutional Neural Network, convolutional neural network), and so on.
  • the aforementioned multiple parties may include M clients and servers.
  • M is a positive integer not less than 2, and M clients correspond to M data holders. Therefore, the number of clients depends on the number of data holders.
  • M is a positive integer not less than 2
  • M clients correspond to M data holders. Therefore, the number of clients depends on the number of data holders.
  • M 3.
  • the server is neutral and can be understood as a public server of M clients. It can be understood that the actual server is usually multiple servers or server clusters connected to each other.
  • the aforementioned M clients each store part of the characteristics of the target sample, maintain part of the parameters of the first K hidden layers among the aforementioned N hidden layers, and each deploy an attacker model.
  • the target sample can be any sample with a user or service as the target object, and it is often determined according to the actual modeling scenario.
  • the feature categories of the partial features used for collaborative training stored in each of the M clients are usually different. Therefore, as shown in FIG. 1 , the partial features x 1, x stored in each of the M clients are different. 2. ..., x M together constitute the complete characteristics of the target sample.
  • the data party holding the job search service data can provide the gender, age, and occupation of a batch of users
  • the data party holding the location service data can provide the location information of the same batch of users, including the city and city where the user has been. Corresponding duration, etc.
  • the target sample is for user A.
  • the M clients include clients corresponding to the payment platform and the bank respectively.
  • the payment platform can store user A’s payment characteristics, including payment frequency,
  • the bank can store user A's loan characteristics, including the total amount of loans.
  • the M clients each store some features, and these features together constitute the complete feature of the target sample.
  • one of the M clients may provide the sample label of the target sample for training.
  • M clients maintain partial parameters of the first K hidden layers among the above N hidden layers.
  • K is a positive integer less than or equal to N, which is usually pre-set by the staff according to actual needs. Assuming that N is 5, K can be set to 1 or 2 at this time. It needs to be understood that some of the parameters maintained by each client are different from each other.
  • part of the parameters maintained by a certain client is usually associated with part of its stored features.
  • part of the parameters maintained in a certain client usually includes the parameters of each hidden layer in the first K hidden layers. As shown in Figure 1, the part of the parameters maintained by the first party includes the first hidden layer.
  • each of the M clients has an attacker model deployed.
  • This attacker model is used to reversely infer the characteristics of the samples stored in the client according to the output of the corresponding client for the Kth hidden layer.
  • the attacker model may adopt RNN, LSTM, Transformer, GRU, etc. It can be understood that the algorithm based on the attacker model deployed by any two clients may be the same or different. For example, GRU may be used for both, or one may use RNN and the other may use LSTM.
  • the activation function and the number of parameters used in the output layer can be set according to actual needs.
  • softmax can be selected as the activation function in the output layer, where the number of parameters corresponding to the predicted probability of each output category is usually the number of label categories+1 (Others).
  • any first client is mainly taken as an example to illustrate the interaction process between M clients and the server.
  • the "first” in the first client, and the “first” and “second” in the following text are only used to distinguish similar things and do not have other limiting effects.
  • the interaction process may include step S201 to step S227.
  • Step S201 The first client acquires encryption features and encryption parameters from other clients among the M clients based on the MPC technology.
  • the MPC technology may include secret sharing, obfuscating circuits, and homomorphic encryption.
  • the first client encrypts the first characteristic part and the first parameter part stored by itself, and provides the encrypted first characteristic part and the first parameter part to other clients.
  • the first client can obtain encryption features and encryption parameters obtained after encryption by other clients from other clients.
  • the first client can directly send its own encrypted data to each of the other clients. Accordingly, the first client can send data from each of the other clients. Receive encryption features and encryption parameters in each client.
  • the first client can put its own encrypted data into the shared pool.
  • the first client can also obtain encryption features and encryption parameters of other clients from the shared pool.
  • the first client is any one of the M clients.
  • the first client may be referred to by client i, where i refers to the client number, and the value range is 1 to M.
  • client i refers to the client number
  • the value range is 1 to M.
  • each client can use a key to encrypt some of its own stored features and some parameters.
  • each client can use random numbers to encrypt part of its own stored features and some parameters, wherein the random number is generated using a random algorithm provided by secret sharing.
  • the feature random numbers are used respectively
  • parameter random number Encryption you can get the following encryption features and encryption parameters:
  • the client i can obtain the encryption feature x′ j and the encryption parameter ⁇ ′ j encrypted by the client j.
  • x i , ⁇ i , x′ i , ⁇ ′ i , x′ j and ⁇ ′ j can be numeric values or matrices, and are usually vectors.
  • the first client can obtain corresponding encryption features and encryption parameters from each of the other clients.
  • step S203 the first client terminal determines the first output for the Kth hidden layer according to the stored first characteristic part and the first parameter part, as well as the encryption characteristic and encryption parameter.
  • the first feature part and the encrypted feature are integrated to obtain the first integrated feature, and the first parameter part and the encrypted parameter are integrated to obtain the first integrated parameter; the first integrated parameter is then used
  • the first comprehensive feature is calculated to obtain the first output.
  • the adopted MPC technology is secret sharing.
  • the above-mentioned comprehensive characteristics and comprehensive parameters can be obtained by means of addition.
  • the comprehensive feature z i and the comprehensive parameter ⁇ i obtained in the client i are as follows:
  • the first client can determine its first output for the first K hidden layers. Based on this, on the one hand, after step S203, step S205, step S207, step S209, and step S211 are executed.
  • step S205 the server obtains the first output from the first client.
  • steps S201 and S203 describe the process by which the first client obtains the first output. It can be understood that other M-1 clients can also use the same method to obtain M-1 for the Kth hidden layer. Outputs.
  • the server can obtain M outputs for the Kth hidden layer from M clients. Based on this, in step S207, the server may use MPC technology to synthesize the M outputs to obtain a comprehensive output.
  • the integrated output is equivalent to an output obtained by integrating partial features stored in each of the M clients and inputting the first K hidden layers.
  • the MPC technology used by the server in this step is the same or corresponding to the MPC technology used in step S201.
  • the MPC technology adopted in step S201 is homomorphic encryption, in which a key is used to encrypt features and parameters.
  • the key can be used to process M outputs to obtain a comprehensive Output.
  • secret sharing is used to generate and transmit encryption features and encryption parameters.
  • the server also uses secret sharing to synthesize M outputs to obtain a comprehensive output.
  • the M outputs can be added and processed to obtain a comprehensive output. In one example, you can add As a comprehensive output. Need to understand, Is equivalent to Input has parameters The output h K obtained from the first K hidden layers of.
  • the server can obtain a comprehensive output for the K-th hidden layer.
  • the server inputs the integrated output into the last N-K hidden layers and output layers of the neural network to obtain a prediction result.
  • the prediction result can be a classification result or a regression result.
  • the obtained prediction result may be the user's credit rating, such as high, medium, or low.
  • the obtained prediction result may be the user's credit score.
  • the server may determine the prediction loss according to the prediction result and the sample label of the target sample.
  • the server may obtain the sample label from the second client.
  • the prediction loss can be expressed by the following formula:
  • y represents the sample label
  • x represents the sample feature of the target sample
  • f ⁇ (x) represents the prediction result obtained by inputting x into the neural network.
  • the loss function used to determine the prediction loss in this step may be a hinge loss function, a cross-entropy loss function, etc., according to actual needs.
  • step S203 by executing step S205, step S207, step S209, and step S211, the prediction loss for the target sample can be obtained.
  • step S213, step S215, and step S217 are executed. Specifically, in step S213, the first client inputs the first output into the first attacker model deployed by itself to obtain the first inverse result. Next, in step S215, the first client terminal determines the first attack loss based on the first inversion result and the first characteristic part.
  • attack loss determined by client i can be expressed by the following formula:
  • z i and ⁇ i respectively represent the integrated feature i and integrated parameter i determined by the client i (for example, see formulas (3) and (4)), Represents the output for the Kth hidden layer, namely ⁇ i represents the model parameters of the attacker model i deployed in the client i, Represents the inverse result i obtained by inputting the output i into the attacker model i, and d() represents the distance function, which is used to measure the distance between the comprehensive feature i and the inverse result i.
  • the distance function corresponds to calculating Manhattan distance or Euclidean distance.
  • step S217 the server obtains the first attack loss from the first client.
  • step S213 and step S215 describe the process for the first client to determine the loss of the first attack. It can be understood that other M-1 clients can also use the same method to obtain M-1 attack losses.
  • the server can obtain M attack losses from M clients. Based on this, in step S219, the training loss can be determined based on the acquired M attack losses and the predicted loss determined in step S211.
  • the above training loss is positively related to the prediction loss, and negatively related to the M attack losses.
  • the neural network after the subsequent use of training loss to adjust the parameters will have a better defense function.
  • the following formula can be used to calculate the training loss:
  • L represents training loss
  • l 0 represents prediction loss
  • represents the defender coefficient. It needs to be understood that the larger the ⁇ , the better the defense function of the neural network obtained by subsequent tuning, but the correspondingly more damage to the performance of the neural network.
  • is a hyperparameter, for example, it can be set to 0.2 or 0.3.
  • l 0 and d i respectively, and can be used for (6) Calculation of formula (5) obtained.
  • step S219 the server can determine the training loss. Then in step S221, the server can use the training loss to adjust the parameters in the output layer and the last N-K hidden layers. In one embodiment, the back propagation method can be used to adjust the parameters.
  • the first client may receive a loss gradient corresponding to the training loss from the server, and in step S225, the first client may adjust the first parameter part by using the loss gradient. Therefore, all M clients can receive the loss gradient from the server, and adjust some parameters of the first K hidden layers maintained by themselves.
  • step S227 may also be executed.
  • the first client uses the first attack loss to at least adjust the parameters of the first attacker model.
  • the parameters of the first attacker model are adjusted in the direction in which the loss of the first attack is reduced.
  • the first parameter part is adjusted in the direction in which the first attack loss increases.
  • a multi-party joint training neural network can be realized, and by introducing a defender mechanism, security defense can be realized during the training process.
  • security defenses can also be achieved.
  • the output layer of the neural network can be deployed in the server.
  • the server may obtain the sample label from the second client storing the sample label, so as to determine the prediction loss according to the prediction result output by the output layer and the obtained sample label.
  • the server since the server is neutral, there is a risk of leakage of the sample label after the server obtains the sample label.
  • the server may send the prediction result to the second client after determining the prediction result, so that the second client can determine the prediction loss according to the prediction result and the sample label, and then send the prediction loss to server.
  • criminals can derive the sample label based on the prediction result and the prediction loss, so the sample label still has the risk of leakage.
  • the output layer of the neural network can also be deployed in the second client.
  • the server provides the output h N of the last hidden layer of the neural network (the Nth hidden layer) to the second client, so that the second client inputs h N into the output layer to obtain the prediction result, and then according to the prediction
  • the result and sample label determine the prediction loss, and then provide the prediction loss to the server so that the server can determine the training loss based on the prediction loss and M attack losses.
  • this embodiment will be described in detail with reference to FIGS. 3 and 4.
  • Fig. 3 shows an architecture diagram of a neural network jointly deployed by multiple parties according to another embodiment. Comparing Figure 3 and Figure 1, the main difference between the two architectures is that the output layer of the neural network is deployed in the server in Figure 1, and the output layer is deployed in the second client that stores sample tags in Figure 3.
  • Fig. 4 shows an interaction diagram of a multi-party joint training neural network according to another embodiment.
  • the deployment architecture of the neural network in multiple parties can be seen in Fig. 3, and the text description thereof can be referred to the related description in the foregoing, which will not be repeated here.
  • the interaction process may include steps S401 to S435.
  • step S401 the first client obtains encryption features and encryption parameters from other clients among the M clients based on the MPC technology.
  • Step S403 The first client determines the first output for the Kth hidden layer according to the first characteristic part and the first parameter part stored therein, and the encryption characteristic and encryption parameter.
  • step S403, step S405, step S407, and step S409 are executed.
  • step S405 the first client inputs the first output into the first attacker model deployed by itself to obtain the first inverse result.
  • step S407 the first client terminal determines the first attack loss according to the first inversion result and the first characteristic part.
  • step S409 the server obtains the first attack loss from the first client. It should be noted that, for the description of step S405, step S407, and step S409, please refer to the foregoing description of step S213, step S215, and step S217, which will not be repeated here.
  • step S403 steps S411, S413, steps S415, S417, step S419, step S421, and step S423 are executed.
  • step S411 the server obtains the first output from the first client. Further, in step S413, the server uses MPC technology to synthesize the M outputs to obtain a comprehensive output.
  • the integrated output is equivalent to an output obtained by integrating partial features stored in each of the M clients and inputting the first K hidden layers. It should be noted that, for the description of step S413, reference may be made to the description of step S207 above, which will not be repeated here.
  • step S415 the server inputs the integrated output into the last N-K hidden layers of the neural network to obtain an output for the Nth hidden layer. And in step S417, the server sends the output for the Nth hidden layer to the second client.
  • step S419 the second client inputs the output for the Nth hidden layer into the output layer of the neural network to obtain the prediction result. Then, in step S421, the second client terminal determines the prediction loss according to the prediction result and the sample label of the target sample. And in step S423, the second client sends the predicted loss to the server. It can be understood that, for the description of step S419, step S421, and step S423, reference may be made to the related description in the foregoing, which is not repeated here.
  • the server can obtain M attack losses from M clients in step S409, and can obtain predicted losses in step S423. Therefore, the server can determine the training loss based on the predicted loss and M attack losses in step S425. It should be noted that the description of step S425 can refer to the description of step S219.
  • the second client can obtain the training loss from the server and adjust the parameters in the output layer. Further, in step S429, the server can use the training loss to adjust the parameters in the last N-K hidden layers.
  • the server may receive the gradient data calculated when adjusting the parameters of the output layer from the second client, for use in adjusting the parameters in the N-K hidden layers.
  • step S431 the first client receives the loss gradient corresponding to the training loss from the server. And in step S433, the first client uses the loss gradient to adjust the first parameter part. And in step S435, the first client uses the first attack loss to at least adjust the parameters of the first attacker model. It should be noted that, for the description of step S431, step S433, and step S435, reference may be made to the aforementioned related description of step S223, step S225, and step S227, which will not be repeated here.
  • a multi-party joint training neural network can be realized, and by introducing a defender mechanism, security defense can be realized during the training process.
  • security defenses can also be achieved.
  • deploying the output layer in the client where the sample label is stored can also effectively prevent the leakage of the sample label.
  • a training device is provided.
  • Fig. 5 shows a structure diagram of an apparatus for multi-party joint training of a neural network according to an embodiment.
  • the neural network includes N hidden layers
  • the multiple parties include a server and M clients; each of the M clients stores part of the characteristics of the target sample, and maintains the first K hidden layers among the N hidden layers Part of the parameters of, and each deploys an attacker model, the attacker model is used to inversely infer the characteristics of the sample stored in the client according to the output of the corresponding client for the Kth hidden layer, where N, K, and M are A positive integer, and N>K, M>1; the device is integrated in the server.
  • the device 500 includes the following units.
  • the first obtaining unit 510 is configured to obtain M outputs for the Kth hidden layer from the M clients; the first output obtained from any first client is determined by the first client according to The first characteristic part and the first parameter part stored therein are determined as well as the encryption characteristics and encryption parameters obtained from other clients among the M clients based on the secure multi-party computing MPC technology.
  • the synthesis unit 520 is configured to synthesize the M outputs to obtain a synthesis output; the synthesis output is equivalent to synthesizing part of the features stored in each of the M clients and then inputting the first K hidden layers and The output obtained.
  • the first input unit 530 is configured to input the integrated output into the last NK hidden layers of the neural network to obtain an output for the Nth hidden layer, which is used to input the output layer of the neural network to obtain a prediction result .
  • the second obtaining unit 540 is configured to obtain a prediction loss, the prediction loss being determined according to the prediction result and the sample label of the target sample.
  • the third obtaining unit 550 is configured to obtain M attack losses from the M clients; wherein the first attack loss obtained from the first client is calculated based on the first characteristic part and the first inversion result It is determined that the first reverse deduction result is obtained by inputting the first output into the first attacker model deployed in the first client.
  • the determining unit 560 is configured to determine a training loss based on the prediction loss and the M attack losses, where the training loss is positively related to the prediction loss and negatively related to the M attack losses.
  • the parameter adjustment unit 570 is configured to use the training loss to adjust at least the parameters in the last N-K hidden layers, and the training loss is also used for the M clients to adjust some of the parameters maintained by each.
  • the device further includes: a second input unit configured to input the output for the Nth hidden layer into the output layer to obtain the prediction result.
  • the second acquiring unit 540 is specifically configured to determine the prediction loss according to the prediction result and the sample label;
  • the parameter adjustment unit 570 is further configured to adjust the parameters in the output layer.
  • the sample label is stored in a second client included in the M clients, and the apparatus further includes: a fourth obtaining unit configured to obtain from the second client The sample label.
  • the sample label is stored in a second client included in the M clients, and the output layer is deployed in the second client; the device further includes: a sending unit configured to To send the output for the Nth hidden layer to the second client, so that the second client inputs it into the output layer to obtain the prediction result; the second obtaining unit specifically It is configured to: receive the prediction loss from the second client, and the prediction loss is determined by the second client according to the prediction result and the sample label; wherein the training loss is also used for all The second client adjusts the parameters in the output layer.
  • a sending unit configured to To send the output for the Nth hidden layer to the second client, so that the second client inputs it into the output layer to obtain the prediction result
  • the second obtaining unit specifically It is configured to: receive the prediction loss from the second client, and the prediction loss is determined by the second client according to the prediction result and the sample label; wherein the training loss is also used for all
  • the second client adjusts the parameters in the output layer.
  • the MPC technology includes secret sharing; the synthesis unit is specifically configured to add the M outputs to obtain the synthesis output.
  • a training device is provided.
  • Fig. 6 shows a structure diagram of an apparatus for multi-party joint training of a neural network according to another embodiment.
  • the neural network includes N hidden layers
  • the multiple parties include a server and M clients; each of the M clients stores part of the characteristics of the target sample, and maintains the first K hidden layers among the N hidden layers Part of the parameters of, and each deploys an attacker model, the attacker model is used to inversely infer the characteristics of the sample stored in the client according to the output of the corresponding client for the Kth hidden layer, where N, K, and M are A positive integer, and N>K, M>1; the device is integrated in any first client among the M clients.
  • the device 600 includes the following units.
  • the first obtaining unit 610 is configured to obtain encryption features and encryption parameters from other clients among the M clients based on the secure multi-party computing MPC technology.
  • the first determining unit 620 is configured to determine the first output for the Kth hidden layer according to the first characteristic part and the first parameter part stored by the first client, and the encryption characteristic and encryption parameter.
  • the first sending unit 630 is configured to send the first output to the server, and the first output and the output for the Kth hidden layer sent by the other client to the server form M outputs, to The server is made to synthesize the M outputs to obtain a comprehensive output, which is used to input the last NK hidden layers of the neural network, and then obtain a prediction result.
  • the first input unit 640 is configured to input the first output into the first attacker model deployed in the first client to obtain a first reverse inference result.
  • the second determining unit 650 is configured to determine the first attack loss based on the first reverse estimation result and the first characteristic part.
  • the second sending unit 660 is configured to send the first attack loss to the server, where the first attack loss and the attack loss received by the server from the other clients form M attack losses, so that all
  • the server determines a training loss based on the M attack losses and the obtained prediction loss, wherein the prediction loss is determined according to the prediction result and the sample label of the target sample, and the training loss is positively related to the prediction Loss, and is negatively related to the M attack losses.
  • the first receiving unit 670 is configured to receive the loss gradient corresponding to the training loss from the server.
  • the first parameter adjustment unit 680 is configured to adjust the first parameter part by using the loss gradient, and the training loss is also used for the other clients to adjust the respective maintenance parameters and the server to adjust the last NK parameters. Parameters in the hidden layer.
  • the device further includes: an encryption unit configured to encrypt the first characteristic part and the first parameter part based on the MPC technology; and a providing unit configured to obtain the first characteristic part and the first parameter part.
  • the encryption feature and the first encryption parameter are provided to the other clients.
  • the MPC technology includes secret sharing; the encryption unit is specifically configured to: add a characteristic random number to the first characteristic part to obtain the first encryption characteristic; use parameters The random number is added to the first parameter part to obtain the first encryption parameter.
  • the first determining unit is specifically configured to: synthesize the first characteristic part and the encrypted characteristic to obtain a first comprehensive characteristic; perform a calculation on the first parameter part and the encrypted parameter Synthesize to obtain a first comprehensive parameter; use the first comprehensive parameter to calculate the first comprehensive feature to obtain the first output.
  • the device further includes a second parameter adjustment unit configured to adjust the parameters of the first attacker model in a direction in which the loss of the first attack is reduced. Or, adjust the parameters of the first attacker model in the direction where the first attack loss decreases; and adjust the first parameter part in the direction where the first attack loss increases.
  • the apparatus further includes: The third sending unit is configured to send the sample label to the server, so that the server determines the prediction loss according to the sample label and the prediction result; wherein, the training loss is also used for the The server adjusts the parameters in the output layer.
  • the device when the first client is a second client storing the sample label, and the output layer of the neural network is deployed in the second client, the device It also includes: a second receiving unit configured to receive the output for the Nth hidden layer from a server; a second input unit configured to input it into the output layer to obtain the prediction result; and a third determining unit, It is configured to determine the prediction loss based on the prediction result and the sample label; the fourth sending unit is configured to send the prediction loss to the server.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed in a computer, the computer is caused to execute the method described in conjunction with FIG. 2 or FIG. 4.
  • a computing device including a memory and a processor, the memory stores executable code, and when the processor executes the executable code, a combination of FIG. 2 or FIG. 4 is implemented. The method described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种实现安全防御的多方联合训练神经网络的方法,其中多方包括对应于多个数据方的多个客户端,以及中立的服务器。多个客户端之间使用安全多方技术MPC,在保护数据隐私的基础上共同计算一个或多个隐层,然后将计算出的隐层放在中立的服务器上,进行其余复杂的神经网络计算,以得到预测结果,用于跟样本标签比对确定预测损失。此外,多个客户端中还各自部署模拟攻击者的攻击者模型,并各自计算攻击者损失。进一步地,服务器根据基于预测损失和攻击者损失确定的训练损失,调整其上部署的其余复杂神经网络的参数,多个客户端根据训练损失调整各自维护的共同计算隐层所对应的部分参数,以及根据攻击者损失调整攻击者模型的参数。

Description

实现安全防御的多方联合训练神经网络的方法及装置 技术领域
本说明书一个或多个实施例涉及信息安全技术领域,尤其涉及一种实现安全防御的多方联合训练神经网络的方法及装置。
背景技术
目前,多个数据方协同训练机器学习模型已引发研究热潮。其中的难点在于,在训练过程中如何保证各方数据的安全。比如说,支付平台中拥有用户的一些特征和标签,银行中拥有用户的另一些特征,此时支付平台和银行希望使用双方的数据共同建立机器学习模型。但是,因为存在关于数据安全的法规,或双方不愿意将数据公开给对方使用等原因,所以需要通过能够保障自身数据安全的形式,共同建模。
为保障数据安全,在协同建模过程中通常会利用加密技术处理数据。然而因数据处理繁琐,导致建模效率不佳。尤其在模型采用神经网络的情况下,因模型参数往往较多,导致模型训练占用大量的计算资源、耗费大量时间。
因此,迫切需要一种合理的方案,可以在保障各方数据安全的同时,高效训练神经网络模型,从而节约计算资源和计算耗时。
发明内容
本说明书一个或多个实施例描述了一种实现安全防御的多方联合训练神经网络的方法,可以在保障各方数据安全的同时,高效训练神经网络模型,从而节约计算资源和计算耗时。
根据第一方面,提供一种实现安全防御的多方联合训练神经网络的方法,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1。该方法应用于所述服务器,该方法包括:从所述M个客户端获取针对所述第K个隐层的M个输出;从任意的第一客户端获取的第一输出,由所述第一客户端根据其存储的第一特征部 分和第一参数部分,以及基于安全多方计算MPC技术从M个客户端中的其他客户端所获取的加密特征和加密参数而确定。对所述M个输出进行综合,得到综合输出;所述综合输出相当于,将所述M个客户端各自存储的部分特征进行综合后输入所述前K个隐层而得到的输出。将所述综合输出输入所述神经网络的后N-K个隐层中,得到针对第N个隐层的输出,用于输入所述神经网络的输出层,得到预测结果。获取预测损失,所述预测损失根据所述预测结果和所述目标样本的样本标签而确定。从所述M个客户端获取M个攻击损失;其中从所述第一客户端获取的第一攻击损失,基于所述第一特征部分和第一反推结果而确定,所述第一反推结果通过将所述第一输出输入第一客户端中部署的第一攻击者模型而得到。基于所述预测损失和所述M个攻击损失,确定训练损失,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失。利用所述训练损失,至少调整所述后N-K个隐层中的参数,所述训练损失还用于所述M个客户端调整各自维护的部分参数。
在一个实施例中,所述输出层部署在所述服务器中;在得到针对第N个隐层的输出之后,以及,在获取预测损失之前,所述方法还包括:将所述针对第N个隐层的输出输入所述输出层中,得到所述预测结果。所述获取预测损失包括:根据所述预测结果和所述样本标签,确定所述预测损失。所述至少调整所述后N-K个隐层中的参数,还包括:调整所述输出层中的参数。
在一个具体的实施例中,所述样本标签存储在所述M个客户端包括的第二客户端中,在所述获取预测损失之前,所述方法还包括:从所述第二客户端中获取所述样本标签。
在一个实施例中,所述样本标签存储在所述M个客户端包括的第二客户端中,所述输出层部署在所述第二客户端中;在所述获取预测损失之前,所述方法还包括:将所述针对第N个隐层的输出发送至所述第二客户端,以使所述第二客户端将其输入所述输出层,得到所述预测结果。所述获取预测损失包括:从所述第二客户端接收所述预测损失,所述预测损失由所述第二客户端根据所述预测结果和所述样本标签而确定;其中,所述训练损失还用于所述第二客户端调整所述输出层中的参数。
在一个实施例中,所述MPC技术包括秘密共享;对所述M个输出进行综合,得到综合输出,包括:对所述M个输出进行加和,得到所述综合输出。
根据第二方面,提供一种实现安全防御的多方联合训练神经网络的方法,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各 自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1。该方法应用于所述M个客户端中任意的第一客户端,该方法包括:基于安全多方计算MPC技术,从所述M个客户端中的其他客户端获取加密特征和加密参数。根据所述第一客户端存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出。向所述服务器发送所述第一输出,所述第一输出与所述其他客户端向所述服务器发送的针对第K个隐层的输出组成M个输出,以使所述服务器对所述M个输出进行综合,得到综合输出,用于输入所述神经网络的后N-K个隐层,进而得到预测结果。将所述第一输出输入所述第一客户端中部署的第一攻击者模型中,得到第一反推结果。基于所述第一反推结果和所述第一特征部分,确定第一攻击损失。向所述服务器发送所述第一攻击损失,所述第一攻击损失与所述服务器从所述其他客户端接收到的攻击损失组成M个攻击损失,以使所述服务器基于所述M个攻击损失和获取的预测损失,确定训练损失,其中所述预测损失根据所述预测结果和所述目标样本的样本标签而确定,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失。从服务器接收所述训练损失对应的损失梯度,并利用所述损失梯度调整所述第一参数部分,所述训练损失还用于所述其他客户端调整各自维护的部分参数以及所述服务器调整所述后N-K个隐层中的参数。
在一个实施例中,在确定针对所述第K个隐层的第一输出之前,所述方法还包括:基于所述MPC技术,对所述第一特征部分和第一参数部分进行加密;将得到的第一加密特征和第一加密参数提供给所述其他客户端。
在一个具体的实施例中,所述MPC技术包括秘密共享;对所述第一特征部分和第一参数部分进行加密,包括:利用特征随机数与所述第一特征部分进行加和,得到所述第一加密特征;利用参数随机数与所述第一参数部分进行加和,得到所述第一加密参数。
在一个具体的实施例中,根据所述第一客户端存储的第一特征部分和第一参数部分,确定针对所述第K个隐层的第一输出,包括:对所述第一特征部分和所述加密特征进行综合,得到第一综合特征;对所述第一参数部分和所述加密参数进行综合,得到第一综合参数;利用所述第一综合参数对所述第一综合特征进行计算,得到所述第一输出。
在一个实施例中,在利用所述训练损失调整所述第一参数部分之后,所述方法还包括:在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数。或者,在所 述第一攻击损失减小的方向,调整所述第一攻击者模型的参数;并且,在所述第一攻击损失增大的方向,调整所述第一参数部分。
在一个实施例中,在所述第一客户端为存储有所述样本标签的第二客户端,并且所述服务器中部署有所述神经网络的输出层的情况下,在从服务器接收所述训练损失对应的损失梯度之前,所述方法还包括:向所述服务器发送所述样本标签,以使所述服务器根据所述样本标签和所述预测结果,确定所述预测损失;其中,所述训练损失还用于所述服务器调整所述输出层中的参数。
在一个实施例中,在所述第一客户端为存储有所述样本标签的第二客户端,并且所述第二客户端中部署有所述神经网络的输出层的情况下,在从服务器接收所述训练损失对应的损失梯度之前,所述方法还包括:从服务器接收所述针对第N个隐层的输出,并将其输入所述输出层,得到所述预测结果;基于所述预测结果和所述样本标签,确定所述预测损失;向所述服务器发送所述预测损失。
根据第三方面,提供一种实现安全防御的多方联合训练神经网络的装置,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1。该装置集成于所述服务器,该装置包括:第一获取单元,配置为从所述M个客户端获取针对所述第K个隐层的M个输出;从任意的第一客户端获取的第一输出,由所述第一客户端根据其存储的第一特征部分和第一参数部分,以及基于安全多方计算MPC技术从M个客户端中的其他客户端所获取的加密特征和加密参数而确定。综合单元,配置为对所述M个输出进行综合,得到综合输出;所述综合输出相当于,将所述M个客户端各自存储的部分特征进行综合后输入所述前K个隐层而得到的输出。第一输入单元,配置为将所述综合输出输入所述神经网络的后N-K个隐层中,得到针对第N个隐层的输出,用于输入所述神经网络的输出层,得到预测结果。第二获取单元,配置为获取预测损失,所述预测损失根据所述预测结果和所述目标样本的样本标签而确定。第三获取单元,配置为从所述M个客户端获取M个攻击损失;其中从所述第一客户端获取的第一攻击损失,基于所述第一特征部分和第一反推结果而确定,所述第一反推结果通过将所述第一输出输入第一客户端中部署的第一攻击者模型而得到。确定单元,配置为基于所述预测损失和所述M个攻击损失,确定训练损失,所述训练损失正相关于所述预测损失,并 且负相关于所述M个攻击损失。调参单元,配置为利用所述训练损失,至少调整所述后N-K个隐层中的参数,所述训练损失还用于所述M个客户端调整各自维护的部分参数。
根据第四方面,提供一种实现安全防御的多方联合训练神经网络的装置,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1。该装置集成于所述M个客户端中任意的第一客户端,该装置包括:第一获取单元,配置为基于安全多方计算MPC技术,从M个客户端中的其他客户端获取加密特征和加密参数。第一确定单元,配置为根据所述第一客户端存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出。第一发送单元,配置为向所述服务器发送所述第一输出,所述第一输出与所述其他客户端向所述服务器发送的针对第K个隐层的输出组成M个输出,以使所述服务器对所述M个输出进行综合,得到综合输出,用于输入所述神经网络的后N-K个隐层,进而得到预测结果。第一输入单元,配置为将所述第一输出输入所述第一客户端中部署的第一攻击者模型中,得到第一反推结果。第二确定单元,配置为基于所述第一反推结果和所述第一特征部分,确定第一攻击损失。第二发送单元,配置为向所述服务器发送所述第一攻击损失,所述第一攻击损失与所述服务器从所述其他客户端接收到的攻击损失组成M个攻击损失,以使所述服务器基于所述M个攻击损失和获取的预测损失,确定训练损失,其中所述预测损失根据所述预测结果和所述目标样本的样本标签而确定,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失。第一接收单元,配置为从服务器接收所述训练损失对应的损失梯度。第一调参单元,配置为利用所述损失梯度调整所述第一参数部分,所述训练损失还用于所述其他客户端调整各自维护的部分参数以及所述服务器调整所述后N-K个隐层中的参数。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
综上,采用本说明书实施例提供的方法及装置,可以实现多方联合训练神经网络, 并且,通过引入防御者机制,在训练过程中可以实现安全防御。同理,在神经网络的使用过程中,同样可以实现安全防御。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的多方联合部署神经网络的架构图;
图2示出根据一个实施例的多方联合训练神经网络的交互图;
图3示出根据另一个实施例的多方联合部署神经网络的架构图;
图4示出根据另一个实施例的多方联合训练神经网络的交互图;
图5示出根据一个实施例的多方联合训练神经网络的装置结构图;
图6示出根据另一个实施例的多方联合训练神经网络的装置结构图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,为保障数据安全,在多个数据持有方(以下或称数据方)协同建模过程中通常会利用加密技术处理数据,导致占用大量的计算资源、耗费大量时间,并且在训练神经网络的场景下耗费的计算资源尤其庞大。
对此,发明人提出一种多方联合训练神经网络的方法,该方法中的多方除包括多个数据方以外,还包括中立的不单独归属于任何一个数据方的服务器。在一个实施例中,图1示出一种多方联合部署神经网络的架构图,其中包括对应于M个数据方的M个客户端,以及中立的服务器。进一步地,该方法涉及到对神经网络的切分,如图1所示,神经网络共包括N个隐层,其中前K个隐层的参数由M个客户端进行维护,后N-K个隐层和输出层由服务器维护。基于此,M个客户端可以利用安全多方加密(Secure Multi-Party Computation,简称MPC)技术,根据各自拥有的样本特征和各自维护的前K个隐层的参数,确定针对第K个隐层的M个输出。然后,服务器利用MPC技术对M 个输出进行综合,得到针对第K个隐层的综合输出h K,此综合输出相当于将M个客户端各自拥有的样本特征进行综合后输入前K个隐层而得到的输出。接着,服务器将综合输出输入至后N-K个隐层和输出层,得到预测结果。可以理解,在模型使用阶段,得到预测结果即可,而在模型训练阶段,则在得到预测结果之后,还需利用预测结果和样本标签进行模型训练。
然而,服务器中的隐层数据会带来安全风险。具体地,虽然服务器中的隐层数据不会直接泄漏M个客户端输入的样本特征,但是攻击者在一定条件下,可以通过学习一个逆变换,根据隐层数据反推出样本特征。举例来说,M个客户端中的某个客户端想要非法获取其他客户端中的样本特征,此时,该某个客户端可以通过其自身拥有的样本特征和针对第K个隐层的输出学习一个逆变换,然后根据服务器中针对第K层的综合输出和学习到的逆变换,反推出M个客户端中各自存储的样本特征。
对此,可以引入针对攻击者的防御机制,对神经网络进行训练,以使得攻击者反推出的特征与实际的样本特征存在较大偏差而不可用,从而实现对神经网络训练的安全防御。具体地,在一种实施方式中,可以在神经网络的训练损失中增加与上述逆变换(以下或称为攻击者模型)相关的损失项,以实现安全防御。
下面结合具体的实施例,对上述多方联合训练神经网络的方法进行说明。
图2示出根据一个实施例的多方联合训练神经网络的交互图。首先对其中神经网络在多方中的部署架构(可参见图1)进行介绍。
具体地,神经网络包括N个隐层,其中N为正整数。可以理解,N的具体取值通常是预先设定的,例如可以由工作人员预先设定,设定为2、3或12等等。此外,神经网络的种类可以包括DNN(Deep Neural Network,深度神经网络),卷积神经网络CNN(Convolutional Neural Network,卷积神经网络)等等。
上述多方可以包括M个客户端和服务器。其中M是不小于2的正整数,M个客户端对应于M个数据持有方,因此,客户端的数量取决于数据持有方的数量。在一个例子中,假定参与协同训练神经网络的数据方为某第三方支付平台、某银行和某共享平台,则M=3。其中服务器是中立的,可以理解为是M个客户端的公共服务器,可以理解,实际服务器通常为互相连接的多台服务器或服务器集群。
上述M个客户端各自存储目标样本的部分特征,维护上述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型。
需要理解,其中目标样本可以是任意的以用户或服务等为目标对象的样本,往往根据实际建模场景而定。在一个实施例中,M个客户端各自存储的用于协同训练的部分特征的特征类别通常是不同的,由此,如图1所示,M个客户端各自存储的部分特征x 1、x 2、…、x M共同组成目标样本的完整特征。在一个例子中,持有求职服务数据的数据方可以提供一批用户的性别、年龄和职业,持有位置服务数据的数据方可以提供同一批用户的位置信息,包括用户曾经待过的城市和对应时长等。在一个具体的例子中,假定目标样本针对用户甲,M个客户端中包括分别对应于支付平台和银行的客户端,相应地,支付平台中可以存储有用户甲的支付特征,包括支付频次、支付总额、逾期支付次数等,银行可以存储有用户甲的借贷特征,包括借贷总额等。如此,M个客户端中各自存储部分特征,这些特征共同组成目标样本的完整特征。此外,可以由M个客户端中的某个客户端提供目标样本的样本标签,用于训练。
在一个实施例中,M个客户端维护上述N个隐层中前K个隐层的部分参数。其中K是小于或等于N的正整数,通常由工作人员根据实际需要进行预先设定,假定N为5,此时可以将K设定为1或2等。需要理解,各个客户端所维护的部分参数是互不相同的。在一个具体的实施例中,某个客户端所维护的部分参数通常是与其所存储的部分特征相关联的。在一个具体的实施例中,某个客户端中所维护的部分参数通常包括前K个隐层中各个隐层的参数,如图1所示,第1方维护的部分参数包括第1隐层至第K隐层中的参数:<W 1> 1、<W 2> 1、…<W K> 1。在一个具体的实施例中,M个客户端中各个客户端具体维护K个隐层中参数的哪一部分,可以通过MPC(Secure Multi-party Computation,安全多方计算)技术而确定。
在一个实施例中,M个客户端各自部署有攻击者模型。此攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征。在一个具体的实施例中,其中攻击者模型可以采用RNN、LSTM、Transformer、GRU等等。可以理解,其中任意两个客户端所部署的攻击者模型所基于的算法可以相同也可以不同,比如说,可以都采用GRU,或者,一个采用RNN而另一个采用LSTM。
上述服务器维护后N-K个隐层和输出层的参数。在一个实施例中,其中输出层中所使用的激活函数、参数个数等可以根据实际需要而设定。在一个例子中,对于多分类问题,输出层中可以选用softmax作为激活函数,其中对应于输出各个类别的预测概率的参数个数,通常为标签类别数量+1(Others)。
以上对多方联合训练神经网络的部署架构进行介绍。以下对图2示出的交互过程 进行介绍。需要说明的是,图2中主要以任意的第一客户端为例,对M个客户端和服务器之间的交互过程进行说明。此外,第一客户端中的“第一”、以及后文中的“第一”、“第二”,仅用于区分同类事物,不具有其他限定作用。
如图2所示,所述交互的过程可以包括步骤S201至步骤S227。
步骤S201,第一客户端基于MPC技术,从所述M个客户端中的其他客户端获取加密特征和加密参数。
在一个实施例中,MPC技术可以包括秘密分享,混淆电路和同态加密等。
在一个实施例中,第一客户端将自身存储的第一特征部分和第一参数部分分别加密,并且将加密后的第一特征部分和第一参数部分提供给其他客户端。相应地,第一客户端可以从其他客户端获取由其他客户端加密后得到的加密特征和加密参数。进一步地,在一个具体的实施例中,第一客户端可以将自身加密后的数据直接发送给其他客户端中的每个客户端,相应地,第一客户端可以从其他客户端中的每个客户端中接收加密特征和加密参数。在另一个具体的实施例中,第一客户端可以将自身加密后的数据放入共享池,相应地,第一客户端还可以从共享池中获取其他客户端的加密特征和加密参数。
由前述可知,第一客户端为M个客户端中任意的一个客户端,以下或用客户端i指代第一客户端,其中i是指客户端编号,取值范围为1至M。根据一个具体的实施例,假定采用的MPC技术为同态加密,则每个客户端可以利用密钥对其自身存储的部分特征和部分参数进行加密。
根据另一个具体的实施例,假定采用的MPC技术为秘密分享,则每个客户端可以利用随机数对自身存储的部分特征和部分参数进行加密,其中随机数采用秘密分享提供的随机算法产生。在一个例子中,对于客户端i中存储的部分特征x i和部分参数θ i,分别用特征随机数
Figure PCTCN2020108957-appb-000001
和参数随机数
Figure PCTCN2020108957-appb-000002
进行加密,可以得到如下的加密特征和加密参数:
Figure PCTCN2020108957-appb-000003
Figure PCTCN2020108957-appb-000004
基于此,对于其他客户端中任意的客户端j(≠i),客户端i可以获取由客户端j加密的加密特征x′ j和加密参数θ′ j。需要理解,x i、θ i
Figure PCTCN2020108957-appb-000005
x′ i、θ′ i、x′ j和θ′ j可以是数值或矩阵,通常为向量。
如此,第一客户端可以从其他客户端中的每个客户端获取对应的加密特征和加密 参数。
接着在步骤S203,第一客户端根据其存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出。
在一个实施例中,将第一特征部分和所述加密特征进行综合,得到第一综合特征,并且,将第一参数部分和加密参数进行综合,得到第一综合参数;再利用第一综合参数对第一综合特征进行计算,得到第一输出。需要理解,其中对特征和参数的综合方式,与采用的MPC技术相关,而利用综合参数对综合特征进行计算的方式,与输入层和前K个隐层中相邻两个层之间的连接,以及神经元激活函数的选取等相关。
在一个具体的实施例中,采用的MPC技术为秘密分享。在一个例子中,可以采用加和的方式,得到上述综合特征和综合参数。具体地,客户端i中得到的综合特征z i和综合参数为α i如下:
Figure PCTCN2020108957-appb-000006
Figure PCTCN2020108957-appb-000007
基于此,再利用综合参数α i对综合特征z i进行计算,得到第一输出
Figure PCTCN2020108957-appb-000008
如此,第一客户端可以确定其针对前K个隐层的第一输出。基于此,一方面,在步骤S203之后,执行步骤S205、步骤S207、步骤S209和步骤S211。
具体地,在步骤S205,服务器从第一客户端获取第一输出。
需要说明的是,步骤S201和步骤S203描述第一客户端得到第一输出的过程,可以理解,其他M-1个客户端也可以采用同样的方式,得到针对第K个隐层的M-1个输出。由此,服务器可以从M个客户端获取针对第K个隐层的M个输出。基于此,在步骤S207,服务器可以利用MPC技术对所述M个输出进行综合,得到综合输出。其中,综合输出相当于,将所述M个客户端各自存储的部分特征进行综合后输入所述前K个隐层而得到的输出。
需要说明的是,本步骤中服务器利用的MPC技术与步骤S201中利用的MPC技术是相同或相应的。在一个实施例中,步骤S201中采用的MPC技术为同态加密,其中利用密钥对特征和参数进行加密,相应地,在步骤S207中可以利用密钥对M个输出进行处理,以得到综合输出。在另一个实施例中,步骤S201中利用秘密分享生成和传输的加密特征和加密参数,在步骤S207中,服务器同样利用秘密分享对M个输出进行综合, 得到综合输出。在一个具体的实施例中,可以对M个输出进行加和处理,得到综合输出。在一个例子中,可以将
Figure PCTCN2020108957-appb-000009
作为综合输出。需要理解,
Figure PCTCN2020108957-appb-000010
相当于,将
Figure PCTCN2020108957-appb-000011
输入具有参数
Figure PCTCN2020108957-appb-000012
的前K个隐层而得到的输出h K
以上在步骤S207,服务器可以得到针对第个K隐层的综合输出。接着在步骤S209,服务器将综合输出输入神经网络的后N-K个隐层和输出层中,得到预测结果。可以理解,其中预测结果可以为分类结果,也可以为回归结果。在一个例子中,得到的预测结果可以为用户的信用等级,如高、中或低等。在另一个例子中,得到的预测结果可以为用户的信用分数。
再接着,在步骤S211,服务器可以根据预测结果和目标样本的样本标签确定预测损失。
在一个实施例中,其中样本标签存储在M个客户端中的第二客户端,在步骤S211之前,服务器可以从第二客户端中获取样本标签。
在一个实施例中,可以用下式表示预测损失:
l 0=loss(y,f θ(x))      (5)
其中,y表示样本标签,x表示目标样本的样本特征,f θ(x)表示将x输入神经网络得到的预测结果。
在一个实施例中,本步骤中用于确定预测损失的损失函数,可以根据实际需要,采用铰链损失函数、交叉熵损失函数等等。
以上,在步骤S203之后,通过执行步骤S205、步骤S207、步骤S209和步骤S211,可以得到针对目标样本的预测损失。
另一方面,在步骤S203之后,执行步骤S213、步骤S215和步骤S217。具体地,在步骤S213,第一客户端将第一输出输入其自身部署的第一攻击者模型中,得到第一反推结果。接着在步骤S215,第一客户端根据第一反推结果和第一特征部分,确定第一攻击损失。
在一个实施例中,可以用下式表示客户端i所确定的攻击损失:
Figure PCTCN2020108957-appb-000013
式(4)中,z i和α i分别表示客户端i确定的综合特征i和综合参数i(例如参见公式(3)和(4)),
Figure PCTCN2020108957-appb-000014
表示针对第K个隐层的输出,即
Figure PCTCN2020108957-appb-000015
β i表示客户端i中部署的 攻击者模型i的模型参数,
Figure PCTCN2020108957-appb-000016
表示将输出i输入攻击者模型i得到的反推结果i,d()表示distance函数,用于衡量综合特征i和反推结果i之间的距离。在一个具体的实施例中,distance函数对应于计算曼哈顿距离或欧式距离等。
如此,可以确定第一攻击损失,接着在步骤S217,服务器从第一客户端获取第一攻击损失。需要说明的是,步骤S213和步骤S215描述第一客户端确定第一攻击损失的过程,可以理解,其他M-1个客户端也可以采用同样的方式,得到M-1个攻击损失。由此,服务器可以从M个客户端获取M个攻击损失。基于此,可以在步骤S219中,基于获取的M个攻击损失和在步骤S211中确定的预测损失,确定训练损失。
需要说明的是,上述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失。如此,后续利用训练损失调参后的神经网络,将具有较佳的防御功能。
在一个实施例中,可以采用以下公式计算训练损失:
Figure PCTCN2020108957-appb-000017
其中,L表示训练损失,l 0表示预测损失,
Figure PCTCN2020108957-appb-000018
表示M个攻击损失的和值,λ表示防御者系数。需要理解,λ越大,后续调参得到的神经网络的防御功能也就越好,但相应对神经网络的性能损害也就越大。在一个具体的实施例中,λ为超参,例如可以设定为0.2或0.3等。在一个具体的实施例中,其中l 0和d i分别可以用上式(5)和(6)计算得到。
在另一个实施例中,可以采用以下公式计算训练损失:
Figure PCTCN2020108957-appb-000019
通过式(8),可以针对不同攻击者模型设定不同的防御者系数,比如,λ 1=0.1,λ 2=0.2。
在又一个实施例中,可以采用以下公式计算训练损失:
Figure PCTCN2020108957-appb-000020
如此,在步骤S219,服务器可以确定训练损失。接着在步骤S221,服务器可以利用训练损失,调整所述输出层和后N-K个隐层中的参数。在一个实施例中,可以采用反向传播法调参。
再接着,在步骤S223,第一客户端可以从服务器接收训练损失对应的损失梯度,并且在步骤S225,第一客户端可以利用损失梯度调整第一参数部分。由此,M个客户 端均可以从服务器接收损失梯度,对自身维护的前K个隐层的部分参数进行调整。
此外,还可以执行步骤S227,第一客户端利用第一攻击损失至少调整第一攻击者模型的参数。在一个实施例中,在第一攻击损失减小的方向,调整第一攻击者模型的参数。在另一个实施例中,还在第一攻击损失增大的方向,调整第一参数部分。
通过重复执行图2中的交互步骤,可以实现对神经网络的多次迭代,直至神经网络的参数收敛,将最后一次迭代得到的神经网络,作为最终训练好的神经网络。
以上,采用本说明书实施例披露的方法,可以实现多方联合训练神经网络,并且,通过引入防御者机制,在训练过程中可以实现安全防御。同理,在神经网络的使用过程中,同样可以实现安全防御。
由前述实施例可知,神经网络的输出层可以部署在服务器中。并且,服务器可以从存储有样本标签的第二客户端中获取样本标签,以根据输出层输出的预测结果和获取的样本标签确定预测损失。然而,因服务器是中立的,因此服务器在获取样本标签后,存在样本标签泄漏的风险。据此,在一个实施例中,服务器可以在确定出预测结果后,将预测结果发送至第二客户端,以使第二客户端根据预测结果和样本标签确定预测损失,再将预测损失发送至服务器。但是,因服务器中同时存在预测结果和预测损失,不法分子可以根据预测结果和预测损失推出样本标签,因此样本标签仍然存在泄漏风险。
在另一个实施例中,为防止样本标签的泄漏,还可以将神经网络的输出层部署在第二客户端中。进一步地,服务器将神经网络最后一个隐层(第N个隐层)的输出h N提供给第二客户端,以使第二客户端将h N输入输出层中,得到预测结果,并根据预测结果和样本标签确定预测损失,再将预测损失提供给服务器,以使服务器根据预测损失和M个攻击损失确定训练损失。如此,可以更加有效的防止样板标签的泄漏。下面结合图3和图4,对此实施例进行具体介绍。
图3示出根据另一个实施例的多方联合部署神经网络的架构图。比较图3和图1可知,两个架构的主要不同在于,图1中是服务器中部署有神经网络的输出层,如图3中是存储有样本标签的第二客户端部署有输出层。
图4示出根据另一个实施例的多方联合训练神经网络的交互图。其中神经网络在多方中的部署架构可以参见图3,同时对其的文字描述,可以参见前述中的相关描述,在此不作赘述。
如图4所示,所述交互的过程可以包括步骤S401至S435。
步骤S401,第一客户端基于MPC技术,从所述M个客户端中的其他客户端获取的加密特征和加密参数。
步骤S403,第一客户端根据其存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出。
一方面,在步骤S403之后,执行步骤S405、步骤S407和步骤S409。
具体地,在步骤S405,第一客户端将第一输出输入其自身部署的第一攻击者模型中,得到第一反推结果。接着在步骤S407,第一客户端根据第一反推结果和第一特征部分,确定第一攻击损失。接着在步骤S409,服务器从第一客户端获取第一攻击损失。需要说明的是,对步骤S405、步骤S407和步骤S409的描述,可以参见前述对步骤S213、步骤S215和步骤S217的描述,在此不作赘述。
另一方面,在步骤S403之后,执行步骤S411、S413、步骤S415、S417、步骤S419、步骤S421和步骤S423。
具体地,在步骤S411,服务器从第一客户端获取第一输出。进一步地,在步骤S413,服务器利用MPC技术对所述M个输出进行综合,得到综合输出。所述综合输出相当于,将所述M个客户端各自存储的部分特征进行综合后输入所述前K个隐层而得到的输出。需要说明的是,对步骤S413的描述可以参见对上述步骤S207的描述,在此不作赘述。
基于步骤S413中得到的综合输出,接着在步骤S415,服务器将所述综合输出输入所述神经网络的后N-K个隐层,得到针对第N个隐层的输出。并且在步骤S417,服务器将针对第N个隐层的输出发送至第二客户端。
然后,在步骤S419,第二客户端将针对第N个隐层的输出输入神经网络的输出层,得到预测结果。再接着,在步骤S421,第二客户端根据所述预测结果和所述目标样本的样本标签确定预测损失。并且在步骤S423,第二客户端将预测损失发送至服务器。可以理解,对于步骤S419、步骤S421和步骤S423的描述,可以参见前述中的相关描述,在此不作赘述。
以上,服务器在步骤S409,可以从M个客户端获取M个攻击损失,在步骤S423可以获取预测损失。由此,服务器可以在步骤S425,基于所述预测损失和M个攻击损失,确定训练损失。需要说明的是,对步骤S425的描述可以参见对步骤S219的描述。
在确定预测损失后,可以在步骤S427,第二客户端可以从服务器获取训练损失,调整输出层中的参数。进一步地,在步骤S429,服务器可以利用训练损失,调整所述 后N-K个隐层中的参数。在一个实施例中,服务器可以从第二客户端接收对输出层调参时计算好的梯度数据,用于调整后N-K个隐层中的参数。
接着在步骤S431,第一客户端从服务器接收所述训练损失对应的损失梯度。并且在步骤S433,第一客户端利用所述损失梯度调整第一参数部分。以及在步骤S435,第一客户端利用第一攻击损失至少调整第一攻击者模型的参数。需要说明的是,对步骤S431、步骤S433和步骤S435的描述,可以参见前述对步骤S223、步骤S225和步骤S227的相关描述,在此不作赘述。
以上,采用本说明书实施例披露的方法,可以实现多方联合训练神经网络,并且,通过引入防御者机制,在训练过程中可以实现安全防御。同理,在神经网络的使用过程中,同样可以实现安全防御。此外,将输出层部署在存储有样本标签的客户端中,还可以有效防止样本标签的泄漏。
根据另一方面的实施例,提供了一种训练装置。图5示出根据一个实施例的多方联合训练神经网络的装置结构图。其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1;所述装置集成于所述服务器。如图5所示,装置500包括以下单元。
第一获取单元510,配置为从所述M个客户端获取针对所述第K个隐层的M个输出;从任意的第一客户端获取的第一输出,由所述第一客户端根据其存储的第一特征部分和第一参数部分,以及基于安全多方计算MPC技术从M个客户端中的其他客户端所获取的加密特征和加密参数而确定。
综合单元520,配置为对所述M个输出进行综合,得到综合输出;所述综合输出相当于,将所述M个客户端各自存储的部分特征进行综合后输入所述前K个隐层而得到的输出。
第一输入单元530,配置为将所述综合输出输入所述神经网络的后N-K个隐层中,得到针对第N个隐层的输出,用于输入所述神经网络的输出层,得到预测结果。
第二获取单元540,配置为获取预测损失,所述预测损失根据所述预测结果和所述目标样本的样本标签而确定。
第三获取单元550,配置为从所述M个客户端获取M个攻击损失;其中从所述第一客户端获取的第一攻击损失,基于所述第一特征部分和第一反推结果而确定,所述第一反推结果通过将所述第一输出输入第一客户端中部署的第一攻击者模型而得到。
确定单元560,配置为基于所述预测损失和所述M个攻击损失,确定训练损失,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失。
调参单元570,配置为利用所述训练损失,至少调整所述后N-K个隐层中的参数,所述训练损失还用于所述M个客户端调整各自维护的部分参数。
在一个实施例中,所述装置还包括:第二输入单元,配置为将所述针对第N个隐层的输出输入所述输出层中,得到所述预测结果。所述第二获取单元540具体配置为:根据所述预测结果和所述样本标签,确定所述预测损失;所述调参单元570,还配置为:调整所述输出层中的参数。
在一个具体的实施例中,所述样本标签存储在所述M个客户端包括的第二客户端中,所述装置还包括:第四获取单元,配置为从所述第二客户端中获取所述样本标签。
在一个实施例中,所述样本标签存储在所述M个客户端包括的第二客户端中,所述输出层部署在所述第二客户端中;所述装置还包括:发送单元,配置为将所述针对第N个隐层的输出发送至所述第二客户端,以使所述第二客户端将其输入所述输出层,得到所述预测结果;所述第二获取单元具体配置为:从所述第二客户端接收所述预测损失,所述预测损失由所述第二客户端根据所述预测结果和所述样本标签而确定;其中,所述训练损失还用于所述第二客户端调整所述输出层中的参数。
在一个实施例中,所述MPC技术包括秘密共享;所述综合单元具体配置为:对所述M个输出进行加和,得到所述综合输出。
根据另一方面的实施例,提供了一种训练装置。图6示出根据另一个实施例的多方联合训练神经网络的装置结构图。其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1;所述装置集成于所述M个客户端中任意的第一客户端。如图6所示,装置600包括以下单元。
第一获取单元610,配置为基于安全多方计算MPC技术,从所述M个客户端中的 其他客户端获取加密特征和加密参数。
第一确定单元620,配置为根据所述第一客户端存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出。
第一发送单元630,配置为向所述服务器发送所述第一输出,所述第一输出与所述其他客户端向所述服务器发送的针对第K个隐层的输出组成M个输出,以使所述服务器对所述M个输出进行综合,得到综合输出,用于输入所述神经网络的后N-K个隐层,进而得到预测结果。
第一输入单元640,配置为将所述第一输出输入所述第一客户端中部署的第一攻击者模型中,得到第一反推结果。
第二确定单元650,配置为基于所述第一反推结果和所述第一特征部分,确定第一攻击损失。
第二发送单元660,配置为向所述服务器发送所述第一攻击损失,所述第一攻击损失与所述服务器从所述其他客户端接收到的攻击损失组成M个攻击损失,以使所述服务器基于所述M个攻击损失和获取的预测损失,确定训练损失,其中所述预测损失根据所述预测结果和所述目标样本的样本标签而确定,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失。
第一接收单元670,配置为从服务器接收所述训练损失对应的损失梯度。
第一调参单元680,配置为利用所述损失梯度调整所述第一参数部分,所述训练损失还用于所述其他客户端调整各自维护的部分参数以及所述服务器调整所述后N-K个隐层中的参数。
在一个具体的实施例中,所述装置还包括:加密单元,配置为基于所述MPC技术,对所述第一特征部分和第一参数部分进行加密;提供单元,配置为将得到的第一加密特征和第一加密参数提供给所述其他客户端。
在一个更具体的实施例中,所述MPC技术包括秘密共享;所述加密单元具体配置为:利用特征随机数与所述第一特征部分进行加和,得到所述第一加密特征;利用参数随机数与所述第一参数部分进行加和,得到所述第一加密参数。
在一个实施例中,所述第一确定单元具体配置为:对所述第一特征部分和所述加密特征进行综合,得到第一综合特征;对所述第一参数部分和所述加密参数进行综合, 得到第一综合参数;利用所述第一综合参数对所述第一综合特征进行计算,得到所述第一输出。
在一个实施例中,所述装置还包括第二调参单元,配置为:在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数。或者,在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数;并且,在所述第一攻击损失增大的方向,调整所述第一参数部分。
在一个实施例中,在所述第一客户端为存储有所述样本标签的第二客户端,并且所述服务器中部署有所述神经网络的输出层的情况下,所述装置还包括:第三发送单元,配置为向所述服务器发送所述样本标签,以使所述服务器根据所述样本标签和所述预测结果,确定所述预测损失;其中,所述训练损失还用于所述服务器调整所述输出层中的参数。
在一个实施例中,在所述第一客户端为存储有所述样本标签的第二客户端,并且所述第二客户端中部署有所述神经网络的输出层的情况下,所述装置还包括:第二接收单元,配置为从服务器接收所述针对第N个隐层的输出;第二输入单元,配置为将其输入所述输出层,得到所述预测结果;第三确定单元,配置为基于所述预测结果和所述样本标签,确定所述预测损失;第四发送单元,配置为向所述服务器发送所述预测损失。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图4所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (26)

  1. 一种实现安全防御的多方联合训练神经网络的方法,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1;所述方法应用于所述服务器,所述方法包括:
    从所述M个客户端获取针对所述第K个隐层的M个输出;从任意的第一客户端获取的第一输出,由所述第一客户端根据其存储的第一特征部分和第一参数部分,以及基于安全多方计算MPC技术从M个客户端中的其他客户端所获取的加密特征和加密参数而确定;
    对所述M个输出进行综合,得到综合输出;
    将所述综合输出输入所述神经网络的后N-K个隐层中,得到针对第N个隐层的输出,用于输入所述神经网络的输出层,得到预测结果;
    获取预测损失,所述预测损失根据所述预测结果和所述目标样本的样本标签而确定;
    从所述M个客户端获取M个攻击损失;其中从所述第一客户端获取的第一攻击损失,基于所述第一特征部分和第一反推结果而确定,所述第一反推结果通过将所述第一输出输入第一客户端中部署的第一攻击者模型而得到;
    基于所述预测损失和所述M个攻击损失,确定训练损失,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失;
    利用所述训练损失,至少调整所述后N-K个隐层中的参数,所述训练损失还用于所述M个客户端调整各自维护的部分参数。
  2. 根据权利要求1所述的方法,其中,所述输出层部署在所述服务器中;在得到针对第N个隐层的输出之后,以及,在获取预测损失之前,所述方法还包括:
    将所述针对第N个隐层的输出输入所述输出层中,得到所述预测结果;
    所述获取预测损失包括:
    根据所述预测结果和所述样本标签,确定所述预测损失;
    所述至少调整所述后N-K个隐层中的参数,还包括:
    调整所述输出层中的参数。
  3. 根据权利要求2所述的方法,其中,所述样本标签存储在所述M个客户端包括的第二客户端中,在所述获取预测损失之前,所述方法还包括:
    从所述第二客户端中获取所述样本标签。
  4. 根据权利要求1所述的方法,其中,所述样本标签存储在所述M个客户端包括的第二客户端中,所述输出层部署在所述第二客户端中;在所述获取预测损失之前,所述方法还包括:
    将所述针对第N个隐层的输出发送至所述第二客户端,以使所述第二客户端将其输入所述输出层,得到所述预测结果;
    所述获取预测损失包括:
    从所述第二客户端接收所述预测损失,所述预测损失由所述第二客户端根据所述预测结果和所述样本标签而确定;
    其中,所述训练损失还用于所述第二客户端调整所述输出层中的参数。
  5. 根据权利要求1所述的方法,其中,所述MPC技术包括秘密共享;对所述M个输出进行综合,得到综合输出,包括:
    对所述M个输出进行加和,得到所述综合输出。
  6. 一种实现安全防御的多方联合训练神经网络的方法,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1;所述方法应用于所述M个客户端中任意的第一客户端,所述方法包括:
    基于安全多方计算MPC技术,从所述M个客户端中的其他客户端获取加密特征和加密参数;
    根据所述第一客户端存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出;
    向所述服务器发送所述第一输出,所述第一输出与所述其他客户端向所述服务器发送的针对第K个隐层的输出组成M个输出,以使所述服务器对所述M个输出进行综合,得到综合输出,用于输入所述神经网络的后N-K个隐层,进而得到预测结果;
    将所述第一输出输入所述第一客户端中部署的第一攻击者模型中,得到第一反推结果;
    基于所述第一反推结果和所述第一特征部分,确定第一攻击损失;
    向所述服务器发送所述第一攻击损失,所述第一攻击损失与所述服务器从所述其他客户端接收到的攻击损失组成M个攻击损失,以使所述服务器基于所述M个攻击损失 和获取的预测损失,确定训练损失,其中所述预测损失根据所述预测结果和所述目标样本的样本标签而确定,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失;
    从服务器接收所述训练损失对应的损失梯度,并利用所述损失梯度调整所述第一参数部分,所述训练损失还用于所述其他客户端调整各自维护的部分参数以及所述服务器调整所述后N-K个隐层中的参数。
  7. 根据权利要求6所述的方法,其中,在确定针对所述第K个隐层的第一输出之前,所述方法还包括:
    基于所述MPC技术,对所述第一特征部分和第一参数部分进行加密;
    将得到的第一加密特征和第一加密参数提供给所述其他客户端。
  8. 根据权利要求7所述的方法,其中,所述MPC技术包括秘密共享;对所述第一特征部分和第一参数部分进行加密,包括:
    利用特征随机数与所述第一特征部分进行加和,得到所述第一加密特征;
    利用参数随机数与所述第一参数部分进行加和,得到所述第一加密参数。
  9. 根据权利要求6所述的方法,其中,根据所述第一客户端存储的第一特征部分和第一参数部分,确定针对所述第K个隐层的第一输出,包括:
    对所述第一特征部分和所述加密特征进行综合,得到第一综合特征;
    对所述第一参数部分和所述加密参数进行综合,得到第一综合参数;
    利用所述第一综合参数对所述第一综合特征进行计算,得到所述第一输出。
  10. 根据权利要求6所述的方法,其中,在利用所述训练损失调整所述第一参数部分之后,所述方法还包括:
    在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数;或者,
    在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数;并且,在所述第一攻击损失增大的方向,调整所述第一参数部分。
  11. 根据权利要求6所述的方法,其中,在所述第一客户端为存储有所述样本标签的第二客户端,并且所述服务器中部署有所述神经网络的输出层的情况下,在从服务器接收所述训练损失对应的损失梯度之前,所述方法还包括:
    向所述服务器发送所述样本标签,以使所述服务器根据所述样本标签和所述预测结果,确定所述预测损失;
    其中,所述训练损失还用于所述服务器调整所述输出层中的参数。
  12. 根据权利要求6所述的方法,其中,在所述第一客户端为存储有所述样本标签 的第二客户端,并且所述第二客户端中部署有所述神经网络的输出层的情况下,在从服务器接收所述训练损失对应的损失梯度之前,所述方法还包括:
    从服务器接收所述针对第N个隐层的输出,并将其输入所述输出层,得到所述预测结果;
    基于所述预测结果和所述样本标签,确定所述预测损失;
    向所述服务器发送所述预测损失。
  13. 一种实现安全防御的多方联合训练神经网络的装置,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1;所述装置集成于所述服务器,所述装置包括:
    第一获取单元,配置为从所述M个客户端获取针对所述第K个隐层的M个输出;从任意的第一客户端获取的第一输出,由所述第一客户端根据其存储的第一特征部分和第一参数部分,以及基于安全多方计算MPC技术从M个客户端中的其他客户端所获取的加密特征和加密参数而确定;
    综合单元,配置为对所述M个输出进行综合,得到综合输出;
    第一输入单元,配置为将所述综合输出输入所述神经网络的后N-K个隐层中,得到针对第N个隐层的输出,用于输入所述神经网络的输出层,得到预测结果;
    第二获取单元,配置为获取预测损失,所述预测损失根据所述预测结果和所述目标样本的样本标签而确定;
    第三获取单元,配置为从所述M个客户端获取M个攻击损失;其中从所述第一客户端获取的第一攻击损失,基于所述第一特征部分和第一反推结果而确定,所述第一反推结果通过将所述第一输出输入第一客户端中部署的第一攻击者模型而得到;
    确定单元,配置为基于所述预测损失和所述M个攻击损失,确定训练损失,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失;
    调参单元,配置为利用所述训练损失,至少调整所述后N-K个隐层中的参数,所述训练损失还用于所述M个客户端调整各自维护的部分参数。
  14. 根据权利要求13所述的装置,其中,所述装置还包括:
    第二输入单元,配置为将所述针对第N个隐层的输出输入所述输出层中,得到所述预测结果;
    所述第二获取单元具体配置为:
    根据所述预测结果和所述样本标签,确定所述预测损失;
    所述调参单元,还配置为:
    调整所述输出层中的参数。
  15. 根据权利要求14所述的装置,其中,所述样本标签存储在所述M个客户端包括的第二客户端中,所述装置还包括:
    第四获取单元,配置为从所述第二客户端中获取所述样本标签。
  16. 根据权利要求13所述的装置,其中,所述样本标签存储在所述M个客户端包括的第二客户端中,所述输出层部署在所述第二客户端中;所述装置还包括:
    发送单元,配置为将所述针对第N个隐层的输出发送至所述第二客户端,以使所述第二客户端将其输入所述输出层,得到所述预测结果;
    所述第二获取单元具体配置为:
    从所述第二客户端接收所述预测损失,所述预测损失由所述第二客户端根据所述预测结果和所述样本标签而确定;
    其中,所述训练损失还用于所述第二客户端调整所述输出层中的参数。
  17. 根据权利要求13所述的装置,其中,所述MPC技术包括秘密共享;所述综合单元具体配置为:
    对所述M个输出进行加和,得到所述综合输出。
  18. 一种实现安全防御的多方联合训练神经网络的装置,其中,所述神经网络包括N个隐层,所述多方包括服务器和M个客户端;所述M个客户端各自存储目标样本的部分特征,维护所述N个隐层中前K个隐层的部分参数,并各自部署有攻击者模型,所述攻击者模型用于根据对应客户端中针对第K个隐层的输出反推该客户端中存储的样本特征,其中N、K和M为正整数,并且N>K,M>1;所述装置集成于所述M个客户端中任意的第一客户端,所述装置包括:
    第一获取单元,配置为基于安全多方计算MPC技术,从所述M个客户端中的其他客户端获取加密特征和加密参数;
    第一确定单元,配置为根据所述第一客户端存储的第一特征部分和第一参数部分,以及所述加密特征和加密参数,确定针对所述第K个隐层的第一输出;
    第一发送单元,配置为向所述服务器发送所述第一输出,所述第一输出与所述其他客户端向所述服务器发送的针对第K个隐层的输出组成M个输出,以使所述服务器对所述M个输出进行综合,得到综合输出,用于输入所述神经网络的后N-K个隐层,进 而得到预测结果;
    第一输入单元,配置为将所述第一输出输入所述第一客户端中部署的第一攻击者模型中,得到第一反推结果;
    第二确定单元,配置为基于所述第一反推结果和所述第一特征部分,确定第一攻击损失;
    第二发送单元,配置为向所述服务器发送所述第一攻击损失,所述第一攻击损失与所述服务器从所述其他客户端接收到的攻击损失组成M个攻击损失,以使所述服务器基于所述M个攻击损失和获取的预测损失,确定训练损失,其中所述预测损失根据所述预测结果和所述目标样本的样本标签而确定,所述训练损失正相关于所述预测损失,并且负相关于所述M个攻击损失;
    第一接收单元,配置为从服务器接收所述训练损失对应的损失梯度;
    第一调参单元,配置为利用所述损失梯度调整所述第一参数部分,所述训练损失还用于所述其他客户端调整各自维护的部分参数以及所述服务器调整所述后N-K个隐层中的参数。
  19. 根据权利要求18所述的装置,其中,所述装置还包括:
    加密单元,配置为基于所述MPC技术,对所述第一特征部分和第一参数部分进行加密;
    提供单元,配置为将得到的第一加密特征和第一加密参数提供给所述其他客户端。
  20. 根据权利要求19所述的装置,其中,所述MPC技术包括秘密共享;所述加密单元具体配置为:
    利用特征随机数与所述第一特征部分进行加和,得到所述第一加密特征;
    利用参数随机数与所述第一参数部分进行加和,得到所述第一加密参数。
  21. 根据权利要求18所述的装置,其中,所述第一确定单元具体配置为:
    对所述第一特征部分和所述加密特征进行综合,得到第一综合特征;
    对所述第一参数部分和所述加密参数进行综合,得到第一综合参数;
    利用所述第一综合参数对所述第一综合特征进行计算,得到所述第一输出。
  22. 根据权利要求18所述的装置,其中,所述装置还包括第二调参单元,配置为:
    在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数;或者,
    在所述第一攻击损失减小的方向,调整所述第一攻击者模型的参数;并且,在所述第一攻击损失增大的方向,调整所述第一参数部分。
  23. 根据权利要求18所述的装置,其中,在所述第一客户端为存储有所述样本标 签的第二客户端,并且所述服务器中部署有所述神经网络的输出层的情况下,所述装置还包括:
    第三发送单元,配置为向所述服务器发送所述样本标签,以使所述服务器根据所述样本标签和所述预测结果,确定所述预测损失;
    其中,所述训练损失还用于所述服务器调整所述输出层中的参数。
  24. 根据权利要求18所述的装置,其中,在所述第一客户端为存储有所述样本标签的第二客户端,并且所述第二客户端中部署有所述神经网络的输出层的情况下,所述装置还包括:
    第二接收单元,配置为从服务器接收所述针对第N个隐层的输出;
    第二输入单元,配置为将其输入所述输出层,得到所述预测结果;
    第三确定单元,配置为基于所述预测结果和所述样本标签,确定所述预测损失;
    第四发送单元,配置为向所述服务器发送所述预测损失。
  25. 一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。
  26. 一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。
PCT/CN2020/108957 2019-10-29 2020-08-13 实现安全防御的多方联合训练神经网络的方法及装置 WO2021082633A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911039139.6 2019-10-29
CN201911039139.6A CN110751291B (zh) 2019-10-29 2019-10-29 实现安全防御的多方联合训练神经网络的方法及装置

Publications (1)

Publication Number Publication Date
WO2021082633A1 true WO2021082633A1 (zh) 2021-05-06

Family

ID=69280892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/108957 WO2021082633A1 (zh) 2019-10-29 2020-08-13 实现安全防御的多方联合训练神经网络的方法及装置

Country Status (2)

Country Link
CN (1) CN110751291B (zh)
WO (1) WO2021082633A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500071A (zh) * 2022-02-10 2022-05-13 江苏大学 一种针对目标网站动态增长的自适应指纹攻击方法和系统
CN116092683A (zh) * 2023-04-12 2023-05-09 深圳达实旗云健康科技有限公司 一种原始数据不出域的跨医疗机构疾病预测方法
CN116432039A (zh) * 2023-06-13 2023-07-14 支付宝(杭州)信息技术有限公司 协同训练方法及装置、业务预测方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751291B (zh) * 2019-10-29 2021-02-12 支付宝(杭州)信息技术有限公司 实现安全防御的多方联合训练神经网络的方法及装置
CN110990857B (zh) * 2019-12-11 2021-04-06 支付宝(杭州)信息技术有限公司 保护隐私安全的多方联合进行特征评估的方法及装置
CN111369260A (zh) * 2020-03-10 2020-07-03 支付宝(杭州)信息技术有限公司 保护隐私的风险预测方法及装置
CN111177768A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111461309B (zh) * 2020-04-17 2022-05-17 支付宝(杭州)信息技术有限公司 实现隐私保护的更新强化学习系统的方法及装置
CN111737755B (zh) * 2020-07-31 2020-11-13 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN112948836B (zh) * 2020-11-16 2022-05-17 支付宝(杭州)信息技术有限公司 保护神经网络模型安全的方法及装置
US11711348B2 (en) 2021-02-22 2023-07-25 Begin Ai Inc. Method for maintaining trust and credibility in a federated learning environment
CN113807538B (zh) * 2021-04-09 2024-02-06 京东科技控股股份有限公司 联邦学习方法、装置、电子设备及存储介质
CN113792337B (zh) * 2021-09-09 2023-08-11 浙江数秦科技有限公司 一种基于隐私计算的资质审核系统
CN113792338A (zh) * 2021-09-09 2021-12-14 浙江数秦科技有限公司 一种基于神经网络模型的安全多方计算方法
CN115550071B (zh) * 2022-11-29 2023-04-07 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、存储介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325584A (zh) * 2018-08-10 2019-02-12 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110008696A (zh) * 2019-03-29 2019-07-12 武汉大学 一种面向深度联邦学习的用户数据重建攻击方法
US20190220733A1 (en) * 2018-01-17 2019-07-18 Unlearn.AI, Inc. Systems and Methods for Modeling Probability Distributions
CN110751291A (zh) * 2019-10-29 2020-02-04 支付宝(杭州)信息技术有限公司 实现安全防御的多方联合训练神经网络的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9241069B2 (en) * 2014-01-02 2016-01-19 Avaya Inc. Emergency greeting override by system administrator or routing to contact center
CN109388661B (zh) * 2017-08-02 2020-04-21 创新先进技术有限公司 一种基于共享数据的模型训练方法及装置
CN108446765A (zh) * 2018-02-11 2018-08-24 浙江工业大学 面向深度学习对抗性攻击的多模型协同防御方法
CN109507655B (zh) * 2018-12-11 2022-09-02 西北工业大学 基于导向重构与范数约束dbn的sar目标识别算法
CN110288094B (zh) * 2019-06-10 2020-12-18 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法及装置
CN110334808A (zh) * 2019-06-12 2019-10-15 武汉大学 一种基于对抗样本训练的对抗攻击防御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190220733A1 (en) * 2018-01-17 2019-07-18 Unlearn.AI, Inc. Systems and Methods for Modeling Probability Distributions
CN109325584A (zh) * 2018-08-10 2019-02-12 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110008696A (zh) * 2019-03-29 2019-07-12 武汉大学 一种面向深度联邦学习的用户数据重建攻击方法
CN110751291A (zh) * 2019-10-29 2020-02-04 支付宝(杭州)信息技术有限公司 实现安全防御的多方联合训练神经网络的方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500071A (zh) * 2022-02-10 2022-05-13 江苏大学 一种针对目标网站动态增长的自适应指纹攻击方法和系统
CN114500071B (zh) * 2022-02-10 2024-04-16 江苏大学 一种针对目标网站动态增长的自适应指纹攻击方法和系统
CN116092683A (zh) * 2023-04-12 2023-05-09 深圳达实旗云健康科技有限公司 一种原始数据不出域的跨医疗机构疾病预测方法
CN116092683B (zh) * 2023-04-12 2023-06-23 深圳达实旗云健康科技有限公司 一种原始数据不出域的跨医疗机构疾病预测方法
CN116432039A (zh) * 2023-06-13 2023-07-14 支付宝(杭州)信息技术有限公司 协同训练方法及装置、业务预测方法及装置
CN116432039B (zh) * 2023-06-13 2023-09-05 支付宝(杭州)信息技术有限公司 协同训练方法及装置、业务预测方法及装置

Also Published As

Publication number Publication date
CN110751291B (zh) 2021-02-12
CN110751291A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
WO2021082633A1 (zh) 实现安全防御的多方联合训练神经网络的方法及装置
Kang et al. Fedcvt: Semi-supervised vertical federated learning with cross-view training
Zhu et al. Empirical studies of institutional federated learning for natural language processing
Zheng et al. Privacy-preserving image denoising from external cloud databases
US20160020904A1 (en) Method and system for privacy-preserving recommendation based on matrix factorization and ridge regression
Zhao et al. Fedinv: Byzantine-robust federated learning by inversing local model updates
CN113159329B (zh) 模型训练方法、装置、设备及存储介质
Yuan et al. Interaction-level membership inference attack against federated recommender systems
Liu et al. Secure multi-label data classification in cloud by additionally homomorphic encryption
Niu et al. Toward verifiable and privacy preserving machine learning prediction
US20220197994A1 (en) Neural network confidentiality
Sayyad Privacy preserving deep learning using secure multiparty computation
Chen et al. A comprehensive analysis of information leakage in deep transfer learning
Kadry et al. Intrusion detection model using optimized quantum neural network and elliptical curve cryptography for data security
Ye et al. Feature reconstruction attacks and countermeasures of DNN training in vertical federated learning
Zhang et al. Teeslice: slicing dnn models for secure and efficient deployment
Chen et al. Mp-clf: An effective model-preserving collaborative deep learning framework for mitigating data leakage under the gan
Tirumala et al. Transpositional neurocryptography using deep learning
CN116388954A (zh) 通用密态数据安全计算方法
Wang et al. Variance of the gradient also matters: Privacy leakage from gradients
Boura et al. High-precision privacy-preserving real-valued function evaluation
Dong et al. Mind your heart: Stealthy backdoor attack on dynamic deep neural network in edge computing
Mor et al. Optimal strategies against generative attacks
Niu et al. Federated collaborative filtering recommendation based on semi-homomorphic encryption
Ma et al. VerifyTL: Secure and verifiable collaborative transfer learning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20883152

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20883152

Country of ref document: EP

Kind code of ref document: A1