끄적이는 개발노트
260707_강의 정리 (생성모델 - AE, VAE, GAN) 본문
728x90
deep learning · generative model
AE, VAE, GAN — 생성 모델의 기초
- 지도학습 vs 비지도학습, discriminative vs generative의 근본적 차이
- AE(압축·복원) → VAE(확률적 잠재공간) → GAN(적대적 학습)으로 이어지는 생성모델 발전
- 잠재변수, KL divergence, upsampling 등 생성모델을 이해하기 위한 핵심 개념
1. 지도학습 vs 비지도학습, 그리고 생성모델
"정답이 있는가 없는가" — 학습 방식을 가르는 가장 근본적인 기준
- 지도학습 — 입력-정답(Target) 쌍으로 학습함
- 비지도학습 — 정답 없이 데이터 자체의 구조를 학습함
- 비지도학습의 목적 — clustering(비슷한 데이터끼리 묶기), 차원 축소/특징 추출(핵심 정보만 압축해 후속 작업에 활용)
- PCA — 레이블 없이 데이터의 주요 분산 방향을 찾는 대표적인 비지도학습·차원축소 기법
💡 새 개념
Generative vs Discriminative 생성 vs 판별
- Discriminative — 데이터가 주어졌을 때 클래스를 구분함 (P(y|x))
- Generative — 데이터가 생성되는 과정 자체를 학습해 새 데이터를 만듦 (P(x))
분류기는 경계선을 긋고, 생성모델은 데이터 자체를 빚어낸다
AE, VAE, GAN, RBM은 모두 "데이터를 생성할 수 있는" generative network 계열
2. AE (Autoencoder) — 압축과 복원
입력을 압축했다가 그대로 복원하도록 학습시켜 핵심 특징만 남기기
- input → encode(압축) → hidden(병목) → decode(복원) → output
- hidden layer가 input/output보다 작은 병목 구조라서 데이터의 핵심 정보만 남도록 강제됨
💡 새 개념
잠재변수 latent variable
- 데이터의 본질적 특징을 저차원으로 압축한 표현
빙산에서 보이는 부분은 일부고, 본질은 수면 아래(압축된 잠재공간)에 있음
AE는 복원은 잘하지만, 잠재공간이 불연속적이라 "새로운" 데이터를 생성하는 데는 약함
3. VAE (Variational Autoencoder) — 확률로 압축하기
AE와 달리 입력을 하나의 벡터가 아니라 확률분포로 압축함
- Encoder가 평균(μ)과 표준편차(σ)를 출력함 → 이 분포에서 샘플링: z = μ + εσ
- Decoder는 샘플링된 z를 입력받아 복원(Recon)함
- Loss = ReconLoss(복원 오차) + KL divergence(잠재공간을 표준정규분포 N(0,1)에 가깝게 규제)
💡 새 개념
KL divergence Kullback-Leibler divergence
- 두 확률분포의 차이를 나타내는 척도임 (거리는 아님 — 비대칭: KL(p‖q) ≠ KL(q‖p))
두 분포가 얼마나 다른 모양을 하고 있는지 수치로 나타낸 것
KL(p‖q) = Σ p·log(p) − Σ p·log(q) = −H(p) + H(p,q)
H(p) — 분포 p의 엔트로피
H(p,q) — p와 q 사이의 교차 엔트로피
H(p,q) — p와 q 사이의 교차 엔트로피
잠재공간이 매끄러운 확률분포를 이루기 때문에, 학습 후 임의의 z를 샘플링해서 새로운 데이터를 생성할 수 있음 — AE와의 결정적 차이
4. GAN (Generative Adversarial Network) — 경쟁하며 배우기
생성자와 판별자가 서로 속고 속이며 함께 성장하는 구조
- Noise → Generator → Fake Image 생성
- Real Image + Fake Image → Discriminator → Real/Fake 판별
- Generator는 Discriminator를 속이도록, Discriminator는 진짜/가짜를 더 잘 구분하도록 서로 경쟁(적대적 학습)하며 발전함
example
특징 연산 (Vector Arithmetic)
Man with glasses − Man without glasses + Woman without glasses = Woman with glasses (DCGAN 논문의 대표 실험 결과)
- 잠재공간에서 벡터 연산으로 의미 있는 이미지 변형이 가능함
적대적 학습 덕분에 GAN은 AE/VAE보다 훨씬 더 사실적인 이미지를 생성하는 경향이 있음
5. Upsampling — 작은 걸 다시 키우기
Decoder/Generator가 압축된 표현을 다시 원래 크기로 복원하는 방법 중 하나
- Upsampling에는 max unpooling, transposed convolution, interpolation 등 여러 방법이 있음 (여기서는 max unpooling 예시)
- Max Pooling — 영역 내 최댓값만 남기고 나머지는 버림, 이때 최댓값의 위치를 기억
- Max Unpooling — 기억해둔 위치에만 값을 복원하고 나머지는 0으로 채워 원래 크기로 되돌림
pooling에서 기억해둔 위치 정보를 unpooling 때 그대로 활용해 공간 정보를 최대한 보존
Upsampling 방법 선택에 따라 복원된 이미지의 디테일과 학습 난이도가 달라짐
6. RBM — 초기 생성모델
- RBM(Restricted Boltzmann Machine) — AE 이전에 등장한 초기 생성모델 계열
- 오늘날은 AE/VAE/GAN이 더 널리 쓰이지만, 생성모델 발전 계보의 출발점으로 의미가 있음
정리 — 생성모델의 흐름
AE (단순 압축·복원)
→
VAE (확률적 잠재공간, 생성 능력 획득)
→
GAN (적대적 학습, 사실적 생성)
728x90
'머신러닝' 카테고리의 다른 글
| 260709_강의 정리 (Transformer 구조와 LLM) (0) | 2026.07.09 |
|---|---|
| 260708_강의 정리 (RNN → LSTM → Seq2Seq → NMT → Self-Attention 정리) (0) | 2026.07.08 |
| 260706_강의 정리 (전이학습) (0) | 2026.07.06 |
| 260703_강의 정리 (CNN) (1) | 2026.07.03 |
| 260702_강의 정리 (Optimizer) (0) | 2026.07.02 |