Contributors
Mario Geiger
Tess Smidt
Benjamin K. Miller
Wouter Boomsma
Kostiantyn Lapchevskyi
Maurice Weiler
Michał Tyszkiewicz
Bradley Dice
Jes Frellsen
Sophia Sanborn
M. Alby
Other collaborators
Simon Batzner
Josh Rackers
Sidsel Winther
Allan Costa
Eugene Kwan
Martin Uhrin
Claire A. West
and many others!
motivation
neural
network
input
(e.g. a molecule)
prediction
(e.g. inertia tensor of the molecule)
neural
network
rotated
input
rotated
prediction
e3nn is a library in python based on pytorch to do that
Why do we need group theory to do that?
We use group theory
physics = use numbers to describe reality
symmetry = different numbers to describe the same reality
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1: 1.0
2: 0.8
3: 0.76
4: 0.76
5: 0.5
6: 0.6
7: 0.99
8: 0.96
group of symmetry = {all the choices}
we want our understanding of reality to be independent of those choices
\(b\)
group theory!
\(a\)
definition of group
\(G\) = group = set with a composition law such that
such that \(\forall g \in G\) \(ge = eg = g\)
\(\exists e \in G\)
\(\forall g \in G, \exists i \in G\) such that \(gi = ig = e\)
\(\forall a, b, c \in G\) we have \((ab)c = a(bc)\)
\(b\)
\(a\)
\(ab\)
\(c\)
\(bc\)
\(g\)
\(i\)
\(e\)
definition of group
group representation
group \(G\) is abstract
\(D(g)\)
\(ab=c\)
one representation
group
all possible representations
all possible representations
=
irreducible representations
+
their
compositions
(direct sums \(\oplus\))
(for a given group \(G\))
aim of e3nn
\(\forall w\)
\(f_w(D_{\rm in}(g) x) = D_{\rm out}(g) f_w(x)\)
for the Euclidean group
for finite direct sums of irreps
(\(D = \bigoplus_L (D^L)^{n_L} \))
irreps of \(E(3)\)
p=1 | p=-1 | |
---|---|---|
L=0 | scalars | pseudoscalars |
L=1 | pseudovectors | vectors |
L=2 | e.g. inertia tensor | |
L=3 | ||
L=4 | ||
L=5 | ||
... | ||
function on the sphere
\(f: s^2 \longrightarrow \mathbb{R}\)
example
Its representation is \([D(g) f](x) = f(R(g)^{-1} x)\)
With a change of variable it can be changed into:
\(\bigoplus_{L=1}^\infty D^L \)
tensor product
\( \otimes \)
defining properties:
rule
\(1 \otimes 2 = 1 \oplus 2 \oplus 3\)
\(0 \otimes 3 = 3\)
\(3 \otimes 3 = 0 \oplus 1 \oplus 2 \oplus 3 \oplus 4 \oplus 5 \oplus 6\)
\(L_1 \otimes L_2 = |L_1 - L_2| \oplus \dots \oplus (L_1 + L_2)\)
tensor product
defining properties:
examples
demo
demo
+1 | ||||||
-1 | ||||||
1 | ||||||
1 | ||||||
1 | ||||||
1 | ||||||
1 | ||||||
1 |
"1x0o"
"6x0e"
https://e3nn.org
3D Steerable CNNs 1807.02547
Maurice Weiler, Mario Geiger, Max Welling, Wouter Boomsma, Taco Cohen
Tensor field networks 1802.08219
Nathaniel Thomas, Tess Smidt, Steven Kearnes, Lusann Yang, Li Li, Kai Kohlhoff, Patrick Riley