Logo

Deep Learning

Code: 44737
Credits: 6
2026/2027
Degree programme Type Course
Research and Innovation in Computer based Science and Engineering OP 1

Contact lecturer

Name :
Silvana Silva Pereira
Email :
silvana.silva@uab.cat

Group languages

You can consult this information at the end of the document.

Prerequisites

This is a project-based learning (PBL) course. From the first weeks, students work in teams on medium-complexity deep learning projects. These projects assume that students can already train, validate and evaluate machine learning models on their own. The course does not teach machine learning or programming from scratch; it builds on that foundation.


For this reason, the following are required:

  • Machine learning. Students must have completed a machine learning course, or have equivalent hands-on experience. This includes supervised and unsupervised learning, training / validation / test splits, cross-validation, overfitting and regularization, working with unbalanced datasets, and standard evaluation metrics (accuracy, precision, recall, F1, ROC and AUC).
  • Basic deep learning / neural networks. Students must have at least minimal prior knowledge of neural networks: what a neuron and an activation function are, how a network is trained with gradient descent and backpropagation, and a basic notion of convolutional networks. The course expands on this; it does not start from zero.
  • Python programming. Solid programming in Python, including the scientific stack (NumPy). Prior experience with at least one deep learning framework (PyTorch or TensorFlow) is strongly recommended.
  • Mathematical foundations. Working comfort with linear algebra (vectors, matrices), calculus (derivatives, gradients), and probability and statistics.


Recommended (helpful, but not strictly required):

  • Signal, image and video processing.
  • Experience with statistical validation of results.

Objectives

This course develops the design and training of neural network models through applied, project-based work. It assumes the machine learning and basic neural network background listed under Prerequisites, and extends it to the design, training and critical evaluation of deep learning models on realistic problems.

Building on the theory acquired in previous machine learning courses, students learn the concepts specific to the design of neural networks, current deep learning frameworks, and the training process of these models, and apply them from the first weeks to concrete projects.


Upon completion of the course, the student will have acquired:

  • A solid knowledge of the main neural network architectures and their most common usage scenarios.
  • The ability to critically select the most appropriate architecture and training mechanism for each specific task.
  • Practical experience using deep learning libraries and environments to implement solutions to real problems, including data preparation, training, validation and the honest reporting of results.

