[Week3] Day15 Generative Model

이규호·2021년 2월 5일
0

부스트캠프 U Stage

목록 보기
15/30

📒 Generative Models 1


강의 영상의 길이가 짧았지만, 내용은 방대했다.
영상을 보는데만 거의 세 배의 시간이 걸렸다.
특히 분류 문제의 경우는 그림이 없으면 이해가 잘 안되는 것 같다.
오늘 확률 및 랜덤변수를 복습할 필요성을 크게 느꼈다.

📝 What is GM?


  • Generation
    👉 model을 통해 training data에 있지 않은 data까지 만들어낼 수 있다.
  • Density estimation (explicit model)
    👉 학습한 모델에 이미지가 들어왔을 때, 분류할 수 있다.
    👉 입력이 들어왔을 때 확률값을 얻어낼 수 있다. (anomaly detection)
  • Unsupervised representation learning (feature learning)
    👉 label의 특성을 이용해 학습할 수 있다.

📝 Discrete Distributions


  • Bernoulli distribution
  • Categorical distribution

📝 Independence


N개의 binary pixel을 갖는 이미지가 있다고 가정.

✏️ Fully dependence

  • 파라미터가 많아 학습이 어렵다.

✏️Structure Through Independence

  • 모든 pixel이 의존하지 않는다고 가정한다.
  • 파라미터는 줄어들지만, 표현할 수 있는 이미지가 너무 적어진다.

✏️Conditional Independence

  • 위 두가지의 중간에 있는 이론으로, 3가지의 룰을 갖는다.
  • 체인 룰만 쓰면, 파라미터 수는 똑같다. (바뀐 것이 없다)
  • i + 1번째 픽셀이 i번째 픽셀에만 의존한다고 생각해본다.

📝 Auto-regressive Model


  • 체인룰에 의거해 하나의 정보가 이전 정보들에 dependent한 것이다.
  • 순서를 매기는 것에 따라 성능과 방법론이 다를 수 있다.
  • 이전 몇 개의 정보를 고려했냐에 따라 AR-N 모델이라고 불린다. (N개)

✏️ NADE

  • i번째 픽셀을 첫번째부터 i - 1번째까지 dependent하게 하는 것
  • explicit model으로, 단순 generation 뿐 아니라 입력에 대한 확률을 계산 가능하다.
  • 연속 확률 변수일때는 Gaussian 모델을 활용하면 된다.

✏️ pixel RNN

  • 이미지에 있는 RGB 픽셀들을 만들어내는 것
  • RNN을 통해 generation을 한다.
  • ordering 방법에 따라 두 가지로 나뉜다.

📒 Generative Models 2


8할은 이해가 되지 않는다.
두고두고 보면서 곱씹어보는 작업이 필요할 것 같다.

📝 Variational Auto-encoder


  • Variational inference (VI)

  • 궁극적으로 variational과 posterior을 줄이는 것이 목적이다.
  • ELBO를 높여서 결과적으로 v와 p의 차이를 줄인다.
  • 대부분 isotropic Gaussian을 활용한다.

📝 Generative Adversarial Network


  • D는 더 잘 구분하게 하고, G는 더 잘 속이려고 반복해서 Generator의 성능을 높인다.
  • Discriminator는 하단 식 값의 크기로 분류한다.
  • Generator는 학습한 모델과 discriminator 사이의 JSD를 최소화 한다.

📝 Kinds of GAN


✏️ DCGAN

  • 이미지 도메인을 MLP의 dense layer를 사용했다.

✏️ Info-GAN

  • 학습할 때 이미지만 만드는 것이 아니라 class를 random하게 넣는다.
    👉 특정 모드에 집중할 수 있게 만든다. (one-hot or condition 등)

✏️ Text2Image

  • 문장이 주어졌을 때 이미지를 만들어낸다.

✏️ Puzzle-GAN

  • 이미지 안의 subparts들을 통해 원래 이미지로 복원한다.

✏️ CycleGAN

  • 이미지 사이의 도메인을 바꿀 수 있다.
  • Cycle-consistency loss를 사용했다.

✏️ Star-GAN

  • 이미지를 다양한 모드로 컨트롤 할 수 있다.

✏️ Progressive-GAN

  • 여러 단계의 학습을 통해 고차원의 이미지를 만들 수 있다.
profile
Beginner

0개의 댓글