EECE 571F (2021 Winter Term 2): Deep Learning with Structures
Archived offering. Dates and assessment requirements below belong to this offering. View the current EECE 576L course.

Overview
Structures are pervasive in science and engineering. Some structures are conveniently observable, e.g., 3D point clouds, molecules, phylogenetic trees, social networks, whereas some are latent or hard to be measured, e.g., parse trees for languages/images, causal graphs, and latent interactions among actors in multi-agent systems. Advanced deep learning techniques have emerged recently to effectively process data in the above scenarios.
This course will teach cutting-edge deep learning models and methods with structures. In particular, for observable structures, we will introduce popular models, e.g., Transformers, Graph Neural Networks, with an emphasis on motivating applications, design principles, practical and or theoretical limitations, and future directions. For latent structures, we will introduce motivating applications, latent variable models (e.g., variational auto-encoders), and inference methods (e.g., amortization and search), and learning methods (e.g., REINFORCE and relaxation).
Announcements
- Jan. 6 2022: We will have online courses until Jan. 21.
- Jan. 12 2022: We will have online courses until Feb. 7. The plan for the weeks after will be announced later.
- Feb. 21 2022: We will have hybrid (in-class + online) courses from next week, i.e., starting from Feb. 28.
Course Information
Where and When
| Instructor | Renjie Liao |
|---|---|
| TA | Muchen Li |
| Section 1 | 12:00pm to 1:30pm, Monday |
| Section 2 | 12:00pm to 1:30pm, Wednesday |
| Piazza | https://piazza.com/ubc.ca/winterterm22022/eece571f2072021w2 |
| Office Hour | 3:00pm to 4:00pm, Tuesday |
| Location | Wesbrook 201 |
| rjliao@ece.ubc.ca |
Pre-requisites
- Basic knowledge about machine learning, linear algebra, probability, and calculus.
- Proficiency in a programming language: preferably Python.
- Proficiency in a deep learning libraries: PyTorch, JAX, Tensorflow, etc.
Course Structure
The instructor will present the lectures every week except that students will present their projects in the last two weeks.
Students should ask all course-related questions on Piazza.
Project
Students can work on projects individually, or in groups of up to four (group should be formed as early as possible). Students are strongly encouraged to form groups via, e.g., discussing on Piazza. However, a larger group would be expected to do more than a smaller one or individuals. All students in a group will receive the same grade. Students are allowed to undertake a research project that is related to their thesis or other external projects, but the work done for this course must represent substantial additional work and cannot be submitted for grades in another course.
The grade will depend on the quality of research ideas, how well you present them in the report, how clearly you position your work relative to prior literature, how illuminating and or convincing your experiments are, and well-supported your conclusions are. Full marks will require a novel contribution.
Each group of students will write a short (>=2 pages) research project proposal, which ideally will be structured similarly to a standard paper. You don’t have to do exactly what your proposal claims - the point of the proposal is mainly to have a plan for yourself and to allow me to give you feedback. Students will do a short presentation (roughly 5 minutes for individual, 10 to 15 minutes for a larger group) for their projects towards the end of the course. At the end of the class, every group needs to submit a project report (6~8 pages).
Evaluation Policy
Grades will be based on:
- [15%] One paper reading report. Find one paper from the reading list below. Guideline & Policy, due Feb. 4
- [15%] Project proposal. Guideline & Policy, due Feb. 18
- [15%] Project presentations. Guideline & Policy
- [15%] Peer-review report of project presentations. Guideline & Policy, due Apr. 15
- [40%] Project report and code. Guideline & Policy, due Apr. 20
Important Notes
-
All reports (i.e., paper reading report, proposal, peer-review report, and final project report) must be written in NeurIPS conference format and must be submitted as PDF
-
Late work will be automatically subject to a 20% penalty and can be submitted up to 3 days after the deadline
-
UBC values academic integrity. Therefore, all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Discipline.
-
It is the responsibility of each student to understand the policy for each course work, ask questions to the instructor if it is not clear, and carefully acknowledge all sources (papers, code, books, websites, individual communications) using appropriate referencing style when submitting work.
Syllabus
This is a tentative schedule, which will likely change as the course goes on.
| # | Dates | Lecture Topic | Lecture Slides | Suggested Readings |
|---|---|---|---|---|
| 1 | Jan. 10 Jan. 12 |
Introduction to Deep Learning | slides, zoom | Chapter 13, 14 of PML book & DL book |
| 2 | Jan. 17 Jan. 19 |
Supervised Deep Learning with Observable Structures I Invariance, Equivariance, and Deep Learning Models for Sets/Sequences |
slides, zoom | DeepSets & Transformers & Chapter 15 of PML book |
| 3 | Jan. 24 Jan. 26 Jan. 31 |
Supervised Deep Learning with Observable Structures II Graph Neural Networks: Message Passing Models |
slides, zoom | Part II of GRL book & Chapter 23 of PML book & Chapter 4 of GNN book & GNNs & GGNNs & GAT |
| 4 | Feb. 2 Feb. 7 Feb. 9 |
Supervised Deep Learning with Observable Structures III Graph Neural Networks: Graph Convolution Models |
slides, zoom | Part II of GRL book & Chapter 23 of PML book & Chapter 4 of GNN book & GCNs & ChebyNet & LanczosNet |
| 5 | Feb. 14 Feb. 16 |
Unsupervised Deep Learning with Observable Structures I Deep Generative Models of Graphs: Auto-Regressive Models |
slides, zoom | Chapter 11 of GNN book & DGMG & GraphRNN & GRAN |
| 6 | Feb. 21 | Unsupervised Deep Learning with Observable Structures II Self-supervised Representation Learning |
Slides and zoom recording are only available on Piazza | Guest Lecture by Dr. Ting Chen SimCLR & SimCLRv2 |
| 7 | Mar. 2 | Unsupervised Deep Learning with Observable Structures III Deep Generative Models of Graphs: VAEs and GANs |
slides, zoom | VGAE & GraphVAE & JunctionTreeVAEs & MolGANs |
| 8 | Mar. 7 | Unsupervised Deep Learning with Observable Structures IV Unsupervised/Self-supervised Graph Representation Learning |
slides, zoom | DeepWalk & DeepGraphInfomax |
| 9 | Mar. 9 | Theory of GNNs Expressiveness & Generalization of Graph Neural Networks |
slides, zoom | GIN & PAC-Bayes Bounds |
| 10 | Mar. 14 Mar. 16 Mar. 21 |
Deep Learning with Latent Structures I Discrete Latent Variable Models (RBMs) & Contrastive Divergence & Amortized Inference & REINFORCE & Variance Reduction & Reparameterization & Wake-Sleep Algorithm |
slides, zoom | RBMs & CD & NVIL & VAE & Wake-Sleep |
| 11 | Mar. 23 | Deep Learning with Latent Structures II Stochastic Gradient Estimation |
slides, zoom | Straight-through Estimator & Gumble-Softmax & Gumble-TopK |
| 12 | Mar. 28 | Deep Learning with Latent Structures II Stochastic Gradient Estimation & Learning Discrete Probabilistic Models |
Slides and zoom recording are only available on Piazza | Guest Lecture by Dr. Will Grathwohl RELAX & Oops I Took A Gradient |
| 13 | Mar. 30 | Deep Learning with Latent Structures III Learning Latent Graph Structures |
slides, zoom | NRI & Learning Discrete Structures for GNNs |
| 14 | Apr. 4 Apr. 6 Apr. 11 |
Project Presentation | zoom |
FAQ
Can I audit or sit in?
I am very open to auditing guests if you are a member of the UBC community (registered student, staff, and/or faculty). I would appreciate that you first email me. If the in-person class is too full and running out of space, I would ask that you please allow registered students to attend.
Is there a textbook for this course?
While there is no required textbook, I recommend the following closely relevant ones for further reading:
- GNN book: “Graph Neural Networks: Foundations, Frontiers, and Applications” by Lingfei Wu, et al. Free online version
- GRL book: “Graph representation learning” by William Hamilton. Free online version
- PML book: “Probabilistic Machine Learning: An Introduction” by Kevin Murphy. Free online version
- DL book: “Deep Learning” by Ian Goodfellow, Yoshua Bengio, Aaron Courville. Free online version
I also recommend students who are self-motivated to take a look at similar courses taught at other universities:
- African Master’s in Machine Intelligence (AMMI 2021): Geometric Deep Learning
- Stanford CS224W, Winter 2021: Machine Learning with Graphs
- McGill Comp 766, Winter 2020: Graph Representation Learning
- UofT STA 4273 / CSC 2547, Spring 2018: Learning Discrete Latent Structure
Paper List
Supervised Deep Learning with Observable Structures
- Deep sets
- Pointnet: Deep learning on point sets for 3d classification and segmentation
- Attention is all you need
- An image is worth 16x16 words: Transformers for image recognition at scale.
- Learning transferable visual models from natural language supervision
- Sequence to sequence learning with neural networks
- MLP-Mixer: An all-MLP Architecture for Vision
- Semi-Supervised Classification with Graph Convolutional Networks
- Gated Graph Sequence Neural Networks
- How Powerful are Graph Neural Networks?
- Spectral Networks and Locally Connected Networks on Graphs
- NerveNet: Learning Structured Policy with Graph Neural Networks
- The graph neural network model (the original Graph Neural Networks paper)
- Neural Message Passing for Quantum Chemistry
- Graph Attention Networks
- LanczosNet: Multi-Scale Deep Graph Convolutional Networks
- Graph Signal Processing: Overview, Challenges, and Applications
- Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
- 3D Graph Neural Networks for RGBD Semantic Segmentation
- Few-Shot Learning with Graph Neural Networks
- Convolutional Networks on Graphs for Learning Molecular Fingerprints
- node2vec: Scalable Feature Learning for Networks
- Inductive Representation Learning on Large Graphs
- Learning Lane Graph Representations for Motion Forecasting
- Representation Learning on Graphs: Methods and Applications
- Modeling Relational Data with Graph Convolutional Networks
- Hierarchical Graph Representation Learning with Differentiable Pooling
- Inference in Probabilistic Graphical Models by Graph Neural Networks
- Do Transformers Really Perform Bad for Graph Representation?
- Weisfeiler and Leman Go Neural: Higher-order Graph Neural Networks
- SpAGNN: Spatially-Aware Graph Neural Networks for Relational Behavior Forecasting from Sensor Data
- Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting
- Geometric Deep Learning: Going beyond Euclidean data
- Geometric Deep Learning on Graphs and Manifolds Using Mixture Model CNNs
- Dynamic Graph CNN for Learning on Point Clouds
- Weisfeiler and Lehman Go Cellular: CW Networks
- Provably Powerful Graph Networks
- Invariant and Equivariant Graph Networks
- On Learning Sets of Symmetric Elements
- Relational inductive biases, deep learning, and graph networks
- Graph Matching Networks for Learning the Similarity of Graph Structured Objects
- Deep Parametric Continuous Convolutional Neural Networks
- Neural Execution of Graph Algorithms
- Neural Execution Engines: Learning to Execute Subroutines
- Learning to Represent Programs with Graphs
- Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks
- Pointer Graph Networks
- Learning to Solve NP-Complete Problems - A Graph Neural Network for Decision TSP
- Premise Selection for Theorem Proving by Deep Graph Embedding
- Graph Representations for Higher-Order Logic and Theorem Proving
- What Can Neural Networks Reason About?
- Discriminative Embeddings of Latent Variable Models for Structured Data
- Learning Combinatorial Optimization Algorithms over Graphs
Unsupervised Deep Learning with Observable Structures
- Variational Graph Auto-Encoders
- Deep Graph Infomax
- GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Models
- Efficient Graph Generation with Graph Recurrent Attention Networks
- MolGAN: An implicit generative model for small molecular graphs
- GraphVAE: Towards Generation of Small Graphs Using Variational Autoencoders
- Learning Deep Generative Models of Graphs
- Permutation Invariant Graph Generation via Score-Based Generative Modeling
- Graph Normalizing Flows
- Constrained Graph Variational Autoencoders for Molecule Design
- Generative Code Modeling with Graphs
- Structured Denoising Diffusion Models in Discrete State-Spaces
- Structured Generative Models of Natural Source Code
- A Model to Search for Synthesizable Molecules
- Grammar Variational Autoencoder
- Scalable Deep Generative Modeling for Sparse Graphs
- Energy-Based Processes for Exchangeable Data
- Learning Discrete Energy-based Models via Auxiliary-variable Local Exploration
- Hierarchical Generation of Molecular Graphs using Structural Motifs
- Junction Tree Variational Autoencoder for Molecular Graph Generation
Deep Learning with Latent Structures
- Simple statistical gradient-following algorithms for connectionist reinforcement learning (the original REINFORCE paper)
- Neural Discrete Representation Learning
- Categorical Reparameterization with Gumbel-Softmax
- Neural Relational Inference for Interacting Systems
- Contrastive Learning of Structured World Models
- The Concrete Distribution: A Continuous Relaxation of Discrete Random Variables
- Learning Graph Structure With A Finite-State Automaton Layer
- Neural Turing Machines
- Oops I Took A Gradient: Scalable Sampling for Discrete Distributions
- Direct Policy Gradients: Direct Optimization of Policies in Discrete Action Spaces
- Gradient Estimation with Stochastic Softmax Tricks
- Differentiation of Blackbox Combinatorial Solvers
- REBAR: Low-variance, unbiased gradient estimates for discrete latent variable models
- Monte Carlo Gradient Estimation in Machine Learning
- Backpropagation through the Void: Optimizing control variates for black-box gradient estimation
- Thinking Fast and Slow with Deep Learning and Tree Search
- Mastering the Game of Go without Human Knowledge
- Memory-Augmented Monte Carlo Tree Search
- M-Walk: Learning to Walk over Graphs using Monte Carlo Tree Search
- DSDNet: Deep Structured Self-driving Network
- Learning to Search with MCTSnets
- Direct Loss Minimization for Structured Prediction
- Stochastic Beams and Where to Find Them: The Gumbel-Top-k Trick for Sampling Sequences Without Replacement
- Direct Optimization through argmax for Discrete Variational Auto-Encoder
- Learning Compositional Neural Programs with Recursive Tree Search and Planning
- Reinforcement Learning Neural Turing Machines - Revised
- The Generalized Reparameterization Gradient
- Gradient Estimation Using Stochastic Computation Graphs
- Learning to Search Better than Your Teacher
- Learning to Search in Branch-and-Bound Algorithms
- Model-Based Planning with Discrete and Continuous Actions
- Learning Transferable Graph Exploration
- Retro*: Learning Retrosynthetic Planning with Neural Guided A* Search