Is it possible to improve an image classification model with a generator (trained class conditionally). (so this is same source/target distribution and same source/target task, so not domain adaptation)

NB: "improve" can be in terms of robustness, calibration, or outright precision/recall improvement , OOD performance

e.g. I train an image classification model on data A, and then train a GAN conditionally on data A to generate an image with a class prompt. Then use the GAN to generate additional samples to train my image classification model.

NB: Its not actually an image classifier I am trying to improve but checking if the concept of using a generator to improve discriminator performance generally.


1 Answer 1


Yes, it is possible. By using a GAN to generate additional samples with a class prompt, you can increase the amount of training data available for your image classification model, which can help improve its robustness, calibration, and overall precision/recall.

This is particularly useful when you have limited training data available, as it allows you to generate synthetic data that can help improve the performance of your model. However, it's important to note that the quality of the generated samples will have an impact on the effectiveness of this approach, so you'll need to ensure that your GAN is generating high-quality images that are representative of the target distribution.

There are other ways you may want to consider for improving the performance of a discriminator in your image classification model;

One way is to increase the size and complexity of the model, allowing it to learn more nuanced features and better distinguish between classes.

Another approach is to use transfer learning, where a pre-trained model is fine-tuned on the specific dataset, resulting in faster and more accurate training.

Additionally, adjusting the learning rate, using different activation functions, or adding regularization techniques like dropout can also improve the model's performance. It is important to experiment with different approaches and monitor the model's performance to determine the best strategy.

  • $\begingroup$ Appreciate the response. Your latter statements on model capacity and afterwards I am aware of. On your first point though, do you have any references that backs up "using a generative network trained on same data as discriminative network can improve discriminative network trained on it generated output". Everything I seem to find simply states using the generative network as a discriminative network even though generative networks are not as performant on discriminative tasks (see arxiv.org/pdf/1912.03263) $\endgroup$ Commented May 22, 2023 at 19:06
  • $\begingroup$ 1 discusses the use of a generative network to improve the performance of a discriminative network for image classification tasks. The study used a PixelCNN model as the generative network and a ResNet model as the discriminative network. The generative network was trained on the same data as the discriminative network, and the generated samples were used to augment the training data. The authors found that this approach improved the robustness, precision/recall, and calibration of the discriminative network. $\endgroup$
    – RegressIt
    Commented May 23, 2023 at 21:23
  • $\begingroup$ See also Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks $\endgroup$
    – RegressIt
    Commented May 23, 2023 at 21:26

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.