Paul's Grit

[논문 리뷰] Classifier-Free Diffusion Guidance 본문

논문 리뷰/Generative models

[논문 리뷰] Classifier-Free Diffusion Guidance

Paul-K 2025. 3. 6. 01:54
[Paper]
Jonathan Ho, Tim Salimans
NeurIPS 2021 Workshop on Deep Generative Models and Downstream Applications

 

Abstract

Classifier guidance는 conditional diffusion models에서 훈련 이후 mode coverage와 sample fidelity를 조절하는 방법으로 최근 도입되었으며, 이는 다른 유형의 생성 모델에서 low temperature sampling 또는 truncation과 유사한 개념이다. Classifier guidance는 diffusion model의 score 추정값과 이미지 분류기의 gradient를 결합하는 방식으로 작동하며, 이를 위해 diffusion model과는 별도로 이미지 분류기를 훈련해야 한다. 이러한 접근 방식은 또한 분류기 없이 guidance를 수행할 수 있는지에 대한 의문을 제기한다. 본 논문에서는 순수한 생성 모델만으로도 guidance를 수행할 수 있음을 보인다. 우리가 classifier-free guidance라고 부르는 방법에서는 조건부 diffusion model과 비조건부 diffusion model을 함께 훈련하고, 그 결과 얻어진 조건부 및 비조건부 score 추정값을 결합하여 classifier guidance를 사용할 때와 유사한 샘플 품질과 다양성 간의 균형을 달성한다.


1  Introduction

 

최근 diffusion models는 표현력이 뛰어나고 유연한 생성 모델 계열로 부각되었으며, 이미지 및 오디오 합성 작업에서 경쟁력 있는 샘플 품질과 likelihood 점수를 제공하고 있다. 이러한 모델은 기존 autoregressive 모델보다 훨씬 적은 추론 단계로도 동등한 수준의 오디오 합성 성능을 보여주었으며, ImageNet 생성에서도 BigGAN-deep과 VQ-VAE-2를 능가하는 FID 점수 및 분류 정확도를 달성하였다.

 

Dhariwal & Nichol(2021)은 diffusion model의 샘플 품질을 향상시키기 위해 추가로 학습된 분류기를 활용하는 classifier guidance 기법을 제안하였다. classifier guidance가 등장하기 전까지는, truncated BigGAN이나 low temperature Glow에서 생성된 것과 유사한 "low temperature" 샘플을 diffusion model에서 생성하는 방법이 알려져 있지 않았다. 모델의 score 벡터를 단순히 스케일링하거나 diffusion 샘플링 중 추가되는 가우시안 노이즈의 양을 줄이는 등의 시도는 효과적이지 않았다. classifier guidance는 diffusion model의 score 추정치와 분류기의 로그 확률의 입력 gradient를 혼합하는 방식으로 동작한다. 분류기 gradient의 강도를 조절함으로써, Dhariwal & Nichol은 BigGAN의 truncation 파라미터를 조정하는 것과 유사한 방식으로 Inception score와 FID score (또는 precision과 recall) 간의 균형을 조절할 수 있다.

 

우리는 classifier guidance가 분류기 없이도 수행될 수 있는지에 관심을 가진다. classifier guidance는 추가적인 분류기 학습이 필요하기 때문에 diffusion model의 학습 과정을 복잡하게 만든다. 또한, 이 분류기는 노이즈가 포함된 데이터로 학습되어야 하므로, 일반적으로 사전 학습된 분류기를 그대로 사용할 수 없다. 더 나아가, classifier guidance는 샘플링 과정에서 score 추정치와 분류기 gradient를 혼합하므로, 이는 gradient 기반 적대적 공격을 통해 이미지 분류기를 혼란시키려는 시도로 해석될 수 있다. 따라서 classifier guidance가 FID 및 Inception score(IS)과 같은 분류기 기반 metric을 향상시키는 이유가 실제로 이미지 품질이 개선되었기 때문인지, 아니면 단순히 해당 분류기에 대한 적대적 효과 때문인지 의문이 제기된다. 또한, 분류기 gradient의 방향으로 이동하는 과정은 특히 비매개변수(nonparametric) 생성기를 사용하는 경우 GAN 학습과 유사한 면이 있다. 이는 classifier guidance를 적용한 diffusion model이 분류기 기반 metric에서 높은 성능을 보이는 이유가, 본질적으로 GAN과 점점 유사해지고 있기 때문인지에 대한 추가적인 의문을 제기한다. GAN은 이미 이러한 metric에서 우수한 성능을 보이는 것으로 알려져 있기 때문이다.

 

