반응형
📌 머신러닝의 기초: VAE (Variational Autoencoder; 변분 오토인코더)
VAE란,
VAE, 즉 변분(變分) 오토인코더는 머신러닝의 생성 모델의 한 종류로, 잠재 공간(latent space)을 학습해서 데이터를 효율적으로 표현하거나 새로운 데이터를 생성할 수 있게 합니다.
그냥 AE(오토인코더)

- 정의
- 오토인코더는 라벨이 필요없이 스스로 압축과 복원을 반복하면서 데이터의 핵심 정보를 배우는 자기지도학습 모델입니다.
- 입력값을 그대로 출력하는 것을 목표로 하며, 압축과 복원을 수없이 반복하면서 필수 정보만 자동으로 학습합니다.
- 학습방식
- 압축 과정에서 불필요한 데이터를 제거하고, 남은 데이터만으로 원본을 복원하고, 손실을 확인합니다.
- 손실이 크면 중요한 정보를 잘못 버렸음을 알게 되고,
- 손실이 작으면 필요없는 정보를 잘 버렸음을 알게 됩니다.
- 이 과정을 수천-수만 번 반복하면 필요없는 정보를 알게 되고, 핵심 정보만 남게 됩니다.
- 손실 함수 = ‖ x − x̂ ‖²
- x̂ (재구성된 데이터)가 x (원본)과 최대한 비슷해야 합니다.
- 재구성 오차에 거의 영향을 주지 않는 피처는 가중치가 0에 가까워지거나 잠재 벡터에 반영되지 않습니다.
- 특징
- 오토인코더는 데이터 라벨링이 불필요합니다. 입력값이 정답(라벨)이기 때문에.
- 이상 탐지, 노이즈 제거, 특징 추출에 많이 사용됩니다.
잠재 공간을 학습한다?
- 오토인코더와 VAE에서 잠재 공간의 개념
- '핵심 의미들이 떠다니는, 보이지 않는 공간' 이라고 이해하면 됩니다.
- 수많은 정보를 가진 데이터를, 핵심 의미/특징이 담긴 아주 적은 수의 벡터로 압축해서 뿌려놓은 공간입니다.
- 사람의 '인식 방법'을 생각해볼까요?
- 강아지, 고양이, 토끼, 소와 같은 동물들을 볼 때 우리는 각 동물이 가진 '모든' 정보를 기억하지 않습니다.
- 일반적인 특징, 즉 각 동물들 간에 가장 큰 차이를 보이는 요소들을 파악하여 정신적인 '틀'을 만듭니다.
- 그리고 각각의 틀 속에 있는 핵심 정보를 기준으로, 새로 마주치는 동물이 어떤 동물인지 판단합니다.
- 또는 그 틀을 기반으로 어떤 동물의 그림을 그릴 수도 있습니다.
- 동물의 핵심 정보를 담은 그 '틀'이 바로 잠재 공간입니다.
- 잠재공간을 학습한다는 의미
- "잠재 공간에 있는 N개의 숫자가 어떤 의미를 가져야 데이터의 핵심을 가장 잘 담을 수 있는지, 모델 스스로 찾아낸다."
- 명칭의 유래
- 2013~2014년 오토인코더·VAE 논문들이 처음 나왔을 때.
- 연구자들이 '압축된 벡터 안에 눈에 안 보이는 의미가 숨어 있다' 라고 정의.
- 통계학에서 쓰던 latent variable(잠재 변수)라는 용어를 그대로 가져와 Latent Space라고 부르기 시작했습니다.
VAE와 오토인코더와의 차이
- VAE는 기본적으로 오토인코더의 구조를 따릅니다.
- 오토인코더는 입력 데이터를 압축(인코딩)하고 재구성(디코딩)하는 데 초점을 맞춥니다.
- VAE는 확률적 접근을 추가해서 잠재 공간을 확률 분포로 모델링하는 것이 특징입니다.
VAE의 핵심 구성요소와 정의

