CS348a


Breaking News:


The goal of this course is to cover the rudiments of geometric and topological methods that have proven useful in the analysis of data (geometric or not), using classical as well as deep learning approaches.

Geometric and topological data typically come in less regular forms, such as point clouds or simplicial complexes (e.g., meshes), which present challenges to learning approaches. Furthermore, geometric ground truth annotations can be much harder to obtain for real data (consider 6DoF object pose). Thus novel ideas and methods are required in both the supervised and unsupervised settings. The course also aims to leverage multiple perspectives or views on the same data and show that a particular piece of data is often best understood not alone but within a social network of related data sets that provide a useful context for its analysis -- what we might call "joint learning".

Topics to be covered include:

  • Linear algebraic techniques, such as PCA and CCA (useful when the data can be viewed as points in a high dimensional Euclidean space)
  • Non-linear dimensionality reduction methods for such data
  • Spectral methods for data in the form of graphs, including spectral clustering
  • Rudiments of computational topology and specifically persistent homology -- data as complexes
  • Representations for geometric data and  spectral methods on meshes
  • Architectures for processing point clouds and simplicial complexes, including geometric deep learning
  • Methods for establishing maps and correspondences between geometric data sets
  • Function spaces and functional maps as information transport operators
  • Networks of related data sets and the extraction of shared structure (latent spaces) and of data set differences
  • Foundation models for geometric data
  • Applications of geometric and topological data analysis methods in the study of 2D images and 3D shapes across various domains

Extant annotated visual data repositories, such as Imagenet, Shapenet, and their sequels. will be covered and used.

This class presumes an elementary knowledge of algorithms, linear algebra, and the rudiments of deep learning. It will require four assignments (w. programming) and a midterm exam.


These pages are maintained by Leonidas Guibas guibas@cs.stanford.edu.
Last update December 3, 2023.