이러한 의문을 해결하기 위해, 우리는 classifier-free guidance라는 새로운 guidance 방법을 제안한다. 이는 분류기를 전혀 사용하지 않는 방식이다. classifier-free guidance는 이미지 분류기의 gradient 방향으로 샘플링하는 것 대신, 조건부 diffusion model과 함께 학습된 무조건부 diffusion model의 score 추정치를 혼합하는 방식을 따른다. 혼합 가중치를 조정함으로써, 우리는 classifier guidance를 통해 얻을 수 있었던 FID/IS 간의 균형을 유사하게 달성할 수 있다. 우리의 classifier-free guidance 실험 결과는, 순수한 생성 기반 diffusion model만으로도 다른 유형의 생성 모델에서 가능했던 높은 fidelity의 샘플을 합성할 수 있음을 보여준다.


2  Background

우리는 diffusion models를 연속 시간에서 학습한다. 이를 위해 \( x \sim p(x) \)이고, 하이퍼파라미터 \( \lambda_{\min} < \lambda_{\max} \in \mathbb{R} \)에 대해 \( z = \{z_\lambda \mid \lambda \in [\lambda_{\min}, \lambda_{\max}]\} \)로 정의하면, forward process \( q(z|x) \)는 분산을 보존하는(variance-preserving) 마르코프 과정으로 주어진다.


우리는 \( x \sim p(x) \)이고 \( z \sim q(z|x) \)일 때, \( z \) (또는 \( z_\lambda \))의 주변 분포를 \( p(z) \) (또는 \( p(z_\lambda) \))로 표기할 것이다. 또한, \( \lambda = \log \frac{\alpha^2_\lambda}{\sigma^2_\lambda} \)이므로, \( \lambda \)는 \( z_\lambda \)의 로그 신호대잡음비(signal-to-noise ratio, SNR)로 해석될 수 있으며, forward process는 \( \lambda \)가 감소하는 방향으로 진행된다.

 

주어진 \( x \)에 대해, forward process는 다음과 같은 전이 확률을 통해 역방향으로 기술될 수 있다. \(q(z_{\lambda_0} | z_\lambda, x) = \mathcal{N} (\tilde{\mu}_{\lambda_0 | \lambda} (z_\lambda, x), \tilde{\sigma}^2_{\lambda_0 | \lambda} I)\).

 

여기서,


역방향 과정의 생성 모델(reverse process generative model)은 초기 상태를 \(p_\theta (z_{\lambda_{\min}}) = \mathcal{N} (0, I)\) 로 설정하고, 전이 확률을 다음과 같이 정의한다.

 

샘플링 과정에서, 우리는 \( \lambda_{\min} = \lambda_1 < \cdots < \lambda_T = \lambda_{\max} \)의 증가하는 시퀀스를 따라 \( T \)개의 timestep에 걸쳐 위의 전이 과정을 적용한다. 즉, 우리는 Sohl-Dickstein et al.(2015) 및 Ho et al.(2020)이 제안한 이산 시간 ancestral sampler를 따른다. 모델 \( x_\theta \)가 정확하다면, \( T \to \infty \)일 때 샘플은 확률 미분 방정식(SDE)의 sample path와 동일한 분포를 따르게 되며, 이 분포는 \( p(z) \)와 일치한다(Song et al., 2021b). 우리는 연속 시간 모델 분포를 \( p_\theta(z) \)로 표기한다. 분산은 log-space interpolation을 사용하여 \( \tilde{\sigma}^2_{\lambda_0 | \lambda} \)와 \( \sigma^2_{\lambda | \lambda_0} \) 사이를 보간하는 방식으로 설정되며(Nichol & Dhariwal, 2021), 우리는 \( z_\lambda \)에 따라 학습된 \( v \) 대신, 상수 하이퍼파라미터 \( v \)를 사용하는 것이 효과적임을 발견하였다. 또한, \( \lambda_0 \to \lambda \)로 갈 때 분산은 단순화되어 \( \tilde{\sigma}^2_{\lambda_0 | \lambda} \)가 되므로, \( v \)는 실제 샘플링에서 무한소가 아닌 timestep을 사용할 경우에만 영향을 미친다.

 

역방향 과정의 평균은 \( x_\theta(z_\lambda) \approx x \)라는 추정치를 \( q(z_{\lambda_0} | z_\lambda, x) \)에 대입하여 얻어진다(Ho et al., 2020; Kingma et al., 2021). 여기서 \( x_\theta \)는 \( \lambda \)를 입력으로 받지만, 표기법을 간결하게 유지하기 위해 이를 생략한다.  

우리는 \( x_\theta \)를 \(\varepsilon\)-prediction 방식(Ho et al., 2020)으로 매개변수화하며, 다음과 같이 정의한다. \(x_\theta(z_\lambda) = \frac{z_\lambda - \sigma_\lambda \varepsilon_\theta(z_\lambda)}{\alpha_\lambda}\). 모델 학습을 위해 다음 목적 함수를 최소화한다.

 