- 인코더 (Encoder)
- 역할
- 입력 데이터를 받아 평균(데이터의 대표 위치)과 분산(평균 기준으로, 변형 가능한 허용 범위)을 출력합니다.
- 잠재 변수의 확률 분포(보통 가우시안 분포)를 정의합니다.
- 특징
- 이 과정이 데이터를 단순한 벡터가 아닌 분포로 압축하는 변분(Variational) 접근법의 핵심입니다.
- 역할
- 잠재 공간 (Latent Space)
- 역할
- 입력 데이터의 핵심 특성(Features)을 저차원 벡터로 인코딩한 공간입니다.
- VAE에서는 이 공간이 연속적인 확률 분포를 이루도록 학습됩니다.
- 역할
- 디코더 (Decoder)
- 역할
- 잠재 공간에서 샘플링된 값을 받아 원래 입력 데이터와 유사한 출력 데이터를 생성하거나 재구성합니다.
- 역할
- 손실 함수 (Loss Function): VAE는 두 가지 주요 손실로 학습됩니다.
- 재구성 손실 (Reconstruction Loss) → 정확성 측정
- 디코더 출력이 원본 입력과 얼마나 비슷한지 측정합니다.
- KL-Divergence (정규화 항) → 잠재 공간의 규칙성/연속성 확보
- 인코더가 생성한 잠재 분포가 사전에 정의된 사전 분포(Prior) (보통 표준 정규 분포)와 얼마나 비슷한지 측정합니다.
- KL Divergence는, 두 개의 확률 분포가 얼마나 다른지를 숫자로 나타낸 것입니다.
- 숫자가 너무 크면(복잡하면) 생성 품질이 떨어집니다.
- 숫자가 0에 가까우면(너무 단순하면) 다양성이 죽어버립니다.
- 그래서 VAE는 늘 KL 값을 0.2~0.7 사이로 맞추는 게 최적입니다.
- 재구성 손실 (Reconstruction Loss) → 정확성 측정
- 생성 능력
- 잠재 공간의 분포가 부드럽고 연속적입니다.
- 이 공간에서 임의의 지점을 샘플링하고 디코더에 통과시키면 새로운 데이터를 생성할 수 있습니다.
VAE의 장점/한계
| 항목 | 장점 | 한계 |
| 생성 이미지 품질 | - | ★★★★☆ (GAN, Diffusion에 비해 흐릿하고 선명도 떨어짐) → 사진 수준의 고해상도 생성은 아직 약함 |
| 학습 안정성 | ★★★★★ (GAN처럼 모드 붕괴·기울기 소실 거의 없음) → 거의 항상 수렴함 | - |
| 잠재 공간의 구조 | ★★★★★ (매우 부드럽고 연속적, 의미 있는 보간 가능) → z를 조금씩 움직이면 자연스럽게 변화 | 분포가 너무 커지면 잠재 공간이 의미를 잃을 수 있음 (posterior collapse) |
| 수학적 해석 가능성 | ★★★★★ (ELBO라는 명확한 손실 함수 → 디버깅·모니터링 쉬움) | - |
| 이상치 탐지 능력 | ★★★★★ (재구성 확률로 매우 정확하게 이상치 탐지 가능) → 제조·금융·의료에서 현업 최고 수준 | - |
| 다양성 제어 | ★★★★☆ (β-VAE, CVAE 등으로 다양성·특정 속성 쉽게 조절 가능) | 기본 VAE는 분포가 작아 다양성이 부족한 경우 많음 → β값 튜닝 필수 |
| 고해상도 생성 | - | ★★☆☆☆ (512×512 이상 올라가면 메모리 폭발 + 품질 급락) → VQ-VAE2, VD-VAE 등 변종 써야 함 |
| 훈련 속도 | ★★★★☆ (GAN보다 빠르고 안정적, Diffusion보다 훨씬 빠름) | Diffusion 모델에 비하면 느림 (하지만 GAN보다는 빠름) |
| 데이터 효율성 | ★★★★☆ (적은 데이터로도 어느 정도 학습 가능) | 수만 장 이하 데이터에서는 GAN이나 Diffusion이 더 좋은 경우 많음 |
| 실무 적용 사례 | • 이상치 탐지 (제조, 금융 사기) • 데이터 증강 • 약물·분자 생성 • 추천 시스템 잠재 표현 • 음성 변환 | • 초고화질 이미지 생성 (Stable Diffusion이 압도) • 텍스트-이미지 생성 (최신 Diffusion 계열이 압승) |
VAE 활용 예시/사례
- 제약 산업 (신약 발견)
- IBM 연구팀은 VAE를 사용해 화학 분자 구조를 잠재 공간으로 매핑, 새로운 약물 후보를 생성.
- 2023-2024 연구에서 VAE는 기존 데이터에서 학습해 10만 개 이상의 합성 분자를 제안, 실험 비용을 30% 줄였습니다.
- 이는 고비용 실험을 대체하며, COVID-19 백신 개발 속도를 가속화한 사례입니다.
- IBM 연구팀은 VAE를 사용해 화학 분자 구조를 잠재 공간으로 매핑, 새로운 약물 후보를 생성.
- 제조업 (품질 관리)
- 자동차 회사에서 VAE를 anomaly detection에 적용. 생산 라인 이미지에서 결함(스크래치)을 탐지.
- 정상 데이터로만 훈련해 비정상 이미지를 재구성 실패로 식별했습니다.
- 2024 사례에서 생산 효율 15% 향상, 결함 검출률 90% 을 달성했습니다.
- 자동차 회사에서 VAE를 anomaly detection에 적용. 생산 라인 이미지에서 결함(스크래치)을 탐지.
- 금융 (사기 탐지)
- 은행에서 거래 패턴을 VAE로 압축, 이상 거래를 KL divergence로 감지.
- 2025 PMC 연구에서 금융 변동성 예측에 VAE 적용, 사기 손실률이 20% 감소했습니다.
- 은행에서 거래 패턴을 VAE로 압축, 이상 거래를 KL divergence로 감지.
반응형
'AI Study > 머신러닝(ML)' 카테고리의 다른 글
| 머신러닝의 기초: 디퓨전 모델(Diffusion models) (0) | 2025.12.05 |
|---|---|
| 머신러닝의 기초: 확률적 과정(Stochastic Process) (2) | 2025.12.04 |
| VAE 참고자료 - "잠재 공간을 확률 분포로 모델링한다" (2) | 2025.12.02 |
| 머신러닝의 기초: 생성 학습(Generative Learning) (2) | 2025.12.01 |
| 머신러닝의 기초: 대비 학습(Contrastive Learning) (1) | 2025.11.27 |