Diffusion Model vs GANs

죽난
|2023. 12. 28. 13:06

   해당 페이지는 "GANs vs Diffusion Models - Generative AI Comparison"이라는 제목의 글로, 인공 지능 분야에서 생성적 모델로써 GANs(Generative Adversarial Networks)Diffusion Models의 차이점을 비교하고 있다.

글에서는 두 모델의 개념, 특징, 장단점, 그리고 각각의 모델이 어떻게 데이터를 생성하는지에 대해 설명한다. GANs은 두 개의 신경망(Generator와 Discriminator)을 사용하는 반면, Diffusion Models은 노이즈에서 시작하여 점진적으로 데이터를 생성한다. 두 모델 모두 다양한 응용 분야에서 활용되고 있으며, 각각의 모델이 가지는 고유한 장점과 한계점이 있다.

GANs vs Diffusion Models

  GANs과 Diffusion Models 모두 고품질 샘플 생성을 목표로 하지만 기본 아키텍처와 학습 방법이 다르다.

Generative Adversial Networks (GANs)

  GANs은 2014년에 개발되었으며, Generator와 Discriminator라는 두 개의 신경망을 사용하여 적대적으로 주고받는 방식으로 진행된다. Generator는 실제와 같은 샘플을 생성하는 역할을 하고, Discriminator는 샘플이 진짜인지 가짜인지 판별하는 역할을 한다.

GANs 학습

  훈련하는 동안 Generator의 역할은 생성된 샘플을 실제 샘플로 분류하도록 Discriminator를 속이는 것을 목표로 출력 샘플을 계속 개선하는 것이다. Discriminator의 피드백에 따라 파라미터를 조정하여 시간이 지남에 따라 점점 더 사실적인 샘플을 생성한다. 동시에 Discriminator는 실제 데이터와 가짜 데이터를 구별하는 데 더욱 능숙해지며, 이를 통해 Generator는 더욱 사실적인 예를 생성할 수 있도록 개선된다.

GANs 훈련의 경쟁적인 특성은 Generator의 출력을 반복적으로 개선하도록 유도한다. Loss function은 Discriminator의 예측과 정답간의 차이를 정량화하기 위해 계산되며, Generator는 이 손실을 최소화 하고 Discriminator는 이를 최대화한다. 학습이 계속됨에 따라 네트워크는 서로의 피드백을 기반으로 parameters를 업데이트하여 생성된 샘플의 품질과 현실감을 점차 향상시킨다.

GANs의 장점과 한계

GANs은 여러 가지 장점을 제공하므로 생성 작업에 매력적인 선택이 될 수 있다. GANs은 이미지, 오디오, 텍스트 등 다양한 매체에 걸쳐 매우 사실적이고 디테일한 샘플을 생성하는 데 탁월하다. 또한 GANs은 잠재 공간을 탐색하여 다양한 결과물을 생성함으로써 창의적인 것처럼 보일 수 있다. ‘this-person-does-not-exist.com’이라는 웹사이트에서 컴퓨터가 생성한 모든 얼굴을 볼 수 있다. GANs은 사실적인 샘플을 생성할 수 있기 때문에 데이터 세트의 다양성을 높이기 위한 Augmentation 방법으로도 사용할 수 있다.

그러나 GANs은 Generator가 학습 데이터의 전체 분포를 캡처하지 못해 반복적이거나 제한된 샘플을 생성하는 mode collapse와 같은 특정 한계가 있다. Discriminator와 Generator 간의 Adversarial training은 신뢰할 수 있는 학습을 보장하기 위해 균형을 잘 맞춰야 한다. Discriminator가 충분히 강력하지 않으면 Generator가 잘못된 예제를 출력할 수 있다.

 


Diffusion Models

Diffusion 모델은 2014년 개발되었으며, 일련의 단계를 반복적으로 적용하여 노이즈를 데이터로 변환하는 데 중점을 둔다.

Diffusion Process

이 모델은 무작위 노이즈로 시작하여 확산 프로세스(diffusion process)를 사용하여 샘플을 천천히 생성한다. 연속적인 확산 단계를 통해 작은 변화를 추가하여 노이즈를 원하는 이미지로 다시 변환하여 생성된 샘플을 개선한다. 이 모델은 데이터에 존재하는 복잡한 종속성과 패턴을 포착하는 방법을 학습한다. 좋은 데이터로 여러번 반복하면 모델은 데이터 분포를 추정하는 방법을 배울 수 있고 노이즈에서 시작하여 원하는 이미지를 생성할 수 있다.

학습하는 동안 모델은 생성된 샘플과 목표 분호 사이의 차이를 최소화한다. Loss function은 이 불일치를 정량화하고 모델의 parameteres는 이를 최소화하기 위해 반복적으로 조정되어 실제 데이터와 매우 유사한 샘플을 생성한다.

Diffusion Models의 장점과 한계

Diffusion 모델은 GANs과 구별되는 독특한 이점이 있다. 첫째, Diffusion 모델은 생성 프로세스에 대한 세밀한 제어를 제공하여 사용자가 생성된 데이터의 품질과 다양성을 조작할 수 있도록 한다. 그들은 데이터 합성과 현실적인 샘플을 만들기 위한 노이즈 제거 작업을 위한 자연스러운 프레임워크를 제공한다. 학습 프로세스는 GANs보다 훨씬 안정적이며 mode collapse의 영향을 받지 않는다.

그러나 Diffusion 모델은 GANs에 비해 계산 집약적이고 훈련 시간이 길고 최적의 샘플을 얻기 위해 미세 조정할 수 있는 노브와 레버가 많다. 이미지, 비디오 또는 모션과 정지 그래픽의 조합과 같이 multimodal distributions를 캡처하는 것은 훨씬 더 어려울 수도 있다. 우리는 text-to-image models인 DALLE-2, Midjourney 그리고 Stable Diffusion과 같은 Diffusion models의 강력한 예를 보았다.

 


GANs vs Diffusion Models: FAQs

1. What are the main differences between GANs and Diffusion Models?

GANs과 Diffusion 모델은 생성 모델링에 대한 접근 방식이 다르다. GANs은 Generator와 Discriminator 사이의 Adversarial을 활용하는 반면, Diffusion 모델은 반복적인 확산 과정을 통해 노이즈를 데이터로 변환한다.

2. Which model is better for generating realistic images?

GANs는 복잡한 세부 사항을 포착하고 시각적으로 매력적인 샘플을 생성할 수 있기 때문에 사실적인 이미지를 생성하는 데 선호되며 Diffusion 모델은 생성 과정을 세부적으로 제어하여 이미지 합성 작업에 적합하다.

3. Can GANs and Diffusion Models be combined?

가능하다. 두 방식의 강정을 활용하여 GANs와 Diffusion 모델을 합칠 수 있다. 이 접근법은 GANs with Diffusion (GANDI)로 알려져 있으며 Diffusion 모델의 확산 프로세스를 GANs의 훈련에 통합하여 샘플 품질과 다양성을 향상시킨다.

4. Which model is more computationally efficient? GAN or Diffusion?

일반적으로 GANs은 Diffusion Models에 비해 계산적으로 더 효율적인 것이다. GANs은 병렬화 기술을 활용하고 강력한 GPU에서 학습할 수 있어 더 빠른 학습 및 생성 시간을 가능하게 한다. 반면 Diffustion Models은 더 긴 학습 시간이 필요하고 계산 집약적일 수 있다.

5. What are the potential applications of GANs and Diffusion Models?

GANs과 Diffusion Models은 모두 다양한 영역에 걸쳐 광범위한 응용 분야를 가지고 있다. GANs은 이미지 합성, 스타일 전송, 데이터 증강 및 이상 감지에서 응용 분야가 있다. Diffusion Models은 이미지 인페인팅, 노이즈 제거 및 데이터 합성 작업에 탁월하다. 두 모델 모두 텍스트, 오디오 및 비디오 데이터 생성에도 활용할 수 있다.

6. Are there any challenges associated with GANs and Diffusion Models?

GANs와 Diffusion Models은 강력한 생성 기능을 제공하지만 어려움도 있다. GANs는 Generator가 제한적이거나 반복적인 샘플을 생성하는 mode collapse를 겪을 수 있습니다. Diffusion Models은 하이퍼파라미터를 신중하게 조정하고 학습 시간을 늘려야 한다. 또한 두 모델 모두 최적의 성능을 위해 많은 양의 훈련 데이터가 필요하다.

 

참고 자료 : https://www.sabrepc.com/blog/Deep-Learning-and-AI/gans-vs-diffusion-models

'AI Research' 카테고리의 다른 글

[Code] VAE(Variational Auto-Encoder) 구현  (0) 2024.03.28
[Stable Diffusion] 상황 별 Negative prompt  (1) 2024.01.09