This repository contains a series of hands-on labs for beginners in neural networks using PyTorch. The labs are designed to briefly cover various topics, including Maths basics, Python refresher, and neural network concepts.
- Linear Algebra: Introduction to linear algebra concepts used in neural networks.
- Calculus: Exploring calculus concepts relevant to neural networks.
- Miniconda Installation and Environment Setup: Step-by-step guide for installing Miniconda and setting up the environment.
- Python Refresher: Implementation of Maths functions.
- PyTorch: Getting started with PyTorch library for neural networks development.
- Neurons and Activation Functions: Understanding the building blocks of neural networks.
- Forward and Back Propagation: Implementing forward and back propagation algorithms in neural networks.
- Dense Neural Networks: Building and training dense neural networks.
- Convolutional Neural Networks (CNN): Introduction to CNNs and their applications in computer vision tasks.
- Recurrent Neural Networks (RNN): Exploring RNNs and their ability to process sequential data.
- Long Short-Term Memory (LSTM): Understanding LSTM networks and their role in handling long-term dependencies.
- Transfer Learning: Leveraging pre-trained models for transfer learning in neural networks.
- Overview of neural networks, their applications, and workflow.
- Understanding linear algebra concepts used in neural networks.
- Exploring calculus concepts relevant to neural networks.
- Step-by-step guide for installing Miniconda and setting up the environment with needed libraries.
- Implementing maths concepts as a Python refresher and getting started with Pytorch for neural network development.
- Understanding the building blocks of neural networks: neurons and activation functions.
- Implementing forward and back propagation algorithms in neural networks.
- Building and training dense neural networks.
- Introduction to CNNs and their applications in computer vision tasks.
- Exploring RNNs and their ability to process sequential data.
- Understanding LSTM networks and their role in handling long-term dependencies.
- Leveraging pre-trained models for transfer learning in neural networks.
This section provides a summary of the topics learned throughout the labs.
- [1] PyTorch Documentation: Official documentation for PyTorch.
- [2] Machine Learning Knowledge: A website providing resources and knowledge about machine learning.
- [3] Miniconda Documentation: Official documentation for Miniconda.
- 3Blue1Brown: Visual tutorials for Neural Networks & Maths.
- Deep Learning with PyTorch: A 60 Minute Blitz: A beginner-friendly tutorial on deep learning with PyTorch.
- Neural Networks and Deep Learning: Online book by Michael Nielsen covering neural networks and deep learning concepts.
- PyTorch Tutorials: Complete beginner course.
- Programming with Mosh: Python for beginners.
Project 1: Image Classification
- Description: Build a neural network model that can classify images into different categories, such as cats and dogs.
- Steps:
- Collect a dataset of labeled images.
- Preprocess the images by resizing and normalizing them.
- Design and train a convolutional neural network (CNN) model using PyTorch.
- Evaluate the model's performance on a test set.
- Fine-tune the model to improve its accuracy.
- Test the model on new, unseen images.
Project 2: Sentiment Analysis
- Description: Develop a neural network model that can analyze the sentiment of text data, classifying it as positive, negative, or neutral.
- Steps:
- Gather a dataset of labeled text data with corresponding sentiment labels.
- Preprocess the text data by tokenizing, removing stopwords, and converting it into numerical representations.
- Build and train a recurrent neural network (RNN) model using PyTorch.
- Evaluate the model's performance on a validation set.
- Fine-tune the model by adjusting hyperparameters and architecture.
- Test the model on new, unseen text data.
Project 3: Stock Price Prediction
- Description: Create a neural network model that can predict future stock prices based on historical price data.
- Steps:
- Collect a dataset of historical stock prices, including features such as opening price, closing price, volume, etc.
- Preprocess the data by normalizing and splitting it into training and testing sets.
- Design and train a recurrent neural network (RNN) or long short-term memory (LSTM) model using PyTorch.
- Evaluate the model's performance by comparing predicted prices with actual prices.
- Fine-tune the model by adjusting hyperparameters and architecture.
- Use the model to make predictions on future stock price data.