Course Content
- Introduction to Applied Machine Learning. Definitions. Supervised, unsupervised and self-supervised learning. Overview of PyTorch and the deep learning ecosystem.
- Data preparation and the ML pipeline. Datasets, data loaders, normalization, train/val/test splits. Tensors and autograd in PyTorch.
- From linear models to neural networks. Perceptron, activation functions, multi-layer perceptrons (MLPs). Classification and regression with MLPs in PyTorch.
- Training neural networks. Loss functions, gradient descent, backpropagation. Stochastic gradient descent and modern optimizers (Adam, AdamW).
- Regularization and generalization. Overfitting, dropout, L1/L2 regularization, batch normalization, early stopping.
- Convolutional Neural Networks (CNNs) for image data. Convolution operation, pooling, receptive fields, feature maps.
- CNN architectures and transfer learning. AlexNet, VGG, ResNet, EfficientNet. Fine-tuning pre-trained models on custom datasets.
- Sequential data and Recurrent Neural Networks. Vanishing gradients problem. LSTM and GRU cells. Time-series regression and classification.
- Applications of recurrent models. Sequence-to-sequence tasks. Word embeddings. Text classification with RNNs.
- Attention mechanisms and the Transformer architecture. Self-attention, multi-head attention, positional encoding.
- Transformer-based language models. Pre-training and fine-tuning paradigm. Overview of BERT, GPT and modern large language models (LLMs).
- Advanced computer vision I: Object detection. Anchor-based and anchor-free detectors. Overview of YOLO and Faster R-CNN.
- Advanced computer vision II: Image segmentation. Semantic vs. instance segmentation. U-Net and Mask R-CNN overview.
Learning Outcomes
Upon successful completion of this course, students will be able to:
- Understand the fundamental concepts of applied machine learning and deep learning, including supervised, unsupervised, and self-supervised learning paradigms.
- Implement and train neural networks using PyTorch, including multi-layer perceptrons (MLPs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs), for real-world classification and regression tasks.
- Apply best practices in data preparation, normalization, train/val/test splitting, regularization (dropout, L1/L2, batch normalization), and early stopping within the ML development pipeline.
- Design and fine-tune CNN architectures (AlexNet, VGG, ResNet, EfficientNet) for image recognition tasks using transfer learning from pre-trained models.
- Build and apply recurrent architectures (LSTM, GRU) for sequential and time-series data analysis, including text classification.
- Understand the Transformer architecture, self-attention mechanisms, and the pre-training/fine-tuning paradigm underlying modern large language models such as BERT and GPT.
- Identify and apply state-of-the-art methods for advanced computer vision tasks, including object detection (YOLO, Faster R-CNN) and image segmentation (U-Net, Mask R-CNN).
- Develop, evaluate, and present applied ML solutions using Python, Jupyter notebooks, and the PyTorch ecosystem.