← 이전 글로   다음 글로 →


생성 모델Generative Model이란

확률모델Probabilistic Model의 관점에서 데이터셋을 생성하는 방법이다.

생성 모델링 과정

어떤 데이터를 생성하고자 할 때, 그 데이터의 훈련 데이터가 필요하다.

훈련 데이터Training Data, Data Set란 수많은 특성feature으로 이뤄진 샘플Sample, <관측, Observation>의 집합이다.

특징을 단순히 평균값으로 결정하는 결정적deterministic이 아닌 생성되는 개별 Sample에 영향을 미칠 수 있는 확률적Probabilistic(랜덤한) 요소를 포함해야 한다.

따라서 생성모델을 구현하기 위해선 Training Data Sample의 Probabilistic Feature를 학습하는 훈련 과정을 거치게 된다.

이 훈련된 모델은 학습 데이터의 분포에 가깝게 흉내 내는 데이터를 만든다.

판별 모델Discriminative Model이란

라벨Label을 가진 훈련 데이터를 통해 학습한 모델을 통해 입력 데이터이 어떤 Label인지 판별해준다.

판별 모델링 과정

Training Data의 각 Sample이 Label을 가져야 한다.

여기서 Label이란 Sample을 표현할 수 있는 값이며 예를 들어 Training Data에 2가지 종류의 Sample이 섞여 있을 때, A와 B를 표현 할 수 있는 값이다.

Training Data에 두가지 Sample이 있는 경우, 이진 분류Binary Classification이라 한다.

Training Data에 세개 이상의 Sample이 있는 경우, 다중 분류Multiclass Classification이라 한다.

이런 과정을 지도 학습Supervised Learning이라고 부른다.

생성 모델은 Label이 없는 Training Data에서 수행되기에, 비지도 학습Unsupervised Learning이라고 부른다.

하지만 개별 Class의 Sample을 생성하는 방법을 학습하기 위해 Label을 가진 Training Data에도 적용될 수 있다.

생성 모델링과 판별 모델리의 수학적 차이

판별 모델링

Sample $x$가 주어졌을 때 Label $y$의 확률 $p(y x)$을 추정Estimation한다.

단순히 $x$가 어떤 범주Category $y$에 속할 확률을 추정한다.

생성 모델링

Sample $x$의 관측 확률 $p(x)$를 추정한다.

Label에는 관심 없음


확률적 생성 모델