Haru's 개발 블로그

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

논문 리뷰/Diffusion

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

Haru_29 2024. 4. 20. 01:40

Link

Abstract

Classifier 없이 순수한 생성 모델에 의해 가이드가 실제로 수행될 수 있음을 보여준다. Classifier-free guidance로 조건부 및 무조건 모델을 공동으로 훈련하고 결과 점수 추정치를 결합하여 샘플 품질과 다양성 간의 균형을 달성한다.

 

Introduction

Classifier이전의 연구는 diffusion models의 점수 추정치를 분류기의 gradient와 혼합하였습니다. Gradient의 강도를 변경하여 Inception score와 FID 점수를 절충할 수 있습니다.

또한 Classifier 지침은 모델 파이프라인을 복잡하게 만들고 노이즈가 있는 데이터에 대해 훈련해야 하므로 사전 훈련된 분류기를 사용할 수 없다. 또한 분류기의 gradient 방향으로 나아가는 것이 적대적 공격으로 간주될 수 있으며 GAN과 유사하고 특히 비모수 생성기와 유사합니다.

이를 해결하기 위해 분류기 없는 가이드를 제시한다. 이는 조건부 및 무조건 확산 모델을 공동으로 훈련하고 점수 추정치를 혼합함으로써 FID/IS trade-off를 달성하여 매우 fidelity한 이미지를 생성하는 것이 가능합니다.

 

Background

SNR 값을 step으로 사용합니다.

연속 시간에서 확산 모델 훈련( x ∼ p(x), z = {zλ | λ ∈ [λmin, λmax]} ).

(zλ에서의 로그 신호 대 잡음비 λ = log αλ2 λ2, 순방향 과정 q에서는 λ가 점점 감소함.)

x를 조건으로 하는 역방향 과정이 일어납니다.

생성 모델 xθ을 이용한 역방향 과정 (zλmin = N(0,I) 에서 시작)

 

λmin ~ λmax에서 T번의 timestep 진행, 재 매개변수화 트릭으로 샘플 얻을 수 있습니다.

또한, 연속 공간의 모델 분산을 pθ(z)로 표기 및 v는 무한하지 않은 시간 단계에서만 효과 있기 때문에 하이퍼 피라미터로 대체합니다.

 

모델 매개변수화 ( εθ(zλ, λ) → εθ(zλ) 표기 단순화 )

아래는 목적 함수입니다.

λ는 분포 p(λ)에서 가져옵니다.

위 목적함수는 multiple noise scale에 대한 denoising score matching이며 

 

p(λ)가 균일할 때는 모델의 로그 우도에 대한 VLB(variational lower bound)에 비례하며

p(λ)가 균일하지 않으면 가중치가 부여된 VLB로 해석할 수 있다.

 

εθ(zλ)의 손실은 denoising score matching이기 때문에

Guidance

별도의 Classifier 없이 FID/IS trade-off를 할 수 있는 방법을 제시합니다.

Classifier Guidance

Classifier Guidance에서는 Diffusion score가 Classifier의 gradient를 포함하도록 수정이 됩니다.

w는 올바른 label에 높은 가능성을 할당하는 데이터의 확률에 가중치를 부여하여 FID/IS trade-off를 달성한다.

 

Classifier-Free Guidance

조건부 모델의 클래스에 null 토큰을 입력함으로써 간단히 무조건 모델로 만들 수 있습니다.

확률적으로 null 토큰을 입력하여 하나의 모델로 조건부와 무조건의 경우를 공동으로 훈련합니다.

조건부 및 무조건 점수 추정치의 선형 조합을 사용하여 샘플링 수행합니다.

Discussion

  • Classifier 없는 가이드의 가장 실용적인 이점은 극도의 단순성입니다. 훈련 중에는 확률적으로 null 토큰을 입력하고 샘플링 중에는 점수 추정치를 혼합하는 몇 줄의 코드만 추가하면 됩니다. 분류기 지침은 추가 Classifier를 훈련해야 하므로 훈련 파이프라인을 복잡하게 만듭니다.
  • Classifier 없이도 FID/IS trade-off를 달성했습니다.
  • Classifier는 확률 밀도 자체를 매개변수화 한 모델이지만 diffusion model은 밀도의 score를 직접 매개변수화 한 모델입니다. 이러한 unconstrained score model은 분류기 gradient와 달리 점수 추정치가 보존 벡터장을 형성하지 않아도 됩니다. 따라서 분류기 지침 확산 모델은 모델과 유사하지 않은 step 방향으로 모델에 대한 적대적 공격으로 해석될 수 있으나 분류기 없는 diffusion model은 단일 모델에서 이미지가 생성됩니다.
  • 단점은 Sampling 속도입니다. Classifier없는 diffusion model의 경우 점수 혼합을 위해 전진 path를 두 번을 시행해야 하지만 Classifier는 생성 모델에 비해 속도가 빠릅니다.

Experiments

 

왼쪽 3줄 : 가이드 없는 샘플

오른쪽 3줄 : 분류기 없는 가이드(w = 3.0)로 생성된 샘플

Comments