WO2023130705A1 - 用户数据处理的***、方法以及装置 - Google Patents

用户数据处理的***、方法以及装置 Download PDF

Info

Publication number
WO2023130705A1
WO2023130705A1 PCT/CN2022/105396 CN2022105396W WO2023130705A1 WO 2023130705 A1 WO2023130705 A1 WO 2023130705A1 CN 2022105396 W CN2022105396 W CN 2022105396W WO 2023130705 A1 WO2023130705 A1 WO 2023130705A1
Authority
WO
WIPO (PCT)
Prior art keywords
data processing
processing device
intermediate result
parameters
machine learning
Prior art date
Application number
PCT/CN2022/105396
Other languages
English (en)
French (fr)
Inventor
邵云峰
李秉帅
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP22918161.5A priority Critical patent/EP4386636A1/en
Publication of WO2023130705A1 publication Critical patent/WO2023130705A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning

Definitions

  • the present application relates to the technical field of artificial intelligence, and in particular to a system, method and device for processing user data in machine learning model training.
  • Federated learning is a distributed machine learning technique.
  • Each federated learning client such as federated learning devices 1, 2, 3...k, uses local computing resources and local network business data for model training, and uses the model parameters generated during the local training process
  • Update information ⁇ such as ⁇ 1, ⁇ 2, ⁇ 3... ⁇ k, is sent to the federated learning server (FLS).
  • the federated learning server adopts the convergence algorithm for model convergence to obtain the convergent machine learning model.
  • the aggregated machine learning model is used as the initial model for the next execution of model training by the federated learning device.
  • the federated learning device and the federated learning server execute the above model training process multiple times until the obtained pooled machine learning model satisfies the preset conditions, and the training is stopped.
  • Federated learning can make full use of the data and computing power at the client, so that multiple parties can collaborate to build a general and more robust machine learning model without sharing data.
  • federated learning can solve key issues such as data ownership, data privacy, and data access rights, and has great commercial value.
  • the embodiment of the present application provides a user data processing system, the system includes a first data processing device and a second data processing device, the first data processing device is used to: generate a first intermediate result, the second An intermediate result is obtained based on parameters of the first machine learning model and historical user data obtained by the first data processing device.
  • the first data processing device may acquire historical user data through various channels, for example, the historical user data may be generated by the first data processing device, or the historical user data may be saved by the first data processing device.
  • the first intermediate result may be obtained according to a product of a parameter of the first machine learning model and a feature vector corresponding to the first data processing device.
  • a second intermediate result is received, where the second intermediate result is obtained based on parameters of the second machine learning model and historical user data acquired by the second data processing device.
  • the second intermediate result may be obtained according to a product of a parameter of the second machine learning model and a feature vector corresponding to the historical user data acquired by the second data processing device.
  • the second data processing device may obtain historical user data through various channels. For example, the historical user data may be generated by the second data processing device, or the historical user data may be saved by the second data processing device.
  • the parameters of the first machine learning model are updated according to the first intermediate result and the second intermediate result.
  • the third intermediate result is based on the parameters of the first machine learning model, the target historical user data in the historical user data acquired by the first data processing device from the first intermediate obtained from the results.
  • the identifier of the target historical user data is the same as the identifier of the historical user data acquired by the second data processing device.
  • the first data processing device sends different first intermediate results to different second data processing devices according to the identifier of the data. For example, there are two second data processing devices respectively device 1 and device 2.
  • Device 1 obtains intermediate result 1, intermediate result 2, and intermediate result respectively for the acquired historical user data 1, historical user data 2, and historical user data 3 Result 3, that is, the second intermediate result includes intermediate result 1, intermediate result 2 and intermediate result 3.
  • Device 2 respectively obtains intermediate result 4, intermediate result 5, and intermediate result 6 for the maintained historical user data 4, historical user data 5, and historical user data 6, that is, another second intermediate result includes intermediate result 4, intermediate result 5 and the intermediate result 6.
  • the alignment samples of historical user data 1, historical user data 2, and historical user data 3 are historical user data 1', historical user data 2', and historical user data 3', respectively. Two historical user data are aligned samples representing the same ratio of data identifiers of the two.
  • the data identifiers of historical user data 1 and historical user data 1' are the same, and the data identifiers of historical user data 2 and historical user data 2' are the same.
  • the data identifiers of the data 3 and the historical user data 3' are the same.
  • the alignment samples of historical user data 4, historical user data 5, and historical user data 6 are historical user data 4', historical user data 5', and historical user data 6', respectively.
  • the historical user data of the first data processing device includes historical user data 1', historical user data 2', historical user data 3', historical user data 4', historical user data 5' and historical user data 6'.
  • intermediate results obtained by the first data processing device for historical user data 1', historical user data 2', historical user data 3', historical user data 4', historical user data 5' and historical user data 6' are intermediate results respectively 1', intermediate result 2', intermediate result 3', intermediate result 4', intermediate result 5', and intermediate result 6'. That is, each of intermediate result 1', intermediate result 2', intermediate result 3', intermediate result 4', intermediate result 5' and intermediate result 6' is equivalent to the first intermediate result.
  • the intermediate result 1', intermediate result 2', and intermediate result 3' are obtained based on historical user data 1', historical user data 2', and historical user data 3'
  • historical user data 1', historical user data 2', Historical user data 3' is an alignment sample of historical user data 1, historical user data 2, and historical user data 3, and historical user data 1, historical user data 2, and historical user data 3 are historical user data obtained by device 1, so
  • the first intermediate result sent by the first data processing device to the device 1 includes an intermediate result 1 ′, an intermediate result 2 ′, and an intermediate result 3 ′.
  • the first intermediate result sent by the first data processing device to the device 2 includes intermediate result 4', intermediate result 5' and intermediate result 6'.
  • the historical user data having different feature spaces and the same sample space are also referred to as aligned samples.
  • the second data processing device is configured to: update the parameters of the second machine learning model according to the third intermediate result and the second intermediate result.
  • the first data processing device and the second data processing device may be participants in vertical federated training. After the first data processing device generates multiple intermediate results, it sends different data processing devices to different second data processing devices. intermediate results.
  • the first data processing device can integrate the information provided by the historical user data obtained by itself during the training process of the model, and can also integrate the information provided by the historical user data obtained by multiple second data processing devices. Compared with the information provided by the historical user data that can only be obtained by using a second data processing device, the solution provided by the embodiment of the present application can obtain a model with better performance, so as to better predict the user's decision-making and provide the user with better Accurate recommendation information.
  • any two second data processing devices can be participants in the horizontal federated training, since the first data processing device uses the information provided by the historical user data acquired by multiple second data processing devices to update its maintenance machine Learning the parameters of the model, continuously using the updated machine learning model to obtain the first intermediate results, and passing different first intermediate results to different second data processing devices, can also make different second data processing devices indirectly use The information provided by the historical user data acquired by other second data processing devices except itself.
  • the combination of horizontal federation training and vertical federation provides a feasible way to combine horizontal federation and vertical federation, so as to better predict users' decisions and provide users with more accurate recommendation information. .
  • the system includes multiple third data processing devices, and the historical user data acquired by any two third data processing devices have the same feature space and different data identifiers,
  • the second data processing device is any third data processing device among the plurality of third data processing devices, and each third data processing device is equipped with an initial machine learning model, and the second data processing device is also used for: Get multiple initial machine learning model parameters. Weighting is performed on the acquired parameters of the multiple initial machine learning models to obtain weighted values. The parameters of the initial machine learning model deployed on the second data processing device are updated according to the weighted value, so as to obtain the parameters of the second machine learning model. In this embodiment, the weighted values are used to update the parameters of the machine learning models maintained by each of the third data processing devices. At the initial state of each iteration training, the parameters of the machine learning models maintained by each third data processing device The parameters are the same, so for the whole system, the number of parameters that need to be optimized is greatly reduced, which saves computing power and improves the efficiency of training.
  • the embodiment of the present application provides a user data processing method, including: the first data processing device obtains the first intermediate result, the first intermediate result is based on the parameters of the first machine learning model and the first data processing Obtained from the historical user data obtained by the device.
  • the first data processing device receives the second intermediate result, and the second intermediate result is obtained based on the parameters of the second machine learning model and the historical user data acquired by the second data processing device.
  • the first data processing device updates parameters of the first machine learning model according to the first intermediate result and the second intermediate result.
  • the first data processing device sends the third intermediate result to the second data processing device, the third intermediate result is based on the parameters of the first machine learning model, the target historical user data in the historical user data acquired by the first data processing device from The identification of the target historical user data acquired in the first intermediate result is the same as the identification of the historical user data of the second data processing device, and the third intermediate result and the second intermediate result are used to update the parameters of the second machine learning model.
  • the method further includes: the first data processing device generates a public public key according to the acquired first public key and the second public key, the first public key is the first data processing device generated by the device, and the second public key is generated by the second data processing device.
  • the first data processing device uses the public key to perform homomorphic encryption on the third intermediate result, the first private key or the second private key larger than the target number is used to decrypt the third intermediate result after the homomorphic encryption, and the first private key
  • the private key is generated by the first data processing device, and the second private key is generated by the second data processing device.
  • the method further includes: when the first data processing device acquires that the number of online data processing devices in the system is less than a threshold, sending the homomorphically encrypted The parameters of the first machine learning model, so that the online data processing devices use their respective first private keys or second private keys to decrypt the homomorphically encrypted parameters of the first machine learning model, and the threshold value is greater than the target number.
  • the method further includes: the first data processing device receives the first machine learning model obtained after being decrypted by the online data processing device with its respective first private key or second private key parameters.
  • the first intermediate result is specifically obtained based on the parameters of the first machine learning model, the historical user data of the first data processing device, and the target vector
  • the method further includes: the first data
  • the processing device obtains the target vector based on the first vector and the second vector after homomorphic encryption.
  • a first vector has N dimensions, and the N dimensions correspond to the identifiers of all historical user data in the system.
  • the first dimension of the first vector is taken as The value is used to indicate whether there is an identifier of the first historical user data among the identifiers of the historical user data acquired by the second data processing device, the first dimension corresponds to the identifier of the first historical user data, and the second vector and the first vector have the same dimension , the value of the first dimension of the second vector is used to indicate whether the identifier of the first historical user data exists in the identifiers of the historical user data of the first data processing device.
  • the historical user data acquired by the first data processing device and the historical user data acquired by the second data processing device have different feature spaces.
  • the embodiment of the present application provides a method for user data processing, including: the second data processing device receives the third intermediate result, the first intermediate result is based on the parameters of the first machine learning model and the first data processing The historical user data obtained by the device is obtained, and the third intermediate result is obtained from the first intermediate result based on the parameters of the first machine learning model and the target historical user data in the historical user data obtained by the first data processing device Yes, the identifier of the target historical user data is the same as the identifier of the historical user data of the second data processing device.
  • the second data processing device obtains the second intermediate result, the second intermediate result is obtained based on the parameters of the second machine learning model and the historical user data obtained by the second data processing device, and the second intermediate result and the first intermediate result are used for Parameters of the first machine learning model are updated.
  • the second data processing device updates the parameters of the second machine learning model according to the third intermediate result and the second intermediate result.
  • the method further includes: the second data processing device acquires parameters of multiple initial machine learning models, and one initial machine learning model is deployed in a third data processing device,
  • the historical user data acquired by any two third data processing devices have the same feature space but different data identifiers
  • the second data processing device is any third data processing device among the plurality of third data processing devices.
  • the second data processing device performs weighting processing on the acquired parameters of the multiple initial machine learning models to obtain weighted values.
  • the parameters of the initial machine learning model deployed on the second data processing device are updated according to the weighted value, so as to obtain the parameters of the second machine learning model.
  • the method further includes: the second data processing device generates a public public key according to the obtained first public key and the second public key, the first public key is the first data processing device generated by the device, and the second public key is generated by the second data processing device.
  • the second data processing device uses the public key to perform homomorphic encryption on the second intermediate result, the first private key or the second private key larger than the target number is used to decrypt the second intermediate result after the homomorphic encryption, and the first private key
  • the private key is generated by the first data processing device, and the second private key is generated by the second data processing device.
  • the method further includes: when the second data processing device acquires that the number of online data processing devices in the system is less than a threshold, sending the homomorphically encrypted data processing device to the online data processing device The parameters of the second machine learning model, so that the online data processing devices use their respective first private keys or second private keys to decrypt the homomorphically encrypted parameters of the second machine learning model, and the threshold value is greater than the target number.
  • the method further includes: the second data processing device receives the second machine learning model obtained after being decrypted by the online data processing device with its respective first private key or second private key parameters.
  • the second intermediate result is specifically obtained based on the parameters of the second machine learning model, the historical user data of the second data processing device, and the target vector
  • the method further includes: the second data
  • the processing device obtains the first vector, the first vector has N dimensions, and the N dimensions correspond to the identifiers of all historical user data in the system, and the value of the first dimension of the first vector is used to indicate the historical user data obtained by the second data processing device Whether there is an identifier of the first historical user data in the identifier of the data, and the first dimension corresponds to the identifier of the first historical user data.
  • the target vector based on the homomorphically encrypted second vector and the first vector the second vector and the first vector have the same dimension, and the value of the first dimension of the second vector is used to indicate the historical user of the first data processing device Whether there is an identifier of the first historical user data in the identifier of the data.
  • the historical user data acquired by the first data processing device and the historical user data acquired by the second data processing device have different feature spaces.
  • the embodiments of the present application provide a method for offline processing, including: a target data processing device generates a public key and a private key.
  • the target data processing device receives the respective generated public keys sent by other data processing devices in the system where the target data processing device is located to generate a public public key.
  • the target data processing device performs homomorphic encryption on the target data using the public public key.
  • the target data includes the parameters of the target machine learning model deployed on the target data processing device.
  • the private keys larger than the target number are used for Decrypt the homomorphically encrypted target data.
  • the target data processing device acquires that the number of online data processing devices among other data processing devices is less than the threshold, it sends the homomorphically encrypted target data to the online data processing device, so that the online data processing device decrypts it with the private key generated by each Homomorphically encrypted target data.
  • the method further includes: the target data processing device receives the target data obtained after being decrypted by the online data processing devices using their respective generated private keys.
  • the method further includes: the target data processing device acquires a first intermediate result, and the first intermediate result is based on the first machine learning model parameters and historical user data acquired by the first data processing device.
  • the target data processing device receives the second intermediate result, and the second intermediate result is obtained based on the parameters of the second machine learning model and the historical user data acquired by the second data processing device.
  • the target data processing device updates parameters of the first machine learning model according to the first intermediate result and the second intermediate result.
  • the target data processing device sends the third intermediate result to the second data processing device, the third intermediate result is obtained based on the parameters of the first machine learning model and the target historical user data in the historical user data acquired by the target data processing device,
  • the identification of the target historical user data is the same as the identification of the historical user data of the second data processing device, and the third intermediate result and the second intermediate result are used to update the parameters of the second machine learning model.
  • the first intermediate result is specifically obtained based on the parameters of the first machine learning model, the historical user data of the first data processing device, and the target vector
  • the method further includes: target data processing The device obtains the target vector based on the first vector and the second vector after homomorphic encryption.
  • a first vector has N dimensions, and the N dimensions correspond to the identification of all historical user data in the system.
  • the value of the first dimension of the first vector Used to indicate whether there is an identifier of the first historical user data among the identifiers of the historical user data acquired by the second data processing device, the first dimension corresponds to the identifier of the first historical user data, the second vector and the first vector have the same dimension, The value of the first dimension of the second vector is used to indicate whether the identifier of the first historical user data exists in the identifiers of the historical user data of the first data processing device.
  • the method further includes: the target data processing device receives a third intermediate result, and the first intermediate result is based on the first machine learning model parameters and the historical user data obtained by the first data processing device, and the third intermediate result is based on the parameters of the first machine learning model and the target historical user data in the historical user data obtained by the first data processing device from the obtained
  • the identifier of the target historical user data acquired in the first intermediate result is the same as the identifier of the historical user data of the second data processing device.
  • the target data processing device obtains a second intermediate result, the second intermediate result is obtained based on the parameters of the second machine learning model and the historical user data obtained by the second data processing device, and the second intermediate result and the first intermediate result are used for updating Parameters of the first machine learning model.
  • the target data processing device updates the parameters of the second machine learning model according to the third intermediate result and the second intermediate result.
  • the method further includes: the target data processing device acquires parameters of multiple initial machine learning models, one initial machine learning model is deployed in a third data processing device, any The historical user data acquired by the two third data processing devices have the same feature space but different data identifiers, and the second data processing device is any third data processing device among the plurality of third data processing devices.
  • the target data processing device performs weighting processing on the acquired parameters of the multiple initial machine learning models to obtain weighted values.
  • the target data processing device updates the parameters of the initial machine learning model deployed on the target data processing device according to the weighted value, so as to obtain the parameters of the second machine learning model.
  • the second intermediate result is specifically obtained based on the parameters of the second machine learning model, the historical user data of the second data processing device, and the target vector
  • the method further includes: target data processing The device acquires the first vector, the first vector has N dimensions, and the N dimensions correspond to the identification of all historical user data in the system, and the value of the first dimension of the first vector is used to indicate the historical user data acquired by the second data processing device Whether there is an identifier of the first historical user data in the identifier of , and the first dimension corresponds to the identifier of the first historical user data.
  • the target data processing device obtains the target vector based on the homomorphically encrypted second vector and the first vector, the second vector and the first vector have the same dimension, and the value of the first dimension of the second vector is used to indicate the first data processing Whether there is an identifier of the first historical user data in the identifiers of the historical user data of the device.
  • the embodiment of the present application provides a data processing system, the system includes a first data processing device and a second data processing device, the first data processing device is used to: obtain a first intermediate result, a first intermediate The result is obtained based on the parameters of the first machine learning model and the training samples obtained by the first data processing device. A second intermediate result is received, where the second intermediate result is obtained based on the parameters of the second machine learning model and the training samples obtained by the second data processing device. The parameters of the first machine learning model are updated according to the first intermediate result and the second intermediate result.
  • the third intermediate result is obtained based on the parameters of the first machine learning model, the target training sample in the training samples obtained by the first data processing device, and the identification of the target training sample It is the same as the identifier of the training sample acquired by the second data processing device.
  • the second data processing device is configured to: update the parameters of the second machine learning model according to the third intermediate result and the second intermediate result.
  • the system includes multiple third data processing devices, and the training samples obtained by any two third data processing devices have the same feature space and different sample identifiers, and the second The data processing device is any third data processing device among multiple third data processing devices, and each third data processing device is deployed with an initial machine learning model, and the second data processing device is also used to: obtain multiple parameters of an initial machine learning model. Weighting is performed on the acquired parameters of the multiple initial machine learning models to obtain weighted values. The parameters of the initial machine learning model deployed on the second data processing device are updated according to the weighted value, so as to obtain the parameters of the second machine learning model.
  • the first data processing device is further configured to: generate a first public key and a first private key.
  • the second data processing device is also used to: generate a second public key and a second private key, the first public key and the second public key are used to generate a public public key, and the public public key is used to verify the first intermediate result or the second
  • the intermediate result is homomorphically encrypted, and the first private key or the second private key larger than the target number is used to decrypt the homomorphically encrypted first intermediate result or the second intermediate result.
  • the second data processing device is further configured to: send the homomorphically encrypted The parameters of the second machine learning model, so that the online data processing devices use their respective first private keys or second private keys to decrypt the homomorphically encrypted parameters of the second machine learning model, and the threshold value is not less than the target number.
  • the second data processing device is further configured to: receive the second machine learning model obtained after being decrypted by the online data processing device with its respective first private key or second private key parameters.
  • the first data processing device is further configured to: send the homomorphically encrypted The parameters of the first machine learning model, so that the online data processing devices use their respective first private keys or second private keys to decrypt the homomorphically encrypted parameters of the first machine learning model, and the threshold value is greater than the target number.
  • the first data processing device is further configured to: receive the first machine learning model obtained after being decrypted by the online data processing device with its respective first private key or second private key parameters.
  • the second intermediate result is specifically obtained based on parameters of the second machine learning model, training samples and target vectors acquired by the second data processing device, the second data processing device, It is also used to: obtain the first vector, the first vector has N dimensions, and the N dimensions correspond to the identification of all training samples in the system, and the value of the first dimension of the first vector is used to indicate the training obtained by the second data processing device Whether there is an identifier of the first training sample in the identifier of the sample, and the first dimension corresponds to the identifier of the first training sample.
  • the target vector based on the second vector and the first vector after homomorphic encryption the second vector and the first vector have the same dimension, and the value of the first dimension of the second vector is used to indicate the training obtained by the first data processing device Whether the identification of the first training sample exists in the identification of the samples.
  • the first intermediate result is specifically obtained based on parameters of the first machine learning model, training samples and target vectors obtained by the first data processing device, the first data processing device, Also used for:
  • the target vector is obtained based on the homomorphically encrypted first vector and the second vector.
  • the training samples acquired by the first data processing device and the training samples acquired by the second data processing device have different feature spaces and the same sample identifier.
  • the present application provides an apparatus for processing user data.
  • the apparatus for processing user data is configured to execute the steps performed by the first data processing device, the second data processing device, or the target data processing device in any possible implementation manner provided in the second aspect to the fourth aspect.
  • the present application may divide the functional modules of the first data processing device, the second data processing device, and the target data processing device according to any of the methods provided in the second aspect to the fourth aspect above .
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the present application may divide the data processing device into a transceiver module, a processing module, and the like according to functions.
  • the description of the possible technical solutions and beneficial effects performed by the above-mentioned divided functional modules can refer to the technical solutions provided in the second aspect or its corresponding possible implementations, and the technical solutions provided in the third aspect or its corresponding possible implementations.
  • the technical solutions, or the technical solutions provided in the four aspects or their corresponding possible implementation manners, will not be repeated here.
  • the device for processing user data includes: a memory and a processor, and the memory and the processor are coupled.
  • the memory is used to store computer instructions
  • the processor is used to call the computer instructions to execute the method provided in the second aspect or its corresponding possible implementation manners, the method provided in the third aspect or its corresponding possible implementation manners, or the second aspect or its corresponding possible implementation manners.
  • the present application provides a computer-readable storage medium, such as a non-transitory computer-readable storage medium.
  • a computer program (or instruction) is stored thereon, and when the computer program (or instruction) is run on the computer device, the computer device is made to perform the method provided in the second aspect or its corresponding possible implementation manner, the third aspect The method provided in the fourth aspect or its corresponding possible implementation manner, or the method provided in the fourth aspect or its corresponding possible implementation manner.
  • the present application provides a computer program product, which, when run on a computer device, makes the method provided in the second aspect or its corresponding possible implementation manner, the third aspect or its corresponding possible implementation manner The method provided in the above aspect, or the method provided in the fourth aspect or its corresponding possible implementation manner is executed.
  • the present application provides a system on a chip, including: a processor, configured to call and run a computer program stored in the memory from a memory, and execute the computer program as provided in the second aspect or its corresponding possible implementation manners.
  • a processor configured to call and run a computer program stored in the memory from a memory, and execute the computer program as provided in the second aspect or its corresponding possible implementation manners.
  • Figure 1 is a schematic diagram of the architecture of a horizontal federated learning system
  • Fig. 2 is a schematic diagram of the architecture of a vertical federated learning system
  • FIG. 3 is a schematic flowchart of a method for updating a machine learning model provided in an embodiment of the present application
  • FIG. 4 is a schematic flowchart of another method for updating a machine learning model provided in an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another method for updating a machine learning model provided in an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of another method for updating a machine learning model provided in an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a method for offline processing provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of another method for handling dropped calls provided in the embodiment of the present application.
  • FIG. 9 is a schematic flowchart of a method for obtaining aligned samples provided by an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of a method for obtaining aligned samples provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of an update device for a machine learning model provided in an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of another device for updating a machine learning model provided by an embodiment of the present application.
  • the embodiment of this application provides a federated learning system, a data processing method and device based on federated learning.
  • Federated learning is a distributed machine learning paradigm in which multiple parties use their own data to jointly train artificial intelligence (AI) models without pooling data from multiple parties.
  • the traditional machine learning paradigm needs to gather a large amount of data for model training, and the data used for training is likely to come from multiple different organizations or users or participants or clients.
  • the aggregation of multi-party data is very likely to cause the risk of data leakage.
  • the existence of the above problems poses a severe challenge to the training of AI models.
  • federated learning technology came into being.
  • Federated learning allows multi-party data to be kept locally without multi-party data aggregation, and multiple parties jointly train the AI model through collaborative computing (secure) and interactive intermediate computing results.
  • the multi-party user data is protected, and the multi-party data can be fully utilized to jointly train the model, thereby obtaining a more powerful model.
  • federated learning can be divided into horizontal federation and vertical federation.
  • the horizontal federation is oriented to the multi-party collaborative modeling problem with the same data characteristics but inconsistent data distribution.
  • the participants of the horizontal federation have the same training data feature space, but different sample spaces.
  • Vertical federation is oriented to the collaborative modeling problem in the scenario where the data characteristics are different, but multiple parties have the same sample (user).
  • the training data feature space of the participants of the vertical federation is different, but the sample space is the same.
  • FIG. 1 it is a schematic diagram of the architecture of a horizontal federated learning system.
  • the structure of the horizontal federated learning system generally includes a collaborator and multiple clients as participants.
  • the training data of the models maintained by the multiple participants have the same data feature space but different sample spaces.
  • the workflow mainly includes the process of model delivery and model fusion.
  • the participant downloads the model from the collaborator, trains the model downloaded from the collaborator through the locally stored training data, and uploads the model to the collaborator after the training reaches a certain level, which can be understood as Train for a fixed number of rounds.
  • the collaborating party will collect the models uploaded by each participant and perform model fusion.
  • the two processes of model distribution process and model fusion process will be iterated repeatedly until the model converges.
  • this application sometimes refers to the collaborating party as a central server or a server, both of which have the same meaning.
  • the server may be a cloud server or a cloud-side device.
  • the client is sometimes referred to as end-side equipment, data processing device or user information management equipment, and they have the same meaning.
  • reality, AR)/virtual reality (virtual reality, VR), vehicle-mounted terminals, equipment for security (such as surveillance camera equipment, smoke alarm equipment, fire extinguishing equipment), smart speakers, etc. can also be physical machines, virtual machines, integrated machine and so on.
  • the models in this application include neural network models, and this application does not limit the specific types of models.
  • the models in this application can be convolutional neural network models, recurrent neural network models, deep residual Poor network models and more. The content of this paragraph will not be repeated below.
  • FIG. 2 it is a schematic diagram of the architecture of a vertical federated learning system.
  • the structure of vertical federated learning system generally includes a collaborator and multiple clients as participants.
  • the training data of the models maintained by the multiple participants have the characteristics of different data feature spaces but the same sample space. Since in the vertical federated learning system, the user groups of the multi-party participants are different, it is necessary to align the data maintained by the multi-party to ensure that the sample space of the training samples of the model maintained by the multi-party is the same.
  • multiple parties need to exchange intermediate calculation results, so that multiple parties can calculate loss and gradient values independently. To do this, the collaborating party creates a key pair and sends the public key to the multi-party participants.
  • the participants use the public key to encrypt and exchange the intermediate results obtained by them. Intermediate results are used to help calculate gradient and loss values. Participants compute encrypted gradients and add additional masks respectively. One of the parties also calculates the cryptographic loss. The multi-party participants send the encrypted results to the collaborators respectively. The collaborating parties decrypt the gradient and loss information and send the results back to the multi-party participants. Multi-party participants unmask the gradient information and update local model parameters based on these gradient information.
  • horizontal federation and vertical federation provide different training schemes for different scenarios, specifically, horizontal federation can only use the same feature space and data from different sample spaces as training samples to train the model, and vertical federation can only use different feature spaces , the data in the same sample space are used as training samples to train the model.
  • Specific scenarios may include the need to use data from different telecom operators (same feature space, different sample space) and e-commerce data (different feature space from telecom operator data, same sample space) for joint training Model.
  • the training samples used cannot provide sufficient information, the performance of the trained model is not good enough, and the prediction result of the trained model is not accurate enough.
  • the solution provided by the embodiment of the present application can broaden the application scenarios of federated learning, improve the performance of the model, and make the prediction result of the trained model more accurate.
  • FIG. 3 it is a schematic diagram of the architecture of a federated learning system provided by the embodiment of the present application.
  • the system provided by the embodiment of the present application includes at least 3 participants, and the embodiments of the present application sometimes refer to the participants as devices, devices, and clients, and they have the same meaning.
  • Each participant maintains its own data and uses its own data to train the model.
  • three participants A1, A2, and B are taken as examples below to introduce the solution provided by the embodiment of the present application.
  • the training samples of the model maintained by the participant A1 and the training samples of the model maintained by the participant A2 have the same feature space but different sample spaces.
  • the training samples of the model maintained by participant B and the training samples of the model maintained by participant A1 (or A2) have different feature spaces but the same sample space.
  • training samples having different feature spaces and the same sample space are also referred to as aligned samples.
  • participant A1 and participant A2 are referred to as type A users (or type A participants, type A participants) below, and participant B is referred to as type B users (or type B participants, type B users). class participants).
  • each data of type A users is represented by the first set of vectors
  • each data of type B users is represented by the second set of vectors, the distribution of the first set of vectors and the distribution of the second set of vectors different.
  • Each object can be divided into two parts according to the feature subset FA and the feature subset FB:
  • D can be divided into two data subsets D A and D B according to the feature subset F A and the feature subset F B , namely:
  • Type B user data label Y ⁇ y 1 ,y 2 ,...,y P ⁇ .
  • the B-type user data label Y is used to distinguish different objects, and the B-type user data Y is a concept that exists logically.
  • Type A users can be divided into N users from A1 to AN, and Type B users can also be divided into N users, defined as B1 to BN in total. .
  • the data DA, DB, and Y defined above can be split according to the physical distribution of real data, and split into different real physical data sets.
  • the data set D A can be split into D A1 to D AN
  • the data set DB can be split into DB1 to D BN
  • the label Y can be split into Y 1 to Y N .
  • the training samples of the models maintained by the various participants included in the system may be data in the same feature space but different sample spaces, or data in different feature spaces but the same sample space.
  • Participant A1 obtains the first intermediate result 1 according to the A1 model (the parameters of the A1 model) and the training samples of the A1 model.
  • the output obtained by each participant is called an intermediate result.
  • the training sample of the A1 model is used as the input of the A1 model to obtain the first intermediate result 1.
  • the feature extraction can be performed on the training sample according to the A1 model to obtain the feature vector, and then multiplication is performed according to the feature vector and the parameters of the A1 model operation to obtain the first intermediate result 1.
  • the training samples of the A1 model are the data that the participant A1 can obtain, such as the data generated by the participant A1, the data saved by the participant A1, or the data that the participant A1 has the authority to obtain.
  • the participant A1 Training samples can be obtained through various channels.
  • the data type of the training samples may be user data, service data, product data, etc., and the data types of the training samples in the embodiment of the present application may be of various types.
  • the data type of the training samples is user data.
  • the participant A2 obtains the first intermediate result 2 according to the A2 model (parameters of the A2 model) and the training samples of the A2 model.
  • Step 301' can be understood with reference to the steps performed by the participant A1 in step 301, and will not be repeated here.
  • participant B obtains a second intermediate result according to the aligned samples of the respective training samples of participant A1 and participant A2.
  • aligning samples For the understanding of aligning samples, refer to the above, and will not repeat them here.
  • the alignment samples that meet the training samples of participant B and participant A1 and the alignment samples that obtain training samples of participant B and participant A2 will be introduced below and will not be discussed here.
  • the participant B obtains the second intermediate result according to the parameters of the B model maintained by the participant B and the aligned samples of the respective training samples of the participant A1 and the participant A2.
  • the process of how to obtain intermediate results based on the training samples of the model can be understood by referring to the steps performed by the participant A1 in step 301, and will not be repeated here.
  • different weights may be set for different acquired second intermediate results according to the number of training samples of participant A1 and the number of training samples of participant A2. For example, if the number of training samples of participant A1 is greater than the number of training samples of participant A2, the weight of the second intermediate result obtained through the aligned samples of training samples of participant A1 is greater than that of the training samples of participant A2. The weight of the second intermediate result obtained by the alignment samples of the participant A1 is greater.
  • the number of training samples of the participant A1 is less than the number of training samples of the participant A2, and the weight obtained by the alignment samples of the training samples of the participant A1 is The weight of the second intermediate result is smaller than the weight of the second intermediate result obtained through the aligned samples of the training samples of the participant A2.
  • the first weighted value can better reflect the information carried in the training samples of participant A1 and the information carried in the training samples of participant A2.
  • the participant B sends part of the second intermediate result to the participant A1 according to the alignment sample.
  • the participant B sends another part of the second intermediate result to the participant A2 according to the alignment sample.
  • Step 302 and step 302' are used to indicate that participant B sends different second intermediate results to participants of different A types according to the alignment samples.
  • participant A1 obtains intermediate result 1, intermediate result 2, and intermediate result 3 respectively for the maintained training sample 1, training sample 2, and training sample 3, that is, the first intermediate result 1 includes intermediate result 1, intermediate result 2, and Intermediate result 3.
  • Participant A2 obtains intermediate result 4, intermediate result 5, and intermediate result 6 respectively for the maintained training sample 4, training sample 5, and training sample 6, that is, another first intermediate result (first intermediate result 2) includes the intermediate result 4.
  • Intermediate result 5 and intermediate result 6. Assume that the aligned samples of training sample 1, training sample 2, and training sample 3 are training sample 1', training sample 2', and training sample 3' respectively; the aligned samples of training sample 4, training sample 5, and training sample 6 are training samples 4', training sample 5', training sample 6'.
  • the training samples of participant B include training samples 1', training samples 2', training samples 3', training samples 4', training samples 5' and training samples 6'.
  • the intermediate results obtained by participant B for training sample 1', training sample 2', training sample 3', training sample 4', training sample 5' and training sample 6' are intermediate result 1', intermediate result 2', Intermediate result 3', intermediate result 4', intermediate result 5' and intermediate result 6'. That is, each of intermediate result 1', intermediate result 2', intermediate result 3', intermediate result 4', intermediate result 5' and intermediate result 6' is equivalent to the second intermediate result.
  • intermediate result 1', intermediate result 2', and intermediate result 3' are obtained based on training sample 1', training sample 2', and training sample 3'
  • training sample 1', training sample 2', and training sample 3' are The alignment samples of training sample 1, training sample 2, and training sample 3, and training sample 1, training sample 2, and training sample 3 are training samples maintained by participant A1, so the second intermediate result sent by participant B to participant A1 Including intermediate result 1', intermediate result 2' and intermediate result 3'.
  • the second intermediate result sent by participant B to participant A2 includes intermediate result 4', intermediate result 5' and intermediate result 6'.
  • the participant A1 uses the received second intermediate result and the first intermediate result 1 to update the parameters of the A1 model.
  • the participant A2 uses the received second intermediate result and the first intermediate result 2 to update the parameters of the A2 model.
  • participant B uses the second intermediate result, the first intermediate result 1 and the second intermediate result 2 to update the parameters of the model B.
  • participant B and participant A1 are participants in the vertical federated training
  • participant B and participant A2 are participants in the vertical federated training.
  • participant B After participant B obtains multiple first intermediate results, it sends different second intermediate results to participant A1 and participant A2.
  • participant B integrates the information provided by the training samples maintained by itself and the information provided by the samples maintained by participant A1 and participant A2 respectively.
  • the information provided by the sample maintained by party A1 or the information provided by the sample maintained by participant A2 can only be used.
  • the solution provided by the embodiment of this application can obtain a model with better performance.
  • participant A1 and participant A2 are participants in horizontal federated training.
  • participant B uses the information provided by the samples maintained by participant A1 and participant A2 to update the parameters of the model it maintains, when continuously using The updated model obtains the second intermediate result, and passes different second intermediate results to participant A1 and participant A2, and also enables participant A1 and participant A2 to indirectly use other A-type devices other than themselves Maintained samples provide information.
  • the participant A1 obtains the initialization model parameter WA1.
  • the participant A1 obtains the parameters of the initial model.
  • the models in this application include neural network models, and this application does not limit the specific types of models.
  • the models in this application can be convolutional neural network models, recurrent neural network models, deep residual network models, and so on. The definition and understanding of the model will not be repeated below.
  • participant A1 may obtain an initial model locally, and perform random initialization on parameters of the initial model.
  • the participant A1 may obtain the initial model from other devices, such as obtaining the initial model from a cloud-side device.
  • the participant A2 obtains the initialization model parameter WA2.
  • the participant A2 may obtain the initial model locally, and randomly initialize the parameters of the initial model.
  • the participant A2 may obtain the initial model from other devices, such as obtaining the initial model from a cloud-side device.
  • the initialization model obtained by participant A2 is the same as the initialization model obtained by participant A1, that is, WA2 is the same as WA1. In a possible implementation manner, the initialization model obtained by participant A2 is different from the initialization model obtained by participant A1, that is, WA2 is different from WA1.
  • participant B obtains the initialization model parameter WB.
  • participant B may obtain an initial model locally, and randomly initialize parameters of the initial model.
  • participant B may obtain the initial model from other devices, such as obtaining the initial model from a cloud-side device.
  • Participant A1 obtains an intermediate result U1 based on WA1 and A1's local data.
  • Step 402 can be understood with reference to step 301 in the embodiment corresponding to FIG. 3 .
  • feature extraction can be performed on the local data of A1 to obtain the feature vector, and then multiplication is performed according to the feature vector and the model parameters (here WA1) maintained by participant A1 to obtain the intermediate result U1 .
  • WA1 model parameters
  • Participant A2 obtains an intermediate result U2 based on WA2 and A2's local data.
  • Step 402' can be understood with reference to step 301' in the embodiment corresponding to FIG. 3 .
  • feature extraction can be performed on the local data of A2 to obtain the feature vector, and then multiplication is performed according to the feature vector and the model parameters (here WA2) maintained by participant A2 to obtain the intermediate result U2 .
  • WA2 model parameters
  • participant B obtains an intermediate result U3 based on WB and B's local data.
  • Step 402" can be understood with reference to step 301" in the embodiment corresponding to FIG. 3 , and details are not repeated here.
  • Participant B sends part U3 to participant A1.
  • participant B sends another part of U3 to participant A2.
  • Step 404 and step 404' can be understood with reference to step 302 and step 302' in the embodiment corresponding to FIG. 3 , and details are not repeated here.
  • the participant A1 acquires the gradient G1 based on U1, the received U3 and A1's local data.
  • Weight vector for example, if the predicted value of the model is high, adjust the weight vector to make the prediction lower, and keep adjusting until the model can predict the desired target value. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value", which is the loss function (loss function) or objective function (objective function), which is used to measure the difference between the predicted value and the target value important equation.
  • the gradient is the amount of change in the model parameters during the training process of the model, which can reflect the change trend of the loss value.
  • the prediction value of the model maintained by participant A1 can be determined according to the calculation between UA and U3 received by participant A1, the real value to be predicted can be determined according to the local data of A1, and the gradient G1 can be determined according to the difference between the two.
  • participant A2 obtains gradient G2 based on U2, received U3 and local data of A2.
  • the prediction value of the model maintained by participant A2 can be determined according to the calculation between UA and U3 received by participant A2, the real value to be predicted can be determined according to the local data of A2, and the gradient G2 can be determined according to the difference between the two.
  • participant B obtains gradient G3 based on U1, U2, U3 and B's local data.
  • the predicted value of the model maintained by participant B can be determined according to U1, U2 and U3, the value that is really wanted to be predicted can be determined according to B’s local data, and the gradient G3 can be determined according to the difference between the two.
  • the participant A1 updates the model WA1 according to G1.
  • the participant A2 updates the model WA2 according to G2.
  • participant B updates model WB according to G3.
  • the participant A1 obtains whether the iterative training condition is satisfied.
  • participant A1 acquires that the currently maintained model has converged, it determines that the condition for stopping iterative training has been met, and does not continue iterative training for the model maintained by participant A1.
  • participant A1 acquires that the currently maintained model has converged, it determines that the condition for stopping iterative training has been met, and does not continue iterative training for the model maintained by participant A1.
  • participant A1 acquires that the currently maintained model has converged, it determines that the condition for stopping iterative training has been met, and does not continue iterative training for the model maintained by participant A1.
  • the number of rounds of iterative training obtained by participant A1 reaches the preset number, it is determined that the condition for stopping iterative training has been met, and the iterative training for the model maintained by participant A1 is no longer continued.
  • step 402 to step 407 are repeatedly executed.
  • the initialization parameter WA1 has been updated, and the steps related to the initialization parameter WA1 in steps 402 to 407 should replace WA1 with the parameters of the model currently maintained by participant A1 , which will not be repeated below.
  • step 402 is correspondingly changed to obtain the intermediate result U1 according to the parameters of the model currently maintained by participant A1 and the local data of participant A1.
  • step 406 is correspondingly changed to update the parameters of the model currently maintained by participant A1 according to G1.
  • the participant A2 obtains whether the iterative training condition is satisfied.
  • the conditions for iterative training can be understood by referring to the introduction about whether A1 acquisition satisfies the iterative training conditions in step 407 .
  • participant A2 obtains that the iterative training condition has been satisfied, iterative training of the model maintained by participant A2 is stopped.
  • step 402' to step 407' are repeatedly executed.
  • the initialization parameter WA2 has been updated, and the steps related to the initialization parameter WA2 in steps 402' to 407' should replace WA2 with the model currently maintained by participant A2 parameters, which will not be repeated below.
  • step 402' is correspondingly changed to obtain the intermediate result U2 according to the parameters of the model currently maintained by participant A2 and the local data of participant A2.
  • Step 406' is correspondingly changed to update the parameters of the model currently maintained by participant A2 according to G2.
  • participant B obtains whether the iterative training condition is satisfied.
  • the conditions for the iterative training can be understood by referring to the determination of whether A1 satisfies the iterative training conditions in step 407 .
  • participant B obtains that the iterative training condition has been met, then stop iterative training of the model maintained by participant A2.
  • step 402" to step 407" are repeatedly executed.
  • the initialization parameter WB has been updated, and the parameters of the models maintained by participant A1 and participant A2 have also been updated.
  • the steps related to WB, WA1, and WA2 should be replaced by calculation based on the current parameters of the models maintained by each participant, and will not be repeated below.
  • step 402" is correspondingly changed to obtain the intermediate result U3 according to the parameters of the model currently maintained by participant B and local data of participant B.
  • Step 406" is correspondingly changed to update the parameters of the model currently maintained by participant B according to G2.
  • participant participating in federated training can be divided into two categories, type A participants and type B participants.
  • type A participants there are multiple participants of type A and type B (for the sake of illustration, there is only one participant of type B participating in model training in the figure above).
  • Different participants A1-AN belonging to the same class (such as class A) have the same feature space of data, but different sample spaces.
  • the feature spaces of the data belonging to different types of participants (such as participants of type A and participants of type B) are different but have the same data identification ID between them (that is, different features of the same data sample are in the A and B respectively).
  • B side i.e. the same sample space).
  • the data ID is sometimes referred to as the sample ID, and they have the same meaning.
  • the parameters of the models maintained by the participants of type A can also be uniformly processed. Referring to FIG. 5 below, this will be introduced in combination with specific embodiments.
  • the participant A1 obtains the initialization model parameter WA1.
  • the participant A2 obtains the initialization model parameter WA2.
  • participant B obtains the initialization model parameter WB.
  • Steps 501 to 501" can be understood with reference to steps 401 to 401" in the embodiment corresponding to FIG. 4 , and will not be repeated here.
  • Participant A1 broadcasts the current parameters of the model, receives parameters sent by other A-type participants, and performs parameter weighting to obtain WA.
  • participant A1 broadcasts WA1 to other A-type participants.
  • participant A1 will also receive the current parameters of the models maintained by other participants of type A.
  • participant A1 will also receive the current parameters of the model maintained by participant A2 broadcast by participant A2.
  • participant A2 maintains The current parameter of the model is W2, and participant A1 receives the parameter W2 broadcast by participant A2.
  • Participant A1 weights the obtained current parameters of the models maintained by all participants of type A to obtain WA.
  • participant A1 calculates an average value of the obtained current parameters of the models maintained by all participants of type A, and the average value is WA.
  • participant A1 may sum up the obtained current parameters of the models maintained by all type A participants, and the sum of the two is the first weighted value.
  • weights of current parameters of the models maintained by all type A participants may be obtained according to the number of training samples of the models maintained by all type A participants.
  • the number of training samples is proportional to the weight. For example, if the number of training samples of participant A1 is greater than the number of training samples of participant A2, the weight of the current parameters of the model maintained by participant A1 is greater than the weight of the current parameters of the model maintained by participant A2. If the number of training samples of participant A1 is less than that of participant A2, the weight of the current parameters of the model maintained by participant A1 is smaller than the weight of the current parameters of the model maintained by participant A2.
  • the participant A2 broadcasts the current parameters of the model, receives parameters sent by other A-type participants, and weights the parameters to obtain WA.
  • Step 502' can be understood with reference to the process performed by participant A1 in step 501, and will not be repeated here.
  • the participant A1 obtains the intermediate result U1 based on the local data of WA and A1.
  • the participant A1 obtains the intermediate result U1 based on the local data of WA1 and A1 , and each type A participant obtains the intermediate result based on its own parameters.
  • the parameters of the models maintained by each type A participant are different. Therefore, for the entire federated system, multiple parameters need to be optimized, which consumes a lot of computing power.
  • the parameters of the model maintained by participant A1 are replaced by WA.
  • the parameters of the models maintained by each type A parameter party are the same, so for As far as the entire federated system is concerned, the number of parameters that need to be optimized is greatly reduced, saving computing power and improving the efficiency of training.
  • Participant A2 obtains an intermediate result U2 based on WA and A2's local data.
  • participant A2 replaces the parameters of the model maintained by participant A2 with WA, ensuring that the parameters of the models maintained by each type A parameter party are the same , saving computing power, which is conducive to improving the efficiency of training.
  • participant B obtains an intermediate result U3 based on WB and B's local data.
  • Participant B sends part U3 to participant A1.
  • participant B sends another part of U3 to participant A2.
  • Participant A1 acquires gradient G1 based on U1, received U3 and A1's local data.
  • participant A2 obtains gradient G2 based on U2 and received local data of U3 and A2.
  • participant B obtains gradient G3 based on U1, U2, U3 and B's local data.
  • Participant A1 updates the current parameters of the model according to G1.
  • Participant A2 updates the current parameters of the model according to G2.
  • participant B updates the current parameters of the model according to G3.
  • the participant A1 acquires whether the iterative training condition is satisfied.
  • the participant A2 obtains whether the iterative training condition is satisfied.
  • participant B obtains whether the iterative training condition is satisfied.
  • Steps 503 ′′ to 508 ′′ can be understood with reference to steps 402 ′′ to 407 ′′ in the embodiment corresponding to FIG. 4 , and will not be repeated here.
  • each type A participant broadcasts the parameters of the model maintained by each type A participant, so that each type A participant can obtain the parameters of the models maintained by other type A participants and obtain WA.
  • each type A participant can also send the parameters of the model they maintain to a certain device (such as a certain type A participant or other device), and the device obtains each A type After the parameters of the models maintained by the participants of each type, the weighted processing is performed to obtain WA, and then the WA is broadcast to each type A participant.
  • a type A participant satisfies the iterative training condition, after performing steps 502 and 502' repeatedly, it is determined that the model obtained after performing steps 502 and 502' is the final trained model .
  • participant A1 meets the iterative training conditions, it knows that other A-type participants also meet the iterative training conditions, then participant A1 broadcasts the current parameters of the model, and receives the parameters sent by other A-type participants to perform parameter training.
  • the weighted process obtains WA, and then uses WA to update the current parameters of the model maintained by participant A1 to obtain the final model.
  • the parameters of the models maintained by each type A participant are the same.
  • the data sent by each participant may also be encrypted. Referring to FIG. 6 , the specific implementation will be described below.
  • the participant A1 obtains the initialization model parameter WA1.
  • the participant A2 obtains the initialization model parameter WA2.
  • participant B obtains the initialization model parameter WB.
  • Steps 601 to 601" can be understood with reference to steps 401 to 401" in the embodiment corresponding to FIG. 4 , and details are not repeated here.
  • each participant in the system sends its own public key to other participants.
  • each participant in the system generates a public key and a private key, and sends the generated public key to other participants in the system.
  • participant A1 generates a first public key and a first private key, and sends the first public key to participant A2 and participant B.
  • Participant A2 generates a second public key and a second private key, and sends the second public key to participant A1 and participant B.
  • Participant B generates a third public key and a third private key, and sends the third public key to participant A1 and participant A2.
  • the public key described in the embodiment of this application refers to a key used for encryption when performing homomorphic encryption
  • the private key refers to a key used for decryption when performing homomorphic encryption.
  • Homomorphic encryption is a form of encryption that allows people to perform specific forms of algebraic operations on ciphertext to obtain results that are still encrypted. Use the key in the homomorphic key pair to decrypt the result of the operation on the homomorphically encrypted data, which is the same as the result of the same operation on the plaintext.
  • Participant A1 broadcasts the current parameters of the model, receives parameters sent by other A-type participants, and performs parameter weighting to obtain WA.
  • participant A1 uses the public key generated by participant A1 to perform homomorphic encryption on the current parameters of the model maintained by participant A1. What participant A1 broadcasts is the current parameters of the model after homomorphic encryption.
  • Participant A1 receives the parameters after homomorphic encryption sent by other participants of type A. Since the key in the homomorphic key pair is used to decrypt the result of the operation on the homomorphically encrypted data, it is different from the plaintext. The result of the same operation is the same, so it will not affect the weighting process of the received homomorphically encrypted parameters by the participant A1 to obtain WA.
  • Participant A2 broadcasts the current parameters of the model, receives parameters sent by other A-type participants, and performs parameter weighting to obtain WA.
  • Step 603' can be understood with reference to the process performed by participant A1 in step 603, and will not be repeated here.
  • the participant A1 obtains the intermediate result U1 based on the local data of WA and A1.
  • WA Since WA is obtained based on homomorphically encrypted data, WA is regarded as homomorphically encrypted data. Specifically, it can be understood with reference to step 402 in the embodiment corresponding to FIG. 4 , and details are not repeated here.
  • Participant A1 uses the generated public key to perform homomorphic encryption on the intermediate result U1, and sends the homomorphically encrypted U1 to the participant.
  • Participant A2 obtains an intermediate result U2 based on WA and A2's local data.
  • WA Since WA is obtained based on homomorphically encrypted data, WA is regarded as homomorphically encrypted data. Specifically, it can be understood with reference to step 402' in the embodiment corresponding to FIG. 4 , and details are not repeated here.
  • Participant A2 uses the generated public key to perform homomorphic encryption on the intermediate result U2, and sends the homomorphically encrypted U2 to the participant.
  • participant B obtains an intermediate result U3 based on WB and B's local data.
  • step 402" in the embodiment corresponding to FIG. 4, and details are not repeated here.
  • the participant B sends the homomorphically encrypted part U3 to the participant A1.
  • Participant B uses the generated public key to perform homomorphic encryption on UA, and participant B uses the generated public key to perform homomorphic encryption on U3.
  • Participant B sends another part U3 after homomorphic encryption to participant A2.
  • Participant A1 acquires gradient G1 based on U1, received U3 and A1's local data.
  • participant A2 acquires gradient G2 based on U2, received U3 and local data of A2.
  • participant B obtains gradient G3 based on U1, U2, U3 and B's local data.
  • Participant A1 updates the current parameters of the model according to G1.
  • Participant A2 updates the current parameters of the model according to G2.
  • participant B updates the current parameters of the model according to G3.
  • the participant A1 obtains whether the iterative training condition is satisfied.
  • the participant A2 acquires whether the iterative training condition is satisfied.
  • participant B obtains whether the iterative training condition is satisfied.
  • steps 607 to 611" can be understood with reference to steps 405 to 407" in the embodiment corresponding to FIG. 4 , and will not be repeated here.
  • step 603 and step 603' may not be executed, and each participant In the state, the parameters of the models maintained by each type A participant are different.
  • each participant in the system generates its own public key and private key, without relying on a third party to generate the public key and private key. Concise, better privacy. It should be noted that, in some possible implementation manners, a third party may also be relied upon to generate the public key and private key, and each participant in the system uses the public key generated by the third party to encrypt data to be sent.
  • each participant in the system generates a public key and a private key respectively, and uses the generated public keys to perform homomorphic encryption on the data sent by them.
  • the public keys generated by multiple participants in the system can be used to generate a public public key, and the data sent by each participant can be homomorphically encrypted through the public public key.
  • the public keys generated by all participants in the system can be used to generate a public public key, and the data sent by each participant can be homomorphically encrypted using the public public key.
  • private keys larger than the target number may also be set to decrypt the homomorphically encrypted data.
  • the target quantity can be set based on the number of current online devices in the system, and the target quantity can be reset as the data of the online devices in the system changes.
  • the number of private keys larger than the target number is set to decrypt the data after homomorphic encryption, if the number of participants in the system is too many offline, there may be a problem that there are not enough private keys in the system for the same The state encrypted data is decrypted. Referring to FIG. 7 below, how to deal with such a disconnection scenario will be introduced in combination with specific implementation methods.
  • the equipment participating in the federated training can be any participant in the system described in the above embodiments, or any participant in other types of federated learning systems other than the above embodiments, such as Figure 1 Or participant A or participant B in the architecture depicted in FIG. 2 .
  • the threshold can be set according to the total number of devices actually included in the system and actual scenario requirements. Among them, the threshold needs to be not less than the target number. When the number of offline devices in the system is too large, the system will not be able to provide a sufficient number (target number) of private keys to decrypt the data after homomorphic encryption. Whether the number is less than the threshold, to obtain in advance whether a sufficient number of private keys can be provided in the system to decrypt the homomorphically encrypted data.
  • the devices participating in the federation training need to obtain the decrypted data in advance, and the online devices can use their private keys to decrypt the homomorphically encrypted parameters.
  • each participant in the system will also interact, and each online device can be stored locally and decrypted using its own private key through a secret sharing method (also known as a homomorphic encryption-to-secret sharing method). After the data. Through the subsequent interaction process, the participant A1 can obtain the decrypted parameters.
  • a secret sharing method also known as a homomorphic encryption-to-secret sharing method
  • participant A1 After participant A1 obtains the decrypted parameters, it uses the regenerated public key to re-encrypt the decrypted parameters with homomorphic encryption.
  • the regenerated public key is generated by using a public key generated by an online device in the current system. Since the number of online devices in the current system has decreased, the target number is also set lower, and the threshold is not less than the target number, and the threshold is also set lower.
  • the online devices can use their own private keys to decrypt the homomorphically encrypted parameters, and then send the data decrypted using their own private keys to the devices participating in the federation training.
  • the participant A1 obtains the initialization model parameter WA1.
  • the participant A1 uses the current parameters of the public key homomorphic encryption model.
  • the participant A1 broadcasts the current parameters of the homomorphically encrypted model.
  • the participant A1 receives the parameters of the homomorphically encrypted model of other A-type parameter parties.
  • the participant A1 weights the obtained parameters to obtain WA.
  • the participant A1 obtains the intermediate result U1 based on the local data of WA and A1.
  • the participant A1 sends the homomorphically encrypted U1 to the participant B.
  • the participant A1 receives the homomorphically encrypted UA and the homomorphically encrypted U3.
  • Participant A1 acquires gradient G1 based on UA, U3 and A1's local data.
  • the participant A1 updates the current parameters of the model according to the gradient G1.
  • the participant A1 acquires whether the iterative training condition is satisfied.
  • Steps 801 to 811 can be understood with reference to the steps performed by participant A1 in the embodiment corresponding to FIG. 6 , and details are not repeated here.
  • the participant A1 obtains whether the number of online devices is less than a threshold.
  • the threshold can be set according to the total number of devices actually included in the system and actual scenario requirements. Among them, the threshold needs to be not less than the target number. When the number of offline devices in the system is too large, the system will not be able to provide a sufficient number (target number) of private keys to decrypt the data after homomorphic encryption. Before that, participant A1 obtains the number of online devices Whether it is less than the threshold value, to obtain in advance whether the system can provide a sufficient number of private keys to decrypt the data after homomorphic encryption.
  • step 803 is performed, that is, the process of iterative training is normally performed.
  • the iterative training process is normally performed at this time, specifically, step 803 to step 811 are performed.
  • the iterative training process is no longer performed, and participant A1 can obtain whether the number of online devices is less than the threshold again, and if it is not less than the threshold, it is considered Finished training.
  • participant A1 needs to obtain the decrypted data in advance, use the public key generated by the current online device to regenerate a new public public key, and use the newly generated public public key to re-encrypt the data homomorphically .
  • steps 813-813' are performed.
  • Participant A1 sends the current parameters of the model maintained by participant A1 after homomorphic encryption to the currently online devices in the system, and the online devices can use their private keys to decrypt the parameters after homomorphic encryption.
  • the homomorphically encrypted data is homomorphically encrypted data using a public public key, and a private key larger than the target number is required to decrypt the homomorphically encrypted data. Since the number of online devices obtained by participant A1 is less than the threshold and not less than the target number, there are enough private keys in the system to decrypt the homomorphically encrypted data to obtain the decrypted data.
  • the online devices may send the decrypted data using their respective private keys to the participant A1, so that the participant A1 can obtain the decrypted parameters after fusing the data sent by each online device.
  • participant A1 After participant A1 obtains the decrypted parameters, it uses the regenerated public key to re-encrypt the decrypted parameters with homomorphic encryption.
  • the regenerated public key is generated by using a public key generated by an online device in the current system. Since the number of online devices in the current system has decreased, the target number is also set lower, and the threshold is not less than the target number, and the threshold is also set lower.
  • the online device may not send data decrypted with its own private key to participant A1.
  • Each online device saves locally the data decrypted with its own private key through secret sharing.
  • the participant A1 can obtain the decrypted parameters. Specifically, in a possible implementation, if the number of online devices acquired by participant A1 is less than the threshold, participant A1 sends the current model of the model maintained by participant A1 after homomorphic encryption to the currently online devices in the system.
  • the online device After the online device receives the current parameters of the homomorphically encrypted model sent by A1, it randomly generates a random initialization model with the same structure as the model parameter locally, and uses the homomorphically encrypted model parameters sent by A1 to reduce Go to the random initialization model randomly generated locally, keep your own random initialization model locally as the local secret sharing model of the A1 model, and use their own private keys to decrypt the model parameters obtained after the subtraction, and online devices use their own private key
  • the data decrypted by the key (the model still in the homomorphic encryption state after the ciphertext model minus the randomly generated local secret sharing model) is sent to the participant A1, so that the participant A1 fuses the data sent by each online device, Get the secret shared model of your own original model.
  • each participant in the system will also interact, and the newly generated public key will be used to homomorphically encrypt the secret sharing model of each online device, and aggregate (summation) to complete the model conversion.
  • Type B participants can obtain whether the number of online devices is less than the threshold before executing whether the iterative training conditions are met, or after updating the current parameters of the model according to the gradient.
  • the threshold When it is less than the threshold, perform normal iterative training process, when it is not less than the threshold, send the current parameters of the model maintained by participant B after homomorphic encryption to the online device, and the online devices can use their private keys to decrypt the parameters after homomorphic encryption.
  • steps 812 to 815 performed by participant A1, and will not be described in detail here.
  • the above embodiment introduces that in the vertical federated learning system, the user groups of the multi-party participants are different, and the data maintained by the multi-party needs to be aligned to ensure that the sample space of the training samples of the model maintained by the multi-party is the same.
  • multiple parties participating in the vertical federation can find the intersection of users between different parties by means of encrypted sample alignment, so as to use the user data with intersection to carry out collaborative modeling (users that only exist in one party, their data is shared among multiple parties) do not exist at the same time, so multiple parties cannot leverage this user's data for collaborative modeling).
  • the encrypted sample alignment method is not used, if multiple parties send their own user identification ID (such as user mobile phone number, etc.) information in clear text, on the one hand, there will be compliance issues, and on the other hand, the customer group information they own will be leaked , is unacceptable to some organizations participating in the federation.
  • the existing encryption sample alignment scheme ensures that the user collection of the participating parties is not disclosed during the intersection of multi-party user data, but after the intersection is completed, the multi-party intersection users will be acquired by other participants.
  • the user information in the intersection of multi-party technologies does not want to be leaked.
  • this embodiment provides a new scheme for aligning encrypted samples to ensure that after the intersection of multi-party user data, all parties participating in the federation cannot obtain multi-party data.
  • the user information is intersected, but the model training can still be performed based on the intersection results. Referring to FIG. 9 below, it will be introduced in conjunction with specific implementation manners.
  • a device participating in the vertical federation acquires a first vector.
  • the solution provided by the embodiment of this application can be applied to any kind of equipment participating in the vertical federation, such as participant A1 and participant B described in the above embodiment, or participant A2 and participant B described in the above embodiment Fang B.
  • the first vector has N dimensions, and the N dimensions correspond to the identification IDs of all samples in the system, for example, one dimension corresponds to the ID of a sample.
  • the device participating in the vertical federation may receive the maximum ID and the minimum ID in samples sent by other devices in the system where it is located, and based on the maximum value of all obtained maximum IDs, and The smallest value among all the smallest IDs determines the value of N.
  • the value of the first dimension of the first vector is used to indicate whether the ID of the first target sample exists in the samples of the model maintained by the device participating in the vertical federation, and the first dimension corresponds to the ID of the first target sample.
  • the value of a certain dimension of the first vector is used to indicate whether the ID of the sample corresponding to the dimension exists in the samples of the model maintained by the device participating in the vertical federation.
  • the value of the first dimension is 0, which means that the ID of the first target sample does not exist in the model samples maintained by the equipment participating in the vertical federation, and the value of the first dimension is 1.
  • the ID of the first target sample exists in the sample representing the model maintained by the device participating in the vertical federation.
  • the devices participating in the vertical federation acquire the target vector based on the homomorphically encrypted second vector and the first vector.
  • the second vector has the same dimension as the first vector, and there may be multiple second vectors.
  • the value of the first dimension of each second vector is used to indicate whether the ID of the first target sample exists in the samples of the model maintained by one of the other devices in the system where the device participating in the vertical federation is located.
  • the device participating in the vertical federation can obtain the target vector based on all the obtained second vectors and first vectors after homomorphic encryption, for example, can obtain all the obtained second vectors and first vectors after homomorphic encryption Multiplication is performed to obtain the destination vector.
  • the devices participating in the vertical federation acquire alignment samples according to the target vector.
  • the target vector has N dimensions, and the value of one of the N dimensions is used to identify the sample corresponding to this dimension, whether it exists in the sample ID of each device in the system.
  • the devices participating in the vertical federation can obtain alignment samples according to the value of each dimension in the target vector.
  • each participant obtains the maximum ID and minimum ID of each sample in the data set based on its own data set.
  • the ID may be an identifier such as a phone number.
  • Each participant broadcasts its maximum ID and minimum ID to each participant, and each participant calculates the maximum ID and minimum ID of all participants participating in the federation after receiving it.
  • the maximum ID and minimum ID are calculated as User_X_ID_max and User_X_ID_min respectively.
  • all parties generate a full amount of identification vectors (such as the first vector and the second vector in the embodiment corresponding to Figure 9), and fill in the positions corresponding to their own samples in the full amount of user identification vectors based on their own sample IDs (such as the value of each dimension of the first vector in the embodiment corresponding to Figure 9, or the value of each dimension of the second vector), the full amount of user identification vector after homomorphic encryption assignment, and then broadcast to the participants parties to the federation.
  • a full amount of identification vectors such as the first vector and the second vector in the embodiment corresponding to Figure 9
  • the size of the full identification vector is determined based on ID_max and ID_min, the first position of the vector represents the sample ID_min, and the last position represents ID_max.
  • the first position of the vector represents the sample ID_max, and the last position represents ID_min.
  • the positions between the first position and the last position represent the positions corresponding to the sample IDs whose sample IDs are between the largest ID and the smallest ID.
  • each dimension of the initial full identification vector is 0. Based on all the sample IDs owned by the participant User_X, assign a value to its own full identification vector, and set the positions of all sample IDs owned by User_X to 1 in all positions of the full identification vector.
  • User_X utilizes its own full identification vector [[User_X]] after assignment by public key homomorphic encryption, and broadcasts [[User_X]].
  • User_X receives the respective encrypted full ID vectors broadcasted by other participants, and multiplies its own [[User_X]] with the respective encrypted full ID vectors sent by other parties to obtain the public encrypted full ID shared by all participants ID vector [[User_ID_Set]].
  • Use [[User_ID_Set]] to obtain the sample ID of the intersection of multiple users, and use the intersection sample as a training sample.
  • the decryption [[User_ID_Set]] can also be decrypted, and each party extracts the samples that intersect with other parties in its own data based on the decrypted User_ID_Set as the training data of the model.
  • the device participating in the vertical federation obtains the target vector, it obtains aligned samples from all local samples according to the target vector, and uses the aligned samples as training samples.
  • the solution is illustrated by taking two participants as an example. Assume that the participants participating in the vertical federation training include participant A1 and participant B. It is also assumed that the samples owned by the participant A1 (or the own data set of the participant A1) include candidate training samples 1 , candidate training samples 2 , candidate training samples 3 , candidate training samples 4 and candidate training samples 5 . Assume that the samples owned by participant B (or participant B's own data set) include candidate training sample 1 , candidate training sample 2 , candidate training sample 3 , candidate training sample 6 , and candidate training sample 7 .
  • participant A1 obtains its maximum sample ID as 10 and minimum sample ID as 2 based on the data included in its own data set
  • participant B obtains its maximum sample ID as 10 based on the data included in its own data set
  • the minimum sample ID is 1.
  • Party A1 and Party B broadcast their respective maximum sample ID and minimum ID.
  • participant A1 and participant B acquire the maximum ID of all sample IDs as 10 and the minimum ID of all sample IDs as 1 based on the obtained sample IDs.
  • participant A1 generates a full identification vector according to the obtained maximum ID (10) and minimum ID (10), including 10 dimensions in total.
  • Participant A1 assigns a value to the full identification vector generated by participant A1 according to the ID of the sample included in its own data set. For details, you can refer to the assignment result shown in Figure 10 for understanding.
  • Participant A1 performs homomorphic encryption on the self-generated full identification vector after assignment, and broadcasts the encrypted full identification vector.
  • the process performed by participant B is similar to that of participant A1, which can be understood specifically with reference to FIG. 10 .
  • Participant A1 receives the encrypted full ID vector generated by participant B sent by participant B, and multiplies all the obtained encrypted full ID vectors to obtain the public encrypted full ID vector shared by all participants , which is also referred to as the target vector in this application. Participant A1 then obtains aligned samples according to the target vector as training samples.
  • the alignment samples (training samples) obtained through the implementations described in FIGS. 9 and 10 can be applied to the implementations described in FIGS. 3 to the embodiment described in Fig. 8, A1's local data, B's local data), or obtain the alignment samples of participant A2 and participant B (A2's local data in the embodiment described in Fig. 3 to Fig. 8 data, local data of B).
  • the device participating in the vertical federation after the device participating in the vertical federation obtains the target vector, it can use all local samples as training samples.
  • the intermediate result performing a multiplication operation with the target vector, performing homomorphic encryption on the multiplication result, and transmitting the homomorphic encrypted multiplication result in the system.
  • the local data of A1 and the local data of B are no longer aligned samples, but all samples of A1, that is, A1's own data set and all samples of B. That is, B's own data set.
  • A2's local data and B's local data are no longer aligned samples, but all samples of A2, that is, A2's own data set, and all samples of B, that is, B's own data set.
  • the intermediate result is multiplied by the target vector obtained by them, and subsequent calculations related to the intermediate result can be homomorphic The result of multiplying the encrypted exploit with the respective acquired target vector.
  • the solution provided by the embodiment of the present application can simultaneously use data in the same feature space and different sample spaces, and data in different feature spaces and the same sample space as training samples to train the model.
  • the solution provided by the embodiment of this application can broaden the application scenarios of federated learning. As an example, two possible application scenarios are given below:
  • Scenario 1 Participant B is an e-commerce company, which has a lot of user clicks, collections and purchase records on its website.
  • Type A users are operator users, and different type A users are different telecom operators, such as mobile , Telecom, China Unicom, etc., which have a lot of user communication information, such as package prices, call frequency and other information.
  • there are cross users between type B users and type A users (such as users identified by the same mobile phone number).
  • party B can cooperate with users of type A to establish an AI model for product recommendation of users of party B.
  • Participant B is an e-commerce company (such as equipment for storing e-commerce data), which has many users’ clicks, favorites and purchase records on its website.
  • Type A users are e-commerce website users (users’ mobile phones, Other terminal equipment, etc.), the user's mobile phone has the user's behavior information on the mobile phone, including the number of various apps, the time of using the mobile phone every day and other behavioral information. After the user agrees, this type of information can be used to communicate with B-type e-commerce users Collaboratively build a model for product recommendation for B-party users.
  • each e-commerce website user and e-commerce company generate their own public key and private key, and exchange each other’s public keys, that is, each e-commerce website user broadcasts the generated public key to other e-commerce website users and e-commerce companies, each An e-commerce company broadcasts its generated public key to all e-commerce website users.
  • Each e-commerce website user and e-commerce company synthesizes a public public key based on the received public key and the locally generated public key, and uses the public public key to perform homomorphic encryption on subsequent data (such as intermediate results).
  • Each e-commerce website user encrypts its own model parameters with a public public key, and broadcasts the encrypted model parameters.
  • Each e-commerce website user uses the local encrypted model parameters and the received encrypted model parameters to obtain the parameters of the public model. to obtain their respective intermediate results using the common model.
  • Each e-commerce website user uses the public model of the ciphertext and their own local data to generate an intermediate result of the ciphertext, and sends the intermediate result of the ciphertext to the e-commerce company.
  • E-commerce utilizes local models, local data for its intermediate results.
  • the e-commerce provider sends the intermediate results obtained to each e-commerce website user.
  • the intermediate results sent by the e-commerce website received by each e-commerce website user are different.
  • Each user and the e-commerce provider use the obtained intermediate results to calculate the gradient and update respective models.
  • the data types of the training samples of the models maintained by the various participants included in the system can be regarded as user data, where the user data can be understood as data generated according to the user's behavior (for example, due to the user's The data generated by the operation behavior of the equipment deployed by each participant: specifically, such as the data generated by the user’s click behavior and collection behavior on the website mentioned in the above scenario 1), it can also be understood as the participant of the federated learning system Data related to specific users generated when providing services to users (for example, the package price and call frequency mentioned in the above scenario 1).
  • the following gives examples of possible application scenarios when the data type of the two training samples is user data:
  • participant B is an operator, and the operator maintains multiple types of network elements, where the data obtained by each type of network element can form the characteristic data of the data operator side in the training sample .
  • participants B can be multiple participants B, such as China Mobile, China Telecom, China Unicom, etc.
  • Participant A is an Internet company, which owns the data generated by users when using Internet services (such as watching videos, web pages, etc.). The data maintained by participant A and participant B can be used to jointly establish a service flow service experience model for participant B to identify the service experience of its users.
  • Table 2 it is an example of a data set of training samples in the system in the above scenario.
  • line numbers 1-3 are examples of data owned by Internet companies
  • line numbers 4-12 are examples of data owned by operators.
  • the data corresponding to row number 1 can be used as label data for model training, that is, the user's service experience as label data.
  • the data in rows 1-12 is the data of the same user in multiple entities.
  • Application function application function, AF entity: used to provide services or route data related to applications.
  • User plane function (UPF) network element responsible for forwarding and receiving user data of terminal equipment. It can receive user data from the data network (DN) and transmit it to the terminal device through the access network device; the UPF network element can also receive user data from the terminal device through the access network device and forward it to the data network.
  • the access network device may be a radio access network (radio access network, RAN) node that connects the terminal device to the wireless network.
  • radio access network radio access network
  • next generation NodeB (gNB), transmission reception point (TRP), evolved Node B (evolved Node B, eNB), radio network controller (radio network controller, RNC), node B (Node B, NB), base station controller (base station controller, BSC), base transceiver station (base transceiver station, BTS), home base station (for example, home evolved NodeB, or home Node B, HNB), base band unit (base band unit, BBU), or wireless fidelity (wireless fidelity, WiFi) access point (access point, AP), etc.
  • the base station may have various forms, such as a macro base station, a micro base station, a relay station, and an access point.
  • the base station involved in the embodiment of the present application may be a base station in a 5G system or a base station in an LTE system, or a future sixth generation (6th generation, 6G) base station in a future communication system.
  • the base station in the 5G system can also be called a transmission reception point (transmission reception point, TRP) or a next-generation node B (generation Node B, gNB or gNodeB).
  • TRP transmission reception point
  • gNB next-generation node B
  • the embodiment of the present application refers to the access network device as RAN for short.
  • participant B is an operator, which has communication information of many users, such as package price, call frequency and other information.
  • Participant A is a bank, which has the user's identity information, business flow and other information.
  • party B can cooperate with users of type A to establish an AI model to provide loan suggestions for users of party A.
  • Table 3 it is an example of a data set of training samples in the system in the above scenario.
  • the data with row number 1 (that is, status) is used as the label data for model training.
  • the data corresponding to the line numbers 1-9 is the data obtained by the banking system server, and the data corresponding to the line numbers 10-14 is the data obtained by the operator's business system.
  • the data in row numbers 1-14 is the data of the same user in different parties (in the example, party A and party B).
  • the training samples of the models maintained by the various participants included in the system may all be data in the same feature space but in different sample spaces. In some possible implementations, the training samples of the models maintained by the various participants included in the system may also be data in different feature spaces and the same sample space. Specific implementation manners can be understood with reference to the foregoing embodiments, and details are not repeated here.
  • the above describes a system and method for updating a machine learning model provided by this application.
  • the application scenarios of federated learning can be broadened, and the prediction results of the models trained by each participant can be more accurate.
  • the above participants include hardware structures and/or software modules corresponding to each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Skilled artisans may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
  • the participants or devices in Figure 3 to Figure 10 can be realized by one physical device, can also be realized by multiple physical devices, or can be a logic function module in one physical device, the implementation of this application The example does not specifically limit this.
  • the device provided by the present application will be described below, and the device is used to execute the steps of the methods corresponding to the foregoing FIGS. 3 to 10 .
  • FIG. 11 it is a schematic structural diagram of a device for updating a machine learning model provided by an embodiment of the present application.
  • the device includes a transceiver module 1101 and a processing module 1102 .
  • the transceiving module 1101 is configured to execute step 301 in the embodiment corresponding to FIG. 3 and other steps related to transceiving in the embodiment corresponding to FIG. 3 .
  • the processing module 1102 is configured to execute step 301 and step 303 in the embodiment corresponding to FIG. 3 and other steps related to data processing in the embodiment corresponding to FIG. 3 .
  • the transceiving module 1101 is configured to execute steps 402 and 405 in the embodiment corresponding to FIG. 4 and other steps related to transceiving in the embodiment corresponding to FIG. 4 .
  • the processing module 1102 is configured to execute steps 401 , 402 , 405 , 406 , and 407 in the embodiment corresponding to FIG. 4 and other steps related to data processing in the embodiment corresponding to FIG. 4 .
  • the transceiving module 1101 is configured to execute steps 502 and 503 in the embodiment corresponding to FIG. 5 and other steps related to transceiving in the embodiment corresponding to FIG. 5 .
  • the processing module 1102 is configured to execute steps 501 , 502 , 503 , 506 , 507 , and 508 in the embodiment corresponding to FIG. 5 and other steps related to data processing in the embodiment corresponding to FIG. 5 .
  • the transceiving module 1101 is configured to execute steps 602, 602", 603, 604, 607 in the embodiment corresponding to FIG. 6 and other steps related to transceiving in the embodiment corresponding to FIG. 6.
  • the processing module 1102 is configured to execute steps 601 , 603 , 604 , 607 , 608 , and 609 in the embodiment corresponding to FIG. 6 and other steps related to data processing in the embodiment corresponding to FIG. 6 .
  • the transceiver module 1101 is used to execute steps 802, 803, 804, 807, 808, 813, 813', 814, 814' in the embodiment corresponding to FIG. Other steps related to sending and receiving.
  • the processing module 1102 is configured to execute steps 801, 802, 805, 806, 809, 810, 811, 812, 815 in the embodiment corresponding to FIG. 6 and other steps related to data processing in the embodiment corresponding to FIG. 8 .
  • the transceiving module 1101 is used to execute step 301' in the embodiment corresponding to FIG. 3 and other steps related to transceiving in the embodiment corresponding to FIG. 3 .
  • the processing module 1102 is configured to execute steps 301', 303' in the embodiment corresponding to Fig. 3 and other steps related to data processing in the embodiment corresponding to Fig. 3 .
  • the transceiving module 1101 is configured to perform steps 402' and 405' in the embodiment corresponding to FIG. 4 and other steps related to transceiving in the embodiment corresponding to FIG. 4 .
  • the processing module 1102 is configured to execute steps 401', 402', 405', 406', 407' in the embodiment corresponding to Fig. 4 and other steps related to data processing in the embodiment corresponding to Fig. 4 .
  • the transceiving module 1101 is configured to perform steps 502' and 503' in the embodiment corresponding to FIG. 5 and other steps related to transceiving in the embodiment corresponding to FIG. 5 .
  • the processing module 1102 is configured to execute steps 501', 502', 503', 506', 507', 508' in the embodiment corresponding to Fig. 5 and other steps related to data processing in the embodiment corresponding to Fig. 5 .
  • the transceiving module 1101 is configured to perform steps 602, 602', 603', 604', 607' in the embodiment corresponding to FIG. 6 and other steps related to transceiving in the embodiment corresponding to FIG. 6 .
  • the processing module 1102 is configured to execute steps 601 ′, 603 ′, 604 ′, 607 ′, 608 ′, 609 ′ in the embodiment corresponding to FIG. 6 and other steps related to data processing in the embodiment corresponding to FIG. 6 .
  • the transceiving module 1101 is configured to execute step 302 in the embodiment corresponding to FIG. 3 and other steps related to transceiving in the embodiment corresponding to FIG. 3 .
  • the processing module 1102 is configured to execute step 302, step 303" in the embodiment corresponding to Fig. 3 and other steps related to data processing in the embodiment corresponding to Fig. 3 .
  • the transceiving module 1101 is configured to execute step 403" in the embodiment corresponding to FIG. 4 and other steps related to transceiving in the embodiment corresponding to FIG. 4.
  • the processing module 1102 is configured to execute 401 ′′, 402 ′′, 403 ′′, 405 ′′, 406 ′′, 407 ′′ in the embodiment and other steps related to data processing in the embodiment corresponding to FIG. 4 .
  • the transceiver module 1101 is configured to execute steps 504, 505, and 505" in the embodiment corresponding to FIG. 5.
  • the processing module 1102 is configured to execute steps 501", 506" in the embodiment corresponding to FIG. 5 , 507 ′′, 508 ′′ and other steps related to data processing in the embodiment corresponding to FIG. 5 .
  • the transceiving module 1101 is configured to perform steps 602', 602", 608, 606", 606' in the embodiment corresponding to FIG. 6 and other steps related to transceiving in the embodiment corresponding to FIG. 6 .
  • the processing module 1102 is configured to execute steps 601 ′′, 605 , 604 ′′, 607 ′′, 608 ′′, 609 ′′ in the embodiment corresponding to FIG. 6 and other steps related to data processing in the embodiment corresponding to FIG. 6 .
  • the transceiving module 1101 is configured to execute steps 701 and 702 in the embodiment corresponding to FIG. 7 and other steps related to transceiving in the embodiment corresponding to FIG. 7 .
  • the processing module 1102 is configured to execute steps 701 , 702 , and 703 in the embodiment corresponding to FIG. 7 and other steps related to data processing in the embodiment corresponding to FIG. 7 .
  • the transceiving module 1101 is configured to execute step 901 in the embodiment corresponding to FIG. 7 and other steps related to transceiving in the embodiment corresponding to FIG. 7 .
  • the processing module 1102 is configured to execute steps 901 , 902 , and 903 in the embodiment corresponding to FIG. 7 and other steps related to data processing in the embodiment corresponding to FIG. 7 .
  • the processing module is configured to obtain a first intermediate result, where the first intermediate result is obtained based on parameters of the first machine learning model and historical user data obtained by the first data processing device.
  • the transceiver module is configured to receive a second intermediate result, the second intermediate result is obtained based on the parameters of the second machine learning model and the historical user data obtained by the second data processing device.
  • the processing module is further configured to: update the parameters of the first machine learning model according to the first intermediate result and the second intermediate result.
  • the transceiver module is further configured to send the third intermediate result to the second data processing device, the third intermediate result is based on the parameters of the first machine learning model and the target historical user data in the historical user data acquired by the first data processing device Obtained from the first intermediate result, the identification of the target historical user data is the same as the identification of the historical user data of the second data processing device, and the third intermediate result and the second intermediate result are used to update the parameters of the second machine learning model .
  • processing module is also used to:
  • a public public key is generated according to the obtained first public key and the second public key, the first public key is generated by the first data processing device, and the second public key is generated by the second data processing device.
  • the first private key or the second private key larger than the target number is used to decrypt the third intermediate result after homomorphic encryption, the first private key is the first data generated by the processing device, and the second private key is generated by the second data processing device.
  • the transceiver module is also used for:
  • the transceiver module is also used for:
  • the parameters of the first machine learning model obtained after being decrypted by the online data processing device with their respective first private key or second private key are received.
  • the first intermediate result is specifically obtained based on the parameters of the first machine learning model, the historical user data of the first data processing device, and the target vector, and the processing module is also used for:
  • the target vector is obtained based on the first vector and the second vector after homomorphic encryption.
  • a first vector has N dimensions, and the N dimensions correspond to the identification of all historical user data in the system.
  • the value of the first dimension of the first vector is used Whether there is an identifier of the first historical user data among the identifiers of the historical user data acquired by the second data processing device, the first dimension corresponds to the identifier of the first historical user data, the second vector and the first vector have the same dimension, the second vector
  • the value of the first dimension of the two vectors is used to indicate whether the identifier of the first historical user data exists in the identifiers of the historical user data of the first data processing device.
  • the historical user data acquired by the first data processing device and the historical user data acquired by the second data processing device have different feature spaces.
  • the transceiver module is configured to receive a third intermediate result, the first intermediate result is obtained based on the parameters of the first machine learning model and the historical user data obtained by the first data processing device, and the third intermediate result The result is obtained from the first intermediate results based on the parameters of the first machine learning model, the target historical user data in the historical user data acquired by the first data processing device, the identification of the target historical user data and the second data processing The identity of the device's historical user data is the same.
  • Processing modules for:
  • the second intermediate result is obtained based on the parameters of the second machine learning model and the historical user data obtained by the second data processing device, the second intermediate result and the first intermediate result are used to update the first machine learning The parameters of the model.
  • the parameters of the second machine learning model are updated.
  • the transceiver module is also used to obtain parameters of multiple initial machine learning models, one initial machine learning model is deployed in a third data processing device, and any two third data processing devices obtain The obtained historical user data has the same feature space but different data identifiers, and the second data processing device is any third data processing device among the plurality of third data processing devices.
  • processing module also used for:
  • Weighting is performed on the acquired parameters of the multiple initial machine learning models to obtain weighted values.
  • the parameters of the initial machine learning model deployed on the second data processing device are updated according to the weighted value, so as to obtain the parameters of the second machine learning model.
  • processing module is also used to:
  • a public public key is generated according to the obtained first public key and the second public key, the first public key is generated by the first data processing device, and the second public key is generated by the second data processing device.
  • the public key to homomorphically encrypt the second intermediate result the first private key or the second private key larger than the target number is used to decrypt the second intermediate result after homomorphic encryption, the first private key is the first data generated by the processing device, and the second private key is generated by the second data processing device.
  • the transceiver module is also used for:
  • the transceiver module is also used for:
  • the parameters of the second machine learning model obtained after being decrypted by the online data processing device with their respective first private key or second private key are received.
  • the second intermediate result is specifically obtained based on the parameters of the second machine learning model, the historical user data of the second data processing device, and the target vector, and the processing module is also used for:
  • the first vector has N dimensions, and the N dimensions correspond to the identifiers of all historical user data in the system, and the value of the first dimension of the first vector is used to indicate the historical user data acquired by the second data processing device Whether there is an identifier of the first historical user data in the identifier, and the first dimension corresponds to the identifier of the first historical user data.
  • the target vector based on the homomorphically encrypted second vector and the first vector the second vector and the first vector have the same dimension, and the value of the first dimension of the second vector is used to indicate the historical user of the first data processing device Whether there is an identifier of the first historical user data in the identifier of the data.
  • FIG. 12 it is a schematic structural diagram of another device for updating a machine learning model provided in the embodiment of the present application.
  • the device is equivalent to any of the participants or devices described in FIGS. 3 to 10 .
  • the device shown in FIG. 12 may include: a processor 1201 , a memory 1202 , a communication interface 1204 and a bus 1203 .
  • the processor 1201 , the memory 1202 and the communication interface 1204 may be connected through a bus 1203 .
  • the processor 1201 is the control center of the computer device, and may be a general-purpose central processing unit (central processing unit, CPU), or other general-purpose processors. Wherein, the general-purpose processor may be a microprocessor or any conventional processor.
  • the processor 1201 may include one or more CPUs.
  • the memory 1202 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or other types that can store information and instructions
  • ROM read-only memory
  • RAM random access memory
  • the dynamic storage device can also be an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM), a magnetic disk storage medium or other magnetic storage device, or can be used to carry or store instructions or data structures. desired program code and any other medium that can be accessed by a computer, but is not limited thereto.
  • the memory 1202 may exist independently of the processor 1201 .
  • the memory 1202 may be connected to the processor 1201 through the bus 1203, and is used for storing data, instructions or program codes.
  • the processor 1201 calls and executes the instructions or program codes stored in the memory 1202, it can realize the update method of the machine learning model provided by the embodiment of the present application, for example, the update method of the machine learning model shown in any one of Fig. 3-Fig. 10 .
  • the memory 1202 may also be integrated with the processor 1201 .
  • the communication interface 1204 is used to connect the device with other devices through a communication network, and the communication network may be Ethernet, radio access network (radio access network, RAN), wireless local area network (wireless local area networks, WLAN), etc.
  • the communication interface 1204 may include a receiving unit for receiving data, and a sending unit for sending data.
  • the bus 1203 may be an industry standard architecture (industry standard architecture, ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (extended industry standard architecture, EISA) bus, etc.
  • ISA industry standard architecture
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 12 , but it does not mean that there is only one bus or one type of bus.
  • the device for updating the machine learning model may include more or less components than shown in the figure, or combine some components, or arrange different components.
  • modules can be combined or integrated into another system, or some features can be ignored.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some ports, the indirect coupling or communication connection between modules may be electrical or other similar forms, this Applications are not limited.
  • the modules or sub-modules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed into multiple circuit modules, and some or all of them may be selected according to actual needs module to achieve the purpose of this application scheme.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Bioethics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

一种用户数据处理的***、方法以及装置,应用于人工智能领域。其中,该***中的第一数据处理设备产生第一中间结果,并将第三中间结果发送给***中的第二数据处理设备。该第三中间结果是基于第一机器学习模型的参数、第一数据处理设备得到的目标历史用户数据从第一中间结果中获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同。第一数据处理设备还接收第二数据处理设备发送的第二中间结果,并基于第一中间结果和第二中间结果更新第一机器学习模型的参数。第二数据处理设备还基于接收到的第三中间结果和第二中间结果更新第二机器学习模型的参数。通过本方案,可以提升***中存在的机器学习模型的预测准确率。

Description

用户数据处理的***、方法以及装置
本申请要求于2022年1月10日提交中国专利局、申请号为CN202210023462.X、申请名称为“用户数据处理的***、方法以及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能技术领域,尤其涉及机器学习模型训练中的用户数据处理的***、方法以及装置。
背景技术
联邦学习(federated learning)是一种分布式机器学习技术。每个联邦学习客户端(federated learning client,FLC),如联邦学习装置1、2、3……k,利用本地计算资源和本地网络业务数据进行模型训练,并将本地训练过程中产生的模型参数更新信息Δω,如Δω1、Δω2、Δω3……Δωk,发送给联邦学习服务端(federated learning server,FLS)。联邦学习服务端基于Δω采用汇聚算法进行模型汇聚,得到汇聚机器学习模型。汇聚机器学习模型作为联邦学习装置下一次执行模型训练的初始模型。联邦学习装置和联邦学习服务端多次执行上述模型训练过程,直到得到的汇聚机器学习模型满足预设条件时,停止训练。
联邦学习能够充分的利用客户端处的数据和计算能力,使多方可以协作构建通用、更健壮的机器学习模型而不需要共享数据。在数据监管越来越严格的大环境下,联邦学习能够解决数据所有权、数据隐私、数据访问权等关键问题,具有极大的商业价值。
如何拓宽联邦学习的应用场景,提升机器学习模型的性能成为需要解决的问题。
发明内容
鉴于此,有必要提供一种***、方法以及装置,以能够同时利用相同特征空间,不同样本空间的数据,以及不同特征空间,相同样本空间的数据作为训练样本来训练机器学习模型,拓宽联邦学习的应用场景,使训练后的机器学习模型的预测结果更加精准。
第一方面,本申请的实施例提供了一种用户数据处理的***,该***包括第一数据处理设备和第二数据处理设备,第一数据处理设备,用于:产生第一中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的。其中,第一数据处理设备可以通过多种渠道获取历史用户数据,比如该历史用户数据可能是第一数据处理设备产生的,或者该历史用户数据可能是第一数据处理设备保存的。该第一中间结果可以是根据第一机器学习模型的参数和第一数据处理设备对应的特征向量之间的乘积获取的。接收第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的。该第二中间结果可以是根据第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据对应的特征向量之间的乘积获取的。第二数据处理设备可以通过多种渠道获取历史用户数据,比如该历史用户数据可能是第二数据处理设备产生的,或者该历史用户数据可能是第二数据处理设备保存的。根据第一中间结果和第二中间结果更新第一机器学习模型的参数。将第三中间结果向第二数据处理设备 发送,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的。目标历史用户数据的标识和第二数据处理设备获取到的历史用户数据的标识相同。换句话说,***中可能有多个不同的第二数据处理设备,多个不同的第二数据处理设备获取的历史用户数据的标识的集合和第一数据处理设备获取的历史用户数据的标识的集合相同。第一数据处理设备根据数据的标识,向不同的第二数据处理设备发送不同的第一中间结果。比如,有两个第二数据处理设备分别是设备1和设备2,设备1针对获取到的历史用户数据1、历史用户数据2、历史用户数据3分别获取了中间结果1、中间结果2、中间结果3,即第二中间结果包括了中间结果1、中间结果2以及中间结果3。设备2针对维护的历史用户数据4、历史用户数据5、历史用户数据6分别获取了中间结果4、中间结果5、中间结果6,即另一个第二中间结果包括了中间结果4、中间结果5以及中间结果6。假设历史用户数据1、历史用户数据2、历史用户数据3的对齐样本分别是历史用户数据1’、历史用户数据2’、历史用户数据3’。两个历史用户数据是对齐样本代表二者的数据标识相同比,比如历史用户数据1和历史用户数据1’的数据标识相同,历史用户数据2和历史用户数据2’的数据标识相同,历史用户数据3和历史用户数据3’的数据标识相同。历史用户数据4、历史用户数据5、历史用户数据6的对齐样本分别是历史用户数据4’、历史用户数据5’、历史用户数据6’。第一数据处理设备的历史用户数据包括历史用户数据1’、历史用户数据2’、历史用户数据3’、历史用户数据4’、历史用户数据5’以及历史用户数据6’。假设第一数据处理设备针对历史用户数据1’、历史用户数据2’、历史用户数据3’、历史用户数据4’、历史用户数据5’以及历史用户数据6’获取的中间结果分别是中间结果1’、中间结果2’、中间结果3’、中间结果4’、中间结果5’以及中间结果6’。即中间结果1’、中间结果2’、中间结果3’、中间结果4’、中间结果5’以及中间结果6’中的每个中间结果均相当于第一中间结果。由于中间结果1’、中间结果2’、中间结果3’是基于历史用户数据1’、历史用户数据2’、历史用户数据3’获取的,而历史用户数据1’、历史用户数据2’、历史用户数据3’是历史用户数据1、历史用户数据2、历史用户数据3的对齐样本,而历史用户数据1、历史用户数据2、历史用户数据3是设备1获取到的历史用户数据,所以第一数据处理设备向设备1发送的第一中间结果包括中间结果1’、中间结果2’、中间结果3’。同理,第一数据处理设备向设备2发送的第一中间结果包括中间结果4’、中间结果5’以及中间结果6’。本申请实施例也将具有不同的特征空间,相同的样本空间的历史用户数据称为对齐样本。第二数据处理设备,用于:根据第三中间结果和第二中间结果,更新第二机器学习模型的参数。
第一方面提供的方案,第一数据处理设备和第二数据处理设备可以是纵向联邦训练的参与方,第一数据处理设备生成了多个中间结果后,向不同的第二数据处理设备发送不同的中间结果。通过这种设计方式,第一数据处理设备在模型的训练过程中,融合了自身获取的历史用户数据提供的信息,还可以融合多个第二数据处理设备获取到的历史用户数据提供的信息,相比于只能利用一个第二数据处理设备获取的历史用户数据提供的信息,本申请实施例提供的方案能够获取性能更优的模型,以便于更好的预测用户的决策,为用户提供更精准的推荐信息。此外,任意两个第二数据处理设备可以是横向联邦训练的参与方, 由于第一数据处理设备是利用了多个第二数据处理设备各自获取的历史用户数据提供的信息来更新其维护的机器学习模型的参数,在不断利用更新后的机器学习模型获取第一中间结果,并将不同的第一中间结果传递给不同的第二数据处理设备,也可以使不同的第二数据处理设备间接利用了除自身之外的其他第二数据处理设备获取的历史用户数据提供的信息。通过这种方式,实现横向联邦训练和纵向联邦的结合,提供了一种切实可行的横向联邦和纵向联邦相结合的方式,以便于更好的预测用户的决策,为用户提供更精准的推荐信息。
在第一方面的一种可能的实施方式中,该***中包括多个第三数据处理设备,任意两个第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,第二数据处理设备是多个第三数据处理设备中的任意一个第三数据处理设备,每个第三数据处理设备上均部署有初始的机器学习模型,第二数据处理设备,还用于:获取多个初始的机器学习模型的参数。对获取到的多个初始的机器学习模型的参数进行加权处理,以获取加权值。根据加权值更新第二数据处理设备上部署的初始的机器学习模型的参数,以获取第二机器学习模型的参数。在这种实施方式中,通过加权值更新多个第三数据处理设备各自维护的机器学习模型的参数,在每一次迭代训练的起始状态时,各个第三数据处理设备维护的机器学习模型的参数是相同的,所以对于整个***而言,需要优化的参数的数目大大降低,节约算力,有利于提升训练的效率。
第二方面,本申请的实施例提供了一种用户数据处理的方法,包括:第一数据处理设备获取第一中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的。第一数据处理设备接收第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的。第一数据处理设备根据第一中间结果和第二中间结果更新第一机器学习模型的参数。第一数据处理设备将第三中间结果向第二数据处理设备发送,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同,第三中间结果和第二中间结果用于更新第二机器学习模型的参数。
在第二方面的一种可能的实施方式中,该方法还包括:第一数据处理设备根据获取到的第一公钥和第二公钥生成公共公钥,第一公钥是第一数据处理设备生成的,第二公钥是第二数据处理设备生成的。第一数据处理设备利用公共公钥对第三中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对同态加密后的第三中间结果进行解密,第一私钥是第一数据处理设备生成的,第二私钥是第二数据处理设备生成的。
在第二方面的一种可能的实施方式中,该方法还包括:第一数据处理设备获取到***中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的第一机器学习模型的参数,以使在线的数据处理设备利用各自的第一私钥或第二私钥解密同态加密后的第一机器学习模型的参数,阈值大于目标数量。
在第二方面的一种可能的实施方式中,该方法还包括:第一数据处理设备接收在线的数据处理设备利用各自的第一私钥或第二私钥解密后获取的第一机器学习模型的参数。
在第二方面的一种可能的实施方式中,第一中间结果具体是基于第一机器学习模型的参数、第一数据处理设备的历史用户数据以及目标向量获取的,方法还包括:第一数据处理设备基于同态加密后的第一向量和第二向量获取目标向量,一个第一向量具有N个维度,N个维度对应***中全部历史用户数据的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,第一维度对应第一历史用户数据的标识,第二向量和第一向量具有相同的维度,第二向量的第一维度的取值用于指示第一数据处理设备的历史用户数据的标识中是否存在第一历史用户数据的标识。
在第二方面的一种可能的实施方式中,第一数据处理设备获取的历史用户数据和第二数据处理设备获取的历史用户数据具有不同的特征空间。
第三方面,本申请的实施例提供了一种用户数据处理的方法,包括:第二数据处理设备接收第三中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同。第二数据处理设备获取第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的,第二中间结果和第一中间结果用于更新第一机器学习模型的参数。第二数据处理设备根据第三中间结果和第二中间结果,更新第二机器学习模型的参数。
在第三方面的一种可能的实施方式中,该方法还包括:第二数据处理设备获取多个初始的机器学习模型的参数,一个初始的机器学习模型部署在一个第三数据处理设备中,任意两个第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,第二数据处理设备是多个第三数据处理设备中的任意一个第三数据处理设备。第二数据处理设备对获取到的多个初始的机器学习模型的参数进行加权处理,以获取加权值。根据加权值更新第二数据处理设备上部署的初始的机器学习模型的参数,以获取第二机器学习模型的参数。
在第三方面的一种可能的实施方式中,该方法还包括:第二数据处理设备根据获取到的第一公钥和第二公钥生成公共公钥,第一公钥是第一数据处理设备生成的,第二公钥是第二数据处理设备生成的。第二数据处理设备利用公共公钥对第二中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对同态加密后的第二中间结果进行解密,第一私钥是第一数据处理设备生成的,第二私钥是第二数据处理设备生成的。
在第三方面的一种可能的实施方式中,该方法还包括:第二数据处理设备获取到***中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的第二机器学习模型的参数,以使在线的数据处理设备利用各自的第一私钥或第二私钥解密同态加密后的第二机器学习模型的参数,阈值大于目标数量。
在第三方面的一种可能的实施方式中,该方法还包括:第二数据处理设备接收在线的数据处理设备利用各自的第一私钥或第二私钥解密后获取的第二机器学习模型的参数。
在第三方面的一种可能的实施方式中,第二中间结果具体是基于第二机器学习模型的参数、第二数据处理设备的历史用户数据以及目标向量获取的,方法还包括:第二数据处理设备获取第一向量,第一向量具有N个维度,N个维度对应***中全部历史用户数据的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,第一维度对应第一历史用户数据的标识。基于同态加密后的第二向量和第一向量获取目标向量,第二向量和第一向量具有相同的维度,第二向量的第一维度的取值用于指示第一数据处理设备的历史用户数据的标识中是否存在第一历史用户数据的标识。
在第三方面的一种可能的实施方式中,第一数据处理设备获取的历史用户数据和第二数据处理设备获取的历史用户数据具有不同的特征空间。
第四方面,本申请的实施例提供了一种掉线处理的方法,包括:目标数据处理设备生成公钥和私钥。目标数据处理设备接收目标数据处理设备所在***中其他数据处理设备发送的各自生成的公钥,以生成公共公钥。目标数据处理设备利用公共公钥对目标数据进行同态加密,目标数据包括目标数据处理设备上部署的目标机器学习模型的参数,其他数据处理设备生成的私钥中大于目标数量的私钥用于对同态加密后的目标数据进行解密。目标数据处理设备获取其他数据处理设备中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的目标数据,以使在线的数据处理设备利用各自生成的私钥解密同态加密后的目标数据。
在第四方面的一种可能的实施方式中,该方法还包括:目标数据处理设备接收在线的数据处理设备利用各自生成的私钥解密后获取的目标数据。
在第四方面的一种可能的实施方式中,目标数据处理设备是第一数据处理设备时,方法还包括:目标数据处理设备获取第一中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的。目标数据处理设备接收第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的。目标数据处理设备根据第一中间结果和第二中间结果更新第一机器学习模型的参数。
目标数据处理设备将第三中间结果向第二数据处理设备发送,第三中间结果是基于第一机器学习模型的参数、目标数据处理设备获取到的历史用户数据中的目标历史用户数据获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同,第三中间结果和第二中间结果用于更新第二机器学习模型的参数。
在第四方面的一种可能的实施方式中,第一中间结果具体是基于第一机器学习模型的参数、第一数据处理设备的历史用户数据以及目标向量获取的,方法还包括:目标数据处理设备基于同态加密后的第一向量和第二向量获取目标向量,一个第一向量具有N个维度,N个维度对应***中全部历史用户数据的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,第一维度对应第一历史用户数据的标识,第二向量和第一向量具有相同的维度,第二向量的第一维度的取值用于指示第一数据处理设备的历史用户数据的标识中是否存在第一历史用户数据 的标识。
在第四方面的一种可能的实施方式中,目标数据处理设备是第二数据处理设备时,方法还包括:目标数据处理设备接收第三中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同。目标数据处理设备获取第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的,第二中间结果和第一中间结果用于更新第一机器学习模型的参数。目标数据处理设备根据第三中间结果和第二中间结果,更新第二机器学习模型的参数。
在第四方面的一种可能的实施方式中,该方法还包括:目标数据处理设备获取多个初始的机器学习模型的参数,一个初始的机器学习模型部署在一个第三数据处理设备中,任意两个第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,第二数据处理设备是多个第三数据处理设备中的任意一个第三数据处理设备。目标数据处理设备对获取到的多个初始的机器学习模型的参数进行加权处理,以获取加权值。目标数据处理设备根据加权值更新目标数据处理设备上部署的初始的机器学习模型的参数,以获取第二机器学习模型的参数。
在第四方面的一种可能的实施方式中,第二中间结果具体是基于第二机器学习模型的参数、第二数据处理设备的历史用户数据以及目标向量获取的,方法还包括:目标数据处理设备获取第一向量,第一向量具有N个维度,N个维度对应***中全部历史用户数据的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,第一维度对应第一历史用户数据的标识。目标数据处理设备基于同态加密后的第二向量和第一向量获取目标向量,第二向量和第一向量具有相同的维度,第二向量的第一维度的取值用于指示第一数据处理设备的历史用户数据的标识中是否存在第一历史用户数据的标识。
第五方面,本申请的实施例提供了一种数据处理的***,***包括第一数据处理设备和第二数据处理设备,第一数据处理设备,用于:获取第一中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的训练样本获取的。接收第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的训练样本获取的。根据第一中间结果和第二中间结果更新第一机器学习模型的参数。将第三中间结果向第二数据处理设备发送,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的训练样本中的目标训练样本获取的,目标训练样本的标识和第二数据处理设备获取到的训练样本的标识相同。第二数据处理设备,用于:根据第三中间结果和第二中间结果,更新第二机器学习模型的参数。
在第五方面的一种可能的实施方式中,***中包括多个第三数据处理设备,任意两个第三数据处理设备获取到的训练样本具有相同的特征空间、不同的样本标识,第二数据处理设备是多个第三数据处理设备中的任意一个第三数据处理设备,每个第三数据处理设备 上均部署有初始的机器学习模型,第二数据处理设备,还用于:获取多个初始的机器学习模型的参数。对获取到的多个初始的机器学习模型的参数进行加权处理,以获取加权值。根据加权值更新第二数据处理设备上部署的初始的机器学习模型的参数,以获取第二机器学习模型的参数。
在第五方面的一种可能的实施方式中,第一数据处理设备,还用于:生成第一公钥和第一私钥。第二数据处理设备,还用于:生成第二公钥和第二私钥,第一公钥和第二公钥用于生成公共公钥,公共公钥用于对第一中间结果或第二中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对同态加密后的第一中间结果或第二中间结果进行解密。
在第五方面的一种可能的实施方式中,第二数据处理设备,还用于:获取到***中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的第二机器学习模型的参数,以使在线的数据处理设备利用各自的第一私钥或第二私钥解密同态加密后的第二机器学习模型的参数,阈值不小于目标数量。
在第五方面的一种可能的实施方式中,第二数据处理设备,还用于:接收在线的数据处理设备利用各自的第一私钥或第二私钥解密后获取的第二机器学习模型的参数。
在第五方面的一种可能的实施方式中,第一数据处理设备,还用于:获取到***中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的第一机器学习模型的参数,以使在线的数据处理设备利用各自的第一私钥或第二私钥解密同态加密后的第一机器学习模型的参数,阈值大于目标数量。
在第五方面的一种可能的实施方式中,第一数据处理设备,还用于:接收在线的数据处理设备利用各自的第一私钥或第二私钥解密后获取的第一机器学习模型的参数。
在第五方面的一种可能的实施方式中,第二中间结果具体是基于第二机器学习模型的参数、第二数据处理设备获取到的训练样本以及目标向量获取的,第二数据处理设备,还用于:获取第一向量,第一向量具有N个维度,N个维度对应***中全部训练样本的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的训练样本的标识中是否存在第一训练样本的标识,第一维度对应第一训练样本的标识。基于同态加密后的第二向量和第一向量获取目标向量,第二向量和第一向量具有相同的维度,第二向量的第一维度的取值用于指示第一数据处理设备获取的训练样本的标识中是否存在第一训练样本的标识。
在第五方面的一种可能的实施方式中,第一中间结果具体是基于第一机器学习模型的参数、第一数据处理设备获取到的训练样本以及目标向量获取的,第一数据处理设备,还用于:
基于同态加密后的第一向量和第二向量获取目标向量。
在第五方面的一种可能的实施方式中,第一数据处理设备获取的训练样本和第二数据处理设备获取的训练样本具有不同的特征空间、相同的样本标识。
第六方面,本申请提供了一种用户数据处理的装置。该用户数据处理的装置用于执行上述第二方面至第四方面提供的任一种可能的实施方式中第一数据处理设备、第二数据处理设备或目标数据处理设备执行的步骤。
在一种可能的设计方式中,本申请可以根据上述第二方面至第四方面提供的任一种方 法,对第一数据处理设备、第二数据处理设备、目标数据处理设备进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
示例性的,本申请可以按照功能将数据处理设备划分为收发模块和处理模块等。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第二方面或其相应的可能的实施方式提供的技术方案,第三方面或其相应的可能的实施方式提供的技术方案,或四方面或其相应的可能的实施方式提供的技术方案,此处不再赘述。
在另一种可能的设计中,该用户数据处理的装置包括:存储器和处理器,存储器和处理器耦合。存储器用于存储计算机指令,处理器用于调用该计算机指令,以执行如第二方面或其相应的可能的实施方式提供的方法,第三方面或其相应的可能的实施方式提供的方法,或第四方面或其相应的可能的实施方式提供的方法。
第七方面,本申请提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在计算机设备上运行时,使得该计算机设备执行如第二方面或其相应的可能的实施方式提供的方法,第三方面或其相应的可能的实施方式提供的方法,或第四方面或其相应的可能的实施方式提供的方法。
第八方面,本申请提供了一种计算机程序产品,当其在计算机设备上运行时,使得如第二方面或其相应的可能的实施方式提供的方法,第三方面或其相应的可能的实施方式提供的方法,或第四方面或其相应的可能的实施方式提供的方法被执行。
第九方面,本申请提供了一种芯片***,包括:处理器,处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行如第二方面或其相应的可能的实施方式提供的方法,第三方面或其相应的可能的实施方式提供的方法,或第四方面或其相应的可能的实施方式提供的方法。
可以理解的是,上述提供的任一种***、装置、计算机存储介质、计算机程序产品或芯片***等均可以应用于第二方面、第三方面或第四方面提供的对应的方法。
在本申请中,上述任一种装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为一种横向联邦学习***的架构示意图;
图2为一种纵向联邦学习***的架构示意图;
图3为本申请实施例提供的一种机器学习模型的更新方法的流程示意图;
图4为本申请实施例提供的另一种机器学习模型的更新方法的流程示意图;
图5为本申请实施例提供的另一种机器学习模型的更新方法的流程示意图;
图6为本申请实施例提供的另一种机器学习模型的更新方法的流程示意图;
图7为本申请实施例提供的一种掉线处理的方法的流程示意图;
图8为本申请实施例提供的另一种掉线处理的方法的流程示意图;
图9为本申请实施例提供的获取对齐样本方法的流程示意图;
图10为本申请实施例提供的获取对齐样本方法的流程示意图;
图11为本申请实施例提供的机器学习模型的更新设备的结构示意图;
图12为本申请实施例提供的另一种机器学习模型的更新设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种联邦学习***、基于联邦学习的数据处理方法以及装置,为了更好的理解本申请实施例提供的方案,下面首先对本申请实施例提供的方案的研究思路进行介绍:
联邦学习是一种在不汇聚多方数据的情况下,多方利用各自所有的数据协同训练人工智能(artificial intelligence,AI)模型的分布式机器学习范式。传统的机器学习范式需要汇聚大量的数据用于模型的训练,而用于训练的数据很有可能来自多个不同的组织或者用户或者参与方或者客户端。将多方数据汇聚在一起,极有可能造成数据泄露的风险,对组织来说会暴露信息资产,对个人用户来说可能泄露个人隐私。上述问题的存在对AI模型的训练提出了严峻的挑战,为解决上述问题,联邦学习技术应运而生。联邦学习允许多方数据保留在本地不进行多方数据汇聚,多方之间通过协同计算(安全的)交互中间计算结果的方式来共同训练AI模型。通过联邦学习技术,即保护了多方用户数据,又可以充分利用多方数据来协同训练模型,从而得到更强大的模型。
联邦学习按照场景可以分为横向联邦和纵向联邦。其中,横向联邦面向数据特征相同但数据分布不一致的多方协同建模问题,换句话说,横向联邦的参与方的训练数据特征空间相同,但样本空间不同。纵向联邦面向数据特征不同,但多方有相同的样本(用户)场景下的协同建模问题,换句话说,纵向联邦的参与方的训练数据特征空间不同,但样本空间相同。
参阅图1,为一种横向联邦学习***的架构示意图。横向联邦学习***结构上一般包括一个协作方和多个客户端作为参与方。并且该多个参与方维护的模型的训练数据具有数据特征空间相同,但样本空间不同的特点。工作流程主要包括模型下发和模型融合过程。在模型下发过程,参与方从协作方下载模型,通过本地存储的训练数据对从协作方上下载的模型进行训练,训练到一定程度后上传模型到协作方,其中训练到一定程度可以理解为训练固定轮数。在模型融合过程中,协作方会收集各个参与方上传的模型,并进行模型融合。模型下发过程和模型融合过程这两个过程会反复迭代直至模型收敛。
需要说明的是,本申请有时也将协作方称为中心服务器或者服务器,二者表示相同的意思,在一些可能的实施方式中,该服务器可以是云服务器或者云侧设备,本申请实施例对此并不进行限定。本申请有时也将客户端称为端侧设备、数据处理装置或者用户信息管理设备,他们表示相同的意思,比如端侧设备可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端,用于 安防的设备(比如监控摄像设备、烟雾报警设备、灭火设备),智能音箱等,还可以是物理机、虚拟机、一体机等等。此外,需要说明的是,本申请中的模型包括神经网络模型,本申请对模型的具体类别并不进行限定,比如本申请中的模型可以是卷积神经网络模型,循环神经网络模型,深度残差网络模型等等。以下对本段内容不再重复说明。
参阅图2,为一种纵向联邦学习***的架构示意图。纵向联邦学习***结构上一般包括一个协作方和多个客户端作为参与方。并且该多个参与方维护的模型的训练数据具有数据特征空间不同,但样本空间相同的特点。由于在纵向联邦学习***中,多方参与方的用户群体不同,需要对多方维护的数据进行对齐处理,以保证多方维护的模型的训练样本的样本空间相同。此外,在纵向联邦学习***中,需要多方交换中间计算结果,以使多方各自计算损失和梯度值。为此,协作方创建密钥对,并将公共密钥发送给多方参与方。参与方利用公共密钥对各自获取的中间结果进行加密和交换。中间结果用来帮助计算梯度和损失值。参与方计算加密梯度并分别加入附加掩码(additional mask)。其中一个参与方还会计算加密损失。多方参与方分别将加密的结果发送给协作方。协作方对梯度和损失信息进行解密,并将结果发送回多方参与方。多方参与方解除梯度信息上的掩码,并根据这些梯度信息来更新本地模型参数。
由于横向联邦和纵向联邦针对不同的场景,提供了不同的训练方案,具体的,横向联邦只能利用相同特征空间,不同样本空间的数据作为训练样本来训练模型,纵向联邦只能利用不同特征空间,相同样本空间的数据作为训练样本来训练模型。这导致联邦学习的应用场景受限,比如,目前无法利用相同特征空间,不同样本空间的数据,又利用不同特征空间,相同样本空间的数据作为训练样本来训练模型。具体的场景可能包括需要利用不同的电信运营商的数据(相同特征空间,不同样本空间的数据)以及电商的数据(和电信运营商的数据具有不同特征空间,相同的样本空间)来共同训练模型。此外,由于利用的训练样本不能提供充分的信息,导致训练后的模型的性能不足够好,表现在训练后的模型的预测结果不够精准。
申请人发现了上述问题,并且提出一种切实可行的方案,能够同时利用相同特征空间,不同样本空间的数据,以及不同特征空间,相同样本空间的数据作为训练样本来训练模型。本申请实施例提供的方案,可以拓宽联邦学习的应用场景,提升模型的性能,使训练后的模型的预测结果更加精准。
基于上述研究思路,下面对本申请实施例提供的方案进行介绍:
参见图3,为本申请实施例提供的一种联邦学习***的架构示意图。本申请实施例提供的***包括至少3个参与方,本申请实施例有时也将参与方称为设备、装置、客户端,他们表示相同的意思。每个参与方维护各自的数据,并利用各自的数据训练模型。具体的,下面以3个参与方A1、A2以及B为例,对本申请实施例提供的方案进行介绍。
在一个可能的实施方式中,参与方A1维护的模型的训练样本和参与方A2维护的模型的训练样本具有相同的特征空间,不同的样本空间。参与方B维护的模型的训练样本与参与方A1(或者A2)维护的模型的训练样本具有不同的特征空间,相同的样本空间。本申请实施例也将具有不同的特征空间,相同的样本空间的训练样本称为对齐样本。为了方便说明, 以下将参与方A1和参与方A2称为A类用户(或者A类型的参与方、A类参与方),将参与方B称为B类用户(或者B类型的参与方、B类参与方)。假设F表示联邦学习***中数据的特征集合,则F={f 1,f 2,…,f N,f N+1,f N+2,…,f N+M},其中前N个特征在A类用户,后M个特征在B类用户,即:
A类用户拥有特征子集合F A={f 1,f 2,…,f N};
B类用户拥有特征子集合F B={f N+1,f N+2,…,f N+M}。
从特征维度描述参与本场景联邦的两类用户,其所拥有的数据特征是不同的,分别为FA,FB。在一个可能的实施方式中,可以理解为通过第一向量集合表示A类用户的各个数据,通过第二向量集合表示B类用户的各个数据,第一向量集合的分布和第二向量集合的分布不同。
下面再对样本空间相同进行解释:假设通过D表示联邦学习***中以一个对象相关的训练样本为单位,全部对象的集合,则D=[d 1,d 2,d 3,…,d P] T,相同对象的相关数据即被A类用户维护,也被B类用户维护,可以理解为A类用户和B类用户具有相同的样本空间,可以理解为,逻辑上该联邦学习***存在P个对象,其中,d p表示第p条数据,拥有N+M个特征,即:
Figure PCTCN2022105396-appb-000001
每个对象根据特征子集合FA和特征子集合FB可以分为两部分:
Figure PCTCN2022105396-appb-000002
其中:
Figure PCTCN2022105396-appb-000003
为特征子集F A对应的特征值,即:
Figure PCTCN2022105396-appb-000004
Figure PCTCN2022105396-appb-000005
为特征子集F B对应的特征值,即
Figure PCTCN2022105396-appb-000006
则D根据特征子集合F A和特征子集合F B可以分为两个数据子集D A,D B,即:
Figure PCTCN2022105396-appb-000007
其中
Figure PCTCN2022105396-appb-000008
A类用户数据所组成的数据子集
Figure PCTCN2022105396-appb-000009
B类用户数据子集
Figure PCTCN2022105396-appb-000010
B类用户数据标签Y={y 1,y 2,…,y P}。
其中,B类用户数据标签Y用于区分不同的对象,B类用户数据Y是逻辑上存在的概念。
在物理上,A类用户与B类用户均可以存在多个,A类用户可以分为A1到AN共N个用户,B类用户也可以拆分为N个,定义为B1到BN共N个。则根据具体的物理上的数据切分,上述定义的数据DA,DB,Y可以根据真实数据物理分布拆分,拆分为真实的物理上的不同数据集。数据集D A可拆为D A1到D AN,数据集D B可拆分为D B1到D BN,标签Y可以拆分为Y 1到Y N
在这种实施方式中,***包括的各个参与方维护的模型的训练样本可以是相同特征空间,不同样本空间的数据,也可以是不同特征空间,相同样本空间的数据。
301、参与方A1根据A1模型(A1模型的参数)以及A1模型的训练样本获取第一中间结 果1。
对联邦学习***中各个参与方维护的模型进行训练的过程中,需要结合各个参与方维护的模型的输出来共同确定。为了与该最终的预测结果进行区分,在本申请实施例中,将每个参与方各自获取的输出称为中间结果。
将A1模型的训练样本作为A1模型的输入,以获取第一中间结果1,具体的,可以根据A1模型对训练样本进行特征提取,以获取特征向量,再根据特征向量和A1模型的参数进行乘法运算,以获取该第一中间结果1。
其中,A1模型的训练样本是参与方A1能够获取到的数据,比如可以是参与方A1产生的数据,参与方A1保存的数据,或者参与方A1有权限获取的数据,本申请中参与方A1可以通过多种渠道获取训练样本。其中,训练样本的数据类型可以是用户数据、业务数据、产品数据等等,本申请实施例中的训练样本的数据类型可以是多种类型。在一个优选的实施方式,训练样本的数据类型是用户数据。
301'、参与方A2根据A2模型(A2模型的参数)以及A2模型的训练样本获取第一中间结果2。
步骤301'可以参照步骤301中参与方A1执行的步骤进行理解,这里不再重复赘述。
301”、参与方B根据参与方A1和参与方A2各自的训练样本的对齐样本获取第二中间结果。
关于对齐样本的理解参照上文,这里不再重复赘述。关于符合获取参与方B和参与方A1的训练样本的对齐样本,以及获取参与方B和参与方A2的训练样本的对齐样本将在下文展开介绍,这里暂不论述。
参与方B根据参与方B维护的B模型的参数以及根据参与方A1和参与方A2各自的训练样本的对齐样本获取第二中间结果。如何根据模型的训练样本获取中间结果的过程可以参照步骤301中参与方A1执行的步骤进行理解,这里不再重复赘述。
在一个可能的实施方式中,可以根据参与方A1的训练样本的数量和参与方A2的训练样本的数量为获取到的不同的第二中间结果设置不同的权重。比如,参与方A1的训练样本的数目比参与方A2的训练样本的数目更多,则通过参与方A1的训练样本的对齐样本获取的第二中间结果的权重,比通过参与方A2的训练样本的对齐样本获取的第二中间结果的权重更大,再比如,参与方A1的训练样本的数目比参与方A2的训练样本的数目更少,则通过参与方A1的训练样本的对齐样本获取的第二中间结果的权重,比通过参与方A2的训练样本的对齐样本获取的第二中间结果的权重更小。通过这样的方式,可以使第一加权值更好的反应参与方A1的训练样本中携带的信息以及参与方A2的训练样本中携带的信息。
302、参与方B根据对齐样本向参与方A1发送部分第二中间结果。
302'、参与方B根据对齐样本向参与方A2发送另一部分第二中间结果。
步骤302和步骤302'用于表示参与方B根据对齐样本向不同的A类型的参与方发送不同的第二中间结果。
比如,参与方A1针对维护的训练样本1、训练样本2、训练样本3分别获取了中间结果1、中间结果2、中间结果3,即第一中间结果1包括了中间结果1、中间结果2以及中间结果3。 参与方A2针对维护的训练样本4、训练样本5、训练样本6分别获取了中间结果4、中间结果5、中间结果6,即另一个第一中间结果(第一中间结果2)包括了中间结果4、中间结果5以及中间结果6。假设训练样本1、训练样本2、训练样本3的对齐样本分别是训练样本1’、训练样本2’、训练样本3’;训练样本4、训练样本5、训练样本6的对齐样本分别是训练样本4’、训练样本5’、训练样本6’。参与方B的训练样本包括训练样本1’、训练样本2’、训练样本3’、训练样本4’、训练样本5’以及训练样本6’。假设参与方B针对训练样本1’、训练样本2’、训练样本3’、训练样本4’、训练样本5’以及训练样本6’获取的中间结果分别是中间结果1’、中间结果2’、中间结果3’、中间结果4’、中间结果5’以及中间结果6’。即中间结果1’、中间结果2’、中间结果3’、中间结果4’、中间结果5’以及中间结果6’中的每个中间结果均相当于第二中间结果。由于中间结果1’、中间结果2’、中间结果3’是基于训练样本1’、训练样本2’、训练样本3’获取的,而训练样本1’、训练样本2’、训练样本3’是训练样本1、训练样本2、训练样本3的对齐样本,而训练样本1、训练样本2、训练样本3是参与方A1维护的训练样本,所以参与方B向参与方A1发送的第二中间结果包括中间结果1’、中间结果2’、中间结果3’。同理,参与方B向参与方A2发送的第二中间结果包括中间结果4’、中间结果5’以及中间结果6’。
303、参与方A1利用接收到的第二中间结果和第一中间结果1更新A1模型的参数。
303'、参与方A2利用接收到的第二中间结果和第一中间结果2更新A2模型的参数。
303”、参与方B利用第二中间结果、第一中间结果1和第二中间结果2更新B模型的参数。
本申请实施例提供的方案,参与方B和参与方A1是纵向联邦训练的参与方,参与方B和参与方A2是纵向联邦训练的参与方。参与方B获取了多个第一中间结果后,向参与方A1和参与方A2发送不同的第二中间结果。通过这种设计方式,参与方B在模型的训练过程中,融合了自身维护的训练样本提供的信息,以及参与方A1和参与方A2各自维护的样本提供的信息,相比于只能利用参与方A1维护的样本提供的信息或者只能利用参与方A2维护的样本提供的信息,本申请实施例提供的方案能够获取性能更优的模型。此外,参与方A1和参与方A2是横向联邦训练的参与方,由于参与方B是利用了参与方A1和参与方A2各自维护的样本提供的信息来更新其维护的模型的参数,当不断利用更新后的模型获取第二中间结果,并将不同的第二中间结果传递给参与方A1和参与方A2,也可以使参与方A1和参与方A2间接利用了除自身之外的其他A类型设备维护的样本提供的信息。
为了更好的理解图3对应的实施例,下面结合图4对本申请实施例提供的方案进行进一步的介绍:
401、参与方A1获取初始化模型参数WA1。
在初始状态下,其中初始状态可以理解为还没有开始训练过程之前,参与方A1获取初始模型的参数。本申请中的模型包括神经网络模型,本申请对模型的具体类别并不进行限定,比如本申请中的模型可以是卷积神经网络模型,循环神经网络模型,深度残差网络模型等等。以下对于模型的定义和理解不再重复说明。
在一个可能的实施方式中,参与方A1可以从本地获取初始模型,对初始模型的参数进行随机的初始化。
在一个可能的实施方式中,参与方A1可以从其他设备中获取初始模型,比如从云侧设备获取初始模型。
401'、参与方A2获取初始化模型参数WA2。
在一个可能的实施方式中,参与方A2可以从本地获取初始模型,对初始模型的参数进行随机的初始化。
在一个可能的实施方式中,参与方A2可以从其他设备中获取初始模型,比如从云侧设备获取初始模型。
在一个可能的实施方式中,参与方A2获取的初始化模型和参与方A1获取的初始化模型是相同的,即WA2与WA1相同。在一个可能的实施方式中,参与方A2获取的初始化模型和参与方A1获取的初始化模型是不同的,即WA2与WA1不同。
401”、参与方B获取初始化模型参数WB。
在一个可能的实施方式中,参与方B可以从本地获取初始模型,对初始模型的参数进行随机的初始化。
在一个可能的实施方式中,参与方B可以从其他设备中获取初始模型,比如从云侧设备获取初始模型。
402、参与方A1基于WA1和A1本地的数据获取中间结果U1。
步骤402可以参照图3对应的实施例中的步骤301进行理解。可以根据参与方A1维护的模型可以对A1本地的数据进行特征提取,以获取特征向量,再根据特征向量和参与方A1维护的模型参数(这里即为WA1)进行乘法运算,以获取中间结果U1。
402'、参与方A2基于WA2和A2本地的数据获取中间结果U2。
步骤402'可以参照图3对应的实施例中的步骤301'进行理解。可以根据参与方A2维护的模型可以对A2本地的数据进行特征提取,以获取特征向量,再根据特征向量和参与方A2维护的模型参数(这里即为WA2)进行乘法运算,以获取中间结果U2。
402”、参与方B基于WB和B本地的数据获取中间结果U3。
步骤402”可以参照图3对应的实施例中的步骤301”进行理解,这里不再重复赘述。
404、参与方B向参与方A1发送部分U3。
404'、参与方B向参与方A2发送另一部分U3。
步骤404和步骤404'可以参照图3对应的实施例中的302和步骤302'进行理解,这里不再重复赘述。
405、参与方A1基于U1和接收到的U3以及A1本地数据获取梯度G1。
因为希望模型的输出尽可能的接近真正想要预测的值,所以可以通过比较当前模型的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量,比如,如果模型的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到模型能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么模型的训练就变成了尽可能缩小这个loss的过程。梯度为模型在训 练过程中,模型参数的变化量,可以反映损失值的变化趋势。
其中可以根据UA和参与方A1接收到的U3之间的运算确定参与方A1维护的模型的预测值,根据A1本地数据确定真正想要预测的值,并根据二者的差异确定梯度G1。
405'、参与方A2基于U2和接收到的U3以及A2本地数据获取梯度G2。
可以根据UA和参与方A2接收到的U3之间的运算确定参与方A2维护的模型的预测值,根据A2本地数据确定真正想要预测的值,并根据二者的差异确定梯度G2。
405”、参与方B基于U1、U2和U3以及B本地数据获取梯度G3。
可以根据U1、U2和U3确定参与方B维护的模型的预测值,根据B本地数据确定真正想要预测的值,并根据二者的差异确定梯度G3。
406、参与方A1根据G1更新模型WA1。
406'、参与方A2根据G2更新模型WA2。
406”、参与方B根据G3更新模型WB。
407、参与方A1获取是否满足迭代训练条件。
本申请实施例的迭代训练条件可以有多种,本申请实施例对此并不进行限定。
在一个可能的实施方式中,当参与方A1获取当前维护的模型已经收敛,则确定已经满足停止迭代训练的条件,不再对参与方A1维护的模型继续进行迭代训练。在一个可能的实施方式中,当参与方A1获取迭代训练的轮次已经达到预设的次数,则确定已经满足停止迭代训练的条件,不再对参与方A1维护的模型继续进行迭代训练。
在一个可能的实施方式中,若参与方A1获取不满足迭代训练的条件,则参与方A1继续对维护的模型进行迭代训练,在本申请实施例提供的方案,参与方A1获取不满足迭代训练的条件时,重复执行步骤402至步骤407。需要说明的是,相应的,在迭代训练的过程中,初始化参数WA1已经被更新,步骤402至步骤407中与初始化参数WA1相关的步骤,应当将WA1替换为参与方A1当前维护的模型的参数,以下对此不再重复赘述。比如,步骤402对应变更为根据参与方A1当前维护的模型的参数和参与方A1本地的数据获取中间结果U1。步骤406对应变更为根据G1更新参与方A1当前维护的模型的参数。
407'、参与方A2获取是否满足迭代训练条件。
关于迭代训练的条件可以参照步骤407中关于A1获取是否满足迭代训练条件的介绍进行理解。
在一个可能的实施方式中,若参与方A2获取已经满足迭代训练条件,则停止对参与方A2维护的模型进行迭代训练。
在一个可能的实施方式中,若参与方A2获取未满足迭代训练条件,则重复执行步骤402'至步骤407'。需要说明的是,相应的,在迭代训练的过程中,初始化参数WA2已经被更新,步骤402'至步骤407'中与初始化参数WA2相关的步骤,应当将WA2替换为参与方A2当前维护的模型的参数,以下对此不再重复赘述。比如,步骤402'对应变更为根据参与方A2当前维护的模型的参数和参与方A2本地的数据获取中间结果U2。步骤406'对应变更为根据G2更新参与方A2当前维护的模型的参数。
407”、参与方B获取是否满足迭代训练条件。
关于迭代训练的条件可以参照步骤407中关于A1判断是否满足迭代训练条件进行理解。
在一个可能的实施方式中,若参与方B获取已经满足迭代训练条件,则停止对参与方A2维护的模型进行迭代训练。
在一个可能的实施方式中,若参与方B获取未满足迭代训练条件,则重复执行步骤402”至步骤407”。需要说明的是,相应的,在迭代训练的过程中,初始化参数WB已经被更新,参与方A1和参与方A2各自维护的模型的参数也已经更新,步骤402”至步骤407”中与初始化参数WB、WA1、WA2相关的步骤,应当相应替换为根据各个参与方维护的模型的当前参数来计算,以下对此不再重复赘述。比如,步骤402”对应变更为根据参与方B当前维护的模型的参数和参与方B本地的数据获取中间结果U3。步骤406”对应变更为根据G2更新参与方B当前维护的模型的参数。
需要说明的是,在一些实施方式中,本申请实施例描述的各个步骤的顺序可以调换或者可以同步执行,以下实施例对此不再重复赘述。
上图所描述的架构中,参与联邦训练的参与方可以分为两类,A类型的参与方与B类型的参与方。其中,A类型的参与方与B类型的参与方均支持有多个(为了便于说明,上图中参与模型训练的B类型的参与方只有一个)。属于同一类(如A类)参与方的不同参与方A1-AN其数据的特征空间相同,但样本空间不同。属于不同类的参与方(如A类型的参与方与B类型的参与方)的数据的特征空间不同但互相之间存在相同的数据标识ID(即同一条数据样本的不同特征分别在A方与B方,即样本空间相同)。本申请实施例有时也将数据ID称为样本ID,他们标识相同的意思。
为了提升模型训练的效率,还可以对A类型的参与方各自维护的模型的参数进行统一处理,下面参阅图5,结合具体的实施例对此进行介绍。
501、参与方A1获取初始化模型参数WA1。
501'、参与方A2获取初始化模型参数WA2。
501”、参与方B获取初始化模型参数WB。
步骤501至步骤501”可以参照图4对应的实施例中的步骤401至步骤401”进行理解,这里不再重复赘述。
502、参与方A1广播模型当前的参数,接收其他A类型的参与方发送的参数,进行参数加权得到WA。
如果参与方A1维护的模型的当前的参数是WA1,则参与方A1向其他A类型的参与方广播WA1。同时参与方A1也会接收其他A类型的参与方广播的各自维护的模型的当前参数,比如参与方A1也会接收参与方A2广播的参与方A2维护的模型的当前参数,比如参与方A2维护的模型的当前参数为W2,则参与方A1接收参与方A2广播的参数W2。
参与方A1对获取到的所有A类型的参与方各自维护的模型的当前的参数进行加权处理,以得到WA。
在一个可能的实施方式中,参与方A1对获取到的所有A类型的参与方各自维护的模型的当前的参数求平均值,该平均值即为WA。
在一个可能的实施方式中,参与方A1可以对获取到的所有A类型的参与方各自维护的 模型的当前的参数进行加和处理,二者之和即为第一加权值。
在一个可能的实施方式中,可以根据所有A类型的参与方各自维护的模型的训练样本的数量获取所有A类型的参与方各自维护的模型的当前的参数的权重。其中,训练样本的数目和权重成正比。比如,参与方A1的训练样本的数目比参与方A2的训练样本的数目更多,则参与方A1维护的模型的当前的参数的权重比参与方A2维护的模型的当前的参数的权重大,参与方A1的训练样本的数目比参与方A2的训练样本的数目更少,则参与方A1维护的模型的当前的参数的权重比参与方A2维护的模型的当前的参数的权重小。
502'、参与方A2广播模型当前的参数,接收其他A类型的参与方发送的参数,进行参数加权得到WA。
步骤502'可以参照步骤501中参与方A1执行的过程进行理解,这里不再重复赘述。
503、参与方A1基于WA和A1本地的数据获取中间结果U1。
不同于图4对应的实施例中,参与方A1基于WA1和A1本地的数据获取中间结果U1,各个A类型的参与方均基于各自的参数来获取中间结果。在每一次迭代训练的起始状态时,各个A类型的参与方维护的模型的参数均是不相同的,所以对于整个联邦***而言,需要优化多个参数,消耗大量算力。在图5对应的实施例中,将参与方A1维护的模型的参数替换为WA,在每一次迭代训练的起始状态时,各个A类型的参数方维护的模型的参数是相同的,所以对于整个联邦***而言,需要优化的参数的数目大大降低,节约算力,有利于提升训练的效率。
关于如何基于参与方A1维护的模型的参数以及参与A1本地的数据获取中间结果U1的过程可以参照图4对应的实施例中的步骤402进行理解,这里不再重复赘述。
503'、参与方A2基于WA和A2本地的数据获取中间结果U2。
与步骤503执行的过程相似,在每一次迭代训练的起始状态时,参与方A2将参与方A2维护的模型的参数替换为WA,保证各个A类型的参数方维护的模型的参数是相同的,节约算力,有利于提升训练的效率。
关于如何基于参与方A2维护的模型的参数以及参与A2本地的数据获取中间结果U2的过程可以参照图4对应的实施例中的步骤402'进行理解,这里不再重复赘述。
503”、参与方B基于WB和B本地的数据获取中间结果U3。
504、参与方B向参与方A1发送部分U3。
504'、参与方B向参与方A2发送另一部分U3。
506、参与方A1基于U1和接收到的U3以及A1本地数据获取梯度G1。
506'、参与方A2基于U2和接收到的U3以及A2本地数据获取梯度G2。
506”、参与方B基于U1、U2和U3以及B本地数据获取梯度G3。
507、参与方A1根据G1更新模型当前的参数。
507'、参与方A2根据G2更新模型当前的参数。
507”、参与方B根据G3更新模型当前的参数。
508、参与方A1获取是否满足迭代训练条件。
508'、参与方A2获取是否满足迭代训练条件。
508”、参与方B获取是否满足迭代训练条件。
步骤503”至步骤508”可以参照图4对应的实施例中的步骤402”至步骤407”进行理解,这里不再重复赘述。
在图5对应的实施例中,各个A类型的参与方广播各自维护的模型的参数,使每个A类型的参与方都可以获取其他A类型的参与方维护的模型的参数,并获取WA。在一些可能的实施方式中,各个A类型的参与方也可以定向的将各自维护的模型的参数发送给某个设备(比如某一个A类型的参与方或者其他设备),该设备获取了各个A类型的参与方各自维护的模型的参数后,进行加权处理获取WA,再将WA广播至各个A类型的参与方。
在一个可能的实施方式中,当A类型的参与方满足迭代训练条件时,还可以重复执行一次步骤502以及502'后,确定执行了步骤502以及502'后获取的模型为最终训练后的模型。比如,参与方A1获取满足迭代训练条件时,获知其他A类型的参与方也满足了迭代训练条件,则参与方A1广播模型当前的参数,并接收其他A类型的参与方发送的参数,进行参数加权处理得到WA,再利用WA更新参与方A1维护的模型的当前的参数,以获取最终的模型,进而训练结束后,各个A类型的参与方维护的模型的参数是相同的。
在一些可能的实施方式中,为了维护各个参与方的数据的隐私,还可以对各个参与方发送的数据进行加密处理,下面参阅图6,结合具体的实施方式进行说明。
601、参与方A1获取初始化模型参数WA1。
601'、参与方A2获取初始化模型参数WA2。
601”、参与方B获取初始化模型参数WB。
步骤601至步骤601”可以参照图4对应的实施例中的步骤401至步骤401”进行理解,这里不再重复赘述。
602-602”、***中各个参与方向其他参与方发送各自的公钥。
在图6对应的实施例中,***中各个参与方各自生成公钥和私钥,并将生成的公钥发送给***中其他参与方。
比如,在图6所展示的架构中,假设参与方A1生成第一公钥和第一私钥,并将第一公钥向参与方A2和参与方B发送。参与方A2生成第二公钥和第二私钥,并将第二公钥向参与方A1和参与方B发送。参与方B生成第三公钥和第三私钥,并将第三公钥向参与方A1和参与方A2发送。
本申请实施例中描述的公钥是指用于执行同态加密时加密的密钥,私钥是指用于执行同态加密时解密的密钥。同态加密(homomorphic encryption)是一种加密形式,它允许人们对密文进行特定形式的代数运算得到仍然是加密的结果。使用同态密钥对中的密钥对经同态加密后的数据进行运算后的结果进行解密,与对明文进行同样的运算结果一样。
603、参与方A1广播模型当前的参数,接收其他A类型的参与方发送的参数,进行参数加权得到WA。
在图6对应的实施例中,参与方A1利用参与方A1生成的公钥对参与方A1维护的模型的当前的参数进行同态加密。参与方A1广播的是经过同态加密后的模型当前的参数。
参与方A1接收其他A类型的参与方发送的经过同态加密后参数,由于使用同态密钥对 中的密钥对经同态加密后的数据进行运算后的结果进行解密,与对明文进行同样的运算结果一样,所以不会影响参与方A1对接收到的经过同态加密后的参数进行加权处理,以得到WA。
通过参数WA更新参与方A1维护的模型的当前的参数,利用经过同态加密后的参数进行加权处理的过程,可以参照图5对应的实施例中的步骤502中描述的获取WA的过程进行理解,这里不再重复赘述。
603'、参与方A2广播模型当前的参数,接收其他A类型的参与方发送的参数,进行参数加权得到WA。
步骤603'可以参照步骤603中参与方A1执行的过程进行理解,这里不再重复赘述。
604、参与方A1基于WA和A1本地的数据获取中间结果U1。
由于WA是利用了基于同态加密后的数据获取的,所以将WA看做同态加密后的数据。具体的,可以参照图4对应的实施例中的步骤402进行理解,这里不再重复赘述。
参与方A1利用其生成的公钥对中间结果U1进行同态加密,并将经过同态加密后的U1向参与方发送。
604'、参与方A2基于WA和A2本地的数据获取中间结果U2。
由于WA是利用了基于同态加密后的数据获取的,所以将WA看做同态加密后的数据。具体的,可以参照图4对应的实施例中的步骤402'进行理解,这里不再重复赘述。
参与方A2利用其生成的公钥对中间结果U2进行同态加密,并将经过同态加密后的U2向参与方发送。
604”、参与方B基于WB和B本地的数据获取中间结果U3。
可以参照图4对应的实施例中的步骤402”进行理解,这里不再重复赘述。
605、参与方B向参与方A1发送同态加密后的部分U3。
参与方B利用其生成的公钥对UA进行同态加密,参与方B利用其生成的公钥对U3进行同态加密。
605'、参与方B向参与方A2发送同态加密后另一部分U3。
607、参与方A1基于U1和接收到的U3以及A1本地数据获取梯度G1。
607'、参与方A2基于U2和接收到的U3以及A2本地数据获取梯度G2。
607”、参与方B基于U1、U2和U3以及B本地数据获取梯度G3。
608、参与方A1根据G1更新模型当前的参数。
608'、参与方A2根据G2更新模型当前的参数。
608”、参与方B根据G3更新模型当前的参数。
609、参与方A1获取是否满足迭代训练条件。
610'、参与方A2获取是否满足迭代训练条件。
611”、参与方B获取是否满足迭代训练条件。
由于使用同态密钥对中的密钥对经同态加密后的数据进行运算后的结果进行解密,与对明文进行同样的运算结果一样,所以不会影响各个参与方获取梯度,并根据梯度更新各自模型的过程,所以步骤607至步骤611”可以参照图4对应的实施例中的步骤405至步骤407” 进行理解,这里不再重复赘述。
需要说明的是,本申请实施例可以包括更多或者更少的步骤,比如对于图6所描述的实施例,步骤603和步骤603'可以不执行,各个参与方在每一次迭代训练的起始状态时,各个A类型的参与方维护的模型的参数均是不相同的。
在上述图6描述的实施方式中,***中各个参与方各自生成公钥和私钥,不依赖第三方生成公钥和私钥,相比于由第三方生成公钥和私钥的方案更为简洁,隐私性更好。需要说明的是,在一些可能的实施方式中,也可以依赖第三方生成公钥和私钥,***中各个参与方利用第三方生成的公钥加密需要发送的数据。
此外,在上述图6描述的实施方式中,***中各个参与方各自生成公钥和私钥,利用各自生成的公钥对各自发送的数据进行同态加密。在一些可能的实施方式中,可以利用***中多个参与方生成的公钥生成公共公钥,通过公共公钥对各个参与方发送的数据进行同态加密。在一些可能的实施方式中,可以利用***中全部参与方生成的公钥生成公共公钥,利用该公共公钥对各个参与方发送的数据进行同态加密。在一些可能的实施方式中,还可以设定大于目标数量的私钥用于对同态加密后的数据进行解密。其中,目标数量可以基于***中当前在线设备的数目设定的,随着***中在线的设备的数据发生变化,可以重新设定目标数量。当设定了大于目标数量的私钥用于对同态加密后的数据进行解密后,如果***中的参与方掉线的数目过多,可能会存在***中不存在足够数量的私钥对同态加密后的数据进行解密,下面参阅图7,结合具体的实施方式对如何应对这种掉线场景进行介绍。
701、参与联邦训练的设备获取在线的设备的数量是否小于阈值。
参与联邦训练的设备可以是上述实施例中描述的***中的任意一个参与方,还可以是除上述实施例之外的其他类型的联邦学习***中的任意一个参与方,比如还可以是图1或图2中描述的架构中的参与方A或者参与方B。
可以根据***中实际包括的设备的总数,以及实际场景需求设置阈值。其中,阈值需要不小于目标数量。当***中掉线的设备的数目过多,***中即将无法提供足够数量(目标数量)的私钥对同态加密后的数据进行解密,在此之前,参与联邦训练的设备通过获取在线的设备的数量是否小于阈值,以提前获取***中是否能够提供足够数量的私钥对同态加密后的数据进行解密。
702、若小于阈值,则向该设备所在的联邦学习***中的其他在线设备发送经过同态加密的该设备维护的模型的当前参数。
若获取在线的设备的数量小于阈值,则说明***中大多数的设备掉线,***即将无法提供足够数量的私钥对同态加密后的数据进行解密。所以本申请提供的方案,参与联邦训练的设备需要提前获取解密后的数据,在线的设备可以利用各自的私钥对该同态加密后的参数进行解密。
703、利用***中在线设备的公钥重新生成公共公钥,并基于新生成的公共公钥对该设备维护的模型的当前参数进行同态加密。
由于在后续的训练过程中,***中各个参与方还会进行交互,各个在线的设备可以通过秘密分享的方式(也称之为同态加密转秘密分享方式)在本地保存利用各自的私钥解密 后的数据。通过在后续的交互过程,使参与方A1获取解密后的参数。
参与方A1获取了解密后的参数后,利用重新生成的公共公钥对解密后的参数重新进行同态加密。其中,重新生成的公共公钥是利用当前***中在线的设备生成的公钥生成的。由于当前***中在线的设备的数目变少了,目标数量也设定的更低一些,阈值不小于目标数量,阈值也设定的更低一些。
在一个可能的的实施方式中,在线的设备可以利用各自的私钥对该同态加密后的参数进行解密后,还可以向参与联邦训练的设备发送利用各自的私钥解密后的数据。
需要说明的是,在一些实施方式中,本申请实施例描述的各个实施方式是可以结合的,比如图7所述描述的实施方式可以和图6描述的实施例相结合,具体的可以参照图8所展示的流程进行理解。
801、参与方A1获取初始化模型参数WA1。
802、参与方A1利用公共公钥同态加密模型当前的参数。
803、参与方A1广播同态加密后的模型当前的参数。
804、参与方A1接收其他A类型的参数方的同态加密后的模型的参数。
805、参与方A1对获取到的参数进行加权得到WA。
806、参与方A1基于WA和A1本地的数据获取中间结果U1。
807、参与方A1向参与方B发送同态加密后的U1。
808、参与方A1接收同态加密后的UA和同态加密后的U3。
809、参与方A1基于UA和U3以及A1本地数据获取梯度G1。
810、参与方A1根据梯度G1更新模型当前的参数。
811、参与方A1获取是否满足迭代训练条件。
步骤801至步骤811可以参照图6对应的实施例中参与方A1执行的步骤进行理解,这里不再重复赘述。
812、参与方A1获取在线的设备的数量是否小于阈值。
可以根据***中实际包括的设备的总数,以及实际场景需求设置阈值。其中,阈值需要不小于目标数量。当***中掉线的设备的数目过多,***中即将无法提供足够数量(目标数量)的私钥对同态加密后的数据进行解密,在此之前,参与方A1通过获取在线的设备的数量是否小于阈值,以提前获取***中是否能够提供足够数量的私钥对同态加密后的数据进行解密。
如果参与方A1获取在线的设备的数目不小于阈值,则执行步骤803,即正常执行迭代训练的过程。
若参与方A1获取在线的设备的数量不小于阈值,则说明***中大多数的设备是在线的,***可以提供足够数量的私钥对同态加密后的数据进行解密。则此时正常执行迭代训练的过程,具体的,执行步骤803至步骤811。在一个可能的实施方式中,当参与方A1获取已经满足迭代训练条件,则不再执行迭代训练的过程,参与方A1可以再次获取在线的设备的数量是否小于阈值,若不小于阈值,则认为完成了训练。
如果参与方A1获取在线的设备的数据小于阈值,则执行步骤813至815,下面分别对此 进行说明。
若参与方A1获取在线的设备的数量小于阈值,则说明***中大多数的设备掉线,***即将无法提供足够数量的私钥对同态加密后的数据进行解密。所以本申请提供的方案,参与方A1需要提前获取解密后的数据,利用当前在线的设备生成的公钥重新生成新的公共公钥,并利用新生成的公共公钥重新对数据进行同态加密。
在一个可能的实施方式中,如果参与方A1获取在线的设备的数目小于阈值,则执行步骤813-813’。参与方A1向***中当前在线的设备发送经过同态加密后的参与方A1维护的模型的当前的参数,在线的设备可以利用各自的私钥对该同态加密后的参数进行解密。此时,同态加密后的数据是利用公共公钥进行同态加密的数据,需要大于目标数量的私钥对同态加密后的数据进行解密。由于,参与方A1获取在线的设备的数目小于阈值,不小于目标数量,所以***中存在足够数量的私钥对同态加密后的数据进行解密,以获取解密后的数据。
在一个可能的实施方式中,在线的设备可以将利用各自的私钥解密后的数据向参与方A1发送,以使参与方A1融合各个在线的设备发送的数据后,获取解密后的参数。
参与方A1获取了解密后的参数后,利用重新生成的公共公钥对解密后的参数重新进行同态加密。其中,重新生成的公共公钥是利用当前***中在线的设备生成的公钥生成的。由于当前***中在线的设备的数目变少了,目标数量也设定的更低一些,阈值不小于目标数量,阈值也设定的更低一些。
在一个可能的实施方式中,由于在后续的迭代训练过程中,***中各个参与方还会进行交互,在线的设备也可以不向参与方A1发送利用各自的私钥解密后的数据。各个在线的设备通过秘密分享的方式在本地保存利用各自的私钥解密后的数据。通过在后续的交互过程,使参与方A1获取解密后的参数。具体的,在一个可能的实施方式中,如果参与方A1获取在线的设备的数目小于阈值,参与方A1向***中当前在线的设备发送经过同态加密后的参与方A1维护的模型的当前的参数,在线的设备接收到A1发送来的经同态加密的模型的当前参数后,本地随机生成与模型参数结构相同的随机初始化模型,并使用A1方发送来的经同态加密的模型参数减去本地随机生成的随机初始化模型,本地保留自己随机初始化模型作为A1模型在本地的秘密分享模型,同时利用各自的私钥对该相减后得到的模型参数进行解密,在线的设备利用各自的私钥解密后的数据(密文模型减去随机生成的本地秘密分享模型后的仍然在同态加密状态的模型)向参与方A1发送,以使参与方A1融合各个在线的设备发送的数据后,获取自己原有模型的秘密分享模型。由于在后续的迭代训练过程中,***中各个参与方还会进行交互,后面使用新生成的公共秘钥同态加密各个在线设备的秘密分享模型,并进行汇聚(加和),完成模型转换。
A类型的参与方获取到***中在线的设备的数量小于阈值,以及不小于阈值所执行的过程均可以参照参与方A1执行的过程进行理解,这里不再重复赘述。
B类型的参与方在执行了获取是否满足迭代训练条件之前,或者在执行了根据梯度更新模型当前的参数之后,可以获取在线的设备的数量是否小于阈值,当小于阈值时,执行正常的迭代训练过程,当不小于阈值时,向在线的设备发送经过同态加密后的参与方B维护的模型的当前的参数,在线的设备可以利用各自的私钥对该同态加密后的参数进行解密。具 体的,可以参照参与方A1执行的步骤812至815进行理解,这里不再详细赘述。
上文实施例介绍到由于在纵向联邦学习***中,多方参与方的用户群体不同,需要对多方维护的数据进行对齐处理,以保证多方维护的模型的训练样本的样本空间相同。通常,参与纵向联邦的多方可以采用加密样本对齐的方式找到不同参与方之间用户的交集,从而利用有交集的用户数据进行协同建模(只在一方存在的用户,其数据在多方之间并不同时存在,因此多方无法利用此用户的数据进行协同建模)。如果不采用加密样本对齐的方式,多方之间如果明文发送其所拥有的用户标识ID(如用户手机号等)信息,一方面存在合规问题,另一方法会泄露自己所拥有的客户群信息,是部分参与联邦的组织所无法接受的。而现有的加密样本对齐方案,保证的是在多方用户数据求交集过程中***露参与方的用户集合,但在求交结束后多方交集用户会被其他参与方获取,在特定的场景下参与方技术交集用户信息也并不希望泄露,针对此种场景,本实施例提供了一种新的加密样本对齐的方案,保证在多方用户数据求交集过程后,参与联邦的各方均无法获取多方交集用户信息,但依然可以基于求交结果进行模型的训练。下面参阅图9,结合具体的实施方式进行介绍。
901、参与纵向联邦的设备获取第一向量。
本申请实施例提供的方案可以适用于任意一种参与纵向联邦的设备,比如可以是上述实施例中描述的参与方A1和参与方B,还可以是上述实施例中描述的参与方A2和参与方B。
第一向量具有N个维度,N个维度对应***中全部样本的标识ID,比如一个维度对应一个样本的ID。在一个可能的实施方式中,该参与纵向联邦的设备可以接收其所在***中其他设备发送的各自具有的样本中的最大ID和最小ID,并基于获取到的全部最大ID中的最大值,以及全部最小ID中的最小值确定N的取值。
第一向量的第一维度的取值用于指示该参与纵向联邦的设备维护的模型的样本中是否存在第一目标样本的ID,第一维度对应第一目标样本的ID。换句话说,第一向量的某个维度的取值用于指示该参与纵向联邦的设备维护的模型的样本中是否存在该维度对应的样本的ID。比如,在一个可能的实施方式中,第一维度的取值为0,代表该参与纵向联邦的设备维护的模型的样本中不存在第一目标样本的ID,第一维度的取值为1,代表该参与纵向联邦的设备维护的模型的样本中存在第一目标样本的ID。
902、参与纵向联邦的设备基于同态加密后的第二向量和第一向量获取目标向量。
第二向量和第一向量具有相同的维度,第二向量可能有多个。
每个第二向量的第一维度的取值用于指示该参与纵向联邦的设备所在的***中的其他设备中的一个设备维护的模型的样本中是否存在第一目标样本的ID。
该参与纵向联邦的设备基于获取到的全部同态加密后的第二向量和第一向量,可以获取到目标向量,比如,可以对获取到的全部同态加密后的第二向量和第一向量进行乘法运算,以获取目标向量。
903、参与纵向联邦的设备根据目标向量获取对齐样本。
目标向量具有N个维度,该N个维度中一个维度的取值用于该维度对应的样本的标识,是否存在于***中每个设备具有的样本的ID中。
该参与纵向联邦的设备可以根据该目标向量中每个维度的取值,获取对齐样本。
图9对应的实施例,通过引入第一向量,对应***中全部样本的标识ID,保证在获取对齐样本后,参与联邦的各方均无法获取对齐样本的信息,保护了参与联邦训练的参与方的数据隐私,还依然可以基于对齐样本进行模型的训练。
为了更好的理解这一方案,下面再结合一个具体的实施方式进行介绍。
首先,各个参与方基于自有数据集获取数据集中每个样本的最大ID与最小ID。其中,ID可能是电话号码等标识。各个参与方将各自的最大ID与最小ID广播给各个参与方,各个参与方接收后计算所有参与联邦的参与方的最大ID与最小ID。
以一个参与方User_X为例,其流程如下:
基于自有数据集的样本ID计算其最大ID与最小ID分别为User_X_ID_max,User_X_ID_min。
广播自有最大ID,最小ID给参与联邦的多方。在一个可能的实施方式中,也可以在最大ID基础之上加大数值,在最小ID基础之上减小数值,从而隐藏掉样本ID的精确值。
接收参与联邦的多方发送来的其最大ID与最小ID,计算获取到的所有ID中的最大ID与最小ID分别为ID_max,ID_min。
然后,各方基于ID_max,ID_min生成全量标识向量(比如图9对应的实施例中的第一向量、第二向量),并基于自有样本ID填充全量用户标识向量中自己所有的样本所对应位置的标识(比如图9对应的实施例中的获取第一向量每个维度的取值,或者第二向量每个维度的取值),同态加密赋值后的全量用户标识向量,然后广播给参与联邦的各个参与方。
在一个可能的实施方式中,全量标识向量的大小基于ID_max和ID_min确定,向量的第一个位置代表样本ID_min,最后一个位置代表ID_max。或者,向量的第一个位置代表样本ID_max,最后一个位置代表ID_min。第一个位置和最后一个位置之间的位置代表样本ID位于最大ID与最小ID之间的样本ID对应的位置。
以一个参与方User_X为例,其流程如下:
初始的全量标识向量各个维度的取值均为0。基于参与方User_X具有的所有的样本ID,对自有的全量标识向量赋值,将全量标识向量所有位置中与User_X具有的所有的样本ID的位置置为1。
User_X利用公共公钥同态加密赋值后的自有全量标识向量[[User_X]],并广播[[User_X]]。
User_X接收其他参与方广播来的各自的加密全量标识向量,将自有的[[User_X]]与其他各方发送来的各自的加密全量标识向量相乘,得到公共的所有参与方共有的加密全量标识向量[[User_ID_Set]]。
利用[[User_ID_Set]]获取多方用户交集的样本ID,并利用交集的样本作为训练样本。在一个可能的实施方式中,也可以解密解密[[User_ID_Set]],各方基于解密后的User_ID_Set提取自有数据中与其他各方交集的样本作为模型的训练数据。
图9对应的实施例,该参与纵向联邦的设备获取了目标向量后,根据目标向量从本地的全部样本中获取对齐样本,并将对齐样本作为训练样本。
下面结合一个具体的例子对方案进行介绍:
参阅图10,以两个参与方为例对方案进行举例说明。假设参与纵向联邦训练的参与方包括参与方A1以及参与方B。并假设参与方A1具有的样本(或者说参与方A1的自有数据集)包括候选训练样本1、候选训练样本2、候选训练样本3、候选训练样本4以及候选训练样本5。假设参与方B具有的样本(或者说参与B的自有数据集)包括候选训练样本1、候选训练样本2、候选训练样本3、候选训练样本6以及候选训练样本7。
假设如图10所示,参与方A1基于自有数据集包括的数据获取其最大样本ID为10,最小样本ID为2,参与方B基于自有数据集包括的数据获取其最大样本ID为10,最小样本ID为1。参与方A1和参与方B广播各自的最大样本ID和最小ID。
假设参与方A1、参与方B根据获取到的全部样本ID,获取全部样本ID中最大ID为10,最小ID为1。以参与方A1为例继续举例说明,则参与方A1根据获取到的最大ID(10)以及最小ID(10)生成全量标识向量,一共包括10个维度。参与方A1根据自有数据集中包括的样本的ID对参与方A1生成的全量标识向量进行赋值,具体的可以参照图10所展示的赋值结果进行理解。参与方A1对赋值后的自有生成的全量标识向量进行同态加密,并广播该加密的全量标识向量。参与方B执行的过程与参与方A1相似,具体的可以参照图10进行理解。参与方A1接收了参与方B发送的参与方B生成的加密的全量标识向量,并对获取到的全部加密的全量标识向量进行相乘运算,以获取公共的所有参与方共有的加密全量标识向量,本申请也称之为目标向量。参与方A1再根据目标向量获取对齐样本作为训练样本。
通过图9、图10所描述的实施方式获取的对齐样本(训练样本)的方式,可以适用于图3至图8中描述的实施方式中,获取参与方A1与参与方B的对齐样本(图3至图8中描述的实施方式中的A1本地的数据、B本地的数据),或者获取参与方A2与参与方B的对齐样本(图3至图8中描述的实施方式中的A2本地的数据、B本地的数据)。
在一个可能的实施方式,该参与纵向联邦的设备获取了目标向量后,可以将本地的全部样本作为训练样本,在训练过程中,该参与纵向联邦的设备获取了中间结果后,将该中间结果和该目标向量进行乘法运算,对该乘法运算后的结果进行同态加密,并在***中传递该经过同态加密后的乘法运算后的结果。比如,对于图3至图8中描述的实施方式中,A1本地的数据、B本地的数据不再是对齐样本,而是A1的全部样本,即A1的自有数据集,B的全部样本,即B的自有数据集。A2本地的数据、B本地的数据不再是对齐样本,而是A2的全部样本,即A2的自有数据集,B的全部样本,即B的自有数据集。此外,对于图3至图8中描述的实施方式中,各个参与方获取了中间结果后,将该中间结果与各自获取的目标向量进行乘法运算,后续与中间结果相关的计算,可以是同态加密后的利用与各自获取的目标向量进行乘法运算的结果。
下面通过表1更清楚的展示本申请实施方式的优势。
表1:
Figure PCTCN2022105396-appb-000011
Figure PCTCN2022105396-appb-000012
Figure PCTCN2022105396-appb-000013
本申请实施例提供的方案能够同时利用相同特征空间,不同样本空间的数据,以及不同特征空间,相同样本空间的数据作为训练样本来训练模型。本申请实施例提供的方案,可以拓宽联邦学习的应用场景,示例性的,下面给出两种可能的应用场景:
场景一:参与方B为电商,其拥有很多用户在其网站上的点击,收藏以及购买记录数据,A类用户为运营商类用户,不同的A类用户为不同的电信运营商,如移动,电信,联通等,其拥有很多用户的通信类信息,如套餐价格,通话频次等信息。同时B类用户与A类用户存在交叉用户(如利用相同手机号标识的用户)。此时B方可以与A类用户多方协同建立一个AI模型用于B方用户的商品推荐。
场景二:参与方B为电商(比如保存电商数据的设备等),其拥有很多用户在其网站上的点击,收藏以及购买记录数据,A类用户为电商网站用户(用户的手机、其他终端设备等),用户手机上拥有用户在手机上的行为信息,包括各类app的数目,每天使用手机的时间等行为信息,经过用户同意后可以利用这一类信息与B类电商用户协同建立模型,用于B方用户的商品推荐。
这里结合场景二,以及一种可能的实施方式,对方案进行举例介绍:
首先,各个电商网站用户和电商生成各自的公钥和私钥,并交换彼此的公钥,即每个电商网站用户将生成的公钥广播给其他电商网站用户以及电商,每个电商广播其生成的公钥给所有电商网站用户。各个电商网站用户和电商根据接收到的公钥和本地生成的公钥合成公共公钥,并利用该公共公钥给后续发送的数据(比如中间结果)进行同态加密。
各个电商网站用户使用公共公钥加密各自的模型参数,并广播加密后的模型参数,各个电商网站用户使用本地加密后的模型参数和接收到的加密后的模型参数获取公共模型的参数,以利用该公共模型获取各自的中间结果。
各个电商网站用户利用密文的公共模型和各自本地数据生成密文中间结果,并将该密文中间结果发送给电商。电商利用本地模型,本地数据获取其中间结果。
电商将其获取的中间结果发送给各个电商网站用户,各个电商网站用户接收到的电商发送的中间结果是不同的,各个用户和电商使用获取到的中间结果计算梯度,并更新各自的模型。
当电商网站用户存在大量掉线用户时,比如当电商网站用户数目达到阈值时,剩余在线的电商网站用户使用分布式阈值同态加密转秘密分享技术,将各自的模型在已有在线用户处转成秘密份额的行驶。当前在线的电商网站用户使用分布式阈值加密技术生成密钥,并基于该密钥使用秘密分享转分布式阈值同态加密技术将模型的秘密份额转化为同态加密。
上述场景一和场景二,***中包括的各个参与方维护的模型的训练样本的数据类型可以看做是用户数据,其中,用户数据可以理解为根据用户的行为产生的数据(比如,由于用户对各个参与方部署的设备的操作行为而产生的数据:具体的,比如上述场景一提到的因用户在网站上的点击行为、收藏行为产生的数据),也可以理解为联邦学习***的参与方为用户提供服务时产生的与具体用户相关的数据(比如,上述场景一提到的套餐价格、通话频次)。示例性的,下面再给出两种训练样本的数据类型为用户数据时,可能的应用场景实例:
在一种可能的实施方式中,参与方B为运营商,运营商维护了多种类型的网元,其中每种类型的网元获取到的数据可以组成训练样本中数据运营商侧的特征数据。参与方B可以存在多个,比如移动,电信,联通等。参与方A为互联网公司,其拥有用户在使用互联网业务时(如看视频,网页等)产生的数据。可以利用参与方A与参与方B的各自维护的数据协同建立业务流业务体验模型,用于参与方B识别其用户的业务体验。
参照表2,为上述场景下***中的训练样本的数据集的示例。
表2:
Figure PCTCN2022105396-appb-000014
Figure PCTCN2022105396-appb-000015
其中,行号1-3的是互联网公司侧拥有的数据举例,行号4-12为运营商拥有的数据举例。行号1对应的数据可以做为模型训练的标签数据,即用户的业务体验作为标签数据。第1-12行的数据为同一用户在多个实体的数据。
应用功能(application function,AF)实体:用于提供业务,或者进行与应用有关的数据的路由。用户面功能(user plane function,UPF)网元:负责终端设备的用户数据的转发和接收。可以从数据网络(data network,DN)接收用户数据,通过接入网设备传输给终端设备;UPF网元还可以通过接入网设备从终端设备接收用户数据,转发到数据网络。接入网设备,可以是将终端设备接入到无线网络的无线接入网(radio accessnetwork,RAN)节点。目前,一些RAN节点的举例为:下一代基站(next generation NodeB,gNB)、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,WiFi)接入点(access point,AP)等。其中,基站可能有多种形式,比如宏基站、微基站、中继站和接入点等。本申请实施例涉及到的基站可以是5G***中的基站或LTE***中的基站,或未来的通信***中未来的第六代(6th generation,6G)基站。其中,5G***中的基站还可以称为发送接收点(transmission reception point,TRP)或下一代节点B(generation Node B,gNB或gNodeB)。为了便于说明,本申请实施例将接入网设备简称为RAN。
在一种可能的实施方式中,参与方B为运营商,其拥有很多用户的通信类信息,如套餐价格,通话频次等信息。参与方A为银行,其拥有用户的身份信息,业务流水等信息。此时B方可以与A类用户多方协同建立一个AI模型用于提供对参与方A的用户的贷款建议。
参照表3,为上述场景下***中的训练样本的数据集的示例。
表3:
Figure PCTCN2022105396-appb-000016
Figure PCTCN2022105396-appb-000017
行号为1的数据(即status)做为模型训练的标签数据。行号1-9对应的数据为银行业务***服务器获得的数据,行号为10-14对应的数据为运营商业务***获得的数据。行号1-14的数据为同一用户在不同参与方(实例中为参与方A和参与方B)的数据。
此外,在一些可能的实施方式中,***包括的各个参与方维护的模型的训练样本也可以都是相同特征空间,不同样本空间的数据。在一些可能的实施方式中,***包括的各个参与方维护的模型的训练样本也可以都是不同特征空间,相同样本空间的数据。具体的实施方式可以参照上述各个实施例进行理解,这里不再重复赘述。
以上对本申请提供的一种机器学习模型更新的***以及方法进行了介绍,通过本申请实施例提供的方案,可以拓宽联邦学习的应用场景,使各个参与方训练后的模型的预测结果更加精准。可以理解的是,上述参与方为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
从硬件结构上来描述,图3至图10中的参与方或者设备可以由一个实体设备实现,也可以由多个实体设备共同实现,还可以是一个实体设备内的一个逻辑功能模块,本申请实施例对此不作具体限定。下面基于前述的机器学习模型更新的***以及方法,对本申请提供的装置进行阐述,该装置用于执行前述图3至图10对应的方法的步骤。
参阅图11,为本申请实施例提供的一种机器学习模型的更新设备的结构示意图。
该设备包括收发模块1101以及处理模块1102。
当该设备是上述图3至图10对应的实施例中描述的参与方A1时:
收发模块1101用于执行图3对应的实施例中的步骤301以及图3对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图3对应的实施例中的步骤301、步骤303以及图3对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图4对应的实施例中的步骤402、405以及图4对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图4对应的实施例中的步骤401、402、405、406、407以及图4对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图5对应的实施例中的步骤502、503以及图5对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图5对应的实施例中的步骤501、502、503、506、507、508以及图5对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图6对应的实施例中的步骤602、602”、603、604、607以及图6对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图6 对应的实施例中的步骤601、603、604、607、608、609以及图6对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图8对应的实施例中的步骤802、803、804、807、808、813、813’、814、814’以及图8对应的实施例中其他与收发相关的步骤。
处理模块1102用于执行图6对应的实施例中的步骤801、802、805、806、809、810、811、812、815以及图8对应的实施例中其他与数据处理相关的步骤。
当该设备是上述图3至图10对应的实施例中描述的参与方A2时:
收发模块1101用于执行图3对应的实施例中的步骤301’以及图3对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图3对应的实施例中的步骤301’、303’以及图3对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图4对应的实施例中的步骤402’、405’以及图4对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图4对应的实施例中的步骤401’、402’、405’、406’、407’以及图4对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图5对应的实施例中的步骤502’、503’以及图5对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图5对应的实施例中的步骤501’、502’、503’、506’、507’、508’以及图5对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图6对应的实施例中的步骤602、602'、603'、604'、607'以及图6对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图6对应的实施例中的步骤601'、603'、604'、607'、608'、609'以及图6对应的实施例中其他与数据处理相关的步骤。
当该设备是上述图3至图10对应的实施例中描述的参与方B时:
收发模块1101用于执行图3对应的实施例中的步骤302以及图3对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图3对应的实施例中的步骤302、步骤303”以及图3对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图4对应的实施例中的步骤403”及图4对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图4对应的实施例中的401”、402”、403”、405”、406”、407”以及图4对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图5对应的实施例中的步骤504、505、505”。处理模块1102用于执行图5对应的实施例中的步骤501”、506”、507”、508”以及图5对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图6对应的实施例中的步骤602'、602”、608、606”、606’以及图6对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图6对应的实施例中的步骤601”、605、604”、607”、608”、609”以及图6对应的实施例中其他与数据处理相关的步骤。
当该设备是上述图3至图10对应的实施例中描述的参与联邦训练的设备时:
收发模块1101用于执行图7对应的实施例中的步骤701、702以及图7对应的实施例中其 他与收发相关的步骤。处理模块1102用于执行图7对应的实施例中的步骤701、702、703以及图7对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,收发模块1101用于执行图7对应的实施例中的步骤901以及图7对应的实施例中其他与收发相关的步骤。处理模块1102用于执行图7对应的实施例中的步骤901、902、903以及图7对应的实施例中其他与数据处理相关的步骤。
在一个可能的实施方式中,处理模块,用于获取第一中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的。
收发模块,用于接收第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的。
处理模块,还用于:根据第一中间结果和第二中间结果更新第一机器学习模型的参数。
收发模块,还用于将第三中间结果向第二数据处理设备发送,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同,第三中间结果和第二中间结果用于更新第二机器学习模型的参数。
在一个可能的实施方式中,处理模块,还用于:
根据获取到的第一公钥和第二公钥生成公共公钥,第一公钥是第一数据处理设备生成的,第二公钥是第二数据处理设备生成的。
利用公共公钥对第三中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对同态加密后的第三中间结果进行解密,第一私钥是第一数据处理设备生成的,第二私钥是第二数据处理设备生成的。
在一个可能的实施方式中,收发模块,还用于:
获取到***中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的第一机器学习模型的参数,以使在线的数据处理设备利用各自的第一私钥或第二私钥解密同态加密后的第一机器学习模型的参数,阈值大于目标数量。
在一个可能的实施方式中,收发模块,还用于:
接收在线的数据处理设备利用各自的第一私钥或第二私钥解密后获取的第一机器学习模型的参数。
在一个可能的实施方式中,第一中间结果具体是基于第一机器学习模型的参数、第一数据处理设备的历史用户数据以及目标向量获取的,处理模块,还用于:
基于同态加密后的第一向量和第二向量获取目标向量,一个第一向量具有N个维度,N个维度对应***中全部历史用户数据的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,第一维度对应第一历史用户数据的标识,第二向量和第一向量具有相同的维度,第二向量的第一维度的取值用于指示第一数据处理设备的历史用户数据的标识中是否存在第一历史用户数据的标识。
在一个可能的实施方式中,第一数据处理设备获取的历史用户数据和第二数据处理设备获取的历史用户数据具有不同的特征空间。
在一个可能的实施方式中,收发模块,用于接收第三中间结果,第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的,第三中间结果是基于第一机器学习模型的参数、第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,目标历史用户数据的标识和第二数据处理设备的历史用户数据的标识相同。
处理模块,用于:
获取第二中间结果,第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的,第二中间结果和第一中间结果用于更新第一机器学习模型的参数。
根据第三中间结果和第二中间结果,更新第二机器学习模型的参数。
在一个可能的实施方式中,收发模块,还用于获取多个初始的机器学习模型的参数,一个初始的机器学习模型部署在一个第三数据处理设备中,任意两个第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,第二数据处理设备是多个第三数据处理设备中的任意一个第三数据处理设备。
处理模块,还用于:
对获取到的多个初始的机器学习模型的参数进行加权处理,以获取加权值。
根据加权值更新第二数据处理设备上部署的初始的机器学习模型的参数,以获取第二机器学习模型的参数。
在一个可能的实施方式中,处理模块,还用于:
根据获取到的第一公钥和第二公钥生成公共公钥,第一公钥是第一数据处理设备生成的,第二公钥是第二数据处理设备生成的。
利用公共公钥对第二中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对同态加密后的第二中间结果进行解密,第一私钥是第一数据处理设备生成的,第二私钥是第二数据处理设备生成的。
在一个可能的实施方式中,收发模块,还用于:
获取到***中在线的数据处理设备的数量小于阈值时,向在线的数据处理设备发送同态加密后的第二机器学习模型的参数,以使在线的数据处理设备利用各自的第一私钥或第二私钥解密同态加密后的第二机器学习模型的参数,阈值大于目标数量。
在一个可能的实施方式中,收发模块,还用于:
接收在线的数据处理设备利用各自的第一私钥或第二私钥解密后获取的第二机器学习模型的参数。
在一个可能的实施方式中,第二中间结果具体是基于第二机器学习模型的参数、第二数据处理设备的历史用户数据以及目标向量获取的,处理模块,还用于:
获取第一向量,第一向量具有N个维度,N个维度对应***中全部历史用户数据的标识,第一向量的第一维度的取值用于指示第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,第一维度对应第一历史用户数据的标识。
基于同态加密后的第二向量和第一向量获取目标向量,第二向量和第一向量具有相同 的维度,第二向量的第一维度的取值用于指示第一数据处理设备的历史用户数据的标识中是否存在第一历史用户数据的标识。
如图12所示,为本申请实施例提供的另一种机器学习模型的更新设备的结构示意图,该设备相当于图3至图10中描述的任意一种参与方或者设备。
图12所示的装置可以包括:处理器1201、存储器1202、通信接口1204以及总线1203。处理器1201、存储器1202以及通信接口1204之间可以通过总线1203连接。
处理器1201是计算机设备的控制中心,可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一个示例,处理器1201可以包括一个或多个CPU。
存储器1202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器1202可以独立于处理器1201存在。存储器1202可以通过总线1203与处理器1201相连接,用于存储数据、指令或者程序代码。处理器1201调用并执行存储器1202中存储的指令或程序代码时,能够实现本申请实施例提供的机器学习模型的更新方法,例如,图3-图10任一所示的机器学习模型的更新方法。
另一种可能的实现方式中,存储器1202也可以和处理器1201集成在一起。
通信接口1204,用于装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。通信接口1204可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线1203,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,除图12所示部件之外,机器学习模型的更新设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请的说明书和权利要求书及上述附图中的术语“第一”,“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,术语“包括”和“具有”以 及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程,方法,***,产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程,方法,产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。

Claims (56)

  1. 一种用户数据处理的***,其特征在于,所述***包括第一数据处理设备和第二数据处理设备,
    所述第一数据处理设备,用于:
    产生第一中间结果,所述第一中间结果是基于第一机器学习模型的参数和所述第一数据处理设备获取到的历史用户数据获取的;
    接收第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的历史用户数据获取的;
    根据所述第一中间结果和所述第二中间结果更新所述第一机器学习模型的参数;
    将第三中间结果发送给所述第二数据处理设备,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备获取到的历史用户数据的标识相同;
    所述第二数据处理设备,用于:
    根据所述第三中间结果和所述第二中间结果,更新所述第二机器学习模型的参数。
  2. 根据权利要求1所述的***,其特征在于,所述***中包括多个第三数据处理设备,任意两个所述第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,所述第二数据处理设备是所述多个第三数据处理设备中的任意一个第三数据处理设备,每个所述第三数据处理设备上均部署有初始的机器学习模型,所述第二数据处理设备,还用于:
    获取多个所述初始的机器学习模型的参数;
    对获取到的所述多个初始的机器学习模型的参数进行加权处理,以获取加权值;
    根据所述加权值更新所述第二数据处理设备上部署的初始的机器学习模型的参数,以获取所述第二机器学习模型的参数。
  3. 根据权利要求1或2所述的***,其特征在于,所述第一数据处理设备,还用于:
    生成第一公钥和第一私钥;
    所述第二数据处理设备,还用于:
    生成第二公钥和第二私钥,所述第一公钥和所述第二公钥用于生成公共公钥,所述公共公钥用于对所述第一中间结果或所述第二中间结果进行同态加密,大于目标数量的所述第一私钥或所述第二私钥用于对同态加密后的所述第一中间结果或所述第二中间结果进行解密。
  4. 根据权利要求3所述的***,其特征在于,所述第二数据处理设备,还用于:
    获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第二机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第二机器学习模型的参数,所述阈值不小于所述目标数量。
  5. 根据权利要求4所述的***,其特征在于,所述第二数据处理设备,还用于:
    接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第二机器学习模型的参数。
  6. 根据权利要求3至5任一项所述的***,其特征在于,所述第一数据处理设备,还用于:
    获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第一机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第一机器学习模型的参数,所述阈值大于所述目标数量。
  7. 根据权利要求6所述的***,其特征在于,所述第一数据处理设备,还用于:
    接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第一机器学习模型的参数。
  8. 根据权利要求1至7任一项所述的***,其特征在于,所述第二中间结果具体是基于所述第二机器学习模型的参数、所述第二数据处理设备获取到的历史用户数据以及目标向量获取的,所述第二数据处理设备,还用于:
    获取第一向量,所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取到的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识;
    基于同态加密后的第二向量和所述第一向量获取所述目标向量,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备获取到的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  9. 根据权利要求8所述的***,其特征在于,所述第一中间结果具体是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据以及所述目标向量获取的,所述第一数据处理设备,还用于:
    基于同态加密后的所述第一向量和所述第二向量获取目标向量。
  10. 根据权利要求1至9任一项所述的***,其特征在于,所述第一数据处理设备获取的历史用户数据和所述第二数据处理设备获取的历史用户数据具有不同的特征空间、相同的数据标识。
  11. 一种用户数据处理的方法,其特征在于,包括:
    第一数据处理设备产生第一中间结果,所述第一中间结果是基于第一机器学习模型的参数和所述第一数据处理设备获取到的历史用户数据获取的;
    所述第一数据处理设备接收第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的历史用户数据获取的;
    所述第一数据处理设备根据所述第一中间结果和所述第二中间结果更新所述第一机器学习模型的参数;
    所述第一数据处理设备将第三中间结果发送给所述第二数据处理设备,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据 中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备的历史用户数据的标识相同,所述第三中间结果和所述第二中间结果用于更新所述第二机器学习模型的参数。
  12. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    所述第一数据处理设备根据获取到的第一公钥和第二公钥生成公共公钥,所述第一公钥是所述第一数据处理设备生成的,所述第二公钥是第二数据处理设备生成的;
    所述第一数据处理设备利用所述公共公钥对所述第三中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对所述同态加密后的所述第三中间结果进行解密,所述第一私钥是所述第一数据处理设备生成的,所述第二私钥是所述第二数据处理设备生成的。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    所述第一数据处理设备获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第一机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第一机器学习模型的参数,所述阈值大于所述目标数量。
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    所述第一数据处理设备接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第一机器学习模型的参数。
  15. 根据权利要求11至14任一项所述的方法,其特征在于,所述第一中间结果具体是基于所述第一机器学习模型的参数、所述第一数据处理设备的历史用户数据以及目标向量获取的,所述方法还包括:
    所述第一数据处理设备基于同态加密后的第一向量和第二向量获取目标向量,一个所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  16. 根据权利要求13至15任一项所述的方法,其特征在于,所述第一数据处理设备获取的历史用户数据和所述第二数据处理设备获取的历史用户数据具有不同的特征空间。
  17. 一种用户数据处理的方法,其特征在于,包括:
    第二数据处理设备接收第三中间结果,所述第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备的历史用户数据的标识相同;
    所述第二数据处理设备获取第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的历史用户数据获取的,所述第二中间结果和所述第一中间结果用于更新所述第一机器学习模型的参数;
    所述第二数据处理设备根据所述第三中间结果和所述第二中间结果,更新所述第二机器学习模型的参数。
  18. 根据权利要求17所述的方法,其特征在于,所述方法还包括:
    所述第二数据处理设备获取多个初始的机器学习模型的参数,一个所述初始的机器学习模型部署在一个第三数据处理设备中,任意两个所述第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,所述第二数据处理设备是多个所述第三数据处理设备中的任意一个第三数据处理设备;
    所述第二数据处理设备对获取到的所述多个初始的机器学习模型的参数进行加权处理,以获取加权值;
    根据所述加权值更新所述第二数据处理设备上部署的初始的机器学习模型的参数,以获取所述第二机器学习模型的参数。
  19. 根据权利要求17或18所述的方法,其特征在于,所述方法还包括:
    所述第二数据处理设备根据获取到的第一公钥和第二公钥生成公共公钥,所述第一公钥是所述第一数据处理设备生成的,所述第二公钥是第二数据处理设备生成的;
    所述第二数据处理设备利用所述公共公钥对所述第二中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对所述同态加密后的所述第二中间结果进行解密,所述第一私钥是所述第一数据处理设备生成的,所述第二私钥是所述第二数据处理设备生成的。
  20. 根据权利要求19所述的方法,其特征在于,所述方法还包括:
    所述第二数据处理设备获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第二机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第二机器学习模型的参数,所述阈值大于所述目标数量。
  21. 根据权利要求20所述的方法,其特征在于,所述方法还包括:
    所述第二数据处理设备接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第二机器学习模型的参数。
  22. 根据权利要求17至21任一项所述的方法,其特征在于,所述第二中间结果具体是基于所述第二机器学习模型的参数、所述第二数据处理设备的历史用户数据以及目标向量获取的,所述方法还包括:
    所述第二数据处理设备获取第一向量,所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识;
    基于同态加密后的第二向量和所述第一向量获取所述目标向量,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  23. 根据权利要求17至22任一项所述的方法,其特征在于,所述第一数据处理设备获取的历史用户数据和所述第二数据处理设备获取的历史用户数据具有不同的特征空间。
  24. 一种掉线处理的方法,其特征在于,包括:
    目标数据处理设备生成公钥和私钥;
    所述目标数据处理设备接收所述目标数据处理设备所在***中其他数据处理设备发送的各自生成的公钥,以生成公共公钥;
    所述目标数据处理设备利用所述公共公钥对目标数据进行同态加密,所述目标数据包括所述目标数据处理设备上部署的目标机器学习模型的参数,所述其他数据处理设备生成的私钥中大于目标数量的私钥用于对同态加密后的所述目标数据进行解密;
    所述目标数据处理设备获取所述其他数据处理设备中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送所述同态加密后的目标数据,以使所述在线的数据处理设备利用各自生成的私钥解密所述同态加密后的目标数据。
  25. 根据权利要求24所述的方法,其特征在于,所述方法还包括:
    所述目标数据处理设备接收所述在线的数据处理设备利用各自生成的私钥解密后获取的所述目标数据。
  26. 根据权利要求24或25所述的方法,其特征在于,所述目标数据处理设备是第一数据处理设备时,所述方法还包括:
    所述目标数据处理设备产生第一中间结果,所述第一中间结果是基于第一机器学习模型的参数和所述第一数据处理设备获取到的历史用户数据获取的;
    所述目标数据处理设备接收第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和第二数据处理设备获取到的历史用户数据获取的;
    所述目标数据处理设备根据所述第一中间结果和所述第二中间结果更新所述第一机器学习模型的参数;
    所述目标数据处理设备将第三中间结果发送给所述第二数据处理设备,所述第三中间结果是基于所述第一机器学习模型的参数、所述目标数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备的历史用户数据的标识相同,所述第三中间结果和所述第二中间结果用于更新所述第二机器学习模型的参数。
  27. 根据权利要求26所述的方法,其特征在于,所述第一中间结果具体是基于所述第一机器学习模型的参数、所述第一数据处理设备的历史用户数据以及目标向量获取的,所述方法还包括:
    所述目标数据处理设备基于同态加密后的第一向量和第二向量获取目标向量,一个所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  28. 根据权利要求24或25所述的方法,其特征在于,所述目标数据处理设备是第二数据处理设备时,所述方法还包括:
    所述目标数据处理设备接收第三中间结果,所述第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备的历史用户数据的标识相同;
    所述目标数据处理设备产生第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的历史用户数据获取的,所述第二中间结果和所述第一中间结果用于更新所述第一机器学习模型的参数;
    所述目标数据处理设备根据所述第三中间结果和所述第二中间结果,更新所述第二机器学习模型的参数。
  29. 根据权利要求28所述的方法,其特征在于,所述方法还包括:
    所述目标数据处理设备获取多个初始的机器学习模型的参数,一个所述初始的机器学习模型部署在一个第三数据处理设备中,任意两个所述第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,所述第二数据处理设备是多个所述第三数据处理设备中的任意一个第三数据处理设备;
    所述目标数据处理设备对获取到的所述多个初始的机器学习模型的参数进行加权处理,以获取加权值;
    所述目标数据处理设备根据所述加权值更新所述目标数据处理设备上部署的初始的机器学习模型的参数,以获取所述第二机器学习模型的参数。
  30. 根据权利要求26所述的方法,其特征在于,所述第二中间结果具体是基于所述第二机器学习模型的参数、所述第二数据处理设备的历史用户数据以及目标向量获取的,所述方法还包括:
    所述目标数据处理设备获取第一向量,所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识;
    所述目标数据处理设备基于同态加密后的第二向量和所述第一向量获取所述目标向量,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  31. 一种数据处理的***,其特征在于,所述***包括第一数据处理设备和第二数据处理设备,
    所述第一数据处理设备,用于:
    产生第一中间结果,所述第一中间结果是基于第一机器学习模型的参数和所述第一数据处理设备获取到的训练样本获取的;
    接收第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的训练样本获取的;
    根据所述第一中间结果和所述第二中间结果更新所述第一机器学习模型的参数;
    将第三中间结果发送给所述第二数据处理设备,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的训练样本中的目标训练样本获取的第一中间结果,所述目标训练样本的标识和所述第二数据处理设备获取到的训练样本的标识相同;
    所述第二数据处理设备,用于:
    根据所述第三中间结果和所述第二中间结果,更新所述第二机器学习模型的参数。
  32. 根据权利要求31所述的***,其特征在于,所述***中包括多个第三数据处理设备,任意两个所述第三数据处理设备获取到的训练样本具有相同的特征空间、不同的样本标识,所述第二数据处理设备是所述多个第三数据处理设备中的任意一个第三数据处理设备,每个所述第三数据处理设备上均部署有初始的机器学习模型,所述第二数据处理设备,还用于:
    获取多个所述初始的机器学习模型的参数;
    对获取到的所述多个初始的机器学习模型的参数进行加权处理,以获取加权值;
    根据所述加权值更新所述第二数据处理设备上部署的初始的机器学习模型的参数,以获取所述第二机器学习模型的参数。
  33. 根据权利要求31或32所述的***,其特征在于,所述第一数据处理设备,还用于:
    生成第一公钥和第一私钥;
    所述第二数据处理设备,还用于:
    生成第二公钥和第二私钥,所述第一公钥和所述第二公钥用于生成公共公钥,所述公共公钥用于对所述第一中间结果或所述第二中间结果进行同态加密,大于目标数量的所述第一私钥或所述第二私钥用于对同态加密后的所述第一中间结果或所述第二中间结果进行解密。
  34. 根据权利要求33所述的***,其特征在于,所述第二数据处理设备,还用于:
    获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第二机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第二机器学习模型的参数,所述阈值不小于所述目标数量。
  35. 根据权利要求34所述的***,其特征在于,所述第二数据处理设备,还用于:
    接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第二机器学习模型的参数。
  36. 根据权利要求33至35任一项所述的***,其特征在于,所述第一数据处理设备,还用于:
    获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第一机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第一机器学习模型的参数,所述阈值大于所述目标数量。
  37. 根据权利要求36所述的***,其特征在于,所述第一数据处理设备,还用于:
    接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第一机器学习模型的参数。
  38. 根据权利要求31至37任一项所述的***,其特征在于,所述第二中间结果具体是基于所述第二机器学习模型的参数、所述第二数据处理设备获取到的训练样本以及目标向量获取的,所述第二数据处理设备,还用于:
    获取第一向量,所述第一向量具有N个维度,所述N个维度对应所述***中全部训练样本的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的训练样本的标识中是否存在第一训练样本的标识,所述第一维度对应所述第一训练样本的标识;
    基于同态加密后的第二向量和所述第一向量获取所述目标向量,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备获取的训练样本的标识中是否存在所述第一训练样本的标识。
  39. 根据权利要求38所述的***,其特征在于,所述第一中间结果具体是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的训练样本以及所述目标向量获取的,所述第一数据处理设备,还用于:
    基于同态加密后的所述第一向量和所述第二向量获取目标向量。
  40. 根据权利要求31至39任一项所述的***,其特征在于,所述第一数据处理设备获取的训练样本和所述第二数据处理设备获取的训练样本具有不同的特征空间、相同的样本标识。
  41. 一种用户数据处理的装置,其特征在于,包括:
    处理模块,用于产生第一中间结果,所述第一中间结果是基于第一机器学习模型的参数和所述第一数据处理设备获取到的历史用户数据获取的;
    收发模块,用于接收第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的历史用户数据获取的;
    所述处理模块,还用于:根据所述第一中间结果和所述第二中间结果更新所述第一机器学习模型的参数;
    所述收发模块,还用于将第三中间结果发送给所述第二数据处理设备,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备的历史用户数据的标识相同,所述第三中间结果和所述第二中间结果用于更新所述第二机器学习模型的参数。
  42. 根据权利要求41所述的装置,其特征在于,所述处理模块,还用于:
    根据获取到的第一公钥和第二公钥生成公共公钥,所述第一公钥是所述第一数据处理设备生成的,所述第二公钥是第二数据处理设备生成的;
    利用所述公共公钥对所述第三中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对所述同态加密后的所述第三中间结果进行解密,所述第一私钥是所述第一数据处理设备生成的,所述第二私钥是所述第二数据处理设备生成的。
  43. 根据权利要求42所述的装置,其特征在于,所述收发模块,还用于:
    获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第一机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第一机器学习模型的参数,所述阈值大于所述目标数量。
  44. 根据权利要求43所述的装置,其特征在于,所述收发模块,还用于:
    接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第一机器学习模型的参数。
  45. 根据权利要求41至44任一项所述的装置,其特征在于,所述第一中间结果具体是基于所述第一机器学习模型的参数、所述第一数据处理设备的历史用户数据以及目标向量获取的,所述处理模块,还用于:
    基于同态加密后的第一向量和第二向量获取目标向量,一个所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  46. 根据权利要求43至45任一项所述的装置,其特征在于,所述第一数据处理设备获取的历史用户数据和所述第二数据处理设备获取的历史用户数据具有不同的特征空间。
  47. 一种用户数据处理的装置,其特征在于,包括:
    收发模块,用于接收第三中间结果,所述第一中间结果是基于第一机器学习模型的参数和第一数据处理设备获取到的历史用户数据获取的,所述第三中间结果是基于所述第一机器学习模型的参数、所述第一数据处理设备获取到的历史用户数据中的目标历史用户数据从所述第一中间结果中获取的,所述目标历史用户数据的标识和所述第二数据处理设备的历史用户数据的标识相同;
    处理模块,用于:
    获取第二中间结果,所述第二中间结果是基于第二机器学习模型的参数和所述第二数据处理设备获取到的历史用户数据获取的,所述第二中间结果和所述第一中间结果用于更新所述第一机器学习模型的参数;
    根据所述第三中间结果和所述第二中间结果,更新所述第二机器学习模型的参数。
  48. 根据权利要求47所述的装置,其特征在于,
    所述收发模块,还用于获取多个初始的机器学习模型的参数,一个所述初始的机器学习模型部署在一个第三数据处理设备中,任意两个所述第三数据处理设备获取到的历史用户数据具有相同的特征空间、不同的数据标识,所述第二数据处理设备是多个所述第三数据处理设备中的任意一个第三数据处理设备;
    所述处理模块,还用于:
    对获取到的所述多个初始的机器学习模型的参数进行加权处理,以获取加权值;
    根据所述加权值更新所述第二数据处理设备上部署的初始的机器学习模型的参数,以获取所述第二机器学习模型的参数。
  49. 根据权利要求47或48所述的装置,其特征在于,所述处理模块,还用于:
    根据获取到的第一公钥和第二公钥生成公共公钥,所述第一公钥是所述第一数据处理设备生成的,所述第二公钥是第二数据处理设备生成的;
    利用所述公共公钥对所述第二中间结果进行同态加密,大于目标数量的第一私钥或第二私钥用于对所述同态加密后的所述第二中间结果进行解密,所述第一私钥是所述第一数据处理设备生成的,所述第二私钥是所述第二数据处理设备生成的。
  50. 根据权利要求49所述的装置,其特征在于,所述收发模块,还用于:
    获取到所述***中在线的数据处理设备的数量小于阈值时,向所述在线的数据处理设备发送同态加密后的所述第二机器学习模型的参数,以使所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密所述同态加密后的所述第二机器学习模型的参数,所述阈值大于所述目标数量。
  51. 根据权利要求50所述的装置,其特征在于,所述收发模块,还用于:
    接收所述在线的数据处理设备利用各自的第一私钥或所述第二私钥解密后获取的所述第二机器学习模型的参数。
  52. 根据权利要求47至51任一项所述的装置,其特征在于,所述第二中间结果具体是基于所述第二机器学习模型的参数、所述第二数据处理设备的历史用户数据以及目标向量获取的,所述处理模块,还用于:
    获取第一向量,所述第一向量具有N个维度,所述N个维度对应所述***中全部历史用户数据的标识,所述第一向量的第一维度的取值用于指示所述第二数据处理设备获取的历史用户数据的标识中是否存在第一历史用户数据的标识,所述第一维度对应所述第一历史用户数据的标识;
    基于同态加密后的第二向量和所述第一向量获取所述目标向量,所述第二向量和所述第一向量具有相同的维度,所述第二向量的第一维度的取值用于指示所述第一数据处理设备的历史用户数据的标识中是否存在所述第一历史用户数据的标识。
  53. 根据权利要求47至52任一项所述的装置,其特征在于,所述第一数据处理设备获取的历史用户数据和所述第二数据处理设备获取的历史用户数据具有不同的特征空间。
  54. 一种用户数据处理的装置,其特征在于,包括:
    存储器,存储有可执行的程序指令;和
    处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以使所述设备实现如权利要求11至16任一所述的方法,或者实现如权利要求17至23任一所述的方法,或者实现如权利要求24至30任一所述的方法。
  55. 如权利要求54所述的装置,其特征在于,所述装置为终端、终端中的芯片或者服务器。
  56. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求11至16任一所述的方法,或者执行如权利要求17至23任一所述的方法,或 者执行如权利要求24至30任一所述的方法。
