Diffusion Models Beat GANs on Image Synthesis

peter's avatar
Jun 11, 2024
Diffusion Models Beat GANs on Image Synthesis
목차
 
🌙
기존의 Diffusion모델을 발전 시키기 위하여 구조를 변경하고 Conditional하게 이미지 생성을 할 수 있는 Classifier guidance 도입

OVERVIEW

이 논문의 전반적인 맥락은 Diffusion Model과 Classifier Guidance를 사용하였더니 Image Synthesis 분야에서 최신의 Generative Model보다 우수한 품질의 Image Sample을 만들어 내었다는 것을 이야기하고 있다. 1. Sample의 품질을 향상시키기 위해 일련의 Ablations을 거쳐 아키텍처를 개선 2. Classifier Guidance를 통해 더 나은 품질 Sample 생성 ⇒ 다양성과 정확성을 균형있게 조절하고 간단하고 효율적인 계산을 사용하기 위하여 Classifier의 Gradient 사용 전반적으로 이 연구를 통하여 Image Synthesis 분야에 Generative Model에 대한 품질과 효율성을 향상시키는 Idea 및 통찰을 제공하는 논문
 

CONTENT


❏ 1 Introduction

Figure 1: Selected samples from our best ImageNet 512 x 512 model (FID 3.85)
Figure 1: Selected samples from our best ImageNet 512 x 512 model (FID 3.85)
 
최근 몇 년 간 Generative Model은 다양한 분야에서 충분히 많은 활용과 능력을 보여주었다. (FID, IS, Precision metric이 보장하는 SOTA 모델) 그럼에도 현재 SOTA Generative Model을 뛰어넘을 가능성이 충분하며 모델을 다양한 분야에 적용할 수 있는 가능성 또한 충분하다.
이 논문이 작성될 당시 GANs(Generative Adversarial Networks)은 많은 sample quality metric에서 최고 수준을 보여주고 있었다. 그렇지만 GANs는
 
1) 최신의 Likelihood-Based Models 보다 다양성이 떨어짐
2) Hyperparmeter, Regularizers 에 민감하여 학습이 어려움
과 같은 단점이 존재했다.
 
GANs는 최신의 기술에 해당하지만 이러한 단점들로 인해 새로운 분야에 적용하는 것이 어려웠다. 이러한 문제점을 해결하고자 GAN과 유사한 sample quality를 Likelihood-Based Models로 이루기 위하여 많은 시도가 있었다. 이러한 모델들은 더 많은 다양성을 보여주고 보통의 GANs 모델보다 확장과 학습이 쉽지만 시각적인 Sample Quality 측면에서는 아직 부족하다. 또한, VAE(Variational Autoencoders)를 제외하고 이러한 모델들에서 Sampling은 GANs와 비교했을 때 시간적으로 더 느리다.
새로운 분야에 적용하는 것이 중요한 이유
📝
내가 들었던 어떤 교수님의 한 수업에서는 Data Science는 단순한 AI Model에 의해 완성되는 것이 아닌 ABC+D라고 언급하신 적이 있다. Data Science = AI Model, Big Data, Computing 그리고 Domain 이라는 것이다. 우리가 단순히 AI Model에 대해서 공부하는 것을 넘어서 어떤 Domain에 적용할지도 중요한 문제라는 것이다.
 
최근에 high quality images를 생성한 Diffusion Model은 1) distribution coverage 2) A stationary training objective 3) easy scalability와 같은 원하는 특성을 가지고 있다. 이런 모델들은 Noise를 제거하면서 Sample을 생성하는데 학습의 목표는 Reweighted Variational Lower Bound로 표현된다. (DDPM에서 하한으로 Loss를 표현) 이 모델은 (DDPM은 2020년) CIFAR-10에 대해서는 최신의 성능을 보이지만 LSUM, ImageNet과 같은 데이터셋에 대해서는 GAN에게 뒤처지고 있다. (간단한 DataSet에만 적용 가능)
 
이 논문의 저자들은 이 모델은 1) Computing의 향상에 따라 모델의 성능 또한 같이 향상이 되고 2) Upsampling Stack을 사용하여 ImageNet 256x256에서도 좋은 품질의 샘플을 생성해 내는 것을 발견했다. 그러나 이 모델의 FID (Fréchet Inception Distance)는 BigGAN-deep에 대해서 여전히 경쟁력이 부족한 모습을 보여주었다.
 
