Neural Networks and Deep Learning
IMPORTANT NOTICE:
This course will start on January 13, 2026, at 9:00.
Lectures will be opened to everybody and will be given online on the following
channel.
Please, connect 10 minutes before 9:00 to avoid disturbing the lecture.
Registration
To access the channel of the lectures and receive notifications about any change on course lectures,
please register here by December 15th.
Certification of attendance
If you need a certification of attendance, be aware that the number of hours that will be certified are those recorded by Teams.
Course Program and Lectures Schedule
This course includes four modules:
- The first module (30 hours) focuses on the theoretical foundations of neural networks, including deep learning and convolutional networks.
- The second module (20 hours) focuses on advanced topics, including transformers, deep RL, semi-supervised learning, and generative networks.
- The third module (20 hours) focuses on how to make deep networks more trustworthy, interpretable, and secure.
- The fourth module (30 hours) covers practical and implementation issues.
Part I: Theoretical Foundations
- Introduction to neural computing
- Hopfield networks
- Unsupervised learning: PCA
- Unsupervised learning: Self-Organizing Maps
- Clustering algorithms
- Reinforcement learning
- Supervised learning and Backpropagation
- Performance metrics
- Radial Basis Function Networks
- Towards Deep Neural Networks (DNNs)
- Autoencoders
- Convolutional Neural Networks (CNNs)
- CNNs for object classification
- CNNs for object detection
- CNNs for image segmentation
Part II: Advanced Topics
- Recurrent neural networks
- Natural language processing
- Word embedding and attention mechanism
- Transformers
- Deep reinforcement learning
- Semi-supervised learning
- Special deep learning models
- Neural networks for multi-object tracking
- Generative networks
Part III: Trustworthy AI
- Explainable and Interpretable AI
- Anomaly and out-of-distribution detection methods
- Domain generalization and domain adaptation
- Attention mechanisms in computer vision
- Adversarial attacks and defenses
- Real-world attacks and defenses
- Simulators for autonomous driving
- Hardware in the loop simulation
- Functional components in autonomous driving
- The Autoware framework for autonomous driving
Part IV: Implementation Issues
- Implementing neural networks in C
- Programming frameworks for deep learning
- Modeling DNNs in Tensorflow and PyTorch
- GPU programming in CUDA
- Accelerating deep networks on GPGPUs
- DNN optimization for embedded platforms
- The NVIDIA TensorRT framework
- Accelerating deep networks on FPGA
- The Xilinx Deep Processing Unit
Exam
The exam (for those that need to take it) consists in a project development.
The project is one, independently on the number of modules attended, but the number of hours that will be certified are those recorded by Teams.
The completion of the exam requires the project discussion and the delivery of the project code, including a report describing the work done.
Please, read carefully the project rules in the link below.
- Project rules
- Projects list (it will be posted later)
- Projects availability (it will be posted later)
Suggested readings
Books
- Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning, MIT Press, 2017.
- François Chollet. Deep Learning with Python, Manning, 2017.
- Richard S. Sutton and Andrew G. Barto. Reinforcement Learning: An Introduction, Second edition, The MIT Press, 2018.
Introductory readings
For those who like to look into the future