본문으로 이동

생성 모델

위키백과, 우리 모두의 백과사전.

생성 모델(Generative model)은 통계적 분류에 자주 사용되는 계산 모델의 한 종류이다. 기계 학습에서 이는 일반적으로 입력과 출력의 결합분포인 P(X,Y)를 모델링하거나, 각 클래스 내에서 입력이 어떻게 분포하는지를 클래스 사전 확률 P(Y)와 함께 P(X∣Y)로 모델링한다. 생성 모델은 전체적인 데이터 생성 과정을 설명하기 때문에 관찰된 데이터와 유사한 새로운 표본을 추출하는 데 사용될 수 있으며, 이러한 과정을 흔히 재현 데이터 생성이라고 한다.[1][2][3][4] 생성 모델은 밀도 추정, 시뮬레이션, 그리고 결측치나 부분적으로만 레이블이 지정된 데이터에서의 학습에 사용된다. 분류에서는 P(X∣Y)와 P(Y)를 결합하고 베이즈 정리를 적용하여 레이블을 예측할 수 있다. 생성 모델은 종종 입력에서 출력으로 직접 예측하는 데 초점을 맞추는 판별 모델과 대조된다.

결합 확률 분포를 사용하는 생성 모델 접근 방식에는 나이브 베이즈 분류, 가우시안 혼합 모델, 변이형 오토인코더, 생성적 적대 신경망 등이 있다.

정의

[편집]

통계적 분류에서 두 가지 주요 접근 방식은 생성적 접근 방식과 판별적 접근 방식이라 불린다. 이들은 통계 모델링의 정도에 따라 서로 다른 방식으로 분류기를 계산한다. 용어 사용이 일관적이지는 않지만[a] 세 가지 주요 유형으로 구분할 수 있다.[5]

  1. 생성 모델은 주어진 관측 변수 X와 목표 변수 Y에 대한 결합분포 통계 모델이다.[6] 생성 모델은 관측값 x의 무작위 사례(결과)를 "생성"하는 데 사용할 수 있다.[7]
  2. 판별 모델은 관측값 x가 주어졌을 때 목표 변수 Y의 조건부 확률 를 나타내는 모델이다. 이는 관측값 x가 주어졌을 때 목표 변수 Y의 값을 "판별"하는 데 사용할 수 있다.[8]
  3. 확률 모델을 사용하지 않고 계산된 분류기도 느슨하게 "판별적"이라고 부른다.

이 마지막 두 부류 사이의 구분은 일관되지 않다.[9] Jebara (2004)는 이 세 가지 부류를 생성 학습, 조건부 학습, 판별 학습이라고 부르지만, Ng & Jordan (2002)는 생성 분류기(결합분포)와 판별 분류기(조건부 분포 또는 분포 없음)라는 두 가지 부류로만 구분하며 후자의 두 가지를 구분하지 않는다.[10] 이와 유사하게, 생성 모델에 기반한 분류기를 생성 분류기라 하며, 판별 모델에 기반한 분류기를 판별 분류기라고 하지만, 이 용어는 모델에 기반하지 않은 분류기를 지칭하기도 한다.

분류 적용 시, 관측값 x에서 레이블 y로(또는 레이블에 대한 확률 분포로) 가고자 한다. 확률 분포를 사용하지 않고 직접 계산하거나(분포 자유 분류기), 관측값이 주어졌을 때 레이블의 확률인 를 추정하여(판별 모델) 분류의 기초로 삼거나, 결합분포 를 추정하여(생성 모델) 조건부 확률 를 계산하고 분류의 기초로 삼을 수 있다. 이는 점점 더 간접적이지만 점점 더 확률론적이 되어, 더 많은 도메인 지식과 확률 이론을 적용할 수 있게 한다. 실제로는 특정 문제에 따라 다양한 접근 방식이 사용되며, 하이브리드 모델은 여러 접근 방식의 장점을 결합할 수 있다.

대안적인 구분은 이를 대칭적으로 다음과 같이 정의한다.

  • 생성 모델은 목표 y가 주어졌을 때 관측값 X의 조건부 확률에 대한 모델로, 기호로는 이다.[7]
  • 판별 모델은 관측값 x가 주어졌을 때 목표 Y의 조건부 확률에 대한 모델로, 기호로는 이다.[8]

정확한 정의와 관계없이, 생성 모델은 관측값과 목표 또는 목표 값 y가 주어졌을 때 관측값 x의 무작위 사례(결과)를 "생성"하는 데 사용할 수 있기 때문에 이 용어는 헌법적이다.[7] 반면 판별 모델이나 판별 분류기(모델 없는 경우)는 관측값 x가 주어졌을 때 목표 변수 Y의 값을 "판별"하는 데 사용된다.[8] "판별"(구분)과 "분류"의 차이는 미묘하며, 이들은 일관되게 구분되지 않는다. ("판별"이 "분류"와 동등할 때 "판별 분류기"라는 용어는 군더더기가 된다.)

