Applied Deep Learning

Academic year
Subject Area
Advanced Computational Methods
Language of Instruction
Other Languages of Instruction
Mode of Delivery
ECTS Credits
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Linear Algebra, Calculus, Probabilities and Statistics, Programming, Introduction to Machine Learning

Teaching Methods

The theoretical classes (T) will expose and discuss the concepts, theories and algorithms that will support the 4 practical assignments (TTs) and the final project. The PLs are intended to present the hardware and software infrastructures for designing and training neural networks, as well as to monitor and support the execution of the assignments and the final project. The grading will depend exclusively on the student's performance in the assignments and final project in order to emphasize the hands-on approach of the course.

Learning Outcomes

This course aims to be a hands-on approach to a machine learning technique called deep learning, focusing on the 'how-to' while covering the basic theoretical foundations. The assignments explore key concepts and simple applications, and the final project allows an in-depth exploration of a particular application area. By the end of the course, the student will have an overview on the deep learning landscape and its applications with particular emphasis in computer vision and robotics. The student will also have a working knowledge of several types of neural networks, be able to implement and train them, and have a qualitative understanding of their inner workings.

Work Placement(s)



1. Introduction


2. Neural Networks and Deep Learning

- Background concepts

- Introduction to Neural Networks

- Deep vs "Shallow" Approaches


3. Convolutional Neural Networks (CNNs)

- Building blocks

- Popular architectures

- Training techniques

- Visualizing, explaining and debugging neural networks

- Applications in object detection and semantic segmentation


4. Recurrent Neural Networks (RNNs)

- Sequential modeling with RNNs

- Gated recurrent networks (GRUs) and Long short-term memory (LSTMs)

- Applications in language modeling and image captioning


5. Generative models

- Autoregressive models: The case of PixelCNN

- Variational AutoEncoders (VAEs)

- Generative Adversarial Networks (GANs)

- Applications in image syntehsis


6. Deep Reinforcement Learning (Deep RL)

- Introduction to Deep RL

- Applications in robotics

Head Lecturer(s)

Cristiano Premebida

Assessment Methods

Project: 40.0%
Laboratory work or Field work: 60.0%



- Ian Goodfellow, Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press 2016.

- F Chollet, Deep Learning with Python, Manning Publications, 2017

- A Géron, Hands-on Machine Learning with Scikit-Leran and TensorFlow, O'Reilly, 2017

- David Forsyth, Applied Machine Learning, Springer, 2019