Welcome to the 2024 edition of Selected Machine Learning problems (Wybrane zagadnienia uczenia maszynowego) class!
In the class, you will familiarize yourselves with a variety of ML problems and interesting research directions, some more mainstream than the others.
- Lectures are on Wednesdays, on 2.15 PM, in room 1086.
- Laboratories are on Tuesdays, on 2:15 PM, in room 0016.
Unless it is decided otherwise, the classes will be held in-person.
- 27.02 - Course logistics, Machine Learning and PyTorch recap
- 5.03 - Classification uncertainty, model calibration, early exit networks
- 12.03 - No class
- 19.03 - Self-Supervised Learning
- 26.03 - Project consultations - please have ideas for projects by then
- 2.04 - Easter break (no class)
- 9.04 - First project presentations - part 1
- 16.04 - First project presentations - part 2
- 23.04 - TBA
We assume that the participants have already learned the basics of Machine Learning, e.g. by completing the GMUM Machine Learning course. In the course, we will program in Python 3 and write ML-related code in PyTorch, to you need to be familiar with those, as well.
The grade will be based on:
- (50 %) completing the lab exercises
- (50 %) the final project
Moreover, if your grade from the labs is 90% or higher, you won't have to take the final exam from the lecture.
Attendance is compulsory, with up to 3 missed classes.
Each lab is graded based on a lab assignment, which should be completed and submitted up to 2 weeks after the lab. Some assignments may be longer or cover more than one topic from the lecture - in such cases, the deadline can be extended. Lab assignment will usually consist of submitting a completed Jupyter Notebook.
You can receive at most 2 points for an assignment, and they can be deducted for incorrect / incomplete / late submissions. Extra points will be awarded for being active (speaking up) during the class.
- the notebook should be executed, i.e. contain all outputs of you running the code, plots etc.
- other than solving the assignments, please avoid modifying other parts of the notebooks
- if you've ran into a bug or error in the code that you don't understand, please leave it (and the traceback) in the notebook.
- debug printouts are good in moderation - please avoid bloating the notebooks with 10 000 prints of the loss value :)
In addition, you should complete a research project. The topic should be related to the topics covered in class and may be one of:
- your own idea related to any of the topics from class
- collaboration in GMUM research projects (gmum.net/projects)
- reproducibility challenge: find a research paper which interests you and either re-implement its experiments and / or perform new ones by expanding the existing code.
You should select and consult the topic in the first half of the semester. The projects may be completed either independently, or in teams up to 2 people. Group projects should have a proportionally larger scope and each participant will be graded individually based on their contributions.
The projects will be graded based on two presentations given in class:
- mid-semester - project outline, description and goals
- end of the semester - project results
- Grades spreadsheet
- Anonymous feedback form
- Project topics and presentations guidelines
- Course in USOS
In class, we will code in Python 3 and use ML frameworks such as PyTorch. You will need a GPU. The labs will be prepared in the form of Jupyter Notebooks runnable on Google Colab, which provides free GPUs for a limited time.
For users working on their personal machines, we recommend Anaconda for managing your Python environment and packages.