Repelling-Attracting
Hamiltonian Monte Carlo

Siddharth Vishwanath





Based on joint work with:

Hyungsuk Tak

Motivation

$$

%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%

%

$$

\[ \require{enclose} \require{ams} \]

Sampling

Goal.

Generate samples \(\{ \boldsymbol{q}_1, \boldsymbol{q}_2, \dots, \boldsymbol{q}_n \} \sim \pi\) from \[ \pi(\boldsymbol{q}) \propto e^{- U(\boldsymbol{q}) } \]


MCMC. Generate a Markov chain \[ \boldsymbol{q}\stackrel{\kappa}{\longmapsto} \boldsymbol{q}' \]

Metropolis-Hastings.

  1. Given current state \(\boldsymbol{q}\sim \pi\)
  2. Generate \(\boldsymbol{q}' \sim \kappa(\boldsymbol{q}' \mid \boldsymbol{q})\)
  3. Accept/Reject the proposed state with probability \[ \alpha(\boldsymbol{q}', \boldsymbol{q}) = \min\left\{ 1, \frac{\kappa(\boldsymbol{q}\mid \boldsymbol{q}') \cdot e^{-U(\boldsymbol{q}')}}{\kappa(\boldsymbol{q}' \mid \boldsymbol{q}) \cdot e^{-U(\boldsymbol{q})} } \right\} \]

The problem with diffusions

Wastes too much time in high dimensions.

Random Walk Metropolis.

  1. Given current state \(\boldsymbol{q}\sim \pi\)
  2. Generate \[ \boldsymbol{q}' \sim \varphi(\boldsymbol{q}' -\boldsymbol{q}) \]
  3. Accept/Reject the proposed state with probability \[ \alpha(\boldsymbol{q}', \boldsymbol{q}) = \frac{\varphi(\boldsymbol{q}-\boldsymbol{q}') \cdot e^{-U(\boldsymbol{q}')}}{\varphi(\boldsymbol{q}'-\boldsymbol{q}) \cdot e^{-U(\boldsymbol{q})} } \]

Gradients provide useful information

