Using an MLP as generator introduces multiple critical points in parameter space. You can read this excerpt from research paper titled Generative Adversarial Nets
In practice, adversarial nets represent a limited family of $p_g$ distributions via the function $G(z; \theta_g)$, and we optimize $\theta_g$ rather than $p_g$ itself. Using a multilayer perceptron to define $G$ introduces multiple critical points in parameter space. However, the excellent performance of multilayer perceptrons in practice suggests that they are a reasonable model to use despite their lack of theoretical guarantees
The definition of critical point of a function is as follows
We say that $x=c$ is a critical point of the function $f(x)$ if $f(c)$ exists and if either of the following are true. $f′(c)=0$ or $f′(c)$ doesn't exist
My doubt is: how did the authors ensure that critical points do exist in parameter space? Is it due to some mathematical theorem or by implementation or some other way?