본문 바로가기
Deep Learning/Others

[MIT] Deep Generative Modeling (Unsupervised learning, Encoder, Decoder, GAN 소개)

by 꿈꾸는 띵땅근 2020. 12. 31.
강의 내용
1. What is the Generative modeling?
2. Usage
3. Latent variable models
4. Autoencoders(Unsupervised Learning Main Idea)
5. Variational autoencoders (VAE)
6. (VAE) reparameterization trick(back propagation)
7. Latent perturbation

 

 

 

1. What is the Generative modeling?

- unsupervised learning의 일종 (data는 제공 o , label은 제공 x)

- Goal : 주어진 Data의 probabilistic distribution model을 찾아내는것. 

 


2. Usage

1) Debiasing

문제 : Face detection을 위해 dataset을 학습시킬 때, 특정 instance에 너무 빠져서 overrepresent 하는 feature 를 찾아낼 수 있음. 

GM을 쓰면 : over represent, under represent feature를 찾아내어 보다, fair 한 underlying feature를 찾을 수 있다. 

 

 

2) Outlier Detection

 

자율주행 자동차를 위해 평상시 장애물이 없는 도로, 상황에 대한 distribution을 찾아놓으면(중요한건, GAN이 꽤 정확한 distribution을 찾는다는 것이다), outlier가 등장했을 때 강건하게 outlier를 알아챌 수 있겠지

 


3. Latent variable models

 

 

1) latent variable?

비유를 하자면......

- 죄수들에게는 그림자observed variables 다.  크기를 잴수 있고, 이름도 붙일 수 있다. 그들에겐 저게 실제다. 

- 뒤에 실제로 그림자의 원인이 되는 물체들이 latent variable이다. 

우리의 목적은, 그림자만 보고 latent variable 찾기. 

 


4. Autoencoders (Unsupervised Learning Main Idea)

(encoding) : raw -> model -> low demensional latence space (z)

z -> reconstructed output(x_hat) (decoding) 

 

이미지는 너무 high demension이다. z로 낮춰야한다. 

but, z를 뽑아내는 방법을 배울 수 있는 학습 데이터가 있는가? no.

그러면 어떻게 뽑아?

사진 맨밑에 Loss function 최소가 되게 한다. (여기에는 그 어떤 label도 없다)


그러면 latent space의 demension은 어떻게 정하나?

dimension 낮게잡으면, reconstruction했을 때 결과가 더 안좋았다. ( 너무 DImension 크면 연산량이 많거나, dimension을 줄이는 의미가 사라지겠지)


5. Variational autoencoders

 

초기 모델은, weight값들이 항상 고정이라, 몇번을 reconstruct 해도 똑같은 이미지를 만들어냈다. 
traditional model이 determinative 했다면, 바뀐건 stochastic(확률적) 으로 바꼈다. 평균과 분산을 갖는 분포에서 sampling한다. (분포가 꼭 가우시안 분포는 아니다...)
Loss function이 바꼈다. 

앞의 term은 앞서 우리가 본 loss function이다. 즉, reconstruction이 잘되게끔 하려면 앞의 term을 작아지는 방향으로 가면 되겠다. 

 

 

 

 

 

 

 

두번쨰 term은 VAE에서 도입한 평균(mu)과 분산(sigma)을 가지는 어떠한 분포를 정확히 추정하기 위한 term이다. 

그 분포를 제대로 알아야지 거기서 sampling한게 의미가 있지. 

| p(z) 에서 p(z)는 이전 틱의 분포.(맨처음엔 가우시안으로 한다)

이 과정을 regularization 이라고 하는데, 이로써 overfitting을 막을 수 있다. 

encoding 과정에서 특정 feature에 너무 집착하여 z를 뽑아낼수도 있지만, 그것을 위의 과정을 통해 방지한다. 

 

p(z)는 이전 틱의 분포.(맨처음엔 정규 가우시안으로 한다)
regularization loss function


6. reparameterization trick

end to end 로 학습시키려면??

이부분 이해 못함. 

 

 


 

 

 

댓글