Improved Techniques for Training Score-Based Generative Models
0. Summary
기본 정보 : ArXiv,2020.06.16 (NeurIPS 2020), Improved Techniques for Training Score-Based Generative Models
연구 배경
Score 기반 생성 모델은 우도가 가장 빠르게 증가하는 방향을 가리키는 벡터장인 score $\nabla_x\log p(x)$로 확률 분포를 표현하며, 적대적 최적화 없이 데이터에서 학습해 CIFAR-10 같은 단순 데이터셋에서 GAN에 견줄 만한 샘플을 만들 수 있었다. 그러나 기존 방법(NCSN)은 32×32 저해상도에서만 동작했다. 첫째, score는 여러 노이즈 스케일로 교란된 데이터에 대한 denoising score matching으로 학습되는데, 그 노이즈 스케일을 어떻게 골라야 하는지가 열린 문제였고 NCSN의 권장 설정($\sigma_1=1,\sigma_L=0.01,L=10$)은 해상도가 커지면 실패했다. 둘째, 샘플은 백색 잡음에서 시작해 score network로 점진적으로 denoising하는 Langevin dynamics로 만드는데, 고차원에서 불완전한 학습된 score와 함께 쓰면 수렴에 실패하거나 극단적으로 오래 걸릴 수 있었다. 게다가 손실은 꾸준히 줄어도 큰 해상도에서 샘플의 시각 품질이 불안정하게 요동쳤다.
제안 방법
단순화된 혼합 모델에 대한 새로운 이론 분석에 기반해 노이즈 스케일 집합을 학습 데이터에서 해석적으로 계산하는 방법, 하나의 네트워크로 많은(가능하면 무한한) 노이즈 스케일에 걸쳐 score 추정을 상각하는 효율적 구조, Langevin dynamics 수렴 성질의 단순화된 분석에 기반해 노이즈 스케일의 함수로 샘플링 성능을 근사 최적화하는 기법, 그리고 안정성을 위한 파라미터의 지수 이동 평균(EMA) 을 제안한다. 구체적으로 다섯 가지 기법이다. (1) 초기 노이즈 $\sigma_1$을 학습 데이터 쌍 사이의 최대 유클리드 거리만큼 크게 잡는다. (2) 노이즈 스케일을 공비 $\gamma$의 등비수열로 두되, 인접 스케일의 반경 분포가 충분히 겹치도록 $\Phi(\sqrt{2D}(\gamma-1)+3\gamma)-\Phi(\sqrt{2D}(\gamma-1)-3\gamma)\approx0.5$를 만족시킨다. (3) 무조건 score network의 출력을 $1/\sigma$로 나누는 $s_\theta(x,\sigma)=s_\theta(x)/\sigma$로 노이즈를 조건화한다. (4) 스케일당 Langevin 스텝 수 $T$를 계산 예산 안에서 최대로 잡고, 닫힌 형식 Eq. 4가 1에 가장 가깝도록 스텝 크기 $\epsilon$을 고른다. (5) 샘플링에 EMA 파라미터($m=0.999$)를 쓴다. 이렇게 만든 모델이 NCSNv2다.
발견 사실
CIFAR-10 FID가 NCSN 25.32에서 NCSNv2(denoising 포함) 10.87로, CelebA 64×64에서는 25.30에서 10.23으로 크게 개선되었다(Table 1). 사람 평가 지표 HYPE$_\infty$에서는 CelebA에서 NCSN 19.8 대비 NCSNv2 37.3으로 ProgressiveGAN(40.3)에 근접했으며, FID 순위와 HYPE 순위가 뒤집히는 경우도 있어 FID만으로 판단하는 것의 한계가 드러났다(Table 5). NCSN이 전혀 구조를 만들지 못하던 96×96 이상에서 NCSNv2는 LSUN church(96), bedroom·tower(128), FFHQ 256×256에서 고충실도 샘플을 생성했고, 수동 하이퍼파라미터 조정 없이 노이즈 스케일과 스텝 크기를 직접 계산했다. Ablation에서 기법을 (iii) 노이즈 조건화, (ii) 노이즈 스케일+스텝 크기, (i) EMA 순으로 제거하면 모두 vanilla NCSN보다 좋지만 시각 품질은 단계적으로 나빠지고, EMA만으로도 FID 변동성과 색 편이(color shift) artifact가 사라진다(Fig. 4, 5). 학습/테스트 손실 곡선과 최근접 이웃 분석은 암기가 아님을 보여 준다(Appendix C.5).
핵심 기여
- 노이즈 스케일의 이론적 설계 규칙 : 경험적 분포에 대한 Proposition 1로 $\sigma_1$이 데이터 쌍 간 거리와 비견되어야 모드 간 전이가 가능함을, 고차원 가우시안의 반경 집중(Proposition 2)으로 등비수열과 공비 조건을 유도해, 수동 격자 탐색 없이 데이터셋과 해상도에 맞는 ${\sigma_i}$를 계산할 수 있게 했다.
- 단순한 노이즈 조건화와 샘플러 설정 : score 노름이 $1/\sigma$에 비례한다는 관찰로 조건부 정규화 층 없이 $s_\theta(x)/\sigma$로 수백~수천 개(연속 포함) 노이즈 스케일을 다루게 했고, 한 점 데이터에 대한 Langevin dynamics의 닫힌 형식 분산(Proposition 3)으로 $\epsilon$과 $T$를 정하는 규칙을 제시했다.
- EMA와 고해상도 스케일링 : EMA가 FID 변동과 색 편이를 제거한다는 것을 보이고, 다섯 기법을 결합해 score 기반 모델을 처음으로 64×64~256×256 해상도로 확장해 CelebA·FFHQ·LSUN에서 최고 수준 GAN에 견주는 샘플을 얻었다. 이 규칙들은 이후 Score SDE와 확산 모델 전반의 기본 레시피가 되었다.
관련 개념
배경: Langevin Dynamics와 Score 기반 생성 모델링
Score 함수는 연속 미분 가능한 확률 밀도 $p(x)$에 대해 $\nabla_x\log p(x)$입니다. 많은 상황에서 score는 밀도 자체보다 모델링과 추정이 쉽습니다. 예를 들어 비정규화 밀도에서는 분배 함수에 의존하지 않습니다. Score를 알면 Langevin dynamics로 해당 분포에서 샘플링할 수 있습니다(Sec. 2).
🌀 1. Langevin dynamics (Eq. 1)
스텝 크기 $\alpha>0$, 반복 수 $T$, 임의의 prior $\pi(x)$에서 뽑은 초기 샘플 $x_0$에 대해
\[x_t\leftarrow x_{t-1}+\alpha\,\nabla_x\log p(x_{t-1})+\sqrt{2\alpha}\,z_t,\qquad z_t\sim\mathcal N(0,I),\ 1\le t\le T\]$\alpha$가 충분히 작고 $T$가 충분히 크면 정칙 조건 아래 $x_T$의 분포가 $p(x)$에 가까워집니다. Score network $s_\theta(x)\approx\nabla_x\log p(x)$로 학습되어 있으면 Eq. 1의 score를 $s_\theta$로 대체해 근사 샘플을 얻습니다. Eq. 1은 로그 밀도에 대한 노이즈 섞인 경사 상승으로 해석됩니다.
🎯 2. Noise Conditional Score Network (Eq. 2)
학습 데이터가 없는 영역에서는 추정된 score가 부정확하므로, 샘플링 궤적이 그런 영역을 지나면 Langevin dynamics가 올바로 수렴하지 않을 수 있습니다. NCSN의 해결책은 데이터를 서로 다른 세기의 가우시안 노이즈로 교란하고 모든 노이즈 교란 분포의 score를 동시에 추정하는 것입니다. 노이즈 스케일 열 $\sigma_1>\sigma_2>\dots>\sigma_L$에 대해 $p_\sigma(\tilde x\mid x)=\mathcal N(\tilde x\mid x,\sigma^2I)$, $p_\sigma(\tilde x)\triangleq\int p_\sigma(\tilde x\mid x)p_{data}(x)\,dx$로 두고 결합 네트워크 $s_\theta(x,\sigma)$를 다음 손실로 학습합니다.
\[\frac{1}{2L}\sum_{i=1}^{L}\mathbb E_{p_{data}(x)}\mathbb E_{p_{\sigma_i}(\tilde x\mid x)}\Big[\Big\lVert\sigma_i\,s_\theta(\tilde x,\sigma_i)+\frac{\tilde x-x}{\sigma_i}\Big\rVert_2^2\Big]\]모든 기댓값은 경험 평균으로 효율적으로 추정되며, 데이터와 모델 용량이 충분하면 최적해 $s_{\theta^*}(x,\sigma_i)=\nabla_x\log p_{\sigma_i}(x)$가 거의 모든 곳에서 성립합니다.
🪜 3. Annealed Langevin dynamics (Algorithm 1)와 denoising 스텝
학습된 NCSN에서 샘플링은 모든 노이즈 스케일의 정보를 결합하는 annealed Langevin dynamics로 이루어집니다.
- $x_0$ 초기화
- $i=1,\dots,L$에 대해: 스텝 크기 $\alpha_i\leftarrow\epsilon\cdot\sigma_i^2/\sigma_L^2$; $t=1,\dots,T$에 대해 $z_t\sim\mathcal N(0,I)$, $x_t\leftarrow x_{t-1}+\alpha_i s_\theta(x_{t-1},\sigma_i)+\sqrt{2\alpha_i}z_t$; $x_0\leftarrow x_T$
- denoising하면 $x_T+\sigma_T^2 s_\theta(x_T,\sigma_T)$, 아니면 $x_T$ 반환
$p_{\sigma_1}(x),\dots,p_{\sigma_L}(x)$에서 차례로 샘플링하되, 각 스케일의 샘플이 다음 스케일 Langevin dynamics의 초기값이 됩니다. 이 논문의 첫 공개 이후 Jolicoeur-Martineau 등이 마지막에 denoising 스텝을 더하면 시각적 외관은 바꾸지 않으면서 FID가 크게 좋아진다는 것을 발견했습니다. 이 스텝은 Tweedie 공식으로 $x_T$에서 원치 않는 노이즈 $\mathcal N(0,\sigma_T^2I)$를 제거하는 것이며, 본문 결과는 이를 반영해 갱신되었고 부록에는 denoising 없는 원래 결과도 남겨 두었습니다.
NCSN의 성공에 결정적인 설계 선택은 (i) 노이즈 스케일 집합 ${\sigma_i}$, (ii) $s_\theta(x,\sigma)$가 $\sigma$ 정보를 통합하는 방식, (iii) 스텝 크기 파라미터 $\epsilon$, (iv) 스케일당 샘플링 스텝 수 $T$입니다. 논문은 이들을 수동 조정 없이 설정하는 이론적 근거를 제공합니다.
💡 Key Takeaway NCSN의 틀 자체는 바뀌지 않습니다. 바뀌는 것은 네 개의 하이퍼파라미터를 “경험적으로 고른 값”에서 “데이터와 차원에서 계산된 값”으로 대체하는 것입니다.
Technique 1: 초기 노이즈 스케일 $\sigma_1$
노이즈 스케일의 중요성은 NCSN 논문에서 이미 확인되었습니다. 단일 노이즈로 학습한 score network는 큰 이미지에서 설득력 있는 샘플을 절대 내지 못합니다. 높은 노이즈는 score 추정을 쉽게 하지만 샘플을 손상시키고, 낮은 노이즈는 깨끗한 샘플을 주지만 score 추정을 어렵게 하므로 여러 스케일을 함께 써야 합니다. 픽셀 범위가 $[0,1]$일 때 NCSN은 $L=10$, $\sigma_1=1$, $\sigma_L=0.01$의 등비수열을 권장했습니다. $\sigma_L=0.01\ll1$은 합리적이지만, (i) $\sigma_1=1$이 적절한가, (ii) 등비수열이 좋은 선택인가, (iii) $L=10$이 모든 데이터셋에 좋은가는 답이 없었습니다(Sec. 3).
🔭 1. 분석: 경험적 분포의 혼합 score (Proposition 1)
Annealed Langevin dynamics는 큰 노이즈에서 변화가 풍부한 거친 샘플을 만든 뒤 작은 노이즈에서 변화가 적은 세밀한 샘플로 수렴하는 반복적 정제 절차입니다. 따라서 $\sigma_1$이 최종 샘플의 다양성을 크게 좌우합니다. 다양성을 위해 $\sigma_1$을 최대한 크게 하고 싶지만, 과도하게 크면 더 많은 노이즈 스케일이 필요해 샘플링이 비싸집니다.
실제 데이터 분포는 분석이 어려우므로 경험적 분포로 근사합니다. 데이터셋 ${x^{(1)},\dots,x^{(N)}}$에 대해 $p_{data}(x)\approx\hat p_{data}(x)\triangleq\frac1N\sum_i\delta(x=x^{(i)})$이고, $\mathcal N(0,\sigma_1^2I)$로 교란하면 $\hat p_{\sigma_1}(x)\triangleq\frac1N\sum_i p^{(i)}(x)$, $p^{(i)}(x)\triangleq\mathcal N(x\mid x^{(i)},\sigma_1^2I)$가 됩니다. 초기화와 무관하게 다양한 샘플을 내려면 Langevin dynamics가 임의의 성분 $p^{(j)}$에서 출발해 다른 성분 $p^{(i)}$를 탐색할 수 있어야 합니다.
Proposition 1 : $r^{(i)}(x)\triangleq p^{(i)}(x)/\sum_k p^{(k)}(x)$로 두면 score는 $\nabla_x\log\hat p_{\sigma_1}(x)=\sum_i r^{(i)}(x)\nabla_x\log p^{(i)}(x)$이고,
\[\mathbb E_{p^{(i)}(x)}\big[r^{(j)}(x)\big]\le\frac12\exp\!\left(-\frac{\lVert x^{(i)}-x^{(j)}\rVert_2^2}{8\sigma_1^2}\right)\]$i\ne j$인 $p^{(i)}$에서 $p^{(j)}$로 쉽게 전이하려면 $\mathbb E_{p^{(i)}}[r^{(j)}]$가 상대적으로 커야 합니다. 그렇지 않으면 score가 (평균적으로) 성분 $p^{(j)}$를 무시해 Langevin dynamics는 $p^{(j)}$가 없는 것처럼 행동합니다. 위 경계는 $\sigma_1$이 $\lVert x^{(i)}-x^{(j)}\rVert_2$에 비해 작으면 이 양이 지수적으로 빠르게 감쇠함을 보여 줍니다.
📏 2. 규칙과 검증 (Fig. 2)
Technique 1 (Initial noise scale) : $\sigma_1$을 모든 학습 데이터 쌍 사이의 최대 유클리드 거리만큼 크게 고른다.
CIFAR-10에서 모든 학습 이미지 쌍의 중앙값 거리는 약 18이므로, NCSN의 $\sigma_1=1$은 $\mathbb E[r(x)]<10^{-17}$을 뜻해 다양한 샘플을 내기 어렵습니다. 검증을 위해 CIFAR-10 테스트 이미지 10,000장을 중심으로 하는 가우시안 혼합에서 참 score로 annealed Langevin dynamics를 돌렸습니다(NCSN 학습의 교란 요인 배제). 초기 샘플은 $[0,1]^{32\times32\times3}$ 균일분포입니다.
| 설정 | 샘플 쌍 평균 거리 |
|---|---|
| 데이터 | 17.78 |
| $\sigma_1=1$ | 10.12 |
| $\sigma_1=50$ (Technique 1) | 18.65 |
$\sigma_1=50$의 샘플은 실제 이미지와 비슷한 다양성을 보이고 $\sigma_1=1$보다 훨씬 다양합니다.
🗃️ 3. 데이터셋별 $\sigma_1$ (Table 4)
| 데이터셋 | NCSN $\sigma_1$ | NCSNv2 $\sigma_1$ |
|---|---|---|
| CIFAR-10 32² | 1 | 50 |
| CelebA 64² | 1 | 90 |
| LSUN church_outdoor 96² | 1 | 140 |
| LSUN bedroom/tower 128² | 1 | 190 |
| FFHQ 256² | - | 348 |
학습 데이터가 60,000장을 넘으면 10,000장을 무작위로 뽑아 최대 쌍별 거리를 계산합니다.
💡 Key Takeaway $\sigma_1$은 “노이즈의 세기”라기보다 “Langevin dynamics가 모드 사이를 건너뛸 수 있는 다리의 길이”입니다. 데이터 쌍 사이 최대 거리에 못 미치면 다리가 끊깁니다.
Technique 2: 등비수열과 공비 조건
$\sigma_L$과 $\sigma_1$을 정한 뒤에는 노이즈 스케일 수 $L$과 나머지 원소를 정해야 합니다. NCSN 논문의 분석대로, 모든 $1<i\le L$에 대해 $p_{\sigma_i}(x)$가 $p_{\sigma_{i-1}}(x)$의 고밀도 영역에 충분한 학습 데이터를 생성하는 것이 결정적입니다. $p_{\sigma_{i-1}}$의 샘플로 Langevin dynamics를 초기화할 때 $p_{\sigma_i}$에 대한 신뢰할 수 있는 기울기 신호가 필요하기 때문입니다. 그러나 ${\sigma_i}$에 대한 광범위한 격자 탐색은 매우 비쌉니다(Sec. 3.2).
📐 1. 분석: 고차원 가우시안의 반경 집중 (Proposition 2)
데이터가 한 점뿐인 단순한 경우, 즉 $\forall i:\ p_{\sigma_i}(x)=\mathcal N(x\mid0,\sigma_i^2I)$를 생각합니다. 초구면 좌표로 $p_{\sigma_i}(x)=p(\varphi)p_{\sigma_i}(r)$로 분해하면, 등방 가우시안이므로 각 성분 $p(\varphi)$는 균일하고 모든 노이즈 스케일이 공유합니다. 반경 성분은 다음과 같습니다.
Proposition 2 : $x\in\mathbb R^D\sim\mathcal N(0,\sigma^2I)$, $r=\lVert x\rVert_2$이면
\[p(r)=\frac{1}{2^{D/2-1}\Gamma(D/2)}\frac{r^{D-1}}{\sigma^D}\exp\!\Big(-\frac{r^2}{2\sigma^2}\Big),\qquad r-\sqrt D\sigma\xrightarrow{d}\mathcal N(0,\sigma^2/2)\ \ (D\to\infty)\]이미지 데이터의 차원은 수천에서 수백만이므로 $p(r)\approx\mathcal N(r\mid\sqrt D\sigma,\sigma^2/2)$가 무시할 만한 오차로 성립합니다. 따라서 $p_{\sigma_i}(r)=\mathcal N(r\mid m_i,s_i^2)$, $m_i\triangleq\sqrt D\sigma_i$, $s_i^2\triangleq\sigma_i^2/2$로 단순화합니다.
🔗 2. 겹침 조건에서 등비수열이 나오는 이유
$p(\varphi)$는 모든 스케일이 공유하므로 $p_{\sigma_i}$는 이미 $p_{\sigma_{i-1}}$의 각 성분을 덮습니다. 따라서 반경 성분의 큰 겹침만 필요합니다. “3시그마 경험 법칙”으로 $p_{\sigma_{i-1}}(r)$의 고밀도 구간을 $I_{i-1}\triangleq[m_{i-1}-3s_{i-1},\ m_{i-1}+3s_{i-1}]$로 두고, 모든 $1<i\le L$에 대해
\[p_{\sigma_i}(r\in I_{i-1})=\Phi\big(\sqrt{2D}(\gamma_i-1)+3\gamma_i\big)-\Phi\big(\sqrt{2D}(\gamma_i-1)-3\gamma_i\big)=C\]를 적당히 큰 상수 $C>0$로 고정하는 것이 자연스럽습니다. 여기서 $\gamma_i\triangleq\sigma_{i-1}/\sigma_i$, $\Phi$는 표준정규 CDF입니다. 이 선택은 곧바로 $\gamma_2=\gamma_3=\dots=\gamma_L$을 함의하므로 ${\sigma_i}$는 등비수열이어야 합니다.
⚖️ 3. 규칙: $C\approx0.5$
이상적으로는 $C\approx1$이 되도록 가능한 한 많은 노이즈 스케일을 써야 하지만, 스케일마다 Langevin dynamics를 순차 실행해야 하므로 샘플링이 매우 비싸집니다. 반대로 NCSN의 $L=10$(32×32)은 수치 정밀도 안에서 $C=0$ 이 될 만큼 너무 적습니다.
Technique 2 (Other noise scales) : ${\sigma_i}_{i=1}^{L}$을 공비 $\gamma$의 등비수열로 두되 $\Phi(\sqrt{2D}(\gamma-1)+3\gamma)-\Phi(\sqrt{2D}(\gamma-1)-3\gamma)\approx0.5$를 만족하게 고른다.
| 데이터셋 | $D$ | NCSNv2 $L$ |
|---|---|---|
| CIFAR-10 32² | 3,072 | 232 |
| CelebA 64² | 12,288 | 500 |
| LSUN church 96² | 27,648 | 788 |
| LSUN bedroom/tower 128² | 49,152 | 1,086 |
| FFHQ 256² | 196,608 | 2,311 |
차원 $D$가 커질수록 같은 겹침을 유지하려면 공비가 1에 가까워져야 하므로 $L$이 급격히 늘어납니다. 이것이 고해상도 score 모델이 수백~수천 개의 노이즈 스케일을 쓰게 되는 이유입니다.
💡 Key Takeaway 고차원 가우시안은 반지름 $\sqrt D\sigma$의 얇은 껍질에 집중합니다. 인접 껍질이 겹치려면 공비가 $1+O(1/\sqrt D)$여야 하고, 그래서 해상도가 커지면 노이즈 스케일 수가 수천으로 늘어납니다.
Technique 3·4: 노이즈 조건화와 Annealed Langevin Dynamics 설정
Technique 1·2를 따르면 고해상도에서 큰 $\sigma_1$과 엄청난 수의 노이즈 스케일이 필요합니다. NCSN은 노이즈 스케일을 받아 대응하는 score를 내는 단일 상각 네트워크이므로, 수백~수천 스케일을 어떻게 조건화할지, 그리고 그 스케일에 맞춰 샘플러를 어떻게 설정할지가 문제가 됩니다(Sec. 3.3, Sec. 4).
🎛️ 1. Technique 3: $s_\theta(x,\sigma)=s_\theta(x)/\sigma$
NCSN은 정규화 층의 스케일·바이어스 파라미터 집합을 노이즈 스케일마다 따로 두어 노이즈 정보를 통합했습니다(CondInstanceNorm++). 그러나 메모리 소비가 $L$에 선형으로 늘고, 정규화 층이 없는 NCSN에는 적용할 수 없습니다.
Sec. 3.2의 $p_\sigma(x)=\mathcal N(x\mid0,\sigma^2I)$에서 $\mathbb E[\lVert\nabla_x\log p_\sigma(x)\rVert_2]\approx\sqrt D/\sigma$이고, NCSN 논문에서 경험적으로 실제 데이터에 학습된 NCSN도 $\lVert s_\theta(x,\sigma)\rVert_2\propto1/\sigma$임이 관찰되었습니다. Score 노름이 $\sigma$에 반비례하므로, 무조건 score network의 출력을 $1/\sigma$로 재스케일해 노이즈 정보를 넣을 수 있습니다.
Technique 3 (Noise conditioning) : 무조건 score network $s_\theta(x)$로 $s_\theta(x,\sigma)=s_\theta(x)/\sigma$로 매개변수화한다.
$\sigma_1$과 $\sigma_L$이 여러 자릿수 차이가 나므로 깊은 네트워크가 이 재스케일링을 자동으로 배우기는 보통 어렵습니다. 이 단순한 선택은 구현이 쉽고 많은(연속적인 것까지) 노이즈 스케일을 쉽게 다룹니다. Fig. 3에서 원래 노이즈 조건화와 비슷한 학습 손실을 보이고, 더 좋은 샘플을 냅니다(Appendix C.4). 구조상으로는 CondInstanceNorm++의 클래스 수를 1로 두고(InstanceNorm++), RefineNet block의 정규화 층을 모두 제거하며, average pooling을 다시 max pooling으로 되돌립니다. 활성 함수는 ELU입니다.
🧮 2. Technique 4: $T$와 $\epsilon$ (Proposition 3)
NCSN은 $\epsilon=2\times10^{-5}$, $T=100$을 권장했지만 다른 노이즈 스케일 집합에서 어떻게 바꿔야 할지는 불명확했습니다. 다시 한 점 데이터 설정에서, annealed Langevin dynamics는 $p_{\sigma_{i-1}}$의 샘플로 $p_{\sigma_i}$의 Langevin dynamics를 초기화해 인접 스케일을 연결합니다. $x_0\sim p_{\sigma_{i-1}}(x)$, $x_{t+1}\leftarrow x_t+\alpha\nabla_x\log p_{\sigma_i}(x_t)+\sqrt{2\alpha}z_t$일 때 $x_T$의 분포는 닫힌 형식입니다.
Proposition 3 : $\gamma=\sigma_{i-1}/\sigma_i$, $\alpha=\epsilon\cdot\sigma_i^2/\sigma_L^2$(Algorithm 1)이면 $x_T\sim\mathcal N(0,s_T^2I)$이고
\[\frac{s_T^2}{\sigma_i^2}=\Big(1-\frac{\epsilon}{\sigma_L^2}\Big)^{2T}\left(\gamma^2-\frac{2\epsilon}{\sigma_L^2-\sigma_L^2\big(1-\frac{\epsilon}{\sigma_L^2}\big)^2}\right)+\frac{2\epsilon}{\sigma_L^2-\sigma_L^2\big(1-\frac{\epsilon}{\sigma_L^2}\big)^2}\]Technique 2대로 등비수열이면 $\gamma$가 공유되므로 $s_T^2/\sigma_i^2$는 모든 $1<i\le L$에서 동일하고, 차원 $D$에 명시적으로 의존하지 않습니다. 혼합이 잘 되려면 $s_T^2/\sigma_i^2$가 모든 스케일에서 1에 가까워야 하며, Eq. 4와 1의 차이를 최소화하는 $\epsilon,T$를 찾으면 됩니다. 그러나 이는 종종 불필요하게 큰 $T$를 낳아 큰 $L$에서 샘플링이 매우 비싸집니다.
Technique 4 (selecting $T$ and $\epsilon$) : 계산 예산이 허용하는 한 $T$를 크게 고르고(보통 $T\times L$이 수천), 그 다음 Eq. 4가 1에 최대한 가깝게 되는 $\epsilon$을 고른다.
$\epsilon$을 찾을 때는 경사 기반 최적화보다 격자 탐색을 권장합니다.
| 데이터셋 | $L$ | $T$ | $\epsilon$ | $T\times L$ |
|---|---|---|---|---|
| CIFAR-10 32² | 232 | 5 | 6.2e-6 | 1,160 |
| CelebA 64² | 500 | 5 | 3.3e-6 | 2,500 |
| LSUN church 96² | 788 | 4 | 4.9e-6 | 3,152 |
| LSUN bedroom/tower 128² | 1,086 | 3 | 1.8e-6 | 3,258 |
| FFHQ 256² | 2,311 | 3 | 0.9e-7 | 6,933 |
NCSN은 $L=10$, $T=100$으로 $T\times L=1,000$이었습니다. NCSNv2는 스케일 수를 수백 배 늘리는 대신 스케일당 스텝을 3~5로 줄여 총 네트워크 평가 수를 비슷한 자릿수로 유지합니다.
💡 Key Takeaway 노이즈 스케일이 2,000개가 넘어도 “스케일당 3~5 스텝”이면 충분하다는 것이 Proposition 3의 실용적 결론입니다. 등비수열 덕분에 모든 스케일에서 같은 수렴 조건이 성립하기 때문입니다.
Technique 5: 지수 이동 평균(EMA)
학습 불안정성은 GAN과 달리 하나의 통합된 목적(Eq. 2)만 가진 score 기반 모델에서도 나타납니다. NCSN의 손실은 학습 내내 꾸준히 줄지만, 생성된 이미지 샘플은 특히 큰 해상도에서 시각 품질이 불안정합니다(Sec. 5).
📉 1. 관찰: FID 변동과 색 편이 (Fig. 4, Appendix C.3)
NCSN 설정대로 CIFAR-10 32×32와 CelebA 64×64를 학습하며 5,000 반복마다 1,000 샘플의 FID를 계산하면, vanilla NCSN의 FID는 학습 중 크게 요동칩니다. 또 같은 체크포인트의 샘플들이 공통된 색 편이를 갖는 특징적 artifact가 있고, 학습이 진행되면서 편이되는 색이 바뀝니다. 50k/100k/200k 반복의 샘플(Fig. 11, 12)에서 이 현상이 분명히 보입니다. Denoising 스텝 유무와 무관하게 같은 양상입니다(Fig. 8).
🧷 2. 규칙
$i$번째 학습 반복 후의 NCSN 파라미터를 $\theta_i$, 독립적인 복사본을 $\theta’$라 하면, 매 최적화 스텝 후 $\theta’\leftarrow m\theta’+(1-m)\theta_i$로 갱신하고 샘플 생성에는 $s_{\theta’}(x,\sigma)$를 씁니다. 모멘텀 $m$은 보통 0.999입니다.
Technique 5 (EMA) : 샘플링 시 파라미터에 지수 이동 평균을 적용한다.
EMA는 FID를 효과적으로 안정시키고 artifact를 제거하며 대부분의 경우 더 좋은 FID를 줍니다. 그 효과는 여러 이미지 데이터셋에 걸쳐 보편적으로 관찰됩니다.
🔬 3. 왜 EMA가 작동하는가에 대한 해석
논문은 메커니즘을 이론적으로 분석하지는 않지만, 관찰은 다음을 시사합니다. 확률적 경사 하강의 파라미터 궤적은 손실 지형의 평평한 영역 안에서 계속 흔들리고, 그 흔들림이 score 출력의 전역 편향(색 편이)으로 나타납니다. 파라미터를 시간 평균하면 이 흔들림이 상쇄되어 샘플 품질이 안정됩니다. 같은 시기의 DDPM도 EMA 0.9999를 썼고, 이후 확산 모델에서 EMA는 사실상 필수 요소가 되었습니다.
💡 Key Takeaway 손실이 내려간다고 샘플이 좋아지는 것은 아닙니다. Score 모델의 샘플 품질은 파라미터의 미세한 요동에 민감하며, EMA는 거의 비용 없이 이를 잠재웁니다.
실험: NCSNv2의 정량·정성 결과와 Ablation
Technique 1~5를 모두 적용한 모델이 NCSNv2입니다. 이전에는 score 기반 생성 모델링이 닿지 못하던 고해상도 이미지를 포함해 많은 데이터셋에서 바로 동작합니다(Sec. 6, Appendix B, C).
📊 1. Table 1: Inception score와 FID
| 모델 | Inception ↑ | FID ↓ |
|---|---|---|
| CIFAR-10 무조건 | ||
| PixelCNN | 4.60 | 65.93 |
| IGEBM | 6.02 | 40.58 |
| WGAN-GP | 7.86±.07 | 36.4 |
| SNGAN | 8.22±.05 | 21.7 |
| NCSN | 8.87±.12 | 25.32 |
| NCSN (w/ denoising) | 7.32±.12 | 29.8 |
| NCSNv2 (w/o denoising) | 8.73±.13 | 31.75 |
| NCSNv2 (w/ denoising) | 8.40±.07 | 10.87 |
| CelebA 64×64 | ||
| NCSN (w/o denoising) | - | 26.89 |
| NCSN (w/ denoising) | - | 25.30 |
| NCSNv2 (w/o denoising) | - | 28.86 |
| NCSNv2 (w/ denoising) | - | 10.23 |
NCSN 논문을 따라 학습 중 1,000 샘플 FID가 가장 작은 체크포인트를 골라 더 많은 샘플로 전체 FID와 Inception score를 계산했습니다. NCSNv2(denoising 포함)는 두 데이터셋에서 FID를 크게 개선하며, CIFAR-10 Inception score는 약간 손해를 봅니다. 논문은 Inception score와 FID에 알려진 문제가 있어 시각 품질과 기대대로 상관하지 않을 수 있고, 특히 작은 노이즈 교란에 민감하다고 지적합니다. Denoising 유무에 따른 점수 차이(31.75 vs 10.87)가 그 증거입니다.
👁️ 2. 사람 평가: HYPE$_\infty$ (Table 5)
FID가 사람 판단과 어긋나는 예로, denoising 없는 CelebA에서 NCSNv2 샘플(Fig. 10b)의 FID는 28.9로 NCSN(26.9)보다 나쁘지만 시각적으로는 훨씬 좋습니다. 사람 평가 기반 지표 HYPE$_\infty$(높을수록 좋음)로 비교하면 순위가 완전히 뒤집힙니다.
| 모델 (CelebA 64×64) | HYPE$_\infty$ (%) | Fakes Error (%) | Reals Error (%) |
|---|---|---|---|
| StyleGAN (truncation) | 50.7 | 62.2 | 39.3 |
| ProgressiveGAN | 40.3 | 46.2 | 34.4 |
| BEGAN | 10 | 6.2 | 13.8 |
| WGAN-GP | 3.8 | 1.7 | 5.9 |
| NCSN | 19.8 | 22.3 | 17.3 |
| NCSNv2 | 37.3 | 49.8 | 24.8 |
NCSNv2의 37.3은 ProgressiveGAN에 견줄 만합니다.
🧪 3. Ablation (Fig. 5, 9, 13, 14)
기법을 세 그룹으로 나눕니다. (i) Technique 5(EMA), (ii) Technique 1·2·4(노이즈 스케일 집합과 그에 맞는 샘플러 설정은 함께 가야 하므로 묶음), (iii) Technique 3(노이즈 조건화). NCSNv2에서 (iii), (ii), (i)를 차례로 제거하며 denoising 포함(Fig. 5)·미포함(Fig. 9) FID를 보고합니다.
| 모델 | 적용 기법 |
|---|---|
| NCSN | 없음 (원래 모델) |
| NCSN$_5$ | EMA만 |
| NCSN$_{1,2,4,5}$ | EMA + 노이즈 스케일·샘플러 설정 |
| NCSNv2 | 전부 |
모든 그룹이 vanilla NCSN보다 좋습니다. 그룹을 제거할 때 FID가 엄격히 단조 증가하지는 않지만, FID가 샘플 품질과 항상 잘 상관하지 않는다는 점을 감안해 시각 검사(Appendix C.4)를 보면 품질이 단계적으로 나빠지며 모든 기법을 결합했을 때 가장 좋은 샘플이 나옵니다. NCSNv2의 FID는 평균적으로 NCSN보다 좋고 학습 중 분산이 훨씬 작습니다.
🖼️ 4. 고해상도로 (Fig. 1, 6, 7)
원래 NCSN은 MNIST 28×28과 CelebA/CIFAR-10 32×32에서만 시험되었습니다. CelebA 64×64에서는 전역 구조는 일관되지만 눈에 띄는 색 artifact가 있고, 96×96을 넘으면 올바른 구조나 색의 샘플을 전혀 만들지 못합니다(Fig. 7의 LSUN church, bedroom). NCSNv2는 노이즈 스케일을 직접 계산하고 Langevin 스텝 크기를 수동 조정 없이 계산해, 96×96에서 256×256까지 고충실도 샘플을 생성합니다. 네트워크 구조는 데이터셋 간 동일하되 고해상도에서는 수용 영역과 용량을 위해 층과 필터를 더 씁니다(Table 3). 두 샘플 사이의 매끄러운 보간(annealed Langevin dynamics에 주입되는 가우시안 노이즈를 구면 보간)도 가능해 일반화 가능한 표현을 배웠음을 시사합니다.
| 항목 | 설정 |
|---|---|
| 데이터 | CIFAR-10(50k), CelebA(140×140 중앙 crop → 64), LSUN church(126k)/bedroom(3.03M)/tower(708k), FFHQ(70k → 256, 63k/7k 분할). 모두 무작위 수평 뒤집기 |
| 최적화 | Adam, lr 0.0001 (Technique 3 적용 시; 아니면 0.001), Adam $\epsilon$ FFHQ $10^{-3}$ 그 외 $10^{-8}$ |
| 배치 / 반복 | 128 (FFHQ 32) / CIFAR 300k, CelebA 210k, church 200k, bedroom·tower 150k, FFHQ 80k |
| 학습 시간 | CIFAR 22h (2×V100), CelebA 29h (4×V100), LSUN 52h, FFHQ 41h (8×V100) |
| 샘플링 시간 | CIFAR 2분, CelebA 7분, church 17분, bedroom·tower 19분, FFHQ 50분 |
학습/테스트 손실 곡선이 내내 가까워 암기가 아니며(Fig. 15), InceptionV3 특징 공간의 최근접 이웃(뒤집기 포함)도 생성 샘플이 학습 데이터의 복사가 아님을 보여 줍니다(Fig. 16–19).
💡 Key Takeaway 이 논문의 실험이 남긴 교훈 하나는 FID만 믿지 말라는 것입니다. Denoising 스텝 하나로 FID가 3배 변하고, 사람 평가는 FID 순위를 뒤집었습니다.
한계와 열린 방향
논문의 결론은 이론 분석과 경험적 관찰에 동기를 둔 일련의 기법이 score 기반 생성 모델의 학습과 샘플링을 크게 개선하고 고해상도 고충실도 생성을 가능하게 했다는 것입니다. 기법들은 수동 조정 없이 잘 동작하지만 하이퍼파라미터를 미세 조정하면 더 좋아질 수 있다고 보며, 향후 방향으로 score 기반 모델의 샘플 품질에 대한 이론적 이해와 가우시안 교란 외의 대안적 노이즈 분포를 꼽습니다.
⚠️ 1. 논문이 드러낸 한계
- 샘플링 비용 : 노이즈 스케일 수 × $T$번의 네트워크 호출이 필요합니다. FFHQ 256×256은 2,311 × 3 ≈ 6,933번으로 샘플링에 50분(8×V100)이 걸립니다.
- 분석의 단순화 : Technique 2~4의 유도는 데이터가 한 점인 설정에서 이루어졌습니다. 실제 데이터의 다중 모드 구조에서 같은 결론이 얼마나 정확한지는 경험적으로만 검증됩니다.
- $\sigma_1$ 규칙의 보수성 : 최대 쌍별 거리는 이상치에 민감하고, 데이터셋이 크면 부분 표본(10,000장)으로 근사합니다. 또 $\sigma_1$이 클수록 $L$이 늘어 비용이 증가하는 trade-off는 “다양성이 우선”이라는 선택으로 해소했을 뿐입니다.
- 고해상도 학습 불안정 : 128×128 이상에서 손실이 수렴에 가까울 때 학습이 불안정할 수 있으며, 논문은 이를 Adam의 알려진 문제로 보고 AMSGrad 등을 제안합니다.
- 지표의 한계 : Inception score는 오히려 약간 나빠졌고, FID와 사람 평가가 어긋납니다. 샘플 품질을 신뢰성 있게 재는 방법 자체가 열려 있습니다.
- 가우시안 노이즈 가정 : 규칙들은 가우시안 교란과 유클리드 거리에 기대고 있어 이미지 외 도메인에서는 재검토가 필요합니다.
🔭 2. 이후 연구가 이어 간 방향
| 이 논문의 요소 | 후속 연구에서의 발전 |
|---|---|
| 수천 개의 이산 노이즈 스케일, $s_\theta(x)/\sigma$ | Score SDE: 연속시간 SDE로 일반화. NCSNv2의 설정은 VE(variance exploding) SDE, DDPM은 VP SDE |
| $\sigma_1$ = 최대 쌍별 거리 | Score SDE의 $\sigma_{max}$ 선택, EDM의 $\sigma_{max}=80$ 등 데이터 스케일 기반 설정으로 계승 |
| 등비수열 노이즈 스케줄 | 로그 공간 균일 스케줄의 표준화. EDM은 $\rho=7$의 거듭제곱 스케줄로 재설계 |
| Annealed Langevin + denoising 스텝 | Predictor-Corrector 샘플러(Score SDE), Tweedie 기반 $x_0$ 예측 |
| EMA 0.999 | 거의 모든 확산 모델에서 EMA 0.999~0.9999 표준화 |
| 수동 설정 대신 계산된 하이퍼파라미터 | EDM의 “설계 공간” 체계화 |
🧭 3. DDPM과의 관계
같은 달에 공개된 DDPM은 이 논문과 상보적입니다. DDPM은 순방향 과정을 $\sqrt{1-\beta_t}$로 스케일해 분산이 폭발하지 않게 하고 샘플러 계수를 순방향에서 유도하는 반면, NCSNv2는 스케일링 없이 분산이 커지는 노이즈를 쓰고 샘플러를 Proposition 3으로 따로 설정합니다. DDPM 논문의 Appendix C는 이 차이를 자세히 정리하며, 두 계열은 이후 같은 저자(Song)의 Score SDE에서 하나의 연속시간 틀로 통합됩니다.
💡 Key Takeaway 이 논문의 다섯 규칙은 특정 모델의 트릭이 아니라 “노이즈 스케일을 어떻게 설계할 것인가”에 대한 최초의 원리적 답입니다. 그 답의 형태(데이터 스케일에 맞춘 최대 노이즈, 로그 균일 간격, 출력 스케일링, EMA)는 이후 모든 확산 모델이 물려받았습니다.