Skip to main content
. 2020 May 31;20(11):3106. doi: 10.3390/s20113106
Algorithm 1 rPassD2CGAN calculates each discriminator’s gradient penalty. We use the default values λ=10, ncritic=10, ngen=40, α=0.0001, β1=0.5 and β2=0.9.
Require: Gradient penalty coefficient λ, number of critic iterations per generator ncritic, number of generator iterations per discriminator ngen, batch size m, and Adam hyper-parameters α, β1, and β2.
Require: Initial D1 and D2 critic parameters w0 and u0, and initial generator parameter θ0.
while θ has not converged do
  for  t=1,,ncritic  do
   for  i=1,,m  do
    Sample real data xPr, latent variable zp(z), and a random number ϵU[0,1].
    x˜Gθ(z)
    x^ϵx+(1ϵ)x˜
    x¯ϵx˜+(1ϵ)x
    LD1iDw(x˜)Dw(x)+λ(x^Dw(x^)21)2
    LD2iDu(x)Du(x˜)+λ(x¯Dw(x¯)21)2
    LD2combi=LD1i+LD2i
   end for
   (w,u)Adam((w,u)1mi=1mLD2comb(i),w,u,α,β1,β2)
  end for
  for  t=1,,ngen  do
   Sample a batch of latent variable {z(i)}i=1mp(z)
   θAdam(θ1mi=1m(Dw(Gθ(z))+Du(Gθ(z)),θ,α,β1,β2)
  end for
end while