딥러닝 분야에서 오토인코더(Autoencoder, AE)와 변분 오토인코더(Variational Autoencoder, VAE)는 차원 축소와 데이터 생성에 널리 사용되는 두 가지 중요한 모델입니다. 이 두 모델은 유사한 구조를 가지고 있지만, 특히 잠재 공간(Latent Space)의 특성에서 중요한 차이점을 보입니다. 이 글에서는 MNIST 손글씨 숫자 데이터셋을 예로 들어 두 모델의 잠재 공간 특성을 비교 분석해 보겠습니다.
1. 오토인코더와 변분 오토인코더의 기본 개념
오토인코더(AE)의 기본 구조
오토인코더는 입력 데이터를 저차원의 잠재 표현(latent representation)으로 인코딩한 후, 이를 다시 원본 데이터와 유사하게 디코딩하는 신경망 구조입니다. 오토인코더의 주요 구성 요소는 다음과 같습니다:
- 인코더(Encoder): 고차원 입력 데이터 x를 저차원 잠재 벡터 z로 압축
- 잠재 공간(Latent Space): 압축된 데이터가 표현되는 저차원 공간
- 디코더(Decoder): 잠재 벡터 z를 다시 원본 차원의 출력 x’로 복원
오토인코더는 주로 입력 데이터를 효율적으로 압축하고 중요한 특징을 추출하는 데 초점을 맞춥니다.
변분 오토인코더(VAE)의 기본 구조
변분 오토인코더는 오토인코더를 확장하여 생성 모델링 능력을 강화한 구조입니다. VAE의 주요 특징은 다음과 같습니다:
- 확률적 인코더: 입력 데이터 x를 잠재 공간의 확률 분포 파라미터(일반적으로 평균 μ와 분산 σ²)로 매핑
- 재매개화 트릭(Reparameterization Trick): 확률적 샘플링을 미분 가능한 형태로 변환
- KL 발산 정규화: 잠재 분포가 사전 분포(보통 표준 정규 분포)에 가까워지도록 정규화
VAE는 데이터의 생성 과정을 확률적으로 모델링하는 데 중점을 둡니다.
2. MNIST 데이터셋에서의 AE와 VAE 잠재 공간 특성
AE의 잠재 공간 특성
MNIST 데이터셋에 일반 오토인코더를 적용했을 때 나타나는 잠재 공간의 특성은 다음과 같습니다:
1) 비연속적이고 불규칙적인 구조
오토인코더는 입력 데이터를 단순히 저차원 공간으로 압축합니다. 이 과정에서 잠재 공간은 특별한 제약 없이 형성되기 때문에, 서로 다른 숫자 클래스들이 잠재 공간에서 불규칙하게 분포하게 됩니다. 예를 들어:
- 숫자 ‘1’과 숫자 ‘7’은 시각적으로 유사함에도 불구하고 잠재 공간에서 멀리 떨어져 있을 수 있습니다.
- 반대로, 시각적으로 다른 숫자들이 잠재 공간에서 가까이 위치할 수 있습니다.
2) 점 단위 매핑(Point-wise Mapping)
오토인코더의 인코더는 각 입력 이미지를 잠재 공간의 특정 점으로 매핑합니다:
- 같은 숫자(예: 모든 ‘3’)의 서로 다른 변형들은 잠재 공간에서 여러 개의 개별 점으로 표현됩니다.
- 이러한 점들 사이의 관계는 명시적으로 모델링되지 않습니다.
3) 잠재 공간의 빈 영역(Holes)
오토인코더의 잠재 공간에는 학습 데이터가 매핑되지 않은 ‘빈 영역’이 존재할 수 있습니다:
- 이러한 빈 영역에서 샘플링된 점은 의미 있는 이미지로 디코딩되지 않을 가능성이 높습니다.
- 즉, 잠재 공간 내 임의의 점에서 새로운 숫자 이미지를 생성하기 어렵습니다.
VAE의 잠재 공간 특성
변분 오토인코더를 MNIST 데이터셋에 적용했을 때 나타나는 잠재 공간의 특성은 다음과 같습니다:
1) 연속적이고 규칙적인 구조
VAE는 잠재 공간이 표준 정규 분포를 따르도록 제약합니다. 이로 인해:
- 시각적으로 유사한 숫자들(예: ‘4’와 ‘9’)은 잠재 공간에서도 가까이 위치하게 됩니다.
- 숫자들 간의 전환이 연속적이고 매끄럽게 이루어집니다.
- 2차원 잠재 공간을 시각화했을 때, 서로 다른 숫자 클래스가 자연스럽게 군집화되는 경향을 보입니다.
2) 확률적 분포 매핑(Distributional Mapping)
VAE의 인코더는 각 입력 이미지를 잠재 공간의 확률 분포(일반적으로 가우시안 분포)로 매핑합니다:
- 같은 숫자(예: 모든 ‘3’)의 서로 다른 변형들은 잠재 공간에서 겹치는 확률 분포로 표현됩니다.
- 이는 같은 클래스 내의 변동성을 자연스럽게 모델링합니다.
3) 의미 있는 보간(Meaningful Interpolation)
VAE의 연속적인 잠재 공간은 의미 있는 보간을 가능하게 합니다:
- 두 숫자(예: ‘3’과 ‘8’) 사이의 잠재 공간을 선형적으로 보간할 때, 중간 지점들이 두 숫자의 특성을 혼합한 의미 있는 이미지로 디코딩됩니다.
- 이는 VAE가 데이터의 내재적 구조를 더 효과적으로 포착했음을 시사합니다.
3. 시각적 비교: AE vs VAE 잠재 공간
2차원 잠재 공간 시각화
2차원 잠재 공간으로 MNIST 데이터를 압축했을 때, AE와 VAE의 차이는 더욱 명확하게 드러납니다:
AE의 2차원 잠재 공간
- 각 숫자 클래스는 특정 영역에 집중되지만, 경계가 뚜렷하지 않고 불규칙합니다.
- 클래스 간 겹침이 무작위적으로 발생할 수 있습니다.
- 잠재 공간의 일부 영역은 어떤 숫자와도 연관되지 않을 수 있습니다.
VAE의 2차원 잠재 공간
- 각 숫자 클래스는 가우시안 분포 형태로 더 부드럽게 분포합니다.
- 시각적으로 유사한 숫자들(예: ‘5’와 ‘6’, 또는 ‘3’과 ‘8’)은 잠재 공간에서도 가까이 위치합니다.
- 잠재 공간이 전체적으로 더 균일하게 채워져 있습니다.
잠재 공간 샘플링 결과 비교
잠재 공간에서 무작위로 샘플링한 점들을 디코딩했을 때의 결과는 두 모델의 차이를 극명하게 보여줍니다:
AE의 샘플링 결과
- 많은 샘플이 인식 가능한 숫자로 디코딩되지 않습니다.
- 생성된 이미지가 비현실적이거나 왜곡된 경우가 많습니다.
- 특정 영역에서만 의미 있는 샘플이 생성됩니다.
VAE의 샘플링 결과
- 대부분의 샘플이 실제 숫자와 유사한 이미지로 디코딩됩니다.
- 생성된 이미지가 더 자연스럽고 다양합니다.
- 잠재 공간 전체에서 의미 있는 샘플을 생성할 수 있습니다.
4. 수학적 관점에서의 차이
AE의 수학적 모델링
오토인코더는 다음과 같은 목적 함수를 최소화합니다:
L_AE(θ, φ) = ||x - D_θ(E_φ(x))||²
여기서:
- E_φ는 파라미터 φ를 가진 인코더 함수
- D_θ는 파라미터 θ를 가진 디코더 함수
- 목적 함수는 입력 x와 재구성된 출력 간의 재구성 오차만을 고려합니다.
VAE의 수학적 모델링
변분 오토인코더는 다음과 같은 변분 하한(Evidence Lower Bound, ELBO)을 최대화합니다:
L_VAE(θ, φ) = E_q_φ(z|x)[log p_θ(x|z)] - D_KL(q_φ(z|x) || p(z))
여기서:
- 첫 번째 항은 재구성 오차에 해당합니다.
- 두 번째 항은 인코더가 생성한 posterior 분포 q_φ(z|x)와 사전 분포 p(z) 간의 KL 발산으로, 정규화 역할을 합니다.
- 이 정규화 항은 잠재 공간이 표준 정규 분포에 가까워지도록 제약합니다.
이러한 수학적 차이가 두 모델의 잠재 공간 특성 차이를 만들어냅니다.
5. 실제 응용 시 차이점
데이터 생성 능력
VAE와 AE의 잠재 공간 특성 차이는 두 모델의 데이터 생성 능력에 직접적인 영향을 미칩니다:
AE를 이용한 데이터 생성
- 새로운 숫자 이미지를 생성하려면 학습 데이터의 잠재 표현 주변에서 샘플링해야 합니다.
- 이는 제한적이고 다양성이 떨어지는 생성 결과를 만듭니다.
- 주로 기존 이미지와 유사한 변형만 생성할 수 있습니다.
VAE를 이용한 데이터 생성
- 표준 정규 분포에서 직접 샘플링하여 새로운 숫자 이미지를 생성할 수 있습니다.
- 생성된 이미지가 다양하고 자연스럽습니다.
- 잠재 공간의 방향성이 의미를 가져, 특정 방향으로 이동하면 이미지의 특정 속성이 변화합니다.
다양한 작업에서의 활용
두 모델의 잠재 공간 특성은 다양한 작업에 적합성에도 영향을 미칩니다:
AE의 적합한 작업
- 차원 축소 및 특징 추출
- 데이터 압축
- 이상 탐지(Anomaly Detection)
VAE의 적합한 작업
- 새로운 데이터 생성
- 데이터 증강(Data Augmentation)
- 조건부 생성(특정 숫자나 스타일의 이미지 생성)
- 속성 조작(특정 속성을 조절한 이미지 생성)
6. 결론: MNIST에서의 AE와 VAE 잠재 공간 비교 요약
MNIST 데이터셋에 적용된 AE와 VAE의 잠재 공간은 다음과 같은 핵심적인 차이를 보입니다:
- 구조적 특성:
- AE: 비연속적이고 불규칙적인 구조로, 특정 점들에 데이터가 매핑됩니다.
- VAE: 연속적이고 규칙적인 구조로, 가우시안 분포 형태로 데이터가 분포합니다.
- 데이터 표현 방식:
- AE: 각 숫자는 잠재 공간의 특정 점으로 표현됩니다.
- VAE: 각 숫자는 잠재 공간의 확률 분포(영역)로 표현됩니다.
- 생성 모델링 능력:
- AE: 생성 능력이 제한적이며, 잠재 공간의 임의 지점에서 샘플링 시 의미 있는 이미지를 생성하기 어렵습니다.
- VAE: 우수한 생성 능력을 갖추고 있으며, 잠재 공간의 거의 모든 지점에서 의미 있는 이미지를 생성할 수 있습니다.
- 보간 특성:
- AE: 잠재 공간에서의 선형 보간이 의미 있는 결과를 항상 보장하지 않습니다.
- VAE: 잠재 공간에서의 선형 보간이 자연스럽고 의미 있는 이미지 전환을 생성합니다.
이러한 차이점들은 VAE가 단순한 데이터 압축을 넘어, 데이터의 생성 과정 자체를 모델링한다는 근본적인 차이에서 비롯됩니다. MNIST와 같은 비교적 단순한 데이터셋에서도 이러한 차이는 뚜렷하게 나타나며, 더 복잡한 데이터셋에서는 그 차이가 더욱 두드러질 수 있습니다.
결과적으로, 데이터 압축과 특징 추출이 주요 목적이라면 계산 효율성이 높은 AE가 적합할 수 있습니다. 반면, 새로운 데이터 생성이나 데이터의 내재적 구조 모델링이 목적이라면 VAE가 더 적합한 선택일 것입니다.
답글 남기기