Metropolis-adjusted Langevin algorithm.

  1. Given current state \(\boldsymbol{q}\sim \pi\)
  2. Generate \[ \boldsymbol{q}' \sim q - {h} \cdot \boldsymbol{\nabla}U(\boldsymbol{q}) + \sqrt{2h}\!\cdot\!{\mathsf N}({\mathbf{0}}, {\mathbb I}_d) \]
  3. Accept/Reject the proposed state with probability \[ \alpha(\boldsymbol{q}', \boldsymbol{q}) = \frac{\phi_{2h}(\boldsymbol{q}- \boldsymbol{q}' - h \nabla U(\boldsymbol{q}')) \cdot e^{-U(\boldsymbol{q}')}}{\phi_{2h}(\boldsymbol{q}' - \boldsymbol{q}- h \nabla U(\boldsymbol{q})) \cdot e^{-U(\boldsymbol{q})} } \]

Only works well for small step sizes.

Extended State-Space

  1. For \(\pi \propto e^{-U(\boldsymbol{q})}\) augment state-space with a new random variable \(\boldsymbol{p}\) such that \[ \pi(\boldsymbol{q}, \boldsymbol{p}) \propto e^{-H(\boldsymbol{q}, \boldsymbol{p})} \]

  2. Use fixed/deterministic Markov kernel \[ (\boldsymbol{q}, \boldsymbol{p}) \stackrel{\kappa}{\longmapsto} (\boldsymbol{q}', \boldsymbol{p}') \]

  3. Marginalize to get \(\boldsymbol{q}'\)

Metropolis-Hastings in extended state-space

  1. Given current state \(\boldsymbol{q}\)
  2. Generate \(\boldsymbol{p}\sim \pi(\boldsymbol{p}\mid \boldsymbol{q})\)
  3. Generate \[ (\boldsymbol{q}', \boldsymbol{p}') \sim \kappa( \boldsymbol{q}', \boldsymbol{p}' \mid \boldsymbol{q}, \boldsymbol{p}) \]
  4. Accept/Reject the proposed state with probability \[ \!\!\!\!\alpha(\boldsymbol{q}', \boldsymbol{q}) = \frac {\kappa(\boldsymbol{q}, \boldsymbol{p}\mid \boldsymbol{q}', \boldsymbol{p}') \cdot e^{-H(\boldsymbol{q}', \boldsymbol{p}')}} {\kappa(\boldsymbol{q}' \boldsymbol{p}' \mid \boldsymbol{q}, \boldsymbol{p}) \cdot e^{-H(\boldsymbol{q}, \boldsymbol{p})} } \Bigg| \frac{{\partial(\boldsymbol{q}', \boldsymbol{p}')}}{{\partial(\boldsymbol{q}, \boldsymbol{p})}} \Bigg| \]

Hamiltonian Monte Carlo

  1. Given \(\boldsymbol{q}_0\), augment the state space with independent auxiliary variable \(\boldsymbol{p}_0 \sim {\mathsf N}(\boldsymbol{0}, \Sigma)\)
  1. Joint distribution \((\boldsymbol{q},\boldsymbol{p}) \sim \exp(-H(\boldsymbol{q},\boldsymbol{p}))\) where \(H(\boldsymbol{q},\boldsymbol{p})\) is given by

\(\displaystyle H(\boldsymbol{q},\boldsymbol{p}) = U(\boldsymbol{q}) + \frac{1}{2} \boldsymbol{p}^{\top}\Sigma^{-1}\boldsymbol{p}\)

  1. Treat \(H(\boldsymbol{q},\boldsymbol{p})\) as the Hamiltonian of a system and generate \((\boldsymbol{q}_t, \boldsymbol{p}_t) = {\boldsymbol{\Phi}}_t(\boldsymbol{q}_0, \boldsymbol{p}_0)\) where

\(\frac{d}{d t}\begin{bmatrix}\boldsymbol{q}_t\\ \boldsymbol{p}_t\end{bmatrix} = \begin{bmatrix}\mathbf{O}& {\mathbb I}\\ -{\mathbb I}& \mathbf{O}\end{bmatrix}\begin{bmatrix}\boldsymbol{\nabla}_{\!\boldsymbol{q}}H(\boldsymbol{q}_t, \boldsymbol{p}_t)\\ \boldsymbol{\nabla}_{\!\boldsymbol{p}}H(\boldsymbol{q}_t, \boldsymbol{p}_t)\end{bmatrix} = \begin{bmatrix}\Sigma^{-1}\boldsymbol{p}_t\\ - \boldsymbol{\nabla}U(\boldsymbol{q}_t)\end{bmatrix}.\)

  1. For \((\boldsymbol{q}_0, \boldsymbol{p}_0) \equiv (\boldsymbol{q}, \boldsymbol{p})\) and after a momentum flip \(\mathbf{F}(\boldsymbol{q}_t, \boldsymbol{p}_t) = (\boldsymbol{q}_t, -\boldsymbol{p}_t)\), the transition kernel is

\(\displaystyle\kappa(\boldsymbol{q}_t, \boldsymbol{p}_t \mid \boldsymbol{q}, \boldsymbol{p}) = \mathbf{1}\Big\{ (\boldsymbol{q}_t, \boldsymbol{p}_t) = \mathbf{F}\circ {\boldsymbol{\Phi}}_t(\boldsymbol{q}_0, \boldsymbol{p}_0) \Big\}\)

Hamiltonian Monte Carlo

  1. For \((\boldsymbol{q}_0, \boldsymbol{p}_0) \equiv (\boldsymbol{q}, \boldsymbol{p})\) and after a momentum flip \(\mathbf{F}(\boldsymbol{q}_t, \boldsymbol{p}_t) = (\boldsymbol{q}_t, -\boldsymbol{p}_t)\), the transition kernel is

\(\displaystyle\kappa(\boldsymbol{q}_t, \boldsymbol{p}_t \mid \boldsymbol{q}, \boldsymbol{p}) = \mathbf{1}\Big\{ (\boldsymbol{q}_t, \boldsymbol{p}_t) = \mathbf{F}\circ{\boldsymbol{\Phi}}_t(\boldsymbol{q}_0, \boldsymbol{p}_0) \Big\}\)

  1. Accept/Reject the proposed state with probability

\[ \alpha(\boldsymbol{q}_t, \boldsymbol{p}_t) = \frac {\kappa(\boldsymbol{q}_0, \boldsymbol{p}_0 \mid \boldsymbol{q}_t, \boldsymbol{p}_t) \cdot e^{-H(\boldsymbol{q}_t, \boldsymbol{p}_t)}} {\kappa(\boldsymbol{q}_t, \boldsymbol{p}_t \mid \boldsymbol{q}_0, \boldsymbol{p}_0) \cdot e^{-H(\boldsymbol{q}_0, \boldsymbol{p}_0)}} \Bigg| \frac{{\partial(\boldsymbol{p}_t, \boldsymbol{p}_t)}}{{\partial(\boldsymbol{q}, \boldsymbol{p})}} \Bigg| \]

Hamiltonian Monte Carlo

The four pillars of Hamiltonian Monte Carlo

Theorem (Arnold (2013))

Let \(\mathbf{F}: (\boldsymbol{q}, \boldsymbol{p}) \mapsto (\boldsymbol{q}, -\boldsymbol{p})\) denote the momentum flip and \({\boldsymbol{\Phi}}_t: (\boldsymbol{q}_0, \boldsymbol{p}_0) \mapsto (\boldsymbol{q}_t, \boldsymbol{p}_t)\) be the Hamiltonian flow

Then

\(\displaystyle\left(\mathbf{F}\circ {\boldsymbol{\Phi}}_t\right) \circ \left(\mathbf{F}\circ {\boldsymbol{\Phi}}_t\right) = \text{id}.\)



\((\boldsymbol{q}_t, \boldsymbol{p}_t) = \mathbf{F}\circ {\boldsymbol{\Phi}}_t(\boldsymbol{q}_0, \boldsymbol{p}_0)\)

and

\((\boldsymbol{q}_0, \boldsymbol{p}_o) = \mathbf{F}\circ {\boldsymbol{\Phi}}_t(\boldsymbol{q}_t, \boldsymbol{p}_t)\)

\[ \alpha(\boldsymbol{q}_t, \boldsymbol{p}_t | \boldsymbol{q}_0, \boldsymbol{p}_0) = \frac{\enclose{horizontalstrike}[mathcolor="red"]{\kappa(\boldsymbol{q}_0, \boldsymbol{p}_0 | \boldsymbol{q}_t, \boldsymbol{p}_t)} \cdot {e^{-H(\boldsymbol{q}_t,\boldsymbol{p}_t)}}}{\enclose{horizontalstrike}[mathcolor="red"]{\kappa(\boldsymbol{q}_t, \boldsymbol{p}_t | \boldsymbol{q}_0, \boldsymbol{p}_0)} \cdot {e^{-H(\boldsymbol{q}_0,\boldsymbol{p}_0)}}} \cdot \Bigg| {\frac{{\partial(\boldsymbol{q}_t, \boldsymbol{p}_t)}}{{\partial(\boldsymbol{q}_0, \boldsymbol{p}_0)}} \Bigg| } \]


Theorem (Arnold (2013))

For every trajectory \(\{(\boldsymbol{q}_t, \boldsymbol{p}_t) : t > 0\}\)

\[ \Bigg|\frac{\partial (\boldsymbol{q}_t, \boldsymbol{p}_t)}{\partial (\boldsymbol{q}_0, \boldsymbol{p}_0)}\Bigg| = \Bigg| \begin{bmatrix} \frac{\partial \boldsymbol{q}_0}{\partial \boldsymbol{q}_t} & \frac{\partial \boldsymbol{p}_0}{\partial \boldsymbol{q}_t} \\ \frac{\partial \boldsymbol{q}_0}{\partial \boldsymbol{p}_t} & \frac{\partial \boldsymbol{p}_0}{\partial \boldsymbol{p}_t} \end{bmatrix} \Bigg| = 1. \]

\[ \require{cancel} \require{enclose} \alpha(\boldsymbol{q}_t, \boldsymbol{p}_t | \boldsymbol{q}_0, \boldsymbol{p}_0) = \frac{\enclose{horizontalstrike}{\kappa(\boldsymbol{q}_0, \boldsymbol{p}_0 | \boldsymbol{q}_t, \boldsymbol{p}_t)} \cdot {e^{-H(\boldsymbol{q}_t,\boldsymbol{p}_t)}}}{\enclose{horizontalstrike}{\kappa(\boldsymbol{q}_t, \boldsymbol{p}_t | \boldsymbol{q}_0, \boldsymbol{p}_0)} \cdot {e^{-H(\boldsymbol{q}_0,\boldsymbol{p}_0)}}} \cdot \Bigg| {\frac{\enclose{horizontalstrike}[mathcolor="red"]{\partial(\boldsymbol{q}_t, \boldsymbol{p}_t)}}{\enclose{horizontalstrike}[mathcolor="red"]{\partial(\boldsymbol{q}_0, \boldsymbol{p}_0)}} \Bigg| } \]



Theorem (Arnold (2013))

For every trajectory \(\left\{(\boldsymbol{q}_t, \boldsymbol{p}_t) : t > 0\right\}\) satisfying the Hamiltonian dynamics

\(\displaystyle \frac{d}{d t}H(\boldsymbol{q}_t, \boldsymbol{p}_t) = 0.\)

\[ \alpha(\boldsymbol{q}_t, \boldsymbol{p}_t | \boldsymbol{q}_0, \boldsymbol{p}_0) = \frac{\enclose{horizontalstrike}{\kappa(\boldsymbol{q}_0, \boldsymbol{p}_0 | \boldsymbol{q}_t, \boldsymbol{p}_t)} \cdot \enclose{horizontalstrike}[mathcolor="red"]{e^{-H(\boldsymbol{q}_t,\boldsymbol{p}_t)}}}{\enclose{horizontalstrike}{\kappa(\boldsymbol{q}_t, \boldsymbol{p}_t | \boldsymbol{q}_0, \boldsymbol{p}_0)} \cdot \enclose{horizontalstrike}[mathcolor="red"]{e^{-H(\boldsymbol{q}_0,\boldsymbol{p}_0)}}} \cdot \Bigg| {\frac{\enclose{horizontalstrike}{\partial(\boldsymbol{q}_t, \boldsymbol{p}_t)}}{\enclose{horizontalstrike}{\partial(\boldsymbol{q}_0, \boldsymbol{p}_0)}} \Bigg| } \]


Theorem (Arnold (2013))

Let \(\omega(\cdot, \cdot)\) be the symplectic \(2\)-form \[ \omega(\boldsymbol{q},\boldsymbol{p}) = \sum_{i=1}^d dq_i \wedge dp_i. \]

Then \(\omega(\boldsymbol{q}_t, \boldsymbol{p}_t) = \omega(\boldsymbol{q}_0, \boldsymbol{p}_0)\) for all \(t \in {\mathbb R}\).

Symplectic Integration

  • The solution \({\boldsymbol{\Phi}}_t: (\boldsymbol{q}_0, \boldsymbol{p}_0) \mapsto (\boldsymbol{q}_t, \boldsymbol{p}_t)\) to the system of nonautonomous differential equations

\(\frac{d}{d t}{\boldsymbol{q}_t} = \Sigma^{-1}\boldsymbol{p}_t, \quad\quad \frac{d}{d t}{\boldsymbol{p}_t} = - \boldsymbol{\nabla}U(\boldsymbol{q}_t)\)

is rarely available in practice. It can be numerically solved using the leapfrog scheme

  • Let \(\epsilon\approx dt\) be a small step-size, then \({\boldsymbol{\Phi}}_{dt} \approx {\boldsymbol{\Phi}}_\epsilon: (\boldsymbol{q}_t, \boldsymbol{p}_t) \mapsto (\boldsymbol{q}_{t+\epsilon}, \boldsymbol{p}_{t+\epsilon})\) is given by

\[ \begin{cases} \boldsymbol{p}_{t+\frac\epsilon 2} = \boldsymbol{p}_t - \frac\epsilon 2 \boldsymbol{\nabla}U(\boldsymbol{q}_t) \\[2pt] \boldsymbol{q}_{t+\epsilon} = \boldsymbol{q}_t + \epsilon\Sigma^{-1}\boldsymbol{p}_{t+\frac\epsilon 2}\\[2pt] \boldsymbol{p}_{t+\epsilon} = \boldsymbol{p}_{t+\frac\epsilon 2} - \frac\epsilon 2 \boldsymbol{\nabla}U(\boldsymbol{q}_{t+\epsilon}) \end{cases} \] and for time \(T\) and \(L = \lfloor{T/\epsilon}\rfloor\), we have \[{\boldsymbol{\Phi}}_T \approx {\boldsymbol{\Phi}}_{\epsilon, L} = ({\boldsymbol{\Phi}}_\epsilon)^{\otimes L}.\]

Why Symplectic Integration?

Theorem (Hairer, Lubich, and Wanner (2006)) \[ \big|H\left( {\boldsymbol{\Phi}}_{T}(\boldsymbol{q},\boldsymbol{p}) \right) - H\left( {\boldsymbol{\Phi}}_{\epsilon, L}(\boldsymbol{q},\boldsymbol{p}) \right)\big| \approx {O}(\epsilon^2). \] Therefore, \(\alpha(\boldsymbol{q}_T, \boldsymbol{p}_T | \boldsymbol{q}_0, \boldsymbol{p}_0) \gtrsim e^{-\epsilon^2}.\)

Is HMC the panacea?

HMC + Multimodal

Courtesy the template by Chi Feng

Repelling-Attracting
Hamiltonian Monte Carlo

Observation #1: Friction \(\downarrow\) energy

Consider the trajectory of a particle \((\boldsymbol{q}_t, \boldsymbol{p}_t)\) on a rough surface with friciton \(\gamma > 0\)

\[ \frac{d}{d t}{\boldsymbol{q}_t} = \Sigma^{-1}\boldsymbol{p}_t, \quad\quad \frac{d}{d t}{\boldsymbol{p}_t} = - \boldsymbol{\nabla}U(\boldsymbol{q}_t) \; \color{red}{-\;\gamma\,\boldsymbol{p}_t} \]

This can be rewritten as

\[\frac{d}{d t}\begin{bmatrix}\boldsymbol{q}_t\\ \boldsymbol{p}_t\end{bmatrix} = \underbrace{\begin{bmatrix}\mathbf{O}& {\mathbb I}\\ -{\mathbb I}& \mathbf{O}\end{bmatrix}}_{=\boldsymbol{\Omega}}\underbrace{\begin{bmatrix}\boldsymbol{\nabla}_{\!\boldsymbol{q}}H(\boldsymbol{q}_t, \boldsymbol{p}_t)\\ \boldsymbol{\nabla}_{\!\boldsymbol{p}}H(\boldsymbol{q}_t, \boldsymbol{p}_t)\end{bmatrix}}_{=\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t)} \color{red}{- \underbrace{\begin{bmatrix}\mathbf{O}& \mathbf{O}\\ \mathbf{O}& \gamma{\mathbb I}\end{bmatrix}}_{=\boldsymbol{\Gamma}}\begin{bmatrix}\boldsymbol{q}_t\\ \boldsymbol{p}_t\end{bmatrix}}.\]

Therefore, we get the conformal Hamiltonian system (A):

\[\frac{d}{d t}(\boldsymbol{q}_t, \boldsymbol{p}_t) = \boldsymbol{\Omega}\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t) \; \color{red}{- \boldsymbol{\Gamma}(\boldsymbol{q}_t, \boldsymbol{p}_t)}.\tag{A}\]

Observation #1: Friction \(\downarrow\) energy

Without friction

With friction

Observation #2: Negative friction \(\uparrow\) energy

If we just flip the sign of the friction parameter

\[\color{red}{+\gamma} \to \color{green}{-\gamma}\]

we get

\[\frac{d}{d t}\begin{bmatrix}\boldsymbol{q}_t\\ \boldsymbol{p}_t\end{bmatrix} = \underbrace{\begin{bmatrix}\mathbf{O}& {\mathbb I}\\ -{\mathbb I}& \mathbf{O}\end{bmatrix}}_{=\boldsymbol{\Omega}}\underbrace{\begin{bmatrix}\boldsymbol{\nabla}_{\!\boldsymbol{q}}H(\boldsymbol{q}_t, \boldsymbol{p}_t)\\ \boldsymbol{\nabla}_{\!\boldsymbol{p}}H(\boldsymbol{q}_t, \boldsymbol{p}_t)\end{bmatrix}}_{=\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t)} + \color{green}{\underbrace{\begin{bmatrix}\mathbf{O}& \mathbf{O}\\ \mathbf{O}& \gamma{\mathbb I}\end{bmatrix}}_{=\boldsymbol{\Gamma}}\begin{bmatrix}\boldsymbol{q}_t\\ \boldsymbol{p}_t\end{bmatrix}}.\]

i.e., another conformal Hamiltonian system (B):

\[\frac{d}{d t}(\boldsymbol{q}_t, \boldsymbol{p}_t) = \boldsymbol{\Omega}\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t) \; \color{green}{+ \boldsymbol{\Gamma}(\boldsymbol{q}_t, \boldsymbol{p}_t)}.\tag{B}\]

Observation #2: Negative friction \(\uparrow\) energy

Without friction

With negative friction

Repelling-Attracting HMC

  1. Choose a hypothetical friction parameter \(\gamma \in (0, \infty)\), and integration time \(T\)
  1. For time \(t \in [0, T/2]\) generate conformal Hamiltonian dynamics \(\boldsymbol{\Phi}^{+}_{t}\) using negative friction

\(\small\displaystyle\color{green}{\frac{d}{d t} (\boldsymbol{q}_t, \boldsymbol{p}_t) = \boldsymbol{\Omega}\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t) + \boldsymbol{\Gamma}(\boldsymbol{q}_t, \boldsymbol{p}_t)}\)

  1. For time \(t \in [T/2, T]\) generate conformal Hamiltonian dynamics \(\boldsymbol{\Phi}^{-}_{t}\) using positive friction

\(\displaystyle\color{red}{\frac{d}{d t} (\boldsymbol{q}_t, \boldsymbol{p}_t) = \boldsymbol{\Omega}\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t) - \boldsymbol{\Gamma}(\boldsymbol{q}_t, \boldsymbol{p}_t)}\)

  1. Accept/reject state \((\boldsymbol{q}_T, \boldsymbol{p}_T) = \color{dodgerblue}{\Psi_T}(\boldsymbol{q}_0, \boldsymbol{p}_0)\) with MH probability

