|
Input: 1. X = {X1, . . . , XN}, fMRI data from N institutions/sites; 2. local feature generators within N sites, where is the generator’s parameters of site n; 3. local classifiers within N sites, where is the classifier’s parameters of site n; 4. discriminators from embedded features, where is the discriminator parameters that identify the data from site n; 5. Y = {Y1,...,YN}, fMRI labels (HC or ASD); 6. M(·), noise generator; 7. K, number of optimization iterations; 8. τ, global model updating pace; 9. {, }, global model. |
1: |
Initialize parameters {θG, θC, θD} |
2: |
for
k = 1 to K
do
|
3: |
t ← 0 |
▷ initialize pace counter |
4: |
for
i = 1 to N
do
|
5: |
Sample mini-batch from source site and target site
|
6: |
Compute gradient with cross-entropy classification loss ce (Eq. 2) to update
|
7: |
Domain Alignment:
|
8: |
Update with Eq. 7 and Eq. 8 respectively to align the domain distribution |
9: |
end for
|
10: |
t ← t + 1 |
▷ models communicate |
11: |
if
t%τ = 0 then
|
12: |
|
13: |
|
▷ update global model per τ steps |
14: |
for
n = 1 to N
do
|
15: |
|
16: |
|
▷ deploy weights to local model |
17: |
end for
|
18: |
end if
|
19: |
end for |
|
Return: global model
|