⊢ DeepLearning

생성형 모델(Generative Models)

최 수빈 2025. 3. 22. 00:38

 

생성형 모델 (Generative Models)

 

기존 데이터의 분포를 학습하여 새로운 데이터를 생성하는 모델

이미지 생성, 텍스트 생성, 음성 합성 등 다양한 분야에서 사용됨

 

 

GAN (Generative Adversarial Network)

 

2014년 Ian Goodfellow 등에 의해 제안된 생성형 신경망 모델

 

두 개의 신경망, 생성자(Generator)와 판별자(Discriminator)로 구성됨

  • 생성자: 가짜 데이터를 생성
  • 판별자: 진짜/가짜를 판별

두 모델은 적대적으로 경쟁하며 함께 학습함

 

 

동작 원리

 

생성자 (Generator)

 

입력: 랜덤 노이즈 벡터 z (보통 정규분포에서 샘플링)

출력: 가짜 데이터 G(z) 생성

 

목표: 판별자를 속일 정도로 진짜 같은 데이터 생성

 

판별자 (Discriminator)

 

입력: 진짜 데이터 x와 생성자 출력 G(z)

출력: 진짜일 확률 D(x) 또는 D(G(z))

 

목표: 진짜는 1, 가짜는 0으로 정확히 분류

 

 

학습 과정 (경쟁)

  1. 생성자는 판별자를 속이기 위해 더 정교한 데이터 생성
  2. 판별자는 생성자의 데이터를 더 정확히 구별하려고 학습
  3. 1~2 과정을 통해 서로 경쟁하면서 성능 향상

 

 

GAN의 기본 손실 함수

 

𝑝G ∅ 𝑝D V(D, G) = 𝔼x ~ pdata(x)[log D(x)] + 𝔼z ~ pz(z)[log(1 - D(G(z)))]

 

 

 

VAE (Variational Autoencoder)

 

2013년 Kingma Welling이 제안한 확률적 생성 모델

오토인코더의 확장 버전으로, 인코더와 디코더로 구성됨

 

잠재 공간(latent space)을 정규분포와 같은 확률 분포로 모델링

학습 후에는 잠재 공간에서 샘플링한 값으로 새로운 데이터 생성 가능

 

 

구성 요소

 

인코더 (Encoder)

 

입력 데이터 x를 잠재 변수 z의 확률 분포(평균과 분산)로 매핑

일반적으로 q(z|x) = N(μ(x), σ²(x)) 형태

 

디코더 (Decoder)

 

잠재 변수 z로부터 데이터를 복원: p(x|z)

입력 데이터와 유사한 복원 이미지를 생성

 

재매개변수 기법 (Reparameterization Trick)

 

학습이 가능하도록 z = μ + σ ⊙ ε 형태로 변형 (ε ∼ N(0, I))

 

 

VAE의 목적 함수

 

𝒪 = 𝔼q(z|x)[log p(x|z)] - DKL[q(z|x) || p(z)]

 

첫 항: 재구성 손실 (입력과 복원 데이터의 차이 최소화)

두 번째 항: KL(Kullback-Leibler Divergence) 발산 (잠재 분포 q(z|x)가 정규 분포 p(z)에 가까워지도록 유도)

 

*KL(Kullback-Leibler Divergence)

한 확률 분포가 다른 확률 분포와 얼마나 다른지를 측정하는 함수

VAE에서는 학습한 분포 q(z|x)가 표준 정규분포 p(z)와 얼마나 차이나는지를 측정하는 데 사용됨

 

 

 

VAE의 활용

 

이미지 생성

얼굴 이미지, 글자 등 새로운 이미지를 무작위로 생성할 수 있음

 

데이터 압축

잠재 공간을 활용하여 고차원 데이터를 압축

 

노이즈 제거

노이즈가 섞인 데이터를 입력으로 받아 깨끗한 복원 결과 출력

 

 

'⊢ DeepLearning' 카테고리의 다른 글

과적합(Overfitting) 방지 기법  (0) 2025.03.22
전이학습(Transfer Learning)  (0) 2025.03.22
오토인코더(Autoencoder)  (0) 2025.03.21
이미지 처리 모델  (0) 2025.03.21
ResNet(Residual Network)  (2) 2025.03.21