Course Overview
This course was designed to get you up to speed with Graph Neural Networks so that you can both understand seminal papers in the field and implement GNNs using modern software tools. If you're wanting to understand models like Graph Convolutional Networks and Graph Attention Networks (i.e., "deep learning on graphs"), this course will help you get there. It was constructed to balance two types of learning:
- Theory, to familiarize you with the foundational topics quickly and efficiently (i.e., not more complicated than it needs to be)
- Practice, to walk you thru Hands-On examples that span the major applications of Node Classification, Link Prediction and Graph Classification and discuss practical engineering problems.
The Theory section consists of videos, quizzes and a curated set of references designed to efficiently teach you the core mathematical concepts that underpin the foundations of GNNs.
The Hands-on section consists of three GNN modeling exercises that get you practice writing GNN code and using common academic benchmarks. Additionally, there are screencasts that walk you through the solutions and an additional set of lecture-style videos that frame the ML tasks and discuss the more practical problems of building GNNs, like scalability and over-smoothing.
Students will also have access to a private chat room for asking questions and interacting with other students and the instructor.
Curriculum
Frequently Asked Questions
What are the pre-requisites?
At a high level, you should understand the basics of machine learning (ML), and ML with neural networks in particular. If you don't know what back-propagation is yet, then this course is not for you.
The Theory section mostly relies on Linear Algebra, and develops the other concepts from scratch. To understand everything in the Theory section, you'll need to have seen Fourier Transforms before, which likely means a background in calculus.
For the coding exercises, we use Deep Graph Library (DGL) and PyTorch. No background with DGL is required before the course. Having some familiarity with PyTorch is beneficial, but not strictly required. The exercises are designed so that only GNN-relevant code needs to be written.
How long does the course take?
The "Theory" content is about 3 hours of lectures, but covers a lot of ground. I would suggest spacing it over a couple weeks, but the pace is up to you.
The Hands-On section has traditionally been run in 6-week cohorts, where 2 weeks was spent on each of the 3 sub-sections (Node Classification, Link Prediction and Graph Classification). For each section, the first week was spent on coding up the exercise, and the second on verifying the solution against the published answer. Each coding exercise takes a couple hours to complete, but potentially several hours to run the model training a large number of times to get performance statistics. You can adjust both your pace and the number of experiments you run to fit your time schedule.
What if I need more support?
If you need more direct support from the instructor, there are coaching packages available for purchase.
Can I get a refund if I'm unhappy with my purchase?
All purchases have a 30-day money back guarantee.
GNNs as the "Next Big Thing"
The topic of Graph Representation Learning has been exploding in popularity, but it's still relatively early days. Between 10-20% of all papers published at top conferences were on the topic of ML on graphs. Despite this popularity in the research community, these methods are just beginning to gain traction in industry as the toolsets mature (e.g., DeepMind with Travel time estimation in Google Maps). For those looking to be at the bleeding edge, this is a wonderful time to jump in.
Hi, I'm Zak
I am an Applied Scientist in FAANG that specializes in building systems supporting GNNs in industry. I also run the WelcomeAIOverlords YouTube channel, a Discord community and blog. This course uses the same approach of explaining things simply, but will go much deeper into the theory and applications of GNNs.