목차
생성모델
Generative Model
- 생성 모델 은 새로운 데이터 인스턴스를 만들어냅니다.
- 판별 모델(Discriminative models) 은 다른 종류의 데이터 인스턴스를 분류합니다.
예를 들어 사진 속에서 고양이를 찾는 것은 판별 모델, 실제 고양이를 그리는 것은 생성 모델입니다.
수학적으로 표현해봅시다🧮. 주어진 데이터 집합 X와 라벨(레이블) 집합 Y가 있습니다.
- 생성 모델 은 결합 분포
p(X,Y)를 학습하거나, 라벨이 없으면p(X)분포만 학습합니다. - 판별 모델 은 X일때 Y일 확률, 즉 조건부 확률
p(Y|X)를 학습합니다.
![]()
생성모델은 X에서 Y가 생성되게 학습해야 합니다. 즉,
X=Y=X∩Y,(X∩Y)ᶜ=∅이 되어야 합니다.
판별 모델은 X가 Y에 포힘되도록 학습해야 합니다. 즉,X∩Yᶜ=∅이 되어야 합니다.
눈치가 빠른 사람은 생성 모델이 판별 모델보다 어렵다는 것을 발견했을 겁니다.
예를 들어 고양이를 찾는다면 주변과 구분되는 특징(꼬리...) 하나 이상만 찾으면 됩니다. 하지만 고양이 그림을 그리려면, 고양이의 모든 특징(꼬리, 귀, 눈, 털...)을 정확히 알아야 합니다.
![]()
생성 모델은 집합 X와 집합 Y를 최대한 일치시키는 방법을 찾아야 합니다.
반면에 판별 모델은 집합 Y에 속한 X만 찾으면 됩니다.
(X를 학습해야 하는 정보, Y를 고양이의 특징이라고 생각해 봅시다)
생성 모델의 종류로는 VAE, GAN, HMM, Bayesian 등이 있습니다. 판별 모델의 종류로는 k-NN, 로지스틱 회귀, SVM, 결정트리 등이 있습니다. 이 글에서 함께 생성 모델인 VAE를 살펴봅시다.🤗
배경지식
VAE를 살펴보기 전엔 확률분포, 베이즈 정리, 쿨백-라이블러 발산 배경지식이 필요합니다. 전부 아신다고요? 다음 장 으로 넘어가세요🎉
저는 개념이 지겨워서 역순으로 코드 먼저 볼 때가 많습니다
확률분포
probability distribution
확률 분포는 확률변수(x)가 특정한 값을 가질 확률을 나타내는 함수(f(x))입니다. 확률 분포는 이산확률분포(Discrete Probability Distribution) 와 연속확률분포(Continuous Probability Distribution) 로 나뉘는데요, 이산확률분포는 확률변수가 가질 수 있는 값이 가산집합인 확률분포를 말합니다. 반면에, 연속확률분포는 확률변수가 연속적이고 확률밀도함수로 표현할 수 있는 분포를 말합니다.
통계학을 들으신 분이라면 이항분포의 특수한 형태인 푸아송 분포 와 대표적인 연속확률분포인 정규분포가 어렴풋이 기억날겁니다.
정규분포(Gaussian distribution)와 연속확률분포를 조금 더 자세히 볼까요?
연속 확률 변수의 확률밀도함수(f(x))는 다음 두 조건을 만족합니다.
- 모든 실수 x에 대해 f(x)≥0
- $\int_{\infty}^{-\infty}f(x)dx=1$
정규분포 또한 연속확률분포로 확률밀도함수의 특징을 갖습니다.
정규분포는 평균(μ, mu)과 표준편차(σ, sigma)로 분포를 표기합니다.
- $N(\mu, \sigma^2)$
평균이 0이고 표준편차가 1인 정규분포 N(0,1)을 표준정규분포라 합니다. 정규분포는 정규화를 통해 표준정규분포를 얻을 수 있습 니다.
- $Z=\frac{X-\mu}{\sigma}$
각 사건이 벌어졌을 때의 이득과 확률을 곱한 값의 합을 기댓값이라고 하는데요, 연속확률변수에서 기댓값은 다음과 같습니다.
- $E[X] = \int_{\infty}^{-\infty}xf(x)dx$
정규분포에서 기댓값을 계산해 보면 모평균과 같습니다.
- $E[X]=μ$
베이즈 정리
Bayes' theorem
베이즈 정리는 두 확률변수의 사전확률과 사후확률 사이의 관계를 나타냅니다.
A,B는 가측집합이고 P(B)>0일 때,
- $P(A\mid B)=\frac{P(A)*P(B\mid A)}{P(B)}$
조건부 확률을 통해 쉽게 증명할 수 있습니다.
$P(A\mid B)=\frac{P(A \bigcap B)}{P(B)}$
P(B)>0임을 가정했으므로
$P(A\mid B)P(B)=P(A \bigcap B)=P(B \bigcap A)=P(B\mid A)P(A)$
첫 식에 $P(A \bigcap B)=P(B\mid A)P(A)$ 를 이용하면
$P(A\mid B)=\frac{P(A)\cdot P(B\mid A)}{P(B)}$
TMI
부가적으로, 사건 A와 사건 B가 독립일 때 조건부 확률
$P(A\mid B)=P(A)$
이므로
$P(A)P(B)=P(A \bigcap B)$
임을 알 수 있습니다.
