Neural Networks and Deep Learning
IMPORTANT NOTICE:
This course will start on January 7, 2025, 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 (20 hours) focuses on the theoretical foundations of neural networks.
- The second module (20 hours) focuses on deep neural networks.
- The third module (20 hours) covers more advanced topics and recent research trends.
- 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: backpropagation
- Supervised learning: important remarks
- Supervised learning: performance metrics
- Radial Basis Function Networks
Part II: Deep Learning
- Towards Deep Neural Networks (DNNs)
- Autoencoders
- Convolutional Neural Networks
- CNNs for object classification
- CNNs for object detection
- CNNs for image segmentation
- Deep reinforcement learning - part 1
- Deep reinforcement learning - part 2
- Recurrent Neural Networks
- Word embeddings and attention mechanism
- Generative Adversarial Networks (GANs)
- Transformers
Part III: Advanced Topics
- Model compression
- Semi-supervised learning
- Contrastive learning
- Neural networks for real-time tracking
- Towards trustworthy AI
- Adversarial attacks and defenses
- Real-world adversarial attacks
- Explainable and interpretable AI
- Anomaly detection and out-of-distribution generalization
- Domain generalization and domain adaptation
- Attention mechanisms in computer vision
Part IV: Implementation Issues
- Implementing neural networks in C
- Programming frameworks for deep learning
- Modeling DNNs in Tensorflow and PyTorch
- Functional components in autonomous driving
- The Apollo framework for autonomous driving
- Simulators for autonomous driving
- 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