E(3) Equivariant Neural Network Tutorial
( Spacetime coordinates // Recommended Reading // Code // Slides )
Tutors: Tess E. Smidt and Risi Kondor
A special thanks to IPAM and the organizers of the “Machine Learning for Physics and the Physics of Learning” Long Program for hosting the tutorial, especially Christian Ratsch, Frank Noé and Cecilia Clementi.
Tess would also like to thank Mario Geiger, Ben Miller, Kostiantyn Lapchevskyi for all they do for the
se3cnn repo and them, Daniel Murnane, and Sean Lubner for many conversations that lead to the generation of the tutorial notebooks.
Thursday, November 14, 2019
10:00 am - noon, 1:30 - 2:30 pm
Main Lecture Hall
Institute for Pure and Applied Mathematics (IPAM)
University of California, Los Angeles
10:00 am - noon
Tutorials with lecture and code
1:30 - 2:30 pm
Remaining topics and open discussion
- Cormorant: Covariant Molecular Neural Networks
- Brandon Anderson, Truong-Son Hy, Risi Kondor
- 3D Steerable CNNs: Learning Rotationally Equivariant Features in Volumetric Data
- Maurice Weiler, Mario Geiger, Max Welling, Wouter Boomsma, Taco Cohen
- Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds
- Nathaniel Thomas, Tess Smidt, Steven Kearnes, Lusann Yang, Li Li, Kai Kohlhoff, Patrick Riley
For code examples, we will be using the
se3cnn repository. Installation instructions can be found here. To test your installation of
se3cnn, we recommend running the following code example.
To follow along during the tutorial, we recommend you clone the tutorial repository in addition to installing
git clone firstname.lastname@example.org:blondegeek/e3nn_tutorial.git
Be sure to unzip the
cache.zip which has all Clebsch-Gordon tensors up to L=10 so that you don’t have to compute these locally.
- Data types: Going between geometric tensors in Cartesian and spherical harmonic bases and representation lists (
- Operations on Spherical Tensors: Visualization of spherical tensor addition and products
- Simple Tasks and Symmetry: Using equivariant networks can have unintuitive consequences, we use 3 simple tasks to illustrate how network outputs must have equal or higher symmetry than inputs.
- Nuts and Bolts of
se3cnn: A step by step walkthrough of how to set up a convolution and what is going on with all those
- ( notebook )
Why notebook AND html?
For the notebooks that use
plotly the notebooks are distributed without cells executed because the plots are large (because Tess made them too high-resolution… oops.). If you download the HTML verison, you can interact with the plots without needing to execute the code.
Got feedback on the code tutorials?
Tess wants to hear all about it, so please, please, please write Tess an email at
email@example.com! The goal is to make these notebooks maximally useful to others.