\[ \alpha(\boldsymbol{q}_T, \boldsymbol{p}_T | \boldsymbol{q}_0, \boldsymbol{p}_0) = \min\left\{1, \frac{\kappa(\boldsymbol{q}_0, \boldsymbol{p}_0 | \boldsymbol{q}_T, \boldsymbol{p}_T) \cdot e^{-H(\boldsymbol{q}_T,\boldsymbol{p}_T)}}{\kappa(\boldsymbol{q}_T, \boldsymbol{p}_T | \boldsymbol{q}_0, \boldsymbol{p}_0) \cdot e^{-H(\boldsymbol{q}_0,\boldsymbol{p}_0)}} \cdot \Bigg| \frac{\partial (\boldsymbol{q}_t, \boldsymbol{p}_t)}{\partial (\boldsymbol{q}_0, \boldsymbol{p}_0)} \Bigg| \right\} \]

Repelling-Attracting HMC


\(\color{dodgerblue}{{\boldsymbol{\Psi}}_T} = \color{red}{\boldsymbol{\Phi}^{-}_{T/2}} \circ \color{green}{\boldsymbol{\Phi}^{+}_{T/2}}\)

Repelling-Attracting HMC


\(\color{dodgerblue}{{\boldsymbol{\Psi}}_T} = \color{red}{\boldsymbol{\Phi}^{-}_{T/2}} \circ \color{green}{\boldsymbol{\Phi}^{+}_{T/2}}\)

