Introduction to Machine Learning
Machine learning has gone through a revolution over the last decade: almost all cutting-edge systems now make use of deep learning.
This week focuses on the foundational concepts in machine learning you'll need to know to understand the rest of the course. If you’d like to learn about machine learning (ML) in more depth, see our 'resources' on this site. Those already adept with machine learning may be able to skip this week entirely, or review some of the basics if there's an area you're less familiar with.
This week is designed to give you a high-level outline of the fields of artificial intelligence and machine learning, and the techniques used to train ML models. We'll examine the crucial techniques behind deep learning (the leading approach to machine learning): neural networks, gradient descent, and backpropagation. We'll also look at the types of tasks which machine learning is used for: supervised learning, self-supervised learning, and reinforcement learning.
For those with little background ML knowledge, this week’s core readings will take roughly 45 mins longer than in other weeks and more math-intensive than in other weeks. We recommend spending the time to work through them all, to provide a solid foundation for the rest of the course.
Optional additional exercises: here, answers here. We'll also go through the first part of the exercises in the synchronous sessions (below).
You can also find Richard's Intro to ML talk from a previous round of this course here.
By the end of the session, you should be able to:
- Explain the taxonomy of Artificial intelligence, Machine learning and deep learning
- Be able to explain the following concepts to someone who's new to machine learning:
- Neural networks
- Gradient descent
- Backpropagation
- Be able to evaluate a model, and discuss whether it was trained via one or more of the following tasks:
- Supervised learning
- Unsupervised learning
- Reinforcement learning
- Understand broadly what transformers are, and how they're trained
Resources (~2 hr 45 min)
A short introduction to Machine Learning by Richard Ngo (2021)
Blog
Estimated time: 20 mins
Ngo provides a high-level framework for understanding how different topics in AI connect to each other, and the history of various AI paradigms.
But what is a neural network? by 3Blue1Brown (2017)
Video
Estimated time: 20 mins
This video, and the two following videos, provide more details and intuitions about neural networks and the optimization algorithms used to train them.
Use this video to understand the basic neural network architecture.
Gradient descent, how neural networks learn by 3Blue1Brown (2017)
Video
Estimated time: 20 mins
Use this video to understand how gradient descent, the method by which neural networks are optimised, works.
What is backpropagation really doing? by 3Blue1Brown (2021)
Video
Estimated time: 15 mins
This third video in the 3Blue1Brown series covers backpropagation, the technique used to implement gradient descent for neural networks.
Machine Learning for Humans, Part 2.1 by Vishi Maini (2017)
Blog
Estimated time: 15 mins
Read Part 2.1: Supervised Learning.
This accessible reading explains supervised learning, the core task for which ML techniques are typically used.
What is self-supervised learning? by CodeBasics (2021)
Video
Estimated time: 5 mins
This reading covers the next-most-prominent ML task: self-supervised learning.
These methods are relevant as they are used to train language models, which will feature heavily in the course as some of the most general models that we have today.
Introduction to reinforcement learning by Hado van Hasselt (2021)
Video
Estimated time: 60 mins
Watch from 2:00 to 1:02:10, ending at the beginning of the section titled Inside the Agent: Models.
This video introduces the third main type of task in machine learning: reinforcement learning, which has been used to train networks to play a wide range of games at superhuman levels.
Reinforcement learning will be a key focus in the course, as it's often thought of as a method that may be used to give AI systems goals that we humans want to achieve.
Video