A research group wants to generate synthetic satellite images for environmental monitoring. Explain the architecture of a suitable GAN with a labelled diagram showing the Generator, Discriminator, real-data path, and fake-data path. Discuss training dynamics and the value function.
What's actually being asked
Design a GAN for synthetic satellite images, show a labelled diagram (Generator, Discriminator, real-data path, fake-data path), and discuss training dynamics and the value function.
Answer
Architecture
- Generator (G). Takes random noise
z ~ p_z(z)and upsamples it through a stack of transposed-convolution (or upsample + conv) blocks with batch norm and ReLU, ending in a tanh output, producing a synthetic satellite imageG(z). A DCGAN/StyleGAN-style generator suits satellite imagery, since it needs realistic spatial textures — terrain, vegetation, water, urban grids — at a fixed output resolution. - Discriminator (D). A convolutional classifier (conv + downsampling blocks, LeakyReLU, sigmoid output) that takes an image — real or fake — and outputs the probability it's a genuine satellite image,
D(x). - Real-data path. A real satellite image
x ~ p_datais fed directly intoD, which should learn to outputD(x) ≈ 1. - Fake-data path. Noise
z→G→ synthetic imageG(z)→ fed intoD, which should learn to outputD(G(z)) ≈ 0.
The diagram above lays out exactly these two paths meeting at D.
Training dynamics
Training alternates two update steps:
- Discriminator step. Freeze
G, showDa batch of real images and a batch ofG's current fakes, updateD's weights to better separate them. - Generator step. Freeze
D, updateG's weights so the next batch of fakes is more likely to foolD.
Over many alternating rounds, G improves at producing realistic terrain/texture patterns, D improves at spotting fakes, and ideally both converge toward a Nash equilibrium where D can't do better than random guessing (D(x) = 0.5 everywhere) because G's outputs are statistically indistinguishable from real satellite imagery.
Satellite-image GANs face a couple of specific instability sources worth naming: multi-spectral/multi-band inputs (not just RGB) increase both networks' input complexity, and large uniform regions (ocean, desert) are easy for G to "cheat" on — so mode collapse toward bland, texture-poor outputs is a real risk if training isn't monitored carefully.
Value function
min_G max_D V(D,G) = 𝔼_{x∼p_data}[log D(x)] + 𝔼_{z∼p_z}[log(1 − D(G(z)))]
D's update maximizes this — pushesD(x)toward 1 ("real") on the real-data path andD(G(z))toward 0 ("fake") on the fake-data path.G's update works against the second term. The saturating form minimizeslog(1 − D(G(z))); in practice the non-saturating form is used —Gmaximizeslog D(G(z))instead — because early in training, whenD(G(z))is near 0, the saturating loss's gradient is nearly flat, while the non-saturating form givesGa strong gradient exactly when it needs one most.
Exam tip
If asked for a "labelled diagram," explicitly name which arrow is the real-data path and which is the fake-data path in your written answer too — examiners specifically check that you haven't just drawn "G → D" and "real → D" without distinguishing the two.