Variational Autoencoder (VAE) vs Autoencoder (AE)

유승한·2024년 10월 21일
0

딥러닝

목록 보기
13/15

Variational Autoencoder (VAE)와 Autoencoder (AE)는 둘 다 입력 데이터를 저차원 잠재 공간으로 압축한 후 다시 재구성하는 구조를 가지고 있지만, 그 원리와 목적이 서로 다릅니다. VAE는 확률적 생성 모델로서 데이터를 생성하는 것이 주요 목적이며, AE는 데이터 압축복원을 목표로 하는 비확률적 모델입니다. 각각의 차이점을 아래에서 구체적으로 설명하겠습니다.

1. 모델의 목적

  • Autoencoder (AE):
    • 목적: 입력 데이터를 압축하고 복원하는 데 중점을 둡니다. 주로 차원 축소 또는 노이즈 제거와 같은 작업에서 사용됩니다.
    • AE는 입력 데이터와 가능한 한 동일한 데이터를 복원하는 것이 주된 목표입니다.
  • Variational Autoencoder (VAE):
    • 목적: 생성 모델로서 새로운 데이터를 생성하는 것이 목표입니다. VAE는 데이터 분포를 학습하여 주어진 잠재 변수로부터 데이터를 샘플링할 수 있는 능력을 갖추고 있습니다. 즉, VAE는 새로운 데이터를 생성하는 데 더 적합한 모델입니다.

2. 잠재 공간

  • Autoencoder (AE):
    • 잠재 공간: AE에서 잠재 공간(latent space)는 단순한 저차원 표현입니다. 이는 입력 데이터를 저차원으로 압축한 결과로, 데이터를 더 작은 차원으로 표현할 수 있는 벡터입니다.
    • 잠재 공간의 해석: AE에서는 잠재 공간이 고정된 벡터로, 이 벡터 자체에 의미가 있습니다. 입력 데이터가 주어지면 인코더를 통해 이 벡터를 얻고, 디코더가 이를 이용해 데이터를 복원합니다.
  • Variational Autoencoder (VAE):
    • 잠재 공간: VAE에서는 잠재 공간이 확률 분포로 표현됩니다. 이는 입력 데이터가 주어졌을 때, 해당 데이터가 특정 분포에서 생성될 확률을 학습합니다.
    • 잠재 공간의 해석: VAE는 잠재 공간에서 특정 벡터 값이 아닌 확률 분포를 다루며, 이 분포에서 샘플링한 값으로 데이터를 생성합니다. 즉, 잠재 변수를 샘플링하여 다양한 새로운 데이터를 생성할 수 있습니다.

