로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

인공지능 및 기계학습 심화

임시 이미지 KAIST 산업및시스템공학과 문일철 교수 KOOC (KAIST Open Online Course)
http://www.edwith.org/aiml-adv/forum/130423
좋아요 689 수강생 3323

안녕하세요, 조교입니다.

Schrodinger Bridge Problem을 설명하기에 앞서, 이번 시간에는 조금 색다를 수 있는 이론을 가져와 보도록 하겠습니다. 왜냐하면 본 조교가 슈뢰딩거를 설명하기 위해서는 마음의 준비가 필요..하기 때문입니다.

오늘 설명드릴 논문은 Score-Based Generative Modeling with Critically-Damped Langevin Diffusion입니다. 해당 논문은 물리학에서 유래된 Hamiltonian Markov chain Monte-Carlo (Hamiltonian MCMC) 기법에서 유래된 방법론입니다. 이를 이해하기 앞서 Hamiltonian MCMC 먼저 소개될 필요가 있습니다. Hamiltonian MCMC를 설명하기에 앞서 MCMC가 무엇인지 먼저 이해할 필요가 있습니다. 사실 MCMC라는 것은 어떤 분포가 있고, 그 분포값 계산이 가능할 때 그 분포에서 데이터를 샘플링 하기 위해 Markov chain을 구성한 후 샘플을 그 chain의 마지막 proposal candidate로 생각하는 방법론입니다. 즉, 어떤 분포의 값을 안다고 우리가 그 분포에서 자유자재로 sampling할 수 있다는 것이 아닙니다. 이것은 매우 비직관적인 이야기로, "아니, 분포값을 계산할 수 있으면 우리 다 아는거잖아?"라는 믿음을 깨는 예제가 될 수 있겠습니다. 분포값을 안다고 다 아는게 아니라 샘플링을 위해서는 특수한 technique이 추가로 필요하고 그 technique이 잘 동작하지 않기 때문에 (보통의 경우) 더 향상된 샘플링 기법을 연구하는건 machine learning 분야 전반에 걸쳐서 매우 중요한 문제가 되겠습니다.

MCMC에서 Markov chain이란, 이전의 state  x_{t-1}  xt1 값에만 영향을 받아 현재 state  x_t  xt 가 계산된다는 것입니다. 그렇기 때문에 history-independent한 sample trajectory를 구성할 수 있고 계산이 아주 간편해 진다는 장점이 있습니다. 하지만, 반면, 이 경우 mode들 사이를 뛰어넘는 state transition이 매우 어렵다는 단점이 있습니다. 즉 어떤 mode에서 다른 mode로 이동하는게 어려운거죠. 왜냐구요? 우리는 분포값은 계산할 수 있는데 분포의 전제적인 모양은 모르거든요. 어디가 또 다른 mode인지 우리의 Markov chain은 알지 못합니다.

이를 해결하기 위해 Hamiltonian MCMC방법론이 나왔습니다. 이 방법론은 state에만 의존하는 transition이 일어나는 것이 아니라 state에 추가적으로 velocity까지 고려되어 state+velocity에 의존하는 transition이 일어난다는 것입니다. 즉, velocity는 어떻게 보면 momentum과 유사한 역할을 하며 조금 더 용이한 mode exploration을 보장해 준다는 장점이 있습니다. 이 알고리즘에 "Hamiltonian"이 붙는 이유는, 모든 고전역학은 (즉 F=ma는) Hamiltonian dynamics로 표현이 가능하고, Hamiltonian의 정수는 오로지 state(즉 position)와 velocity정보를 알고 있으면 질점의 향후 이동 경로는 모두 설명 가능하다는 것입니다. 그렇기 때문에 state뿐만이 아니라 velocity 또한 물리계에 있어 아주 핵심적인 역할을 하는 component이고 이를 MCMC에서 particle의 움직임을 묘사하는 데에 안 넣는게 오히려 이상한거죠.

이렇게 물리학에서 파생된 Hamiltonian MCMC가 diffusion의 forward-time process에 그대로 적용된 것이 오늘의 논문입니다. 하지만 오늘의 논문이 설명하는 바를 조금 더 꼼꼼히 설명하려면 이야기가 너무 길어지기 때문에 다음 시간에 마저 이어서 설명드리도록 하겠습니다.