여기서,  \(\varepsilon \sim \mathcal{N}(0, I), \quad z_\lambda = \alpha_\lambda x + \sigma_\lambda \varepsilon\)이며, \( \lambda \)는 구간 \( [\lambda_{\min}, \lambda_{\max}] \)에서 분포 \( p(\lambda) \)로부터 샘플링된다. 이 목적 함수는 다양한 노이즈 스케일에 대한 denoising score matching이며, Song & Ermon(2019)에 의해 제안된 방식과 유사하다.  

또한, \( p(\lambda) \)가 균등 분포일 때, 이 목적 함수는 잠재 변수 모델의 주변 로그 우도에 대한 변분 하한(variational lower bound, VLB) \(\int p_\theta(x | z) p_\theta(z) dz\)에 비례한다. 여기서, decoder \( p_\theta(x | z) \)와 \( z_{\lambda_{\min}} \)에서의 사전 분포(prior)에 대한 항(term)은 명시되지 않으므로 무시된다(Kingma et al., 2021).

 

만약 \( p(\lambda) \)가 균등 분포가 아니라면, 이 목적 함수는 가중치가 조정된 변분 하한(weighted variational lower bound)으로 해석될 수 있으며, 이 가중치는 샘플 품질을 최적화하기 위해 조정될 수 있다. 우리는 Nichol & Dhariwal(2021)의 이산 시간 코사인 노이즈 스케줄에서 영감을 받은 \( p(\lambda) \)를 사용한다. 구체적으로, \( u \sim \text{Uniform}(0,1) \)일 때, \(\lambda = -2 \log \tan (a u + b)\)로 \( \lambda \)를 샘플링한다. 여기서, \(b = \arctan (e^{-\lambda_{\max}/2})\), \(a = \arctan (e^{-\lambda_{\min}/2}) - b\)이다. 이 과정은 유계 구간에서 정의된 hyperbolic secant 분포를 변형한 형태로 볼 수 있다. 유한한 timestep에서 샘플을 생성할 때는 \( u \in [0,1] \)을 균등하게 분할하여 대응되는 \( \lambda \) 값을 사용하며, 최종적으로 생성된 샘플은 \( x_\theta(z_{\lambda_{\max}}) \)로 정의된다.

 

우리 모델이 학습하는 \( \varepsilon_\theta(z_\lambda) \)의 loss는 모든 \( \lambda \)에 대해 denoising score matching이므로, 모델이 학습한 score \( \varepsilon_\theta(z_\lambda) \)는 노이즈가 포함된 데이터 \( z_\lambda \)의 분포의 로그 밀도의 그래디언트를 다음과 같이 근사한다. \(\varepsilon_\theta(z_\lambda) \approx -\sigma_\lambda \nabla_{z_\lambda} \log p(z_\lambda)\). 그러나 \( \varepsilon_\theta \)를 정의하는 데 제약이 없는 신경망(unconstrained neural networks)을 사용하므로, \( \varepsilon_\theta \)가 어떤 스칼라 포텐셜(scalar potential)의 그래디언트가 될 필요는 없다. 학습된 diffusion model에서의 샘플링 과정은 Langevin diffusion을 이용하여 일련의 분포 \( p(z_\lambda) \)에서 샘플링하는 과정과 유사하며, 이 분포는 점차 원본 데이터 \( x \)의 조건부 분포 \( p(x) \)로 수렴하게 된다.

 

조건부 생성 모델링(conditional generative modeling)에서는 데이터 \( x \)가 조건 정보 \( c \)와 함께 주어진다. 예를 들어, 클래스 조건부 이미지 생성의 경우 \( c \)는 클래스 레이블이 될 수 있다. 이때, 모델에서 변경되는 유일한 점은 역방향 과정의 함수 근사기(function approximator)가 \( c \)를 추가 입력으로 받는 것이다. 즉, 기존의 \( \varepsilon_\theta(z_\lambda) \) 대신 조건부 입력을 포함한 다음과 같은 형태로 모델을 정의한다. \(\varepsilon_\theta(z_\lambda, c)\).


3  GUIDANCE

일부 생성 모델, 예를 들어 GAN이나 flow-based 모델은 샘플링 시 생성 모델의 노이즈 입력 분산 또는 범위를 줄여 truncated 또는 low temperature sampling을 수행할 수 있다는 흥미로운 특성을 가진다. 이는 샘플의 다양성을 감소시키는 대신, 개별 샘플의 품질을 향상시키는 효과를 의도한 것이다. 예를 들어, BigGAN의 truncation 기법은 FID 점수와 Inception score 사이의 트레이드오프 곡선을 생성하며, truncation 정도가 낮으면 FID가 낮아지고, 높으면 Inception score가 증가하는 경향을 보인다. Glow의 low temperature sampling도 유사한 효과를 나타낸다.  

그러나 diffusion models에서는 truncation이나 low temperature sampling을 직접 적용하려는 시도가 효과적이지 않다. 예를 들어, 모델의 score를 단순히 스케일링하거나 역방향 과정에서 가우시안 노이즈의 분산을 줄이면, diffusion model이 흐릿하고 품질이 낮은 샘플을 생성하게 된다.

 

