본문 바로가기
TIL/Boostcamp AI tech

[Boostcamp] Week2-Day10. Generative Models :: seoftware

by seowit 2021. 8. 13.
목차
1. 강의정리
    1-1. DL Basic - chap9. Generative Models 1
    1-2. DL Basic - chap10. Generative Models 2
2. 피어세션 정리
3. 데일리 회고 

📜 강의 정리 

* 부스트캠프 DL_Basic 강의를 맡아주신 최성준 교수님의 강의를 정리한 것 입니다.


[DL Basic] Chapter9. Generative Models 1

질문 : p11. independent 하면 어떻게 n으로 표현이 가능한거지? → 다른 픽셀과의 관계는 생각하지 않아도 되므로 각각의 픽셀을 표현할 n개의 파라미터만 필요하게 된다.

질문 : p13. p(x_1) = 1인 이유와 p가 의미하는 것이 확률이 맞는지 그렇다면 p(x_2|x_1 = 0)이라는 것은 x_1이 정해져있을 때, x_2가 0일 확률을 의미하는 것이지 왜 파라미터가 2개가 필요한건지? P(x_3|x_2, x_1)에서 파라미터가 4개가 필요한 이유는?

질문 : p14. 2n-1이 어떻게 나왔을까? → p(x_1) = 1, 나머지 p(x_n) = 2

 

  • Generative Model은 뭘까?
    • Generation : 강아지 이미지를 생성하는 것(sampling) → "implicit models"
    • Density estimation : 어떤 이미지가 강아지인지 구분하는 것(anomaly detection) → "explicit models"
      • ex) NADE(Neural Autoregressive Density Estimator)는 Explicit model
    • Unsupervised representation learning : 강아지는 눈이 두 개고 꼬리가 있음을 학습(feature learning)
  • probability distribution인 p(x)는 어떻게 표현할 수 있을까?
    • binary 이미지의 각 픽셀을 X_1, X_2, ..., X_n이라고 표현하면, 가능한 상태는 $2 \times 2 \times \cdots \times 2=2^{n}$ 개가 되고, $p\left(x_{1}, \ldots, x_{n}\right)$ 를 표현하기 위한 파라미터의 개수는 ($2^{n}-1$)개가 된다. 그러나 단순히 28×28×1의 단순한 이미지만 생각해봐도 n의 값은 784라는 수로 파라미터 개수가 너무 많다. 파라미터 개수가 많아지면 학습 성능이 떨어지고, generalization이 잘 안 된다.
    • 그렇다면 모든 픽셀들간의 independent 하다고 가정해보자. $p\left(x_{1}, \ldots, x_{n}\right)=p\left(x_{1}\right) p\left(x_{2}\right) \cdots p\left(x_{n}\right)$ 이와 같은 식으로 표현할 수 있고, 가능한 state의 개수는 여전히 $2^{n}$이지만, 그걸 표현하기 위한 파라미터의 수는 n개로 줄어든다. 그러나 이미지 간의 연결된 픽셀 간의 관계를 아예 무시할 수는 없기 때문에 앞의 상태와 독립 상태 간의 중간 단계를 찾아야 한다.
    • Conditional Independence 
      • 세가지 기본 규칙
      • 우선 체인룰을 적용하면, $
        p\left(x_{1}, \ldots, x_{n}\right)=p\left(x_{1}\right) p\left(x_{2} \mid x_{1}\right) p\left(x_{3} \mid x_{1}, x_{2}\right) \cdots p\left(x_{n} \mid x_{1}, \cdots, x_{n-1}\right)
        $ 이와 같은 수식이 나온다.
        • 위의 식에 사용되는 파라미터 개수를 구해보면 $p\left(x_{1}\right)$ 에서 1개, $ p\left(x_{2} \mid x_{1}\right)$ 에서 2개, $p\left(x_{3} \mid x_{1}, x_{2}\right)$에서 4개 이런식으로 2가 계속 곱해져서 $1+2+2^{2}+\cdots+2^{n-1}=2^{n}-1$ 이런 결론이 나온다
        • "$p\left(x_{3} \mid x_{1}, x_{2}\right)$ = parameter 4개"인 이유는 $x_{1}, x_{2}$가 [0,0], [0,1], [1,0], [1,1] 일 때 마다 $x_{3}$를 구할 수 있기 때문이다.
        • 그러나 여전히, 파라미터 개수는 많으므로 새로운 방법을 적용해야 한다.
      • Markov assumption $
        X_{i+1} \perp X_{1}, \ldots, X_{i-1} \mid X_{i}
        $ : 모든 픽셀은 바로 앞의 픽셀에만 의존적이고, 나머지와는 독립이라고 가정하자. 
        • 그렇게 되면 $
          p\left(x_{1}, \ldots, x_{n}\right)=p\left(x_{1}\right) p\left(x_{2} \mid x_{1}\right) p\left(x_{3} \mid x_{2}\right) \cdots p\left(x_{n} \mid x_{n-1}\right)
          $ 식은 이렇게 표현이 되고, 파라미터 개수는 $p\left(x_{1}\right)$ 에서 1개, 나머지에서 2개씩 해서 모두 합하면 2n - 1이 된다.
        • markov assumption을 추가해줌으로써 파라미터 개수를 지수승 절감 할 수 있다.
        • Auto-regressive model은 이 conditional independency의 영향을 받는다. 

 


