Skip to content
← Generative AI
Q54

GAN architecture for synthetic satellite imagery

GANArchitectureSatellite Imagery
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 image G(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_data is fed directly into D, which should learn to output D(x) ≈ 1.
  • Fake-data path. Noise z → G → synthetic image G(z) → fed into D, which should learn to output D(G(z)) ≈ 0.

The diagram above lays out exactly these two paths meeting at D.

Training dynamics

Training alternates two update steps:

  1. Discriminator step. Freeze G, show D a batch of real images and a batch of G's current fakes, update D's weights to better separate them.
  2. Generator step. Freeze D, update G's weights so the next batch of fakes is more likely to fool D.

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 — pushes D(x) toward 1 ("real") on the real-data path and D(G(z)) toward 0 ("fake") on the fake-data path.
  • G's update works against the second term. The saturating form minimizes log(1 − D(G(z))); in practice the non-saturating form is used — G maximizes log D(G(z)) instead — because early in training, when D(G(z)) is near 0, the saturating loss's gradient is nearly flat, while the non-saturating form gives G a 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.

ARCHITECTUREhow the pieces talk
6 components. Noise z to Generator G; Generator G to Fake satellite image; Fake satellite image to Discriminator D (fake-data path); Real satellite image to Discriminator D (real-data path); Discriminator D to Real / Fake score.Noise zGenerator GFake satellite imageReal satellite imageDiscriminator DReal / Fake scorefake-data pathreal-data path