3.1  CLASSIFIER GUIDANCE

diffusion models에서 truncation과 유사한 효과를 얻기 위해, Dhariwal & Nichol(2021)은 classifier guidance 기법을 도입하였다. 이 방법에서는 diffusion model의 score 함수 \( \varepsilon_\theta(z_\lambda, c) \approx -\sigma_\lambda \nabla_{z_\lambda} \log p(z_\lambda | c) \)를 수정하여 보조 분류기 모델 \( p_\theta(c | z_\lambda) \)의 로그 가능도의 gradient를 포함하도록 변경한다. 즉, 다음과 같이 정의된다.


여기서 \( w \)는 classifier guidance의 강도를 조절하는 파라미터이다. 이 수정된 score \( \tilde{\varepsilon}_\theta(z_\lambda, c) \)는 기존의 \( \varepsilon_\theta(z_\lambda, c) \) 대신 사용되며, 결과적으로 다음과 같은 분포에서 근사 샘플을 생성하게 된다.


이 효과는 분류기 \( p_\theta(c | z_\lambda) \)가 높은 확률을 할당하는 데이터의 likelihood를 증가시키는 것과 같다. 즉, 분류기가 올바른 레이블을 부여할 확률이 높은 데이터의 확률을 증폭시키는 것이다. 이러한 데이터는 Inception score에서 높은 점수를 얻을 가능성이 크며, Inception score는 이러한 특성을 반영하도록 설계되어 있다. 따라서 Dhariwal & Nichol은 \( w > 0 \)으로 설정함으로써 diffusion model의 Inception score를 향상시킬 수 있음을 발견하였다. 하지만 이 과정에서 샘플 다양성이 감소하는 trade-off가 발생한다.

 

 

Figure 2는 수치적으로 해결된 classifier guidance \( \tilde{p}_\theta(z_\lambda | c) \propto p_\theta(z_\lambda | c) p_\theta(c | z_\lambda)^w \)가 미니멀한 2D 예제에서 어떻게 작용하는지를 보여준다. 여기서 세 개의 클래스에 대한 조건부 분포는 isotropic Gaussian으로 설정되어 있다. Classifier guidance를 적용하면 각 조건부 분포의 형태는 non-Gaussian으로 변화한다. guidance 강도를 증가시키면, 각 조건부 분포는 다른 클래스에서 더 멀리 떨어진 방향으로 확률 질량(probability mass)을 이동시키며, 로지스틱 회귀(logistic regression)가 높은 신뢰도를 부여하는 방향으로 집중된다. 결과적으로, 대부분의 확률 질량이 더 작은 영역에 집중되는 경향을 보인다. 이러한 현상은 ImageNet 모델에서 classifier guidance 강도를 증가시킬 때 Inception score가 상승하고 샘플 다양성이 감소하는 현상의 단순화된 형태로 해석될 수 있다.

 

Classifier guidance를 가중치 \( w+1 \)로 무조건부 모델(unconditional model)에 적용하는 것은, 이론적으로 weight \( w \)를 사용하여 조건부 모델(conditional model)에 적용하는 것과 동일한 결과를 가져온다. 이는 다음과 같이 수식적으로 표현할 수 있다. \(p_\theta(z_\lambda | c) p_\theta(c | z_\lambda)^w \propto p_\theta(z_\lambda) p_\theta(c | z_\lambda)^{w+1}\)

이를 score 관점에서 표현하면,


즉, 무조건부 모델에 classifier guidance를 강하게 적용하는 것은, 조건부 모델에 약하게 적용하는 것과 같은 효과를 이론적으로 가질 수 있다. 그러나, 흥미롭게도 Dhariwal & Nichol(2021)은 무조건부 모델에 classifier guidance를 적용하는 것보다, 이미 조건부 모델에 추가로 guidance를 적용할 때 더 좋은 결과를 얻었다. 이러한 이유로, 본 논문에서는 이미 조건부 모델로 학습된 diffusion model에 classifier guidance를 적용하는 방식을 유지한다.

 

3.2  CLASSIFIER-FREE GUIDANCE

 

Classifier guidance는 truncation 또는 low temperature sampling에서 기대되는 대로 IS와 FID 간의 trade-off를 성공적으로 수행하지만, 이미지 분류기의 gradient에 의존한다는 단점이 있다. 본 논문은 Section 1에서 언급한 이유로 인해 분류기를 제거하고자 한다. 여기서는 이러한 gradient 없이 동일한 효과를 달성하는 classifier-free guidance를 설명한다. Classifier-free guidance는 분류기 없이도 분류기 guidance와 동일한 효과를 가지도록 \( \epsilon_\theta(z_{\lambda}, c) \)를 수정하는 대체 방법이다. 알고리즘 1과 2에서는 classifier-free guidance를 활용한 학습 및 샘플링 과정을 자세히 설명한다.

 

