안녕하세요 조교입니다,
Sampling-based Inference 단원에서 많은 sampling 방법에 대해 학습하였습니다.
이번 시간에는 Langevin dynamics에 대해 알아보도록 하겠습니다.
많은 sampling 알고리즘은 marginal distribution을 알고 있거나
likelihood evaluation이 가능한 경우 적용할 수 있습니다.
하지만 종종 우리는 likelihood p(x)p(x) 가 아닌, score function인 \nabla \log{p(x)}∇logp(x) 를 추정하곤 합니다.
이러한 경우에는 기존의 sampling 방법이 아니라 새로운 방법을 통해 sampling 해야 하는데요,
이 경우에 적용할 수 있는 방법론이 Langevin dynamics입니다.
Langevin dynamics는 먼저 z_{n}\sim N(0,I)zn∼N(0,I) 를 뽑은 후에
x_{n+1}=x_{n}-\frac{\epsilon}{2}\nabla\log{p(x_{n})}+\sqrt{\epsilon}z_{n}xn+1=xn−2ϵ∇logp(xn)+√ϵzn 를 통해 현재 위치 x_{n}xn 을 x_{n+1}xn+1 으로 업데이트 합니다.
업데이트 수식은 gradient descent와 유사하게 보이지만, noise를 추가한다는 차이가 있는데요,
이 noise를 추가하는 차이 덕분에 Langevin dynamics의 stationary distribution은 p(x)p(x) 가 됩니다.
gradient descent는 local optima에 빠진 후에는 더이상 탈출하지 못하는 단점이 있는 반면,
Langevin dynamics는 이러한 단점을 auxiliary noise term으로 극복하고 있습니다.
추가적인 Langevin dynamics에 대한 설명은
https://arxiv.org/pdf/1907.05600.pdf
에 잘 나와 있습니다.
감사합니다
조교 드림
comment