저자들은 이 격차가 왜 생기는지 2가지의 요인에 의해 발생했다고 가설을 내세웠다.
 
  1. that the model architectures used by recent GAN literature have been heavily explored and refined. (GAN은 Diffusion에 비해 충분히 연구되었고)
  1. that GANs are able to trade off diversity for fidelity, producing high quality samples but not covering the whole distribution. (GANs는 diversity와 fidelity에 대한 trade off가 가능하여 다양성은 떨어지지만 High Quality Image를 생성)
 
저자들은 Diffusion Model에서 이와 같은 가설에 대응하여 1) 모델의 아키텍쳐를 개선(요인 1에 기인한 Solve), 2) diversity 와 fidelity를 Trade off하기 위한 방법 (요인 2를 기인한 Solve)을 생각해냈다. 저자들의 이러한 개선 방안이 다양한 Metrics와 Datasets에서 능가하는 모습을 보여주었다고 한다.
이에 대하여 논문에서는 Section 별로 잘 풀어내었다. 이 부분을 염두해서 읽어보자.

❏ 2 Background

 
Section 2를 보기 최근에 Diffusion Model에서는 DDPM에서 언급한 것과 같이 Noise를 추가하고 Noise를 제거하는 방식으로 진행된다. 이 논문에서의 저자들은 Nosie를 Diagonal Gaussian distribution에서 가져옴에 따라 이것이 자연스러운 이미지와 various derivations을 간단하게 해준다고 말했다. Diffusion Model은 를 통해 Denoise된 를 생성한다. 저자는 이 모델을 매개변수화 하여 에 가해진 Noise 를 예측하는 정의했다. 이 모델을 학습시키기 위해 Mini Batch에서 Data sample , Time step , Noise 를 랜덤하게 뽑아 Noised Sample 를 생성한다. 여기서의 학습 목표는 를 최소화 하는 것이겠다. (Predict noise와 True noise 사이의 MSE)
 
에서 어떻게 Sampling을 해야하는지는 뚜렷하지는 않았다. 그렇기에 Diffusion Sampling은 로부터 을 예측하는 것을 반복하여 이루어진다는 것을 다시 한 번 생각해 보았다. 저자는 가 주어진 상태에서 의 분포인 를 Diagonal Gaussian 로 Modeling할 수 있다고 언급하였다.
여기서 평균 로 부터 식을 도출할 수 있고 분산 는 상수 로 고정되거나 각각의 학습된 Neural Network Head가 될 수 있다. 분산의 2가지 접근 방식 둘 다 Step T가 충분히 크면 좋은 품질의 이미지를 생성할 수 있다.
 
저자는 실제 Variational Lower Bound인 (VAE에서 파생) 보다 간단한 Mean-Squared Error 목적 함수 이 이 더 좋은 결과를 가져올 수 있다고 말하고 있다.
 

❍ 2.1 Improvements (Improved DDPM)

최근 여러 논문들에서 Diffusion Model을 개선하고자 하였으며 이 논문 또한 저자들만의 3가지의 개선점을 소개하고 있다.
논문에서는 분산  을 상수로 고정하는 것은 차선의 방식이며, 다음과 같이 를 Parameterize하는 것을 제안하였다.
위의 식을 이용하여 사이로 보간한 output v를 얻을 수 있다. 여기서 는 상한과 하한에 해당하는 Reverse Process Variance입니다. 추가적으로 저자는 가중합 를 사용하여 (lamda=0.001) 를 동시에 학습시킬 수 있는 hybrid objective를 소개한다. hybrid objective를 사용하여 Reverse Process Variance를 학습함으로써 Sampling의 단계를 줄이고 샘플의 품질을 크게 저하시키지 않고도 Sampling할 수 있도록 한다.
 
DDIM 논문은 DDPM과 같은 forward marginals를 가지지만, Reverse noise의 분산을 변경하여 다른 Reverse Sampling이 가능한 non-Markovian noising process를 제안한 것을 모두 기억할 것이다. Noise를 0으로 두면가 Deterministic하게 latent와 Image를 Mapping하게 되어 더 적은 step으로 Sampling이 가능하다. 저자들은 단계가 50보다 적으면 이러한 방법이 유용하다는 것을 알고 채택했다. (Result step25)