Courtesy the template by Chi Feng

Properties of RA-HMC

Proposition (SV and Tak (2024))

  • \(\mathbf{F}: (\boldsymbol{q}, \boldsymbol{p}) \to (\boldsymbol{q}, -\boldsymbol{p})\)
  • \(\color{green}{\boldsymbol{\Phi}^{+}_t}\) and \(\color{red}{\boldsymbol{\Phi}^{-}_t}\) for the repelling-attracting dynamics

Then \[ \mathbf{F}\circ (\color{green}{\boldsymbol{\Phi}^{+}_t})^{-1} = \color{red}{\boldsymbol{\Phi}^{-}_t} \circ \mathbf{F} \]

In particular, for \({\boldsymbol{\Psi}}_{2t} = \color{red}{\boldsymbol{\Phi}^{-}_t} \circ \color{green}{\boldsymbol{\Phi}^{+}_t}\) \[ \big(\mathbf{F}\circ {\boldsymbol{\Psi}}_{2t}\big) \circ \big(\mathbf{F}\circ {\boldsymbol{\Psi}}_{2t}\big) = \text{id}. \]


Proposition (SV and Tak (2024))

\[ \bigg| \frac{\partial (\boldsymbol{q}_t, \boldsymbol{p}_t)}{\partial (\boldsymbol{q}_0, \boldsymbol{p}_0)} \bigg| = \begin{cases} > 1 & \text{ for }0 \le t \le T/2\\[5pt] < 1 & \text{ for }T/2 \le t \le T \end{cases} \]

In particular \[ \bigg| \frac{\partial (\boldsymbol{q}_t, \boldsymbol{p}_t)}{\partial (\boldsymbol{q}_T, \boldsymbol{p}_T)} \bigg| = 1. \]






\[ \alpha(\boldsymbol{q}_T, \boldsymbol{p}_T | \boldsymbol{q}_0, \boldsymbol{p}_0) = \frac{e^{-H(\boldsymbol{q}_T, \boldsymbol{p}_T)}}{e^{-H(\boldsymbol{q}_0, \boldsymbol{p})}} \]


Proposition (SV and Tak (2024))

The deformation of the symplectic 2-form is given by \[ \omega(\boldsymbol{q}_t, \boldsymbol{p}_t) = \begin{cases} e^{\gamma t} \cdot \omega(\boldsymbol{q}_0, \boldsymbol{p}_0), & 0 \le t \le T/2\\ \\ e^{\gamma (T-t)} \cdot \omega(\boldsymbol{q}_0, \boldsymbol{p}_0), & T/2 \le t \le T \end{cases}. \]

In particular, RA-HMC preserves the symplectic 2-form: \[\omega(\boldsymbol{q}_T, \boldsymbol{p}_T) = \omega(\boldsymbol{q}_0, \boldsymbol{p}_0).\]

Let \(\epsilon\approx dt\) the conformal symplectic leapfrog (França et al. (2020)) for \(\boldsymbol{\Phi}^{+}_\epsilon\approx \boldsymbol{\Phi}^{+}_{dt}\) is:

\[ \boldsymbol{\Phi}^{+}_\epsilon(\boldsymbol{q}_t, \boldsymbol{p}_t) = \begin{cases} {\widetilde{\boldsymbol{p}}}_{t+\frac\epsilon 2} \leftarrow e^{\gamma\epsilon/2}\boldsymbol{p}_t \\[2pt] \boldsymbol{p}_{t+\frac\epsilon 2} \leftarrow {\widetilde{\boldsymbol{p}}}_{t+\frac\epsilon 2} - \frac\epsilon 2 \boldsymbol{\nabla}U(\boldsymbol{q}_t) \\[2pt] \boldsymbol{q}_{t+\epsilon} \leftarrow \boldsymbol{q}_t + \epsilon\Sigma^{-1}{\widetilde{\boldsymbol{p}}}_{t+\frac\epsilon 2}\\[2pt] {\widetilde{\boldsymbol{p}}}_{t+\epsilon} \leftarrow {\widetilde{\boldsymbol{p}}}_{t+\frac\epsilon 2} - \frac\epsilon 2 \boldsymbol{\nabla}U(\boldsymbol{q}_{t+\epsilon})\\[2pt] \boldsymbol{p}_{t+\epsilon} \leftarrow e^{\gamma\epsilon/2}\boldsymbol{p}_{t+\epsilon} \end{cases} \]

Mutatis mutandis for \(\boldsymbol{\Phi}^{-}_e\). Finally, for \(L\) steps \({\boldsymbol{\Psi}}_{\epsilon, L} = (\boldsymbol{\Phi}^{-}_\epsilon)^{\otimes L/2} \circ (\boldsymbol{\Phi}^{+}_\epsilon)^{\otimes L/2}\).

Proposition (SV and Tak (2024)) \(\quad \quad \big| H(\boldsymbol{q}_T, \boldsymbol{p}_T) - H(\boldsymbol{q}_{\epsilon, L}, \boldsymbol{p}_{\epsilon, L}) \big| = O(\epsilon^2)\).

Proposition (SV and Tak (2024))

Under some conditions on \(U(\boldsymbol{q}) = -\log(\pi(\boldsymbol{q}))\) and for \(\mathscr{C} = \big\{\boldsymbol{q}: \nabla U(\boldsymbol{q}) = 0\big\}\),

