Generative Adversarial Networks are a new type of Adversarial Networks, introducing by "Goodfellow" in 2014. Usually implemented via DeepNNs and they are very powerful in generating "Realistic" outputs which can not be distinguished from a "Real" data. GAN Diagram They are created from two main parts. a Generative and a Discriminator. The Generative part is trying to create some sample and fool the discriminator to classify it as a "Real" sample. Mathematically they can be represented like this:

min max V (D, G) = E x∼p data (x) [log D(x)] + E z∼p z (z) [log(1 − D(G(z)))]

There are tons of papers on GANs from noise reduction to image generation. I have some basic questions about them and I think the answer to these questions can be useful for others too.

  1. There are some papers using GANs for extracting better images from a sample. for example "Kevin Schawinski et al 2017 - Generative Adversarial Networks recover features in astrophysical images of galaxies beyond the deconvolution limit"
    Kevin Schawinski et al 2017
    as you see they used a GAN to "make" new data based on the sample. but the problem space is very 'Chaotic' (astronomical images and deep space stuff). So isn't a risk here of losing actual data while recreating the sample and fill it with some 'Sampled Patterns' stored in the GAN DeepNN?

What is the role of Noise here? in the G part we input some noise(as i understood with the same dimension of the output) to DNN. it uses this noise to create an output to be judged by the D part.

  1. I'm not sure but why so many papers decided to use a linear distribution sampling for sampling from the noise. is there any particular reason for that? and is there a study to specifically compared the results of the G part outputs with different noise sampling strategies?
  2. what if instead of pure noise we input something else to the G part? what would happen then?

In a paper (Han Zhang et al - 2016) they used a two staged GAN. The 1s stage is to produce a 128*128 image from a sentence and noise and in the second stage the output of stage 1 is used to produce a 256*256 more realistic image. it really looks like a 'layered' network. right? so:

  1. is it practical to use a deeper GAN with multiple stages? of course it's possible but is it practical? what can be the downsides of it?

sorry for so many questions in a single thread. To Editors: please feel free to edit my poor English and help others to understand the questions better.



2 Answers 2


after nothing came from anyone, I like to summarize my own research on the topic.

Question number 1: Is it ok to use a Generated sample for extracting data from an actual sample?
There will be some "changed" values in the generated sample but a practical view can help us understand why we might use it. in many applications, the "changed values" are not important as much as they can change the output of a process so it's ok to use a generated sample for these kinds of applications.

Questions Number 2 and 3: What is the role of noise and noise sampling?
Noise can role like a balancer! we can for sure change the way we sample from it or even create it(not a pure noise but something else!) but it will lead to a biased Generator to the "noise input". So it might be a good idea to keep it as random as possible.

Question Number 4: Can we have a Deeper GAN?
Well, again Practicality is what we must focus on. it is possible to make a "Deeper GAN" but it's only when we need extra processes to be done on a data. in fact, when we input a generated sample from a GAN to another one, we are basically feeding it in instead of the "Noise" so that the G part can do "Something" on it. How many stages do we need? it depends on our design. What are the downsides? for sure it would take a lot to train! but also it can increase some "weird representations" in the final output. cause we are using some Generated Sample as Noise. it might perform well on Some cases but there is no guaranty for others.

so. this was my interpretation from what I read and also what I spoke with my professors. please feel free to correct me in comments or post a new Answer.


Not a complete answer from my side, but adding my 2 cents to Question 3: What happens if you change Noise to another type of distribution?

Essentially you get a Conditional Generative Adversarial Network (CGAN) (Mirza & Osindero, 2014). CGAN's have been used in many applications including image super-resolution (which seems to be the case of the paper you might have referenced regarding astronomical image data), as well as image-to-image translation (Isola et. al. 2016). Superpixel resolution could be seen as a specific case of Image-to-Image translation; other applications include dense semantic labeling and image colorization.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.