별도의 분류기 모델을 학습하는 대신, 본 논문은 score estimator \( \epsilon_{\theta}(z_{\lambda}) \)를 통해 매개변수화된 무조건부 denoising diffusion 모델 \( p_{\theta}(z) \)과 \( \epsilon_{\theta}(z_{\lambda}, c) \)를 통해 매개변수화된 조건부 모델 \( p_{\theta}(z|c) \)을 함께 학습하는 방식을 선택한다. 두 모델 모두 단일 신경망을 사용하여 매개변수화하며, 무조건부 모델의 경우 score를 예측할 때 단순히 클래스 식별자 \( c \)에 대해 null 토큰 \( \emptyset \)을 입력함으로써 사용할 수 있다. 즉,  \(\epsilon_{\theta}(z_{\lambda}) = \epsilon_{\theta}(z_{\lambda}, c = \emptyset)\)와 같이 표현할 수 있다. 무조건부 및 조건부 모델은 함께 학습되며, 일부 확률 \( p_{\text{uncond}} \) (하이퍼파라미터로 설정됨)로 \( c \)를 무조건부 클래스 식별자인 \( \emptyset \)으로 랜덤하게 설정하는 방식으로 학습된다. (별도의 모델을 개별적으로 학습하는 것도 가능하지만, 본 논문은 공동 학습 방식을 선택하는데, 이는 구현이 매우 간단하고 학습 파이프라인을 복잡하게 만들지 않으며, 총 매개변수 수를 증가시키지 않기 때문이다). 그다음, 샘플링 과정에서는 조건부 및 무조건부 score 추정값의 다음과 같은 선형 결합을 사용한다.


Eq. (6)에는 분류기의 gradient가 포함되지 않으므로, \( \tilde{\epsilon}_{\theta} \) 방향으로 한 단계 이동하는 것은 이미지 분류기에 대한 gradient 기반 적대적 공격으로 해석될 수 없다. 또한, \( \tilde{\epsilon}_{\theta} \)는 비보존 벡터장(non-conservative vector field)인 score 추정값에서 생성되므로, 일반적으로 분류기 log-likelihood와 같은 스칼라 포텐셜이 존재할 수 없으며, 따라서 \( \tilde{\epsilon}_{\theta} \)는 classifier-guided score가 될 수 없다.

 

일반적으로 Eq. (6)이 classifier-guided score가 되는 분류기가 존재하지 않을 수 있지만, 이는 암묵적(implicit) 분류기 \( p^i(c | z_{\lambda}) \propto p(z_{\lambda} | c) / p(z_{\lambda}) \)의 gradient에서 영감을 받은 것이다. 만약 \( p(z_{\lambda} | c) \)와 \( p(z_{\lambda}) \)의 정확한 score인 \( \epsilon^*(z_{\lambda}, c) \) 및 \( \epsilon^*(z_{\lambda}) \)에 접근할 수 있다면, 이 암묵적 분류기의 gradient는 다음과 같이 표현할 수 있다.

\[
\nabla_{z_{\lambda}} \log p_i(c | z_{\lambda}) = -\frac{1}{\sigma_{\lambda}} [\epsilon^*(z_{\lambda}, c) - \epsilon^*(z_{\lambda})]
\]
이 암묵적 분류기를 이용한 classifer guidance는 score 추정값을 다음과 같이 수정한다.
\[
\tilde{\epsilon}^*(z_{\lambda}, c) = (1 + w) \epsilon^*(z_{\lambda}, c) - w \epsilon^*(z_{\lambda})
\]
이는 식 (6)과 유사하지만, \( \tilde{\epsilon}^*(z_{\lambda}, c) \)와 \( \tilde{\epsilon}_{\theta}(z_{\lambda}, c) \)는 근본적으로 다르다는 점에 주목해야 한다. 전자는 분류기의 스케일된 gradient \( \epsilon^*(z_{\lambda}, c) - \epsilon^*(z_{\lambda}) \)에서 유도된 반면, 후자는 추정값 \( \epsilon_{\theta}(z_{\lambda}, c) - \epsilon_{\theta}(z_{\lambda}) \)에서 유도되었으며, 이는 일반적으로 어떤 분류기의 (스케일된) gradient가 아니다. 이는 score 추정값이 제약이 없는 신경망의 출력이기 때문이다.

 

