Practical Course: Expert-Level Deep Learning (10 ECTS)
Summer Semester 2024, TU Munich
Please send applications (including learning goals, programming skills description, code, all grade transcripts (small PDF file size) - see preliminary-meeting slides) to dlpractice[at]vision.in.tum.de
Organizers: Dr. Vladimir Golkov, Qadeer Khan, Prof. Dr. Daniel Cremers
Preliminary meeting (attendance not obligatory): 28 June 2024, 3pm online: https://bbb.in.tum.de/vla-493-ke7
Slides from an earlier semester's preliminary meeting are available here.
Sending an email to dlpractice[at]vision.in.tum.de with sufficient info about yourself (learning goals, programming skills description, code, all grade transcripts (small file size)) until 16 July (ideally earlier) is crucial for matching success. Details about the matching system can be found here and here.
If you ask for a spot after the matching phase, but do not hear from us soon, it means that we cannot offer you a spot.
Content
In this course, we will develop deep learning algorithms for concrete applications in the field of computer vision, biomedicine, and/or other fields (depending on the specific offered project you choose). The main purpose of this course is to gain practical experience with deep learning, and to learn when, why and how to apply it to concrete, relevant problems. The topics will include:
- Machine learning, deep learning
- Standard and advanced neural network architectures
- Tasks beyond supervised learning
- Design of architectures, choice of loss functions, tuning of hyperparameters.
The projects will be geared towards developing novel solutions for real open problems. Projects with various interesting problems and data representations will be offered.
If you want to propose an own project instead of choosing from the projects that we will offer, please discuss with us before 16 July. Use the email subject "PROJECT PROPOSAL" and the aforementioned email address.
Prerequisites
Good programming skills. Eagerness to acquire and deepen knowledge about how to solve complex problems with machine learning. Passion for mathematics. The course will be focused on practical projects, thus previous knowledge of Python and array programming in NumPy (or in Matlab or similar) is desired. Having also good soft skills (or the willingness to acquire them quickly) and using them is a prerequisite.
Knowledge of deep learning is recommended/required. Knowledge of biomedicine is NOT required and can be acquired during this practical course. However, the requirements listed above (e.g. good programming skills, soft skills) are mandatory.
Important soft skills include communication skills, the ability to identify what is unclear, to figure out what questions need to be asked to clarify it, to formulate the questions clearly, and to ask the tutor without hesitation. The ability to communicate strategically is an important prerequisite of the practical course.
Course Structure
The students will work individually and in groups on practical deep learning projects. At the end of the project, each student or group will present their project with a following Q&A session. There will be no additional written or oral exam. Both the theoretical and practical part of the project will be considered in the final grading.
Note: ECTS credits are the measure of workload. So-called semester weekly hours (Semesterwochenstunden, SWS) are NOT a measure of project work time, but merely of classroom time. You will receive remote access to GPUs and are free to work remotely.
Introductory Lectures
The students will receive recordings of introductory lectures as early as they want.
Lecture 1: Machine Learning; Artificial Neural Networks; Convolutional Neural Networks; Q&A about Deep Learning
Lecture 2: Recap; Network Architecture Design; Q&A about Deep Learning
Lecture 3: Recap; Network Training; Understanding and Visualizing; Evaluating; Q&A about Deep Learning
Literature
- Christopher M. Bishop. "Pattern Recognition and Machine Learning", Springer, 2006 (Skim the Chapters 1, 2, 5.)
- Good current papers