Background

Hamiltonian Monte Carlo

논문을 이해하는 데에 conceptually 도움을 주는 Hamiltonian dynamics와, 그를 활용한 Hamiltonian Monte Carlo (HMC)에 대해 간략하게 리뷰하고 시작하겠습니다. 자세한 내용은 Neal (2011) 이나 Betancourt (2018) 를 참고하시면 됩니다.

Curse of dimensionality, and momentum

Untitled

많은 분들이 이미 아시는 것처럼, high dimension space의 geometry는 우리의 상상 밖이고, 우리의 intuition과 굉장히 다른 성질들을 갖고 있습니다. 예컨대, 위 그림과 같은 $\delta$-ball을 생각해봅시다. 1-d에서는 $\delta$-ball 내부와, 그를 둘러싸는 외부의 길이가 같지만, 2-d가 가면 $\delta$-ball 외부를 둘러싸는 띠의 surface가 더 커지고, 3-d가 되면 $\delta$-ball 외부를 둘러싸는 volume이 가운데의 부피보다 훨씬 커지게 됩니다. 이는 dimension이 하나가 증가할 때마다 exponential하게 증가하고, 따라서 high dimension에서의 부피는 바깥쪽 부분이 dominate 한다고 생각할 수 있습니다.

Untitled

이는 우리가 sampling을 원하는 high-dimensional target distribution $\pi(q)$ 가 있을 때, 이로부터 sampling을 할 때 고려할 점으로 작용합니다.

$\mathbb{E}_\pi[f] = \int dq\,\pi(q)f(q)$ 를 최대한의 효율로 approximate하고자 할 때, 우리는 $dq\,\pi(q)$ 의 값이 큰 점들, 즉 expectation에 가장 많이 기여하는 점들 위주로 집중하여 compute하고 싶을 것입니다. 이 때 $dq\,\pi(q)$ 의 값들이 큰 점은 curse of dimensionality로 인해 Typical set이라고 불리는 특정 부분에 모여있게 되며, 아래 그림과 같은 빨간 띠로 형상화 할 수 있습니다.

Untitled

이상적인 상황이라면, 우리가 MCMC로 sampling을 한다고 가정할 때, typical set 위에서만 샘플링을 할 수 있다면 그것이 가장 좋습니다. 아쉽게도, 우리가 알고 있는 gradient of log data density, i.e. $\nabla_q \log \pi(q)$ 는 이러한 typical set이 아니라 distribution의 mode 쪽을 가리키고 있겠죠.

Untitled

이러한 문제를 해결하기 위해, Hamiltonian에서는 우리가 관심 있는 variable인 $q$ 가 아닌 그의 dual (auxiliary) variable $p$ 를 introduce 하게 됩니다. 이는 momentum 이라고 불리는 variable이고, physical analogy에서 실제로 momentum의 역할을 하기 때문에 이렇게 불립니다.

위 그림과 같이 지구 주위를 orbit 하는 위성을 하나 가정합시다. 중력 (analagous to score function) 때문에 인공위성이 지구 쪽으로 당겨지는 힘이 있겠지만, 만약 회전하는 momentum이 충분히 (중력을 compensate할 만큼만) 있다면, 위성은 지구의 typical set위를 orbit할 것입니다. 이렇게 typical set 위에서 trajectory가 진행되게끔 만들어주는 것이 auxiliary variable $q$ 의 역할입니다.

Hamiltonian dynamics

Hamiltonian은 physics 관점에서 가장 잘 설명됩니다.

$$ H(q,p) = \underbrace{U(q)}{potential\,E} + \underbrace{K(p)}{kinetic\,E} = \underbrace{-\log \pi(q)}{U} + \underbrace{p^TM^{-1}p/2}{K} $$

에너지 보존 법칙과 같이, potential energy와 kinetic energy의 합인 Hamiltonian은 regardless of t, 일정하게 값이 유지됩니다. 또한, hamiltonian은 아래와 같은 governing equation이 있습니다.

$$ \frac{dq_i}{dt} = \frac{\partial H}{\partial p_i} = [M^{-1}p]_i \\ \frac{dp_i}{dt} = -\frac{\partial H}{\partial q_i} = - \frac{\partial U}{\partial q_i} $$

(added: Physical intuition)