Euclidean equivariant neural network
I will explain this slide:
Group
\(g_1, g_2 \in G\)
\(g_1 \circ g_2\)
neutral element
inverse
Irreducible representations
A kind of data that transforms in a certain way under the group action
\( \xrightarrow{g} \)
\( \xrightarrow{g} \)
vector space on which the group acts linearly
irreducible representations of \(G\)
Direct sum
Tensor product
\(\oplus\)
\(=\)
\(\otimes\)
\(=\)
bigger vector space \(d=d_1+d_2\)
bigger vector space \(d=d_1 d_2\)
irreducible representations of \(G\)
\( \otimes \)
\(= \)
\( \oplus \)
\(= \)
Irreps of \(O(3)\)
odd
one number
three numbers
five numbers
seven numbers
nine numbers
eleven numbers
...
even
one number
three numbers
five numbers
seven numbers
nine numbers
eleven numbers
...
Irreps of \(O(3)\)
odd
even
\(d=1\)
(\(L=0\))
\(d=3\)
(\(L=1\))
\(d=5\)
(\(L=2\))
Irreps of \(O(3)\)
odd
even
\(d=1\)
(\(L=0\))
\(d=3\)
(\(L=1\))
\(d=5\)
(\(L=2\))
\(d=7\)
(\(L=3\))
\(d=9\)
(\(L=5\))
\(d=11\)
(\(L=6\))
Tensor Product
\( D_{L} \otimes D_{J} = D_{|L-J|} \oplus \dots \oplus D_{L+J}\)
Example
\( 1_o \otimes 2_e = 1_o \oplus 2_o \oplus 3_o \)
\(\otimes\) = \(\oplus\) \(\oplus\)
parity simply multiply
\(\otimes\) = \(\oplus\) \(\oplus\)
Examples
\(\otimes\) = \(\oplus\) \(\oplus\)
\(1_e \otimes 1_o = 0_o \oplus 1_o \oplus 2_o\)
\(2_e \otimes 3_o = 1_o \oplus 2_o \oplus 3_o \oplus 4_o \oplus 5_o\)
\(\otimes\) = \(\oplus\) \(\oplus\) \(\oplus\) \(\oplus\)
Recap
- Addition \(x+y\) from the save vector space to the same vector space
- Direct Sum \(x\oplus y\) accolate together in a bigger vector space
- Tensor Product \(x \otimes y\) multiply together in a bigger vector space
All these operations are equivariant
- \(gx + gy = g(x+y)\)
- \(gx \oplus gy = g(x \oplus y)\)
- \(gx \otimes gy = g(x \otimes y)\)
Paths in \(\otimes\)
\(x\)
\(0_e\)
\(0_o\)
\(1_e\)
\(1_o\)
\(2_e\)
\(2_o\)
\(3_e\)
\(3_o\)
...
\(y\)
\(0_e\)
\(0_o\)
\(1_e\)
\(1_o\)
\(2_e\)
\(2_o\)
\(3_e\)
\(3_o\)
...
\(x\otimes y\)
\(0_e\)
\(0_o\)
\(1_e\)
\(1_o\)
\(2_e\)
\(2_o\)
\(3_e\)
\(3_o\)
...
Paths in \(\otimes\)
\(x\)
\(0_e\)
\(0_o\)
\(1_e\)
\(1_o\)
\(2_e\)
\(2_o\)
\(3_e\)
\(3_o\)
...
\(y\)
\(0_e\)
\(0_o\)
\(1_e\)
\(1_o\)
\(2_e\)
\(2_o\)
\(3_e\)
\(3_o\)
...
\(x\otimes y\)
\(0_e\)
\(0_o\)
\(1_e\)
\(1_o\)
\(2_e\)
\(2_o\)
\(3_e\)
\(3_o\)
...
The Convolution operation...
- it interacts features \(x\) with geometry \(\vec r\)
- is equivariant
- is linear in \(x\) (for a start)
- is of the form \(y_a = \sum_b L(\vec r_{ab}, x_b)\) (for a start)
linear & equivariant \(\Rightarrow L(\vec r, x) = H(\vec r) \otimes x\)
\(H\) is any equivariant function that outputs all the needed representations
\(H(g \vec r) = g H(\vec r)\)
\(Y\) are the spherical harmonics
\(R\) is any scalar function
\(\Rightarrow H(\vec r) = R(r) Y(\frac{\vec r}{r}) \)
\(H(\vec r) = H(g_{\vec r} \vec e_z) = g_{\vec r} H(\vec e_z)\)
\(H(\vec e_z) = H(g_z \vec e_z) = g_z H(\vec e_z)\)
\(\Leftrightarrow\) spherical harmonics
Spherical harmonics
\(Y^L(g\vec r) = g Y^L(\vec r)\)
0
+1
-1
\(Y^0\)
\(Y^1\)
\(Y^2\)
\(Y^L: s^2 \longrightarrow \mathbb{R}^{2L+1}\)
\(\displaystyle y_a = \sum_{b, \text{path}} R(\|\vec r_{ab}\|, \omega) \; Y^L(\frac{\vec r_{ab}}{\|\vec r_{ab}\|}) \otimes x_b\)
learned function
spherical harmonics
tensor product
linear
equivariant
1-neighbor
one degrees of freedom per path
e3nn-tuto
By Mario Geiger
e3nn-tuto
- 704