Skip to content
Related Articles

Related Articles

Modal Collapse in GANs

View Discussion
Improve Article
Save Article
  • Last Updated : 01 Oct, 2021

Prerequisites: General Adversarial Network 

Although Generative Adversarial Networks are very powerful neural networks that can be used to generate new data similar to the data upon which it was trained upon, It is limited in the sense that it can be trained upon only single-modal data ie Data whose dependent variable consists of only one categorical entry. 

If a Generative Adversarial Network is trained on multi-modal data, it leads to Modal Collapse. Modal Collapse refers to a situation in which the generator part of the network generates only a limited amount of variety of samples regardless of the input. This means that when the network is trained upon multi-modal data directly, the generator learns to fool the discriminator by generating only a limited variety of data. 

The following flow-chart illustrates training of a Generative Adversarial Network when trained upon a dataset containing images of cats and dogs: 


The following approaches can be used to tackle Modal Collapse:- 


  1. Grouping the classes: One of the primary methods to tackle Modal Collapse is to group the data according to the different classes present in the data. This gives the discriminator the power to discriminate against sub-batches and determine whether a given batch is real or fake.
  2. Anticipating Counter-actions: This method focuses on removing the situation of the discriminator “chasing” the generator by training the generator to maximally fool the discriminator by taking into account the counter-actions of the discriminator. This method has the downside of increased training time and complicated gradient calculation.
  3. Learning from Experience: This approach involves training the discriminator on the old fake samples which were generated by the generator in a fixed number of iterations.
  4. Multiple Networks: This method involves training multiple Generative networks for each different class thus covering all the classes of the data. The disadvantages include increased training time and a typical reduction in the quality of the generated data.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!