Problem: Explain what an MLIP is.
Solution: A better name might have been MLPES (machine-learned potential energy surface), but MLIP (machine-learned interatomic potential) is the standard term (it should not be confused with e.g. a pairwise interaction potential like the Lennard-Jones potential).
That is, within the Born-Oppenheimer approximation, the ground state PES is just an effective potential \(V(\mathbf x_1,…,\mathbf x_N)\) defined on the nuclear configuration space \((\mathbf x_1,…,\mathbf x_N)\in\mathbf R^{3N}\) on which the nuclei dynamics are adiabatic. Treating the nuclei as classical point masses, it follows that the \(i^{\text{th}}\) nucleus experiences a conservative force field \(\mathbf F_i(\mathbf x_1,…,\mathbf x_N)=-\partial V/\partial\mathbf x_i\).
An MLIP is then just some parametric neural network ansatz seeking to approximate \(\hat V(\mathbf x_1,…,\mathbf x_N|\boldsymbol{\theta})\approx V(\mathbf x_1,…,\mathbf x_N)\). The corresponding MLFF (machine-learned force field) is thus \(\hat{\mathbf F}_i(\mathbf x_1,…,\mathbf x_N|\boldsymbol{\theta}):=-\partial\hat{V}/\partial\mathbf x_i\) (note: the nuclear charges \(Z_1,…,Z_N\in\mathbf Z^+\) of the \(N\) nuclei are also considered inputs to the MLIP, and for more sophisticated MLIPs one may also input spin information, a global charge, etc.).
To be more precise, not just any estimator \(\hat V(\mathbf x_1,…,\mathbf x_N|Z_1,…,Z_N,\boldsymbol{\theta})\) counts as an MLIP. There are certain fundamental requirements (the LAS trio: locality, analyticity, symmetry) that must be fulfilled:
- Locality: \(\hat V(\mathbf x_1,…,\mathbf x_N|\boldsymbol{\theta})=\sum_{i=1}^N\hat V_i\) can be decomposed as a sum of local potentials experienced by each of the \(N\) nuclei, that is \(\hat{V}_i\) depends only on the nuclei \(\{\mathbf x_j:r_{ij}<r^*\}\) within a radius \(r^*\) of \(\mathbf x_i\) (strictly speaking, the locality assumption may be relaxed if long-range electrostatics matters). By the triangle inequality, a corollary of this is that \(r_{ij}>2r^*\Rightarrow\partial\hat{\mathbf F}_i/\partial\mathbf x_j=0\).
- Analyticity: \(\hat V(\mathbf x_1,…,\mathbf x_N|\boldsymbol{\theta})\) is smooth with respect to the nuclear coordinates \((\mathbf x_1,…,\mathbf x_N)\in\mathbf R^{3N}\), so in particular the forces \(\mathbf F_i\) actually exist! (it should of course also be suitably smooth with respect to the parameters \(\boldsymbol{\theta}\) otherwise gradients wouldn’t be able to backprop).
- Symmetry: the usual Noetherian symmetries \(\hat V(\mathbf x_1+\Delta\mathbf x,…,\mathbf x_N+\Delta\mathbf x|\boldsymbol{\theta})=\hat V(R\mathbf x_1,…,R\mathbf x_N|\boldsymbol{\theta})=\hat V(\mathbf x_1,…,\mathbf x_N|\boldsymbol{\theta})\) for \(\Delta\mathbf x\in\mathbf R^3\) and \(R\in SO(3)\) and discrete symmetries \(\hat V(\mathbf x_{\sigma(1)},…,\mathbf x_{\sigma(N)},Z_{\sigma(1)},…,Z_{\sigma(N)}|\boldsymbol{\theta})=\hat V(-\mathbf x_1,…,-\mathbf x_N,Z_1,…,Z_N|\boldsymbol{\theta})=\hat V(\mathbf x_1,…,\mathbf x_N,Z_1,…,Z_N|\boldsymbol{\theta})\) for \(\sigma\in S_N\).
Problem: Explain how the atomic cluster expansion (ACE) enforces the LAS trio.
Solution: Starting from the ansatz of L, it is clear that A and S can be fulfilled provided each of the \(N\) local potentials \(\hat V_i\) are analytic and symmetric in their neighbouring nuclear coordinates \(\{\mathbf x_j:r_{ij}<r^*\}\).
\[\hat V_i=\hat V^{(1)}(Z_i)+\sum_{\langle j,i\rangle}\hat V^{(2)}(\mathbf r_{ij})+\sum_{\langle j<k,i\rangle}\hat V^{(3)}(\mathbf r_{ij},\mathbf r_{ik})+…\]
\[=\text{Point}+\text{Lines}+\text{Triangles}+\text{Pyramids}+…\]
Explicit models of such many-body interactions include the \(2\)-body Lennard-Jones potential:
\[V^{(2)}(r)=-V_0\left(2\left(\frac{r_0}{r}\right)^6-\left(\frac{r_0}{r}\right)^{12}\right)\]
the \(3\)-body Stillinger-Weber potential:
\[V^{(3)}(r_1,r_2,\theta)\sim V_0 e^{\sim r_0\left(\frac{1}{r_1-r^*}+\frac{1}{r_2-r^*}\right)}(\cos\theta-\cos\theta_0)^2[r_1<r^*][r_2<r^*]\]
the \(4\)-body potential:
\[V^{(4)}(\mathbf x_1,\mathbf x_2,\mathbf x_3)\sim\left(\frac{\mathbf x_1\cdot(\mathbf x_2\times\mathbf x_3)}{r_1r_2r_3}\right)^2\]
etc.
To compute the \((\nu+1)\)-body interaction term \(\hat V^{(\nu+1)}(\mathbf r_1,…,\mathbf r_{\nu})\) in ACE (the use of the symbol \(\nu\) as the Greek equivalent of the English letter \(n\) is meant to evoke the concept of “neighbours”), one has to sum \({\nu_i}\choose{\nu}\)\(\in O(\nu_i^{\nu})\) interaction terms which is polynomial in the number \(\nu_i:=|\{\mathbf x_j:r_{ij}<r^*\}|\) of \(r^*\)-neighbours associated to the \(i^{\text{th}}\) atom, but exponential in the number of simultaneous \(r^*\)-neighbours \(\nu\leq\nu_i\).
Fortunately, there exists a simple trick that dramatically simplifies this computation from \(O(\nu_i^{\nu})\to O(\nu_i)\) time. The trick consists of \(2\) steps.
- Step #\(1\): given an arbitrary single-particle basis \(\psi_{n\ell m}(\mathbf r):=R_{n}(r)Y_{\ell}^m(\hat{\mathbf r})\), expand \(\hat V^{(\nu+1)}(\mathbf r_1,…,\mathbf r_{\nu})\) in that basis:
\[\hat V^{(\nu+1)}(\mathbf r_1,…,\mathbf r_{\nu})=\sum_{}\]
- Step #\(2\):
via a trivial factorization:
Lemma: given an arbitrary collection of \(\nu\) scalar fields \(\psi_1(\mathbf r),…\psi_{\nu}(\mathbf r)\), one can efficiently evaluate separable sums of the form \(\sum_{j_1,…,j_{\nu}}\psi_1(\mathbf r_{j_1})…\psi_{\nu}(\mathbf r_{j_{\nu}})\) by factorizing them (aka inverting the distributive property!) as:
\[\sum_{j_1,…,j_{\nu}}\psi_1(\mathbf r_{j_1})…\psi_{\nu}(\mathbf r_{j_{\nu}})=\sum_j\psi_1(\mathbf r_j)…\sum_j\psi_{\nu}(\mathbf r_j)\]
Problem: One prominent example of an MLIP is MACE, developed by the group of Gábor Csányi. Walk through a single forward pass of MACE at inference time. Then, explain how MACE is trained.
Solution: MACE is an MLIP built on a variant of the MPNN architecture subclass of GNNs. In addition to the standard LAS inductive biases of most MLIPs, MACE itself introduces several further innovations.
The first misconception worth clarifying is that the actual graph input to most MLIPs (including MACE) does not necessarily coincide with how its structural formula might be drawn by a chemist. Instead, the edges are defined solely by the hyperparametric cutoff radius \(r^*\).
With the input undirected graph defined, the rest is just ML (no more physics/chemistry). Just as transformers begin by embedding tokens into latents, here “tokens” can be thought of as vertex features (the atomic numbers \(Z_i\)) and edge features (the translationally-invariant displacement vectors \(\mathbf r_{ij}:=\mathbf x_i-\mathbf x_j\) between vertices). They are learnably and independently embedded as latents:
i) The vertex features \(Z_i\) are embedded by first one-hot encoding \(Z_i\mapsto\hat{\mathbf e}_i\) w.r.t. the size of the periodic table “vocabulary”. These unit one-hots are then projected \(\hat{\mathbf e}_i\mapsto\mathbf h_i\in\mathbf R^d\) via a linear layer into a latent space of some hyperparametric hidden dimension \(d\) (\(d=128\) is the MACE default). This latent \(\mathbf h_i\) is then extruded along a further dimension of size \(\ell^*+1\) indexed by \(\ell=0,1,…,\ell^*\), and for each such \(\ell\) a further extrusion along a dimension of size \(2\ell+1\) indexed by \(m=-\ell,…,\ell\) results in a feature “double-staircase” whose “steps” \(\ell\) encode the \(SO(3)\) irreps:

