input
geometric object
output
geometric properties
Illustration of a neural network equivariant to rotations in 3D
array([[ 0.28261471, 0.56535286, 1.38205716],
[-0.59397486, 0.04869514, 0.76054154],
[-0.96598984, 0.06802525, 0.77853411],
[ 1.09923518, 1.20586634, 0.92461881],
[-0.35728519, 0.55409651, 0.3251024 ],
[-0.03344675, -0.48225385, -0.294099 ],
[-1.79362192, 1.26634314, -0.27039329]])
array([[ 0.55856046, 1.19226885, 0.60782165],
[ 0.59452502, 0.65252289, -0.4547258 ],
[ 0.72974089, 0.75212044, -0.7877266 ],
[ 1.00189192, 0.76199152, 1.55897624],
[ 1.10428859, 0.32784872, -0.08623213],
[ 0.27944288, -0.59813412, -0.24272213],
[ 2.40641258, 0.25619413, -1.19271872]])
array([[ 0.28261471, 0.56535286, 1.38205716],
[-0.59397486, 0.04869514, 0.76054154],
[-0.96598984, 0.06802525, 0.77853411],
[ 1.09923518, 1.20586634, 0.92461881],
[-0.35728519, 0.55409651, 0.3251024 ],
[-0.03344675, -0.48225385, -0.294099 ],
[-1.79362192, 1.26634314, -0.27039329]])
array([[ 0.55856046, 1.19226885, 0.60782165],
[ 0.59452502, 0.65252289, -0.4547258 ],
[ 0.72974089, 0.75212044, -0.7877266 ],
[ 1.00189192, 0.76199152, 1.55897624],
[ 1.10428859, 0.32784872, -0.08623213],
[ 0.27944288, -0.59813412, -0.24272213],
[ 2.40641258, 0.25619413, -1.19271872]])
Data-Augmentation
Equivariance
f: positions → forces
MLIP
Fluid dynamics
Mechanics
Electrodynamics
Standard Model
Rotation
Translation
Boosts
(Galilean or Lorentz)
Time
translation
f: positions → Hamiltonian
Protein Folding
EquiFold Jae Hyeon Lee et al.
Protein Docking
DIFFDOCK Gabriele Corso et al.
Molecular Dynamics
Allegro A. Musaelian et al.
Open Catalyst Project.
Solid State Physics
Prediction of Phonon Density Z. Chen et al.
Molecular Electron Densities
Cracking the Quantum Scaling Limit with Machine Learned Electron Densities J. Rackers
Medical Images, Robotics, ...
44M atoms while taking advantage of up to 5120 GPUs
Albert Musaelian
learn 3d object
from
2d images
Equivariance
Group
Representation
Tools
→ is my task equivariant?
→ to make my model equivariant
"what are the operations"
"how they compose"
"what are the operations"
"how they compose"
"vector spaces on which the group acts linearly"
"what are the operations"
"how they compose"
examples:
rotations
lorentz group
examples:
scalars, vectors, pseudovectors, ...
scalars, 4-vector
"vector spaces on which the group acts linearly"
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Group G
Representation (V,D)
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Representation (V,D)
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Representation (V,D)
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Representation (V,D)
Group G
"what are the operations" "how they compose"
"vector spaces on which the group acts linearly"
Representation (V,D)
Group G
V
V′
V
V′
D(g)
D′(g)
V
V′
V
V′
D(g)
D′(g)
V
V′
f
V
V′
D(g)
D′(g)
V
V′
f
f
V
V′
D(g)
D′(g)
V
V′
f
f
f(D(g,x))
V
V′
D(g)
D′(g)
V
V′
f
f
f(D(g)x)
D′(g,f(x))
V
V′
D(g)
D′(g)
V
V′
f
f
f(D(g,x))
D′(g,f(x))
=
f(D(g,x))
D′(g,f(x))
=
x
f(x)
two equivariant functions
f:V1→V2
h:V2→V3
h∘f is equivariant!
h(f( D1(g,x) ))=h( D2(g,f(x)) )=D3(g,h(f(x)))
two equivariant functions
f:V1→V3
h:V2→V3
h+f is equivariant!
f(D1(g,x))+h(D2(g,x))=D3(g,f(x)+h(x))
two equivariant functions
f:V1→V3
h:V2→V3
h+f is equivariant!
equivariant function: f:V1→V2
a scalar: α∈R
αf is equivariant!
αf(D1(g,x))=D2(g,αf(x))
f(D1(g,x))+h(D2(g,x))=D3(g,f(x)+h(x))
x1x2x3
y1y2y3y4y5
transforming with D(g,⋅)
transforming with D′(g,⋅)
=x1y1x2y1x3y1x1y2x2y2x3y2x1y3x2y3x3y3x1y4x2y4x3y4x1y5x2y5x3y5
⊗
=x1y1x2y1x3y1x1y2x2y2x3y2x1y3x2y3x3y3x1y4x2y4x3y4x1y5x2y5x3y5
transforms with a representation called D⊗D′
x1x2x3
y1y2y3y4y5
3 scalars
a vector
a1a2a3a4a5a6a7a8a9
a vector
3 scalars
a vector
b1b2b3b4b5b6b7b8b9
a vector
Linear map
3 scalars
a vector
a1a2a3a4a5a6a7a8a9
a vector
3 scalars
a vector
b1b2b3b4b5b6b7b8b9
a vector
w1
w2
w3
The Schur's lemma gives you the linear maps between two representations
Protein Folding
Molecular Dynamics
Phonons
Docking
Medical Imagery
Data-Augmentation
Equivariance
task
model
equiv.
equiv.