All Projects → ayaanzhaque → EC-GAN

ayaanzhaque / EC-GAN

Licence: other
EC-GAN: Low-Sample Classification using Semi-Supervised Algorithms and GANs (AAAI 2021)

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to EC-GAN

rankpruning
🧹 Formerly for binary classification with noisy labels. Replaced by cleanlab.
Stars: ✭ 81 (+179.31%)
Mutual labels:  semi-supervised-learning
sesemi
supervised and semi-supervised image classification with self-supervision (Keras)
Stars: ✭ 43 (+48.28%)
Mutual labels:  semi-supervised-learning
deepOF
TensorFlow implementation for "Guided Optical Flow Learning"
Stars: ✭ 26 (-10.34%)
Mutual labels:  semi-supervised-learning
tape-neurips2019
Tasks Assessing Protein Embeddings (TAPE), a set of five biologically relevant semi-supervised learning tasks spread across different domains of protein biology. (DEPRECATED)
Stars: ✭ 117 (+303.45%)
Mutual labels:  semi-supervised-learning
GPQ
Generalized Product Quantization Network For Semi-supervised Image Retrieval - CVPR 2020
Stars: ✭ 60 (+106.9%)
Mutual labels:  semi-supervised-learning
Billion-scale-semi-supervised-learning
Implementing Billion-scale semi-supervised learning for image classification using Pytorch
Stars: ✭ 81 (+179.31%)
Mutual labels:  semi-supervised-learning
temporal-ensembling-semi-supervised
Keras implementation of temporal ensembling(semi-supervised learning)
Stars: ✭ 22 (-24.14%)
Mutual labels:  semi-supervised-learning
SGRAF
The code of “Similarity Reasoning and Filtration for Image-Text Matching” [AAAI2021]
Stars: ✭ 136 (+368.97%)
Mutual labels:  aaai2021
pyroVED
Invariant representation learning from imaging and spectral data
Stars: ✭ 23 (-20.69%)
Mutual labels:  semi-supervised-learning
ganbert
Enhancing the BERT training with Semi-supervised Generative Adversarial Networks
Stars: ✭ 205 (+606.9%)
Mutual labels:  semi-supervised-learning
SimPLE
Code for the paper: "SimPLE: Similar Pseudo Label Exploitation for Semi-Supervised Classification"
Stars: ✭ 50 (+72.41%)
Mutual labels:  semi-supervised-learning
exponential-moving-average-normalization
PyTorch implementation of EMAN for self-supervised and semi-supervised learning: https://arxiv.org/abs/2101.08482
Stars: ✭ 76 (+162.07%)
Mutual labels:  semi-supervised-learning
Cross-Speaker-Emotion-Transfer
PyTorch Implementation of ByteDance's Cross-speaker Emotion Transfer Based on Speaker Condition Layer Normalization and Semi-Supervised Training in Text-To-Speech
Stars: ✭ 107 (+268.97%)
Mutual labels:  semi-supervised-learning
sinkhorn-label-allocation
Sinkhorn Label Allocation is a label assignment method for semi-supervised self-training algorithms. The SLA algorithm is described in full in this ICML 2021 paper: https://arxiv.org/abs/2102.08622.
Stars: ✭ 49 (+68.97%)
Mutual labels:  semi-supervised-learning
generative models
Pytorch implementations of generative models: VQVAE2, AIR, DRAW, InfoGAN, DCGAN, SSVAE
Stars: ✭ 82 (+182.76%)
Mutual labels:  semi-supervised-learning
SnapMix
SnapMix: Semantically Proportional Mixing for Augmenting Fine-grained Data (AAAI 2021)
Stars: ✭ 127 (+337.93%)
Mutual labels:  aaai2021
HybridNet
Pytorch Implementation of HybridNet: Classification and Reconstruction Cooperation for Semi-Supervised Learning (https://arxiv.org/abs/1807.11407)
Stars: ✭ 16 (-44.83%)
Mutual labels:  semi-supervised-learning
Awesome-Tensorflow2
基于Tensorflow2开发的优秀扩展包及项目
Stars: ✭ 45 (+55.17%)
Mutual labels:  classification
seededlda
Semisupervided LDA for theory-driven text analysis
Stars: ✭ 46 (+58.62%)
Mutual labels:  semi-supervised-learning
emotion-recognition-GAN
This project is a semi-supervised approach to detect emotions on faces in-the-wild using GAN
Stars: ✭ 20 (-31.03%)
Mutual labels:  semi-supervised-learning

EC-GAN

This repository contains the implementation of the paper "EC-GAN: Low-Sample Classification using Semi-Supervised Algorithms and GANs" by Ayaan Haque from Saratoga High School. In AAAI, 2021.

Our proposed model combines a Generative Adversarial Network with a classifier to leverage artifical GAN generations to increase the size of restricted, fully-supervised datasets in a semi-supervised method.

Thumbnail
Watch Oral Presentation

Abstract

Semi-supervised learning has been gaining attention as it allows for performing image analysis tasks such as classification with limited labeled data. Some popular algorithms using Generative Adversarial Networks (GANs) for semi-supervised classification share a single architecture for classification and discrimination. However, this may require a model to converge to a separate data distribution for each task, which may reduce overall performance. While progress in semi-supervised learning has been made, less addressed are small-scale, fully-supervised tasks where even unlabeled data is unavailable and unattainable. We therefore, propose a novel GAN model namely External Classifier GAN (EC-GAN), that utilizes GANs and semi-supervised algorithms to improve classification in fully-supervised regimes. Our method leverages a GAN to generate artificial data used to supplement supervised classification. More specifically, we attach an external classifier, hence the name EC-GAN, to the GAN's generator, as opposed to sharing an architecture with the discriminator. Our experiments demonstrate that EC-GAN's performance is comparable to the shared architecture method, far superior to the standard data augmentation and regularization-based approach, and effective on a small, realistic dataset.

Model

Figure

We propose an algorithm to improve classification utilizing GAN-generated images in restricted, fully-supervised regimes. Our approach consists of three separate models: a generator, a discriminator, and a classifier. At every training iteration, the generator is given random vectors and generates corresponding images. The discriminator is then updated to better distinguish between real and generated samples.

Simultaneously, a classifier is trained in standard fashion on available real data and their respective labels (note these datasets are fully labeled). We then use generated images as inputs for supplementing classification during training. This is the semi-supervised portion of our algorithm, as the generated images do not have associated labels. To create labels, we use a pseudo-labeling scheme which assumes a label based on the most likely class according to the current state of the classifier. The generated images and labels are only retained if the model predicts the class of the sample with high confidence, or a probability above a certain threshold. This loss is multiplied by a hyperparameter, which controls the relative importance of generated data compared to true samples.

Note that this classifier is its own network, as opposed to a shared architecture with the discriminator. This is a key contribution of our paper, as most GAN-based classification methods employ a shared discriminator-classifier architecture. We aim to empirically show that an external classifier performs better than a shared architecture.

Results

A brief summary of the results are shown below. EC-GAN is compared to the shared architecture method on SVHN at different dataset sizes. The left value is the accuracy of a standard classifier (same architecture as GAN counterpart), followed by the accuracy of the GAN classification algorithm.

Figure

Code

The code has been written in Python using the Pytorch framework. Training requries a GPU. We provide a Jupyter Notebook, which can be run in Google Colab, containing the algorithm in a usable version. Open EC-GAN.ipynb and run it through. The notebook includes annotations to follow along.

Citation

If you find this repo or the paper useful, please cite:

Ayaan Haque, "EC-GAN: Low-Sample Classification using Semi-Supervised Algorithms and GANs," 2021.

@article{Haque_2021, 
      title={EC-GAN: Low-Sample Classification using Semi-Supervised Algorithms and GANs}, 
      volume={35}, 
      url={https://ojs.aaai.org/index.php/AAAI/article/view/17895},
      number={18}, 
      journal={Proceedings of the AAAI Conference on Artificial Intelligence}, 
      author={Haque, Ayaan}, 
      year={2021}, 
      month={May}, 
      pages={15797-15798} 
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].