This repository contains assignments and projects related to the various Generative AI courses that I am currently exploring. The projects cover a wide range of topics, including deep learning, neural networks, machine learning algorithms, and practical applications of AI technologies.
As someone with a background in software engineering and not in data science, I have approached the creation of this repository with the intention to demystify the complexities of Generative AI for those who, like me, are not from a data science background. Each notebook is crafted to delve deeply into the underlying concepts, ensuring that the fundamentals are thoroughly explained. You will find detailed explanations and examples in each notebook that aim to make the content accessible and understandable, regardless of your prior expertise in data science. I will keep updating this repo as I cover newer topics
- Check out Welcome Note
- Check out open issues
- Related LinkedIn Post
- Instruction Backtranslation for Enhanced LLM Training
- Direct Preference Optimization for LLM Fine-tuning
For those new to Generative AI, I recommend following this sequential path through the projects in this repository to build a foundational understanding before advancing to more complex topics:
- cnn-intro: Start with the basics of neural networks by exploring Convolutional Neural Networks (CNNs). This project will help you understand fundamental neural network architectures and their applications.
- loan-data-classification: Apply what you've learned about neural networks to a practical problem—classifying loan data using Multi-Layer Perceptrons (MLPs). This will give you hands-on experience with supervised learning.
- clustering-colors: Diversify your skills with an unsupervised learning project. Use the k-means clustering technique to segment images based on color similarity, deepening your understanding of how algorithms can group data without labels.
- sentence-similarity: Move on to natural language processing by exploring different methods for calculating sentence similarity. This project transitions from traditional to neural network-based techniques, including word embeddings and RAG.
- advanced-llms: With a solid base in neural networks and NLP, delve into advanced language models, from simple MLPs to Transformer Models. This section includes various projects and experiments that expand on the architecture and functionality of sophisticated language models.
- vae-intro: Learn about Variational Autoencoders, particularly convolutional models, to understand generative models in AI. This project is crucial for grasping how machines can generate new data instances that resemble training data.
- gan: Explore Generative Adversarial Networks through the provided Jupyter notebook. This addition will deepen your understanding of another vital generative model, showcasing the dynamic between generator and discriminator networks in creating new data samples.
To contribute:
- Fork the repository.
- Make your changes or additions.
- Submit a pull request with a detailed description of your contributions and any necessary reviews.
The contents of this repository are available under the MIT license unless otherwise explicitly stated.
For any further queries regarding the projects or the coursework, feel free to reach out to me on LinkedIn or email me at parthasarathyd@northeastern.edu.