본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Generative model; 생성 모델
데이터가 만들어지는 확률 분포를 학습해, 그 분포를 평가하거나 그 분포에서 새로운 표본을 뽑을 수 있는 모델

생성 모델(generative model)은 관측 데이터 x가 어떤 확률 분포 p(x)(레이블이 있으면 결합 분포 p(x,y))에서 나왔다고 보고 그 분포를 학습하는 모델이다. 분포를 알면 새 데이터가 얼마나 그럴듯한지 계산할 수 있고, 분포에서 표본을 뽑아 학습 데이터에 없던 새로운 데이터를 만들 수 있다. 이에 대비되는 판별 모델(discriminative model)은 입력이 주어졌을 때 레이블의 조건부 확률 p(y∣x)나 결정 경계만 학습한다.

이 문서는 기술 개념으로서의 생성 모델을 다룬다. 생성 모델을 이용해 글, 그림, 음성, 영상을 만드는 서비스와 산업, 사회적 쟁점은 생성형 인공지능 문서에서 다룬다. 나이브 베이즈나 은닉 마르코프 모델 같은 고전적 통계 모델도 생성 모델이며, ChatGPT와 스테이블 디퓨전 같은 오늘날의 생성형 인공지능은 그 가운데 신경망을 쓴 심층 생성 모델(deep generative model)에 속한다.

생성 모델과 판별 모델

편집 원본 편집
구분 생성 모델 판별 모델
학습 대상 p(x) 또는 p(x,y)=p(x∣y)p(y) p(y∣x) 또는 결정 경계
분류 방법 베이즈 정리에 따라 p(y∣x)∝p(x∣y)p(y)로 사후 확률을 계산 직접 출력
할 수 있는 일 새 데이터 생성, 이상 탐지, 결측치 보완, 분류 분류, 회귀
레이블 없어도 학습 가능(p(x)) 필요
고전적 예 나이브 베이즈, 가우스 혼합 모델, 은닉 마르코프 모델, 베이지안 네트워크, LDA 로지스틱 회귀, 서포트 벡터 머신, 조건부 무작위장(CRF), 신경망 분류기
심층 학습 예 변분 오토인코더, GAN, 확산 모델, 자기회귀 언어 모델 합성곱 신경망 분류기, BERT 기반 분류기

생성 모델은 판별에 필요 없는 입력 분포까지 모델링해야 하므로 더 어려운 문제를 푼다. 앤드루 응과 마이클 조던의 2001년 비교 연구에 따르면, 같은 모형 계열에서 생성 모델(나이브 베이즈)은 적은 데이터로 빨리 수렴하고 판별 모델(로지스틱 회귀)은 데이터가 많을 때 더 낮은 오차에 도달한다.[1]

오늘날 '생성'은 넓게 쓰여서, 언어 모델처럼 엄밀히는 조건부 분포 p(다음 토큰∣앞 문맥)을 학습하는 모델도 생성 모델이라 부른다. 문장 전체의 분포를 조건부 확률의 곱으로 분해해 표현하기 때문이다.

심층 생성 모델의 계열

편집 원본 편집

고차원 데이터(이미지 한 장은 수십만 차원이다)의 분포를 직접 표현하기는 어렵다. 계열마다 이 문제를 다르게 우회한다.

계열 핵심 아이디어 우도 계산 생성 속도 장점 단점 대표 모델 문서
자기회귀 모델 연쇄 법칙으로 분포를 조건부 확률의 곱으로 분해해 한 요소씩 생성 정확 느림(순차 생성) 학습이 안정적, 우도가 정확 길이만큼 순차 계산이 필요 PixelRNN, WaveNet, GPT 계열 자기 회귀 모델, 자기회귀 언어 모델
변분 오토인코더(VAE) 잠재 변수 모델을 인코더(근사 사후 분포)와 디코더로 학습 하한(ELBO) 빠름(한 번) 안정적, 의미 있는 잠재 공간 결과가 흐릿해지기 쉬움 VAE, VQ-VAE 변분 오토인코더
생성적 적대 신경망(GAN) 생성자와 판별자의 미니맥스 게임 불가(암묵적) 빠름(한 번) 선명한 표본 학습 불안정, 모드 붕괴 DCGAN, StyleGAN GAN
정규화 흐름 가역 변환을 쌓아 단순한 분포를 데이터 분포로 바꿈 정확 빠름 정확한 우도와 가역성 구조 제약(가역, 같은 차원)으로 표현력 제한 NICE, RealNVP, Glow 이 문서
확산 모델 잡음을 더하는 과정을 거꾸로 학습해 잡음에서 데이터를 복원 하한 느림(수십~수천 단계), 개선 중 품질과 다양성이 높고 학습이 안정적 반복 계산 비용 DDPM, 스테이블 디퓨전, DiT 확산 모델
에너지 기반 모델 비정규화 밀도 p(x)∝e−E(x)를 학습 정규화 상수 때문에 어려움 느림(MCMC) 형태가 자유로움 학습과 표본 추출이 어려움 볼츠만 머신, 제한된 볼츠만 머신 에너지 기반 모델

