Smart incentivization for achieving collaborative machine learning
Systems and methods for smart incentivization for achieving collaborative machine learning are disclosed. A system receives local model parameters from plurality of client devices in a network, for global model corresponding to collaborative machine learning. The system determines an optimum score for each client device using pre-trained Conditional Variational Auto Encoder (CVAE), based on local model parameter. The system computes contribution score for each client device by determining relative distance value of optimum score corresponding to each client device with optimum score corresponding to another client device from the plurality of client devices, and a global model optimum score of global model. The system updates global model with local model parameter received from the selected set of client devices of the plurality of client devices corresponding to good class, average class, and bad class. The system outputs grading score, an incentive, importance score for each of selected client devices, and a performance of the global model.
1 . A system comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises processor-executable instructions, which on execution, causes the processor to:
train a Conditional Variational Auto Encoder (CVAE) using training data that includes historic data of at least one client device of a plurality of client devices in a network, updated local model parameters from each of the plurality of client devices, historic data associated with a global model and indices associated with each of the plurality of client devices;
receive at least one local model parameters from at least one client device of the plurality of client devices in the network, for the global model corresponding to a collaborative machine learning, wherein the plurality of client devices is initially grouped as a set of selected devices for the collaborative machine learning;
determine an optimum score for each client device using the trained Conditional Variational Auto Encoder (CVAE), based on the received plurality of local model parameters, wherein the optimum score is a measure of contribution of the type of dataset to a server by each of the plurality of client devices;
compute a contribution score for each client device by determining a relative distance value of the optimum score corresponding to each client device with the optimum score corresponding to another client device from at least one client device of the plurality of client devices, and a global model optimum score of the global model;
provide a grading score for each client device based on the contribution score, and cluster at least one client device of the plurality of client devices into at least one of a good class, an average class, a bad class, or an attacker class, based on the grading score;
eliminate from the set of selected devices for the collaborative machine learning, each client device which is clustered as the attacker class, by setting an importance score to zero for each client device clustered in the attacker class based on the grading score, and select at least one client device of the plurality of client devices clustered in the good class, the average class, and the bad class based on an importance score assigned to each client device according to the grading score;
update the global model with the received plurality of local model parameters from at least one of the selected set of client devices of the plurality of client devices corresponding to the good class, the average class, and the bad class;
determine an incentive for each client device, based on the contribution score and a data quality of the received plurality of local model parameters from each client device; and
output the grading score, the incentive, the importance score for each of the selected client devices, and a performance of the global model, wherein the output is stored and updated each time the global model is updated,
wherein the CVAE is trained iteratively until there is no attackers class in the plurality of client devices, and the global model is updated, when there is no attackers class in the plurality of client devices.
2 . The system as claimed in claim 1 , wherein the importance score for the plurality of client devices clustered in the good class, the average class, and the bad class is assigned based on the data quality of the received plurality of local model parameters.
3 . The system as claimed in claim 1 , wherein each client device is initially assigned with an identical importance score.
4 . The system as claimed in claim 1 , wherein the contribution score varies for each client device, and the contribution score depends on a dataset received through the local model parameters, a quality of the dataset, an amount of the dataset, and a uniqueness of the dataset.
5 . The system as claimed in claim 1 , wherein the grading score for each client device of the plurality of client devices is provided in decreasing order of contribution score.
6 . The system as claimed in claim 1 , wherein the importance score of the plurality of client devices is inverse of the contribution score of each client device.
7 . The system as claimed in claim 1 , wherein a uniqueness of the local model parameters is directly proportional to the relative distance of a given client device from other client devices of the plurality of client devices.
8 . A method comprising:
training a Conditional Variational Auto Encoder (CVAE) using training data that includes historic data of at least one client device of a plurality of client devices in a network, updated local model parameters from each of the plurality of client devices, historic data associated with a global model, and indices associated with each of the plurality of client devices;
receiving, by a processor associated with a system, at least one local model parameters from at least one client device of the plurality of client devices in the network, for the global model corresponding to a collaborative machine learning, wherein the plurality of client devices is initially grouped as a set of selected devices for the collaborative machine learning;
determining, by the processor, an optimum score for each client device using the trained Conditional Variational Auto Encoder (CVAE), based on the received plurality of local model parameters, wherein the optimum score is a measure of contribution of the type of dataset to a server by each of the plurality of client devices;
compute, by the processor, a contribution score for each client device, by determining a relative distance value of the optimum score corresponding to each client device with the optimum score corresponding to another client device from at least one client device of the plurality of client devices, and a global model optimum score of the global model;
providing, by the processor, a grading score for each client device based on the contribution score, and clustering at least one client device of the plurality of client devices into at least one of a good class, an average class, a bad class, or an attacker class, based on the grading score;
eliminating, by the processor, from the set of selected client devices for the collaborative machine learning, each client device which is clustered as the attacker class, by setting an importance score to zero for each client device clustered in the attacker class based on the grading score, and selecting the importance score for the plurality of client devices clustered in the good class, the average class, and the bad class based on an importance score assigned to each client device according to the grading score;
updating, by the processor, the global model with the received plurality of local model parameters from at least one of the selected set of the client devices of the plurality of client devices corresponding to the good class, the average class, and the bad class;
determining, by the processor, an incentive for each client device, based on the contribution score and a data quality of the received plurality of local model parameters from each client device; and
outputting, by the processor, the grading score, the incentive, the importance score for each of the selected client devices, and a performance of the global model, wherein the output is stored and updated each time the global model is updated,
wherein the CVAE is trained iteratively until there is no attackers class in the plurality of client devices, and the global model is updated, when there is no attackers class in the plurality of client devices.
9 . The method as claimed in claim 8 , wherein the importance score for the plurality of client devices clustered in the good class, the average class, and the bad class is assigned based on the data quality of the received plurality of local model parameters.
10 . The method as claimed in claim 8 , wherein each client device of the plurality of client devices is initially assigned with an identical importance score.
11 . The method as claimed in claim 8 , wherein the contribution score varies for each client device, and the contribution score depends on a dataset received through the local model parameters, a quality of the dataset, an amount of the dataset, and a uniqueness of the dataset.
12 . The method as claimed in claim 8 , wherein the grading score for each client device is provided in decreasing order of contribution score.
13 . The method as claimed in claim 8 , wherein the importance score of the plurality of client devices is inverse of the contribution score of each client device.
14 . The method as claimed in claim 8 , wherein a uniqueness of the local model parameters is directly proportional to the relative distance of a given client device from other client devices of the plurality of client devices.
15 . A non-transitory computer-readable medium comprising machine-executable instructions, which are executable by a processor to:
train a Conditional Variational Auto Encoder (CVAE) using training data that includes historic data of at least one client device of a plurality of client devices in a network, updates local model parameters from each of the plurality of client devices, historic data associated with a global model, and indices associated with each of the plurality of the client devices;
receive at least one local model parameters from at least one client device of the plurality of client devices in the network, for the global model corresponding to a collaborative machine learning, wherein the plurality of client devices is grouped as a set of selected devices for the collaborative machine learning;
determine an optimum score for each client device using the trained Conditional Variational Auto Encoder (CVAE), based on the received plurality of local model parameters, wherein the optimum score is a measure of contribution of the type of dataset to a server by each client devices, wherein the optimum score is a measure of contribution of the type of dataset to a server by each of the plurality of client devices;
compute a contribution score for each client device, by determining a relative distance value of the optimum score corresponding to each client device with the optimum score corresponding to another client device from at least one client device of the plurality of client devices, and a global model optimum score of the global model;
provide a grading score for each client device based on the contribution score, and cluster at least one client device of the plurality of client devices into at least one of a good class, an average class, a bad class, or an attacker class, based on the grading score;
eliminate from the set of selected client devices for the collaborative machine learning, each client device which is clustered as the attacker class, by setting an importance score to zero for each client device clustered in the attacker class based on the grading score, and select at least one client device of the plurality of client devices clustered in the good class, the average class, and the bad class based on an importance score assigned to each client device according to the grading score;
update the global model with the received plurality of local model parameters from at least one of the selected set of the client devices of the plurality of client devices corresponding to the good class, the average class, and the bad class;
determine an incentive for each client device, based on the contribution score and a data quality of the received plurality of local model parameters from each client device; and
output the grading score, the incentive, the importance score for each of the selected devices, and a performance of the global model, wherein the output is stored and updated each time the global model is updated,
wherein the CVAE is trained iteratively until there is no attackers class in the plurality of client devices, and the global model is updated, when there is no attackers class in the plurality of client devices.