A staircase \((\mathbf h_i)_{k,(\ell,m)}\) does not have a well-defined tensor shape, so in practice one concatenates along the \(m\)-axis \(\sum_{\ell=0}^{\ell^*}(2\ell+1)=(\ell^*+1)^2\) to represent the staircase as a PyTorch tensor of shape \((d,(\ell^*+1)^2)\).
ii) The edge features \(\mathbf r_{ij}\) factorize into magnitude and direction features \(\mathbf r_{ij}=r_{ij}\hat{\mathbf r}_{ij}\) which lead directly to a correspondingly-factorized scalar latent \(h_{ij}:=R(r_{ij})Y_{\ell}\). The magnitude/radial function is defined (for \(n=1,…,n^*\) with MACE default \(n^*=8\)) by the sinc/\(j_0\) spherical Bessel function \(R_n(r):=\sqrt{\frac{2}{r^*}}\frac{\sin (n\pi r/r^*)}{r^*}f_p(r)\) (cf. the eigenstates \(\psi_n(x)=\sqrt{\frac{2}{L}}\sin\frac{n\pi x}{L}\) for \(n=1,2,…\) of a quantum particle in the box \(x\in[0,L]\)) modulated by a degree-\((p+2)\) polynomial envelope cutoff \(f_p(r):=\left(1-\frac{(p+1)(p+2)}{2}\left(\frac{r}{r^*}\right)^p+p(p+2)\left(\frac{r}{r^*}\right)^{p+1}-\frac{p(p+1)}{2}\left(\frac{r}{r^*}\right)^{p+2}\right)[r<r^*]\) engineered to obey \(f_p(0)=1\) and \(f_p(r^*)=f’_p(r^*)=f^{\prime\prime}_p(r^*)=0\) (MACE default is \(p=5\)) and the angular factor is the usual spherical harmonic \(\mathbf Y_{\ell}(\hat{\mathbf r})\in\mathbf C^{2\ell+1}\).
The rotationally equivariant property of the spherical harmonics is that they transform under a specific unitary \((2\ell+1)\)-dimensional \(SO(3)\)-irrep \(D^{(\ell)}\) known as the Wigner-\(D\) representation, that is for \(R\in SO(3)\):
\[\mathbf Y_{\ell}(R^{-1}\hat{\mathbf r})=D^{(\ell)}(R)\mathbf Y_{\ell}(\hat{\mathbf r})\]
where \(D^{(\ell)}(R)\in U(2\ell+1)\). Intuitively, a rotation \(\hat{\mathbf r}\mapsto R^{-1}\hat{\mathbf r}\) on \(S^2\) induces a corresponding “rotation” \(\mathbf Y_{\ell}\mapsto D^{(\ell)}(R)\mathbf Y_{\ell}\) in \(\mathbf C^{2\ell+1}\).



