Generative model, Latent variable model(VAE, GAN)
Generative model
target 이미지가 있을 때
-
Generation : target과 비슷한 새로운 sample x를 만듦
-
Density estimation : p(x)에 어떤 이미지를 집어넣었을 때 target과 얼마나 유사한지. 유사할수록 값이 높아짐
- explicit model : 확률값을 얻을 수 있는 모델
-
Basic discrete distributions
- Bernoulli distribution : 1개의 parameter
ex) coin flip
- Categorical distribution : m-1개의 parameters, 나머지 1개는 자동으로 결정. ∑i=1mpi=1
ex) m-sided dice, modeling single pixel of RGB
Structure through independence
Binary image에서 모든 픽셀이 independent하다면 possible state 수는 2n이지만 distribution을 표현하기 위한 parameter 수는 n개.
Conditional independence
Fully Dependent(너무 많은 parameter)와 independent(표현할 수 있는 이미지가 적음)의 중간 모델을 찾아야한다.
- three important rules
- chain rule
- bayes' rule
- conditional independence
if x⊥y∣z, then p(x∣y,z)=p(x∣z)
- Markov assumption
현재 상태를 바로 이전의 상태만을 활용하여 정의
p(x1,…,xn)=p(x1)p(x2∣x1)p(x3∣x2)⋯p(xn∣xn−1)
→ chain rule 적용 후 Markov assumption을 가하면, conditional independence를 활용해서 2n−1개의 parameter가 2n−1개로 감소
Auto-regressive model
conditional independency와 chain rule를 잘 활용한 모델
- 28*28 binary pixel에 대한 확률분포 p(x)의 표현 방법
: joint distribution에 chain rule을 적용
p(x1:784)=p(x1)p(x2∣x1)p(x3∣x2)...
- 이런식으로 순차적으로 정의되는 모델이 auto-regressive model
- 임의의 방법으로 2차원 혹은 3차원의 이미지를 한 줄로 펴는 방법
NADE : Neural Autoregressive Density Estimator
- 주어진 input에 대한 density를 계산할 수 있는 explicit model
- density 계산
- n개의 binary pixel이 주어졌다고 가정
- joint distribution을 chain rule을 통해 conditional distribution으로 표현
-> p(xi∣x1:i−1)각각을 independent하게 계산하여 확률 구함
- continuous random variable일 경우 gaussian mixture 활용
-> continuous한 distribution을 만듦
Latent Variable Models
Variational Autoencoder
autoencoder는 generative model인가
- autoencoder는 input이 단순히 latent space를 거쳐 output으로 나옴
Variational Inference(VI)
- Variational Inference의 목적은 posterior distribution을 찾기 위해 variational distribution으로 근사하여 최적화하는 것
- posterior distribution : 관심있는 random variable의 확률분포
계산하는게 불가능할 때가 많음
- variational distribution : 상대적으로 간단하지만 최적화할 수 있는 분포
Variational Gap을 최소화하는게 목적.
하지만 q of p를 건드릴 수 없기 때문에 ELBO(Evidence Lower Bound)를 최대화함으로써 상대적으로 줄여서 variational distribution을 posterior와 근사
Generative Adversarial Network
- Discriminator와 Generator 두 개의 네트워크
- Discriminator network는 생성된 이미지가 Generator가 학습한건지 원래 데이터인지 구분하는 역할
- Generator는 Discriminator를 속이는 역할
GAN Objective
-
Discriminator
maxDV(G,D)=Ex∼pdata [logD(x)]+Ex∼pG[log(1−D(x))]
discriminator을 최적화시키는 식
- genrator가 fix되어있을 때의 optimal discriminator
: DG∗(x)=pdata (x)+pG(x)pdata (x)
-
Generator
minGV(G,D)=Ex∼pdata [logD(x)]+Ex∼pG[log(1−D(x))]
-
optimal discriminator을 plugging 했을 때 :
→ 2개의 Jenson-Shannon Divergence(JSD)가 나옴(Generator와 Discriminator 사이의 JSD)
Diffusion Models
: noise로부터 이미지를 조금씩 변경시켜가면서 만드는것
- Forward(diffusion) process : 이미지의 noise를 집어넣어 noise화 시키는 것
- reverse process : 이미지 복원 학습
ex) DALL-E2
출처 - 부스트캠프 AI tech 교육자료
[부스트캠프 AI Tech] Week 3 - Day 3