랑주뱅 동역학(Langevin Dynamics)은 물리학의 입자 운동 방정식, 어떤 시스템의 상태 $\mathbf{x}$ 가 시간 $t$ 에 따라 어떻게 변화하는지를 나타내는 확률 미분 방정식이다. DDPM에서 이 개념을 이산화하여 샘플링 알고리즘으로 구현하였다.
이는 현재 상태 $\mathbf{x}_t$ (노이즈)에서 다음 상태 $\mathbf{x}_{t-1}$ (복원된 방향)로 이동할 때, 정확히 두 가지 힘의 선형 결합으로 궤적을 결정한다는 것을 보여준다.
결정론적 수렴 $\frac{\epsilon}{2} \nabla_{\mathbf{x}} \log p(\mathbf{x}_t)$ : 현재 위치에서 확률 밀도 $p(\mathbf{x})$ 가 가장 가파르게 증가하는 방향(gradient)과 그 크기를 나타낸다. 데이터를 확률 밀도가 높은 곳(실제 데이터가 존재하는 매니폴드)으로 끌고 가능 ‘방향성 있는 힘’이다. 이는 경사 상승법과 동일한 역할을 한다.
확률적 섭동 $\sqrt{\epsilon} \mathbf{z}_t$ : $\mathbf{z}_t \sim \mathcal{N}(\mathbf{0}, \mathbf{I})$ 인 표준 정규 분포 백색 잡음(브라운 운동)이다. 결정론적인 힘(스코어)에 의해 이동하는 와중에, 의도적으로 매 스텝마다 부여하는 무작위적인 흔들림이다.
DDPM에서 u-net이 노이즈를 예측해서 제거하였는데, 깨끗하게 만든 데이터에 $\mathbf{z}_t$ 라는 무작위 노이즈를 더해야 할까?
기울기(스코어)만 따라가면 데이터는 자신과 가장 가까운 극대점으로 수렴한다. 이렇게 되면 다양한 무작위 노이즈에서 출발하더라도, 결국 생성되는 이미지는 확률 지형에서 가장 높은 봉우리에 해당하는 뻔한 사진들로 수렴해버린다(mode collapse).
기울기를 따라 올라가면서도 계속해서 무작위 노이즈( $\mathbf{z}_t$ )를 주입하면, 입자가 꼭대기에 정지하지 못하고 주변을 끊임없이 배회하게 된다.
이 무작위 배회 과정을 무한히 반복하면, 입자가 특정 공간에 머무르는 시간의 비율이 정확히 그 공간의 확률 밀도 $p(\mathbf{x})$ 와 일치하게 된다는 것을 증명하였다?
즉, 가장 높은 봉우리(흔한 데이터)에서는 오래 머물지만, 종종 낮은 봉우리(희귀한 데이터)로 넘어가서 배회하기도 한다. 이것은 단순 최적화가 아닌, 데이터의 분포를 근사하려 샘플링(생성)하기 위함이다.
배회한다고 해도 결국 특정 점(관측된 데이터) 주변이기 때문에 비슷한(노이즈가 약간 낀) 것들밖에 생성하지못하는게 아닌가?
초기(t=1000) 노이즈가 바라보는 고차원은 단일 봉우리이다. 이때 노이즈를 제거하며 점점 단일 봉우리가 다봉 분포로 바뀌면서 현재 데이터의 위치에서 가장 가까운 mode로 수렴한다. DDPM에서 분산 노이즈를 큰 분산 -> 작은 분산으로 스케줄링하는 이유는, 역과정 초반에 광범위한 탐색을 하다가 노이즈가 점점 걷어져 특정 봉우리에 안착했다면, 다른 봉우리로 가지 않고 현재 있는 봉우리에 정교하게 맞추도록 유도하기 위함이다.
DDPM 3.2에서 샘플링 수식은 다음과 같다.
이는 위 랑주뱅 동역학의 변형일 뿐이다.
신경망이 예측한 노이즈 $\boldsymbol{\epsilon}_\theta$ 가 곧 스코어 함수 $\nabla_{\mathbf{x}} \log p(\mathbf{x}_t)$ 를 근사(방향 제시)한다.
뒤에 붙어있는 $\sigma_t \mathbf{z}$ 가 확률적 섭동(무작위 흔들림)이다.(단, $t=1$ 에서 최종 이미지를 출력할 때만 이 노이즈를 생략하여 깔끔한 픽셀 값을 얻는다.)