PCT/CN2022/105396 2022-01-10 2022-07-13 用户数据处理的***、方法以及装置 WO2023130705A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP22918161.5A EP4386636A1 (en) 2022-01-10 2022-07-13 User data processing system, method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210023462.X 2022-01-10
CN202210023462.XA CN116468132A (zh) 2022-01-10 2022-01-10 用户数据处理的***、方法以及装置

Publications (1)

Publication Number Publication Date
WO2023130705A1 true WO2023130705A1 (zh) 2023-07-13

Family

ID=87073049

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/105396 WO2023130705A1 (zh) 2022-01-10 2022-07-13 用户数据处理的***、方法以及装置

Country Status (3)

Country Link
EP (1) EP4386636A1 (zh)
CN (1) CN116468132A (zh)
WO (1) WO2023130705A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094421A (zh) * 2023-10-16 2023-11-21 亚信科技(中国)有限公司 非对称纵向联邦学习方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708887B (zh) * 2024-02-05 2024-04-30 智慧眼科技股份有限公司 一种基于纵向逻辑回归的联邦学习模型获取方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及***
CN111415015A (zh) * 2020-03-27 2020-07-14 支付宝(杭州)信息技术有限公司 业务模型训练方法、装置、***及电子设备
WO2021022707A1 (zh) * 2019-08-06 2021-02-11 深圳前海微众银行股份有限公司 一种混合联邦学习方法及架构
CN112788001A (zh) * 2020-12-28 2021-05-11 建信金融科技有限责任公司 一种基于数据加密的数据处理业务处理方法、装置及设备
US20210248244A1 (en) * 2018-12-28 2021-08-12 Webank Co., Ltd Model parameter training method, terminal, and system based on federation learning, and medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210248244A1 (en) * 2018-12-28 2021-08-12 Webank Co., Ltd Model parameter training method, terminal, and system based on federation learning, and medium
WO2021022707A1 (zh) * 2019-08-06 2021-02-11 深圳前海微众银行股份有限公司 一种混合联邦学习方法及架构
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及***
CN111415015A (zh) * 2020-03-27 2020-07-14 支付宝(杭州)信息技术有限公司 业务模型训练方法、装置、***及电子设备
CN112788001A (zh) * 2020-12-28 2021-05-11 建信金融科技有限责任公司 一种基于数据加密的数据处理业务处理方法、装置及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094421A (zh) * 2023-10-16 2023-11-21 亚信科技(中国)有限公司 非对称纵向联邦学习方法、装置、电子设备及存储介质
CN117094421B (zh) * 2023-10-16 2023-12-15 亚信科技(中国)有限公司 非对称纵向联邦学习方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116468132A (zh) 2023-07-21
EP4386636A1 (en) 2024-06-19

