Harokopio University
School: School of Digital Technology
Department: Informatics and Telematics
Program: Information Technology

Applied Machine Learning

Semester: 6 ECTS: 7.5 Elective Erasmus

General

Code: BSC_IT29

Language: English

Delivery: In person

Prerequisites: -

Workload

  • Lectures: 52.0 hours
  • Lab: 0.0 hours
  • Study: 75.5 hours
  • Project: 60.0 hours

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.

Skills

Search for, analysis and synthesis of data and information, with the use of the necessary technology
Adapting to new situations
Decision-making
Working independently
Team work
Working in an interdisciplinary environment
Criticism and self-criticism
Production of free, creative and inductive thinking