3. 학습 방식

  • Autoencoder (AE):
    • 비확률적 학습: AE는 단순한 MSE(Mean Squared Error) 또는 재구성 손실을 최소화하는 방식으로 학습합니다. 입력 데이터를 잠재 공간으로 인코딩한 후, 이를 다시 디코딩하여 입력 데이터와 가능한 한 가까운 데이터를 복원합니다.
    • 손실 함수: 입력 데이터 x와 복원된 데이터 x^\hat{x} 간의 차이를 최소화하는 방식으로 학습합니다. 일반적으로 MSE 손실을 사용합니다.
  • Variational Autoencoder (VAE):
    • 확률적 학습: VAE는 확률 모델로, 입력 데이터를 잠재 공간에서 확률 분포로 표현한 후, 그 분포에서 샘플링하여 데이터를 생성합니다. 학습 과정에서 KL Divergence재구성 손실을 사용해 모델을 최적화합니다.
    • 손실 함수 (ELBO): VAE의 손실 함수는 ELBO (Evidence Lower Bound)를 최대화하는 방식으로 학습됩니다. ELBO는 다음 두 항으로 구성됩니다:
      • 재구성 손실: 데이터가 잠재 변수에서 샘플링된 분포로부터 복원될 때, 입력 데이터와 복원된 데이터 간의 차이를 최소화하는 항.
      • KL Divergence: 근사 후방 분포 qϕ(zxq_\phi(z|x) 와 사전 분포 p(z)간의 차이를 최소화하는 항입니다. 이를 통해 학습된 잠재 공간이 주어진 분포에 맞춰지도록 합니다.

4. 생성 능력

  • Autoencoder (AE):
    • 생성 모델이 아님: AE는 데이터 복원이 목표이므로 새로운 데이터를 생성하는 데는 적합하지 않습니다. AE에서 잠재 공간의 벡터는 고정되어 있고, 새로운 벡터를 샘플링해도 의미 있는 데이터를 생성할 수 없습니다.
  • Variational Autoencoder (VAE):
    • 생성 모델: VAE는 새로운 데이터를 잠재 공간에서 샘플링하여 생성할 수 있는 능력을 가지고 있습니다. 학습된 잠재 공간에서 새로운 샘플 z를 추출하여 이를 통해 데이터를 생성합니다. 이로 인해 VAE는 이미지 생성, 텍스트 생성 등 다양한 생성 모델 응용에 자주 사용됩니다.

5. 확률적 해석

  • Autoencoder (AE):
    • AE는 확률적 해석이 없으며, 단순한 입력-출력 매핑을 학습합니다. 잠재 벡터는 고정된 표현입니다.
  • Variational Autoencoder (VAE):
    • VAE는 확률 분포를 학습하며, 잠재 변수 ( z )는 특정 분포(일반적으로 정규 분포 N(0,I)\mathcal{N}(0, I) 를 따릅니다. 이로 인해 VAE는 확률적 해석을 가지며, 학습된 잠재 공간에서 샘플링하여 새로운 데이터를 생성할 수 있습니다.

6. 재매개변수화 트릭 (Reparameterization Trick)

  • Autoencoder (AE):
    • AE는 재매개변수화 트릭을 사용하지 않습니다. 단순한 인코딩-디코딩 구조로, 각 데이터 포인트를 잠재 공간의 벡터로 매핑합니다.
  • Variational Autoencoder (VAE):
    • VAE에서는 재매개변수화 트릭이 중요한 역할을 합니다. 잠재 변수 ( z )는 확률 분포로 표현되므로, 직접적으로 샘플링할 수 없기 때문에 미분 가능하게 만들기 위해 재매개변수화 트릭을 사용합니다. 이를 통해 학습 과정에서 잠재 변수 ( z )의 샘플링을 미분 가능하게 만듭니다:
      z=μ+σϵ,ϵN(0,I)z = \mu + \sigma \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)
      여기서 μ\muσ\sigma는 인코더가 예측한 잠재 분포의 평균과 표준편차이며, ϵ\epsilon은 표준 정규 분포에서 샘플링된 노이즈입니다.

7. 적용 분야

  • Autoencoder (AE):
    • AE는 차원 축소, 특징 추출, 노이즈 제거, 이상 탐지 등 데이터 복원이나 특성 학습에 사용됩니다.
  • Variational Autoencoder (VAE):
    • VAE는 데이터 생성이 중요한 응용 분야에서 많이 사용됩니다. 예를 들어, 이미지 생성, 텍스트 생성, 신호 처리, 이미지 보간새로운 데이터를 생성하는 작업에 유용합니다.

요약

특성Autoencoder (AE)Variational Autoencoder (VAE)
목적데이터 복원 (차원 축소, 노이즈 제거)새로운 데이터 생성
잠재 공간고정된 벡터 표현확률 분포 (정규 분포)
학습 방식재구성 손실 최소화 (MSE)ELBO 최대화 (재구성 손실 + KL Divergence)
생성 능력생성 능력 없음잠재 공간에서 샘플링하여 새로운 데이터 생성 가능
확률적 해석없음있음 (확률 분포를 학습)
재매개변수화 트릭사용하지 않음사용 (샘플링 과정에서 미분 가능하게 만듦)
적용 분야차원 축소, 노이즈 제거, 이상 탐지이미지 생성, 텍스트 생성, 신호 처리

이처럼 VAE는 확률적 생성 모델로서 데이터를 생성할 수 있는 능력을 가지고 있으며, Autoencoder입력 데이터 복원을 주된 목표로 하는 비확률적 모델입니다.

0개의 댓글