변분 오토인코더 (Variational Autoencoder, VAE)
이 페이지는 AI 문맥에서 자주 쓰이는 변분 오토인코더 (Variational Autoencoder, VAE)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
변분 오토인코더(Variational Autoencoder, VAE)는 입력을 설명하는 잠재변수의 확률분포를 학습하고 그 잠재표현에서 데이터를 만들어 내는 생성 모델입니다. 인코더는 입력에 맞는 잠재분포를 추정하고 디코더는 그 안에서 얻은 값을 데이터로 되돌리는 역할을 합니다. 원본을 재구성하는 목표와 잠재분포를 정해 둔 사전분포에 가깝게 만드는 목표를 함께 사용합니다.
입력과 잠재표현을 잇는 인코더와 디코더
Auto-Encoding Variational Bayes 원 논문은 관측한 데이터로부터 직접 계산하기 어려운 잠재변수의 분포를 근사하는 방법을 제안합니다. 논문은 인코더를 입력 하나에 대해 가능한 잠재표현의 분포를 내놓는 모델로 설명합니다. 이미지를 다룬다면 픽셀 값 자체를 그대로 보관하는 대신, 그 이미지를 설명하는 내부 표현을 확률적으로 다루는 방식입니다.
디코더는 잠재값을 받아 그 값에 대응하는 데이터의 분포를 만듭니다. 학습에서는 입력을 인코더에 넣고 얻은 잠재표현을 디코더로 보내 원본을 얼마나 잘 설명하는지 살펴봅니다. 이 과정에서 인코더와 디코더의 파라미터를 함께 조정합니다. 두 부분은 반대 방향으로 데이터를 다루지만 단순히 같은 계산을 역순으로 실행하는 것은 아니며, 각각 학습된 변환을 담당합니다.
일반적인 오토인코더라는 이름만으로 모든 모델이 같은 확률분포나 학습 목표를 쓴다고 판단할 수는 없습니다. VAE에서는 입력에 대한 잠재분포를 근사하고 그 분포를 이용해 학습한다는 조건이 중요합니다. 잠재표현이 벡터라는 이유만으로 검색용 임베딩과 같은 용도라고 보는 것도 적절하지 않습니다. 어떤 데이터를 재구성하도록 학습했는지, 잠재값을 어떻게 뽑아 쓰는지에 따라 표현의 의미와 사용법이 달라집니다.
재구성과 분포 제약을 함께 사용하는 학습
원 논문은 학습 목표를 재구성에 해당하는 항과 KL 발산에 해당하는 항으로 나누어 설명합니다. 재구성 항은 잠재표현에서 원래 관측한 데이터를 잘 설명하도록 하고, KL 항은 입력에 대해 추정한 잠재분포가 사전분포에 가깝도록 유도합니다. 원본과 닮은 결과를 만드는 일과 잠재공간의 분포를 조절하는 일이 함께 들어갑니다. KL 항을 원본 픽셀의 차이를 재는 값으로 읽으면 두 역할을 혼동하게 됩니다.
확률분포에서 값을 뽑는 과정에도 학습에 맞는 처리가 필요합니다. 논문이 제안한 재매개변수화는 보조 잡음과 미분 가능한 변환을 이용해 잠재값을 표현하는 방법입니다. 정규분포 예시에서는 별도로 뽑은 잡음에 표준편차를 곱하고 평균을 더해 잠재값을 만듭니다. 무작위성을 없애는 것이 아니라 이 형태로 표현하여 인코더 파라미터에 대한 기울기를 계산할 수 있게 합니다.
이 학습 구조는 데이터가 만들어지는 과정을 모델링하는 데 사용합니다. 논문이 제시하는 생성 과정에서는 사전분포에서 잠재값을 뽑고 그 값에 따른 데이터 분포에서 관측값을 생성합니다. 입력을 받아 재구성하는 경로와 새 잠재값에서 데이터를 생성하는 경로를 구분하면 인코더와 디코더의 역할이 선명해집니다. 다만 학습 목표가 있다는 사실만으로 생성 결과의 품질이나 개별 입력의 재구성 정확도가 보장되지는 않습니다.
이미지 생성 구현에서의 역할과 조건
Hugging Face의 AutoencoderKL 문서는 Diffusers에서 이미지를 잠재표현으로 인코딩하고 잠재표현을 이미지로 디코딩하는 VAE 구현을 설명합니다. 문서는 잠재값을 확산 모델에 전달하기 전에 값의 배율을 조정하고 디코딩할 때 다시 되돌리는 처리도 명시합니다. 이 구현에서 이미지와 잠재공간을 연결하는 부분과 잠재값을 처리하는 확산 모델은 역할이 구분됩니다.
AutoencoderKL은 VAE를 사용하는 구체적인 클래스이며 VAE라는 개념 전체와 같은 이름은 아닙니다. 문서가 정한 입력 채널, 잠재 채널, 배율 조정 계수 같은 조건도 이 구현과 불러온 모델 설정에 맞춰 읽습니다. 그래서 다른 이미지 생성 파이프라인의 VAE 사용 여부와 설정은 따로 확인합니다. 기존 모델을 다른 구현으로 바꿀 때는 두 쪽이 주고받는 잠재표현의 형식과 배율 조정 규칙을 확인합니다.
이미지를 인코딩한 뒤 디코딩하는 과정은 학습한 표현을 거치는 재구성입니다. 파일을 압축했다가 원래 바이트를 그대로 복원하는 과정과 같은 정확성을 전제하지 않습니다. 결과를 평가할 때는 재구성된 이미지가 원본의 색과 형태, 세부 내용을 얼마나 보존하는지 살펴볼 수 있습니다. 확산 모델의 생성 결과를 점검할 때도 잠재값 생성 단계와 이미지로 바꾸는 단계의 조건을 구별하면 어느 부분을 확인할지 좁힐 수 있습니다.
관련 용어
변분 오토인코더 (Variational Autoencoder, VAE)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
