COMP150: Deep Graph Learning
General information
- Instructor: Liping Liu
- TA: Xu Han
- Class times and location: 3:00 - 4:15 PM @ Tisch Library Room 316
- Office hours:
- Liping Liu: Tu 1-2pm, F 11-12pm at JCC 367 or via zoom (ID: 977 0241 5075, passcode: 177155)
- Xu Han: TBD
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:
- Learning problems on graphs
- Graph neural networks and node representations
- Pooling methods and graph classification
- The power and limitation of graph neural networks
- GNN architectures
- A extensive study of pooling methods
- Learning from attributed graphs
- Scale graph neural networks to large graphs
- Unsupervised learning on graphs
- Graph generative models
- Solve hard graph problems using graph neural networks
- 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:
- identifying the type of learning problem (e.g. node classification or graph classification; what target to fit)
- choosing the appropriate type of learning models (e.g. preparing correct inputs and fitting targets to the model)
- training related learning models with existing packages to solve the problem
Course Work and Grading Policy
-
In-class quizzes (5%): there are at least three online quizzes. The purposes are to check your reading and collect feedback.
- Participation (10%):
- Participate in class discussion (8%): the instructor will take notes on students’ questions and monitor class discussions.
- Participate in piazza discussion (2%): answering one question earns 1%, and the top 5 answering most questions earn another 1%.
- Assignments (35%):
- Assignment 1 (10%): setting up the programming environment; implementing a node classification algorithm
- Assignment 2 (15%): implementing a graph classification algorithm
- Final project (50%):
- Project proposal (10%): Students are encouraged to form teams to work on a problem as the final project. A team can have at most three students. A team needs to first write a proposal, which includes a problem description, the dataset, the plan, and a review of current methods.
- Project implementation and report (30%): The team needs to execute the plan for the proposed problem and write a report. The report should take the format of a research paper.
- Project presentation (10%): The team needs to present the project to the entire class.
Prerequisites:
- Comp 135 Introduction to Machine Learning.
- Background knowledge in linear algebra.
- Programming with PyTorch.
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.