자기회귀 모델

편집 원본 편집

확률의 연쇄 법칙으로 분포를 정확히 분해한다.

p(x)=∏i=1np(xi∣x1,…,xi−1)

각 조건부 확률을 신경망으로 근사하고 교차 엔트로피(음의 로그 우도)로 학습한다. 이미지의 픽셀을 차례로 예측하는 PixelRNN(2016),[2] 음성 파형을 표본 하나씩 생성하는 WaveNet(2016)[3]이 있고, 트랜스포머 기반의 GPT 계열과 대부분의 대형 언어 모델이 이 방식이다. 생성은 한 토큰씩 순차적으로 이루어져 느리며, 이를 빠르게 하는 KV 캐시, 추측 디코딩 같은 기법이 쓰인다. 다음 토큰을 고르는 방법은 언어 모델 디코딩 문서 참고.

변분 오토인코더

편집 원본 편집

관측되지 않는 잠재 변수 z가 있고 x가 pθ(x∣z)로 생성된다고 본다. 우도 pθ(x)=∫pθ(x∣z)p(z)dz는 직접 계산할 수 없으므로, 인코더 qϕ(z∣x)로 사후 분포를 근사하고 증거 하한(ELBO)을 최대화한다.

log⁡pθ(x)≥𝔼qϕ(z∣x)[log⁡pθ(x∣z)]−DKL(qϕ(z∣x)‖p(z))

첫 항은 복원 품질, 둘째 항은 잠재 분포를 사전 분포에 가깝게 하는 쿨백-라이블러 발산이다. 2013년 킹마와 웰링이 재매개변수화 기법으로 이를 경사 하강법으로 학습하는 방법을 발표했다.[4] 잠재 벡터를 이산 코드북으로 바꾼 VQ-VAE(2017)는 이미지와 음성을 토큰으로 바꿔 자기회귀 모델이나 트랜스포머로 생성하는 길을 열었다.[5] 자세한 내용은 변분 오토인코더, 변분 추론 문서 참고.

생성적 적대 신경망

편집 원본 편집

생성자 G는 잡음 z에서 가짜 데이터를 만들고, 판별자 D는 진짜와 가짜를 구별한다. 두 신경망이 다음 미니맥스 게임을 한다.

minGmaxD𝔼x∼pdata[log⁡D(x)]+𝔼z∼p(z)[log⁡(1−D(G(z)))]

2014년 굿펠로 등이 발표했다.[6] 우도를 명시적으로 계산하지 않는 암묵적 생성 모델이며, 한 번의 순전파로 선명한 이미지를 만든다. 반면 학습이 불안정하고, 생성자가 데이터 분포의 일부 모드만 만들어 내는 모드 붕괴(mode collapse)가 생기기 쉽다. 2018년 StyleGAN은 사실적인 얼굴 이미지로 주목받았다.[7] 2020년대 이후 이미지 생성의 주류는 확산 모델로 넘어갔다. 자세한 내용은 GAN 문서 참고.

가우스 분포 같은 단순한 분포의 변수 z에 가역 함수 f를 적용해 x=f(z)를 만든다. 변수 변환 공식으로 우도를 정확히 계산한다.

log⁡p(x)=log⁡pz(f−1(x))+log⁡|det⁡∂f−1(x)∂x|