[DL Basic] Chapter10. Generative Models 2

  • Latent variable Models
    • D.Kingma, "Variational Inference and Deep Learning: A New Synthesis," 논문 추천
    • Is an autoencoder a generative model? NO!
    • Variational auto-encoder는 generative model인데 그 이유는 무엇일까?
    • Variational Auto-encoder

🙋‍♀️피어세션

1. 스페셜 피어세션

다른 조들을 만나서 대화를 나누는 스페셜 피어세션 시간을 가졌다. 저번에는 10분 정도였는데, 오늘은 1시간이었다. 이런 시간이 매주 금요일마다 생긴 것 같다. 다른 조들은 피어세션 시간에 무엇을 하는지 궁금했는데, 그 중 구미가 당기는 것은 면접 준비와 회의록 작성을 실시간으로 한다는 점이었다. 다양한 사람들이 다양한 의도와 마음가짐으로 부스트캠프에 참여하고 있다. 나는 그 중에서도 열심히 열정적으로 공부하는 사람이 되고 싶다는 생각을 했다.

2. 피어세션

지난 일주일 동안의 피어세션 시간을 회고하는 시간을 갖었다. 지난주보다 많이 편해졌고 서로 장난도 치는 모습이 보기 좋았다. 우리 조는 6명 중 MBTI가 5분이 I고 한 분은 검사를 안하셨는데, 다들 친해지려고 노력하는 것도 있고 매일 줌미팅을 하는 것도 있어서 말을 많이 하게 되는 것 같다. 다른 조의 피어세션 현황을 듣고 와서 우리 조가 잘하는 것과 부족한 점을 정리하던 중에 인공지능 관련 인터뷰 준비는 함께 하면 좋을 것 같다는 생각이 들어서 다음주부터 함께 하기로 했다. 

아래 주소는 작년에 머신러닝 관련 학교 수업에서 교수님이 공부하라고 알려주신 사이트인데, 다른 프로그램의 멘토님께서도 아래 사이트를 추천해주셨다. 다음주부터는 팀원들과 아래 사이트를 피어세션 시간에 공부해 보자고 해야겠다.

https://zzsza.github.io/data/2018/02/17/datascience-interivew-questions/

 

데이터 사이언스 인터뷰 질문 모음집

데이터 사이언스 분야의 인터뷰 질문을 모아봤습니다. (데이터 분석가 / 데이터 사이언티스트 / 데이터 엔지니어) 구직자에겐 예상 질문을 통해 면접 합격을 할 수 있도록, 면접관에겐 좋은 면접

zzsza.github.io


💌 데일리 회고

 

한 주가 마무리 되는 금요일인데, 여전히 강의는 어려웠다.. 주말에는 전체적으로 이해 안 됐던 강의를 다시 들으며 복습을 해야겠다. 아직 백퍼센트 부스트캠프를 따라가고 있지 못하지만, 열심히 그리고 많이 공부하면 어느 순간부터는 부스트캠프에서 제공하는 모든 것을 다 흡수 할 것이라고 생각한다. 

할 것을 못 끝냈을 때 스트레스를 받는데, 이번주에 계속 그런 상태가 이어졌었다. 그러다 목요일부터는 마음가짐을 조금 바꾸기로 했다. 우선 최선을 다하고 열심히 하자는 생각만 하기로 했다. 스트레스 받는 이유도 내가 할 수 있는 최선을 다하지 않는 이유도 있기 때문이다. 

공부를 하면 할수록 사람들을 만나면 만날수록 해야 할 것들이 많이 보인다. 이런 것들에 너무 압도되지 말고 꾸준히 하나씩 해결해 나가야겠다. 파이팅!! 🤩

댓글