-
Auto-regressive modelCS 공부/AI 2023. 3. 23. 00:49
생성 모델이란? (Generative Models)
주어진 학습데이터를 학습하여 학습 데이터의 분포를 따르는 유사한 데이터를 생성하는 모델
ex. 강아지 사진이 주어졌다고 하자
- 확률분포 p(x) -> implicit model이라고도 부름
- Generation: 새로운 강아지 사진이 주어졌을 때 강아지 같아야 한다
- Density estimation: 개와 비슷하면 p(x) 값이 높고, 안 비슷하면 낮아야 한다
확률분포 p(x)를 표현하기 위해 알아야할 Discrete Distributions(이산분포)
- Bernoulli distribution (베르누이 분포): 동전 뒤집기와 같음, 경우의 수가 두가지
- ex. RGB 이미지의 픽셀 하나를 modeling하려면 (0~255)
- 한개의 픽셀이 가질 수 있는 색의 수=256*256*256
- 한개의 픽셀을 완벽하게 표현하기 위해 알아야할 parameter의 수= 2563-1
- ex. RGB 이미지의 픽셀 하나를 modeling하려면 (0~255)
표현식: X~Ber(p) - Categorical distribution (카테고리 분포): m개의 면을 가진 주사위 굴리기와 같음
- m-1개의 확률만 알아도 나머지 하나를 알아낼 수 있음
표현식 Y~ Cat(p1,....cm) Independence (독립변수)
- ex. 흑백 이미지 (pixel이 0 또는 1) n개가 있으면
- 한개의 픽셀이 가질 수 있는 색의 수=2n
- 한개의 픽셀을 완벽하게 표현하기 위해 알아야할 parameter의 수=2n -1
- ex. 만약 n개의 흑백 이미지 (pixel이 0 또는 1)가 independent 하다면?
- independent assumption: P(X1,....Xn)=P(X1)P(X2)..P(Xn)
- 한개의 픽셀이 가질 수 있는 색의 수=2n
- 한개의 픽셀을 완벽하게 표현하기 위해 알아야할 parameter의 수=n
따라서 independent assumption은 표현의 개수를 줄여버리기 때문에 유의미한 분포를 모델링할 수 없다!
Conditional Independence (조건부 독립)
- Chain rule (항상 만족): P(X1,....Xn)=P(X1)P(X2|X1)..P(Xn|X1,...,Xn-1)
- parameter 개수=1+2+22+...+2n-1=2n-1
- P(X1): 1개
- P(X2|X1): 2개 (P(X2|X1=0)일때와 P(X2|X1=1)일때)
- P(X3|X1,X2): 4개 (P(X3|X1)=0,1 / P(X3|X2)=0,1)
- Bayes' rule
- Chain rule과 bayes' rule에 따라서 conditional independence(Markov assumption)의 수식은
도출되는 결과 - Markov assumption
- parameter 개수= 1+2(n-1)=2n-1
- Markov assumption를 사용하여 parameter의 개수를 기하급수적으로 줄일 수 있음
- Autoregressive model이 conditional independence를 사용
Autoregressive Model (자기회귀모델)
- 변수의 과거 값의 선형 조합을 이용하여 관심 있는 변수를 예측
- ex. 흑백 이미지 (pixel이 0 또는 1)가 28x28(784)개 있을 때
- 한개의 픽셀이 가질 수 있는 색의 수=2n
- 한개의 픽셀을 완벽하게 표현하기 위해 알아야할 parameter의 수=2n -1
- Chain rule을 사용하여 결합확률분포를 계수화하면
- P(X1:784)=P(X1)P(X2|X1)P(X3|X2)...
- 이것을 Autoregressive model이라고 함: 2차원 or 3차원의 이미지를 한줄로 펴는 과정
NADE: Neural Autoregressive Density Estimator
- autoregressive model을 가장 먼저 활용했던 논문
i번째 픽셀의 확률 분포 - explicit model이다! 단순히 무언가를 생성할 수 있는 것 뿐만 아니라, 새로운 입력의 density 구할 수 있음
- i 번째 픽셀을 1 ~ i-1 번째 픽셀에 의존하게 만듦
- 연속 확률 변수일 때는 마지막 모델에 Gaussian(MoG) 사용
요약
- Autoregressive model은 sampling이 쉽다!, 하지만 i 번째 픽셀이 1 ~ i-1 번째 픽셀에 의존해야해서 느리다
- Autoregressive model은 확률을 계산하기 쉽다! (generation은 오래걸림)
- 다른 모델과 다르게 연속 확률 변수일때로 확장하기 쉽다 (MoG)
'CS 공부 > AI' 카테고리의 다른 글
AlexNet과 VGGNet (feat. CNN) (0) 2023.03.28 Latent variable model (GAN, Diffusion model) (0) 2023.03.24 Multi Head-attention 구조 파악하기 (0) 2023.03.22 Transformer (0) 2023.03.22 torchvision에서 제공하는 transform 함수 (0) 2023.03.16 - 확률분포 p(x) -> implicit model이라고도 부름