Skip to content

A complete implementation from scratch of VAEs in Python, infact the project's requirement was to implement Variational Auto Encoders without the use of the modules of torch.nn.Module

License

Notifications You must be signed in to change notification settings

JosephMartinelli/VAEs

Repository files navigation

Objective:

The primary objective of this project is to conduct comprehensive theoretical research into the world of ML and convolution. We aim to explore and elucidate the intricate mathematical concepts and principles that form the backbone of ML algorithms and CNNs. By exploiting the use of CNN, the aim of the project was to define a Variational Auto Encoder able to generate images taken by the CelebA dataset

Key Research Areas:

  1. Linear Algebra and Matrix Operations: Investigate the role of linear algebra in ML, with a focus on matrix operations like convolution, transpose convolution, and matrix factorization. Explore how these operations enable feature extraction and transformation in ML models.

  2. Convolution in Depth: Dive deep into the theory of convolution, both one-dimensional and two-dimensional, and its applications in signal processing and image analysis. Explore the convolution theorem, convolution properties, and their relevance to CNNs.

  3. Neural Network Architectures: Analyze the theoretical frameworks behind various neural network architectures, including feedforward networks, recurrent networks, and convolutional networks. Understand how different architectures leverage convolution for specific tasks.

  4. Optimization and Learning Algorithms: Study the mathematical foundations of optimization algorithms like gradient descent and stochastic gradient descent. Explore how these algorithms are used to train ML models, including CNNs.

  5. Theoretical Boundaries and Challenges: Investigate the theoretical limits and challenges in ML, such as overfitting, bias-variance trade-off, and the curse of dimensionality. Understand the role of convolution in mitigating these challenges.

  6. Theoretical Aspect regarding VAEs and their limitaions, as well as the use and validation of generative models.

Project Requirements

  1. The use of any torch.nn.Module is not permitted and shall be implemented
  2. Convolutional and deconvolutional operations shall be implemented as matrix operations

Final Model and conclusions

After an extensive research, the final model constructed was a linear VAEs and ,due to limitations, the dataset has been changed to MNIST. A more detailed conclusion can be found on the documentation.

About

A complete implementation from scratch of VAEs in Python, infact the project's requirement was to implement Variational Auto Encoders without the use of the modules of torch.nn.Module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published