Generative modeling
일반적으로 사람들이 많이 봐오던 모델은 분별 모델(discriminative model)로 분류(classification)이나 회귀(regression)등을 위한 모델이 대부분으로 데이터 가 주어졌을 때 실제값 를 예측하는 것이 목적이다. 그에 반해, 생성모델(generative model)은 데이터 자체의 분포 를 추정하는 데에 그 목적이 있다는 차이가 있다. 즉, 생성모델은 학습 데이터가 주어지면 이와 유사한 데이터를 생성하는 모델이라 할 수 있고 이에 따라 생성모델에 있어 중요한 것을 학습 데이터의 분포를 어느 정도 학습할 수 있는 것인 지라고 할 수 있다.

위 분류 트리는 NIPS 2016 Tutorial: Generative Adversarial Networks(Ian Goodfellow, 2016)의 그림 자료 중 하나로 생성모델들을 특징에 따라 각각 분류한 그림이다. 여기서 생성모델을 처음에 Explicit density와 Implicit density로 분류하는데 이는 각각 생성 모델을 통하여 샘플을 뽑을 때 분포를 알고 있는 상태(Explicit)에서 생성할 것인지, 모르고 있는 상태(implicit)에서 생성할 것인지를 구분하는 것을 의미한다. 즉, explicit density는 데이터의 분포()를 추정함에 있어 그 밀도함수(density function)를 정의하고 그것을 추정하는 방법이 있는 경우이며, implicit density는 그러한 방법에 대한 과정 없이 간접적으로 데이터의 분포를 학습하는 방법이라고 할 수 있다.
• Explicit density and Implicit density

다음과 같이 학습 데이터를 이용하여 동일한 분포의 새로운 샘플을 생성할 때, explicit density estimation은 P_model (x)의 확률 밀도함수를 정확(explicitly)하게 식으로 정의될 수 있는 경우 사용하며, implicit density estimation은 정확(explicitly)한 정의 없이 P_model (x)로부터 샘플을 생성하는 것이라고 할 수 있다.
• Tractable density and Approximate density
Explicit density는 Tractable density와 Approximate density로 구분되는데 Tractable density는 데이터 분포의 실제 밀도(density)를 구할 수 있는 경우를 의미하고 Approximate density는 밀도(density)의 형태는 알고 있는 상태에서 이를 이용하여 근사(approximate)하는 경우라고 할 수 있다.
Tractable explicit model
Tractable density는 다루기에 용이함(tractability)을 유지하면서 모델을 설계하는 방법이라고 할 수 있다. 이의 대표적인 예가 Fully Visible Belief Network(FVBN)와 Nonelinear Independent Component analysis (nonlinear ICA)가 있다.
먼저 FVBN모델은 연쇄 법칙(chain rule)을 사용하여 차원의 벡터 의 확률분포를 1차원 확률분포로 분해시켜주는 모델로
$$ p(x)= ∏_{i=1}^n p(x_i |x_1,⋯,x_{i-1}) $$
와 같이 표현할 수 있다. 여기서 $p(x)$는 $x$의 우도(likelihood)를 의미하고 우항은 $i-1$번째 시점까지의 모든 이전의 데이터가 주어졌을 때의 $x_i$의 확률을 의미한다. 즉, 이전 데이터 값들을 통하여 현재의 데이터 값을 결정하는 방식을 통하여 함수를 최대화하는 것이 궁극적인 목표라 할 수 있다. 그러나 이렇게 순서 자체를 학습하는 형태를 가지고 있기 때문에 샘플 요소들을 하나하나 차례로 생성하게 되어 연산속도가 매우 느리며 데이터 값들의 분포가 복잡하여 신경망을 사용하여 표현해야 하는 특징을 가지고 있다.
Nonlinear independent components analysis (nonlinear ICA)는 두 서로 다른 공간 사이의 연속적(continuous)이고 비선형적(nonlinear)인 변환(transformation)을 기반으로 만들어진 개념이다. 만약 잠재변수(latent variable) 가 존재할 때, 연속적이고 미분이 가능(differentiable)하며 역행렬이 존재(invertible)하는 변환(transformation)행렬 가 존재할 때, 는 라는 공간에 샘플을 만들 수 있다.
$$ p_x (x)=p_z (g^{-1} (x))|det (\frac{∂g^{-1} (x)∂}{∂x})| $$
density $p_z$가 수식적으로 정의 가능 (tractable)하고 $g^{-1}$의 자코비안(Jacobian) 행렬식이 tractable한 경우 density $p_x$는 tractable하다고 할 수 있다. 즉, 복잡한(complicated) 방식으로 공간을 왜곡(wrap)하는 변환(transformation)행렬 $g$와 결합된 분포 $z$에 대해서 간단한 분포는 $x$에 대해 복잡한 분포를 생성할 수 있다.