생성모델이란?
- 고차원 공간에 존재하는 많은 데이터 샘플들로부터 매우 복잡한 확률분포를 학습하고 추정하는 모델을 의미한다.
- 확률분포에 기반하여 각 데이터 샘플의 확률을 계산할 수 있고 새로운 샘플을 만들 수도 있다.
- 관측된 데이터의 분포를 학습하여 새로운 데이터를 생성하거나 학습된 모델(pre-trained)의 Fine Tuning을 통해 강력한 성능을 이끌어 내는데 사용한다.
중요성
- 현재도 매우 빠르게 발전하고 있고 다양한 응용 분야들이 만들어지고 있음
- 최근 주목을 받고 있는 BERT나 GPT-1,2,3 시리즈들을 학습하는 것과 같이 판별모델의 안정성과 성능향상을 위해 사용될 수 있다는 점
좀더 상세히 알아보자.
판별모델이 데이터로부터 클래스 정보로의 함수를 학습하기 위해 데이터 간의 차이를 학습한다.
이에 반하여 생성모델은 데이터에 숨겨진 구조를 이해하고 확률로 모델링하는 것으로 데이터 자체를 학습하여 외부 세계를 더 깊이 이해할 수 있도록 한다.
특징
지도학습 모델은 입력데이터가 X일 때 출력값이 Y일 확률분포 P(Y|X)를 얻기 위해 모델링하는 판별모델(discriminative model)이 대표적이다. 이러한 방식의 모델링에는 선형판별분석(LDA)과 이차판별 분석법(QDA)이 확률적 생성모델을 구성하기 위한 대표적인 방법이다.
반면 생성 모델은 P(Y|X)를 얻기 위해서 Bayes Rule을 적용한다. 즉 P(Y|X) ~ P(X|Y) * P(Y )을 적용한다. 즉 생성모델은 P(Y|X)를 얻기 위해 P(X|Y)와 P(Y )를 사용한다. Bayes Rule을 통해 간접적으로 모델링을 한다.
앞서 이야기한 두 방법 모두 P(Y|X)를 도출함에도 불구하고 후자를 생성모델이라고 부르는 것은 입력 데이터 X에 대한 분포를 학습하여 새로운 데이터를 생성할 수 있기 때문이다.
이러한 특성 때문에 생성 모델은 정답지 Y가 없어도 모든 Y에 대한 정의가 가능하다. 데이터 생성이 목적이라면 P(X )를 모델링하는 것이며 비지도 학습기반 방법이 사용된다.
정답 데이터Y를 사용하지 않는 비지도 학습 기반 생성모델 알고리즘 중 대표적인 것은 가우시안 혼합모델(Gaussian Mixture Model, GMM)이 있다.
댓글 없음:
댓글 쓰기