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

  • 603