2024년 9월 1일
VAE (Variational Auto-Encoder)
1. VAE (Variational Auto-Encoder)의 개념 및 특징
개념 | 특징 |
---|---|
원본 특징을 보존하며 새로운 데이터 생성 위해 Encoder, Decoder, Sample Latent Vector 기반 새로운 데이터를 생성하는 인공지능 모델 | – 원본 데이터 분포 기반 원본 특징을 보존 – 랜덤 노이즈 기반 새로운 데이터 생성 – 확률 모델 기반 잠재 코드 유연한 계산 – 명확한 모델 평가 기준을 제공 |
- VAE는 차원 축소 및 특징 추출 측면에서 Auto-Encoder와 유사하지만, 새로운 데이터를 생성하는 인공지능 모델이므로 기존 Auto-Encoder와 목적이 다름
2. VAE의 매커니즘 및 구성요소
(1) VAE의 매커니즘
- Encoder에서 입력 데이터 축소 후 평균 및 표준편차 추출, 가우시안 노이즈 샘플링하여 연산 후 Decoder를 통해 입력 데이터의 특징을 가진 새로운 데이터를 생성
(2) VAE의 구성요소
구분 | 구성요소 | 역할 |
---|---|---|
모델 구조 | Encoder | – 고차원의 입력 데이터를 Encoder 통해 저차원의 Latent Space 로 압축 (input data 복원 위한 manifold 학습) |
Latent Space | – 축소된 데이터의 평균 및 표준편차 추출, 샘플과 표준편차 곱연산 후 평균과 합연산하여 Decoder로 전달 | |
Decoder | – 압축된 Latent Space 로부터 Input Data 와 같은 크기의 출력값 생성 (training data 생성) | |
잠재 공간 | 정규분포 | – 입력값 x 로 부터 추출된 특징 분포 – feature 의 평균과 분산값을 나타냄 |
Sample(N(0,I)) | – 새로운 데이터 생성 위해 가우시안 노이즈 기반 샘플 | |
Sample Latent Vector | – Encoder의 평균, 표준편차 출력, 가우시안 노이즈 샘플링을 통해 새로운 데이터 생성 (Reparametrization Trick ) | |
학습 방법 | Flatten | – 입력값 행렬을 순서대로 나열 |
MSE | – Mean Square Error, 입력값과 오차값을 측정하기 위한 손실 함수 | |
ADAM | – RMSProp 과 Momentum 두가지를 섞어 쓴 경사하강법 알고리즘 |
- 원본 데이터와 유사한 특징을 가진 새로운 데이터를 생성하는 GAN과 유사하나 생성 과정 및 방법에 차이 존재
3. VAE와 GAN 비교
비교 항목 | VAE | GAN |
---|---|---|
목적 | 차원 축소 기반 원본 특징 복사 | 실제와 유사한 이미지 생성 |
구성요소 | Encoder/Decoder, Sample Latent Vector | Generator/Discriminator, 학습데이터, 잠재변수 |
한계점 | 과적합, 샘플링 제어 불가 | 편향적 이미지만 생성 가능 |
- VAE는 latent space가 임의 샘플링 시 어떤 숫자가 샘플링 될지 제어할 수 없는 문제 해결 위해, Encoder와 Decoder에 생성할 숫자의 조건(one-hot lable) 적용하는 CVAE(Conditional VAE) 사용
[참고]
- 한국저작권위원회, 생성형 인공지능(AI) 산업현황 보고서
- 한땀한땀 딥러닝 컴퓨터 비전 백과사전, VAE(Variational Auto-Encoder)
- Universiteit van Amsterdam, Auto-Encoding Variational Bayes