Welcome to the MicroAI repository! π€ This project aims to provide minimal implementations βοΈ of influential papers π in the field of machine learning (ML) and artificial intelligence (AI).
The implementations are designed to be concise yet illustrative, focusing on key concepts across various subareas, including computer vision, natural language processing, reinforcement learning, graph machine learning, etc.
Note: this repository is meant to be a constant work in progress ποΈ, new implementations will be added as time permits β
The following table summarizes currently implemented papers.
| Paper/Method | Description | Notebook |
|---|---|---|
| Concepts of βAutomatic Differentiation Engineβ | Recursive implementation of the backpropagation algorithm. | autograd.ipynb |
| Building blocks of a βDeep Learning Libraryβ | Minimal implementation of basic deep learning building blocks inspired by PyTorch. | nn.ipynb |
| A. Vaswani et al., βAttention Is All You Needβ | Minimal implementation of the transformer model, including decoder-only and encoder-decoder variants. | attention_is_all_you_need.ipynb |
| Y. Bengio et al., βA Neural Probabilistic Language Modelβ | Simple implementation of a neural probabilistic language model, trained to generate song titles. | neural_probabilistic_language_model.ipynb |
| K. He et al., βDeep Residual Learning for Image Recognitionβ | Implementation of residual networks, with a classification example using the CIFAR-10 dataset. | deep_residual_learning_for_image_recognition.ipynb |
| I. J. Goodfellow et al., βGenerative Adversarial Networksβ and M. Mirza et al., βConditional Generative Adversarial Netsβ | Implementation of GAN and conditional GAN, with a MNIST digit generation example. | generative_adversarial_networks.ipynb |
To explore the implementations and run example notebooks, follow the steps:
- Clone this repository to your local machine;
- Install Poetry;
- Install dependencies by running
poetry install; - Explore the available notebooks.
If you'd like to contribute or have suggestions for additional papers to implement, please feel free to create an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