"생성 모델"이라는 용어는 잠재적인 입력 변수 표본에 대한 확률 분포와 명확한 관계가 없는 방식으로 출력 변수의 사례를 생성하는 모델을 설명하는 데에도 사용된다. 생성적 적대 신경망은 이러한 종류의 생성 모델의 예이며, 주로 특정 출력물이 잠재적 입력과 얼마나 유사한지에 따라 판단된다. 이러한 모델은 분류기가 아니다.

모델 간의 관계

[편집]

분류 적용에서 관측값 X는 흔히 연속 변수이고, 목표 Y는 일반적으로 유한한 레이블 집합으로 구성된 이산 변수이며, 조건부 확률 는 X를 입력으로, Y를 출력으로 간주할 때 (비결정론적) 목표 함수 로 해석될 수도 있다.

유한한 레이블 집합이 주어지면, "생성 모델"의 두 가지 정의는 밀접하게 관련되어 있다. 조건부 분포 의 모델은 각 레이블의 분포에 대한 모델이며, 결합분포의 모델은 레이블 값 의 분포와 레이블이 주어졌을 때 관측값의 분포 의 모델과 동등하다. 기호로는 이다. 따라서 결합 확률 분포의 모델이 레이블 분포의 모델보다 더 많은 정보를 제공하지만(상대적 빈도 없이), 이는 비교적 작은 단계이므로 항상 구별되지는 않는다.

결합분포 의 모델이 주어지면, 개별 변수의 분포는 주변 분포 로 계산할 수 있으며(X는 연속형으로 간주하여 적분하고, Y는 이산형으로 간주하여 합산함), 두 조건부 분포 중 하나는 조건부 확률의 정의에 따라 계산할 수 있다: .

한 조건부 확률의 모델과 변수 X 및 Y에 대한 추정된 확률 분포(로 표시)가 주어지면, 베이즈 정리를 사용하여 반대쪽 조건부 확률을 추정할 수 있다.

예를 들어, 에 대한 생성 모델이 주어지면 다음을 추정할 수 있다.

그리고 에 대한 판별 모델이 주어지면 다음을 추정할 수 있다.

베이즈 정리(한 조건부 확률을 다른 것으로 계산)와 조건부 확률의 정의(결합분포를 통해 조건부 확률 계산) 역시 자주 혼용된다는 점에 유의하라.

판별 분류기와의 대조

[편집]

생성 알고리즘은 신호를 분류하기 위해 데이터가 어떻게 생성되었는지 모델링한다. 이 알고리즘은 "나의 생성 가정에 근거할 때, 어떤 범주가 이 신호를 생성할 가능성이 가장 높은가?"라는 질문을 던진다. 판별 알고리즘은 데이터가 어떻게 생성되었는지에는 관심이 없으며, 단순히 주어진 신호를 분류한다. 따라서 판별 알고리즘은 데이터로부터 를 직접 학습하여 데이터를 분류하려고 한다. 반면 생성 알고리즘은 를 학습하여 나중에 이를 로 변환하여 데이터를 분류하려고 한다. 생성 알고리즘의 장점 중 하나는 를 사용하여 기존 데이터와 유사한 새로운 데이터를 생성할 수 있다는 점이다. 반면에, 분류 작업에서 일부 판별 알고리즘이 일부 생성 알고리즘보다 더 나은 성능을 낸다는 사실이 증명되었다.[11]

판별 모델이 관측 변수의 분포를 모델링할 필요가 없다는 사실에도 불구하고, 일반적으로 관측 변수와 목표 변수 사이의 복잡한 관계를 표현할 수는 없다. 그러나 일반적으로 이 모델들이 분류회귀 분석 작업에서 생성 모델보다 반드시 더 나은 성능을 내는 것은 아니다. 두 부류는 상호 보완적이거나 동일한 절차에 대한 서로 다른 관점으로 간주된다.[12]

응용

[편집]
  • 표본 추출 / 시뮬레이션
  • 분류
  • 밀도 추정 및 가능도
  • 결측자료 및 보완
  • 이상치 탐지
  • 준지도 학습

예시

[편집]

간단한 예시

[편집]

입력 데이터가 이고, 에 대한 레이블 집합이 이며, 다음과 같은 4개의 데이터 포인트가 있다고 가정하자.

위 데이터에 대해 경험적 누적 분포 함수로부터 결합 확률 분포 를 추정하면 다음과 같다.

반면 는 다음과 같다.

텍스트 생성

[편집]

Shannon (1948)은 영어 단어 쌍의 빈도 표를 사용하여 "representing and speedily is an good"으로 시작하는 문장을 생성하는 예를 제시한다. 이는 올바른 영어는 아니지만, 표가 단어 쌍에서 단어 세 개 등으로 이동함에 따라 점점 더 영어에 근접하게 될 것이다.

계열 및 유형

[편집]

생성 모델

[편집]

생성 모델의 유형은 다음과 같다.

