System and method of training heterogenous models using stacked ensembles on decentralized data
AssigneeHewlett Packard Enterprise Development LP
InventorsSathyanarayanan Manamohan, Krishnaprasad Lingadahalli Shastry, Sorin-Cristian Cheran
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for machine learning in a distributed, privacy-preserving manner. Particularly, the decentralized system can share machine learning models in a protected manner by training a first sub-model with a first local data set at a first node and obfuscating the trained first sub-model as a first obfuscated sub-model. The model may be shared with a second node, that can construct a local instance of a stacked ensemble comprising the first obfuscated sub-model and a trainable parametric layer and train the local instance of the stacked ensemble with a second local data set accessible locally at the second node.
Claims20
A decentralized system comprising:
- a first node of the decentralized system, wherein the first node comprises:
- a first processor;
- a first storage device that stores first computer-readable instructions that cause the first processor to:
- train a first sub-model with a first local data set, the first local data set accessible locally at the first node, wherein the first node acquires the first sub-model;
- obfuscate the trained first sub-model as a first obfuscated sub-model by compiling the first sub-model using a runtime application to define a common set of operators and file format, freezing the compiled first sub-model to be non-trainable, and employing software licensing to ensure proper access eligibility to the compiled first sub-model;
- and
- add the first obfuscated sub-model to a blockchain network;
- and
- a second node of the decentralized system, wherein the second node comprises:
- a second processor;
- a second obfuscated sub-model trained with a second local data set;
- a second storage device that stores second computer-readable instructions that cause the second processor to:
- execute a contract on a distributed ledger to conduct a vote to select an architecture for a trainable parametric layer and determine, based on consensus among nodes, that an agreement has been reached for the architecture;
- receive the first obfuscated sub-model from the blockchain network;
- construct, in response to the consensus agreement, a local instance of a stacked ensemble comprising the first obfuscated sub-model, the second obfuscated sub-model, and a combinator layer of the first node comprising a trainable parametric layer;
- train the local instance of the stacked ensemble with the second local data set accessible locally at the second node and not accessible to the first node;
- add an obfuscated second sub-model generated from the local instance of the stacked ensemble to the blockchain network;
- wherein the first node is further configured to:
- construct, using the combinator layer of the first node, a second local instance of the stacked ensemble comprising outputs of the first obfuscated sub-model and the second obfuscated sub-model from the blockchain network, wherein the trainable parametric layer's weights are updated during a backpropagation phase of training, an input to the combinator layer of the first node being a N-Dimensional matrix formed by concatenation of outputs of the first obfuscated sub-model and the second obfuscated sub-model;
- and
- generate, using a machine learning framework of the first node, an inference based on the second local instance of the stacked ensemble with a different machine learning model architecture than the second node.
A method of training a stacked ensemble, the method comprising:
- training a first sub-model with a first local data set accessible locally at a first node of a decentralized system, obfuscating the trained first sub-model by compiling the first sub-model using a runtime application to define a common set of operators and file format, freezing the compiled first sub-model to be non-trainable, and employing software licensing to ensure proper access eligibility to the compiled first sub-model;
- adding the first obfuscated sub-model to a blockchain network;
- receiving the first obfuscated sub-model at a second node of the decentralized system, wherein the second node comprises a second obfuscated sub-model trained with a second local data set;
- constructing, at the second node, in response to a consensus agreement for an architecture selected by a contract-executed vote on a distributed ledger, a local instance of the stacked ensemble, the stacked ensemble comprising the first obfuscated sub-model, the second obfuscated sub-model, and at least one combinator layer of the first node comprising a trainable parametric layer;
- training, at the second node, the at least one trainable parametric layer using the second local data set comprising training data not accessible to the first node;
- adding an obfuscated second sub-model generated from the local instance of the stacked ensemble to the blockchain network after the training;
- receiving, at the first node, the obfuscated second sub-model generated from the local instance of the stacked ensemble from the blockchain network;
- constructing, using the combinator layer, a second local instance of the stacked ensemble comprising outputs of the first obfuscated sub-model and the second obfuscated sub-model from the blockchain network, wherein the trainable parametric layer's weights are updated during a backpropagation phase of training, an input to the combinator layer of the first node being a N-Dimensional matrix formed by concatenation of outputs of the first obfuscated sub-model and the second obfuscated sub-model;
- and
- generating, using a machine learning framework, an inference based on the second local instance of the stacked ensemble with a different machine learning model architecture than the second node.
A non-transitory machine-readable storage medium comprising instructions executable by a processor, the instructions programming the processor to:
- train a first sub-model with a first local data set accessible locally at a first node of a decentralized system, wherein the first node implements a first machine learning model architecture, obfuscate the trained first sub-model by compiling the first sub-model using a runtime application to define a common set of operators and file format, freezing the compiled first sub-model to be non-trainable, and employing software licensing to ensure proper access eligibility to the compiled first sub-model;
- add the first obfuscated sub-model to a blockchain network;
- receive the first obfuscated sub-model at a second node of the decentralized system, wherein the second node implements a second machine learning model architecture that is different than the first machine learning model architecture, and wherein the second node comprises a second obfuscated sub-model trained with a second local data set;
- construct, at the second node, in response to a consensus agreement for an architecture selected by a contract-executed vote on a distributed ledger, a local instance of the stacked ensemble, the stacked ensemble comprising the first obfuscated sub-model, the second obfuscated sub-model, and at least one combinator layer of the first node comprising a trainable parametric layer;
- train, at the second node, the at least one trainable parametric layer using the second local data set comprising training data not accessible to the first node;
- add an obfuscated second sub-model generated from the local instance of the stacked ensemble to the blockchain network after the training;
- receive, at the first node, the obfuscated second sub-model generated from the local instance of the stacked ensemble from the blockchain network;
- construct, using the combinator layer, a second local instance of the stacked ensemble comprising outputs of the first obfuscated sub-model and the second obfuscated sub-model from the blockchain network, wherein the trainable parametric layer's weights are updated during a backpropagation phase of training, an input to the combinator layer of the first node being a N-Dimensional matrix formed by concatenation of outputs of the first obfuscated sub-model and the second obfuscated sub-model;
- and
- generate, using a machine learning framework, an inference based on the second local instance of the stacked ensemble with a different machine learning model architecture than the second node.
Dependencies are inferred from the claim text.