❍ 2.2 Sample Quality Metrics

 
Metric에 대한 설명 - 논문 참조

❏ 3 Architecture Improvements

 
Section 3에서는 Diffusion Model에 대하여 최고의 Sample quality를 제공하는 모델 아키텍처를 찾기 위해 아키텍처 변형을 시도함을 서술해놓았다.
 
저자는 Diffusion Model을 위해 UNet 아키텍처를 도입했다. UNet은 다른 아키텍처들보다 샘플 품질을 상당히 향상시킨 것을 보여주었다.
 
UNet 모델은
1) stack of residual layers를 사용
2) down sampling convolutions , upsampling convolutions적용
3) Skip Connction 기법을 사용하여 동일한 공간 크기를 가진 레이어들을 연결
4) 16x16의 Resolution에서Single head를 가진 global attention layer를 사용
5) 각 residual block에 timestep embedding projection을 추가
 
이러한 것들이 고해상도에서 매우 많고 다양한 데이터 셋의 퀄리티 개선에 도움이 되었다. UNet 아키텍처에 대해 저자만의 추가적인 기법들은 CIFAR-10 및 CelebA-64 데이터셋에서 성능을 개선하였다. (같은 저자의 Improved DDPM 논문에서 이어진 아키텍처 발전) ImageNet 128x128에서도 동일한 결과를 보여주며, 더 크고 다양한 데이터셋에서 더 높은 해상도로 샘플 품질을 상당히 향상시킬 수 있음을 확인했다.
 
저자들은 다음의 아키텍처의 변화를 실험하였습니다.
  1. 모델의 크기를 상대적으로 일정하게 유지하면서 깊이와 너비를 증가시키기 ⇒ 좋은데 시간이 너무 많이 걸림
  1. Attention head의 수를 늘리기
  1. 16x16에만 Attention을 사용하지 않고 32×32와 8×8에서도 사용해보기
  1. upsampling과 downsampling에 BigGAN의 residual block을 사용해보기
  1. Residual connection을 로 rescaling 하기
    1.  
위 항목에 대하여 ImageNet 128×128, Batch Size 256, 250 Sampling steps으로 학습하였습니다. FID는 아래 표와 같다.
 
Table 1: Ablation of various architecture changes, evaluated at 700K and 1200K iterations
Table 1: Ablation of various architecture changes, evaluated at 700K and 1200K iterations
700K와 1200K의 iteration을 반복했을 때의 결과는 대체로 긍정적인 결과가 도출되었다.
Resblock을 Rescale하는 부분만 FID 값이 증가하였고 나머지는 모두 감소하였다.
 
 
Figure 2: Ablation of various architecture changes, showing FID as a function of wall-clock time. FID evaluated over 10k samples instead of 50k for efficiency.
Figure 2: Ablation of various architecture changes, showing FID as a function of wall-clock time. FID evaluated over 10k samples instead of 50k for efficiency.
깊이가 깊어질 수록 성능이 향상되는 것에 반하여 학 시간이 늘어나며 더 넓은 모델과 동일한 성능을 달성하는 데 시간이 오래 걸리는 모습을 보였다
때문에 저자들 추가적인 실험에서 이 변경 사항을 사용하지 않기로 결정했다.
그 외 Transformer 아키텍처와 더 잘 일치하는 다른 Attention 구성도 연구하였다. 이를 위해 Attention Head를 상수로 고정하거나 channel per head의 수를 고정하는 실험을 진행했다. 아키텍처의 나머지 부분은 128개의 Base Channel, 2 residual blocks per resolution, multi-resolution attention, BigGAN up/downsampling을 사용하여 모델을 700,000회 반복하여 훈련해보았다.
Table 2: Ablation of various attention configurations. More heads or lower channels per heads both lead to improved FID.
Table 2: Ablation of various attention configurations. More heads or lower channels per heads both lead to improved FID.
 
Table 2에서는 Head의 수를 늘리거나 channels per head의 수를 줄이면 FID가 개선되는 것을 보여주었다.
Figure 2에서 64개 채널이 가장 높은 wall-clock time을 가지므로 이를 채택 기본값으로 채택하였다.
저자들은 이와 같은 선택이 최신 Transformer 아키텍처와 더 잘 일치하고 다른 구성과 동등하다는 점에 주목하였다.
 

❍ 3.1 Adaptive Group Normalization