야코비 행렬식을 싸게 계산할 수 있도록 변환 구조를 제한한다. NICE(2014),[8] RealNVP(2016),[9] Glow(2018)[10]가 대표적이다. 이후 연속 시간 흐름을 학습하는 흐름 정합(flow matching, 2022)이 나와 확산 모델의 경로를 특수한 경우로 포함하며 대규모 학습을 가능하게 했다.[11]

데이터에 잡음을 조금씩 더해 결국 순수한 잡음으로 만드는 정방향 과정을 정의하고, 신경망이 그 역방향, 곧 잡음을 조금씩 걷어 내는 과정을 학습한다. 생성할 때는 무작위 잡음에서 출발해 학습한 역과정을 여러 번 반복한다. 2015년 비평형 열역학에서 착안한 연구에서 처음 제안되었고,[12] 2020년 DDPM이 각 단계에서 더해진 잡음을 예측하는 단순한 손실로 높은 품질을 보이며 주목받았다.[13] 같은 해 점수 기반 모델과 확산 모델을 확률 미분 방정식으로 통합한 연구가 나왔다.[14]

ℒ=𝔼x0,ϵ,t[‖ϵ−ϵθ(xt,t)‖2],xt=α¯tx0+1−α¯tϵ

픽셀 공간 대신 오토인코더의 잠재 공간에서 확산을 수행하는 잠재 확산 모델(2021)이 계산 비용을 크게 줄였고 스테이블 디퓨전의 기반이 되었다.[15] 잡음 제거 신경망을 U-Net 대신 트랜스포머로 바꾼 DiT(2022)도 나왔다.[16] 자세한 내용은 확산 모델 문서 참고.

에너지 기반 모델

편집 원본 편집

에너지 함수 Eθ(x)를 학습해 pθ(x)=e−Eθ(x)/Zθ로 분포를 정의한다. 그럴듯한 데이터는 에너지가 낮다. 함수 형태가 자유롭지만 정규화 상수 Zθ를 계산할 수 없어서 학습과 표본 추출에 마르코프 연쇄 몬테카를로(MCMC) 같은 근사가 필요하다. 홉필드 망, 볼츠만 머신, 제한된 볼츠만 머신이 이 계열이며, 확산 모델의 점수 함수 ∇xlog⁡p(x)는 에너지의 기울기에 해당한다. 자세한 내용은 에너지 기반 모델, 조건부 에너지 기반 모델 문서 참고.

생성 학습의 삼중고

편집 원본 편집

2021년 샤오 등은 심층 생성 모델이 높은 표본 품질, 모드 포괄(다양성), 빠른 표본 추출의 세 요구를 동시에 만족하기 어렵다는 점을 '생성 학습의 삼중고'(generative learning trilemma)라 불렀다.[17] 대략 GAN은 품질과 속도는 좋지만 다양성이 약하고, VAE와 정규화 흐름은 다양성과 속도는 좋지만 품질이 떨어지며, 확산 모델은 품질과 다양성은 좋지만 느리다. 계열을 섞은 모델(잠재 확산, 확산 GAN, VQ 토큰 + 트랜스포머)이 많은 것도 이 때문이다.

실제 응용에서는 아무 표본이 아니라 조건에 맞는 표본이 필요하다. 조건 c를 받아 p(x∣c)를 학습한다.

  • 조건의 종류: 클래스 레이블, 텍스트 설명(텍스트-이미지), 다른 이미지(이미지 변환, 초해상도), 음성의 화자, 앞부분 문맥(언어 모델의 프롬프트)
  • 텍스트 조건은 보통 사전 학습한 텍스트 인코더(예: CLIP의 텍스트 인코더)의 출력을 교차 어텐션으로 넣는다.
  • 분류기 없는 안내(classifier-free guidance): 조건부 모델과 무조건부 모델의 예측을 섞는 비율로 품질과 다양성을 조절한다. 별도 분류기가 필요 없어 텍스트-이미지 확산 모델의 표준 기법이 되었다.[18]
  • 언어 모델에서는 온도, top-p 같은 디코딩 설정이 비슷한 역할을 한다.

생성 모델의 평가는 판별 모델보다 어렵다. "좋은 표본"의 기준이 품질, 다양성, 조건 충실도로 나뉘고, 우도가 높은 모델이 반드시 보기 좋은 표본을 만드는 것도 아니기 때문이다.