Learning outcomes

  • CA18 (Design the most appropriate neural network architecture in order to solve a given problem.) Design the most appropriate neural network architecture in order to solve a given problem.
  • CA19 (Design computational solutions in multiple domains related to decision making based on the exploration of alternatives, uncertain reasoning and task planning.) Design computational solutions in multiple domains related to decision making based on the exploration of alternatives, uncertain reasoning and task planning.
  • KA23 (Describe the structure of convolutional and recurrent neural networks and to which environments they best suited for use.) Describe the structure of convolutional and recurrent neural networks and to which environments they best suited for use.
  • KA24 (Describe the different data structuring and representation models.) Describe the different data structuring and representation models.
  • KA25 (Describe advanced techniques for handling neural networks such as reinforcement learning, as well as adequately visualise the intermediate results of processing.) Describe advanced techniques for handling neural networks such as reinforcement learning, as well as adequately visualise the intermediate results of processing.
  • SA31 (Solve problems related to the analysis of large volumes of data by designing intelligent systems and using computational learning techniques.) Solve problems related to the analysis of large volumes of data by designing intelligent systems and using computational learning techniques.
  • SA32 (Solve specific problems using deep learning systems based on neural networks.) Solve specific problems using deep learning systems based on neural networks.
  • SA33 (Select the most appropriate neural network architecture according to the available data in order to obtain the expected results.) Select the most appropriate neural network architecture according to the available data in order to obtain the expected results.
  • SA34 (Use neural network visualisation systems to evaluate possible optimisations that improve the system's performance.) Use neural network visualisation systems to evaluate possible optimisations that improve the system's performance.

Contents

The following content is developed through the projects:


  • Neural networks. Perceptron, loss functions, training, and gradient backpropagation.
  • Convolutional neural networks. Architectures for classification and segmentation (for example, U-Net), and fine-tuning and transfer learning.
  • Model validation and robustness. Reliable metrics, detection of bias in models, handling unbalanced datasets, and analysis of the level of generalisation of models.
  • Model explainability. Visualisation of activation and attention maps to interpret model behaviour.
  • Sequence and time-series processing. Recurrent neural networks (LSTM), transformers applied to language (for example, translators) and vision (for example, Vision Transformers), and backbone architectures.
  • Unsupervised learning. Autoencoders, anomaly detection, and dimensionality reduction.
  • Generative models. Generative adversarial networks (GANs), variational autoencoders (VAEs), and other approaches to data generation.
  • Metric learning. Triplet loss, Barlow twins, one-shot approaches, and Siamese networks.

Learning activities and methodology

Title Hours ECTS Learning outcomes
Personal work 90 3.6
Theoretical Explanations 20 0.8
Group Problem Resolution 30 1.2

The course is based on the Project-Based Learning (PBL) methodology, aimed at enhancing student motivation and autonomy. Learning happens mainly through guided project work and regular tutoring, complemented by directed sessions that refresh and consolidate key concepts. These sessions review and build on the assumed background; because the projects begin early and demand independent work, the prior knowledge listed under Prerequisites is essential.


At the beginning of the semester, teams of 4 or 5 students are formed to develop a set of medium-complexity projects distributed throughout the course, with weekly monitoring combining group and individual tutoring sessions.


The projects proposed by the teaching staff meet the following requirements:

  • They are inspired by realistic situations or practical applications.
  • They are solvable with tools and knowledge accessible to students who meet the prerequisites.
  • They do not have a known standard solution, in order to encourage creativity and critical analysis.


The objective is not to find a universal optimal solution, but to propose a reasonable and well-justified one. As in real professional practice, there is often no single correct solution.

Each team develops its projects with the greatest possible autonomy. The assigned tutor has a supporting and supervisory role, avoiding directing or imposing solutions. Contributions must be original. Consulting bibliographic sources or online resources is permitted and even advisable, provided the sources are cited and their use is explained in the report and to the teaching staff.


The final project submission consists of two parts:

  • A written report describing the proposal, the process followed, the decisions made and the results obtained.
  • An oral presentation, mainly addressed to a hypothetical entity that would have commissioned the project. Technical details should be reserved for annexes or specific sections of the report.

The oral presentation is mandatory for the entire team, and active participation of the rest of the class is expected through questions and comments.


This subject allows the use of Artificial Intelligence (AI) technologies as an integral part of the development of projects. Students must clearly identify the parts generated with AI, specify the tools used, and include a critical reflection on how these technologies influenced the process and the final result. A lack of transparency in the use of these technologies is considered a lack of academic honesty.

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Project Grading 70% 7 0.28 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34
Peer Evaluation 10% 1 0.04 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34
Individual Grade 20% 2 0.08 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34

This subject does not include the single assessment system. Since the work revolves around a set of projects developed throughout the semester, the assessment is continuous and the final result is not recoverable.


The assessment is continuous and based on the two projects developed during the course, together with a peer evaluation of collaboration and an individual component.


Final grade = 0.7 x Project grading + 0.1 x Peer evaluation + 0.2 x Individual grading


1. Project grading (0 to 10). The two projects are weighted equally:

Project grading = 0.5 x Project 1 + 0.5 x Project 2.

Each project is graded by the teaching staff on its submissions, and combines an intermediate and a final delivery:

Project = 0.25 x Intermediate Report (v1) + 0.75 x Final Report (v2), where Final Report (v2) = 0.8 x Written report + 0.2 x Oral presentation.

- Intermediate Report (v1): first version of the report, showing the approach, initial decisions and progress.

- Final Report (v2): written document describing the work developed and the results obtained.

- Oral presentation: presentation of the project and the results obtained, addressed to a hypothetical entity that would have commissioned the project.


2. Peer evaluation (0 to 10). At the end of each project, each team member completes a short survey rating how their teammates collaborated and contributed to the work. This component rewards effective teamwork and shared responsibility within the group.


3. Individual grading (0 to 10). Reflects each student's own contribution, based on observation by the tutor during the tutored sessions (attitude, initiative, participation, attendance and punctuality) and on the individual documentation of the student's contributions to the project.


Fully expanded, the final grade is:

Final grade = 0.7 x [ 0.5 x (0.25 x IR1 + 0.75 x (0.8 x R1 + 0.2 x O1))

+ 0.5 x (0.25 x IR2 + 0.75 x (0.8 x R2 + 0.2 x O2)) ]

+ 0.1 x Peer evaluation

+ 0.2 x Individual grading,

where IR = Intermediate Report, R = Written report and O = Oral presentation, for Projects 1 and 2.


4. Non-assessable. According to point 9 of article 266 of the UAB Academic Regulations, if the student does not provide sufficient evidence of learning throughout the course, the subject will be classified as non-assessable. This applies when the student has not participated sufficiently in the continuous assessment activities, for example:

- Not having submitted any project, or having done so clearly insufficiently.

- Not having attended the tutored sessions or participated in the follow-up activities.

- Not having provided sufficient evidence for the individual grading.

This criterion is applied objectively and is reviewable according to the procedure established by the degree.

Bibliography

Books

  • Bishop, C. M. and Bishop, H. Deep Learning: Foundations and Concepts. Springer, 2024. Free online: https://www.bishopbook.com/ (UAB library: online)
  • Prince, S. J. D. Understanding Deep Learning. MIT Press, 2023. Free online: https://udlbook.github.io/udlbook/ (UAB library: paper)
  • Deep Learning. Ian Goodfellow, Yoshua Bengio and Aaron Courville. MIT Press, 1st ed., 2016. (UAB library: paper and online)
  • Géron, A. Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow. O'Reilly, 3rd ed., 2022. (UAB library: online)
  • Pattern Recognition and Machine Learning. Christopher Bishop. Springer, 2006. (UAB library: paper)
  • Neural Networks for Pattern Recognition. Christopher Bishop. Clarendon Press, 1995. (UAB library: paper)


Books online


Key papers. Seminal papers that students engage with directly in the projects:

  • Ronneberger, O. et al. U-Net: Convolutional Networks for Biomedical Image Segmentation. MICCAI, 2015.
  • He, K. et al. Deep Residual Learning for Image Recognition (ResNet). CVPR, 2016.
  • Vaswani, A. et al. Attention Is All You Need. NeurIPS, 2017.
  • Dosovitskiy, A. et al. An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT). ICLR, 2021.
  • Goodfellow, I. et al. Generative Adversarial Networks. NeurIPS, 2014.
  • Kingma, D. P. and Welling, M. Auto-Encoding Variational Bayes (VAE). ICLR, 2014.
  • Zbontar, J. et al. Barlow Twins: Self-Supervised Learning via Redundancy Reduction. ICML, 2021.


Prerequisite refreshers. Students who need to review the assumed machine learning and neural network background before the course starts can use the early chapters of Bishop (Pattern Recognition and Machine Learning), Géron's book, and the introductory chapters of Dive into Deep Learning and Nielsen's book.


Links (tutorials and talks)

Software

The course uses Python together with PyTorch, TensorFlow and CUDA. Access to GPU and CPU clusters is facilitated whenever possible to support computational needs. Students are expected to be comfortable working in this environment from the start of the course.


Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TEm) Theory (master) 1 English second semester afternoon
(PLABm) Practical laboratories (master) 1 English second semester afternoon