notion image
Table 3: Ablating the element-wise operation used when projecting timestep and class embeddings
into each residual block. Replacing AdaGN with the Addition + GroupNorm layer from Ho et al.  makes FID worse
Table 3: Ablating the element-wise operation used when projecting timestep and class embeddings into each residual block. Replacing AdaGN with the Addition + GroupNorm layer from Ho et al. makes FID worse
 
또한 저자는 adaptive group normalization (AdaGN)이라고 부르는 Layer를 가지고 실험하였다.
이 AdaGN은 group normalization 연산 이후 각 residual block에 timestep embedding과 class embedding을 포함하는 방식이다. AdaIN, FiLM과 유사한 방법이라고 할 수 있겠다.
 
이 레이어는 다음과 같이 정의한다
 
⇒ Feature maps of intermediate of the residual block
 
⇒ Linear projection of the time step t and class embedding
 
이전 Diffusion Model에서 이미 AdaGN이 개선된 결과를 보인 적이 있다. 때문에 저자는 모든 실험에서 기본적으로 AdaGN을 포함시켰다. Table 3에서는 이러한 선택을 명시적으로 제거하고, adaptive group normalization 레이어가 실제로 FID를 개선시킨 것을 확인했다.
표의 두 개의 Model은 128개의 Base Channel, 2 residual blocks per resolution, multi-resolution attention, BigGAN up/downsampling을 사용하여 모델을 700,000회 반복하여 훈련했다고 한다.
 
결론적으로 저자들은 최종 개선된 모델 아키텍처를 기본값으로 사용한다.
  1. variable width with 2 residual blocks per resolution
  1. multiple heads with 64 channels per head
  1. attention at 32, 16 and 8 resolutions
  1. BigGAN residual blocks for up and downsampling
  1. AdaGN for injecting timestep and class embeddings into residual blocks
 
notion image
 

❏ 4 Classifier Guidance

 
Section 4에서는 먼저 Conditional Image Synthesis를 위한 GANs의 설계와 Class Label의 중요성을 강조한다.
 
일단 GANs에서는 classifier 처럼 동작하도록 설계된 1) head가 있는 discriminator를 사용하거나 2) class-conditional normalization 방법을 사용한다.
 
저자는 클래스 정보가 이러한 모델에 있어서 중요하다는 것을 발견하였고, 레이블 한정된 regime에서는 합성 레이블을 생성하는 것이 도움이 된다는 것을 알아냈다. GANs에서의 이러한 클래스 정보의 중요성을 고려하여, Diffusion model에 Class Label을 어떻게 조건부로 사용할 수 있는지 생각했다.
 
이 논문에서는 이미 정규화 레이어에 클래스 정보를 포함시키는 방법(3.1절의 class embedding)을 사용하고 있었다. GAN 의 특징으로부터, class label 에 conditional 한 diffusion 역시 설계할 수 있으며 3.1. 절에 제시된 것 처럼, 이미 정규화 층에는 class 에 대한 정보를 포함시켰다.
 
논문에서는 이와는 다른 방법을 적용하였다. Classifier 를 이용하여 Diffusion Generator를 개선하는 것 이다.
💻
Sampling Process + Trained Classifier
1) noise image 에 대하여 Classifier 를 훈련
2) Gradient 를 이용하여 Diffusion sampling process에서 임의의 class label인 y에게 Guide를 제공
 
일단 Classifier Guidance를 사용하려는 이유는 Unconditional 이미지 생성에서 사용자가 원하는 이미지를 생성하기 위해 Conditional 이미지 생성을 가능하게 하려함이다.
 
저자는 GANs에서 Class Label를 활용한 것에 대해 아이디어를 얻어 Diffusion Model에 Class Label을 어떻게 조건부로 활용할 수 있을지 생각을 하였다.
 
Section 4에서는 먼저 Classifier를 사용하여 Conditional sampling processes를 유도하는 두 가지 방법을 설명한 후 Classfier를 사용하여 sample quality를 향상시키는 방법을 설명했다.
 
또한 논문에서는 표현의 편의를 위하여 이와 같이 표기한다.

⇒ Classifier Guidance

⇒ Diffusion Model

이들은 각 step t에 대한 별도의 함수를 나타내며 또한 학습 시에 모델들은 입력 t에 대해 조건이 정해져 있어야 한다.
 

