Admission requirements
Assumed prior knowledge
Elementary calculus and linear algebra; basics of probability theory and statistics; basics of machine learning. Fluency in Python; basic command of Linux.
Description
The course provides an introduction to key concepts, algorithms, and architectures for neural networks, with strong emphasis on Deep Learning and its applications. It covers the following topics:
Part One: Classical Neural Networks
Basics of Machine Learning and Pattern Recognition
Perceptron: Linear Separability, Convergence Theorem, Cover's Theorem
Multi-layer Perceptron and its expressive power
Algorithms for training MLPs: Stochastic Gradient Descent and its variants; Backpropagation
Alternative activation and loss functions; Initialization, Regularization, Dropout, Batch Normalization
Introduction to GPU-computing, Keras, TensorFlow
Part Two: DeepLearning
Convolutional Networks; key architectures and applications; Transfer Learning
Recurrent Neural Networks: Backpropagation through time, LSTM and GRU Networks
Attention mechanism and Transformers
Autoencoders
GAN Networks
Deep Learning for Reinforcement Learning
During the course several state-of-the-art applications of Deep Learning to image recognition, computer vision, language modeling, game playing programs, etc., will be discussed. The course consists of weekly lectures, three programming assignments (in Python, TensorFlow, Keras) and the final written exam.
Course objectives
The objective of this course are:
to provide a general introduction to the field of deep neural networks and their applications
to develop practical skills for designing and training neural networks for tasks like: image classification, object detection, localization, segmentation; forecasting, language processing; game playing
to master a popular system for developing deep networks: TensorFlow with Keras
Timetable
The most recent timetable can be found at the Computer Science (MSc) student website.
You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.
MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).
For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.
Mode of instruction
Lectures
Computer Labs
Practical Assignments (by teams of 2 or 3 students)
Course load
Total hours of study 6 EC course: 168 hrs.
Assessment method
The final grade will be the weighted average of grades for:
programming assignments (60%)
written exam (40%)
To pass the course, grades for both components should be at least 5.5.
The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.
Reading list
- Aurélien Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (Third Edition; expected to be published in October 2022; check on https://learning.oreilly.com/library/view/hands-on-machine-learning/9781098125967/)
Registration
From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.
Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.
Extensive FAQ's on MyStudymap can be found here.
Contact
Lecturer: dr. Wojtek Kowalczyk