본문 바로가기

논문 리뷰/Diffusion Model

Adversarial Diffusion Distillation

DM distillation + GAN loss

1초 만에 SDXL보다 더 좋은 성능 ㄷㄷ 미쳤다 미쳤어 ㄷㄷ

 

[Github](SDXL-Turbo)

[arXiv](Current version v1)

 

 

Abstract

1~4 steps 만으로 확산 모델을 효율적으로 샘플링하는 Adversarial Diffusion Distillation(ADD) 소개

 

 

 

Introduction

확산 모델(DM)의 우수한 샘플 품질과 GAN의 속도를 결합하기 위해 적대적 손실과 score distillation의 조합을 도입한다.

 

Classifier-free guidance를 사용하지 않아 메모리 요구사항이 줄어들고 SDXL-Base보다 성능이 뛰어나다.

 

 

 

Background

최근 모델 증류에 대한 연구가 늘어나고 있다(e.g. Latent Consistency Models, InstaFlow).하지만 그들의 공통적인 결함은 종종 흐릿함과 아티팩트가 발생한다는 것이다. 

 

StyleGAN-T는 Text-to-Image 생성을 위한 단일 step 모델이지만 확산 기반 모델에 비해 품질이 떨어진다.

 

 

 

Method

 

Training Procedure

실제 이미지를 확산시킨 후 사전 훈련된 DM으로 초기화된 학생 모델을 통해 샘플 생성.

xs는 N개의 timestep Tstudent에서 샘플링된 s에 대하여 생성된다.

Zero Terminal SNR에 따라 τn = 1000 이어야 한다. e.g. {100, 400, 700, 1000} of N = 4

 

전체 손실은 다음과 같다.

 

Latent diffusion model을 사용할 때도 더 안정적인 gradient를 생성하는 pixel space에서 증류 손실을 계산한다.

 

Adversarial Loss

판별기는 StyleGAN-T의 설계와 훈련 절차를 따름.

StyleGAN-T

 

다른 점은 ctext 외에 추가로 x0을 cimg로 조건화한다는 것이다.

 

적대적 손실:

 

판별자는 별도로 훈련됨. (사전 훈련 모델 아님)

(R1 gradient penalty)

 

Score Distillation Loss

(sg = stop_gradient())

Metric d를 사용하여 교사와 학생의 출력을 비교.

(t를 여러 개 샘플링하고 평균을 구하여 교사의 출력을 구성할 수도 있지만 비용에 비해 성능 향상이 없어서 사용하지 않은 것으로 보인다. Ablation 참고.)

 

가중치 c(t)에 대하여 세 가지 옵션을 고려:

  • Exp : 높은 noise level이 더 적게 기여함.
  • Score Distillation Sampling : c(t)를 다음과 같이 설정하면 SDS의 목적 함수와 같아짐. (부록 참고)

 

Experiments

ADD-M, ADD-XL 훈련.

Ablation Study

회색은 evaluation에서 default로 선택된 값이다.

 

Quantitative Comparison to State-of-the-Art

자동화된 metric의 사용은 자제했다.

 

Qualitative Results