Bayes' 법칙을 이용하여 생성 모델을 반전(invert)하는 것이 유용한 guidance 신호를 제공하는 좋은 분류기를 생성하는지 여부는 사전에 명확하지 않다. 예를 들어, Grandvalet & Bengio (2004)는 생성 모델에서 유도된 암묵적 분류기가, 심지어 해당 생성 모델이 데이터 분포와 정확히 일치하는 인공적인 사례에서도, 일반적으로 판별(discriminative) 모델보다 성능이 낮다는 것을 발견하였다. 본 논문과 같이 모델이 잘못 지정(misspecified)될 가능성이 있는 경우, Bayes' 법칙으로 유도된 분류기는 일관되지 않을 수 있으며(Grunwald & Langford, 2007), 이에 따라 성능에 대한 보장이 완전히 사라질 수 있다. 그럼에도 불구하고, Section 4에서는 classifier-free guidance가 분류기 guidance와 동일한 방식으로 FID와 IS 간의 trade-off를 수행할 수 있음을 실험적으로 보여준다. 또한, Section 5에서는 classifier-free guidance가 분류기 guidance와의 관계에서 가지는 의미를 논의한다.


4  EXPERIMENTS

본 논문은 classifier-free guidance를 사용하여 영역 다운샘플링된 (area-downsampled) 클래스 조건부 ImageNet (Russakovsky et al., 2015)에서 diffusion models을 학습한다. 이는 BigGAN 이후 FID와 Inception Score 간의 trade-off를 연구하는 표준 설정이다.

 

본 논문의 실험은 classifier-free guidance가 classifier guidance와 유사한 FID/IS trade-off를 달성할 수 있음을 증명하고, 그 동작 방식을 이해하는 것을 목적으로 한다. 따라서, 본 연구의 목표는 이러한 벤치마크에서 샘플 품질 지표를 최신(state-of-the-art) 수준으로 끌어올리는 것이 아니다. 이를 위해, 본 논문은 Dhariwal & Nichol (2021)의 guided diffusion models에서 사용된 모델 아키텍처와 하이퍼파라미터를 그대로 사용하며(Section 2에서 언급한 연속 시간 학습 제외), 해당 하이퍼파라미터 설정은 classifier guidance에 맞춰 조정된 것이므로 classifier-free guidance에는 최적이 아닐 수 있다. 또한, 본 논문은 추가적인 분류기 없이 조건부 및 무조건부 모델을 동일한 아키텍처로 통합하여 사용하므로, 기존 연구보다 더 적은 모델 용량(model capacity)을 사용한다. 그럼에도 불구하고, classifier-free guidance를 적용한 모델은 여전히 경쟁력 있는 샘플 품질 지표를 달성하며, 일부 경우에서는 기존 연구보다 더 높은 성능을 보이기도 한다. 이에 대한 자세한 내용은 이후 섹션에서 다룬다.

 

4.1 VARYING THE CLASSIFIER-FREE GUIDANCE STRENGTH

 

 

 

본 논문은 classifier-free guidance가 classifier guidance 또는 GAN truncation과 유사한 방식으로 IS와 FID 간의 trade-off를 수행할 수 있음을 실험적으로 검증한다. 이를 위해 classifier-free guidance를 64×64 및 128×128 클래스 조건부 ImageNet 생성에 적용한다. Table 1과 Figure 4에서는 64×64 ImageNet 모델에서 guidance 강도 \( w \)를 변화시키면서 샘플 품질에 미치는 영향을 보여주며, Table 2와 Figure 5에서는 128×128 모델에 대한 동일한 실험 결과를 제시한다.  본 논문은 \( w \in \{0, 0.1, 0.2, \dots, 4\} \)의 값을 고려하며, 각 값에 대해 50,000개 샘플을 생성하여 FID와 Inception Score를 계산한다. 계산 절차는 Heusel et al. (2017) 및 Salimans et al. (2016)의 방법을 따른다. 모든 모델은 log SNR의 최소값 \( \lambda_{\min} = -20 \), 최대값 \( \lambda_{\max} = 20 \)으로 설정되었다. 64×64 모델은 샘플러 노이즈 보간 계수 \( v = 0.3 \)을 사용하고 40만 스텝 동안 학습되었다. 128×128 모델은 \( v = 0.2 \)를 사용하고 270만 스텝 동안 학습되었다.

 

 

본 논문은 소량의 guidance (\( w = 0.1 \) 또는 \( w = 0.3 \), 데이터셋에 따라 다름)에서 최상의 FID를 얻으며, 강한 guidance (\( w \geq 4 \))에서 최상의 IS를 얻는다는 결과를 보인다. 이 두 극단 사이에서는 지각적 품질(perceptual quality)의 두 가지 지표(FID와 IS) 간의 명확한 trade-off가 관찰되며, \( w \)가 증가함에 따라 FID는 단조 감소하고 IS는 단조 증가하는 경향을 보인다. 본 논문의 결과는 Dhariwal & Nichol (2021) 및 Ho et al. (2021)과 비교해도 우수하며, 특히 128×128 모델의 결과는 현재 문헌에서 SOTA 성능을 기록한다. \( w = 0.3 \)에서, 본 논문의 모델은 128×128 ImageNet에서 classifier-guided ADM-G보다 더 낮은 FID를 달성하였다. \( w = 4.0 \)에서, 본 논문의 모델은 BigGAN-deep이 최적의 IS truncation level에서 평가되었을 때보다 더 우수한 FID와 IS 성능을 보인다. Figure 1, Figure 3, 그리고 Figure 6~8 (Appendix A)은 다양한 guidance 강도에서 생성된 무작위 샘플을 시각적으로 보여준다. 이를 통해 classifier-free guidance 강도가 증가할수록 샘플 다양성이 감소하고 개별 샘플의 품질(fidelity)이 증가하는 예상된 효과를 명확히 확인할 수 있다.

 