관측된 데이터가 실제로 생성 모델로부터 표본 추출된 것이라면, 데이터 가능도를 최대화하도록 생성 모델의 매개변수를 피팅하는 것이 일반적인 방법이다. 그러나 대부분의 통계 모델은 실제 분포에 대한 근사치일 뿐이므로, 모델의 적용 목적이 다른 변수의 알려진 값을 조건으로 하여 변수의 일부에 대해 추론하는 것이라면, 근사치가 문제 해결에 필요한 것보다 더 많은 가정을 만든다고 주장할 수 있다. 그러한 경우, 애플리케이션별 세부 사항이 최종적으로 특정 사례에 가장 적합한 접근 방식을 결정하겠지만, 판별 모델(아래 참조)을 사용하여 조건부 밀도 함수를 직접 모델링하는 것이 더 정확할 수 있다.

심층 생성 모델

[편집]

딥 러닝의 부상과 함께 생성 모델과 심층 신경망의 결합을 통해 심층 생성 모델(DGM)이라는 새로운 방법 계열이 형성되었다.[13][14] 신경망 규모의 증가는 일반적으로 학습 데이터 규모의 증가를 동반하며, 두 가지 모두 우수한 성능을 위해 필요하다.[15]

대중적인 DGM으로는 변이형 오토인코더(VAE), 생성적 적대 신경망(GAN), 자기회귀 모델이 있다. 최근에는 매우 큰 심층 생성 모델을 구축하는 추세가 있다.[13] 예를 들어, GPT-3와 그 전신인 GPT-2[16]는 수십억 개의 매개변수를 포함하는 자기회귀 신경 언어 모델이며, 이미지 생성에 사용되는 BigGAN[17]과 VQ-VAE[18]는 수억 개의 매개변수를 가질 수 있고, Jukebox는 수십억 개의 매개변수를 포함하는 음악 오디오용 대형 생성 모델이다.[19]

같이 보기

[편집]

각주

[편집]
  1. Goodfellow, Ian; Bengio, Yoshua (2016). Deep learning. Adaptive computation and machine learning. Cambridge, Massachusetts: The MIT Press. ISBN 978-0-262-03561-3.
  2. What is Synthetic Data Generation?. K2view. 2026년 3월 19일에 확인함.
  3. Murphy, Kevin P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press. ISBN 978-0262018029.
  4. Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. Springer. ISBN 978-0387310732.
  5. Jebara, Tony (2004). Machine Learning: Discriminative and Generative. The Springer International Series in Engineering and Computer Science. Kluwer Academic (Springer). ISBN 978-1-4020-7647-3.
  6. Ng & Jordan (2002): "Generative classifiers learn a model of the joint probability, , of the inputs x and the label y, and make their predictions by using Bayes rules to calculate , and then picking the most likely label y.
  7. 1 2 3 Mitchell 2015: "We can use Bayes rule as the basis for designing learning algorithms (function approximators), as follows: Given that we wish to learn some target function , or equivalently, , we use the training data to learn estimates of and . New X examples can then be classified using these estimated probability distributions, plus Bayes rule. This type of classifier is called a generative classifier, because we can view the distribution as describing how to generate random instances X conditioned on the target attribute Y.
  8. 1 2 3 Mitchell 2015: "Logistic Regression is a function approximation algorithm that uses training data to directly estimate , in contrast to Naive Bayes. In this sense, Logistic Regression is often referred to as a discriminative classifier because we can view the distribution as directly discriminating the value of the target value Y for any given instance X
  9. Jebara 2004, 2.4 Discriminative Learning: "This distinction between conditional learning and discriminative learning is not currently a well-established convention in the field."
  10. Ng & Jordan 2002: "Discriminative classifiers model the posterior directly, or learn a direct map from inputs x to the class labels."
  11. Ng & Jordan 2002
  12. Bishop, C. M.; Lasserre, J. (2007년 9월 24일), Generative or Discriminative? getting the best of both worlds, Bernardo, J. M. (편집), Bayesian statistics 8: proceedings of the eighth Valencia International Meeting, June 2-6, 2006, Oxford University Press, 3–23쪽, ISBN 978-0-19-921465-5
  13. 1 2 Scaling up—researchers advance large-scale deep generative models. 마이크로소프트. 2020년 4월 9일.
  14. Generative Models. OpenAI. 2016년 6월 16일.
  15. Kaplan, Jared; McCandlish, Sam; Henighan, Tom; Brown, Tom B.; Chess, Benjamin; Child, Rewon; Gray, Scott; Radford, Alec; Wu, Jeffrey; Amodei, Dario (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361 [stat.ML].
  16. Better Language Models and Their Implications. OpenAI. 2019년 2월 14일.
  17. Brock, Andrew; Donahue, Jeff; Simonyan, Karen (2018). Large Scale GAN Training for High Fidelity Natural Image Synthesis. arXiv:1809.11096 [cs.LG].
  18. Razavi, Ali; van den Oord, Aaron; Vinyals, Oriol (2019). Generating Diverse High-Fidelity Images with VQ-VAE-2. arXiv:1906.00446 [cs.LG].
  19. Jukebox. OpenAI. 2020년 4월 30일.
내용주
  1. 세 가지 주요 출처인 Ng & Jordan 2002, Jebara 2004, Mitchell 2015는 서로 다른 구분과 정의를 제시한다.