Neural Networks and Deep Learning


IMPORTANT NOTICE:
This course will start on January 9, 2024, 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 attend the lectures and receive notifications about any change on course lectures, please register in this file by December 30th.


This course includes three modules of 3 CFUs each: the first module focuses on the theoretical foundations of neural networks and deep learning; the second module covers more advanced topics and recent research trends; the third module covers practical and implementation issues.

Course Program


Part I: Theoretical Foundations

  1. Introduction to neural computing
  2. Hopfield networks
  3. Unsupervised learning: PCA
  4. Unsupervised learning: Kohonen networks
  5. Culstering algorithms
  6. Reinforcement learning
  7. Supervised learning - part 1
  8. Supervised learning - part 2
  9. Radial Basis Function Networks
  10. Towards Deep Neural Networks (DNNs)
  11. Autoencoders
  12. Convolutional Neural Networks
  13. DNNs for object classification
  14. DNNs for object detection
  15. DNNs for image segmentation
  16. Recurrent Neural Networks
  17. Word embeddings and attention mechanism
  18. Sample applications and possible projects

Part II: Advanced Topics

  1. Deep Reinforcement Learning
  2. Model compression
  3. Generative Adversarial Networks (GANs)
  4. Semi-supervised learning
  5. Contrastive learning
  6. Towards trustworthy AI
  7. Diffusion models (Dall-E)
  8. Adversarial attacks and defenses
  9. Certifiable adversarial robustness
  10. Real-world adversarial examples
  11. Anomaly detection and out-of-distribution generalization
  12. Explainable AI
  13. Transformers for language processing
  14. Transformers for computer vision
  15. Neural networks for real-time tracking

Part III: Implementation Issues

  1. Implementing neural networks in C
  2. Implementing Reinforcement Learning in C
  3. Implementing Backpropagation in C
  4. Frameworks for deep learning
  5. PyTorch and TensorFlow
  6. Functional components in autonomous driving
  7. The Apollo framework for Autonomous Driving
  8. Simulation environments for neural control
  9. Visual tracking with drones
  10. DNN optimization for embedded platforms
  11. Accelerating deep networks on GPGPUs
  12. GPU-based real-time neural vision
  13. Implementing DNNs on GPUs: Advanced Topics
  14. Accelerating deep networks on FPGA
  15. Design and optimization of DNNs accelerators on FPGA

Projects


Suggested readings

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