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
- Introduction to neural computing
- Hopfield networks
- Unsupervised learning: PCA
- Unsupervised learning: Kohonen networks
- Culstering algorithms
- Reinforcement learning
- Supervised learning - part 1
- Supervised learning - part 2
- Radial Basis Function Networks
- Towards Deep Neural Networks (DNNs)
- Autoencoders
- Convolutional Neural Networks
- DNNs for object classification
- DNNs for object detection
- DNNs for image segmentation
- Recurrent Neural Networks
- Word embeddings and attention mechanism
- Sample applications and possible projects
Part II: Advanced Topics
- Deep Reinforcement Learning
- Model compression
- Generative Adversarial Networks (GANs)
- Semi-supervised learning
- Contrastive learning
- Towards trustworthy AI
- Diffusion models (Dall-E)
- Adversarial attacks and defenses
- Certifiable adversarial robustness
- Real-world adversarial examples
- Anomaly detection and out-of-distribution generalization
- Explainable AI
- Transformers for language processing
- Transformers for computer vision
- Neural networks for real-time tracking
Part III: Implementation Issues
- Implementing neural networks in C
- Implementing Reinforcement Learning in C
- Implementing Backpropagation in C
- Frameworks for deep learning
- PyTorch and TensorFlow
- Functional components in autonomous driving
- The Apollo framework for Autonomous Driving
- Simulation environments for neural control
- Visual tracking with drones
- DNN optimization for embedded platforms
- Accelerating deep networks on GPGPUs
- GPU-based real-time neural vision
- Implementing DNNs on GPUs: Advanced Topics
- Accelerating deep networks on FPGA
- Design and optimization of DNNs accelerators on FPGA
Projects
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