\[ \Big|{H({\boldsymbol{\Psi}}_T(\boldsymbol{q}, \boldsymbol{p})) - H(\boldsymbol{q}, \boldsymbol{p})}\Big| \le \inf_{{\boldsymbol{u}}, {\boldsymbol{v}}\in \mathscr{C}} \Big| {2H(\boldsymbol{\Phi}^{+}_{T/2}(\boldsymbol{q},\boldsymbol{p})) - H({\boldsymbol{u}}) - H({\boldsymbol{v}})} \Big| \cdot e^{-\lambda T/2} \\ \quad\quad\quad\quad+ \sup_{{\boldsymbol{u}}, {\boldsymbol{v}}\in \mathscr{C}}\Big|{H({\boldsymbol{u}}) - H({\boldsymbol{v}})}\Big| \]


\(U(\boldsymbol{q})\) is strongly-convex \(\Longrightarrow\) \(\Big|{H({\boldsymbol{\Psi}}_T(\boldsymbol{q}, \boldsymbol{p})) - H(\boldsymbol{q}, \boldsymbol{p})}\Big| \le \text{const}\).

Energy drift

Autotuning the hyperparameters

  • The hyperparameters \(\gamma, \epsilon, L\) can be tuned using the primal-dual averaging scheme (Nesterov (2009)).

  • The procedure is similar to how \(\epsilon, L\) are tuned for HMC (Hoffman and Gelman (2014))

  • Let \({\boldsymbol{x}}\equiv (\log{\epsilon}, \log{\gamma}) \in {\mathbb R}^2\).

Input: desired Metropolis acceptance rate (\(\delta\)),
fixed simulation length (\(T\)), and \(\#\) iterations (\(N^*\)).

For each \(i\) in \(1 \dots N^*\):

\(\displaystyle f_i \leftarrow |{\delta - \min\{1, e^{H({\boldsymbol{\Psi}}_{{\boldsymbol{x}}, T}(\boldsymbol{q}, \boldsymbol{p})) - H(\boldsymbol{q}, \boldsymbol{p})} \}}|\)
\(g_i = (f_i, f_i) \in {\mathbb R}^2\)
\(x_{i+1} \leftarrow \text{dual-average}(x_{i}; g_i, g_{i-1}, \dots, g_0)\)

Output: \({\boldsymbol{x}}^*\) with \(\epsilon^* = \exp({\boldsymbol{x}}_1^*)\), \(L^* = T/\epsilon^*\), and \(\gamma^* = \exp({\boldsymbol{x}}_2^*)\)

Experiments

Benchmark data & Nested \(\ell_1\) target

Kou, Zhou, and Wong (2006)

Nested \(\ell_1\)

Comparisons:

  • RAM (Tak, Meng, and Dyk (2018))
  • PEHMC (Nemeth et al. (2019))
  • WHMC (Lan, Streets, and Shahbaba (2014))
Target Method \(W_2\) Acceptance Rate # Gradients per step (L) CPU Time per iteration (Time /L)
Benchmark HMC 0.337 92.1% 27 24.0s (0.9s)
RAHMC 0.011 57.4% 239 95.6s (0.4s)
RAM* 0.025 22.1% NA 1.8s (NA)
PEHMC 0.152 56.7% 77 938.0s (13.4s)
WHMC 0.051 84.3% 7 139.3s (19.9s)
Nested \(\ell_1\) HMC 14.088 90.3% 12 1.2s (0.1s)
RAHMC 0.272 47.3% 61 12.2s (0.2s)
RAM* 0.372 46.5% NA 12.4s (NA)
PEHMC 1.036 50.0% 20 150s (7.5s)
WHMC 13.742 92.0% 10 24.0s (2.4s)

Bimodal Anisotropic Gaussian

\[ \boxed{\pi \sim \mathcal{N}({\boldsymbol{\mu}}, \Sigma_1) + \mathcal{N}(-{\boldsymbol{\mu}}, \Sigma_2)} \]

where

  • \({\boldsymbol{\mu}}= 5 {\mathbf{1}}_d \in {\mathbb R}^d\)
  • \(d \in \left\{2, 10, 50\right\}\)
  • \(\Sigma_1(i, j) = 0.5^{|i-j|}\)
  • \(\Sigma_2 = Q \Sigma_1 Q^\top\) for \(Q \in SO(d)\)

\(W_2\) metric

Method d = 2 d = 10 d = 20 d = 50 d = 100
HMC 3.33 5.55 8.07 13.11 19.56
RAHMC 0.39 0.77 1.35 1.99 3.50
RAM 0.26 5.46 8.12 13.50 20.21
PEHMC 0.71 3.79 6.64 12.41 18.83

Acceptance Rate

Method d = 2 d = 10 d = 20 d = 50 d = 100
HMC 71.7% 82.8% 59.6% 91.1% 97.5%
RAHMC 49.2% 65.7% 62.6% 67.2% 71.4%
RAM 31.9% 11.8% 43.7% 29.1% 50.1%
PEHMC 92.0% 63.6% 63.5% 88.5% 69.2%

\(d=2\)

\(d=20\)

\(d=100\)

Enhanced Mixing Unimodal Gaussian

\[ \boxed{\pi \propto \mathsf{N}(0_d, {\mathbb I}_{d})} \]

With:

  • \(d \in \{3, 10, 50, 100\}\)
  • \(n=5,000\) with \(n_{\text{warm-up}}=5,000\)

Methods:

  • HMC with \(\epsilon=0.5\) and \(L=20\)
  • RAHMC with same \(\epsilon, L\) and \(\gamma=0.05\)
Method d = 3 d = 10 d = 50 d = 100
HMC 0.17 3.10 53.41 133.09
RAHMC 0.19 3.23 54.72 136.05
Margin of error \(\asymp n^{-1/d}\) 0.06 0.43 0.84 0.92

Bayesian Neural Network

Bayesian NN posterior for unbalanced XOR data exhibits two main modalities (Yallup et al. (2022))

Summary

  • RAHMC:

\[ \frac{d}{d t}(\boldsymbol{q}_t, \boldsymbol{p}_t) = \begin{cases} \color{green}{\boldsymbol{\Omega}\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t) + \boldsymbol{\Gamma}(\boldsymbol{q}_t, \boldsymbol{p}_t)} & 0 \le t \le T/2\\ \color{red}{\boldsymbol{\Omega}\boldsymbol{\nabla}H(\boldsymbol{q}_t, \boldsymbol{p}_t) - \boldsymbol{\Gamma}(\boldsymbol{q}_t, \boldsymbol{p}_t)} & T/2 \le t \le T \end{cases} \]

  • Framework can be extended to other variants of HMC:
    • e.g., Magnetic HMC, Non-canonical HMC, Relativistic Monte carlo
  • Moving away from the physical analogy of HMC:
    • provides more reliable sampling from multimodal target distributions
    • can lead to better mixing even when target doesn’t have any modalities

