StyleGAN: mapping network + AdaIN + per-layer noise
z ~ N(0, I)
mapping f(z)
8-layer MLP
w ∈ W
synthesis g(const, w, noise)
const 4×4×512
conv 3×3
AdaIN(w)
+ noise
up 2x
...repeat to 1024
AdaIN(x, w) = scale(w) · (x - μ) / σ + bias(w)
truncation trick
w′ = w̄ + ψ · (w - w̄)
ψ = 1.0 → full diversity, occasional glitches
ψ = 0.7 → default demo setting
ψ = 0.0 → mean image, no variation
v1 → v2 → v3
v2: weight demodulation, no droplets
v3: alias-free conv, no texture sticking
XL: conditional ImageNet
R3GAN (2024): minimal recipe, 20x fewer params