Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible reasons for similarity among generated images #49

Open
vasavig opened this issue Oct 30, 2016 · 5 comments
Open

Possible reasons for similarity among generated images #49

vasavig opened this issue Oct 30, 2016 · 5 comments

Comments

@vasavig
Copy link

vasavig commented Oct 30, 2016

Hi,

I have been playing around with the DCGAN architecture and I have a question on the similarity among the generated images.

I trained the network on a 140 dimensional vectors sampled from normal(0,1). The results were good after a few epochs, and they look varied too. The generator's output looks like the following:
25

I modified the above network to take a table of inputs (one 100 dimensional vector and one 40 dimensional vector - both sampled from normal(0,1)) through a parallel table and joined them to make a 140 dimensional vector. The following are some results:
output_2

The above two networks are essentially the same because the parameter learning happens only in layers following the join table in 2nd network, and this part of network architecture is the same for both. But the results are more varied in the first network, and there are lots of similar pictures in the 2nd output.

I have observed this on other datasets too. According to my understanding, after training the DCGAN, the generator learns a mapping from Z-vector space to images. Is there a possibility of the generator learning only a "certain set" of images (which are not necessarily in training set, so there's no overfitting) for the whole Z-vector distribution, and output only those images for various Z vector inputs? It would be great if anyone can shed some light on why this might happen.

Thanks!

@soumith
Copy link
Owner

soumith commented Nov 22, 2016

are your second set of generations on a pre-trained network?

@vasavig
Copy link
Author

vasavig commented Nov 24, 2016

No, I had trained both the networks from scratch on Celeb dataset, with the only difference of how I created the input to generator, as I explained in my comment.

@vasavig
Copy link
Author

vasavig commented Jan 14, 2017

Seems like this is a mode collapse problem where the generator is modeling the distribution to one Gaussian rather than a mixture of Gaussians. More pointers on the mode collapse problem can be found in Ian Goodfellow's 2016 NIPS tutorial, https://arxiv.org/abs/1701.00160.

@danieleghisi
Copy link

@vasavig Did you find a way to overcome this problem?

@danieleghisi
Copy link

In this paper the authors claim to have solved the mode collapse issue via "unrolling" the Adam objective.
I wouldn't be able to implement any of this in the current model, but it might be cool to consider it...?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants