앞 글에 이어서, improved techniques for training score-based generative models 논문을 계속 살펴보기로 한다.
고화질 이미지들에 대해서, 저자들은 앞 글에서의 technique 1과 2를 통해 큰 $\sigma_1$을 잡고 다양한 noise scale에 대해서 학습을 하는 것을 추천했다. 원래 NCSN 논문에서 저자들은 각 noise scale을 다루기 위해 scale의 separate set과 bias의 separate scale을 통해 접근하였다. 하지만 이 방식은 $L$에 대해 메모리가 선형적으로 증가하고 NCSN이 normalization layer이 ㅇ벗으면 작동하지 않는다. NCSN 본 논문에 나온 것처럼, 저자들이 실험적으로 관찰한 것은
$$ \|s_{\sigma}(x,\sigma)\|_2\propto1/\sigma $$
라는 것이다. 따라서 저자들은 NCSN을 $1/\sigma$로 나눠줄 것을 제안한다.
NCSN을 다음처럼 정규화하는 것을 추천한다:
$$ s_{\theta}(x,\sigma)=s_{\sigma}(x)/\sigma $$
이 때 $s_{\theta}(x)$는 unconditioned score network이다.
NCSN을 annealed Langevin dynamics로 샘플링하기 위해서는 noise scale $T$마다 sampling의 수를 정해야 하고 step size parameter $\epsilon$을 정해야 한다. 원래 NCSN의 논문에서는 $\epsilon=2\times10^{-5}$이고 $T=100$이어야 하는데, 다른 noise scale에서는 이를 어떻게 정해야 하는지 불명확하다.
이를 이론적으로 접근하기 위해서, 다시 한 번 앞 글에서처럼 $p_{\sigma_{i}}(x)=\mathcal{N}(x|0,\sigma_{i}^{2}I)$로 데이터셋이 한 점만으로 구성되어 있다고 가정한다.
Langevin dynamics가 다음처럼 구성된다는 것을 다시 상기하자.
$$ x_{t+1}\leftarrow x_t+\alpha\nabla_{x}\log p_{\sigma_{i}}(x_t)+\sqrt{2\alpha}z_t $$
이 때 $x_0\sim p_{\sigma_{i}}(x)$이고 $z_t\sim\mathcal{N}(0,I)$이다. 다행히도, $x_T$의 분포는 closed form으로 표현이 가능하다.
조건들로부터, 다음이 성립한다:
$$ x_0\sim p_{\sigma_{i-1}}(x)=\mathcal{N}(0,\sigma_{i-1}^{2}I) $$
$$ x_{t+1}\leftarrow x_t+\alpha\nabla_{x}\log p_{\sigma_{i}}(x_t)+\sqrt{2\alpha}z_t=x_{t}-\alpha\frac{x_{t}}{\sigma_{i}^{2}}+\sqrt{2\alpha}z_{t} $$
따라서 $x_{t}$의 variance는 다음을 만족한다: