본문 바로가기
AI/Study

[Study] 생성모델 GAN/ VAE/ Diffusion Models

by 여기는 정글 2024. 12. 20.

안녕하세요, 정글러 입니다.

최근에 Sora, Stable Diffusion 등으로 화제가 되었던 생성형 모델에 대해 알아보겠습니다.


비교 요약

  GAN VAE Flow-based Model Diffusion Models
Latent Space 사용 O 사용 O 직접 계산 사용 X (데이터 공간 직접)
학습 안정성 불안정 안정적 비교적 안정적 매우 안정적
데이터 품질 고품질 중간 중간 고품질
생성 속도 빠름 빠름 빠름 느림
특징 적대적 학습으로
고품질 이미지 생성
구조적 잠재 공간 활용 가능 확률 밀도 계산 가능 점진적 데이터 복원

모델구조) Autoencoder 기반

Variational Autoencoder (VAE)

>> VQ-VAE

  • 정의
    Vector Quantization을 Variational Autoencoder(VAE)에 통합하여 이산적 latent space를 생성하는 모델입니다.
  • 특징
    • VAE는 연속적인 latent space를 사용하지만, VQ-VAE는 이산적인 latent space를 사용.
    • 코드북을 통해 입력 데이터를 이산적인 벡터로 표현.
  • 장점
    • 연속 데이터의 잠재적 모호성을 줄임.
    • 이산적 표현은 생성 모델(GAN, Transformer 등)과 결합하기 적합.
  • 응용
    • 음성, 이미지 생성
    • 텍스트-이미지 모델 (예: DALL-E)

 

>> AugVAE

  • 정의
    VAE의 변형으로, 입력 데이터를 확장하거나 조건 정보를 추가해 더 풍부한 latent space를 학습하는 모델.
  • 특징
    • 조건 정보를 추가하여 특정 속성에 기반한 데이터 생성을 강화.
    • 데이터 증강(data augmentation)을 활용해 성능 향상.
  • 응용
    • 데이터 부족 상황에서 생성 모델 성능 강화.
    • 속성 기반의 데이터 생성(예: 특정 스타일 이미지 생성).

 

모델구조) GAN 기반

개념

GAN은 두 개의 신경망, 생성자(Generator)와 판별자(Discriminator)가 서로 경쟁하며 학습하는 모델입니다.

구조

  • Generator:
    랜덤한 노이즈에서 실제와 비슷한 데이터를 생성.
    목적: 판별자를 속일 수 있는 데이터를 생성.
  • Discriminator:
    입력 데이터가 실제(real)인지 생성된(fake) 데이터인지 구분.
    목적: 생성된 데이터를 판별.

학습 과정

  • Generator는 Discriminator를 속이는 데이터 생성을 목표로 학습.
  • Discriminator는 Generator가 생성한 데이터를 잘 구분하도록 학습.
  • 두 네트워크는 적대적(Adversarial) 관계로 학습하여 Generator가 점점 더 실제 같은 데이터를 생성.

장점

  • 고품질의 이미지를 생성.
  • 응용: 이미지 생성, 스타일 전환(Style Transfer), 초해상도(Super-Resolution).

단점

  • 학습이 불안정 (Mode Collapse, 학습 균형 문제).
  • 평가 기준이 명확하지 않음.

 

모델구조) Diffusion Models

개념

Diffusion Models는 데이터를 점진적으로 노이즈화한 후, 이를 반대로 복원하여 새로운 데이터를 생성하는 확률적 모델입니다.

구조

  1. Forward Process:
    • 데이터에 점진적으로 노이즈를 추가하여 정규 분포에 가깝게 변환.
  2. Reverse Process:
    • 학습된 모델을 사용해 노이즈에서 원본 데이터를 복원.

특징

  • 데이터의 생성은 다단계로 진행 (시간 단계별 복원).
  • Latent Space가 아닌 데이터 공간 자체에서 작동.

대표적인 모델

  • DDPM (Denoising Diffusion Probabilistic Models)
  • Score-based Generative Models

장점

  • 생성된 데이터의 품질이 높음 (특히 고해상도 이미지).
  • 안정적 학습 과정 (GAN에 비해).

단점

  • 학습과 생성 과정이 느림.
  • 계산량이 많음.

DDPM / DDIM / LDM

모델 작업 공간 특징 효율성 적용 사례
DDPM 데이터 공간 확률적 복원, 고품질 이미지 생성 가능 계산량 높음 고품질 이미지 생성
DDIM 데이터 공간 결정론적 복원, 적은 스텝으로 효율성 증가 계산량 적음 실시간 응용
LDM 잠재 공간 (Latent) 압축된 공간에서 작업, 고해상도 데이터 처리 가능 계산량 매우 적음 텍스트-이미지 생성 (예: Stable Diffusion)

 

1) DDPM (Denoising Diffusion Probabilistic Model)

개요

DDPM은 디퓨전 모델의 초기 제안된 형태로, 데이터를 점진적으로 노이즈화(Forward Process)하고, 이를 역으로 복원(Reverse Process)하면서 데이터를 생성하는 방식입니다.

핵심 과정

  1. Forward Process:
    • 원본 데이터를 여러 단계로 점진적으로 노이즈화해 잠재 공간(latent space)으로 변환.
    • 노이즈가 점차 가우시안 분포에 가까워짐.
  2. Reverse Process:
    • 노이즈로부터 원본 데이터를 복원하는 단계.
    • 각 단계는 학습된 노이즈 예측 네트워크를 통해 이루어짐.

특징

  • 확률적 모델: 각 스텝에서 확률적 분포를 사용해 데이터를 복원.
  • 높은 품질: 복잡한 데이터 구조를 잘 복원 가능.
  • 시간 소모: 많은 스텝을 필요로 하므로 계산량이 큼.

2) DDIM (Denoising Diffusion Implicit Model)

개요

DDIM은 DDPM의 효율성을 높이기 위해 설계된 모델로, 같은 디퓨전 프로세스를 더 적은 스텝으로 구현하면서도 높은 품질의 데이터를 생성합니다.

핵심 과정

  1. Non-Markovian Forward Process:
    • DDIM은 Forward Process에서 데이터의 상태를 더 효율적으로 추적하여 노이즈화.
    • Markov Chain이 아닌 연속적인 상태 변환 사용.
  2. Deterministic Reverse Process:
    • 데이터 복원이 확률적이지 않고 결정론적(deterministic) 방식으로 이루어짐.
    • 복원 과정을 명확히 제어 가능.

특징

  • 효율성: DDPM보다 적은 스텝으로 데이터를 생성 가능.
  • 결정론적 복원: 생성된 데이터의 재현성을 보장.
  • 품질 유지: 스텝 수를 줄여도 높은 품질의 데이터 생성 가능.


3) LDM(Latent Diffusion Model)

LDM의 주요 아이디어

  1. Latent Space에서의 학습
    • 원본 데이터(예: 고해상도 이미지)는 크기가 크기 때문에 학습과 복원이 비용이 많이 듭니다.
    • LDM은 데이터를 **인코더(Encoder)**를 통해 잠재 공간(latent space)으로 압축하여 더 작은 표현에서 디퓨전 과정을 수행합니다.
    • 복원된 데이터는 **디코더(Decoder)**를 통해 원본 데이터로 다시 매핑됩니다.
  2. 효율적인 디퓨전 과정
    • 잠재 공간은 데이터의 주요 특성만 포함하기 때문에 디퓨전 모델이 더 간단한 공간에서 작업하게 됩니다.
    • 이를 통해 계산 비용이 크게 줄어들고 학습 속도도 빨라집니다.

LDM의 구조

  1. 인코더-디코더 아키텍처
    • 인코더: 데이터를 잠재 공간으로 변환.
    • 디코더: 잠재 공간에서 복원된 데이터를 원본 공간으로 변환.
  2. 디퓨전 프로세스
    • 잠재 공간에서 Forward Process와 Reverse Process를 수행하여 데이터를 생성하거나 복원.
  3. 학습
    • 원본 데이터와 복원된 데이터 간의 차이를 최소화하는 방식으로 학습.

LDM의 특징

장점

  • 계산 효율성: 잠재 공간에서 작업하므로 메모리와 계산 비용이 크게 절감됨.
  • 고해상도 데이터 처리: 원본 데이터가 크더라도 잠재 공간에서 작업하므로 효율적.
  • 확장성: 고품질 이미지, 텍스트-이미지 생성 모델 등에 쉽게 확장 가능.

단점

  • 인코더-디코더 의존성: 인코더와 디코더의 품질이 전체 모델 성능에 큰 영향을 미침.
  • 잠재 공간 손실: 잠재 공간에서의 작업이 원본 데이터의 세부 정보를 일부 잃을 수 있음.

LDM의 응용

텍스트-이미지 생성

  • Stable Diffusion: LDM 기반으로 설계된 텍스트-이미지 생성 모델.
    • 사용자가 텍스트 프롬프트를 입력하면 해당 텍스트에 맞는 이미지를 생성.
    • 예: "a futuristic cityscape at sunset"을 입력하면 이에 적합한 고품질 이미지를 생성.

이미지 복원 및 변형

  • 손상된 이미지를 복원하거나 새로운 스타일로 변형.

고품질 이미지 생성

  • 고해상도 이미지를 빠르게 생성하며 품질 저하 없이 처리 가능.

 

참고)

Vector Quantization (VQ)

  • 정의
    고차원 데이터를 이산적인 코드북(discrete codebook)으로 매핑하여 표현하는 기법입니다.
  • 원리
    1. 데이터를 여러 클러스터(벡터)로 나눕니다.
    2. 입력 데이터를 가장 가까운 클러스터로 매핑합니다.
  • 특징
    • 연속적인 데이터 대신, 이산적인 표현을 생성.
    • 데이터 압축 및 고속 검색에 유리.