지표 측정 대상 설명
음의 로그 우도, 비트/차원 분포 적합도 시험 데이터에 모델이 주는 확률. 우도를 계산할 수 있는 자기회귀 모델, 정규화 흐름에 쓴다. GAN에는 쓸 수 없다.
퍼플렉시티 언어 모델의 적합도 로그 우도의 지수. 낮을수록 좋다.
인셉션 점수(IS) 품질과 다양성 사전 학습된 이미지 분류기가 각 표본을 확신 있게 분류하고, 전체적으로는 여러 클래스가 고르게 나오는지 본다. 2016년 제안되었다.[19]
프레셰 인셉션 거리(FID) 품질과 다양성 실제 이미지와 생성 이미지의 인셉션 신경망 특징 분포를 각각 정규 분포로 보고 둘 사이의 프레셰 거리를 잰다. 낮을수록 좋다. 2017년 제안되어 이미지 생성의 표준 지표가 되었다.[20]
정밀도와 재현율 품질과 포괄 범위를 따로 생성 표본이 실제 데이터 영역 안에 있는 정도(정밀도)와 실제 데이터 영역을 얼마나 덮는지(재현율)를 나눠 잰다.[21]
CLIP 점수 텍스트 조건 충실도 생성 이미지와 입력 텍스트의 CLIP 임베딩 유사도
사람 평가 전반적 품질, 선호 여러 모델의 결과를 나란히 보여 주고 고르게 한다. 언어 모델의 경우 대결형 선호 평가도 쓴다.

FID와 IS는 ImageNet으로 학습한 분류기의 특징에 의존하므로 다른 분야의 이미지에는 맞지 않을 수 있고, 표본 수와 구현에 따라 값이 달라진다는 한계가 있다. 자세한 내용은 인공지능 평가 문서 참고.

