CPC G06N 3/08 (2013.01) [G06N 3/04 (2013.01); G06N 20/00 (2019.01); H04L 9/0637 (2013.01)] | 18 Claims |
1. A collaborative deep learning method, implemented by a server, and the method comprising:
sending an instruction for downloading a global model to a plurality of user terminals, the global model having a set of current parameters, such that each of the plurality of user terminals downloads the global model based on the instruction, and trains the global model based on a set of training data to generate a set of changes on a part of the current parameters;
receiving the set of changes from each of the plurality of user terminals;
storing the set of changes from each of the plurality of user terminals;
recording a hash value of the set of changes from each of the plurality of user terminals into a blockchain;
obtaining a storage transaction number from the blockchain for the hash value of the set of changes from each of the plurality of user terminals;
sending the set of changes from each of the plurality of user terminals and the storage transaction number to the plurality of user terminals, such that each of the plurality of user terminals verifies and evaluates received sets of changes and storage transaction numbers based on a set of verification data, to generate a plurality of evaluation values, and stores the plurality of evaluation values into the blockchain, and the blockchain updates an evaluation matrix based on the plurality of evaluation values from each of the plurality of user terminals, and select a set of target user terminals based on the updated evaluation matrix and a preset consensus contract in the blockchain from the plurality of user terminals;
receiving the set of target user terminals from the blockchain;
updating the current parameters of the global model based on sets of changes corresponding to the set of target user terminals; and
returning the sending the instruction for downloading the global model to the plurality of user terminals, to update the global model until the global model meets a preset condition;
wherein the blockchain updates the evaluation matrix based on the plurality of evaluation values from each of the plurality of user terminals by actions:
marking Mi: as evaluation values of the ith user to all users, where M represents the evaluation matrix, and Mij represents resents an evaluation value of the ith user to the jth user;
ranking Mi: in descending order as Mi, in which, a score of the jth user is denoted, based on an arrangement of Mi, by a formula of:
where, s(j) represents the score of the jth user, m represents the number of the plurality of users, and pj represents a location of the jth user in Mi,
obtaining a total score of the jth user by a formula of:
where, ui represents the ith user, u represents the plurality of users, s(j; ui)
represents a score of the jth user under evaluation of ui; and
selecting the set Cnew of target user terminals by a formula of:
Cnew=argmax S(j;u).
|