티스토리 뷰
[Day 15] Generative Models
1. 강의 복습 내용
Generative Models
1. Generative Model
- 학습 데이터의 분포를 학습하는 것

- 학습 데이터의 분포를 어느 정도 안 상태에서 생성 -> Explicit
- 학습 데이터의 분포를 잘 모르지만 그럼에도 생성 -> Implicit
2. Explicit density
학습 데이터의 분포를 어느 정도 파악 -> 확률 계산을 할 수 있다.
1) Tractable density
- 학습 데이터의 분포를 직접적으로 구하는 방법
- Auto-Regressive (AR) Model -> 이전의 하나의 정보가 이전 정보들에 dependent
- AR-1 : 이전 1개를 고려
- AR-N : 이전 N개를 고려

a. NADE (Neural Autoregressive Density Estimator)
- i번째 픽셀을 (1,i-1) 픽셀을 dependent (첫번째 픽셀을 어느것에도 dependent하지 않은 상태로 만들고)
- 입력의 개수가 계속 증가 -> Weight가 바뀜
- continuous output -> a mixture of Gaussian 사용

b. Pixel RNN
- 이미지에 있는 픽셀을 만들어내고 싶다.
- Dense layer (Fully Connected)가 아닌 RNN 사용

- Ordering을 어떻게 하느냐에 따라 2가지의 방식

2) Approximate density
- 학습 데이터의 분포를 단순히 추정하는 방법
a. Variational Auto-encoder
https://ratsgo.github.io/generative%20model/2018/01/27/VAE/

- Posterior distribution : 나의 Observation이 주어졌을 때, 내가 관심있어서하는 Random variable 확률분포
- Variational distribution : 내가 학습할 수 있는, 최적화 시킬 수 있는 어떤 것으로 근사하겠다는 확률분포
- In particular, we want to find the variational distribution that minimizes the KL divergence beetween the true posterior -> KL divergence로 Posterior distribution과 Variational distribution을 줄여보겠다.
-> How?

- How? ELBO↑


- VAE는 GAN에 비해 학습이 안정적이다.
- 손실함수에서 확인할 수 있듯이, reconstruction error와 같은 평가 기준이 명확하기 때문이다.
- 또 데이터뿐 아니라, 데이터에 내재한 잠재변수 z도 함께 학습할 수 있다. (feature learning)
- 그러나 출력이 선명하지 않고 평균값 형태로 표시되는 문제,
- reparameterization trick이 모든 경우에 적용되지 않는 문제 등도 존재
- Decoder -> Prior Fitting Term -> KL 을 사용한다. -> Gaussian이 아닌 경우엔 활용하기 힘들다.
- So?

- VAE의 Prior Fitting Term을 GAN Objective로 활용
- latent distributions을 샘플링만 가능한 어떤 분포만 있어도 맞출 수 있다. -> 복잡한 분포에 적용 가능
3. Implicit density
1) GAN (Generative Adversarial Network)
- 가장 인기를 끌고 있는 적대적 생성모델

- Generator를 학습하는 discriminator가 점차 더 좋아진다는 것이 가장 큰 장점
- discriminator가 좋아지면 Generator도 좋아진다.
2) GAN vs VAE

3) GAN Objective


- discriminator가 optimal하다고 가정하여 도출
2. 피어 세션
1. 강의 내용에 대한 토의
- Generative Models 리뷰
- VAE 에서 ELBO의 값을 최대화 시키는 방법
2. 자유 토론
3. 휴강 기간 중 진행할 팀 실습 계획
3. Conclusion
다음 주는 설날을 맞이하여 1주일간 휴강이다.
이 기간 동안, 그동안 배운 학습내용들을 복습하고 부족한 부분을 충분히 채우라고 주는 시간인 것 같다.
방심하지않고 성실하게 실습과 복습을 계속 해 나갈 예정이다.
'부스트캠프 AI Tech > 학습정리' 카테고리의 다른 글
[Day 17] NLP (자연어 처리) - 2 (0) | 2021.02.16 |
---|---|
[Day 16] NLP (자연어 처리) - 1 (0) | 2021.02.15 |
[Day 14] RNN (0) | 2021.02.04 |
[Day 13] CNN (0) | 2021.02.03 |
[Day 12] 최적화 (0) | 2021.02.02 |
- Total
- Today
- Yesterday
- 공공데이터
- 백트래킹
- DeepLearning
- NLP 구현
- DACON
- 알고리즘
- pandas
- 동적계획법
- 그리디
- 데이터연습
- 프로그래머스
- 데이터핸들링
- Unet 구현
- 이분탐색
- python
- ResNet
- C++
- 다이나믹프로그래밍
- 부스트캠프 AI Tech
- 코딩테스트
- dfs
- Unet
- 백준
- cnn
- Data Handling
- P-Stage
- Vision AI 경진대회
- 네트워킹데이
- AI 프로젝트
- 브루트포스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |