Skip to main content
. 2025 Jun 11;11:e2904. doi: 10.7717/peerj-cs.2904

Table 1. AdvFaceGAN’s training process.

Input:source face x, target face y.
Output:The parameters of θD and θG after convergence.
1     Initialize parameters of θD andθG,load Dataset
2     while Ladv_target > Ladv_source do:
3     for c in epoch_size do:
4             Get batch with x,y from Dataset
5             ϵ = G(xy)
6             x ˜=x+ϵ
7             x=σx+1σx ˜
8             LD=1mi=1mDx ˜i1mi=1mDxi+λgp1mi=1mxiDxi212
9             θD = Adam(∇DLDθDβ1β2lrweight_decay)
10             Lgan=1mi=1mDx ˜
11             Ladv_source=1Tmi=1mj=1T1cosfjx ˜i,fjxi
12             Ladv_target=1Tmi=1mj=1T1cosfjx ˜i,fjyi
13             Ladv = ηLadv_source + Ladv_target
14             Lpert=1mi=1mmaxɛ,ϵi2
15             Lst=1mi=1m max1ζ,1ssimxi,x ˜i
16             LG = Lgan + λpertLpert + λadvLadv + λstLst
17             θG = Adam(∇GLGθGβ1β2lrweight_decay)
18     end for
19     save θD and θG
20 end while