COMP150: Deep Graph Learning

General information

Overview

Graph and network data are ubiquitous and often large in scale. Graph data are generally characterized by graph structures and information attached to graph nodes or edges. Machine learning is an important approach to automated information extraction from graph data. However, graph data need special model designs, as most learning models (e.g. neural networks) only accept vectors as the input. Models for graph data generally fall into two categories: 1) models that learn vector representations of graph data, and 2) models that take graphs as the input.

In this course, we will start with an introduction to graph theory, linear algebra, and machine learning, then we will cover the following topics in depth:

  1. Learning problems on graphs
  2. Graph neural networks and node representations
  3. Pooling methods and graph classification
  4. The power and limitation of graph neural networks
  5. GNN architectures
  6. A extensive study of pooling methods
  7. Learning from attributed graphs
  8. Scale graph neural networks to large graphs
  9. Unsupervised learning on graphs
  10. Graph generative models
  11. Solve hard graph problems using graph neural networks
  12. Applications (chemistry, knowledge graph, etc..)

The coursework consists of 2 projects and a final project.

Objectives

After this course, a successful student should acquire the following abilities when solving a learning problem involving graph data:

  1. identifying the type of learning problem (e.g. node classification or graph classification; what target to fit)
  2. choosing the appropriate type of learning models (e.g. preparing correct inputs and fitting targets to the model)
  3. training related learning models with existing packages to solve the problem

Course Work and Grading Policy

Prerequisites:

Academic Integrity Policy:

On assignments: you must work out the details of each solution and code/write it out on your own. You may verbally discuss the problems and general ideas about their solutions with other students, but you CANNOT show and copy written or typed solutions from others. You may consult other textbooks or existing content on the web, but you CANNOT ask for answers through any question-answering websites like (but not limited to) Quora, StackOverflow, etc.. If you see some material having the same problem and providing a solution, you CANNOT check or copy the solution provided.

On the final project: each team needs to work out the project on its own. The team members should try their best to balance the work among team members. If any code is from a third party, the code needs to be wrapped in a function or package and labeled as third-party.

This course will strictly follow the Academic Integrity Policy of Tufts University. For any issues not covered above, please refer to the Academic Integrity Policy at Tufts.

Accessibility:

Tufts and the instructor of CS 150-2 in 2023 Spring strive to create a learning environment that is welcoming to students of all backgrounds. Please see the detailed accessibility policy at Tufts.