Machine learning on graphs

A free, four part lecture course

Octavian is hosting an online course to introduce you to machine learning on graphs. This is an extended university course style presentation of our popular talk and article. Every two weeks will be a lecture, coursework assignment and group tutorial. We'll host an online student community so everyone can learn together.

We're currently accepting applications to our June-July pilot course

This will be the first time we run this course, so we're looking for enthusiastic students with strong prerequisites. Your feedback will help us refine the course and benefit future students.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.


  • Introduction to graphs in math and Neo4j. Cursory intro to TensorFlow and NN. Gradient descent collaborative filtering.
  • Different types of graph problems. Random walks and node embeddings. Using Node2Vec to solve community classification.
  • Node classification using graph convolutions. Graph Networks
  • Combining graph networks with extraction using attention


A list of resources to learn the pre-requisites is now online.

To get the most out of this course, it's important everyone has the same foundation. This is not an introduction to machine learning, we will the assume each student is familiar with the following:

  • What is a neural network, back-propagation, training of parameters
  • The machine learning lifecycle: data preparation, choosing metrics, iterative model development, monitoring training through loss and accuracy metrics
  • Building a model from scratch in TensorFlow and successfully training a feed-forward network and a convolutional network
  • Using TensorBoard to visualize the training of a model
  • A basic understanding of RNNs and Attention is helpful but not neccessary

Students are expected to be self-motivated, curious and enthusiastic about machine learning on graphs. You'll get the most out of this course by completing the (moderate time commitment) coursework, so make sure you have the free time and energy needed for that.


The course will have lectures every two weeks, for four lectures, taking a total of two months to complete.

Each two week cycle will begin with an interactive online lecture in a Google Hangout. This will be followed with a piece of coursework, provided as a template Google Colab notebook. A week after the lecture will be a tutorial session, where the students and tutor(s) will get together and discuss the coursework and what challenges students are having.