Similar Documents

Publication Publication Date Title
Tahir et al. A review on application of blockchain in 5G and beyond networks: Taxonomy, field-trials, challenges and opportunities
Liu et al. Distributed resource allocation and computation offloading in fog and cloud networks with non-orthogonal multiple access
WO2023130705A1 (zh) 用户数据处理的***、方法以及装置
CN112183730B (zh) 一种基于共享学习的神经网络模型的训练方法
WO2022247576A1 (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN110633806A (zh) 纵向联邦学习***优化方法、装置、设备及可读存储介质
Isaksson et al. Secure federated learning in 5G mobile networks
CN114239032A (zh) 基于安全多方计算的多方数据交互方法及***
US20230342669A1 (en) Machine learning model update method and apparatus
Wang et al. A hierarchical game with strategy evolution for mobile sponsored content and service markets
Milosavljevic et al. Efficient algorithms for the data exchange problem
WO2022156594A1 (zh) 联邦模型训练方法、装置、电子设备、计算机程序产品及计算机可读存储介质
CN111767411A (zh) 知识图谱表示学习优化方法、设备及可读存储介质
CN109995739A (zh) 一种信息传输方法、客户端、服务器及存储介质
CN115883053A (zh) 基于联邦机器学习的模型训练方法和装置
CN115935438A (zh) 数据隐私求交***及方法
Vardakas et al. Towards machine-learning-based 5G and beyond intelligent networks: the MARSAL project vision
CN113792890B (zh) 一种基于联邦学习的模型训练方法及相关设备
Li et al. A novel genetic service function deployment management platform for edge computing
CN114168295A (zh) 混合架构***及基于历史任务效果的任务调度方法
CN113055902B (zh) 一种智能化的移动通信网络***
CN114492850A (zh) 基于联邦学习的模型训练方法、设备、介质及程序产品
CN117157651A (zh) 联邦学习方法、联邦学习***、第一设备和第三设备
CN117349685A (zh) 一种通信数据的聚类方法、***、终端及介质
Liu et al. Fair and smart spectrum allocation scheme for IIoT based on blockchain

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: 22918161

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022918161

Country of ref document: EP

Effective date: 20240313