The course will provide an overview of fundamental concepts and algorithms in machine learning. Mathematical and coding exercises will be provided to deepen understanding of these concepts and algorithms.
Material
- Introduction to machine learning and its applications
- Supervised learning: linear and nonlinear regression
- Supervised learning: logistic regression and multi-class classification
- Introduction to neural networks
- Multi layer perceptrons (MLPs)
- Activation functions
- Feedforward neural networks and backpropagation
- Introduction to convolutional neural networks for computer vision
- Image representations
- Convolutional operators and kernels, max pooling, dense layers, depth vs width
- Dimension calculations and parameter count
- Popular datasets and model zoos
- Transfer learning
- Adversarial attacks and Safety
- Large Languauge Models
- Tokenization
- Pretraining, supervised finetuning, and RLHF
- Decoder only models
- Conclusions and a project
Instructor
- Dr. Adel Bibi (Email: bibiadel93@gmail.com (preferred), adel.bibi@eng.ox.ac.uk)
Tutorial
- Tutor: James Oldfield (Email: jamesalexanderoldfield@gmail.com)
Notes
-
NOTE 1: We will go through the following content in 4 days. We will use [google colab] as a platform for exercises.
-
NOTE 2: for each colab file below, with a preappended title
Exercise:
, you should make a copy in your own google drive to edit & run. -
NOTE 3: The coffee break over the four days will always be from 10:30AM to 11:00AM.
Background Review
-
Colab/Markdown/latex intro [env intro]
-
Coding exercise: Python Basics [Exercise: Numbers] [Exercise: Strings] [Exercise: Lists] [Exercise: Dictionaries] [Exercise: Tuples] [Exercise: IF,FOR, and While] [Exercise: Numpy]
-
For background review on linear algebra and probability, read the following course
Lectures
Day 1: August 4th, 2025
- Lecture #1 (part 1): AI and Machine Learning Applications
- Lecture #1 (part 2): Regression
- Excercise #1: Regression, Solutions
Day 2: August 5th, 2025
- Lecture #2: Logistic regression
- Exercise #2: Logistic regression, Solutions
Day 3: August 6th, 2025
- Lecture #3: Neural Networks
- Exercise #3: Neural Networks, [Solutions]
Day 4: August 7th, 2025
- Lecture #4: Convolutional Neural Networks (1)
- Exercise #4: Training a ConvNetwork, [Solutions]
Day 5: August 12th, 2025
- Lecture #5: Convolutional Neural Networks (2)
- Exercise #5: Transfer learning
- Exercise #6: Adversarial attacks
Day 6: August 13th, 2025
- Lecture #6: Large Language Models (part 1)
- Exercise #7: Tokenization, [Solutions]
Day 7: August 14th, 2025
- Lecture #7: Large Language Models (part 2)
- Exercise #8: Two Head Transformer, [Solutions]
Day 8: August 15th, 2025
- Lecture #8: AI Safety
Project (Submission Deadline is August 24th anywhere on earth)
-
Class Project Training LLMs
- Notebook requirements:
- Ensure the entire notebook is run, and all results are displayed before submission.
- Rename the file:
- Change the notebook file name to include your first and last names.
- Example: If your name is John Smith, rename the file to
Project_John_Smith.ipynb
.
- Evaluation:
- If you implement only the TODOs, you will definitely pass the class. However, your final grade will be based on the final loss function in the last cell of your notebook.
- Note: Solutions to the multi-head attention (exercise 8) are available. You can use those as a baseline. However, to achieve a lower loss function, you will likely need to implement more heads and additional layers.
- Download your submission:
- Go to File > Download > Download .ipynb.
- Submit via email:
- Send the downloaded
.ipynb
file to jamesalexanderoldfield@gmail.com. - Use the following email subject format:
OxfordAI_Project_FirstName_LastName
. - Example: If your name is John Smith, the email subject should be
OxfordAI_Project_John_Smith
.
- Send the downloaded