이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 21:26
변이형 오토인코더(Variational Autoencoder, VAE)는 딥러닝과 변분 추론을 결합한 생성 모델의 한 종류이다. 2013년 디더릭 P. 킹마와 막스 웰링에 의해 제안된 이 모델은 복잡한 고차원 데이터의 확률 분포를 학습하고, 이를 바탕으로 새로운 데이터 샘플을 생성하는 것을 목표로 한다.
기존 오토인코더가 단순히 입력을 압축하고 복원하는 데 중점을 두었다면, VAE는 데이터가 생성되는 과정을 확률론적으로 모델링한다. 핵심 아이디어는 관찰된 데이터가 어떤 알려지지 않은 잠재 변수로부터 생성되었다고 가정하고, 이 잠재 변수의 분포를 추정하는 것이다. 모델은 인코더 네트워크를 통해 데이터를 잠재 공간의 확률 분포로 매핑하고, 디코더 네트워크를 통해 이 분포로부터 샘플링하여 데이터를 재구성하거나 생성한다.
VAE는 생성적 적대 신경망(GAN)과 함께 대표적인 생성 모델로 꼽힌다. GAN이 판별자와 생성자의 적대적 경쟁에 기반한다면, VAE는 확률론적 프레임워크와 변분 하한의 최적화에 기반한다는 점에서 차이가 있다. 이로 인해 VAE는 잠재 공간의 구조를 해석하기가 상대적으로 용이하고, 안정적인 학습이 가능하다는 장점을 가진다. VAE와 그 변형들은 이미지 생성, 음성 합성, 이상 탐지, 데이터 증강 등 다양한 분야에 응용되고 있다.
변이형 오토인코더는 확률론적 생성 모델의 한 종류로, 관찰된 데이터를 생성하는 데 관여하는 숨겨진 변수, 즉 잠재 변수를 다루는 잠재 변수 모델의 틀 안에서 이해할 수 있다. 이 모델은 고차원의 관찰 데이터 $x$가 저차원의 연속적인 잠재 변수 $z$에 의해 생성된다고 가정한다. 핵심 아이디어는 데이터의 실제 복잡한 분포 $p(x)$를, 비교적 단순한 사전 분포 $p(z)$(보통 표준 정규 분포)에서 샘플링된 잠재 변수를 통해 모델링하는 것이다. 즉, 데이터 $x$는 $p_\theta(x|z)$라는 조건부 분포를 따르며, 이 분포는 디코더 네트워크에 의해 매개변수화된다.
이러한 모델에서 가장 중요한 문제는 주어진 데이터 $x$에 대한 잠재 변수 $z$의 사후 분포 $p(z|x)$를 추론하는 것이다. 그러나 이 사후 분포는 일반적으로 계산이 매우 어렵거나 불가능한 적분을 필요로 한다. 변이형 오토인코더는 이 문제를 해결하기 위해 변분 추론이라는 근사적 추론 기법을 도입한다. 변분 추론은 실제 사후 분포 $p(z|x)$에 가장 가까운, 매개변수화된 분포 $q_\phi(z|x)$를 찾는 문제로 재정의한다. 이 근사 분포 $q_\phi(z|x)$는 인코더 네트워크에 의해 학습된다.
학습의 목표는 변분 하한, 즉 증거 하한을 최대화하는 것이다. ELBO는 다음과 같이 정의된다.
$$\text{ELBO}(\theta, \phi; x) = \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x) \parallel p(z))$$
이 수식에서 첫 번째 항은 재구성 손실에 해당하며, 잠재 변수를 통해 원본 데이터를 얼마나 잘 재구성할 수 있는지를 측정한다. 두 번째 항은 쿨백-라이블러 발산으로, 근사 사후 분포 $q_\phi(z|x)$가 사전 분포 $p(z)$로부터 얼마나 벗어나지 않도록 규제하는 역할을 한다. 이 두 항의 균형을 통해 VAE는 의미 있는 잠재 공간을 학습하면서도 새로운 데이터를 생성할 수 있는 능력을 갖추게 된다.
변이형 오토인코더는 확률론적 생성 모델의 한 종류이다. 생성 모델은 주어진 데이터의 분포를 학습하여, 학습된 분포로부터 새로운 데이터를 생성하는 것을 목표로 한다. 확률론적 접근은 데이터 생성 과정을 확률 분포로 모델링하며, 관찰된 데이터가 어떤 확률 과정을 통해 생성되었는지를 추정한다.
이러한 모델은 관찰 데이터 $x$와 그 데이터를 생성하는 데 관여하는 보이지 않는 잠재 변수 $z$를 가정한다. 생성 과정은 일반적으로 두 단계로 이루어진다. 먼저, 잠재 공간에서 잠재 변수 $z$가 사전 분포 $p(z)$로부터 샘플링된다. 그런 다음, 이 잠재 변수 $z$가 조건부 분포 $p(x|z)$를 통해 관찰 가능한 데이터 $x$를 생성한다. 따라서 데이터의 결합 확률 분포는 $p(x, z) = p(x|z)p(z)$로 표현된다.
확률론적 생성 모델의 핵심 목표는 관찰 데이터의 주변 우도 $p(x)$를 최대화하는 것이다. 주변 우도는 모든 가능한 잠재 변수에 대해 적분하여 얻어진다: $p(x) = \int p(x|z)p(z) dz$. 그러나 이 적분 계산은 일반적으로 다루기 힘들거나 불가능한 경우가 많다. 변이형 오토인코더는 이 계산 난제를 해결하기 위해 변분 추론이라는 근사적 방법을 도입한다.
변이형 오토인코더의 핵심은 잠재 변수 모델을 기반으로 한다. 이 모델은 관찰된 데이터 x(예: 이미지)가 눈에 보이지 않는 잠재 변수 z에 의해 생성된다고 가정한다. 데이터의 분포 p(x)는 잠재 변수 z의 분포 p(z)와 이로부터 데이터를 생성하는 조건부 분포 p(x|z)를 통해 모델링된다. 즉, p(x) = ∫ p(x|z) p(z) dz로 표현된다. 그러나 이 적분 계산은 일반적으로 다루기 어렵거나 불가능한 경우가 많다.
이 계산적 난제를 해결하기 위해 변이형 추론이 사용된다. 변분 추론은 참 분포 p(z|x)를 다루기 쉬운 분포 q(z|x)로 근사하는 방법이다. 이때 q(z|x)는 변분 분포라고 불리며, 보통 정규분포와 같은 간단한 분포족으로 제한된다. 목표는 q(z|x)와 참 사후 분포 p(z|x) 사이의 차이를 최소화하는 것이다. 이 차이는 쿨백-라이블러 발산으로 측정되며, 이를 최소화하는 것은 증거 하한을 최대화하는 것과 동일하다.
따라서 VAE의 학습 목표는 이 증거 하한을 최대화하는 신경망 매개변수를 찾는 것이다. 인코더 네트워크는 변분 분포 q(z|x)를, 디코더 네트워크는 우도 p(x|z)를 모델링한다. 이 프레임워크를 통해 모델은 데이터의 효율적인 잠재 표현을 학습하면서도 새로운 데이터를 생성할 수 있다.
변이형 오토인코더의 핵심 구조는 크게 인코더, 잠재 공간, 디코더의 세 부분으로 구성된다. 이 구조는 입력 데이터를 잠재 공간의 확률 분포로 변환한 후, 그 분포에서 샘플링하여 원본과 유사한 데이터를 재구성하는 생성 과정을 수행한다.
인코더는 추론 네트워크라고도 불리며, 입력 데이터 x를 받아 잠재 변수 z의 사후 분포 q(z|x)의 파라미터(예: 평균과 분산)를 출력한다. 일반적으로 인공 신경망으로 구현된다. 예를 들어, 입력이 이미지일 경우 합성곱 신경망이 인코더로 사용되기도 한다. 인코더의 출력은 단일한 고정된 벡터가 아니라, 잠재 공간 상에서의 확률 분포를 정의한다.
잠재 공간에서 샘플링을 직접 수행하면 역전파가 불가능해지는 문제가 발생한다. 이를 해결하기 위해 재매개변수화 트릭이 사용된다. 인코더가 평균 벡터 μ와 로그 분산 벡터 log σ²를 출력하면, 표준 정규 분포에서 샘플링한 노이즈 ε을 이용해 z = μ + σ ⊙ ε와 같이 잠재 변수를 생성한다. 이 트릭을 통해 샘플링 연산이 포함되어도 기울기를 계산하고 모델을 학습시킬 수 있다. 디코더는 생성 네트워크라고도 불리며, 잠재 공간에서 샘플링된 벡터 z를 받아 원본 데이터 공간으로 매핑하여 재구성 데이터 x'를 출력한다. 디코더는 z가 주어졌을 때 데이터 x의 조건부 분포 p(x|z)를 모델링한다. 이 과정을 통해 VAE는 입력 데이터의 의미 있는 잠재 표현을 학습하고, 그 표현으로부터 새로운 데이터를 생성할 수 있다.
구성 요소 | 역할 (수학적 표현) | 주요 출력 |
|---|---|---|
인코더 (추론 네트워크) | 입력 x를 잠재 변수 z의 분포 파라미터로 변환 (q(z|x)) | 평균 μ, 분산 σ² |
재매개변수화 트릭 | 확률적 샘플링을 미분 가능한 연산으로 변환 | 잠재 변수 샘플 z = μ + σ ⊙ ε |
디코더 (생성 네트워크) | 잠재 변수 z로부터 재구성 데이터를 생성 (p(x|z)) | 재구성된 데이터 x' |
인코더는 변분 오토인코더의 입력 단계를 담당하는 신경망으로, 관측 데이터를 잠재 공간의 확률 분포로 매핑한다. 이 네트워크는 '추론 네트워크'라고도 불리며, 주어진 데이터에 대해 잠재 변수의 사후 분포를 근사하는 역할을 한다. 일반적으로 입력 데이터는 이미지, 텍스트, 음성과 같은 고차원의 관측값이며, 인코더는 이를 저차원의 잠재 변수 분포로 압축한다.
인코더의 출력은 단일한 점이 아니라, 잠재 변수의 확률 분포를 정의하는 파라미터이다. 가장 일반적인 설정은 잠재 공간이 다변량 정규분포를 따른다고 가정하는 것이다. 이 경우 인코더 네트워크는 입력 데이터 x를 받아, 잠재 변수 z의 평균 벡터 μ와 분산 벡터 σ²(또는 로그 분산)를 출력한다. 즉, 근사 사후 분포 q_φ(z|x)를 N(z; μ, diag(σ²))로 정의한다.
입력 (Input) | 출력 (Output) | 설명 |
|---|---|---|
고차원 데이터 x (예: 이미지 픽셀) | 평균 벡터 μ | 잠재 변수 분포의 중심 |
고차원 데이터 x (예: 이미지 픽셀) | (로그) 분산 벡터 σ² | 잠재 변수 분포의 불확실성 |
인코더의 구조는 주로 합성곱 신경망(이미지 데이터의 경우)이나 순환 신경망(시퀀스 데이터의 경우)과 같은 심층 신경망으로 구성된다. 인코더를 통해 얻은 분포 파라미터(μ, σ²)는 이후 재매개변수화 트릭을 사용하여 잠재 변수 z의 실제 샘플을 생성하는 데 활용된다. 이 과정은 모델이 확률적이면서도 역전파를 통한 학습이 가능하도록 만든다. 인코더의 가중치 φ는 손실 함수를 최소화하는 방향으로 학습되며, 이는 디코더와의 협동 학습을 통해 이루어진다.
변분 오토인코더의 핵심 목표는 입력 데이터를 잘 설명하는 잠재 변수의 분포를 학습하는 것이다. 이때 인코더는 입력 데이터를 받아 잠재 변수의 분포 매개변수(예: 평균과 분산)를 출력한다. 그러나 이 분포에서 직접 샘플링을 수행하면 역전파가 불가능해 학습이 어려워진다. 재매개변수화 트릭은 이 문제를 해결하기 위한 핵심 기법이다.
재매개변수화 트릭은 샘플링 과정을 미분 가능한 형태로 재구성한다. 구체적으로, 인코더가 출력한 평균(μ)과 분산(σ²)으로부터 직접 샘플 z를 뽑는 대신, 표준 정규 분포에서 뽑은 노이즈 ε과 변환식을 사용해 z를 계산한다. 수식으로는 z = μ + σ ⊙ ε 로 표현되며, 여기서 ε ~ N(0, I)이고 ⊙는 요소별 곱셈을 의미한다[1]. 이 트릭 덕분에 확률적 경사 하강법을 통한 오차 역전파가 가능해진다.
잠재 공간은 일반적으로 저차원의 연속 공간으로 정의되며, 재매개변수화 트릭을 통해 생성된 샘플 z가 이 공간의 점에 해당한다. 이 공간은 의미 있는 구조를 가지도록 학습되는데, 예를 들어 얼굴 이미지 데이터를 학습한 VAE의 잠재 공간에서는 웃음, 나이, 머리 색깔과 같은 속성이 부드럽게 변화하는 방향을 찾을 수 있다. 재매개변수화 트릭은 이러한 구조화된 잠재 공간 학습을 가능하게 하는 미분 가능한 경로를 제공한다.
디코더는 잠재 공간의 점 z를 입력으로 받아 원본 데이터 공간의 샘플 x̂를 재구성하거나 생성하는 신경망이다. 디코더는 생성 모델 p_θ(x|z)로 모델링되며, 이는 주어진 잠재 변수 z에 대해 데이터 x가 생성될 조건부 확률 분포를 나타낸다. 디코더 네트워크의 매개변수 θ는 이 분포의 통계적 특성(예: 가우시안 분포의 평균)을 결정한다.
일반적으로 디코더의 구조는 인코더와 대칭적으로 설계된다. 예를 들어, 합성곱 신경망 기반의 인코더가 점차 공간 해상도를 줄여나간다면, 디코더는 전치 합성곱이나 업샘플링 레이어를 사용하여 점차 해상도를 높여 최종 출력을 만든다. 디코더의 최종 출력층은 데이터의 형태에 맞춰진다. 연속값인 이미지 데이터의 경우, 각 픽셀 값을 로지스틱 시그모이드 또는 쌍곡탄젠트 함수를 통해 0에서 1 사이 또는 -1에서 1 사이로 매핑한다. 이때 출력은 각 픽셀의 독립적인 베르누이 분포 또는 가우시안 분포의 평균으로 해석된다.
디코더의 핵심 역할은 잠재 공간의 저차원 표현을 원본 데이터의 고차원 표현으로 의미 있게 변환하는 것이다. 잘 훈련된 VAE의 디코더는 잠재 공간에서의 작은 변화가 출력 이미지에서도 부드러운 변화로 이어지도록 학습된다. 이는 잠재 공간이 의미론적으로 연속적인 구조를 가지게 함으로써, 잠재 공간 내 보간을 통한 새로운 데이터 생성이나 특성 조작이 가능하게 한다.
변형 오토인코더의 학습은 두 가지 주요 구성 요소로 이루어진 손실 함수를 최소화하는 과정이다. 이 손실 함수는 재구성 손실과 KL 발산 손실의 합으로, 변분 하한을 최대화하는 것과 동일하다. 전체 손실 함수 L(θ, φ; x)는 일반적으로 다음과 같이 표현된다.
L(θ, φ; x) = E_{z∼q_φ(z|x)}[log p_θ(x|z)] - D_{KL}(q_φ(z|x) || p(z))
여기서 θ는 디코더 네트워크의 매개변수, φ는 인코더 네트워크의 매개변수, x는 입력 데이터, z는 잠재 변수를 나타낸다. 첫 번째 항은 재구성 손실에 해당하며, 두 번째 항은 KL 발산 손실이다.
재구성 손실은 인코더를 통해 추론된 잠재 변수 z를 사용하여 디코더가 원본 입력 x를 얼마나 정확하게 재구성하는지를 측정한다. 입력 데이터가 이산적(예: 이진 이미지)인 경우 이항 교차 엔트로피가, 연속적(예: 회색조 이미지)인 경우 평균 제곱 오차가 일반적으로 사용된다. 이 손실은 생성 모델 p_θ(x|z)가 데이터를 잘 설명하도록 디코더를 훈련시킨다.
KL 발산 손실은 인코더가 출력하는 잠재 변수의 사후 분포 q_φ(z|x)와 사전에 설정한 잠재 변수의 사전 분포 p(z) 사이의 차이를 계산한다. VAE에서는 일반적으로 p(z)를 표준 정규 분포 N(0, I)로 가정한다. 이 항은 잠재 공간의 분포가 규칙적이고 연속적으로 유지되도록 강제하여, 학습 후 새로운 데이터를 생성할 때 사전 분포에서 표본을 추출해 디코더에 입력하는 것이 가능해지게 한다. 두 손실 항은 서로 상충되는 목표를 가지며, 이 균형을 조절하는 것이 모델 성능에 중요하다.
재구성 손실은 변이형 오토인코더의 손실 함수를 구성하는 두 요소 중 하나로, 입력 데이터를 모델이 얼마나 정확하게 재구성할 수 있는지를 측정합니다. 이는 디코더 네트워크의 출력과 원본 입력 데이터 간의 차이를 계산합니다.
주로 사용되는 재구성 손실 함수로는 평균 제곱 오차와 이진 교차 엔트로피가 있습니다. 연속적인 값(예: 픽셀 강도)을 가진 데이터에는 평균 제곱 오차가, 이진 값(0 또는 1)을 가진 데이터에는 이진 교차 엔트로피가 더 적합한 경우가 많습니다. 재구성 손실은 인코더와 디코더를 통한 전 과정을 거쳐 계산되므로, 이 손실을 최소화하는 방향으로 모델의 가중치가 학습됩니다.
손실 함수 | 수식 (단일 데이터 포인트) | 주로 사용되는 데이터 유형 |
|---|---|---|
평균 제곱 오차 (MSE) | \( L_{MSE} = \frac{1}{N} \sum_{i=1}^{N} (x_i - \hat{x}_i)^2 \) | 연속값 데이터 (예: 회색조/컬러 이미지) |
이진 교차 엔트로피 (BCE) | \( L_{BCE} = -\frac{1}{N} \sum_{i=1}^{N} [x_i \log(\hat{x}_i) + (1-x_i) \log(1-\hat{x}_i)] \) | 이진 데이터 (예: 흑백 이미지 또는 베르누이 분포로 모델링된 데이터) |
재구성 손실만을 최소화하면, 오토인코더와 유사하게 입력을 단순히 복사하는 데 가까운 모델이 만들어질 수 있습니다. 이를 방지하고 의미 있는 잠재 공간을 학습하도록 유도하는 것이 다른 구성 요소인 쿨백-라이블러 발산 손실의 역할입니다. 두 손실의 결합된 최소화를 통해 VAE는 효율적인 잠재 표현을 학습하면서도 원본 데이터의 특징을 보존하는 재구성을 수행할 수 있습니다.
변이형 오토인코더의 손실 함수는 재구성 손실과 KL 발산 손실의 두 항으로 구성된다. KL 발산 손실은 쿨백-라이블러 발산을 사용하여, 인코더가 출력하는 잠재 변수의 사후 분포 q(z|x)를 사전에 가정한 잠재 변수의 사전 분포 p(z)에 가깝게 만드는 정규화 항 역할을 한다.
이 손실 항은 다음과 같이 계산된다.
손실 항 | 수식 | 설명 |
|---|---|---|
KL 발산 손실 | D_KL(q(z | x) \ |
일반적으로 사전 분포 p(z)는 표준 정규 분포 N(0, I)로 설정한다. 인코더는 입력 x에 대해 잠재 변수 z의 평균 μ와 분산 σ²(또는 로그 분산)를 출력하며, q(z|x)는 N(μ, σ²I)로 가정한다. 이 경우 KL 발산은 다음과 같은 해석적 형태를 가지며, 효율적으로 계산될 수 있다[2].
D_KL(N(μ, σ²) \|\| N(0, 1)) = 1/2 * Σ (1 + log(σ²) - μ² - σ²)
KL 발산 손실을 최소화함으로써 모델은 잠재 공간의 구조를 규제한다. 각 잠재 변수의 차원이 독립적이고 단위 분산을 가지도록 유도하여, 잠재 공간이 연속적이고 구조화되도록 만든다. 이는 디코더가 임의의 z를 입력으로 받아 의미 있는 샘플을 생성할 수 있도록 하는 데 필수적이다. 재구성 손실만 사용하면 오토인코더와 유사하게 과적합되기 쉬운 불규칙한 잠재 공간이 생성되지만, KL 발산 항은 이를 방지하고 생성 모델로서의 일반화 능력을 부여한다.
변이형 오토인코더의 기본 구조는 다양한 연구를 통해 여러 변형이 제안되었으며, 특정 성능을 향상시키거나 새로운 응용 분야에 적합하도록 개선되었다.
가장 잘 알려진 변형 중 하나는 β-VAE이다. 이 모델은 VAE의 손실 함수에 가중치 β를 도입하여, 재구성 손실과 KL 발산 손실 항 사이의 균형을 조절한다. β 값이 1보다 크면 잠재 공간의 표현 학습을 더욱 장려하여 더 잘 분리되고 해석 가능한 잠재 변수를 학습하는 경향이 있다. 이는 의미론적 요소를 발견하거나 이미지의 스타일과 콘텐츠를 분리하는 데 유용하게 활용된다. 반대로 β 값이 1보다 작으면 재구성 성능에 더 초점을 맞추게 된다.
특정 조건이나 레이블 정보를 바탕으로 데이터를 생성할 수 있도록 설계된 Conditional VAE(CVAE)도 중요한 변형이다. CVAE는 인코더와 디코더에 조건 정보(예: 클래스 레이블, 텍스트 설명)를 추가 입력으로 제공한다. 이를 통해 모델은 주어진 조건에 맞는 데이터 샘플을 생성할 수 있게 되어, 지도 학습 환경에서의 생성이나 조건부 이미지 합성 등에 활용된다.
양자화 기법을 도입한 VQ-VAE(Vector Quantised-Variational AutoEncoder)는 연속적인 잠재 공간 대신 이산적인 잠재 공간을 사용한다. 이 모델은 인코더의 출력을 미리 정의된 코드북 내의 가장 가까운 임베딩 벡터로 매핑하는 과정을 거친다. 이 이산화된 코드를 디코더가 입력으로 사용하여 데이터를 재구성한다. VQ-VAE는 연속 공간보다 이산 공간이 자연어나 음성과 같은 이산적 특성을 가진 데이터를 모델링하는 데 더 적합할 수 있으며, 이후 트랜스포머 모델과 결합되어 고품질의 이미지 및 음성 생성에 사용되기도 한다.
변형 모델 | 주요 특징 | 주요 활용 분야 |
|---|---|---|
손실 함수에 가중치 β를 도입하여 잠재 표현의 해석 가능성 조절 | 해석 가능한 표현 학습, 요인 분리 | |
Conditional VAE(CVAE) | 인코더/디코더에 조건 정보(레이블 등)를 추가 입력 | 조건부 생성, 지도 생성 모델링 |
연속적 잠재 변수를 이산 코드로 양자화 | 이산적 데이터 모델링, 대규모 생성 모델의 구성 요소 |
β-VAE는 변이형 오토인코더의 손실 함수에 가중치 β를 도입하여 잠재 공간의 표현 학습을 정규화하는 모델이다. 이는 2017년 히긴스(Irina Higgins) 등에 의해 제안되었으며, 잠재 변수의 표현을 더 해석 가능하고 분리되도록 만드는 것을 목표로 한다[3].
기존 VAE의 손실 함수는 재구성 손실과 쿨백-라이블러 발산 정규화 항의 합으로 이루어져 있다. β-VAE는 이 정규화 항에 β > 0인 계수를 곱하여 손실 함수를 수정한다. β 값은 재구성 정확도와 잠재 공간 정규화 간의 균형을 조절한다. β가 1이면 표준 VAE와 동일하며, β > 1일 경우 정규화 항의 영향력이 강해져 인코더가 잠재 변수의 사후 분포를 사전 분포(보통 표준 정규 분포)에 더 가깝게 만든다. 이는 잠재 표현의 통계적 독립성을 촉진하여, 학습된 각 잠재 차원이 데이터의 단일하고 해석 가능한 생성 요인(예: 물체의 크기, 회전 각도, 색상)에 대응되도록 유도한다.
β 값에 따른 모델의 특성은 다음과 같이 요약할 수 있다.
β 값 범위 | 주요 영향 | 일반적인 용도 |
|---|---|---|
β = 1 | 표준 VAE와 동일한 균형 | 일반적인 생성 및 표현 학습 |
β > 1 | 정규화 강화, 재구성 능력 약화 | 해석 가능한 요인 학습, 분리 표현 추출 |
β < 1 | 정규화 약화, 재구성 능력 강화 | 고화질 재구성, 정규화 제약 완화 |
β-VAE는 특히 비지도 학습 환경에서 데이터의 기본적인 생성 요인을 발견하는 데 효과적이다. 예를 들어, 3D 렌더링된 얼굴 이미지 데이터셋에서 β-VAE를 학습시키면, 각 잠재 변수가 얼굴의 방위각, 고도각, 조명 조건 등과 같은 독립적인 물리적 속성에 대응되는 것을 확인할 수 있다. 그러나 β 값을 지나치게 크게 설정하면 재구성 정확도가 심각하게 저하되어 생성 품질이 나빠질 수 있다는 단점도 있다. 이 한계를 보완하기 위해 학습 중에 β 값을 점진적으로 증가시키는 등의 후속 연구가 이루어졌다.
Conditional VAE(CVAE)는 변이형 오토인코더의 조건부 생성 버전이다. 기본 VAE가 무작위 잠재 변수 z로부터 데이터를 생성하는 반면, CVAE는 특정 조건 정보 c가 주어졌을 때 해당 조건에 맞는 데이터를 생성하도록 확장되었다. 이는 레이블, 텍스트 설명, 다른 도메인의 이미지 등 다양한 형태의 조건을 입력으로 사용할 수 있다. 모델의 목표는 조건 c 하에서 데이터 x의 조건부 분포 c)를 근사하는 것이다.
CVAE의 구조는 기본 VAE와 유사하지만, 인코더와 디코더 모두에 조건 정보 c가 추가 입력으로 공급된다는 점이 핵심 차이이다. 인코더는 데이터 x와 조건 c를 함께 받아 조건부 잠재 변수의 사후 분포 x, c)를 추정한다. 디코더는 샘플링된 잠재 변수 z와 조건 c를 함께 받아 조건에 부합하는 데이터 x를 재구성하거나 생성한다. 이로 인해 손실 함수도 조건부 확률을 반영하도록 수정된다.
CVAE는 조건에 따라 다양한 데이터를 생성할 수 있어 여러 응용 분야에서 활용된다. 주요 예시는 다음과 같다.
응용 분야 | 조건 c의 예시 | 생성 대상 x |
|---|---|---|
조건부 이미지 생성 | 숫자 레이블(예: '7'), 스케치, 텍스트 설명 | 해당 레이블에 맞는 숫자 이미지, 채색된 이미지, 설명에 부합하는 이미지 |
이미지-이미지 변환 | 한 도메인의 이미지(예: 흑백 사진, 낮 시간대 사진) | 다른 도메인의 이미지(예: 컬러 사진, 밤 시간대 사진) |
대화형 생성 또는 편집 | 사용자가 지정한 속성(예: '안경 쓴', '웃는') | 원본 얼굴 이미지를 해당 속성으로 변경한 이미지 |
이러한 구조 덕분에 CVAE는 생성 과정을 보다 세밀하게 제어할 수 있으며, 지도 학습 및 준지도 학습 설정에서 데이터의 조건부 분포를 효과적으로 모델링하는 도구로 사용된다.
VQ-VAE(Vector Quantized Variational AutoEncoder)는 변이형 오토인코더의 한 변형으로, 연속적인 잠재 공간 대신 이산적인(discrete) 잠재 표현을 학습하는 생성 모델이다. 이 접근법은 심층 학습 모델이 인간의 인지 체계와 유사하게 이산적인 기호나 개념을 처리할 수 있도록 하며, 특히 고품질의 이미지와 음성 생성 분야에서 강점을 보인다.
VQ-VAE의 핵심은 벡터 양자화 계층이다. 인코더는 입력 데이터를 연속적인 잠재 벡터로 변환한 후, 이 벡터를 미리 정의된 크기의 코드북에서 가장 가까운 임베딩 벡터로 대체한다. 이 과정을 통해 연속적인 잠재 변수는 그 값이 가장 유사한 코드북 항목의 인덱스로 변환된다. 디코더는 이 이산적인 인덱스(양자화된 코드)를 다시 받아 원본 데이터를 재구성한다. 학습은 재구성 손실과 코드북 벡터를 업데이트하기 위한 직교 손실을 통해 이루어진다.
VQ-VAE의 주요 장점은 높은 수준의 의미론적 정보를 담은 이산적 잠재 공간을 구축한다는 점이다. 이 공간은 자율 회귀 모델인 PixelCNN이나 트랜스포머와 같은 모델로 추가적으로 모델링되어 장기간의 일관된 시퀀스 생성을 가능하게 한다. 이 구조는 이미지 생성, 음성 합성, 비디오 예측 등에서 널리 사용된다. 또한, 코드북의 크기를 조절하여 표현력과 계산 효율성 사이의 균형을 맞출 수 있다.
변이형 오토인코더는 잠재 공간을 통해 데이터의 확률 분포를 학습하는 생성 모델로, 학습된 분포를 활용하여 다양한 데이터 처리 및 생성 작업에 응용된다. 가장 대표적인 응용 분야는 이미지 생성과 이미지 압축이다. VAE는 입력 이미지를 저차원의 잠재 변수로 압축(인코딩)한 후, 이를 다시 원본과 유사한 이미지로 재구성(디코딩)한다. 이 과정에서 학습된 잠재 공간은 연속적이고 구조화되어 있어, 잠재 벡터를 보간하거나 조작함으로써 새로운 이미지를 합성할 수 있다. 예를 들어, 웃는 얼굴 이미지와 무표정한 얼굴 이미지의 잠재 표현 사이를 선형적으로 보간하면, 표정이 점차 변하는 일련의 얼굴 이미지를 생성할 수 있다[4].
또 다른 중요한 응용 분야는 이상 탐지이다. VAE는 정상 데이터의 분포를 학습하기 때문에, 학습 단계에서 보지 못한 이상치나 결함 데이터가 입력되면 재구성 오차가 크게 증가하는 경향을 보인다. 이 원리를 활용하여 제조 라인에서의 불량품 검출, 금융 사기 거래 탐지, 또는 의료 영상에서의 병변 발견 등의 작업에 사용된다. 또한, VAE는 데이터 증강을 위한 도구로도 활용된다. 제한된 양의 훈련 데이터가 있을 때, VAE를 학습시킨 후 잠재 공간에서 무작위로 샘플링하거나 약간의 변형을 가한 새로운 잠재 벡터를 생성하여, 원본 데이터와 유사하지만 동일하지는 않은 새로운 훈련 샘플을 만들어낼 수 있다.
응용 분야 | 주요 메커니즘 | 활용 예시 |
|---|---|---|
이미지 생성/압축 | 잠재 공간의 구조화와 보간 | 얼굴 이미지 합성, 저해상도에서 고해상도 변환 |
이상 탐지 | 정상 데이터에 대한 높은 재구성 오차 | 제조업 불량 검사, 네트워크 침입 탐지 |
데이터 증강 | 잠재 공간 샘플링 및 변형 | 의료 이미지 데이터셋 확장, 불균형 데이터 처리 |
이러한 응용들은 VAE가 단순한 재구성을 넘어, 데이터의 본질을 포착하는 잠재 표현을 학습한다는 강점을 보여준다. 그러나 생성된 이미지의 선명도가 생성적 적대 신경망에 비해 떨어질 수 있다는 한계도 존재한다.
변이형 오토인코더는 잠재 공간을 통해 이미지의 압축된 표현을 학습하고, 이를 바탕으로 새로운 이미지를 생성하는 데 효과적으로 활용된다. 인코더는 입력 이미지를 잠재 변수의 확률 분포(보통 정규 분포)로 변환하고, 디코더는 이 잠재 변수 샘플로부터 원본 이미지를 재구성하거나 변형된 새로운 이미지를 생성한다. 이 과정에서 모델은 데이터의 핵심적인 특징을 저차원의 연속적인 잠재 공간에 압축하여 표현하게 된다.
이미지 생성 측면에서 VAE는 잠재 공간 내에서 임의의 점을 샘플링하거나 점진적으로 보간하여 새로운 이미지를 합성할 수 있다. 예를 들어, 숫자 '1'과 '7'의 잠재 표현 사이를 선형적으로 보간하면 두 숫자 사이의 형태를 가진 자연스러운 이미지 시퀀스를 생성할 수 있다[5]. 이는 GAN과 같은 명시적인 판별자가 없는 생성 모델로서, 비교적 안정적인 학습이 가능하다는 장점이 있다.
이미지 압축 관점에서는 VAE가 손실 압축 방식으로 작동한다고 볼 수 있다. 인코더를 통해 이미지를 잠재 공간의 평균과 분산 파라미터로 압축하고, 디코더를 통해 복원한다. 압축률은 잠재 공간의 차원에 의해 결정되며, 재구성 손실과 KL 발산 손실 사이의 균형을 통해 복원 품질을 조절할 수 있다. 이는 단순한 픽셀 단위 복원이 아니라 데이터의 통계적 분포를 학습하여 압축하기 때문에, 전통적인 압축 알고리즘과는 다른 접근법을 제공한다.
응용 분야 | 주요 메커니즘 | 특징 |
|---|---|---|
이미지 생성 | 잠재 공간 샘플링 및 보간 | 연속적인 새로운 이미지 합성 가능, 의미적 보간 |
이미지 압축 | 잠재 변수 분포를 통한 인코딩/디코딩 | 통계적 분포 학습 기반의 손실 압축 |
이미지 복원 | 노이즈가 있는 또는 손상된 입력 재구성 | 데이터의 본질적 특징을 활용한 복원 |
그러나 VAE 기반 이미지 생성은 종종 GAN에 비해 생성된 이미지의 선명도와 디테일이 부족하다는 평가를 받는다. 이는 재구성 손실이 픽셀 단위 평균 제곱 오차를 사용할 때 발생할 수 있는 흐릿한 결과 때문이다. 이러한 한계를 극복하기 위해 VQ-VAE나 β-VAE 같은 변형 모델들이 제안되며, 이미지의 국소적 특징을 더 잘 포착하거나 잠재 공간의 해석 가능성을 높이는 방향으로 발전하고 있다.
이상 탐지는 정상 데이터의 패턴을 학습한 모델이 이 패턴에서 벗어나는 샘플을 식별하는 작업이다. 변이형 오토인코더는 정상 데이터로만 학습하여 정상 데이터의 확률 분포를 모델링하고, 재구성 오차나 잠재 공간의 편차를 기준으로 이상을 판단한다.
학습 단계에서는 정상 데이터만을 사용하여 VAE를 훈련시킨다. 모델은 정상 데이터의 특징을 효율적으로 압축하고 재구성하는 방법을 학습하게 된다. 추론 단계에서는 새로운 입력 데이터를 모델에 통과시켜 재구성 오차(예: 평균 제곱 오차)를 계산하거나, 인코더가 출력하는 잠재 변수의 분포가 사전 분포(보통 표준 정규 분포)와 얼마나 다른지를 측정한다[6]. 이 값이 사전에 정의한 임계값을 초과하면 해당 데이터를 이상으로 판단한다.
VAE 기반 이상 탐지의 주요 접근법은 다음과 같다.
접근법 | 설명 | 활용 지표 |
|---|---|---|
재구성 오차 기반 | 정상 데이터는 잘 재구성되지만, 이상 데이터는 재구성 품질이 크게 떨어진다는 가정 | 재구성 손실(예: MSE) |
잠재 공간 기반 | 정상 데이터의 잠재 변수 분포는 사전 분포에 가깝지만, 이상 데이터는 벗어난다는 가정 | 잠재 분포와 사전 분포 간의 KL 발산 |
혼합 접근법 | 재구성 오차와 잠재 공간 통계를 결합한 복합 점수를 사용 | 가중 합 또는 확률적 점수 |
이 방법은 제조업에서 결함 제품 검출, 사이버 보안에서 침입 탐지, 금융에서 사기 거래 식별 등 다양한 분야에 적용된다. VAE는 생성 모델로서 정상 데이터의 매니폴드를 학습하기 때문에, 그 매니폴드 상에 존재하지 않는 새로운 패턴을 효과적으로 찾아낼 수 있다는 장점을 가진다. 그러나 정상 데이터의 변이가 매우 클 경우 이를 정상으로 오인하거나, 학습 데이터에 미량의 이상치가 포함되면 탐지 성능이 저하될 수 있는 한계도 존재한다.
변이형 오토인코더는 제한된 양의 데이터로 모델 성능을 향상시키기 위한 데이터 증강의 효과적인 도구로 활용된다. 기존의 변환 기반 증강(회전, 자르기, 색상 조정 등)과 달리, VAE는 데이터의 잠재적 분포를 학습하여 의미론적으로 유효한 새로운 샘플을 생성한다. 이는 단순한 픽셀 변형이 아닌, 학습된 데이터의 본질적 특성을 바탕으로 한 변형을 가능하게 하여 모델의 일반화 능력을 높이는 데 기여한다.
데이터 증강을 위해 VAE를 사용하는 일반적인 절차는 다음과 같다. 먼저, 원본 데이터셋으로 VAE를 학습시켜 인코더와 디코더를 얻는다. 이후, 학습된 잠재 공간에서 무작위로 점을 샘플링하거나, 기존 데이터 포인트의 잠재 표현을 약간 변형시켜 새로운 잠재 벡터를 생성한다. 이렇게 생성된 잠재 벡터를 디코더에 통과시켜 원본 데이터와 유사하지만 새로운 특성을 가진 데이터를 생성한다. 예를 들어, 손글씨 숫자 데이터셋에서 특정 숫자의 스타일(기울기, 굵기)을 미세하게 변화시킨 새로운 이미지를 만들어낼 수 있다.
VAE 기반 데이터 증강의 주요 장점은 제어 가능한 다양성 생성에 있다. β-VAE와 같은 변형을 사용하면 잠재 공간의 해석 가능성을 높여, 생성되는 샘플의 특정 속성(예: 이미지의 밝기, 방향)을 더 세밀하게 조절할 수 있다. 또한, Conditional VAE는 특정 클래스 레이블이 주어진 상태에서 해당 클래스에 속하는 새로운 샘플을 생성하는 데 특화되어 있어, 클래스 불균형 문제를 해결하는 데 유용하게 적용된다. 그러나 생성된 샘플의 품질이 원본에 비해 흐리거나 디테일이 떨어질 수 있는 한계도 존재한다[7].
변이형 오토인코더는 잠재 변수 모델을 효과적으로 학습할 수 있는 강력한 생성 모델이지만, 몇 가지 명확한 장점과 한계를 지니고 있다.
주요 장점으로는, 명시적인 확률 분포를 가정함으로써 데이터의 잠재 표현을 학습하고 새로운 데이터를 샘플링하여 생성할 수 있다는 점이 있다. 이는 단순한 오토인코더가 갖지 못하는 생성 능력이다. 또한 재매개변수화 트릭과 변분 추론을 통해 역전파가 가능해져, 확률적 경사 하강법을 사용한 효율적인 학습이 이루어진다. 학습 과정이 비교적 안정적이며, 재구성 손실과 KL 발산 손실의 균형을 통해 의미 있는 잠재 공간을 형성한다. 이 잠재 공간은 연속적이고 해석 가능한 경우가 많아, 잠재 변수의 보간을 통한 부드러운 데이터 생성이 가능하다.
그러나 VAE는 몇 가지 구조적 한계를 보인다. 가장 흔히 지적되는 문제는 생성된 이미지의 선명도 부족이다. 모델이 평균 제곱 오차와 같은 재구성 손실을 최소화하도록 학습되면서, 생성된 출력이 종종 평균적이고 흐릿해지는 경향이 있다. 이는 특히 이미지 데이터에서 두드러진다. 또한, 사전 분포로 표준 정규 분포를 강제하는 KL 발산 항이 너무 강력하게 작용하면, "잠재 변수 붕괴" 현상이 발생할 수 있다. 이는 인코더가 입력과 무관하게 항상 사전 분포에 가까운 출력을 내보내, 잠재 공간의 표현력이 크게 저하되는 문제이다.
이러한 한계를 보완하기 위해 다양한 변형 모델이 제안되었다. 예를 들어, KL 발산 항의 가중치를 조절하는 β-VAE는 표현 학습 능력을 강화하며, Conditional VAE는 특정 조건에 따른 생성이 가능하게 한다. 그러나 근본적인 흐림 현상과 균형 잡기 어려운 손실 함수 문제는 여전히 활발한 연구 주제로 남아 있다.
변분 오토인코더는 생성 모델의 한 종류로, 생성적 적대 신경망 및 기본 오토인코더와 비교하여 고유한 특성과 차이점을 가진다.
VAE와 GAN은 모두 데이터의 확률 분포를 학습하여 새로운 데이터를 생성하는 생성 모델이다. 그러나 그 접근 방식과 특징은 뚜렷하게 다르다. VAE는 확률론적 생성 모델에 기반하여, 데이터의 잠재 변수 분포를 명시적으로 모델링하고 변분 추론을 통해 학습한다. 이로 인해 학습 과정이 비교적 안정적이며, 잠재 공간을 통한 의미 있는 보간이 가능하다는 장점이 있다. 반면, GAN은 생성기와 판별기의 적대적 경쟁을 통해 학습하며, 일반적으로 더 선명하고 현실적인 이미지를 생성하는 것으로 알려져 있다. 그러나 GAN은 학습 불안정성과 모드 붕괴 문제를 겪을 수 있으며, 잠재 공간의 해석 가능성이 VAE에 비해 낮은 편이다. 다음 표는 두 모델의 주요 차이점을 요약한다.
특징 | 변분 오토인코더 (VAE) | 생성적 적대 신경망 (GAN) |
|---|---|---|
학습 원리 | 변분 추론을 통한 확률적 최대 우도 추정 | 생성기와 판별기의 적대적 미니맥스 게임 |
생성 품질 | 일반적으로 GAN보다 부드럽거나 흐릿한 경향 | 매우 선명하고 현실적인 이미지 생성 가능 |
학습 안정성 | 상대적으로 안정적 | 불안정할 수 있으며, 학습 실패 가능성 존재 |
잠재 공간 | 연속적이고 구조화된 잠재 공간 제공, 보간 용이 | 구조가 덜 명확할 수 있음 |
주요 문제 | 생성 이미지의 선명도 부족 | 모드 붕괴, 학습 불안정성 |
VAE는 기본 오토인코더의 구조에서 발전했지만, 그 목적과 작동 방식에 근본적인 차이가 있다. 기본 오토인코더는 입력 데이터를 저차원의 잠재 벡터로 압축한 후 재구성하는 데 중점을 둔 비지도 학습 모델이다. 주로 데이터 압축이나 노이즈 제거와 같은 목적으로 사용된다. 반면, VAE는 확률론적 프레임워크를 도입하여, 인코더가 단일 잠재 벡터가 아닌 잠재 변수의 확률 분포(보통 정규분포)의 매개변수(평균과 분산)를 출력한다. 디코더는 이 분포에서 샘플링된 잠재 변수를 입력으로 받아 새로운 데이터를 생성한다. 이 확률적 접근과 KL 발산을 포함한 손실 함수 덕분에 VAE는 데이터의 근본적인 생성 과정을 모방할 수 있는 생성 모델로 기능한다. 따라서 기본 오토인코더가 단순한 압축/복원 도구라면, VAE는 데이터의 확률 분포를 학습하는 생성 모델로 이해할 수 있다.
변분 오토인코더(VAE)와 생성적 적대 신경망(GAN)은 모두 잠재 공간에서 데이터를 생성하는 대표적인 생성 모델이지만, 그 접근 방식과 특징에는 뚜렷한 차이가 존재한다.
비교 항목 | 변분 오토인코더 (VAE) | 생성적 적대 신경망 (GAN) |
|---|---|---|
핵심 메커니즘 | 생성기와 판별기의 적대적 학습 | |
학습 목표 | 데이터의 증거 하한(ELBO) 최대화 | 생성기와 판별기의 미니맥스 게임 균형 달성 |
생성 품질 | 일반적으로 상대적으로 부드럽고 흐릿한 이미지 생성 | 종종 더 선명하고 현실적인 이미지 생성 |
잠재 공간 | 연속적이고 구조화된 공간, 의미적 보간이 용이 | 구조가 덜 명확할 수 있으며, 모드 붕괴 문제 발생 가능 |
학습 안정성 | 상대적으로 안정적이며 명시적인 손실 함수를 가짐 | 학습이 불안정할 수 있고, 모드 붕괴나 기울기 소실 문제 발생 |
다양성 | 학습 데이터 분포를 잘 포착하여 다양한 샘플 생성 | 품질은 높으나 다양성이 부족할 수 있음 |
GAN은 생성기 네트워크가 판별기 네트워크를 속이려고 하는 경쟁 과정을 통해 학습한다. 이로 인해 생성된 샘플의 시각적 선명도가 매우 높은 경우가 많다. 반면, VAE는 데이터의 우도를 직접 최대화하려는 명시적인 목표를 가지며, 재구성 손실과 KL 발산의 균형을 통해 학습한다. 이는 VAE가 더 안정적으로 학습되게 하지만, 손실 함수에 포함된 평균 제곱 오차(MSE) 등의 항이 생성 이미지에 평균화 효과를 내어 흐릿함을 초래하는 원인이 되기도 한다[8].
응용 측면에서 VAE는 데이터의 압축, 이상 탐지, 의미적 보간과 같은 작업에 강점을 보인다. 이는 구조화된 잠재 공간 덕분에 잠재 변수를 조작하여 데이터를 연속적으로 변형시키기 쉽기 때문이다. GAN은 고해상도 및 고품질 이미지 생성, 이미지-이미지 변환, 스타일 변환 등 시각적 충실도가 중요한 생성 작업에서 두각을 나타낸다. 이후 연구에서는 두 모델의 장점을 결합한 VAE-GAN 하이브리드 모델이나, VAE의 안정적인 학습 프레임워크를 유지하면서 생성 품질을 높이려는 다양한 시도가 이루어졌다.
변이형 오토인코더(VAE)는 기본적인 오토인코더(AE)의 구조를 확률론적 생성 모델의 프레임워크로 재해석한 모델이다. 가장 근본적인 차이는 설계 목적에 있다. 전통적인 오토인코더는 주로 입력 데이터의 효율적인 압축 표현(인코딩)을 학습하여 노이즈 제거나 차원 축소 같은 임무에 중점을 둔다. 반면, VAE는 명시적인 확률 분포를 가정하고 데이터가 생성되는 과정을 모델링하여, 학습된 잠재 공간에서 새로운 데이터 샘플을 생성하는 것을 주요 목표로 한다.
이 목적의 차이는 구조와 학습 방식에 직접적으로 반영된다. 일반 오토인코더의 인코더는 입력을 결정론적인 하나의 잠재 벡터로 매핑한다. 그러나 VAE의 인코더는 입력을 하나의 점이 아닌, 잠재 변수의 확률 분포(보통 정규분포)의 매개변수(평균과 분산)로 매핑한다. 디코더는 이 분포에서 샘플링된 잠재 벡터를 입력으로 받아 원본 데이터를 재구성하거나 생성한다. 이 샘플링 과정을 신경망이 학습할 수 있도록 만드는 핵심 기법이 재매개변수화 트릭이다.
학습 시 사용하는 손실 함수도 다르다. 오토인코더의 손실은 주로 입력과 출력 사이의 재구성 오차(예: 평균 제곱 오차)만으로 구성된다. VAE의 손실 함수는 재구성 손실에 더해, 인코더가 추정한 잠재 변수의 분포와 사전에 가정한 분포(표준 정규분포) 사이의 차이를 측정하는 쿨백-라이블러 발산(KL 발산) 항을 포함한다. 이 KL 발산 항은 잠재 공간의 구조를 규제하여 연속적이고 의미 있는 공간을 형성하게 만드는 핵심 요소이다.
결과적으로, 두 모델이 학습하는 잠재 공간의 성질은 현저히 다르다. 기본 오토인코더의 잠재 공간은 결정론적이지만 규제가 없어서 공간 내 점들의 분포가 불규칙할 수 있다. VAE의 잠재 공간은 확률 분포에 의해 규제되므로 더 잘 조직화되고, 공간 내에서의 보간이 부드럽고 의미 있는 새로운 샘플 생성으로 이어질 가능성이 높다. 따라서 순수한 재구성 성능만 본다면 오토인코더가 더 나을 수 있으나, 데이터의 생성과 잠재 공간의 해석 가능성이 중요할 경우 VAE가 선호된다.