Skip to main content
. Author manuscript; available in PMC: 2022 Aug 14.
Published in final edited form as: KDD. 2021 Aug 14;2021:617–627. doi: 10.1145/3447548.3467281

Algorithm 1.

FADE User Update

Input: f, G, D received from server, learning rate η, adversarial parameter λ, user data distribution pi
1: f0, D0, G0 = f, D, G
2: for t = 1, …, K do
3:   Sample a batch by x ~ pi (x) or (x, y) ~ pi(x, y)
4:   zG(x)
5:    fLitaskf, DLiadvD
6:   if adversarial game D is accepted by user i then
7:     GzG(Litaskz+λLiadvz)
8:    Dt+1Dt + ηD
9:    Gt+1GtηG
10:   else
11:     GzGLitaskz
12:    Dt+1Dt
13:    Gt+1GtηG
14:   ft+1ftηf
Output: fK+1, GK+1, DK+1