# US 2020/0401890 A1 · Collaborative deep learning methods and collaborative deep learning apparatuses

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401890 A1
- Document ID: US20200401890A1
- Status: Published application
- Kind: A1
- Application number: 17/012,494
- Filed: 2020-09-04
- Published: 2020-12-24
- Earliest claimed: 2019-05-07
- Assignees: Tsinghua University
- Applicants: Tsinghua University
- Inventors: Ke XU; Zhichao ZHANG; Bo WU; Qi LI; Songsong XU
- Web page: https://patentgrep.com/patent/US20200401890A1

## CPC

- G06N 3/08: Learning methods
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/045: Combinations of networks
- G06N 3/063: using electronic means
- G06N 3/09: Supervised learning
- G06N 3/098: Distributed learning, e.g. federated learning
- G06N 20/00: Machine learning
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/126: {the source of the received data}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The disclosure provides a collaborative deep learning method and a collaborative deep learning apparatus. The method includes: sending an instruction for downloading a global model to a plurality of user terminals; receiving a set of changes from each user terminal; storing the set of changes; recording a hash value of the set of changes into a blockchain; obtaining a storage transaction number from the blockchain for the hash value of the set of changes; sending the set of changes and the storage transaction number to 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, to update the global model until the global model meets a preset condition.

## Claims

### Claim 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.

### Claim 2 (depends on 1)

The method of claim 1, wherein the global model is negotiated by the plurality of user terminals and maintained by the server.

### Claim 3 (depends on 1)

The method of claim 1, wherein the set of current parameters comprises a set of initialization parameters under a case that the global model is trained for the first time.

### Claim 4 (depends on 1)

The method of claim 1, wherein each of the plurality of user terminals trains the global model based on the set of training data to generate a set of changes on the current parameters, and ranks changes in the set of changes on the current parameters in descending order, and selects the set of changes on the part of the current parameters from the set of changes on the current parameters based on a ranking result.

### Claim 5 (depends on 4)

The method of claim 4, wherein each of the plurality of user terminals, through a ratio, selects the set of changes on the part of the current parameters from the set of changes on the current parameters based on the ranking result.

### Claim 6 (depends on 4)

The method of claim 4, wherein the set of changes from each of the plurality of user terminals, is added with a timestamp by each of the plurality of user terminals, and is signed by each of the plurality of user terminals.

### Claim 7 (depends on 1)

The method of claim 1, wherein a number of user terminals in the set of target user terminals is less than a number of the plurality of user terminals.

### Claim 8 (depends on 1)

The method of claim 1, 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 Mi,j represents an evaluation value of the ith user to the jth user;
ranking Mi,: in descending order as {grave over (M)}i,:, in which, a score of the jth user is denoted, based on an arrangement of {grave over (M)}i,:, by a formula of:
s

(
j
)
=
{
m
-
p
j
+
1
,
m
≥
p
j
-
1
0
,
else
,
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 {grave over (M)}i,:,
obtaining a total score of the jth user by a formula of:
S

(
j
)
=
∑
u
i
∈
u
→
i
≠
j

s

(
j
;
u
i
)
where, ui represents the ith user, {right arrow over (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;{right arrow over (u)}).

### Claim 9 (depends on 1)

The method of claim 1, wherein receiving the set of target user terminals from the blockchain comprises:
monitoring a contract event triggered in the blockchain; and
receiving the set of target user terminals from the blockchain when the contract event triggered in the blockchain is monitored.

### Claim 10 (depends on 1)

The method of claim 1, wherein the preset condition comprises an accuracy rate of the global model reaching an expected value or a number of training rounds reaching a preset value.

### Claim 11

A collaborative deep learning apparatus, comprising:
a processor; and
a memory for storing instructions executable by the processor;
wherein the processor is configured to carry out:
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.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the global model is negotiated by the plurality of user terminals and maintained by the apparatus.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the set of current parameters comprises a set of initialization parameters under a case that the global model is trained for the first time.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein each of the plurality of user terminals trains the global model based on the set of training data to generate a set of changes on the current parameters, and ranks changes in the set of changes on the current parameters in descending order, and selects the set of changes on the part of the current parameters from the set of changes on the current parameters based on a ranking result.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein each of the plurality of user terminals, through a ratio, selects the set of changes on the part of the current parameters from the set of changes on the current parameters based on the ranking result.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the set of changes from each of the plurality of user terminals, is added with a timestamp by each of the plurality of user terminals, and is signed by each of the plurality of user terminals.

### Claim 17 (depends on 11)

The apparatus of claim 11, wherein a number of user terminals in the set of target user terminals is less than a number of the plurality of user terminals.

### Claim 18 (depends on 11)

The apparatus of claim 11, 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 Mi,j represents an evaluation value of the ith user to the jth user;
ranking Mi,: in descending order as {grave over (M)}i,:, in which, a score of the jth user is denoted, based on an arrangement of {grave over (M)}i,:, by a formula of:
s

(
j
)
=
{
m
-
p
j
+
1
,
m
≥
p
j
-
1
0
,
else
,
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 {grave over (M)}i,:,
obtaining a total score of the jth user by a formula of:
S

(
j
)
=
∑
u
i
∈
u
→
i
≠
j

s

(
j
;
u
i
)
where, ui represents the ith user, {right arrow over (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;{right arrow over (u)}).

### Claim 19 (depends on 11)

The apparatus of claim 11, wherein receiving the set of target user terminals from the blockchain comprises:
monitoring a contract event triggered in the blockchain; and
receiving the set of target user terminals from the blockchain when the contract event triggered in the blockchain is monitored.

### Claim 20 (depends on 11)

The apparatus of claim 11, wherein the preset condition comprises an accuracy rate of the global model reaching an expected value or a number of training rounds reaching a preset value.
