https://github.com/saadamir1/vae-gan-comparison
Comprehensive comparison of VAE vs GAN architectures for image generation on CIFAR-10 dataset with quantitative evaluation metrics
https://github.com/saadamir1/vae-gan-comparison
cifar10 deep-learning gan generative-models image-generation machine-learning neural-networks tensorflow vae
Last synced: about 2 months ago
JSON representation
Comprehensive comparison of VAE vs GAN architectures for image generation on CIFAR-10 dataset with quantitative evaluation metrics
- Host: GitHub
- URL: https://github.com/saadamir1/vae-gan-comparison
- Owner: saadamir1
- Created: 2025-06-18T17:49:49.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-18T17:53:34.000Z (12 months ago)
- Last Synced: 2025-06-18T18:43:13.142Z (12 months ago)
- Topics: cifar10, deep-learning, gan, generative-models, image-generation, machine-learning, neural-networks, tensorflow, vae
- Language: Jupyter Notebook
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VAE vs GAN: Image Generation Comparison
A comprehensive comparison of Variational Autoencoders (VAE) and Generative Adversarial Networks (GAN) for image generation tasks using CIFAR-10 dataset.
## 🎯 Overview
This project implements and compares two popular generative models:
- **Variational Autoencoder (VAE)** with encoder-decoder architecture
- **Generative Adversarial Network (GAN)** with similarity-based discriminator
The models are trained on CIFAR-10 cats and dogs subset to generate realistic animal images.
## 🏗️ Architecture
### VAE Components
- **Encoder**: Convolutional layers with batch normalization
- **Decoder**: Transposed convolutions for image reconstruction
- **Latent Space**: 100-dimensional continuous representation
### GAN Components
- **Generator**: Deep convolutional network with batch normalization
- **Discriminator**: Siamese-style similarity discriminator with minibatch discrimination
- **Feature Extractor**: Shared convolutional feature extraction
## 🚀 Features
- Custom VAE implementation with KL divergence regularization
- Advanced GAN with similarity-based discrimination
- Minibatch discrimination for diversity promotion
- Comprehensive quantitative evaluation metrics
- Visual comparison of generated samples
- Real-time training loss visualization
## 📊 Results
- **VAE**: Stable training, blurry but structured outputs
- **GAN**: More detailed generations but training instability
- **Performance**: VAE achieves lower MSE (0.0901 vs 0.1919)
## 🛠️ Requirements
```bash
tensorflow>=2.8.0
numpy>=1.21.0
matplotlib>=3.5.0
```
## 💻 Usage
```python
python generative_models_comparison.py
```
The script will:
1. Load and preprocess CIFAR-10 data
2. Train both VAE and GAN models
3. Generate comparison visualizations
4. Output quantitative metrics
## 📈 Evaluation Metrics
- Mean Squared Error (MSE)
- Reconstruction Loss
- KL Divergence
- Similarity Scores
- Visual Quality Assessment
## 🔧 Configuration
Key hyperparameters:
- Batch Size: 64
- Latent Dimension: 100
- Learning Rate: 1e-4
- Training Epochs: 30
## 📝 License
MIT License - feel free to use and modify for your projects.
## 🤝 Contributing
Contributions welcome! Feel free to submit issues and pull requests.