연도 사건
1970~1990년대 가우스 혼합 모델, 은닉 마르코프 모델, 나이브 베이즈 같은 통계적 생성 모델이 음성 인식과 텍스트 분류에 쓰였다. EM 알고리즘(1977)이 잠재 변수 모델 학습의 표준이 되었다.[22]
1980년대 홉필드 망과 볼츠만 머신 같은 에너지 기반 신경망이 연구되었다.
2003 잠재 디리클레 할당(LDA)이 발표되었다.[23]
2006 제한된 볼츠만 머신을 쌓은 심층 신뢰 신경망이 발표되었다.[24]
2013 변분 오토인코더[4]
2014 생성적 적대 신경망,[6] NICE[8]
2015 확산 모델의 원형[12]
2016 PixelRNN,[2] WaveNet,[3] RealNVP[9]
2017 VQ-VAE,[5] FID,[20] 트랜스포머
2018 StyleGAN,[7] Glow,[10] GPT-1
2020 DDPM,[13] 점수 기반 SDE,[14] GPT-3
2021~2022 잠재 확산 모델,[15] 분류기 없는 안내,[18] DiT,[16] 흐름 정합.[11] 텍스트-이미지 생성과 대화형 언어 모델이 대중화되었다. → 생성형 인공지능
  • 기억과 저작권: 생성 모델이 학습 데이터를 거의 그대로 재현하는 경우가 있어 저작권과 개인정보 문제가 된다.
  • 악용: 사람의 얼굴과 목소리를 합성한 딥페이크가 사기와 허위 정보에 쓰인다. 생성물에 표시를 남기는 AI 워터마크가 연구된다.
  • 사실성: 언어 모델은 그럴듯한 거짓을 생성한다. 자세한 내용은 할루시네이션 (인공지능) 문서 참고.
  • 편향: 학습 데이터의 편향이 생성물에 반영된다. 자세한 내용은 알고리즘 편향 문서 참고.
  1. ↑ Andrew Y. Ng, Michael I. Jordan, 〈On Discriminative vs. Generative Classifiers: A comparison of logistic regression and naive Bayes〉, NIPS 14, 2001. 논문 페이지
  2. ↑ 2.0 2.1 Aaron van den Oord, Nal Kalchbrenner, Koray Kavukcuoglu, 〈Pixel Recurrent Neural Networks〉, 2016. arXiv:1601.06759
  3. ↑ 3.0 3.1 Aaron van den Oord 외, 〈WaveNet: A Generative Model for Raw Audio〉, 2016. arXiv:1609.03499
  4. ↑ 4.0 4.1 Diederik P. Kingma, Max Welling, 〈Auto-Encoding Variational Bayes〉, 2013. arXiv:1312.6114
  5. ↑ 5.0 5.1 Aaron van den Oord, Oriol Vinyals, Koray Kavukcuoglu, 〈Neural Discrete Representation Learning〉, 2017. arXiv:1711.00937
  6. ↑ 6.0 6.1 Ian J. Goodfellow 외, 〈Generative Adversarial Networks〉, 2014. arXiv:1406.2661
  7. ↑ 7.0 7.1 Tero Karras, Samuli Laine, Timo Aila, 〈A Style-Based Generator Architecture for Generative Adversarial Networks〉, 2018. arXiv:1812.04948
  8. ↑ 8.0 8.1 Laurent Dinh, David Krueger, Yoshua Bengio, 〈NICE: Non-linear Independent Components Estimation〉, 2014. arXiv:1410.8516
  9. ↑ 9.0 9.1 Laurent Dinh, Jascha Sohl-Dickstein, Samy Bengio, 〈Density estimation using Real NVP〉, 2016. arXiv:1605.08803
  10. ↑ 10.0 10.1 Diederik P. Kingma, Prafulla Dhariwal, 〈Glow: Generative Flow with Invertible 1x1 Convolutions〉, 2018. arXiv:1807.03039
  11. ↑ 11.0 11.1 Yaron Lipman 외, 〈Flow Matching for Generative Modeling〉, 2022. arXiv:2210.02747
  12. ↑ 12.0 12.1 Jascha Sohl-Dickstein 외, 〈Deep Unsupervised Learning using Nonequilibrium Thermodynamics〉, 2015. arXiv:1503.03585
  13. ↑ 13.0 13.1 Jonathan Ho, Ajay Jain, Pieter Abbeel, 〈Denoising Diffusion Probabilistic Models〉, 2020. arXiv:2006.11239
  14. ↑ 14.0 14.1 Yang Song 외, 〈Score-Based Generative Modeling through Stochastic Differential Equations〉, 2020. arXiv:2011.13456
  15. ↑ 15.0 15.1 Robin Rombach 외, 〈High-Resolution Image Synthesis with Latent Diffusion Models〉, 2021. arXiv:2112.10752
  16. ↑ 16.0 16.1 William Peebles, Saining Xie, 〈Scalable Diffusion Models with Transformers〉, 2022. arXiv:2212.09748
  17. ↑ Zhisheng Xiao, Karsten Kreis, Arash Vahdat, 〈Tackling the Generative Learning Trilemma with Denoising Diffusion GANs〉, 2021. arXiv:2112.07804
  18. ↑ 18.0 18.1 Jonathan Ho, Tim Salimans, 〈Classifier-Free Diffusion Guidance〉, 2022. arXiv:2207.12598
  19. ↑ Tim Salimans 외, 〈Improved Techniques for Training GANs〉, 2016. arXiv:1606.03498
  20. ↑ 20.0 20.1 Martin Heusel 외, 〈GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium〉, 2017. arXiv:1706.08500
  21. ↑ Tuomas Kynkäänniemi 외, 〈Improved Precision and Recall Metric for Assessing Generative Models〉, 2019. arXiv:1904.06991
  22. ↑ A. P. Dempster, N. M. Laird, D. B. Rubin, 〈Maximum Likelihood from Incomplete Data via the EM Algorithm〉, Journal of the Royal Statistical Society Series B 39(1), 1~22, 1977. doi:10.1111/j.2517-6161.1977.tb01600.x
  23. ↑ David M. Blei, Andrew Y. Ng, Michael I. Jordan, 〈Latent Dirichlet Allocation〉, JMLR 3, 993~1022, 2003. JMLR
  24. ↑ Geoffrey E. Hinton, Simon Osindero, Yee-Whye Teh, 〈A Fast Learning Algorithm for Deep Belief Nets〉, Neural Computation 18(7), 1527~1554, 2006. doi:10.1162/neco.2006.18.7.1527