4.2  VARYING THE UNCONDITIONAL TRAINING PROBABILITY

classifier-free guidance에서 학습 시 주요 하이퍼파라미터는 \( p_{\text{uncond}} \)이다. 이는 조건부 및 무조건부 diffusion 모델을 공동 학습할 때, 무조건부 생성(unconditional generation)으로 학습될 확률을 의미한다. 본 논문에서는 64×64 ImageNet에서 \( p_{\text{uncond}} \) 값을 변화시키며 학습된 모델의 성능에 미치는 영향을 분석한다.

 

Table 1과 Figure 4는 \( p_{\text{uncond}} \) 값이 샘플 품질에 미치는 영향을 보여준다. 본 논문은 \( p_{\text{uncond}} \in \{0.1, 0.2, 0.5\} \)에 대해 각각 40만 스텝 동안 학습한 모델을 사용하여, 다양한 guidance 강도에서 샘플 품질을 평가하였다. 실험 결과, \( p_{\text{uncond}} = 0.5 \)는 IS/FID 전 영역에서 \( p_{\text{uncond}} \in \{0.1, 0.2\} \)보다 일관되게 낮은 성능을 보였다. 반면, \( p_{\text{uncond}} = 0.1 \)과 \( p_{\text{uncond}} = 0.2 \)는 서로 유사한 성능을 보였다.

 

이러한 실험 결과를 바탕으로, classifier-free guided score가 샘플 품질을 효과적으로 개선하기 위해서는 diffusion model의 모델 용량 중 비교적 적은 부분만 무조건부 생성(unconditional generation) 태스크에 할당하면 충분하다는 결론을 내릴 수 있다. 흥미롭게도, classifier guidance의 경우 Dhariwal & Nichol은 작은 용량의 분류기(small classifiers)만으로도 효과적인 classifier-guided 샘플링이 가능함을 보고한 바 있다. 이는 본 논문의 classifier-free guided 모델에서 관찰된 현상과 유사하다.

 

4.3  VARYING THE NUMBER OF SAMPLING STEPS

Diffusion 모델의 샘플 품질은 샘플링 스텝 수 \( T \)에 크게 영향을 받는 것으로 알려져 있다. 따라서, 본 논문은 128×128 ImageNet 모델에서 \( T \) 값을 변화시키며 성능에 미치는 영향을 분석한다. Table 2와 Figure 5는 \( T \in \{128, 256, 1024\} \)에서 다양한 guidance 강도에 따른 샘플 품질 변화를 보여준다. 실험 결과, 예상대로 \( T \)가 증가할수록 샘플 품질이 향상되었으며, 본 모델에서는 \( T = 256 \)이 샘플 품질과 샘플링 속도 간의 좋은 균형(balance)을 달성하는 것으로 나타났다.

 

 

\( T = 256 \)은 ADM-G (Dhariwal & Nichol, 2021)가 사용한 샘플링 스텝 수와 거의 동일하며, 본 논문의 모델은 ADM-G보다 우수한 성능을 보였다. 그러나 중요한 점은, 본 논문의 방법에서는 각 샘플링 스텝에서 두 번의 denoising model 평가가 필요하다는 점이다. 즉, 한 번은 조건부 score \( \epsilon_{\theta}(z_{\lambda}, c) \)를 계산하고, 한 번은 무조건부 score \( \epsilon_{\theta}(z_{\lambda}) \)를 계산해야 한다. 따라서, 본 논문은 ADM-G와 동일한 모델 아키텍처를 사용했으므로, 샘플링 속도를 공정하게 비교하려면 \( T = 128 \)인 경우를 고려해야 한다. 그러나, \( T = 128 \)에서는 ADM-G에 비해 FID 성능이 다소 낮게 나타났다.


5  DISCUSSION

classifier-free guidance 방법의 가장 실용적인 장점은 단순성(extreme simplicity) 이다. 학습 시에는 조건을 무작위로 제거(drop out the conditioning)하는 한 줄의 코드 변경만 필요하다. 샘플링 시에는 조건부 및 무조건부 score 추정값을 혼합(mix)하는 한 줄의 코드 변경만 필요하다. 반면, classifier guidance는 학습 파이프라인을 복잡하게 만든다. 별도의 분류기(classifier)를 추가로 학습해야 하며, 이 분류기는 노이즈가 추가된 \( z_{\lambda} \)에 대해 학습되어야 하므로, 기존의 사전 학습된 분류기를 그대로 사용할 수 없다.

 

