본문 바로가기

논문 리뷰/Diffusion Model

Diffusion Models Beat GANs on Image Synthesis 논문 리뷰

Diffusion 모델 성능 개선, 분류기 가이드 도입

 

Github

 

GitHub - openai/guided-diffusion

Contribute to openai/guided-diffusion development by creating an account on GitHub.

github.com

Arxiv

 

Diffusion Models Beat GANs on Image Synthesis

We show that diffusion models can achieve image sample quality superior to the current state-of-the-art generative models. We achieve this on unconditional image synthesis by finding a better architecture through a series of ablations. For conditional imag

arxiv.org

 

Abstract

확산 모델이 최첨단 생성 모델보다 우수한 이미지 샘플 품질을 달성할 수 있음을 보여주고 분류기의 gradient를 활용한 조건부 이미지 합성으로 다양성을 희생하고 샘플 품질을 더욱 개선하는 방법을 제안한다.

 

 

 

Introduction

GAN은 훈련하기 까다롭고 다양한 도메인에 적응하기 어렵다.

확산 모델은 분포 범위, 고정된 훈련 목표 및 쉬운 확장성과 같은 바람직한 속성을 제공하면서 고품질 이미지를 생성하는 것으로 최근에 나타난 likelihood 기반 모델이다.

 

확산 모델은 ImageNet과 같은 어려운 데이터셋에서 여전히 GAN에 뒤처지는데, 본 논문에서는 다음과 같은 요인에 비롯된다고 가정한다.

  • GAN은 이미 충분히 많이 탐구되고 개선되었다.
  • GAN은 충실도를 위해 다양성을 절충해 고품질 샘플을 생성할 수 있다.

 

먼저 확산 모델에 위와 같은 이점을 제공하는 것을 목표로 하며 섹션 2에서는 이전 연구들, 섹션 3에서는 간단한 아키텍처 개선사항, 섹션 4에서는 분류기의 gradient를 사용하는 방법을 설명한다.

 

 

 

Background

확산 모델에 대해서는 여기를 참조.

 

Improvements

Improved DDPM에서는 DDPM에서 분산에 상수를 사용한 것을 지적하며 분산을 매개변수화 하여 VLB loss를 추가하고 몇 가지 추가적인 향상 방법도 제안했다.

 

DDIM에서는 랜덤 가우스 노이즈의 표준 편차를 아예 0으로 지정해서 모델을 결정론적으로 만들어 버렸다. (확산 없는 확산 모델...)

매우 빠르고 고품질의 추론이 가능하며 생성 결과가 일관되고 이로 인해 보간이 가능한 장점이 있음.

DDIM

 

 

 

Architecture Improvements

아키텍처 변경사항

  • 모델 크기를 일정하게 유지하면서 너비 대비 깊이 증가(훈련 시간이 길어져서 나중에 뺌)
  • attention head 수를 늘림
  • 32x32, 16x16, 8x8 해상도에서 attention 사용 (원래는 16x16에서만 사용함)
  • 해당 논문의 제안에 따라 업샘플링 및 다운샘플링하기 위해 BigGAN의 잔차 블록 사용
  • 1/√2 로 잔차 연결 재조정

 

 

Adaptive Group Normalization

그룹 정규화 이후 각 잔차 블록에 시간 단계와 클래스 임베딩을 통합하는 적응형 그룹 정규화(AdaGN) 사용.

 

 

 

Classifier Guidance

잡음이 있는 이미지 xt에 대해 분류기 pφ(y|xt, t)를 훈련한 다음 gradient ∇xtlog pφ(y|xt, t)를 사용하여 임의의 class label y로 확산 샘플링 프로세스를 안내할 수 있다.

(간결화를 위해 pφ(y|xt, t) = pφ(y|xt), εθ(xt, t) = εθ(xt))

 

Conditional Reverse Noising Process

샘플링

(원래는 y를 조건으로 하는 xT를 샘플링해야 하지만 노이즈가 충분히 많으면 어차피 정규분포라 상관없다고 합니다.)

 

확산 모델의 목적은 시간 단계 t+1에서 xt를 예측하는 것이다.

 

||Σ|| → 0인 무한 확산 단계에서, xt = µ 부근의 테일러 확장을 이용하여 다음과 같이 근사할 수 있다.

 

따라서

 

위 식으로 조건부 변환 연산은 무조건 변환 연산과 유사하지만 평균이 Σg 만큼 이동한 정규 분포로 근사될 수 있음을 발견했다.

 

요약(gradient scale은 후술)

 

Conditional Sampling for DDIM

이전 섹션의 유도는 확률적 확산 샘플링 프로세스에만 유효하며 DDIM 같은 결정론적 방법에는 적용할 수 없다.

이를 위해 score-based conditioning trick을 사용한다.

 

추가된 노이즈를 예측하는 모델 εθ(xt)가 있는 경우 score 함수를 유도하는 데 사용할 수 있다.

 

조건부 공식을 score function으로 대체

 

마지막으로 공동 분포의 점수에 해당하는 새로운 예측을 정의

 

요약

 

Scaling Classifier Gradients

분류기는 ImageNet에서 훈련.

최종 출력에서 클래스 불일치가 발견돼 gradient 계수를 추가하고 늘렸더니 불일치 없어짐.

(웰시코기 클래스. 왼쪽 - 1, 오른쪽 - 10)

 

Gradient 계수를 높이면 다양성을 희생하고 품질이 좋아짐.

 

 

 

Results

 지금은 개선 모델이 많이 나왔으므로 실험 결과는 pass~