Thesis Writing Guidelines

Guidelines for Writing a Thesis in the “SARMATA” Group

Below are guidelines that will help you get productive and that let you know what is expected from you. They cannot be treated as non-binding suggestions but must be followed. Machine learning is great fun but competition is hard and to keep up, make progress and learn you have to invest considerable time and effort — this document reflects that and gives basic rules that will be conducive to this goal.

By spending a lot of time making your project work you will maximize your chances of getting significant results — in any case you will learn a lot. By attending and presenting in the group seminar you will learn to meaningfully present and discuss work. Both will be extremely valuable for your future work life.

General Expectations for Students

  • I expect 30 hours per week of work (as also indicated in the study regulations). It might be wise to work more, though. This concerns both master and bachelor students. Taking too many other obligations, e.g. coursework, is strongly discouraged. Any obligation might not decrease your commitment to your thesis. ML is a work-intensive research area. Making something work requires a lot of time and effort, even if everything looks straightforward. Expect many failed approaches and dead-ends from which you have to recover.
  • I very strongly urge you to start coding from day one of your master thesis. Download relevant GitHub repos, make the code run, reproduce results, get simple baselines running, etc. You should have early results with simple baselines as soon as possible. You will subsequently improve them and implement your own ideas. Obtaining empirical results only at the end of your project will, with large probability, not lead to any results!
  • PhDs in the group are there to be in contact with you and help you. Reach out to them and be persistent in that. Do not waste their time however! They are not for babysitting you through your thesis.
  • My supervision is for discussing ideas, general coding questions, literature, architecture and experiments. I am also interested in seeing code whenever interesting and crucial.
  • I will not help in debugging, installing packages etc. For this you can use StackOverflow, GitHub Copilot or any other means.
  • You are expected to find relevant literature yourself as well. I will give some literature recommendations but typically there is more out there that I might not know.

Interaction

  • I am available via Discord, my account name is sarmacki_nacjonalista.
  • There is a group server where information about seminar presentations are posted. Write to me for an invitation on the server. If your presentation is due, post the title and abstract of your talk, a link to the paper (when applicable) and other materials you have prepared, e.g. your own presentation.
  • I require meetings at least every second week with bachelor and master students. Meetings need not be long, if there is no need. In case something must be discussed in greater detail, I expect structured discussions including, when applicable, a list of questions and/or ideas and things that have been done. Presentation of intermediate results need to be visualized and include, depending on whether applicable, convergence and loss curves, TensorBoard logs, qualitative visualizations, tables with timings and quantitative evaluations.
  • The main questions/problems/potential solutions discussed in meetings must be protocolled. I use and recommend shared notes in the Notes app on Mac and Apple phones for these protocols.
  • Be completely honest in what does not work.

Group Seminar

  • My group meets every week for an internal seminar to present and discuss interesting works and own research. Bachelor and master students can join in, especially when something related to their project is presented.
  • Every master student typically has to:
    1. Present the project idea at the start of the thesis together with related work,
    2. Present intermediate results,
    3. Present the final thesis and results,
    4. Additionally present once a generally interesting ML work that can, but does not necessarily need to, be related to the own project.
  • Every bachelor student has to:
    1. Present the final thesis and results.
  • During the presentations mentioned above we will probe and criticise your work and see whether we can find weak spots. This does not mean your work is bad — it means we want to help you make it better. Reversely, you are free to criticise other people’s work!
  • Every presentation is supposed to be 20 minutes long, with 10 minutes of additional discussion.
  • I expect interaction during presentation and discussions also from bachelor and master students. Very simple and basic questions regarding understanding are perfectly fine, there are almost no dumb questions. Of course also in-depth questions are heavily appreciated.
  • During the seminar everybody focuses on the presentation and actively participates. No work and similar is performed on laptops, with the exception of looking up papers etc., which is allowed.

Presentation Guidelines

  • General requirement: Presentations must not be boring.
  • Rather than to present a set of polished slides, focus on answering 3 questions:
    1. Why is this topic of interest to us, resp. a broader audience in ML.
    2. What makes this paper/approach unique in comparison to related/SOTA work — why are you excited about this approach.
    3. What are the take-home messages from this paper/topic/approach that everyone should remember after the seminar.
  • Aim for distillation, i.e. get what is most interesting (and only that) out of the paper/approach. Therefore, when addressing the above points:
    1. Distill the main idea(s) of the work and explain only those and discuss whether they really were the ones that made the approach work.
    2. Show for an experimental paper the important results only, not large tables with 10 other SOTA methods.
    3. Make a radical selection and convey what (you think) is really interesting about the paper.
  • Manage your preparation time: Put most preparation effort into preparing the topic — the actual slides do not need to be polished. Extreme example 1: You could use a 5 min video from the authors to explain the work, if it addresses the points made above well. Extreme example 2: You could use the PDF of the paper during the presentation and annotate it and draw additional illustrations. No slides are done at all. In any case, it is crucial that you can explain the paper well and that you do not bore the audience.
  • Exception: The concluding bachelor and master thesis seminar presentation must be a polished slides presentation.

Requirements

  • Bachelor students: Introduction to Deep Learning, Machine Learning.
  • Master students: Deep Learning, from summer semester 2025 onwards Advanced Deep Learning.
  • If you are interested in working in the intersection of machine learning and optimization, a background in optimization will also be good, e.g. linear programming, convex optimization, combinatorial optimization or similar.

In some circumstances these requirements can be relaxed, for example when you are currently enrolled in these courses or when you have done equivalent ones at some other place.

Contacting

If you are interested in writing a thesis and have read this document, please contact me with the following information:

  • Which topics you are interested in,
  • A transcript of courses you have taken at HHU and, if applicable, other institutions, and
  • Any other relevant information that might be of interest, e.g. your GitHub account if you have one, ML projects that you have done, internships etc.

Grading

  • Before beginning your bachelor/master thesis we will discuss what needs to be done to obtain a specific grade.
  • The default grade is 2.0. To achieve it we will define a baseline that needs to be reached.
  • If more is done, better performance is obtained or otherwise you exceed the baseline in a significant manner the grade will be higher. Vice versa if something is lacking.
  • If we need to revise the baseline expectations due to unforeseen circumstances etc. we can do so, but only in absolutely justified cases.

Failure (or not?)

  • Sometimes ideas do not work out. If the failure is not due to bugs, insufficient effort, not anticipating issues, insufficient analytics but due to the idea not working out, I will not give any malus to the work but consider your effort valid research. Valid negative results are valuable as well!
  • Plus points are given for exceptionally good writing, experimental results, conceptual ideas etc.
  • In fact, if your work contains replicating a previous work but you can show that the original approach could not have worked as advertised I would consider your work very good.

Writing

  • Download the thesis template (LaTeX, based on the CVPR 2022 template) and the HHU logo referenced in it.
  • The goal of the write-up is to describe your work so that a general DL practitioner will be able to reproduce what you did from reading your thesis.
  • No overly general and superfluous text is needed (e.g. background on neural networks etc.), the write-up need not be unnecessarily long.
  • Please follow the guidelines (as far as applicable) from Bill Freeman, Matias Valdenegro, Donald Knuth and Jonathan Shewchuk.