classifier-free guidance는 추가적인 분류기 학습 없이도 classifier guidance와 동일하게 IS와 FID 간의 trade-off를 수행할 수 있으므로, 순수한 생성 모델(pure generative model)만으로도 guidance가 가능함을 입증하였다. 또한, 본 논문의 diffusion models은 제약이 없는(unconstrained) 신경망으로 매개변수화되므로, score 추정값이 반드시 보존 벡터장(conservative vector field)을 형성하지 않는다. 이는 classifier gradient와는 대조되는 특성이다 (Salimans & Ho, 2021). 따라서, classifier-free guidance를 적용한 샘플러는 classifier gradient와 전혀 유사하지 않은 방향으로 이동하며, 이는 분류기에 대한 gradient 기반 적대적 공격(adversarial attack)으로 해석될 수 없다. 본 논문의 결과는, classifier gradient를 사용하지 않고도 생성 모델 자체만으로 IS 및 FID 성능을 향상시킬 수 있으며, 이 과정이 이미지 분류기에 대한 적대적 공격과 무관함을 보여준다.

 

본 논문은 guidance가 작동하는 방식에 대한 직관적인 설명을 도출하였다. guidance는 샘플의 unconditional likelihood를 감소시키면서, conditional likelihood를 증가시키는 방식으로 동작한다. classifier-free guidance는 음의 score 항(negative score term)을 추가하여 unconditional likelihood를 감소시키는 방식으로 이를 구현한다. 본 논문의 지식에 따르면, 이러한 접근 방식은 아직 연구된 바 없으며, 다른 응용 분야에서도 유용하게 활용될 가능성이 있다.

 

본 논문에서 제시한 classifier-free guidance는 무조건부 모델(unconditional model)의 학습을 필요로 하지만, 일부 경우에는 이를 생략할 수도 있다. 만약 클래스 분포(class distribution)가 알려져 있고, 클래스의 개수가 적다면, 다음 관계식을 이용하여 무조건부 score를 명시적으로 학습하지 않고도 조건부 score에서 유도할 수 있다. \(\sum_{c} p(x | c) p(c) = p(x)\). 즉, 조건부 score를 여러 클래스 \( c \)에 대해 평균 내는 방식으로 무조건부 score를 추정할 수 있다. 그러나, 이 방식은 가능한 모든 \( c \) 값에 대해 forward pass를 수행해야 하므로, 조건 차원이 높은 경우(high-dimensional conditioning)에는 비효율적일 수 있다.

 

classifier-free guidance의 잠재적인 단점은 샘플링 속도(sampling speed)이다. 일반적으로, 분류기(classifier)는 생성 모델(generative model)보다 작고 연산 속도가 빠를 수 있으므로, classifier guidance는 classifier-free guidance보다 더 빠를 가능성이 있다. 이는 classifier-free guidance가 diffusion model의 forward pass를 두 번 수행해야 하기 때문이다. 한 번은 조건부 score를 계산하기 위해, 또 한 번은 무조건부 score를 계산하기 위해 실행해야 한다. 이 문제를 완화하기 위해, 네트워크 아키텍처를 수정하여 조건부 정보를 후반부(late)에서 주입하는 방식을 고려할 수 있다. 그러나, 이러한 접근 방식의 탐색은 향후 연구 과제로 남겨둔다.

 

궁극적으로, 샘플의 fidelity(정확도)를 증가시키는 대가로 다양성(diversity)이 감소하는 모든 guidance 방법은, 이 감소된 다양성이 허용 가능한지에 대한 문제를 직면해야 한다. 특히, 실제 모델을 배포할 때(sample diversity를 유지하는 것이 중요한 응용 분야에서는), 특정 데이터의 일부가 전체 데이터 내에서 과소 대표(underrepresented)되는 경우 다양성 감소가 부정적인 영향을 미칠 수 있다. 따라서, 샘플의 품질을 향상시키면서도 다양성을 유지하는 방법을 탐색하는 것은 흥미로운 향후 연구 방향이 될 것이다.


6  CONCLUSION

본 논문은 classifier-free guidance를 제안하였으며, 이는 diffusion models에서 샘플 다양성을 감소시키는 대신 샘플 품질을 향상시키는 방법이다. classifier-free guidance는 분류기 없이 classifier guidance를 수행하는 방법으로 볼 수 있으며, 본 논문의 실험 결과는 순수한 생성 모델(pure generative diffusion models)만으로도 분류기 기반 샘플 품질 지표(classifier-based sample quality metrics)를 최적화할 수 있으며, 동시에 분류기 gradient를 완전히 배제할 수 있음을 확인하였다. 향후 연구에서는 더 다양한 설정과 데이터 모달리티(data modalities)에서 classifier-free guidance를 탐색하는 것이 흥미로운 연구 방향이 될 것으로 기대한다.