Open questions

  • Can No-U-Turn framework be incorporated to enhance efficiency?
  • Ergodicity? Convergence rate?
  • Beyond Euclidean spaces

Code

using main
using Distributions, DynamicPPL

x = randn(1000)
y = x .+ randn(1000) .* e

@model function lr(x, y)
    σ2 ~ Truncated(Normal(), 1e-6, Inf)
    b0 ~ Cauchy(2.0)
    b1 ~ Normal(0.0, 1.0)
    y ~ MvNormal(b0 .+ b1 .* x, σ2 * I)
end

samples, accepts = mcmc(
  DualAverage(λ=10, δ=0.8)
  HaRAM();
  lr(x, y),
  n=1e4, n_burn=1e4
);

References

Arnold, Vladimir Igorevich. 2013. Mathematical Methods of Classical Mechanics. Vol. 60. Springer Science & Business Media.
França, Guilherme, Jeremias Sulam, Daniel P Robinson, and René Vidal. 2020. “Conformal Symplectic and Relativistic Optimization.” Journal of Statistical Mechanics: Theory and Experiment 2020 (12): 124008.
Hairer, Ernst, Christian Lubich, and Gerhard Wanner. 2006. Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations. Vol. 31. Springer Science & Business Media.
Hoffman, Matthew D., and Andrew Gelman. 2014. “The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo.” Journal of Machine Learning Research 15 (47): 1593–623.
Kou, S. C., Qing Zhou, and Wing Hung Wong. 2006. “Equi-energy sampler with applications in statistical inference and statistical mechanics.” The Annals of Statistics 34 (4): 1581–1619.
Lan, Shiwei, Jeffrey Streets, and Babak Shahbaba. 2014. “Wormhole Hamiltonian Monte Carlo.” Proceedings of the AAAI Conference on Artificial Intelligence, 1953–59.
Nemeth, Christopher, Fredrik Lindsten, Maurizio Filippone, and James Hensman. 2019. “Pseudo-Extended Markov Chain Monte Carlo.” Advances in Neural Information Processing Systems 32.
Nesterov, Y. 2009. “Primal-Dual Subgradient Methods for Convex Problems.” Mathematical Programming, no. 1, 120: 221–59.
SV, and Hyungsuk Tak. 2024. “Repelling-Attracting Hamiltonian Monte Carlo.” arXiv Preprint arXiv:2403.04607.
Tak, Hyungsuk, Xiao-Li Meng, and David A. van Dyk. 2018. “A Repelling-Attracting Metropolis Algorithm for Multimodality.” Journal of Computational and Graphical Statistics 27 (3): 479–90.
Yallup, David, Will Handley, Mike Hobson, Anthony Lasenby, and Pablo Lemos. 2022. “Split Personalities in Bayesian Neural Networks: The Case for Full Marginalisation.” arXiv Preprint arXiv:2205.11151.

Questions?



Slides available at:
sidv23.github.io/bayescomp2025-slides