WO2021004551A1 - 纵向联邦学习***优化方法、装置、设备及可读存储介质 - Google Patents
纵向联邦学习***优化方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- WO2021004551A1 WO2021004551A1 PCT/CN2020/107332 CN2020107332W WO2021004551A1 WO 2021004551 A1 WO2021004551 A1 WO 2021004551A1 CN 2020107332 W CN2020107332 W CN 2020107332W WO 2021004551 A1 WO2021004551 A1 WO 2021004551A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- data
- output
- gradient information
- sample data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
Definitions
- This application relates to the field of machine learning technology, and in particular to a method, device, equipment and readable storage medium for optimizing a longitudinal federated learning system.
- Longitudinal federated learning is to take out the part of users and data with the same participant users but different user data characteristics to jointly train the machine learning model when the data characteristics of the participants are small and the users overlap more.
- participant A is a bank and participant B is an e-commerce platform.
- Participants A and B have more of the same users in the same area, but A and B have different businesses, and the recorded user data characteristics are different.
- the user data characteristics recorded by A and B may be complementary.
- vertical federated learning can be used to help A and B build a joint machine learning prediction model to help A and B provide better services to their customers.
- participant A needs to cooperate with participant B to use the model to make predictions.
- participant A has data features X3, X4, and X5
- participant B has data features X1 and X2.
- participant A needs to predict a new customer, because participant A does not have all the data features, that is Without the data of the customer under the data features X1 and X2, then participant A needs to communicate with participant B to inquire whether participant B also has the customer, if participant B does not have customer data, then participant A It is impossible to predict the customer. Even if participant B has the customer's data, participant A and B need to collaborate to predict the customer.
- the main purpose of this application is to provide a vertical federated learning system optimization method, device, equipment and readable storage medium, which aims to realize that participants of vertical federated learning use the model trained through vertical federated learning without other participants
- the model can also be used independently.
- this application provides a method for optimizing a longitudinal federated learning system.
- the method for optimizing a longitudinal federated learning system is applied to a first device, and the first device is in communication connection with a second device, and the longitudinal federated learning system is optimized
- the method includes the following steps:
- the first sample data and the second device are used to train in cooperation to obtain an interpolation model, wherein the interpolation model is used to input data belonging to the corresponding data feature of the first device, and output data belonging to the second device Data corresponding to data characteristics.
- this application also provides an optimization device for a vertical federated learning system.
- the device for optimizing a vertical federated learning system is deployed on a first device, and the first device is communicatively connected with a second device.
- the vertical federated learning system Optimization devices include:
- the alignment module is configured to perform sample alignment with the second device to obtain first sample data of the first device, wherein the first sample data and the second sample data have different data characteristics, and the second The sample data is obtained by performing sample alignment between the second device and the first device;
- the training module is configured to use the first sample data and the second device to cooperate in training to obtain an interpolation model, wherein the interpolation model is used to input data belonging to the corresponding data feature of the first device, and output belonging to The second device corresponds to the predicted data of the data feature.
- this application also provides an optimization device for a longitudinal federated learning system.
- the device for optimizing a longitudinal federated learning system includes a memory, a processor, and a longitudinal federated learning system that is stored in the memory and can run on the processor.
- a federated learning system optimization program which implements the steps of the vertical federated learning system optimization method as described above when the longitudinal federated learning system optimization program is executed by the processor.
- this application also proposes a computer-readable storage medium with a longitudinal federated learning system optimization program stored on the computer-readable storage medium, which is implemented when the longitudinal federated learning system optimization program is executed by a processor.
- the first device aligns samples with the second device and uses the aligned sample data for collaborative training to obtain an interpolation model that can complement the missing data features of the first device relative to the second device, so that the first device
- the device uses the machine learning model trained with the data characteristics of the first device and the second device, even if there is no data of the second device, it can independently use the interpolation model locally to predict the corresponding data characteristics of the second device Data, and then use the machine learning model to complete the prediction through the completed data, thereby expanding the application range of vertical federated learning, avoiding the first device cannot use the vertical federated learning in the scenario where the second device cannot provide data for the first device Machine learning model.
- Figure 1 is a schematic structural diagram of a hardware operating environment involved in a solution of an embodiment of the present application
- FIG. 2 is a schematic flowchart of a first embodiment of a method for optimizing a vertical federated learning system according to this application;
- FIG. 3 is a schematic diagram of sample data involved in an embodiment of this application.
- FIG. 4 is a schematic diagram of a model cutting method involved in an embodiment of the application.
- FIG. 5 is a schematic diagram of a first device independently training a machine learning model according to an embodiment of the application
- FIG. 6 is a schematic diagram of a flow of a first device and a second device to cooperatively train an interpolation model, and a first device to independently train a machine learning model according to an embodiment of this application;
- FIG. 7 is a schematic diagram of a first device and a second device involved in an embodiment of this application in cooperative training of an interpolation model in their respective TEE module environments;
- FIG. 8 is a schematic diagram of a first device and a second device cooperatively training an interpolation model and a machine learning model related to an embodiment of this application;
- Fig. 9 is a functional schematic block diagram of a preferred embodiment of an optimization device for a vertical federated learning system according to this application.
- FIG. 1 is a schematic diagram of the device structure of the hardware operating environment involved in the solution of the embodiment of the present application.
- optimization device of the longitudinal federated learning system in the embodiment of the present application may be a smart phone, a personal computer, a server, and other devices, which are not specifically limited here.
- the optimization device of the vertical federated learning system may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002.
- the communication bus 1002 is used to implement connection and communication between these components.
- the user interface 1003 may include a display screen (Display) and an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
- the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
- the memory 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as a magnetic disk memory.
- the memory 1005 may also be a storage device independent of the foregoing processor 1001.
- the device structure shown in FIG. 1 does not constitute a limitation on the optimization device of the longitudinal federated learning system, and may include more or less components than shown, or a combination of certain components, or different Component arrangement.
- the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a vertical federated learning system optimization program. It also includes TEE (Trusted Execution Environment, Trusted Execution Environment) module.
- the operating system is a program that manages and controls equipment hardware and software resources, and supports the operation of federal learning privacy data processing programs and other software or programs.
- the TEE is a secure area within the main processor, which runs in an independent environment and runs in parallel with the operating system. It ensures that the confidentiality and integrity of the code and data loaded in the TEE are protected.
- Trusted applications running in TEE can access all the functions of the device's main processor and memory, and hardware isolation protects these components from the user-installed applications running in the main operating system.
- the TEE module can be implemented in many ways, such as Intel-based Software Guard Extensions (SGX), AMD’s Secure Encrypted Virtualization (SEV), ARM’s Trust Zone or Sanctum of MIT.
- the authentication and authentication of the TEE module can be done through a third-party security server. For example, when the TEE uses Intel's SGX, the TEE can be authenticated by the Intel security server, that is, the security of the TEE can be guaranteed.
- the user interface 1003 is mainly used for data communication with the client;
- the network interface 1004 is mainly used for establishing a communication connection with other terminal devices participating in federated learning, such as the first part of the vertical federated learning participant.
- Two devices; and the processor 1001 can be used to call the vertical federated learning system optimization program stored in the memory 1005, and perform the following operations:
- the first sample data and the second device are used to train in cooperation to obtain an interpolation model, wherein the interpolation model is used to input data belonging to the corresponding data feature of the first device, and output data belonging to the second device Data corresponding to data characteristics.
- step of using the first sample data to train in cooperation with the second device to obtain an interpolation model includes:
- the first output is sent to the second device, so that the second device obtains the second output of the preset second partial model according to the first output, and according to the second sample data and the The second output calculates the first loss function and the first gradient information, and updates the parameters of the second partial model according to the gradient information related to the second partial model in the first gradient information;
- the interpolation model is obtained by combining the first partial model and the second partial model.
- the processor 1001 may also be used to call the federal learning privacy data processing program stored in the memory 1005, and Perform the following steps:
- Using the local sample data and the prediction sample data perform local training on a preset machine learning model to be trained to obtain a target machine learning model.
- the first device includes a first TEE module
- the second device includes a second TEE module
- the first output is sent to the second device, so that the second device obtains a second output of a preset second partial model according to the first output, and according to the second sample data and the second output
- the second output calculating the first loss function and the first gradient information, and updating the parameters of the second partial model according to the gradient information related to the second partial model in the first gradient information includes:
- the first encrypted output is sent to the second device, so that the second device can decrypt the first encrypted output in the second TEE module to obtain the first output, according to the first output
- One output obtains the second output of the preset second partial model, and calculates the first loss function and first gradient information according to the second sample data and the second output, and calculates the first loss function and first gradient information according to the first gradient information and the
- the gradient information related to the second partial model updates the parameters of the second partial model, and encrypts the gradient information related to the first partial model in the first gradient information to obtain encrypted gradient information;
- the step of updating the parameters of the first partial model according to the gradient information related to the first partial model in the first gradient information received from the second device includes:
- the processor 1001 may also be used to call a federal learning privacy data processing program stored in the memory 1005, and perform the following steps:
- Preset the machine learning model to be trained with the first sample data and the second output and input to obtain predicted label data
- the step of receiving the second partial model sent by the second device includes:
- the first device includes a TEE module
- the step of using the first sample data to train in cooperation with the second device to obtain an interpolation model includes:
- the second encrypted sample data is decrypted in the TEE module to obtain the second sample data, and the interpolation model to be trained is trained according to the first sample data and the second sample data to obtain the interpolation model.
- the target machine learning model is used to predict the user's purchase intention, and after the step of using the local sample data and the prediction sample data to perform local training on a preset machine learning model to be trained to obtain the target machine learning model
- the processor 1001 may also be used to call the federal learning privacy data processing program stored in the memory 1005, and execute the following steps:
- the first data and the second data are input into the target machine learning model to obtain the purchase intention of the target user.
- the embodiment of this application provides an embodiment of the optimization method of a longitudinal federated learning system. It should be noted that although the logical sequence is shown in the flowchart, in some cases, the sequence shown here can be executed in a different order. Steps out or described.
- the first device and the second device involved in the embodiments of the present application may be participating devices participating in longitudinal federated learning, and the participating devices may be devices such as smart phones, personal computers, and servers.
- FIG. 2 is a schematic flowchart of a first embodiment of a method for optimizing a longitudinal federated learning system according to this application.
- the optimization method of the longitudinal federated learning system includes:
- Step S10 performing sample alignment with the second device to obtain first sample data of the first device, wherein the first sample data and the second sample data have different data characteristics, and the second sample data Obtained by aligning samples between the second device and the first device;
- the following uses the first device and the second device to distinguish the two participating devices, and takes the model required for training and using the first device as an example. Only by swapping the roles of the first device and the second device, you can train and use the model required by the second device, and according to similar principles, it can be applied to scenarios where there are multiple participating devices and the coordination device cooperates with the participating devices .
- the first device and the second device establish a communication connection in advance.
- the local data of the first device and the second device have overlapping parts in the user dimension, and have different parts (may be completely different) in data characteristics.
- the first device and the second device use their respective local data to perform sample alignment. Determine the shared users and different data characteristics of both parties.
- the first device uses the data of the shared user in the local data as the first sample data
- the second device uses the data of the shared user in the local data to have data that is different from the data of the first device.
- the second sample data that is, the users in the finally determined first sample data and the second sample data are the same, and the data characteristics are different.
- the sample alignment method of the first device and the second device can use the existing sample alignment technology.
- Figure 3 is a schematic diagram of sample data in the first device and the second device.
- the local data of the first device includes 3 users ⁇ U1, U2, U3 ⁇ , and the data features include ⁇ X1, X2, X3 ⁇ , the second device
- the local data includes 3 users ⁇ U1, U2, U4 ⁇ , and the data features include ⁇ X4, X5 ⁇ .
- the first sample data determined by the first device is the data of users U1 and U2 under data features X1, X2, and X3
- the second sample data determined by the second device is the data of users U1 and U2 under data features X4 and Data under X5.
- Step S20 using the first sample data and the second device to train in cooperation to obtain an interpolation model, wherein the interpolation model is used to input data belonging to the corresponding data feature of the first device, and output belonging to the The second device corresponds to the data of the data feature.
- the first device uses the first sample data to train in cooperation with the second device to obtain an imputation model.
- the interpolation model is used to complement the missing data characteristics of the first device relative to the second device.
- the interpolation model is used to complement the data of the users U1 and U2 under the data features X4 and X5 in the first sample data of the first device.
- the interpolation model can be used to input data belonging to the corresponding data feature of the first device, and output data belonging to the corresponding data feature of the second device, that is, input the user's data in the first sample data into the interpolation model, and output Close to the user's data in the second sample data, such as inputting user U1's data under data features X1, X2, and X3, the output of the interpolation model is close to the data of user U1 under data features X4 and X5 in the second sample data The data under the data features X4 and X5 of the missing user U1 for the first device.
- the interpolation model can adopt model structures such as Variational Autoencoder, Generative Adversarial Network, Pixel-RNN, Pixel-CNN or Restricted Boltzmann Machine (Restricted Boltzmann Machine).
- the device and the second device can use a split learning method to collaboratively train the interpolation model.
- step S20 includes:
- Step S201 Input the first sample data into a first partial model preset in the first device to obtain a first output;
- the structure of the interpolation model to be trained can be set in advance, the input feature of the interpolation model to be trained can be set as the data feature corresponding to the first device, the output feature can be set as the data feature corresponding to the second device, and the interpolation model to be trained
- the model is cut into two parts, the first part model and the second part model.
- the first part of the model is preset in the first device, and the second part of the model is preset in the second device.
- the interpolation model to be trained is a neural network model that includes multiple levels, there are two ways to cut the interpolation model to be trained; the first is to select the neural network model Two layers, cut between the two layers.
- the front part of the neural network model is used as the first part of the model, and the latter part is used as the second part of the model.
- These two layers are called slice layers; the second is to select the neural network model.
- Two layers add a layer between the two layers, the input of this layer is the output of the previous layer of the two layers, and the output is the input of the latter of the two layers, that is, the previous layer and the added layer
- the layers are directly connected.
- the neural network model is cut from the previous layer and the added layer.
- the front part is used as the first part model, and the latter part is used as the second part model. This layer is called cut layering.
- the second cutting method has fewer connections between the first part of the model and the second part of the model, thereby reducing the number of connections between the first device and the second device.
- the amount of data that needs to be transmitted between the first device and the second device can be selected according to specific conditions such as the dimension of the data characteristics of the first device and the second device, and the structural complexity of the interpolation model to be trained.
- the first device inputs the first sample data into the first partial model of the first device, the first partial model outputs the first output, and the first output is the output of the last layer of the first partial model.
- Step S202 Send the first output to the second device, so that the second device can obtain a second output of a preset second partial model according to the first output, and according to the second sample data and The second output calculates a first loss function and first gradient information, and updates the parameters of the second partial model according to gradient information related to the second partial model in the first gradient information;
- the first device sends the first output to the second device.
- the first device will multiply the first output according to the connection relationship between the cut layers by the corresponding connection weight to convert the first output Transform into the input of the first layer of the second part of the model, and send the transformed result to the second device for the second device to input the transformed result into the first layer of the second part of the model, and the second part of the model outputs the second Output;
- the first device directly sends the first output to the second device, and after receiving the first output, the second device directly inputs the first output into the first In the first layer of the two-part model, the second part of the model outputs the second output.
- the second device calculates the first loss function and the first gradient information according to the second sample data and the second output.
- the first loss function is the loss function of the interpolation model to be trained
- the first gradient information may include gradient information related to the second partial model, such as gradient information of the first loss function to each parameter of the second partial model, It may also include gradient information related to the first partial model, such as gradient information of the input variable of the first loss function to the second partial model.
- the second device can detect whether a preset stop condition is met.
- the preset stop condition can be a preset stop condition, such as stopping when the first loss function is detected to converge, or stopping when the number of iterative training reaches the maximum number, or iterative training Stop when the time reaches the maximum training time.
- the second device may detect that the loss value of the first loss function is less than a preset value, then determine that the first loss function converges, and if it is not less than the preset value, determine that the first loss function has not converged.
- the second device updates the parameters in the second partial model according to the gradient information related to the second partial model in the first gradient information.
- the second device may send gradient information related to the first partial model in the first gradient information to the first device, or may send all the first gradient information to the first device.
- Step S203 Update the parameters of the first partial model according to the gradient information related to the first partial model in the first gradient information received from the second device, and iteratively train until it is detected that a preset stopping condition is met, Receiving the second partial model sent by the second device;
- the first device receives the first gradient information from the second device, or receives the gradient information related to the first partial model in the first gradient information.
- the first device updates the parameters of the first part model according to the gradient information related to the first part model, such as deriving the output variables of the first loss function to the first part model according to the gradient information of the first loss function to the input variables of the second part model Then, the gradient information of the first loss function to each parameter of the first part of the model is derived, and each parameter is updated according to the gradient information corresponding to the parameter.
- the first device continues to use the first sample data to input the first part of the model to obtain the first output, and sends the first output to the second device.
- the second device calculates the first loss function and gradient information, and loops Until it is detected that the preset stopping condition is met, the training of the interpolation model to be trained is stopped, and the current parameters are used as the final parameters of the first part model and the second part model.
- the second device sends the second partial model with the final parameters to the first device. It should be noted that the second device can detect whether the preset stop condition is met, or the first device can detect whether the preset stop condition is met. If the first device detects whether the preset stop condition is met, the second device can The calculation result of the first loss function is sent to the first device, and the first device detects whether the first loss function converges, or the second device sends the result of detecting whether the first loss function converges to the first device.
- Step S204 Combine the first partial model and the second partial model to obtain the interpolation model.
- the first device receives the second partial model that determines the final parameters sent by the second device, and combines the second partial model with the first partial model that determines the final parameters to obtain a trained interpolation model.
- the combination method may correspond to the cutting method.
- the first cutting method is used, the first part of the training model and the second part of the model are directly joined.
- the second cutting method is used, the second part of the model After removing the first layer, join the first part of the model.
- the first device aligns samples with the second device and uses the aligned sample data for collaborative training to obtain an interpolation model that can complement the missing data features of the first device relative to the second device, so that
- the first device uses the machine learning model trained with the data characteristics of the first device and the second device, even if it does not have the data of the second device, it can independently use the interpolation model locally to predict the corresponding data belonging to the second device Characteristic data, and then use the machine learning model to complete the prediction through the completed data, thereby expanding the application range of vertical federation learning, and avoiding the first device to be unable to use the vertical federation when the second device cannot provide data for the first device The learned machine learning model.
- a second embodiment of the method for optimizing a longitudinal federated learning system of the present application is proposed.
- the method further includes:
- Step S205 Input local sample data belonging to the data feature corresponding to the first device into the interpolation model to obtain predicted sample data belonging to the data feature corresponding to the second device;
- the first device trains with the second device to obtain the interpolation model, it can independently train the machine learning model whose input features include the data features of the first device and the second device. Specifically, the first device locally stores local sample data (which may include data of multiple users) belonging to the corresponding data feature of the first device. It should be noted that the local sample data may include user data that has not been used in the training interpolation model, that is, the second device may not have the user data.
- the first device inputs the local sample data into the interpolation model to obtain predicted sample data belonging to the corresponding data characteristics of the second device. Alternatively, the first device inputs the first sample data into the interpolation model to obtain predicted sample data corresponding to the second sample data and belonging to the corresponding data feature of the second device.
- the first device inputs user U1's data under data features X1, X2, and X3 into the interpolation model, and obtains data under data features X4 and X5 (called prediction sample data), because it is pre-trained interpolation
- the model therefore, the data under the data features X4 and X5 obtained by the interpolation model output is close to the real data of the user U1 under the data features X4 and X5.
- Step S206 using the local sample data and the prediction sample data to perform local training on a preset machine learning model to be trained to obtain a target machine learning model.
- the first device uses local sample data and prediction sample data to perform local training on the preset machine learning model to be trained to obtain the target machine learning model.
- the first device uses the first sample data and prediction sample data to perform local training on a preset machine learning model to be trained to obtain the target machine learning model.
- the machine learning model to be trained may be a machine learning model with specific prediction or classification targets, such as a neural network model.
- the first device combines the data features of the user data in the local sample data with the data features of the user data in the predicted sample data as the input features of the machine learning model to be trained, and iteratively trains the machine learning model to be trained until it detects
- the machine learning model to be trained converges, that is, the target machine learning model is obtained after the training is completed.
- the first device can use the trained target machine learning model to complete the prediction or classification task.
- the second device can share the data corresponding to the data tags with the first device, and the first device uses The data corresponding to the data label undergoes supervised training of the machine learning model to be trained. If there is an untrusted scenario between the first device and the second device, the second device can share the data tag with the first device in an encrypted manner.
- GM A is an interpolation model obtained through collaborative training of the first device and the second device.
- the first device inputs the first sample data X A into GM A and M A , and uses the interpolation model to locally compare the machine learning model M A training the first sample data input GM A and X A M A.
- the first device uses the interpolation model trained in cooperation with the second device to complement the missing data features of the first device, so that the first device can be alone even without the help of the second device.
- Local training obtains the target machine learning model, thereby expanding the application scenarios of longitudinal federated learning.
- the target machine learning model is used to predict the user's purchase intention, and after the step S206, the method further includes:
- Step S207 Input the first data of the target user into the interpolation model to obtain second data, wherein the data characteristics of the first data include user identity characteristics, and the data characteristics of the second data include user purchase characteristics;
- the target machine learning model can be a machine learning model used to predict the user's purchase intention, that is, the output label of the target machine learning model can be the purchase intention, for example, the output result is 0 or 1, 1 means the user will buy, 0 means the user Will not buy.
- the first device can be a device deployed with a banking institution
- the second device can be a device deployed with an e-commerce institution. Due to different services, the data characteristics of user data in the first device and the second device are different.
- the data characteristics of the user data may include user identity characteristics, such as age, deposit, monthly salary, etc.
- the data characteristics of the user data in the second device may include user purchase characteristics, such as the number of purchases, purchase preferences, and so on.
- the first device and the second device cooperate in advance to obtain an interpolation model for predicting user purchase characteristic data based on user identity characteristic data.
- the first device After the first device has trained the target machine learning model, it can independently use the interpolation model and the target machine learning model to predict the purchase intention of the target user in a scenario where the second device does not provide data on the user's purchase characteristics.
- the first device may input the first data of the target user into the interpolation model, and the interpolation model outputs the second data.
- the first data is the data of the target user recorded by the first device, including user identity characteristics
- the second data is the predicted purchase characteristic data of the target user.
- Step S208 Input the first data and the second data into the target machine learning model to obtain the purchase intention of the target user.
- the first device After obtaining the second data, the first device inputs the first data and the second data into the target machine learning model to obtain the purchase intention of the target user. Since the second data is predicted by the pre-trained interpolation model and is close to the user's real data, the first data and the second data are used to input the target machine learning model, and the predicted target user's purchase intention error is small.
- target machine learning model can also be used for other application scenarios besides purchase intention prediction, such as performance level prediction, paper value evaluation, etc.
- purchase intention prediction such as performance level prediction, paper value evaluation, etc.
- the embodiment of the present application does not limit it here.
- Fig. 6 is a schematic flow diagram of a first device and a second device to train an interpolation model in cooperation, and the first device independently trains a machine learning model.
- the interpolation model is obtained through collaborative training of the first device and the second device, and when the target machine learning model is used, the interpolation model is used to complement the missing data features of the first device, so that the first device is not
- the target machine learning model can also be used to complete the prediction function, thereby expanding the application range of vertical federated learning.
- the first device includes a first TEE module
- the second device includes a second TEE module
- the step S202 includes:
- Step S2021 encrypt the first output to obtain a first encrypted output
- the first device and the second device can each have a TEE module, and the private data is processed in the TEE module, and the privacy is outside the TEE module.
- the data is encrypted, so that the other party's private data cannot be obtained.
- the first device may encrypt the first output to obtain the first encrypted output, and the encryption method is not limited in this embodiment. It should be noted that since the first output is obtained based on the local data of the first device and is visible in the first device, it can be encrypted in the first TEE module or in the second TEE module. It is to ensure that the second device cannot obtain the original first output after sending to the second device, so as to ensure that the data information of the first device will not be leaked to the second device in a scenario where the first device and the second device are not trusted .
- Step S2022 Send the first encrypted output to the second device, so that the second device decrypts the first encrypted output in the second TEE module to obtain the first output, according to The first output obtains the second output of the preset second partial model, and calculates a first loss function and first gradient information according to the second sample data and the second output, and according to the first gradient information
- the gradient information related to the second partial model updates the parameters of the second partial model, and the gradient information related to the first partial model in the first gradient information is encrypted to obtain encrypted gradient information;
- the first device outputs the first encryption to the second device.
- the second device decrypts the first encrypted output in the second TEE module to obtain the first output.
- the decryption method in the second TEE module of the second device corresponds to the encryption method in the first TEE module of the first device. If the first TEE module uses the public key to encrypt the first output, then The private key corresponding to the public key is used for decryption in the second TEE module.
- the second device After the second device decrypts the first output in the second TEE module, since the first output cannot be exposed to the part outside the TEE module of the second device, the second device continues in the TEE module in a similar manner to step S202, Obtain the first loss function and the first gradient information, update the parameters of the second partial model, and encrypt the gradient information related to the first partial model in the first gradient information to obtain encrypted gradient information.
- the second device After obtaining the encrypted gradient information, the second device sends the encrypted gradient information to the first device. Since the first output, the first loss function, and the first gradient information are obtained on the basis of the data in the first device, the original first output, first loss function, and first output are calculated in the TEE module in the second device. A gradient information is processed, and outside the TEE module of the second device, these data are encrypted, so that the second device cannot obtain the private data of the first device.
- the step of updating the parameters of the first partial model according to the gradient information related to the first partial model in the first gradient information received from the second device includes:
- Step S2031 Receive the encrypted gradient information sent by the second device, and decrypt the encrypted gradient information in the first TEE module to obtain information related to the first partial model in the first gradient information
- the gradient information updates the parameters of the first partial model according to the gradient information related to the first partial model.
- the first device After the first device receives the encrypted gradient information sent by the second device, since the encrypted gradient information is obtained on the basis of the data of the second device, in order to ensure that the data of the second device does not leak to the first device, the first device The device decrypts the encrypted gradient information in the first TEE module to obtain gradient information related to the first partial model in the original first gradient information.
- the method of decrypting data in the first TEE module corresponds to the method of encrypting data in the second TEE module.
- the first device After obtaining the gradient information related to the first partial model in the first gradient information, the first device updates the parameters of the first partial model according to the gradient information related to the first partial model.
- the first device After updating the parameters of the first part of the model, the first device continues to use the first sample data to input the first part of the model to obtain the first output, and the first output is encrypted and sent to the second device.
- the second device calculates the first output in the TEE module. A loss function and gradient information, loop until it is detected that the preset stop condition is met, stop the training of the interpolation model to be trained, and use the current parameters as the final parameters of the first part model and the second part model.
- the second device sends the second partial model (encryptable) with the final parameters determined to the first device.
- the first device obtains an interpolation model according to the combination of the first partial model and the second partial model. Specifically, the process is similar to the foregoing step S204, which is not described in detail here.
- FIG. 6 it is a schematic diagram of a first device and a second device cooperating to train an interpolation model in their own TEE module environment.
- the first device inputs the first sample data X A into the interpolation in the first TEE module.
- the first part of the model GM a -Part1 GM a model of the front and rear outputs the encrypted first decryption result obtained in accordance with a second transmission to the second device, the second device decrypts the first TEE output in the second module, the The second output X B 'of the partial model GM A -Part2 and calculate the gradient information.
- the gradient information is encrypted, it is propagated backward to the first device.
- the first device updates the parameters according to the gradient information, and iteratively trains until the preset stop is met the condition, GM A -Part2 second device transmits to the first device, the first device will be a combination of GM A GM A -Part2 -Part1 obtained and interpolated trained model GM A.
- the first device and the second device process the original data in the TEE module, and only the encrypted data can be obtained outside the TEE module. It is ensured that when the first device and the second device do not trust each other, private data will not be leaked to each other, thereby ensuring data security.
- a fourth embodiment of the optimization method for a vertical federated learning system of the present application is proposed.
- the fourth embodiment of the method for optimizing a vertical federated learning system of the present application after the step S202 ,Also includes:
- Step A10 receiving the second output and the first loss function sent by the second device
- the first device and the second device may cooperate to train the machine learning model while cooperating to train the interpolation model.
- the second device obtains the second output, and calculates the first loss function and the first gradient information.
- the device sends the second output, the first loss function, and the second gradient information to the first device.
- Step A20 preset the machine learning model to be trained with the first sample data and the second output input to obtain predicted label data
- the machine learning model to be trained is preset in the first device.
- the first device inputs the first sample data and the second output into the machine learning model to be trained, and the machine learning model to be trained outputs predicted label data.
- Step A30 Calculate the second loss function and second gradient information of the machine learning model to be trained based on the predicted label data and the prestored local actual label data;
- the first device calculates the second loss function and second gradient information of the machine learning model to be trained based on the predicted label data and the prestored local actual label data.
- the local actual tag data pre-stored in the first device can be the tag data recorded locally by the first device, or the second device can share the locally recorded tag data with the first device, and the first device is stored locally .
- step S203 The iterative training in step S203 until it is detected that a preset stopping condition is met, the step of receiving the second partial model sent by the second device includes:
- Step S2032 Update the parameters of the machine learning model to be trained according to the second gradient information, and iteratively train to minimize the fusion loss function until it is detected that a preset stopping condition is met to obtain the target machine learning model, and receive the first The second partial model sent by the second device, wherein the first device fuses the first loss function and the second loss function to obtain the fused loss function.
- the first device fuses the first loss function and the second loss function to obtain the fusion loss function.
- the fusion method may be to calculate the weighted sum of the first loss function and the second loss function as the fusion loss function.
- the first device judges whether the preset stopping condition is met.
- the preset stopping condition can be a preset stopping condition, such as stopping when the convergence loss function is detected, or stopping when the number of iterative training reaches the maximum number, or the time of iterative training reaches Stop at the maximum training time. Specifically, judging whether the fusion loss function has converged can be based on the calculated loss value of the fusion loss function.
- the first device detects that the preset stopping condition is not met, it can update the parameters of the machine learning model to be trained according to the second gradient information, and update the parameters of the first partial model according to the gradient information related to the first partial model in the first gradient information.
- the first device After updating the parameters of the first part model and the machine learning model to be trained, the first device continues to use the first sample data to input the first part model to obtain the first output, and sends the first output to the second device, and the second device calculates the first loss Function and gradient information, iterative training to achieve the purpose of minimizing the fusion loss function, loop until the detection meets the preset stopping conditions, stop training the interpolation model to be trained and the machine learning model to be trained, and use the current parameters as the first part of the model
- the second device sends the second partial model with the final parameters determined to the first device, and the first device combines the first partial model and the second partial model to obtain the trained interpolation model.
- the TEE module can be set in the first device and the second device, and the original The private data is processed, and the private data outside the TEE module is encrypted to ensure that the private data of the first device and the second device will not be leaked to each other.
- FIG. 7 it is a schematic diagram of the first device and the second device to train the interpolation model and the machine learning model in cooperation.
- the first device inputs the first sample data X A into the first part model GM A of the interpolation model GM A- In Part1, the first output is forwarded to the second device, and the second device obtains the second output X B 'of the second part model GM A -Part2 according to the first output, and calculates the gradient information and loss function.
- the output is forwardly transmitted to the first device, and the gradient information and the loss function are transmitted backward to the first device.
- Information updating apparatus according to the first gradient GM A -Part1 parameters, and a second input to be output as the M A training machine learning model of training iterations until convergence fusion loss function, i.e. to give trained machine learning models M A.
- the second device sends GM A -Part2 to the first device, the first device will be a combination of GM A GM A -Part2 -Part1 obtained and interpolated trained model GM A.
- the first device and the second device cooperate to train the interpolation model while simultaneously training the machine learning model, which improves the training efficiency of the machine learning model.
- the interpolation model complements the missing data features, so that the first device can use the trained machine learning model to complete the prediction task without the cooperation of the second device, thereby expanding the application range of longitudinal federated learning.
- the fifth embodiment of the optimization method of the vertical federated learning system of this application is proposed.
- the The first device includes a TEE module
- the step S20 includes:
- Step B10 receiving second encrypted sample data sent by the second device, where the second device encrypts the second sample data to obtain the second encrypted sample data;
- a different method of cooperative training of the interpolation model is proposed from the first embodiment.
- a TEE module can be set in the first device, and the first device processes private data in the TEE module, and all private data outside the TEE module is encrypted , So the private data of the second device cannot be obtained.
- the second device After the second device performs sample alignment with the first device to obtain the second sample data, it encrypts the second sample data to obtain the second encrypted data, and sends the second encrypted data to the first device.
- Step B20 decrypt the second encrypted sample data in the TEE module to obtain the second sample data, and train the interpolation model to be trained according to the first sample data and the second sample data Get the interpolation model.
- the first device decrypts the second encrypted sample data in the TEE module to obtain the second sample data.
- the method of decrypting data in the TEE module corresponds to the method of encrypting data by the second device.
- the first device trains the to-be-trained interpolation model in the TEE module according to the first sample data and the second sample data to obtain the interpolation model.
- the first device independently trains the interpolation model in the same way as the traditional independent training model. , There are no specific restrictions here.
- the second device may independently train the machine learning model locally by training the interpolation model in the TEE module; the first device may also train the machine learning model while training the interpolation model in the TEE module.
- the second device by setting the TEE module in the first device, the second device encrypts the second sample data and sends it to the first device.
- the first device decrypts the second sample data in the TEE module to make the second device Without leaking private data to the first device, the first device trains the interpolation model alone to avoid the first device being unable to train and use the machine when the second device cannot cooperate with the first device to train the interpolation model Learning model, thereby expanding the application range of longitudinal federated learning.
- an embodiment of the present application also proposes a vertical federated learning system optimization device.
- the vertical federated learning system optimization device is deployed on a first device, and the first device is in communication connection with the second device.
- the The optimization devices of the longitudinal federated learning system include:
- the alignment module 10 is configured to perform sample alignment with the second device to obtain first sample data of the first device, wherein the first sample data and the second sample data have different data characteristics, and the first sample data
- the second sample data is obtained by performing sample alignment between the second device and the first device;
- the training module 20 is configured to use the first sample data to cooperate with the second device to train to obtain an interpolation model, where the interpolation model is used to input data belonging to the corresponding data feature of the first device and output Prediction data belonging to the corresponding data feature of the second device.
- training module 20 includes:
- a first input unit configured to input the first sample data into a first partial model preset in the first device to obtain a first output
- the sending unit is configured to send the first output to the second device, so that the second device obtains the second output of the preset second partial model according to the first output, and according to the second output Calculating a first loss function and first gradient information from the sample data and the second output, and updating the parameters of the second partial model according to the gradient information related to the second partial model in the first gradient information;
- the first receiving unit is configured to update the parameters of the first partial model according to the gradient information related to the first partial model in the first gradient information received from the second device, and iteratively train until it is detected that the preset is satisfied Receiving the second partial model sent by the second device when the condition is stopped;
- the combination unit is used to combine the first partial model and the second partial model to obtain the interpolation model.
- training module 20 further includes:
- a second input unit configured to input local sample data belonging to the data feature corresponding to the first device into the interpolation model to obtain predicted sample data belonging to the data feature corresponding to the second device;
- the first training unit is configured to use the local sample data and the prediction sample data to perform local training on a preset machine learning model to be trained to obtain a target machine learning model.
- the first device includes a first trusted execution environment TEE module
- the second device includes a second TEE module
- the sending unit includes:
- An encryption subunit for encrypting the first output to obtain a first encrypted output
- the sending subunit is configured to send the first encrypted output to the second device, so that the second device can decrypt the first encrypted output in the second TEE module to obtain the first Output, obtain the second output of the preset second partial model according to the first output, and calculate the first loss function and first gradient information according to the second sample data and the second output, and according to the first output
- the gradient information related to the second partial model in the gradient information updates the parameters of the second partial model, and the gradient information related to the first partial model in the first gradient information is encrypted to obtain encrypted gradient information;
- the first receiving unit is further configured to receive the encrypted gradient information sent by the second device, and decrypt the encrypted gradient information in the first TEE module to obtain the same value in the first gradient information. According to the gradient information related to the first partial model, the parameters of the first partial model are updated according to the gradient information related to the first partial model.
- training module 20 further includes:
- a second receiving unit configured to receive the second output and the first loss function sent by the second device
- the third input unit is configured to preset the machine learning model to be trained with the first sample data and the second output input to obtain predicted label data;
- a calculation unit configured to calculate the second loss function and second gradient information of the machine learning model to be trained based on the predicted label data and the prestored local actual label data;
- the first receiving unit is further configured to update the parameters of the machine learning model to be trained according to the second gradient information, and iteratively train to minimize the fusion loss function until it is detected that a preset stopping condition is met to obtain the target machine learning model , And receive the second partial model sent by the second device, wherein the first device fuses the first loss function and the second loss function to obtain the fused loss function.
- the first device includes a TEE module
- the training module 20 includes:
- a third receiving unit configured to receive second encrypted sample data sent by the second device, wherein the second device encrypts the second sample data to obtain the second encrypted sample data;
- the second training unit is configured to decrypt the second encrypted sample data in the TEE module to obtain the second sample data, and insert the training data according to the first sample data and the second sample data.
- the complement model is trained to obtain the interpolation model.
- the target machine learning model is used to predict the user's purchase intention
- the longitudinal federated learning system optimization device further includes:
- the input module is configured to input the first data of the target user into the interpolation model to obtain second data, wherein the data characteristics of the first data include user identity characteristics, and the data characteristics of the second data include user purchase characteristics ;
- the prediction module is configured to input the first data and the second data into the target machine learning model to obtain the purchase intention of the target user.
- the expanded content of the specific implementation of the vertical federated learning system optimization device of the present application is basically the same as the foregoing embodiments of the vertical federated learning system optimization method, and will not be repeated here.
- an embodiment of the present application also provides a computer-readable storage medium that stores a vertical federated learning system optimization program on the storage medium, and the vertical federated learning system optimization program is executed by a processor to realize the vertical federation as described below Learn the steps of the system optimization method.
- the method of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. ⁇
- the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, The optical disc) includes several instructions to enable a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the method described in each embodiment of the present application.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种纵向联邦学习***优化方法、装置、设备及可读存储介质,所述方法包括:第一设备与第二设备进行样本对齐得到第一设备的第一样本数据,其中,第一样本数据与第二样本数据的数据特征不同,第二样本数据由第二设备与所述第一设备进行样本对齐得到(S10);采用第一样本数据与第二设备协作训练得到插补模型,其中,插补模型用于输入属于第一设备对应数据特征下的数据、输出属于第二设备对应数据特征下的预测数据(S20)。
Description
优先权信息
本申请要求于2019年9月26日申请的、申请号为201910918262.9、名称为“纵向联邦学习***优化方法、装置、设备及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及机器学习技术领域,尤其涉及一种纵向联邦学习***优化方法、装置、设备及可读存储介质。
随着人工智能的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,使得联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避免数据隐私泄露的问题。
纵向联邦学***台。参与者A和B在同一地区拥有较多相同的用户,但是A与B的业务不同,记录的用户数据特征是不同的。特别地,A和B记录的用户数据特征可能是互补的。在这样的场景下,可以使用纵向联邦学习来帮助A和B构建联合机器学习预测模型,帮助A和B向他们的客户提供更好的服务。
但是,在使用通过纵向联邦学习训练好的模型时,参与者A需要与参与者B合作才能使用模型进行预测。例如,参与者A拥有数据特征X3、X4和X5,参与者B拥有数据特征X1和X2,当参与者A需要对一个新的客户进行预测时,因为参与者A不拥有全部的数据特征,即没有该客户在数据特征X1和X2下的数据,那么参与者A就需要与参与者B进行通信,查询参与者B是否也拥有该客户,如果参与者B还没有客户的数据,那么参与者A就无法对该客户进行预测。即使参与者B有该客户的数据,也需要参与者A与B协作才能对该客户进行预测。
发明内容
本申请的主要目的在于提供一种纵向联邦学习***优化方法、装置、设备及可读存储介质,旨在实现纵向联邦学习的参与者在使用通过纵向联邦学习训练好的模型时,无需其他参与者的配合也能够独立使用模型。
为实现上述目的,本申请提供一种纵向联邦学习***优化方法,所述纵向联邦学习系 统优化方法应用于第一设备,所述第一设备与第二设备通信连接,所述纵向联邦学习***优化方法包括以下步骤:
与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;
采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。
为实现上述目的,本申请还提供一种纵向联邦学习***优化装置,所述纵向联邦学习***优化装置部署于第一设备,所述第一设备与第二设备通信连接,所述纵向联邦学习***优化装置包括:
对齐模块,用于与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;
训练模块,用于采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的预测数据。
为实现上述目的,本申请还提供一种纵向联邦学习***优化设备,所述纵向联邦学习***优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的纵向联邦学习***优化程序,所述纵向联邦学习***优化程序被所述处理器执行时实现如上所述的纵向联邦学习***优化方法的步骤。
此外,为实现上述目的,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有纵向联邦学习***优化程序,所述纵向联邦学习***优化程序被处理器执行时实现如上所述的纵向联邦学习***优化方法的步骤。
本申请中,第一设备通过与第二设备进行样本对齐,采用对齐后的样本数据进行协作训练,得到能够补全第一设备相对于第二设备所缺失数据特征的插补模型,使得第一设备在使用采用第一设备和第二设备的数据特征训练得到的机器学习模型时,即使没有第二设备的数据,也可以独自在本地通过插补模型,预测得到属于第二设备对应数据特征的数据,从而通过补全的数据使用机器学习模型进行完成预测,从而扩大了纵向联邦学习的应用范围,避免在第二设备无法为第一设备提供数据的场景下第一设备无法使用纵向联邦学习得到的机器学习模型。
图1是本申请实施例方案涉及的硬件运行环境的结构示意图;
图2为本申请纵向联邦学习***优化方法第一实施例的流程示意图;
图3为本申请实施例涉及的一种样本数据示意图;
图4为本申请实施例涉及的一种模型切割方式示意图;
图5为本申请实施例涉及的一种第一设备独自训练机器学习模型的示意图;
图6为本申请实施例涉及的一种第一设备与第二设备协作训练插补模型、第一设备独 自训练机器学习模型的流程示意图;
图7为本申请实施例涉及的一种第一设备与第二设备在各自TEE模块环境中协作训练插补模型的示意图;
图8为本申请实施例涉及的一种第一设备与第二设备协作训练插补模型和机器学习模型的示意图;
图9为本申请纵向联邦学习***优化装置较佳实施例的功能示意图模块图。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本申请实施例纵向联邦学习***优化设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
如图1所示,该纵向联邦学习***优化设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对纵向联邦学习***优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及纵向联邦学习***优化程序。还包括TEE(Trusted execution environment,可信执行环境)模块。其中,操作***是管理和控制设备硬件和软件资源的程序,支持联邦学习隐私数据处理程序以及其它软件或程序的运行。TEE是主处理器内的安全区域,运行在一个独立的环境中且与操作***并行运行,它确保TEE中加载的代码和数据的机密性和完整性都得到保护。TEE中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作***中运行的用户安装应用程序的影响。在本实施例中,TEE模块的实现方式可以有多种,如基于Intel的Software Guard Extensions(软件保护扩展,SGX)、AMD的Secure Encrypted Virtualization(安全虚拟化加密,SEV)、ARM的Trust Zone或MIT的Sanctum。对TEE模块的认证和鉴权,可以通过第三方安全服务器来完成。例如,当TEE是使用Intel的SGX时,可以通过Intel的安全服务器对所述TEE进行认证,即保证所述TEE的安全。
在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与参与联邦学习的其他终端设备建立通信连接,如作为纵向联邦学习的参与者的第二设备;而处理器1001可以用于调用存储器1005中存储的纵向联邦学习***优化程序,并执行以下操作:
与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样 本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;
采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。
进一步地,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:
将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;
将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;
根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;
将所述第一部分模型和所述第二部分模型组合得到所述插补模型。
进一步地,所述将所述第一部分模型和所述第二部分模型组合得到所述插补模型的步骤之后,处理器1001还可以用于调用存储器1005中存储的联邦学习隐私数据处理程序,并执行以下步骤:
将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;
采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。
进一步地,所述第一设备中包括第一TEE模块,所述第二设备中包括第二TEE模块,
所述将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数包括:
对所述第一输出进行加密得到第一加密输出;
将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二TEE模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;
所述根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:
接收所述第二设备发送的所述加密梯度信息,并在所述第一TEE模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述 第一部分模型相关的梯度信息更新所述第一部分模型的参数。
进一步地,所述将所述第一输出发送给所述第二设备的步骤之后,处理器1001还可以用于调用存储器1005中存储的联邦学习隐私数据处理程序,并执行以下步骤:
接收所述第二设备发送的所述第二输出和所述第一损失函数;
将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;
根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;
所述迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:
根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。
进一步地,所述第一设备中包括TEE模块,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:
接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;
在所述TEE模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。
进一步地,所述目标机器学习模型用于预测用户的购买意向,所述采用所述本地样本数据和所述预测样本数据对预置待训练机器学习模型进行本地训练得到目标机器学习模型的步骤之后,处理器1001还可以用于调用存储器1005中存储的联邦学习隐私数据处理程序,并执行以下步骤:
将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;
将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。
基于上述的结构,提出纵向联邦学习***优化方法的各个实施例。
本申请实施例提供了纵向联邦学习***优化方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例中涉及的第一设备和第二设备可以是参与纵向联邦学习联邦学习的参与设备,参与设备可以是智能手机、个人计算机和服务器等设备。
参照图2,图2为本申请纵向联邦学习***优化方法第一实施例的流程示意图。在本实施例中,所述纵向联邦学习***优化方法包括:
步骤S10,与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;
需要说明的是,以下以第一设备和第二设备对两个参与设备进行区分,并以训练和使 用第一设备需要的模型为例来进行说明。只需把第一设备和第二设备的角色互换,即可训练和使用第二设备需要的模型,并且可依照类似的原理,适用于有多个参与设备以及协调设备与参与设备配合的场景。
第一设备与第二设备预先建立通信连接。第一设备和第二设备的本地数据在用户维度上有重叠部分,在数据特征上有不相同的部分(可能完全不相同),第一设备与第二设备采用各自的本地数据进行样本对齐,确定双方的共有用户和不同的数据特征,第一设备将本地数据中共有用户的数据作为第一样本数据,第二设备将本地数据中共有用户的数据中与第一设备数据特征不同的数据作为第二样本数据,也即,最终确定的第一样本数据和第二样本数据中用户是相同的,数据特征不相同。第一设备和第二设备进行样本对齐的方式可采用现有的样本对齐技术,若第一设备与第二设备相互之间不信任,则可采用加密的样本对齐技术,在此不进行详细赘述。例如,图3为第一设备和第二设备中的样本数据示意图,第一设备本地数据中包括3个用户{U1,U2,U3},数据特征包括{X1,X2,X3},第二设备本地数据包括3个用户{U1,U2,U4},数据特征包括{X4,X5}。样本对齐后,第一设备确定的第一样本数据是用户U1和U2在数据特征X1、X2和X3下的数据,第二设备确定的第二样本数据是用户U1和U2在数据特征X4和X5下的数据。
步骤S20,采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。
第一设备采用第一样本数据与第二设备协作训练得到插补(imputation)模型。其中,插补模型用于补全第一设备相对于第二设备缺失数据特征的数据。如上述具体例子中,插补模型用于补全第一设备的第一样本数据中用户U1和U2在数据特征X4和X5下的数据。具体地,插补模型可用于输入属于第一设备对应数据特征的数据,输出属于第二设备对应数据特征的数据,也即,将第一样本数据中用户的数据输入插补模型,输出得到接近于第二样本数据中该用户的数据,如输入用户U1在数据特征X1、X2和X3下的数据,插补模型输出与第二样本数据中用户U1在数据特征X4和X5下的数据接近的数据,从而为第一设备补全缺失的用户U1在数据特征X4和X5下的数据。插补模型可采用变分自动编码器(Variational Autoencoder)、生成对抗网络(Generative Adversarial Network)、Pixel-RNN、Pixel-CNN或者受限玻尔兹曼机(Restricted Boltzmann Machine)等模型结构,第一设备和第二设备可采用***学习(Split Learning)的方式进行协作训练插补模型。
进一步地,所述步骤S20包括:
步骤S201,将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;
预先可设置待训练的插补模型的结构,将待训练插补模型的输入特征设置为第一设备对应的数据特征,输出特征设置为第二设备对应的数据特征,并将待训练的插补模型切割为两部分,分别为第一部分模型和第二部分模型。将第一部分模型预置于第一设备中,第二部分模型预置于第二设备中。具体地,如图4所示,当待训练的插补模型是包括多个层次的神经网络模型时,切割待训练的插补模型的方式有两种;第一种是选择神经网络模型中的两层,从两层之间进行切割,将神经网络模型的前面部分作为第一部分模型,后面部分作为第二部分模型,这两层称为切分层;第二种是选择神经网络模型中的两层,在这两 层中间增加一层,该层的输入是这两层中前一层的输出,输出是这两层中后一层的输入,也即,该前一层与增加的该层之间是直连的,将神经网络模型从该前一层与增加的该层之间进行切割,前面部分作为第一部分模型,后面部分作为第二部分模型,将该前一层与增加的该层之间称为切分层;第二种切割方式相比于第一种切割方式,第一部分模型与第二部分模型之间的连接较少,从而减少了第一设备和第二设备之间需要传输的数据量,可根据第一设备和第二设备的数据特征的维数、待训练插补模型的结构复杂度等具体情况,选择采用哪一种切割方式。
第一设备将第一样本数据输入第一设备的第一部分模型中,第一部分模型输出第一输出,第一输出也即第一部分模型的最后一层的输出。
步骤S202,将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;
第一设备将第一输出发送给第二设备。需要说明的是,若按照第一种切割方式对待训练的插补模型进行切割,则第一设备将第一输出按照切分层之间的连接关系乘以对应的连接权重,以将第一输出转化为第二部分模型第一层的输入,将转化后的结果发送给第二设备,供第二设备将转化后的结果输入第二部分模型的第一层,由第二部分模型输出第二输出;若按照第二种切割方式对待训练的插补模型进行切割,则第一设备直接将第一输出发送给第二设备,第二设备接收到第一输出后,直接将第一输出输入第二部分模型的第一层,由第二部分模型输出第二输出。
第二设备根据第一输出得到第二部分模型的第二输出后,根据第二样本数据和第二输出计算第一损失函数和第一梯度信息。其中,第一损失函数是待训练的插补模型的损失函数,第一梯度信息可包括与第二部分模型相关的梯度信息,如第一损失函数对第二部分模型的各个参数的梯度信息,也可包括与第一部分模型相关的梯度信息,如第一损失函数对第二部分模型的输入变量的梯度信息。
第二设备可检测是否满足预设停止条件,预设停止条件可以是预先设置的停止条件,如检测到第一损失函数收敛时停止,或迭代训练的次数达到最大次数时停止,或迭代训练的时间达到最大训练时间时停止。具体地,第二设备可以是检测到第一损失函数的损失值小于预设值,则确定第一损失函数收敛,若不小于预设值,则确定第一损失函数未收敛。当检测到未满足预设停止条件时,第二设备根据第一梯度信息中与第二部分模型相关的梯度信息对第二部分模型中的参数进行更新。第二设备可将第一梯度信息中与第一部分模型相关的梯度信息发送给第一设备,也可以是将第一梯度信息都发送给第一设备。
步骤S203,根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;
第一设备从第二设备接收第一梯度信息,或者是接收第一梯度信息中与第一部分模型相关的梯度新。第一设备根据与第一部分模型相关的梯度信息更新第一部分模型的各个参数,如根据第一损失函数对第二部分模型的输入变量的梯度信息,推导第一损失函数对第一部分模型的输出变量的梯度信息,进而推导第一损失函数对第一部分模型各个参数的梯 度信息,根据参数对应的梯度信息更新各个参数。更新第一部分模型的参数后,第一设备继续采用第一样本数据输入第一部分模型得到第一输出,将第一输出发送给第二设备,第二设备计算第一损失函数和梯度信息,循环直到检测到满足预设停止条件时,停止待训练插补模型的训练,将当前的参数作为第一部分模型和第二部分模型的最终参数。第二设备将确定了最终参数的第二部分模型发送给第一设备。需要说明的是,可以是第二设备检测是否满足预设停止条件,也可以是第一设备检测是否满足预设停止条件,若由第一设备检测是否满足预设停止条件,则第二设备可将第一损失函数的计算结果发送给第一设备,由第一设备检测第一损失函数是否收敛,也可以是第二设备将检测第一损失函数是否收敛的结果发送给第一设备。
步骤S204,将所述第一部分模型和所述第二部分模型组合得到所述插补模型。
第一设备接收第二设备发送的确定了最终参数的第二部分模型,将第二部分模型与确定了最终参数的第一部分模型组合,得到训练完成的插补模型。具体地,组合方式可以与切割方式对应,当采用第一种切割方式时,直接将训练完成的第一部分模型与第二部分模型进行拼接,当采用第二种切割方式时,将第二部分模型的第一层去掉后与第一部分模型拼接。
在本实施例中,第一设备通过与第二设备进行样本对齐,采用对齐后的样本数据进行协作训练,得到能够补全第一设备相对于第二设备所缺失数据特征的插补模型,使得第一设备在使用采用第一设备和第二设备的数据特征训练得到的机器学习模型时,即使没有第二设备的数据,也可以独自在本地通过插补模型,预测得到属于第二设备对应数据特征的数据,从而通过补全的数据使用机器学习模型进行完成预测,从而扩大了纵向联邦学习的应用范围,避免在第二设备无法为第一设备提供数据的场景下第一设备无法使用纵向联邦学习得到的机器学习模型。
进一步地,基于上述第一实施例,提出本申请纵向联邦学习***优化方法第二实施例,在本申请纵向联邦学习***优化方法第二实施例中,所述步骤S204之后,还包括:
步骤S205,将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;
第一设备在与第二设备协作训练得到插补模型后,可独自训练输入特征包括第一设备和第二设备的数据特征的机器学习模型。具体地,第一设备本地存储有属于第一设备对应数据特征的本地样本数据(可包括多个用户的数据)。需要说明的是,本地样本数据中可包括在训练插补模型中没有使用过的用户数据,也即,第二设备中可能没有该用户的数据。第一设备将本地样本数据输入插补模型中,得到属于第二设备对应数据特征的预测样本数据。或者,第一设备将第一样本数据输入插补模型中,得到与所述第二样本数据对应的属于第二设备对应数据特征的预测样本数据。如第一设备将用户U1在数据特征X1、X2和X3下的数据输入插补模型中,得到在数据特征X4和X5下的数据(称为预测样本数据),由于是预先训练好的插补模型,因此,插补模型输出得到的在数据特征X4和X5下的数据,接近该用户U1在数据特征X4和X5下的真实数据。
步骤S206,采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。
第一设备采用本地样本数据和预测样本数据,对预置的待训练机器学习模型进行本地 训练得到目标机器学习模型。或者,第一设备采用所述第一样本数据和预测样本数据,对预置的待训练机器学习模型进行本地训练得到目标机器学习模型。其中,待训练机器学习模型可以是有具体预测或分类目标的机器学习模型,如神经网络模型。具体地,第一设备将本地样本数据中用户数据的数据特征与预测样本数据中用户数据的数据特征组合,作为待训练机器学习模型的输入特征,对待训练机器学习模型进行迭代训练,直到检测到待训练机器学习模型收敛,即训练完成得到目标机器学习模型。第一设备可使用训练得到的目标机器学习模型完成预测或分类任务。
需要说明的是,若待训练机器学习模型是有监督的机器学习模型,且只有第二设备中有数据标签时,第二设备可将数据标签对应的数据共享给第一设备,第一设备采用数据标签对应的数据对待训练机器学习模型进行有监督的训练。若第一设备与第二设备之间是不信任的场景,第二设备可采用加密的方式给第一设备共享数据标签。
如图5所示,为第一设备独自训练机器学习模型的示意图。图中GM
A是第一设备与第二设备协作训练得到的插补模型,第一设备将第一样本数据X
A输入GM
A和M
A,在本地通过插补模型对机器学习模型M
A进行训练,将第一样本数据X
A输入GM
A和M
A。
在本实施例中,第一设备采用与第二设备协作训练得到的插补模型来对第一设备缺失的数据特征进行补全,使得第一设备即使没有第二设备的帮助,也能够独自在本地训练得到目标机器学习模型,从而扩大了纵向联邦学习的应用场景。
进一步地,所述目标机器学习模型用于预测用户的购买意向,所述步骤S206之后,还包括:
步骤S207,将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;
目标机器学习模型可以是用于预测用户的购买意向的机器学习模型,也即,目标机器学习模型的输出标签可以是购买意向,如输出结果为0或1,1表示用户会购买,0表示用户不会购买。第一设备可以是部署与银行机构的设备,第二设备可以是部署与电商机构的设备,由于业务不同,第一设备与第二设备中的用户数据的数据特征不相同,第一设备中用户数据的数据特征可包括用户身份特征,如年龄、存款、月薪等等,第二设备中用户数据的数据特征可包括用户购买特征,如购买次数、购买偏好等等。第一设备与第二设备预先通过协作,训练得到了根据用户身份特征数据预测用户购买特征数据的插补模型。
第一设备在训练得到目标机器学习模型后,在没有第二设备提供用户购买特征方面数据的场景下,可独自采用插补模型和目标机器学习模型来预测目标用户的购买意向。具体地,第一设备可将目标用户的第一数据输入插补模型,插补模型输出第二数据。其中,第一数据即第一设备记录的目标用户的数据,包括用户身份特征,第二数据即预测得到的目标用户的购买特征数据。
步骤S208,将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。
第一设备在得到第二数据后,将第一数据和第二数据输入目标机器学习模型,得到目标用户的购买意向。由于第二数据由预先训练好的插补模型预测得到,接近与用户的真实数据,因此,采用第一数据和第二数据输入目标机器学习模型,预测得到的目标用户的购买意向误差较小。
需要说明的是,目标机器学习模型还可以是用于除购买意向预测以外其他的应用场景,如还可以应用于绩效等级预测、论文价值评价等,本申请实施例在此不做限定。
如图6为一种第一设备与第二设备协作训练插补模型,第一设备独自训练机器学习模型的流程示意图。
在本实施例中,通过第一设备与第二设备协作训练得到插补模型,并在使用目标机器学习模型时,采用插补模型补全第一设备缺失的数据特征,使得第一设备在没有第二设备配合的场景下,也能够使用目标机器学习模型完成预测功能,从而扩展了纵向联邦学习的应用范围。
进一步地,基于上述第一和二实施例,提出本申请纵向联邦学习***优化方法第三实施例,在本申请纵向联邦学习***优化方法第三实施例中,所述第一设备中包括第一TEE模块,所述第二设备中包括第二TEE模块,所述步骤S202包括:
步骤S2021,对所述第一输出进行加密得到第一加密输出;
在本实施例中,为适应第一设备与第二设备互相不信任的场景,第一设备和第二设备中可各自设置TEE模块,在TEE模块中进行隐私数据的处理,在TEE模块外隐私数据均是加密的,从而无法获取对方的隐私数据。具体地,第一设备在得到第一输出后,可对第一输出进行加密得到第一加密输出,加密方式在本实施例中不作限制。需要说明的是,由于第一输出是根据第一设备本地的数据得到的,在第一设备中是可见的,因此可在第一TEE模块中加密,也可在第二TEE模块中加密,加密是为了保证发送给第二设备后,第二设备无法获得原始的第一输出,从而保证在第一设备与第二设备不信任的场景下,第一设备的数据信息不会泄露给第二设备。
步骤S2022,将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二TEE模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;
第一设备将第一加密输出给第二设备。第二设备在接收到第一加密输出后,在第二TEE模块中对第一加密输出进行解密,得到第一输出。需要说明的是,第二设备的第二TEE模块中解密的方式与第一设备的第一TEE模块中加密的方式对应,如第一TEE模块中采用公钥对第一输出进行加密,则第二TEE模块中采用与公钥对应的私钥进行解密。第二设备在第二TEE模块中解密得到第一输出后,由于不能够将第一输出暴露给第二设备TEE模块外的部分,第二设备继续在TEE模块中按照与步骤S202类似的方式,得到第一损失函数和第一梯度信息,并更新第二部分模型的参数,对第一梯度信息中与第一部分模型相关的梯度信息进行加密得到加密梯度信息。第二设备在得到加密梯度信息后,将加密梯度信息发送给第一设备。由于第一输出以及第一损失函数、第一梯度信息是在第一设备中数据的基础上得到的,因此,第二设备中在TEE模块中对原始的第一输出、第一损失函数、第一梯度信息进行处理,而在第二设备的TEE模块外,这些数据是加密的,从而使得第二设备无法获取到第一设备的隐私数据。
所述步骤SS203中的根据从所述第二设备接收的所述第一梯度信息中与所述第一部 分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:
步骤S2031,接收所述第二设备发送的所述加密梯度信息,并在所述第一TEE模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。
第一设备在接收到第二设备发送的加密梯度信息后,由于加密梯度信息是在第二设备的数据基础上得到的,因此,为了保证第二设备的数据***露给第一设备,第一设备在第一TEE模块中对加密梯度信息进行解密,得到原始的第一梯度信息中与第一部分模型相关的梯度信息。第一TEE模块中对数据进行解密的方式,与第二TEE模块中对数据进行加密的方式对应。第一设备在得到第一梯度信息中与第一部分模型相关的梯度信息后,根据该第一部分模型相关的梯度信息对第一部分模型的参数进行更新。
在对第一部分模型的参数进行更新后,第一设备继续采用第一样本数据输入第一部分模型得到第一输出,将第一输出加密发送给第二设备,第二设备在TEE模块中计算第一损失函数和梯度信息,循环直到检测到满足预设停止条件时,停止待训练插补模型的训练,将当前的参数作为第一部分模型和第二部分模型的最终参数。第二设备将确定了最终参数的第二部分模型(可加密)发送给第一设备。第一设备根据第一部分模型和第二部分模型组合得到插补模型。具体地,与上述步骤S204的过程类似,在此不进行详细赘述。
如图6所示,为一种第一设备与第二设备在各自TEE模块环境中协作训练插补模型的示意图,第一设备在第一TEE模块中将第一样本数据X
A输入插补模型GM
A的第一部分模型GM
A-Part1中,将第一输出加密后前向传输给第二设备,第二设备在第二TEE模块中对第一输出进行解密,并根据解密结果得到第二部分模型GM
A-Part2的第二输出X
B’,并计算梯度信息,将梯度信息加密后,后向传播给第一设备,第一设备根据梯度信息进行参数更新,迭代训练直到满足预设停止条件时,第二设备将GM
A-Part2发送给第一设备,第一设备将GM
A-Part1和GM
A-Part2组合得到训练好的插补模型GM
A。
在本实施例中,通过在第一设备和第二设备中分别设置TEE模块,第一设备与第二设备在TEE模块中对原始数据进行处理,在TEE模块外则只能获得加密数据,以保证在第一设备与第二设备互不信任的场景时,隐私数据不会泄露给对方,从而保证了数据的安全性。
进一步地,基于上述第一、第二和第三实施例,提出本申请纵向联邦学习***优化方法第四实施例,在本申请纵向联邦学习***优化方法第四实施例中,所述步骤S202之后,还包括:
步骤A10,接收所述第二设备发送的所述第二输出和所述第一损失函数;
在本实施例中,第一设备与第二设备可在协作训练插补模型的同时,协作训练机器学习模型。具体地,在第一实施例的基础上,第一设备在向第二设备发送第一输出,由第二设备得到第二输出,并计算得到第一损失函数和第一梯度信息后,第二设备将第二输出、第一损失函数和第二梯度信息发送给第一设备。
步骤A20,将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;
第一设备中预先设置了待训练机器学习模型。第一设备将第一样本数据和第二输出输入待训练机器学习模型中,由待训练机器学习模型输出预测标签数据。
步骤A30,根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;
第一设备根据预测标签数据和预存的本地实际标签数据,计算待训练机器学习模型的第二损失函数和第二梯度信息。需要说明的是,第一设备中预存的本地实际标签数据可以是第一设备本地记录的标签数据,也可以是第二设备将本地记录的标签数据共享给第一设备,第一设备存储在本地。
所述步骤S203中的迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:
步骤S2032,根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。
第一设备将第一损失函数和第二损失函数进行融合得到融合损失函数,融合的方式可以是计算第一损失函数和第二损失函数的加权和,作为融合损失函数。第一设备判断是否满足预设停止条件,预设停止条件可以是预先设置的停止条件,如检测到融合损失函数收敛时停止,或迭代训练的次数达到最大次数时停止,或迭代训练的时间达到最大训练时间时停止。具体地,判断融合损失函数是否收敛,可以是根据计算得到的融合损失函数的损失值判断是否收敛,如若检测到融合损失函数的损失值小于预设值,则确定融合损失函数收敛,若不小于预设值,则确定融合损失函数未收敛。若第一设备检测到未满足预设停止条件,则可根据第二梯度信息更新待训练机器学习模型的参数,根据第一梯度信息中与第一部分模型相关的梯度信息更新第一部分模型的参数。更新第一部分模型和待训练机器学习模型的参数后,第一设备继续采用第一样本数据输入第一部分模型得到第一输出,将第一输出发送给第二设备,第二设备计算第一损失函数和梯度信息,迭代训练以达到最小化融合损失函数的目的,循环直到检测满足预设停止条件时,停止对待训练插补模型和待训练机器学习模型的训练,将当前的参数作为第一部分模型、第二部分模型和待训练机器学习模型的最终参数,将最终确定参数的待训练机器学习模型作为训练完成的目标机器学习模型。第二设备将确定了最终参数的第二部分模型发送给第一设备,第一设备将第一部分模型和第二部分模型组合得到训练完成的插补模型。
需要说明的是,在上述协作训练的基础上,若第一设备与第二设备之间互不信任,则可在第一设备和第二设备中各设置TEE模块,并在TEE模块中对原始的隐私数据进行处理,在TEE模块外隐私数据是加密的,以保证第一设备和第二设备的隐私数据不会泄露给对方。
如图7所示,为第一设备与第二设备协作训练插补模型和机器学习模型的示意图,第一设备将第一样本数据X
A输入插补模型GM
A的第一部分模型GM
A-Part1中,将第一输出前向传输给第二设备,第二设备根据第一输出得到第二部分模型GM
A-Part2的第二输出X
B’,并计算梯度信息和损失函数,将第二输出前向传输给第一设备,将梯度信息和损失函数后向传播给第一设备。第一设备根据梯度信息更新GM
A-Part1的参数,并将第二输出作为待训练机器学习模型M
A的输入,迭代训练直到融合损失函数收敛,即得到训练好的机器学习模型M
A。第二设备将GM
A-Part2发送给第一设备,第一设备将GM
A-Part1和 GM
A-Part2组合得到训练好的插补模型GM
A。
在本实施例中,通过第一设备与第二设备协作训练插补模型的同时协作训练机器学习模型,提高了机器学习模型的训练效率,并且,第一设备训练得到插补模型后,可通过插补模型对缺失的数据特征进行补全,从而使得第一设备在没有第二设备协作的情况下,也能够使用训练好的机器学习模型完成预测任务,从而扩大了纵向联邦学习的应用范围。
进一步地,基于上述第一、第二、第三和第四实施例,提出本申请纵向联邦学习***优化方法第五实施例,在本申请纵向联邦学习***优化方法第五实施例中,所述第一设备中包括TEE模块,所述步骤S20包括:
步骤B10,接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;
在本实施例中,提出一种与第一实施例中不同的协作训练插补模型的方式。具体地,为适应第一设备与第二设备互相不信任的场景,在第一设备中可设置TEE模块,第一设备在TEE模块中进行隐私数据的处理,在TEE模块外隐私数据均是加密的,从而无法获取第二设备的隐私数据。第二设备在与第一设备进行样本对齐得到第二样本数据后,对第二样本数据进行加密得到第二加密数据,并将第二加密数据发送给第一设备。
步骤B20,在所述TEE模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。
第一设备在TEE模块中对第二加密样本数据进行解密得到第二样本数据。需要说明的是,TEE模块中对数据进行解密的方式与第二设备对数据进行加密的方式对应。第一设备在TEE模块中根据第一样本数据和第二样本数据对待训练插补模型进行训练,得到插补模型,第一设备独自训练插补模型的方式与传统的独自训练模型的方式相同,在此不作具体限制。进一步地,第二设备可在TEE模块中通过训练完成的插补模型,独自在本地训练机器学习模型;第一设备还可以是在TEE模块中训练插补模型的同时训练机器学习模型。
在本实施例中,通过在第一设备中设置TEE模块,第二设备将第二样本数据加密后发送给第一设备,第一设备在TEE模块中解密得到第二样本数据,使得第二设备在***露隐私数据给第一设备的情况下,第一设备独自训练插补模型,以避免在第二设备无法与第一设备协作训练插补模型的场景下,第一设备无法训练和使用机器学习模型,从而扩大了纵向联邦学习的应用范围。
此外,此外本申请实施例还提出一种纵向联邦学习***优化装置,所述纵向联邦学习***优化装置部署于第一设备,所述第一设备与第二设备通信连接,参照图9,所述纵向联邦学习***优化装置包括:
对齐模块10,用于与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;
训练模块20,用于采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的预测数据。
进一步地,所述训练模块20包括:
第一输入单元,用于将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;
发送单元,用于将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;
第一接收单元,用于根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;
组合单元,用于将所述第一部分模型和所述第二部分模型组合得到所述插补模型。
进一步地,所述训练模块20还包括:
第二输入单元,用于将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;
第一训练单元,用于采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。
进一步地,所述第一设备中包括第一可信执行环境TEE模块,所述第二设备中包括第二TEE模块,所述发送单元包括:
加密子单元,用于对所述第一输出进行加密得到第一加密输出;
发送子单元,用于将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二TEE模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;
所述第一接收单元还用于接收所述第二设备发送的所述加密梯度信息,并在所述第一TEE模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。
进一步地,所述训练模块20还包括:
第二接收单元,用于接收所述第二设备发送的所述第二输出和所述第一损失函数;
第三输入单元,用于将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;
计算单元,用于根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;
所述第一接收单元还用于根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。
进一步地,所述第一设备中包括TEE模块,所述训练模块20包括:
第三接收单元,用于接收所述第二设备发送的第二加密样本数据,其中,所述第二设 备对所述第二样本数据进行加密得到所述第二加密样本数据;
第二训练单元,用于在所述TEE模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。
进一步地,所述目标机器学习模型用于预测用户的购买意向,所述纵向联邦学习***优化装置还包括:
输入模块,用于将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;
预测模块,用于将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。
本申请纵向联邦学习***优化装置的具体实施方式的拓展内容与上述纵向联邦学习***优化方法各实施例基本相同,在此不做赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述存储介质上存储有纵向联邦学习***优化程序,所述纵向联邦学习***优化程序被处理器执行时实现如下所述的纵向联邦学习***优化方法的步骤。
本申请纵向联邦学习***优化设备和计算机可读存储介质的各实施例,均可参照本申请纵向联邦学习***优化方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (20)
- 一种纵向联邦学习***优化方法,其中,所述纵向联邦学习***优化方法应用于第一设备,所述第一设备与第二设备通信连接,所述纵向联邦学习***优化方法包括以下步骤:与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。
- 如权利要求1所述的纵向联邦学习***优化方法,其中,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;将所述第一部分模型和所述第二部分模型组合得到所述插补模型。
- 如权利要求2所述的纵向联邦学习***优化方法,其中,所述将所述第一部分模型和所述第二部分模型组合得到所述插补模型的步骤之后,还包括:将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。
- 如权利要求2所述的纵向联邦学习***优化方法,其中,所述第一设备中包括第一可信执行环境TEE模块,所述第二设备中包括第二TEE模块,所述将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数包括:对所述第一输出进行加密得到第一加密输出;将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二TEE模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模 型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;所述根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:接收所述第二设备发送的所述加密梯度信息,并在所述第一TEE模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。
- 如权利要求2所述的纵向联邦学习***优化方法,其中,所述将所述第一输出发送给所述第二设备的步骤之后,还包括:接收所述第二设备发送的所述第二输出和所述第一损失函数;将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;所述迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。
- 如权利要求1所述的纵向联邦学习***优化方法,其中,所述第一设备中包括TEE模块,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;在所述TEE模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。
- 如权利要求3所述的纵向联邦学习***优化方法,其中,所述目标机器学习模型用于预测用户的购买意向,所述采用所述本地样本数据和所述预测样本数据对预置待训练机器学习模型进行本地训练得到目标机器学习模型的步骤之后,还包括:将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。
- 一种纵向联邦学习***优化装置,所述纵向联邦学习***优化装置部署于第一设备,所述第一设备与第二设备通信连接,其中,所述纵向联邦学习***优化装置包括:对齐模块,用于与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;训练模块,用于采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的预测数据。
- 一种纵向联邦学习***优化设备,其中,所述纵向联邦学习***优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的纵向联邦学习***优化程序,所述纵向联邦学习***优化程序被所述处理器执行时实现如下步骤:与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。
- 如权利要求9所述的纵向联邦学习***优化设备,其中,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;将所述第一部分模型和所述第二部分模型组合得到所述插补模型。
- 如权利要求10所述的纵向联邦学习***优化设备,其中,所述将所述第一部分模型和所述第二部分模型组合得到所述插补模型的步骤之后,还包括:将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。
- 如权利要求10所述的纵向联邦学习***优化设备,其中,所述第一设备中包括第一可信执行环境TEE模块,所述第二设备中包括第二TEE模块,所述将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数包括:对所述第一输出进行加密得到第一加密输出;将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二TEE模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度 信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;所述根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:接收所述第二设备发送的所述加密梯度信息,并在所述第一TEE模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。
- 如权利要求10所述的纵向联邦学习***优化设备,其中,所述将所述第一输出发送给所述第二设备的步骤之后,还包括:接收所述第二设备发送的所述第二输出和所述第一损失函数;将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;所述迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。
- 如权利要求9所述的纵向联邦学习***优化设备,其中,所述第一设备中包括TEE模块,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;在所述TEE模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。
- 如权利要求11所述的纵向联邦学习***优化设备,其中,所述目标机器学习模型用于预测用户的购买意向,所述采用所述本地样本数据和所述预测样本数据对预置待训练机器学习模型进行本地训练得到目标机器学习模型的步骤之后,还包括:将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。
- 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有纵向联邦学习***优化程序,所述纵向联邦学习***优化程序被处理器执行时实现如下步骤:与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一 设备进行样本对齐得到;采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。
- 如权利要求16所述的计算机可读存储介质,其中,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;将所述第一部分模型和所述第二部分模型组合得到所述插补模型。
- 如权利要求17所述的计算机可读存储介质,其中,所述将所述第一部分模型和所述第二部分模型组合得到所述插补模型的步骤之后,还包括:将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。
- 如权利要求17所述的计算机可读存储介质,其中,所述第一设备中包括第一可信执行环境TEE模块,所述第二设备中包括第二TEE模块,所述将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数包括:对所述第一输出进行加密得到第一加密输出;将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二TEE模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;所述根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:接收所述第二设备发送的所述加密梯度信息,并在所述第一TEE模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。
- 如权利要求17所述的计算机可读存储介质,其中,所述将所述第一输出发送给所述第二设备的步骤之后,还包括:接收所述第二设备发送的所述第二输出和所述第一损失函数;将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;所述迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918262.9A CN110633805B (zh) | 2019-09-26 | 2019-09-26 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
CN201910918262.9 | 2019-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021004551A1 true WO2021004551A1 (zh) | 2021-01-14 |
Family
ID=68973220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/107332 WO2021004551A1 (zh) | 2019-09-26 | 2020-08-06 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110633805B (zh) |
WO (1) | WO2021004551A1 (zh) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686473A (zh) * | 2021-01-22 | 2021-04-20 | 国网江苏省电力有限公司营销服务中心 | 一种基于分类算法的用电量预测方法及预测*** |
CN112818394A (zh) * | 2021-01-29 | 2021-05-18 | 西安交通大学 | 具有本地隐私保护的自适应异步联邦学习方法 |
CN112818374A (zh) * | 2021-03-02 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 一种模型的联合训练方法、设备、存储介质及程序产品 |
CN112885337A (zh) * | 2021-01-29 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112948883A (zh) * | 2021-03-25 | 2021-06-11 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的多方联合建模的方法、装置和*** |
CN112949760A (zh) * | 2021-03-30 | 2021-06-11 | 平安科技(深圳)有限公司 | 基于联邦学习的模型精度控制方法、装置及存储介质 |
CN112989944A (zh) * | 2021-02-08 | 2021-06-18 | 西安翔迅科技有限责任公司 | 一种基于联邦学习的视频智能***方法 |
CN113191072A (zh) * | 2021-03-30 | 2021-07-30 | 中国建设银行股份有限公司 | 基于纵向联邦逻辑回归的可疑交易监测方法及装置 |
CN113240461A (zh) * | 2021-05-07 | 2021-08-10 | 广州银行股份有限公司 | 基于纵向联邦学习的潜在客户的识别方法、***及介质 |
CN113269232A (zh) * | 2021-04-25 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 模型训练方法、向量化召回方法、相关设备及存储介质 |
CN113283521A (zh) * | 2021-06-03 | 2021-08-20 | 光大科技有限公司 | 一种条件生成对抗网络生成方法及装置 |
CN113297573A (zh) * | 2021-06-11 | 2021-08-24 | 浙江工业大学 | 一种基于gan模拟数据生成的垂直联邦学习防御方法和装置 |
CN113361771A (zh) * | 2021-06-04 | 2021-09-07 | 合肥工业大学 | 确定储层压力的方法及装置 |
CN113642664A (zh) * | 2021-08-24 | 2021-11-12 | 安徽大学 | 一种基于联邦学习的隐私保护图像分类方法 |
CN113642034A (zh) * | 2021-06-25 | 2021-11-12 | 合肥工业大学 | 基于横纵向联邦学习的医疗大数据安全共享方法和*** |
CN113688771A (zh) * | 2021-09-02 | 2021-11-23 | 重庆大学 | Lng储罐加速度响应数据补全方法及装置 |
CN113807535A (zh) * | 2021-04-01 | 2021-12-17 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN114186694A (zh) * | 2021-11-16 | 2022-03-15 | 浙江大学 | 一种高效安全,低通信的纵向联邦学习方法 |
CN114186263A (zh) * | 2021-12-17 | 2022-03-15 | 大连理工大学 | 一种基于纵向联邦学习的数据回归方法及电子装置 |
CN114282652A (zh) * | 2021-12-22 | 2022-04-05 | 哈尔滨工业大学 | 一种隐私保护的纵向深度神经网络模型构建方法、计算机及存储介质 |
CN114358433A (zh) * | 2022-01-10 | 2022-04-15 | 北京理工大学 | 基于纵向联邦学习工业软件对接的生产计划管理优化方法 |
CN114429223A (zh) * | 2022-01-26 | 2022-05-03 | 上海富数科技有限公司 | 异构模型建立方法及装置 |
CN114818476A (zh) * | 2022-04-01 | 2022-07-29 | 西南交通大学 | 一种应用于旋转机械设备寿命预测的联邦学习***及方法 |
CN114996317A (zh) * | 2022-07-05 | 2022-09-02 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
WO2022213954A1 (zh) * | 2021-04-09 | 2022-10-13 | 京东科技控股股份有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
CN115292738A (zh) * | 2022-10-08 | 2022-11-04 | 豪符密码检测技术(成都)有限责任公司 | 一种联邦学习模型和数据安全性及正确性的检测方法 |
CN115545216A (zh) * | 2022-10-19 | 2022-12-30 | 上海零数众合信息科技有限公司 | 一种业务指标预测方法、装置、设备和存储介质 |
CN115563564A (zh) * | 2022-12-02 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 决策树模型的处理方法、装置、计算机设备和存储介质 |
CN115659212A (zh) * | 2022-09-27 | 2023-01-31 | 南京邮电大学 | 跨域异质场景下基于tdd通信的联邦学习效率评测方法 |
CN116319714A (zh) * | 2023-05-24 | 2023-06-23 | 北京邮电大学 | 基于模态转换的联邦学习方法及相关设备 |
CN116633704A (zh) * | 2023-07-25 | 2023-08-22 | 北京数牍科技有限公司 | 图计算方法和装置 |
CN117094421A (zh) * | 2023-10-16 | 2023-11-21 | 亚信科技(中国)有限公司 | 非对称纵向联邦学习方法、装置、电子设备及存储介质 |
CN117853212A (zh) * | 2024-03-06 | 2024-04-09 | 之江实验室 | 一种基于知识迁移和自监督学习的纵向联邦金融风控方法 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633805B (zh) * | 2019-09-26 | 2024-04-26 | 深圳前海微众银行股份有限公司 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111241580B (zh) * | 2020-01-09 | 2022-08-09 | 广州大学 | 一种基于可信执行环境的联邦学习方法 |
CN111310204B (zh) * | 2020-02-10 | 2022-06-14 | 北京百度网讯科技有限公司 | 数据处理的方法及装置 |
CN111339212A (zh) * | 2020-02-13 | 2020-06-26 | 深圳前海微众银行股份有限公司 | 样本聚类方法、装置、设备及可读存储介质 |
CN111260061B (zh) * | 2020-03-09 | 2022-07-19 | 厦门大学 | 联邦学习梯度交换中的差异化加噪方法及*** |
CN111401552B (zh) * | 2020-03-11 | 2023-04-07 | 浙江大学 | 基于调整批量大小与梯度压缩率的联邦学习方法和*** |
CN113392164B (zh) * | 2020-03-13 | 2024-01-12 | 京东城市(北京)数字科技有限公司 | 构建纵向联邦树的方法、主服务器、业务平台和*** |
CN111460511B (zh) * | 2020-04-17 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 |
CN113554476B (zh) * | 2020-04-23 | 2024-04-19 | 京东科技控股股份有限公司 | 信用度预测模型的训练方法、***、电子设备及存储介质 |
CN111522669A (zh) * | 2020-04-29 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 横向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111625820A (zh) * | 2020-05-29 | 2020-09-04 | 华东师范大学 | 一种基于面向AIoT安全的联邦防御方法 |
CN111737921B (zh) * | 2020-06-24 | 2024-04-26 | 深圳前海微众银行股份有限公司 | 基于循环神经网络的数据处理方法、设备及介质 |
CN111858955B (zh) * | 2020-07-01 | 2023-08-18 | 石家庄铁路职业技术学院 | 基于加密联邦学习的知识图谱表示学习增强方法和装置 |
CN111859360A (zh) * | 2020-07-10 | 2020-10-30 | 深圳市洞见智慧科技有限公司 | 一种安全的多设备联合数据计算***、方法及装置 |
CN111860864A (zh) * | 2020-07-23 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 纵向联邦建模优化方法、设备及可读存储介质 |
CN112231746B (zh) * | 2020-09-10 | 2024-02-02 | 杭州锘崴信息科技有限公司 | 联合数据分析方法、装置、***及计算机可读存储介质 |
CN111931216B (zh) * | 2020-09-16 | 2021-03-30 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的方式获取联合训练模型的方法及*** |
CN112132293A (zh) * | 2020-09-30 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 纵向联邦学习中的计算方法、装置、设备及介质 |
CN112149171B (zh) * | 2020-10-27 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 联邦神经网络模型的训练方法、装置、设备及存储介质 |
CN112418446B (zh) * | 2020-11-18 | 2024-04-09 | 脸萌有限公司 | 模型处理方法、***、装置、介质及电子设备 |
CN112529102B (zh) * | 2020-12-24 | 2024-03-12 | 深圳前海微众银行股份有限公司 | 特征拓展方法、设备、介质及计算机程序产品 |
CN112700010A (zh) * | 2020-12-30 | 2021-04-23 | 深圳前海微众银行股份有限公司 | 基于联邦学习的特征补全方法、装置、设备及存储介质 |
CN112836767B (zh) * | 2021-03-03 | 2024-07-12 | 深圳前海微众银行股份有限公司 | 联邦建模方法、装置、设备、存储介质及程序产品 |
CN113673700A (zh) * | 2021-08-25 | 2021-11-19 | 深圳前海微众银行股份有限公司 | 纵向联邦预测优化方法、设备、介质及计算机程序产品 |
CN114302412A (zh) * | 2021-12-27 | 2022-04-08 | 中国电信股份有限公司 | 基站建设智能规划方法及装置、存储介质、终端设备 |
CN114491590A (zh) * | 2022-01-17 | 2022-05-13 | 平安科技(深圳)有限公司 | 基于联邦因子分解机的同态加密方法、***、设备及存储介质 |
CN114548255A (zh) * | 2022-02-17 | 2022-05-27 | 支付宝(杭州)信息技术有限公司 | 一种模型的训练方法、装置及设备 |
CN114492846B (zh) * | 2022-04-06 | 2022-08-26 | 天聚地合(苏州)科技股份有限公司 | 基于可信执行环境的跨域联邦学习方法及*** |
CN116032431B (zh) * | 2023-02-06 | 2023-09-12 | 哈尔滨工业大学(深圳) | 针对分布式学习的通信压缩方法以及相关设备 |
CN117689009B (zh) * | 2024-01-30 | 2024-07-05 | 东北大学 | 一种面向正则化个性化联邦训练的通信优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002861A (zh) * | 2018-08-10 | 2018-12-14 | 深圳前海微众银行股份有限公司 | 联邦建模方法、设备及存储介质 |
CN109033854A (zh) * | 2018-07-17 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于模型的预测方法和装置 |
CN110110229A (zh) * | 2019-04-25 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种信息推荐方法及装置 |
CN110245510A (zh) * | 2019-06-19 | 2019-09-17 | 北京百度网讯科技有限公司 | 用于预测信息的方法和装置 |
CN110633805A (zh) * | 2019-09-26 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100076785A1 (en) * | 2008-09-25 | 2010-03-25 | Air Products And Chemicals, Inc. | Predicting rare events using principal component analysis and partial least squares |
US10572773B2 (en) * | 2017-05-05 | 2020-02-25 | Intel Corporation | On the fly deep learning in machine learning for autonomous machines |
CN109347620B (zh) * | 2018-08-10 | 2022-06-17 | 深圳前海微众银行股份有限公司 | 样本对齐方法、***及计算机可读存储介质 |
-
2019
- 2019-09-26 CN CN201910918262.9A patent/CN110633805B/zh active Active
-
2020
- 2020-08-06 WO PCT/CN2020/107332 patent/WO2021004551A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033854A (zh) * | 2018-07-17 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于模型的预测方法和装置 |
CN109002861A (zh) * | 2018-08-10 | 2018-12-14 | 深圳前海微众银行股份有限公司 | 联邦建模方法、设备及存储介质 |
CN110110229A (zh) * | 2019-04-25 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种信息推荐方法及装置 |
CN110245510A (zh) * | 2019-06-19 | 2019-09-17 | 北京百度网讯科技有限公司 | 用于预测信息的方法和装置 |
CN110633805A (zh) * | 2019-09-26 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
QIANG YANG; YANG LIU; TIANJIAN CHEN; YONGXIN TONG: "Federated Machine Learning: Concept and Applications", ACM TRANSACTIONS ON INTELLIGENT SYSTEMS AND TECHNOLOGY, vol. 10, no. 2, 28 January 2019 (2019-01-28), pages 1 - 19, XP058427733, ISSN: 2157-6904, DOI: 10.1145/3298981 * |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686473A (zh) * | 2021-01-22 | 2021-04-20 | 国网江苏省电力有限公司营销服务中心 | 一种基于分类算法的用电量预测方法及预测*** |
CN112686473B (zh) * | 2021-01-22 | 2023-12-08 | 国网江苏省电力有限公司营销服务中心 | 一种基于分类算法的用电量预测方法及预测*** |
CN112818394A (zh) * | 2021-01-29 | 2021-05-18 | 西安交通大学 | 具有本地隐私保护的自适应异步联邦学习方法 |
CN112885337A (zh) * | 2021-01-29 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112989944A (zh) * | 2021-02-08 | 2021-06-18 | 西安翔迅科技有限责任公司 | 一种基于联邦学习的视频智能***方法 |
CN112818374A (zh) * | 2021-03-02 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 一种模型的联合训练方法、设备、存储介质及程序产品 |
CN112948883A (zh) * | 2021-03-25 | 2021-06-11 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的多方联合建模的方法、装置和*** |
CN112948883B (zh) * | 2021-03-25 | 2023-10-31 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的多方联合建模的方法、装置和*** |
CN112949760A (zh) * | 2021-03-30 | 2021-06-11 | 平安科技(深圳)有限公司 | 基于联邦学习的模型精度控制方法、装置及存储介质 |
CN112949760B (zh) * | 2021-03-30 | 2024-05-10 | 平安科技(深圳)有限公司 | 基于联邦学习的模型精度控制方法、装置及存储介质 |
CN113191072A (zh) * | 2021-03-30 | 2021-07-30 | 中国建设银行股份有限公司 | 基于纵向联邦逻辑回归的可疑交易监测方法及装置 |
CN113807535B (zh) * | 2021-04-01 | 2023-11-03 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN113807535A (zh) * | 2021-04-01 | 2021-12-17 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
WO2022213954A1 (zh) * | 2021-04-09 | 2022-10-13 | 京东科技控股股份有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
CN113269232B (zh) * | 2021-04-25 | 2023-12-08 | 北京沃东天骏信息技术有限公司 | 模型训练方法、向量化召回方法、相关设备及存储介质 |
CN113269232A (zh) * | 2021-04-25 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 模型训练方法、向量化召回方法、相关设备及存储介质 |
CN113240461A (zh) * | 2021-05-07 | 2021-08-10 | 广州银行股份有限公司 | 基于纵向联邦学习的潜在客户的识别方法、***及介质 |
CN113240461B (zh) * | 2021-05-07 | 2022-08-16 | 广州银行股份有限公司 | 基于纵向联邦学习的潜在客户的识别方法、***及介质 |
CN113283521A (zh) * | 2021-06-03 | 2021-08-20 | 光大科技有限公司 | 一种条件生成对抗网络生成方法及装置 |
CN113283521B (zh) * | 2021-06-03 | 2023-09-01 | 光大科技有限公司 | 一种条件生成对抗网络生成方法及装置 |
CN113361771A (zh) * | 2021-06-04 | 2021-09-07 | 合肥工业大学 | 确定储层压力的方法及装置 |
CN113361771B (zh) * | 2021-06-04 | 2023-04-18 | 合肥工业大学 | 确定储层压力的方法及装置 |
CN113297573A (zh) * | 2021-06-11 | 2021-08-24 | 浙江工业大学 | 一种基于gan模拟数据生成的垂直联邦学习防御方法和装置 |
CN113642034A (zh) * | 2021-06-25 | 2021-11-12 | 合肥工业大学 | 基于横纵向联邦学习的医疗大数据安全共享方法和*** |
CN113642664A (zh) * | 2021-08-24 | 2021-11-12 | 安徽大学 | 一种基于联邦学习的隐私保护图像分类方法 |
CN113642664B (zh) * | 2021-08-24 | 2024-02-20 | 安徽大学 | 一种基于联邦学习的隐私保护图像分类方法 |
CN113688771B (zh) * | 2021-09-02 | 2024-04-05 | 重庆大学 | Lng储罐加速度响应数据补全方法及装置 |
CN113688771A (zh) * | 2021-09-02 | 2021-11-23 | 重庆大学 | Lng储罐加速度响应数据补全方法及装置 |
CN114186694B (zh) * | 2021-11-16 | 2024-06-11 | 浙江大学 | 一种高效安全,低通信的纵向联邦学习方法 |
CN114186694A (zh) * | 2021-11-16 | 2022-03-15 | 浙江大学 | 一种高效安全,低通信的纵向联邦学习方法 |
CN114186263B (zh) * | 2021-12-17 | 2024-05-03 | 大连理工大学 | 一种基于纵向联邦学习的数据回归方法及电子装置 |
CN114186263A (zh) * | 2021-12-17 | 2022-03-15 | 大连理工大学 | 一种基于纵向联邦学习的数据回归方法及电子装置 |
CN114282652A (zh) * | 2021-12-22 | 2022-04-05 | 哈尔滨工业大学 | 一种隐私保护的纵向深度神经网络模型构建方法、计算机及存储介质 |
CN114358433A (zh) * | 2022-01-10 | 2022-04-15 | 北京理工大学 | 基于纵向联邦学习工业软件对接的生产计划管理优化方法 |
CN114429223A (zh) * | 2022-01-26 | 2022-05-03 | 上海富数科技有限公司 | 异构模型建立方法及装置 |
CN114429223B (zh) * | 2022-01-26 | 2023-11-07 | 上海富数科技有限公司 | 异构模型建立方法及装置 |
CN114818476A (zh) * | 2022-04-01 | 2022-07-29 | 西南交通大学 | 一种应用于旋转机械设备寿命预测的联邦学习***及方法 |
CN114818476B (zh) * | 2022-04-01 | 2023-08-22 | 西南交通大学 | 一种应用于旋转机械设备寿命预测的联邦学习***及方法 |
CN114996317A (zh) * | 2022-07-05 | 2022-09-02 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
CN114996317B (zh) * | 2022-07-05 | 2024-02-23 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
CN115659212B (zh) * | 2022-09-27 | 2024-04-09 | 南京邮电大学 | 跨域异质场景下基于tdd通信的联邦学习效率评测方法 |
CN115659212A (zh) * | 2022-09-27 | 2023-01-31 | 南京邮电大学 | 跨域异质场景下基于tdd通信的联邦学习效率评测方法 |
CN115292738B (zh) * | 2022-10-08 | 2023-01-17 | 豪符密码检测技术(成都)有限责任公司 | 一种联邦学习模型和数据安全性及正确性的检测方法 |
CN115292738A (zh) * | 2022-10-08 | 2022-11-04 | 豪符密码检测技术(成都)有限责任公司 | 一种联邦学习模型和数据安全性及正确性的检测方法 |
CN115545216A (zh) * | 2022-10-19 | 2022-12-30 | 上海零数众合信息科技有限公司 | 一种业务指标预测方法、装置、设备和存储介质 |
CN115545216B (zh) * | 2022-10-19 | 2023-06-30 | 上海零数众合信息科技有限公司 | 一种业务指标预测方法、装置、设备和存储介质 |
CN115563564A (zh) * | 2022-12-02 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 决策树模型的处理方法、装置、计算机设备和存储介质 |
CN115563564B (zh) * | 2022-12-02 | 2023-03-17 | 腾讯科技(深圳)有限公司 | 决策树模型的处理方法、装置、计算机设备和存储介质 |
CN116319714A (zh) * | 2023-05-24 | 2023-06-23 | 北京邮电大学 | 基于模态转换的联邦学习方法及相关设备 |
CN116319714B (zh) * | 2023-05-24 | 2023-07-21 | 北京邮电大学 | 基于模态转换的联邦学习方法及相关设备 |
CN116633704B (zh) * | 2023-07-25 | 2023-10-31 | 北京数牍科技有限公司 | 图计算方法和装置 |
CN116633704A (zh) * | 2023-07-25 | 2023-08-22 | 北京数牍科技有限公司 | 图计算方法和装置 |
CN117094421B (zh) * | 2023-10-16 | 2023-12-15 | 亚信科技(中国)有限公司 | 非对称纵向联邦学习方法、装置、电子设备及存储介质 |
CN117094421A (zh) * | 2023-10-16 | 2023-11-21 | 亚信科技(中国)有限公司 | 非对称纵向联邦学习方法、装置、电子设备及存储介质 |
CN117853212A (zh) * | 2024-03-06 | 2024-04-09 | 之江实验室 | 一种基于知识迁移和自监督学习的纵向联邦金融风控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110633805B (zh) | 2024-04-26 |
CN110633805A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021004551A1 (zh) | 纵向联邦学习***优化方法、装置、设备及可读存储介质 | |
CN110633806B (zh) | 纵向联邦学习***优化方法、装置、设备及可读存储介质 | |
US11934540B2 (en) | System and method for multiparty secure computing platform | |
WO2021128733A1 (zh) | Hyperledger Fabric区块链隐私数据存储与访问***及其方法 | |
CN110189192B (zh) | 一种信息推荐模型的生成方法及装置 | |
WO2020134704A1 (zh) | 基于联邦学习的模型参数训练方法、终端、***及介质 | |
EP3864551B1 (en) | Distributed ledger-based profile verification | |
US20190354969A1 (en) | System and method for securing digital assets | |
US20160140548A1 (en) | Method for performing non-repudiation, and payment managing server and user device therefor | |
CN104715187A (zh) | 用于认证电子通信***中的节点的方法和装置 | |
US20210248253A1 (en) | Secure data processing in untrusted environments | |
KR20090095635A (ko) | 전자 기기 내의 프로그램 상태 데이터의 보안 저장을 위한 방법 | |
Karam | Investigating the importance of ethics and security on internet of medical things (IOMT) | |
US20190258820A1 (en) | System and Method for Maintaining the Security and Confidentiality of Consumer Information | |
Lee Jr et al. | A broader view of perceived risk during internet transactions | |
CN116992458A (zh) | 基于可信执行环境的可编程数据处理方法以及*** | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及*** | |
WO2021169477A1 (zh) | 基于交叉特征的建模、预测方法、装置、设备及存储介质 | |
CN108566389A (zh) | 一种跨应用的指纹身份认证方法及装置 | |
Deepika et al. | Blockchain-based decentralized security using Crypto-Proof of Stake for securing sensitive personal health care records | |
CN115801317A (zh) | 服务提供方法、***、装置、存储介质及电子设备 | |
CN115270159A (zh) | 一种区块链的智能合约调用方法、装置设备及存储介质 | |
TWM617427U (zh) | 具隱私保護的風險資訊交換系統 | |
TWM585941U (zh) | 帳戶資料處理系統 | |
CN116132185B (zh) | 数据调用方法、***、装置、设备和介质 |
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: 20836926 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: 20836926 Country of ref document: EP Kind code of ref document: A1 |