부스트캠프 AI Tech 1기 [T1209 최보미]/U stage

Day15 학습정리 - Generative Model

B1001101 2021. 2. 5. 23:14

강의 복습

1. Generative Models 1

더보기

1) Introduction

"What I cannot create, I do not understand." - 리처드 파인만
  • Generative model: 이미지들이 주어졌을 때 다음을 만족하는 확률분포 p(x)를 찾는 것
    • Generation: p(x)를 따르는 새로운 샘플을 뽑았을 때 원래 이미지과 비슷해야 함 (sampling)
    • Density estimation: p(x)는 원래 이미지와 비슷하면 높고 아니면 낮아야 함 (anomaly detection) → explicit model
    • Unsupervised representation learning: 주어진 이미지들의 공통점을 찾을 수 있어야 함 (feature learning)
  • 그럼 p(x)를 어떻게 찾을까?
    • 베르누이 분포: 숫자 1개 필요 ex) 동전던지기
      카테고리 분포: 숫자 n개 필요 ex) 주사위던지기
  • n개의 픽셀을 갖는 바이너리 이미지
    모두 독립이라고 가정 → 경우의 수: 2n개, 필요한 파라미터 수: n개
  • Conditional independence 가정 → 파라미터 수: 2n-1 (원래와 같음)
  • Markov assumption → 파라미터 수: 2n-1

2) Auto-regressive Model

  • Chain Rule 사용
  • 순서(ordering) 중요
  • NADE(Neural Autoregressive Density Estimator)
    • 확률(density) 계산 가능 → explicit model
    • 마지막 레이어에 Gaussian mixture model 사용하여 continuous output 얻을 수 있음
  • Pixel RNN
    • RNN 사용
    • ordering 방법: Row LSTM / Diagonal BiLSTM
 

Contents

 

deepgenerativemodels.github.io

2. Generative Models 2

더보기

1) Auto-encoder

  • Variational Inference (VI): variational distiribution 최적화
    • posterior distribution 최대
    • KL divergence 최소
  • Variational Auto-encoder
  • ELBO
  • 한계
    • implicit (intractable) model (얼마나 맞는지 알기 어려움)
    • prior fitting term이 미분 가능해야 함 → 대부분의 경우 isotroptic Gaussian 사용
  • Adversarial Auto-encoder
    • GAN을 사용하여 latent distribution 사이의 분포 맞춰줌 -> 다양한 분포 사용 가능
    • prior fitting term을 GAN으로 바꿈

3) Generative Adversarial Networks (GAN)

  • GAN의 원리

위조지폐범이 위조지폐 제조
-> 경찰이 진짜인지 위조인지 감별
-> 위조지폐범이 제조기술 발전시킴
-> 경찰도 위조지폐 감별 기술 발전시킴
(위조지폐범: generator, 경찰: discriminator)

  • Generator vs Discriminator
Generator
Discriminator
  • 여러가지 GAN
    • DCGAN
    • Info-GAN
    • Text2Image
    • Puzzle-GAN
    • CycleGAN
    • Star-GAN
    • Progressive-GAN
 

쉽게 씌어진 GAN | Dreamgonfly's blog

이 글은 마이크로소프트웨어 391호 인공지능의 체크포인트(THE CHECKPOINT OF AI)에 ‘쉽게 쓰이는 GAN’이라는 제목으로 기고된 글입니다. 블로그에는 이 글의 원제이자 윤동주 시인의 ‘쉽게 씌어진

dreamgonfly.github.io

 


피어세션 & 마스터클래스

오늘 피어세션은 어제 과제 코드에 대해 설명하는 식으로 진행되었다. 코드를 봐도 감이 잘 안 잡혔었는데 팀원들의 설명을 들으니까 이해가 잘 되었다. 나도 언젠가는 다른 팀원들에게 설명할 수 있는 수준이 되었으면 좋겠다. 연휴동안 혼자서 다시 분석해보고 스스로 코드를 작성해보는 연습을 해서 완전히 내 걸로 만들어야겠다.

그리고 오늘은 마스터클래스가 있는 날이었다. 사전 질문이 많지 않아서 교수님께서 실시간으로 올라오는 많은 질문들에 빠르게 답변을 해 주셨다. 


코멘트

부스트캠프 3주차가 끝났다. 이번 주 강의 내용이 어렵긴 했지만 들어보기만 했던 개념들을 자세히 배우고 코드도 분석해보니까 드디어 진짜로 딥러닝 공부하는 기분이 들어서 재미있었다. 아직 완전히 이해하지는 못했는데 연휴동안 열심히 복습해서 확실히 익혀야겠다. 연휴가 있어서 정말 다행이다.