Hi everyone! Welcome to "AP3751 AI for Physicists". This website will be nominal source of the lecture material and course updates. If you are taking the course for the grade, please sign up in Brightspace as well.
Please bring your laptop to the lectures and to the exercise classes.
You will be graded based on two things:
1. Homework (40% of your grade). There are THREE DEADLINES during the course of the quarter for handing in the homework: May 9, May 23, June 6.
2. Team project (60% of your grade). You will work on quarter-long creative project. The choices of projects and supervisors are listed below - you are required to sign-up as a group by May 1. You will hand in a (well documented) project GitHub repository and make a short team presentation of your project where you will both explain your solution and also showcase your code. After the presentation, anyone from the team can be ask any questions about any aspect of your code or your presentation. You will be graded as a team.
The presentation dates: June 12 and June 27.
Course schedule:
(Exercises and slides will appear as the course progresses)
WEEK 1
Lecture (April 23): ML for Physics: Why and How? (by Eliska)
Pre-read material:
If you never heard about Ising Model, start by watching this.
Pedagogical lecture about Ising Model and Phase Transitions by Leonard Susskind.
Cool Python-based explanation of how you get the dataset we'll be using in this course.
Lecture Slides (PDF)
very low key lecture recording
Passcode: 7I*0QYj0
Blackboard calculation: page 1, page 2
Exercise class (April 24): Pytorch Hands-On Introduction (by QMAI)
Pre-read material:
INTRODUCTION TO USING GITLAB (slides)
INTRODUCTION TO USING GITLAB (video)
In the first exercise class we will go over these PyTorch tutorials:
0. Quickstart
1. Tensors
2. Datasets
3. Transforms
4. Models
5. Computing gradients
6. Optimization
7. Saving & Loading
You are free to work in Google Collab or download the notebooks and run them locally.
Extra content for the exercise: CLASSES vs FUNCTIONS in Python
Notebook: Functions and Classes
Slides: Functions and Classes PDF
WEEK 2
Lecture (April 30): Spin Physics with Feed-Forward Neural Networks (by Eliska)
very low key lecture recording
Passcode: PzF5Cb.2
Exercise class (May 1): Solving Ising Model with Machine Learning (by QMAI)
Exercise notebook here
Note: If you get problems/errors with 'device' setting running this notebook locally, feel free to just remove it. You need to outcomment the cell where `device` is defined and then, change: `model = NeuralNetwork().to(device)` to `model = NeuralNetwork()` and analogously with other class instances and variables where it is used.
WEEK 3
Lecture (May 7): Spin Physics with Convolutional Neural Networks (by Eliska)
Lecture Slides (subject to change - final version coming)
Exercise (May 8): Hands-On: Spin Physics with Convolutional Neural Networks (by QMAI & Tao group)
Exercise notebook here (subject to change - final version coming)
Extra Exercise Notebook: More Convolutions
WEEK 4:
Lecture (May 14): Introduction to Interpretability of Neural Networks (by Anna)
Lecture Slides (TBA)
Exercise (May 15): Hands-On: Interpretability of Neural Networks (by Dawid group)
Exercise Notebook (TBA)
WEEK 5:
Lecture (May 21): Autoencoding Networks (by Qian)
Lecture Slides (TBA)
Exercise (May 22): Autoencoders Hands-On (by Tao group)
Exercise Notebook: Autoencoders
WEEK 6:
Lecture (May 28): Generative Models (by Qian)
Lecture Class (TBA)
NO EXERCISE CLASS THIS WEEK (NL holiday)
WEEK 7:
Lecture (June 4): Selected Clustering Topics and Recap (by Qian)
Exercise (June 5): Clustering (by Tao group)
Exercise Notebook
HOMEWORK (40% of your grade):
The link to the homework is HERE (GITLAB LINK COMING).
Homework has three deadlines: May 9, May 23, June 6. The deadline for each exercise is specified in the title of each exercise. After each deadline, we will grade your latest pre-deadline commit.
Note: While during the course we are sometimes working in Google Collaboratory, TU Delft does not allow to use it for summative feedback. For this reason we will ask you to submit your homework solutions as a GitLab repository. See pre-read for Exercise Week 1 to refresh your GitLab knowledge.
Hand-in repo:
1. Log in to gitlab.tudeft.nl with your uni account
2. Request access to this group https://gitlab.tudelft.nl/ap3751-homework-2025
3. Click 'Create new project' name it 'ap3751-2025-YOURFAMILYNAME'
TEAM PROJECTS (60% of your grade)
These projects are exploratory creative ideas that came from our team members. We give each team a supervisor and one-page project pitch. We want you to manage your own project, explore literature, test ideas and formulate your conclusions. Do no hesitate to be creative and expand on the bounds of the original project.
PROJECT 1: Machine Learning Metal-Mott Transition in 2D Hubbard Model (with Aram Shojaei: A.Shojaei@tudelft.nl)
PROJECT 2: Latent Representations of Galaxies with Variational Autoencoders (with David Vallmanya Poch: D.V.P.VallmanyaPoch@tudelft.nl)
PROJECT 3: Neural network wave functions for detecting phase transitions (with Tom Spriggs: T.E.Spriggs@tudelft.nl)
PROJECT 4: Automated Tuning of Quantum Dot Processor (with Vini Hernandes: V.Hernandes@tudelft.nl)
PROJECT 5: Hamiltonian Neural Networks and Chaos (with Ana Silva: A.C.OliveiraSilva@tudelft.nl)
PROJECT 6: Reduce Medical Data Dimensionality with Deep Learning (with Mikolaj Stryja: m.a.stryja@tudelft.nl)
PROJECT 7: Classification of Gravitational Wave Detector Glitches (with Valentina Gualtieri: V.Gualtieri@tudelft.nl)
PROJECT 8: What Makes a Good Image Embedding (with Yi Zhang: Y.Zhang-43@tudelft.nl)
PROJECT 9: Explainable Image Classification (with Yi Zhang: Y.Zhang-43@tudelft.nl)
PROJECT 10: Fast MRI Imaging (with Yidong Zhao: Y.Zhao-8@tudelft.nl)
PROJECT 11: Machine learning image segmentation (with Yidong Zhao: Y.Zhao-8@tudelft.nl)
PROJECT 12: Learning quantum dots from latent space (with Rouven Koch: R.K.Koch@tudelft.nl)
PROJECT 13: Visualizing Energy Landscape of Neural Network Wavefunctions (with Vini Hernandes: V.Hernandes@tudelft.nl)
PROJECT 14: Particle Swarm Optimization for Diamond Photonics (with Alessio Miranda: A.M.D.Miranda@tudelft.nl)
PROJECT 15: Genetic algorithms for Diamond Photonics (with Alessio Miranda: A.M.D.Miranda@tudelft.nl)
PROJECT 16: Equivariant Neural Networks for Medical Images (with Björn van Zwol: b.e.van.zwol@liacs.leidenuniv.nl)
PROJECT 17: Genetic Algorithms for Quantum Circuits (with Tom Spriggs: T.E.Spriggs@tudelft.nl)
You need to sign-up for the projects!
Go to this link and fill in your FULL TEAM's of up to five (5) people priorities.
Yellow: first priority
Grey: second priority
Purple: third priority
Deadline: Wednesday May 1, 18.00. We will publish the project assignment shortly after.
Hand-in repo:
1. Log in to gitlab.tudeft.nl with your uni account
2. Request access to THIS GROUP https://gitlab.tudelft.nl/ap3751-projects-2025
3. Click 'Create new project' name it 'ap3751-2025-YOURTEAMNAME'
PROJECT PRESENTATIONS will take place on June 12, and June 27. You can sign up your whole group here (LINK COMING).
Rules:
1. Pick the slot that suits your whole group best. We require that everyone who contributed to the project is present during the presentation. If there is a good reason, we will accept virtual presence as well.
2. You need to hand-in your code 24 hours before the presentation - you will do this by making sure that your repo is updated and sending an email to Qian and Eliska. Your repo should have all your code and be runnable. Write a detailed README explaining what every file does and how to use your code. Don’t forget the requirements file (examples below).
Examples of how well set-up repo looks like:
https://gitlab.com/QMAI/papers/quantumresourcesml
or
https://gitlab.com/QMAI/papers/qdsim
(obviously you will have less code and results since these are actual research papers from QMAI group).
3. Very importantly: your README needs to contain the section ‘Individual Contribution’ where you describe in specific detail each team member's contribution to the final project.
4. You will present for 20 minutes, this can be joint presentation or only one group member can present. However, we will ask the questions to the whole team. The question part will take about 10-15 minutes and we will ask you questions about both your code and the broader theory and reasoning behind your project. Since it’s only 15 minutes, the discussion will not be super deep, so the truly important thing is that you code is well-written and your repository well cleaned-up and runnable.