변분 오토인코더(VAE)는 2013년 디데릭 P. 킹마(Diederik P. Kingma)와 맥스 웰링(Max Welling)이 소개한 인공 신경망 아키텍처입니다. 이는 확률적 그래픽 모델과 변분 베이즈 방법의 계열에 속합니다. 오토인코더 신경망 아키텍처로 간주되는 것 외에도, 변분 오토인코더는 변분 베이즈 방법의 수학적 공식 내에서 연구될 수 있으며, 확률적 잠재 공간(예: 다변량 가우시안 분포)을 통해 신경 인코더 네트워크를 디코더에 연결하며, 이는 변분 분포의 매개변수에 해당합니다.
인코더는 대규모 복잡한 데이터셋의 각 점(예: 이미지)을 잠재 공간의 단일 점이 아닌 분포로 매핑합니다. 디코더는 반대 기능을 가지며, 잠재 공간에서 입력 공간으로 다시 분포에 따라 매핑합니다(실제로는 디코딩 단계에서 노이즈가 거의 추가되지 않지만). 점을 단일 점 대신 분포로 매핑함으로써 네트워크는 훈련 데이터에 대한 과적합을 피할 수 있습니다. 두 네트워크는 일반적으로 재매개변수화 트릭을 사용하여 함께 훈련되지만, 노이즈 모델의 분산은 별도로 학습될 수 있습니다. 이 유형의 모델은 처음에 비지도 학습을 위해 설계되었지만, 반지도 학습 및 지도 학습에서도 그 효과가 입증되었습니다.
아키텍처 및 작동 개요
변분 오토인코더는 각각 사전 분포와 노이즈 분포를 가진 생성 모델입니다. 일반적으로 이러한 모델은 기대-최대화 메타 알고리즘(예: 확률적 PCA, 희소 코딩)을 사용하여 훈련됩니다. 이러한 방식은 일반적으로 계산적으로 다루기 어려운 데이터 우도의 하한을 최적화하며, 그 과정에서 q-분포 또는 변분 사후 분포의 발견을 요구합니다. 이러한 q-분포는 일반적으로 별도의 최적화 과정에서 각 개별 데이터 점에 대해 매개변수화됩니다. 그러나 변분 오토인코더는 신경망을 상각 접근법으로 사용하여 데이터 점 전반에 걸쳐 공동으로 최적화합니다. 이러한 방식으로 동일한 매개변수가 여러 데이터 점에 재사용되어 막대한 메모리 절약을 가져올 수 있습니다. 첫 번째 신경망은 데이터 점 자체를 입력으로 받아 변분 분포의 매개변수를 출력합니다. 알려진 입력 공간에서 저차원 잠재 공간으로 매핑하므로 인코더라고 합니다.
디코더는 이 모델의 두 번째 신경망입니다. 이는 잠재 공간에서 입력 공간으로 매핑하는 함수이며, 예를 들어 노이즈 분포의 평균으로 사용됩니다. 분산에 매핑하는 또 다른 신경망을 사용할 수 있지만, 단순화를 위해 생략할 수 있습니다. 이러한 경우 분산은 경사 하강법으로 최적화할 수 있습니다.
이 모델을 최적화하려면 "재구성 오류"와 쿨백-라이블러 발산(KL-D)이라는 두 가지 항을 알아야 합니다. 두 항 모두 확률적 모델의 자유 에너지 표현에서 파생되므로, 노이즈 분포와 데이터의 가정된 사전 분포(여기서는 p-분포라고 함)에 따라 달라집니다. 예를 들어, IMAGENET과 같은 표준 VAE 작업은 일반적으로 가우시안 분포의 노이즈를 가진다고 가정하지만, 이진화된 MNIST와 같은 작업은 베르누이 노이즈를 요구합니다. 자유 에너지 표현의 KL-D는 p-분포와 겹치는 q-분포의 확률 질량을 최대화하며, 불행히도 모드 탐색 행동을 초래할 수 있습니다. "재구성" 항은 자유 에너지 표현의 나머지 부분이며, 기대값을 계산하기 위해 샘플링 근사를 요구합니다.
최근 접근법은 쿨백-라이블러 발산(KL-D)을 다양한 통계적 거리로 대체합니다. 아래의 "통계적 거리 VAE 변형"을 참조하십시오.
공식화
확률적 모델링의 관점에서, 선택된 매개변수화된 확률 분포 \(p_\theta(x)=p(x|\theta)\)에 의해 데이터 \(x\)의 우도를 최대화하려고 합니다. 이 분포는 일반적으로 각각 \(\mu\)와 \(\sigma\)로 매개변수화되는 가우시안 \(N(x|\mu,\sigma)\)로 선택되며, 지수족의 구성원으로서 노이즈 분포로 다루기 쉽습니다. 단순한 분포는 최대화하기 쉽지만, 잠재 변수 \(z\)에 대해 사전 분포가 가정되는 분포는 다루기 어려운 적분을 초래합니다. \(z\)에 대해 주변화하여 \(p_\theta(x)\)를 찾아봅시다.
\(p_\theta(x) = \int_z p_\theta({x,z}) \, dz,\)
여기서 \(p_\theta({x,z})\)는 관측 가능한 데이터 \(x\)와 그 잠재 표현 또는 인코딩 \(z\)의 \(p_\theta\) 하에서의 결합 분포를 나타냅니다. 연쇄 법칙에 따라 방정식은 다음과 같이 다시 쓸 수 있습니다.
\(p_\theta(x) = \int_z p_\theta({x|z}) p_\theta(z) \, dz.\)
실제로, 잠재 공간이 고차원이고 진정한 사후 분포 \(p_\theta(z|x)\)가 알려지지 않았기 때문에 \(z\)에 대한 적분은 다루기 어렵습니다. VAE는 진정한 사후 분포를 근사하기 위해 인코더 네트워크 \(q_\phi(z|x)\)를 도입하고, 데이터를 재구성하기 위해 디코더 네트워크 \(p_\theta(x|z)\)를 도입합니다. 훈련 목표는 재구성 항과 KL 발산 항의 합인 증거 하한(ELBO)입니다. 재매개변수화 트릭은 \(z\)를 \(z = \mu + \sigma \odot \epsilon\)로 표현하여 샘플링 과정을 통한 역전파를 가능하게 하며, 여기서 \(\epsilon\)은 표준 정규 분포에서 샘플링됩니다.
훈련 및 최적화
VAE는 매개변수 \(\theta\)와 \(\phi\)에 대해 ELBO를 최대화하여 훈련됩니다. 재구성 항은 디코더가 입력 데이터를 정확하게 재구성하도록 장려하는 반면, KL 발산 항은 잠재 공간을 사전 분포(일반적으로 표준 정규 분포)에 가깝게 정규화합니다. 이러한 균형은 과적합을 방지하고 사전 분포에서 샘플링하고 디코딩하여 새로운 데이터 점을 생성할 수 있게 합니다.
재매개변수화 트릭은 확률적 경사 하강법을 사용한 효율적인 훈련에 중요합니다. 확률성을 노이즈 변수 \(\epsilon\)로 이동함으로써, 경사는 네트워크의 결정적 부분을 통해 흐를 수 있습니다. 노이즈 모델의 분산은 별도로 학습될 수 있으며, 재구성 오류는 연속 데이터의 경우 평균 제곱 오차, 이진 데이터의 경우 이진 교차 엔트로피를 사용하여 계산되는 경우가 많습니다.
응용 및 영향
VAE는 Generative AI의 기초 모델이 되었으며, 이미지 생성, 이상 탐지 및 표현 학습과 같은 작업을 가능하게 합니다. 이는 Deep learning 및 Machine learning을 포함한 다양한 영역으로 확장되었으며, Large language model과 같은 다른 생성 모델의 개발에 영향을 미쳤지만, 이러한 모델은 일반적으로 다른 아키텍처를 사용합니다. VAE는 또한 반지도 및 지도 학습 설정에서 사용되어 비지도 학습을 넘어선 다용성을 입증합니다.
킹마와 웰링의 원래 논문은 매우 영향력이 있었으며, VAE 프레임워크는 모드 붕괴를 해결하기 위해 KL 발산 대신 다른 통계적 거리를 사용하는 등 다양한 방식으로 적응되었습니다. 모델이 매끄러운 잠재 공간을 학습하는 능력은 데이터 속성의 보간 및 조작에 유용하게 만들었습니다.
변형 및 확장
성능을 개선하기 위해 여러 VAE 변형이 제안되었습니다. 예를 들어, 베타-VAE는 더 분리된 표현을 장려하기 위해 KL 발산 항에 가중치 요인을 도입합니다. 다른 변형은 가우시안 혼합 모델과 같은 다른 사전 분포를 사용하거나, 생성된 샘플의 현실성을 개선하기 위해 적대적 훈련을 사용합니다. 재매개변수화 트릭은 또한 Gumbel-softmax 근사를 사용하여 범주형 변수와 같은 다른 분포로 일반화되었습니다.
Artificial intelligence의 맥락에서, VAE는 종종 또 다른 생성 모델 클래스인 생성적 적대 신경망(GAN)과 비교됩니다. GAN은 더 선명한 이미지를 생성할 수 있지만, VAE는 훈련이 더 안정적이고 불확실성 추정에 유용한 확률적 프레임워크를 제공하는 경향이 있습니다. 2020년대 초반 현재, VAE는 Neural network 응용 분야와 함께 여전히 활발한 연구 영역으로 남아 있습니다.