❍ 4.1 Conditional Reserve Noising Process

 
저자들은 diffusion model을 sampling 과정에서 unconditional reverse noising process 를 사용하는 것으로 시작한다. 이를 class label y에 대하여 conditional 하게 바꾸기 위해 sampling 의 각 step 이 아래 확률분포로부터 sample 을 추출하게끔 해준다.
 
Normalizing 상수를 Z라고 하여 표현을 하면 (논문 부록 H )
 
 
표현할 수 있다.
일반적으로 이 분포로부터 정확하게 샘플링하는 것은 어렵다. 때문에 저자는 이를 perturbed Gaussian distribution로 근사하여 해결한다. Diffusion model은 로부터 를 가우시안 분포를 사용해서 예측한다.
 
 
이 분포로부터 Reparameterization trick 을 사용해 sampling 을 진행한다.
여기서, Class-conditional 특성을 도입하기 위해 의 값을 계산한다.
또한 계산의 편의성을 위해 를 계산하고 log 를 다시 지우는 방식을 사용한다.
 
식 (1)에 log를 취해준다.
 
 
의 curvature 가 에 비해 작다고 가정해보자 (diffusion step 의 수가 무한히 발산하지 않을 때 성립)
 
가정이 성립한다면 근방에서의 테일러 전개에 의해
 
 
는 상수
 
로 치환하면
 
 
식 (2), (4) 이용해 를 계산해 보면
 
 
reparameterization trick 을 적용하면 에 대해
 
 
log 를 지우는 과정을 생각하면
 
 
결과적으로 분포 ) 로 부터 z를 추출하는 것이 sampling 과정에 해당하게 된다. 상수 C의 경우, 식 (2)에서 normalizing constant Z로 고려되었다.
notion image
결론적으로 conditional transition operator 는 평균값이 변한 unconditional transition operator 로 근사 될 수 있음을 알 수 있다. 이를 적용한 sampling algorithm 은 좌측과 같다.
 
 
결론 !! (식 말고 Flow를 요약하였습니다)
 
DDPM은 Noise를 입히고 Noise를 없애는 방식으로 진행된다는 것을 기억할 것이다.
notion image
notion image
 
  1. Noise를 입히는 과정마다 Classifier Guidance도 같이 학습을 시킨다. (Noise를 입힌 후의 이미지가 어떤 label인지 학습)
  1. Noise를 제거하는 과정에 이 Guidance가 보조를 해준다.
  1. 옆에 사진을 보면 원래 Diffusion 모델이 가야하는 방향에 Guidance가 벡터 합 형태로 더해저 최종적으로 Denoise된 이 도출된 것을 확인 할 수 있다.
 
Unconditional한 DDPM의 식에 Guidance가 보조를 하여 Conditional한 이미지를 생성할 수 있게 되는 것이다.
여기서 Scale factor s는 Guidance할 정도를 조절 해주는 인자로서 하나의 Hyperparmeter로 생각하면 좋겠다.
notion image
notion image
Label y를 신경쓰고 싶지만 어려움 ⇒ 근사시키자..!
notion image
DDPM의 Unconditional 식
 
notion image
Guidance를 이용하여 변형된 Conditional 식
비슷하게 생겼지만 guidance로 인한 보정을 받은 상황

❍ 4.2 Conditional Sampling for DDIM

 
4.1. 절의 방법은 stochastic sampling 과정에서만 적용될 수 있다. DDIM 과 같은 deterministic sampling 에는 적용될 수 없다
따라서 저자는 score-based conditioning trick 을 새롭게 소개한다. 이는 leverages the connection between diffusion models and score matching 활용한다.
특히, sample에 추가된 noise를 예측하는 모델 이 있다면 이를 사용하여 score function을 유도할 수 있다.
유도과정 (미완)
데이터에 추가되는 noise 를 예측하는 network 를라고 해 보자.
DDPM 에서
이다. 이 때 아래 두 식이 성립하므로
Distribution q의 pdf 식에 이를 대입해 계산하면
(xtt)=−1−αˉtϵθ(xtt)
이다.
Class-conditional 조건을 위해 다음 분포 q(xty)=q(xt)q(yxt) 를 고려해 보자. 앞서 정의한 classifier (yxt) 를 이용해 이에 대한 score function 을 구하면
이제 joint distribution 의 score 를 이용해 network 를 update 시키는 과정을 생각하자. 식 (13)을 통해 update 하고자 하는 network 를 ϵ^(xt) 라고 하자. 식 (11) 과 유사하게
가 성립하고 따라서
 
