  The efficiency of Hamiltonian Monte Carlo (HMC) can suffer when sampling a
distribution with a wide range of length scales, because the small step sizes
needed for stability in high-curvature regions are inefficient elsewhere. To
address this we present a delayed rejection variant: if an initial HMC
trajectory is rejected, we make one or more subsequent proposals each using a
step size geometrically smaller than the last. We extend the standard delayed
rejection framework by allowing the probability of a retry to depend on the
probability of accepting the previous proposal. We test the scheme in several
sampling tasks, including multiscale model distributions such as Neal's funnel,
and statistical applications. Delayed rejection enables up to five-fold
performance gains over optimally-tuned HMC, as measured by effective sample
size per gradient evaluation. Even for simpler distributions, delayed rejection
provides increased robustness to step size misspecification. Along the way, we
provide an accessible but rigorous review of detailed balance for HMC.
