AI for Physicists AP3751

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. We will have a lot of fun hand's on exercises ;).

You will be graded based on two things:
1. Homework (You have to complete on quarter-long homework. It will be released below. You will submit your solutions via GitHub.) Deadline: June 5
2. Team project (You will work on quarter-long creative project. The choices of projects and supervisors are listed below. 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.) The presentation date will be determined in the at the beginning of the course with the input from students.

Course schedule:
(Exercises and slides will appear as the course progresses)

WEEK 1

Lecture (April 24): ML for Physics: Why and How? (by Eliska)

Lecture slides
Blackboard calculation: page 1, page 2

Exercise class (April 25): Pytorch Hands-On Introduction (by QMAI)

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. 


WEEK 2

Lecture (May 1): Spin Physics with Feed-Forward Neural Networks (by Eliska)

Lecture Slides

Exercise class (May 2): Solving Ising Model with Machine Learning (by QMAI)

Exercise notebook here


WEEK 3

Lecture (May 8): Spin Physics with Convolutional Neural Networks (by Eliska)

Exercises class: NO EXERCISE THIS WEEK (NL holiday)

Lecture Slides


WEEK 4: 

Lecture (May 15): Convolutional Neural Networks: Advanced Topics (by Qian)

Lecture Slides

Exercise (May 16): Hands-On: Spin Physics with Convolutional Neural Networks (by QMAI)

Exercise notebook here

INTRODUCTION TO USING GITLAB


WEEK 5:

Lecture (May 22): Autoencoding Networks (by Qian)

Lecture Slides

Exercise (May 23): Autoencoders Hands-On (by Tao group)

Exercise Notebook: Autoencoders

Extra Exercise Notebook: More Convolutions


WEEK 6:

Lecture (May 29): Generative Adversarial Models (by Eliska)

Lecture Slides

Exercise (May 30): GANs in Quantum Physics (by QMAI)

Exercise Notebook


WEEK 7: 

Lecture (June 5):  Selected Clustering Topics and Recap (by Qian)

Exercise (June 6): Clustering, get a feedback on your independent project, Q&A (by everyone)

Exercise Notebook


HOMEWORK (40% of your grade):
The link to the homework is HERE. There is also a gitlab template repo in the ap3751-homework group named ap3751-HOMEWORK2024.

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. Based on the need and interest we will do a short git tutorial during one of the exercises classes and give you extra material that will help you set up your hand-in repo.

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)
3. Click 'Create new project' name it 'ap3751-2024-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: Quantum State as a Neural Network (with Arash Ahmadi)

PROJECT 2: Generative Adversarial Nets for Modeling Quantum Dots (with Vinicius Hernandes)

PROJECT 3: Genetic Algorithms for Quantum Circuits (with Thomas Spriggs)

PROJECT 4: Automated Tuning of Quantum Dot Processor (with Valentina Gualtieri)

PROJECT 5: Generating Chaotic Paths from a Neural Network (with Ana Silva)

PROJECT 6: Reduce Medical Data Dimensionality with Deep Learning (with Mikolaj Stryja)

PROJECT 7: Classification of Gravitational Wave Detector Glitches (with Valentina Gualtieri)

PROJECT 8: What Makes a Good Image Embedding (with Yi Zhang)

PROJECT 9: Explainable Image Classification (with Yi Zhang)

PROJECT 10: Fast MRI Imaging (with Yidong Zhao)

PROJECT 11: Machine learning image segmentation (with Yidong Zhao)


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)
3. Click 'Create new project' name it 'ap3751-2024-YOURTEAMNAME'

PROJECT PRESENTATIONS will take place on June 7, June 17, and June 27. You can sign up your whole group here.

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/autoMEA

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.


That’s it: put your whole team names in the sign-up sheet below. The preferred dates are June 17 and June 27. We put June 7 slots for those who need to leave TUD at the end of the semester - but picking this date significantly cuts into your deadline, so be aware of that.