DDIM 과 동일한 sampling 과정을 사용할 수 있지만로부터  을 sampling 하는 식 내의  network 가  network 로 바뀌게 된다. 이에 대한 알고리즘은 아래와 같다.
notion image

❍ 4.3 Scaling Classifier Gradients

 
저자들은 large scale Generation task 에 classifier guidance 를 적용하기 위해 ImageNet 데이터에 대해 classifier 를 학습 시켰다.
Classifier의 구조는 8x8 layer에 Attention pool을 가진 U-Net을 downsampling 시켜 분류 문제를 해결 할 수 있도록 하였다.
Diffusion model에서 사용된 Noise의 분포와 같은 분포를 가지고 Classifier를 학습시켰고 과적합을 감소시키기 위하여 randomcrop augmetation을 추가 적용하였다.
학습이 끝난 후에는 Algorithm 1에서 나온 를 활용하여 Classifier를 Diffusion model의 Sampling 과정과 통합시켰다.
 
저저들은 uncoditional ImageNet model에서의 실제 실험에서는 classifier에 의한 gradient를 1보다 큰 비율로 Scaling을 해야하는 것을 발견했다.
Scale을 1로 사용했을 때는 class에 할당된 확률이 50% 근처로 계산되었고 생성된 Sample들은 해당 class에 속하지 않는 경우를 보였다고 한다. Scale을 1보다 크게 사용할 경우는 생성된 Sample들이 해당 class에 속할 확률이 100%에 근접하게 되며 밑에 첨부한 그림은 이러한 효과의 예시를 보여준다.
 
Figure 3: Samples from an unconditional diffusion model with classifier guidance to conditionon the class "Pembroke Welsh corgi". Using classifier scale 1.0 (left; FID: 33.0) does not produceconvincing samples in this class, whereas classifier scale 10.0 (right; FID: 12.0) produces much more class-consistent images 위 그림은 classifier guidance를 사용한 unconditional diffusion model에 “Pembroke Welsh corgi”를 조건으로 주고 샘플링한 결과이다. 왼쪽은 classifier scale로 1.0을 사용하였고 오른쪽은 10.0을 사용하였다. FID는 왼쪽이 33.0, 오른쪽이 12.0으로 클래스에 더 일치하는 이미지가 생성되었다.
Figure 3: Samples from an unconditional diffusion model with classifier guidance to conditionon the class "Pembroke Welsh corgi". Using classifier scale 1.0 (left; FID: 33.0) does not produceconvincing samples in this class, whereas classifier scale 10.0 (right; FID: 12.0) produces much more class-consistent images 위 그림은 classifier guidance를 사용한 unconditional diffusion model에 “Pembroke Welsh corgi”를 조건으로 주고 샘플링한 결과이다. 왼쪽은 classifier scale로 1.0을 사용하였고 오른쪽은 10.0을 사용하였다. FID는 왼쪽이 33.0, 오른쪽이 12.0으로 클래스에 더 일치하는 이미지가 생성되었다.
Scaling classifier gradient의 효과는
 
 
와 같은 수식으로 설명될 수 있다.
 
결과적으로 Classifier distribution 이  에 비례하게끔 re-normalize 된 classifier 로부터 conditioning 이 일어나게 된다
scale factor s가 1보다 크면 지수에 의해 값이 증폭되기 때문에 분포 가 더 sharp 해 지게 된다.
이는 해당하는 class의 Gradient Scale를 증가시키며 결과적으로 확률 분포가 특정 Class에 대하여 높아지고 나머지 Class에 대해서는 낮아지는 모습을 보이게 된다.
이렇게 되면 sample의 Diversity는 낮아지게 되지만 Fidelity 즉 Quality는 높아지게 된다.
 
지금까지 사용한 diffusion mosel은 unconditional model이라고 가정하였다. 물론 같은 방식으로 conditional model로 사용하는 것도 가능하고 classifier guidance를 사용하는 것도 가능하다.
 
