Generative adversarial networks a sampler without a density · the log-loss game · the value is Jensen–Shannon · two generator weights
A High Likelihood Does Not Certify Good Samples
An implicit generator x' = G(z), z \sim \mathcal{N}(0, I): sampling is a forward pass, but the density of x' is unavailable, so maximum likelihood cannot apply.
And likelihood would be the wrong yardstick anyway:
The saturating weight is near zero for confidently rejected samples, so those samples contribute little to the update.
The non-saturating weight is near one for the same samples.
With an optimal critic, both losses have the same fixed point q = p.
A Gaussian Test with Analytic Reference Values
Data = z A + b: a Gaussian with known mean and covariance. A linear generator keeps q Gaussian too, so \log(p/q) and \mathrm{KL}(q\|p) have closed forms to check against.
Z = jax.random.normal(jax.random.PRNGKey(0), (1000, 2))A = jnp.array([[1.0, 2.0], [-0.1, 0.5]])b = jnp.array([1.0, 2.0])data = Z @ A + bd2l.set_figsize()d2l.plt.scatter(data[:100, 0], data[:100, 1], s=8);print(f'covariance of the data distribution:\n{A.T @ A}')
covariance of the data distribution:
[[1.01 1.95]
[1.95 4.25]]
The Value Appears in the Loss Curves
At the end of training, both per-sample losses sit at \log 2 \approx 0.693. For a discriminator near its best response, this value is consistent with \mathrm{JS} \approx 0; the generated cloud provides a separate visual check.
The Trained Critic Tracks the Analytic Log Ratio
Freeze a partially trained generator; train the critic to its best response; compare with the closed-form \lambda = \log(p/q):
Points hug the identity line; errors grow only where the mixture has almost no samples, because ratio estimation is unconstrained off-support.
Saturation under an Identical Initialization
Start the generator far from the data, where the critic rejects confidently; train the same initialization under each weighting:
The non-saturating run moves toward the data. The saturating run remains near its initialization because \sigma(D(x')) \approx 0 for every generated sample.
Recap
An implicit generator has no tractable density, and likelihood need not reflect sample quality. A learned comparison provides a training signal.