Neural Networks and Deep Learning

Given the current COVID situation, all lectures will be given online at the following Channel.
Please, register at the link below to be invited to access the channel.
The first lecture is scheduled on January 11, 2022 at 9:00. Please, see the full course schedule below.
Make sure to connect 5 min before start time, because I may not be able to admit participants once started.


To attend the lectures and receive notifications about any change on course lectures, please register in this file.

This course (6 CFUs) includes two modules of 3 CFUs each: the first module focuses on the theoretical foundations of neural networks and deep learning, while the second module covers more practical and implementation issues.

Course Program

Course topics: theoretical part

  1. Introduction to neural computing
  2. Hopfield networks
  3. Unsupervised learning
  4. Clustering algorithms
  5. Reinforcement learning
  6. Supervised learning - part 1
  7. Supervised learning - part 2
  8. Radial Basis Function Networks
  9. Towards Deep Neural Networks (DNNs)
  10. Autoencoders
  11. Convolutional Neural Networks
  12. DNNs for object classification
  13. DNNs for object detection
  14. DNNs for image segmentation
  15. Recurrent Neural Networks
  16. Deep Reinforcement learning
  17. Sample applications and open issues

Slides on the practical part

  1. Implementing neural networks in C
  2. Implementing unsupervised models in C
  3. Implementing Reinforcement Learning in C
  4. Implementing Backpropagation in C
  5. Implementing convolutional networks in C
  6. Frameworks for deep learning: Keras and Caffe
  7. Frameworks for deep learning: Tensorflow
  8. Overview of the Apollo framework for Autonomous Driving
  9. Networks in Apollo: Perception Module
  10. Introduction to Adversarial Attacks and Defenses
  11. Explainable and Trustworthy AI for safety-critical systems
  12. Introduction to Transformers in Natural Language Processing
  13. Attention mechanisms in computer vision
  14. Implementing DNNs on GPUs platforms - Part I
  15. Implementing DNNs on GPUs platforms - Part II
  16. Accelerating DNNs on FPGA platforms
  17. Design and optimization of DNNs accelerators on FPGA


Suggested readings

Books Introductory readings For those who like to look into the future