Table 4: Effect of classifier guidance on sample quality. Both conditional and unconditional models were trained for 2M iterations on ImageNet 256x256 with batch size 256.
Table 4: Effect of classifier guidance on sample quality. Both conditional and unconditional models were trained for 2M iterations on ImageNet 256x256 with batch size 256.
모델의 종류와 classifier guidance 유무에 따른 sampling 결과를 Table 4. 에 나타내었다. Conditional model 과 guidance 를 같이 사용함으로써 가장 좋은 FID score 를 얻을 수 있다.
 
 
 

❏ 5 Result

❍ 5.1 State-of-the-art Image Synthesis

notion image
notion image
ADM : Ablated Diffusion Model (unconditional image generation) ADM -G : ADM + classifier Guidance (최종모델, conditional diffusion model)
  • 모델의 구조만을 개선시킨 ADM의 이미지 생성 평가는 LSUN의 bedrooms, Horse, cats의 데이터셋에서 학습을 진행하였고, classifier gudiance를 추가시켜 최종 모델로 만든 ADM-G의 이미지 생성 평가는 Image Net의 각 크기 별로 학습을 시켰다.
  • 위 성능 지표 결과를 보면 LSUN, Image Net 데이터 셋에서 ADM과 ADM-G가 가장 높은 성능을 보이는 것으로 확인된다.
  • 옆의 사진은 현재 성능이 가장 좋은 BigGAN-deep - Diffusion model- 원본 데이터 순으로 나열되어 있는 Random sample 이미지 이다.
  • GAN이 비슷한 특징을 가진 이미지만 생성하고 다양성이 없어 보이는 것에 비해 Diffusion모델은 GAN과 비슷한 퀄리티의 샘플 + 다양한 이미지(diversity가 높은)를 생성하는데 성공하였다.

❍ 5.2 Comparision to Upsampling

notion image
ADM-G : ADM + classifier Guidance ADM-U : ADM + upsampling stack
  • ADM-U모델은 데이터 클래스의 불균형 문제를 해결하기 위해 ADM에 추가적인 upsampling기법 적용한 방법이다.
    • upsampling
      데이터 클래스 불균형의 문제를 해결하기 위한 방법으로 데이터를 복제하거나 생성하여 데이터셋에서 적은 클래스를 차지하고 있는 데이터를 늘려서 데이터셋을 균형있게 만드는 방법이다.
      ex) 고양이사진은 많고 강아지 사진이 적을때, 강아지 사진을 복사하여 데이터셋을 균형있게 ㅁ만듦 or 강아지 사진과 고양이 사진을 섞어서 새로운 사진을 생성함 (생성된 데이터는 기존 데이터와 비슷한 특징을 가지도록 생성됨)
       
  • 위의 성능 지표는 ADM-G 와 ADM-U를 비교하였으며 ADM-G + ADM-U으로 결합한 모델은 해상도가 더 낮은 모델만 guide 하였다. 두 모델을 결합한 모델은 각 모델의 비중을 조절하여 훈련을 시켰고 Sbase250, Supsample 250 으로 훈련시킨 마지막 모델에서 FID의 성능이 가장 높게 나왔다.
  • 표에서 Classifier gudiance와 Upsampling stack이 서로 다른 방향으로 샘플의 품질을 향상시키는 것을 알 수 있다.
  • Upsampling stack은 recall을 높게 유지한 채로 precision을 개선하며 Classifier gudiance는 훨씬 더 높은 precision을 위해 diversity를 절충할 수 있도록 한다.
    • ⇒ reference 참조

❏ 6 Limitations and Future work

 
notion image
  1. SIower than GAN (both training and sampling) single step distillation model
  1. Unlike GAN / Flow / VAE, diffusion models do not learn an explicit latent representatlon, making it difficult to use diffusion models for representation learning or image editing applications.
  1. CIassifier guidance is effective but currently limited to labeled datasets ⇒ extend to unlabeled data by clustering samples to produce synthetic labels or by labeling discriminative models.
  1. Also, this suggests that large unlabeled datasets could be leveraged in the future to pre-train powerful diffusion models.

REFER

#
Title
type
link
[1]
[논문리뷰] Diffusion Models Beat GANs on Image Synthesis
blog
[2]
Diffusion Models Beat GANs on Image Synthesis
blog
[3]
[220401] Diffusion Models Beat GANs on Image Synthesis - 장유진
youtube
[4]
[논문 리뷰] Diffusion Models Beat GAN on Image Synthesis - 김보민
youtube
 
Share article

YHLog