fcs231n Lec1 - 전통적인 생성 모델(Classic Generative Model)
2018-11-20
Deep Generative Model 이전에 전통적으로 사용되어왔던 Generative Model인 다양한 Probability Model을 정리하고자합니다.
목차
- 이론
- Deep Generative Model(전통적인 Probability Model + DL)를 학습하기 전, 먼저 가장 기초적인/핵심적인/전통적인 Generative Model 들 알아보자
- Gaussian Discriminant Analysis, Gaussian Mixture Model, Naive Bayes
- Discriminator Model 과 Generative Model 의 차이
- EM-algorithm
- 코드 (Introduction to (Classic) Generative Model)
- Pytorch Tutorial - 기본 PyTorch 라이브러리 및 모듈 사용법
- Linear Regression(선형회귀)
- Logistic Regression(로지스틱회귀)
- Gaussian Discriminant Analysis(가우시안 판별 분석)
- GMM(Gaussian Mixture Model) with EM algorithm
예습 목록
- 확률이론
- 세상에서 가장 쉬운 베이즈통계학 입문
- https://see.stanford.edu/materials/aimlcs229/cs229-prob.pdf
- MLE (Maximum Likelihood Estimation;최대 우도 추정;최대 가능도 추정)에 대한 개념 : random variable의 parameter를 estimate(추정)하는 방법 중 하나
- GMM (Gaussian Mixture Model)에 대한 개념
- EM algorithm(Expectation–maximization algorithm;기대값 최대화 알고리즘;α-EM 알고리즘)에 대한 개념
- Discriminative model vs Generative model
discriminative model 개념
을 선형회귀 와 로지스틱회귀 를 중심으로 정리- 비지도학습(unsupervised learning) 기반의
generative model
을 가우시안믹스처모델(Gaussian Mixture Model, GMM) 중심으로 - ( 선형판별분석(Linear Discriminant Analysis, LDA) )
- 정보이론 (Information Theory)
- 섀넌엔트로피
- 크로스엔트로피
- 쿨백-라이블러 발산(Kullback-Leibler divergence, KLD)
- KLD는 딥러닝 모델의 손실함수(loss function)로 자주 쓰이는 크로스 엔트로피(cross entropy)와 깊은 관련을 맺고 있다 !
- 최대우도추정 vs 크로스 엔트로피, KL-Divergence
- 딥러닝 모델의 손실함수로 음의 로그우도(negative log-likelihood)가 쓰입니다. 어떤 이유 일까?
- day 1 code
- github에 주피터
- github에 pycharm버전화
- 강의때 필기 어떤식으로? - PDF and Code
- 기초
- Linear Regression_
- Logit 변환 / Continuous type value, Discrete type value
- 로지스틱 함수(Logistic Function=시그모이드 함수)와 승산(Odds)
- Logistic Regression
- 이항(Binary)
- 다항(Multinomial)
- Multinomial Logistic Regression(=multiple logistic regression=Softmax)
- 결정경계(decision boundry) = Hyperplane
- 기초-2
- Expectaion(기대값) 평균이 다른점.
- Entropy(엔트로피)
-
Cross entropy
- 최적화
- KLD
- MLE
- MAP
- GMM + EM
- 백프롭패밀리 : 일반적인 deteministic(결정론적)(??) 스타일인 DL에서 다양한 optimizer : gradient 구한 후 백프롭(using chain-rule)
- 딥러닝의 에러함수=로스함수=비용함수
- L2-Loss
- MSE
- 소프트맥스(함수)
- 크로스-엔트로피(함수)
- etc
- 베이즈정리
- 베이지안 추정 은 모수가 가질 수 있는 모든 값에 대해 가능성을 확률분포로 나타낸 것을 말한다
- Likelihood(우도)
- MLE(최대우도추정 법)
- 설치
- Python 3.6(이미 다른 버전이 설치 되어있다면 conda create 명령을 사용하셔서 Python3.6 환경을 구축)
- PyTorch 라이브러리(수업진행에 필요한 Packages: pytorch, torchvision, jupyter 등 설치)(Pytorch 설치 방법-0.4 버전부터 윈도우를 지원)
- Jupiter Notebook
- Jupiter Notebook을 사용하여, 제공받은 주피터노트북파일에 실시간 필기하는 방법
-
PyTorch 사용법(시간이 된다면 기초적인 PyTorch 사용법도 함께 숙지) - 금상첨화
- 노트
- 노트북에 강사 주피터노트북 파일 4개 설치 및 깃헙 연동
- 그리고 주피터-노트북에 코드 돌리면서, 노트북파일에 추가적으로 필기 가능한지 테스트
- 블로깅 할때 수학식은 일단
- 손으로 쓴다 스캔한다
- 최초 블로깅 틈틈히 마크업으로 바꾼다
- i can note 인지 뭔지 그거 해보기
- Day2 준비
- 파이토치 튜토리얼(한번 쓱 걍 따라하기정도로 1시간짜리)(http://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html ) -> linear regression model 정도
- 전인수님 파이토치 튜토리얼 만든것(깃헙/InsuJeon/HelloPytorch)
-
2주차 VAE, Variational Inference(변분추론)
-
통계책 보기 ! 꼭 :컨디션 확률,분포 / 조인트 확률(조건부확률), 확률분포 / 독립(independent) 2D가우시안 / 베르누이 라든지 다 통계책!
- 이활석님 변분추론, AE, VAE 강의 4시간
- 칸아카데미-엔트로피
- 테리님 엔트로피, 크로스엔트로피, KL
- 파이토치 유튜브 강의
- 파이토치 T아카데미 강의
- 파이토치 책!
-
확률/통계 => 링크 공유한 수학 강의 유튜브 강의
- 출력할것 예습 블로그 3~4개
- (Day2 예습) 참고문헌
- 베이즈통계 입문 정원석님 블로그
- 베이즈통계 입문
표
마크다운으로 표 만들어주는 사이트(markdown table generator)
Reference
- https://github.com/InsuJeon/Hello-Generative-Model/tree/master/Day01
- https://taeoh-kim.github.io/blog/generative-models-part-1-vaegandcgan/
- http://blogyong.tistory.com/33
- https://medium.com/@jongdae.lim/%EA%B8%B0%EA%B3%84-%ED%95%99%EC%8A%B5-machine-learning-%EC%9D%80-%EC%A6%90%EA%B2%81%EB%8B%A4-part-7-2435b4a55ccd
- http://sens.tistory.com/408
- https://jay.tech.blog/2016/12/11/generative-adversarial-networks/
- 최건호님
- DSKSD님
- PyTorch를 활용한 머신러닝, 딥러닝 철저 입문
- 세상에서 가장 쉬운 베이즈통계학 입문
- 파이토치 튜토리얼-한글버전
- 파이토치 튜토리얼-영문버전
- PyTorch: A 60 Minute Blitz
- Sung Kim님 PyTorchZeroToAll
- jinyo님 PyTorchZeroToAll 한글로 다시 정리한 글
- 최건호님 T아카데미
- 김군이님
- PyTorch 튜토리얼, 프로젝트, 라이브러리, 비디오, 구현 논문, 책 등의 리소스 목록
- 자기강화와 GAN: 부족한 정답세트를 극복하는 방법
- 김정주님 분산 강화학습(Distributed Prioritized Experience Replay) 논문(DeepMind IMPALA) 구현 슬라이드쉐어 - ver 1
- 김정주님 분산 강화학습(Distributed Prioritized Experience Replay) 논문(DeepMind IMPALA) 구현 슬라이드쉐어 - ver 2
- 김정주님 파이썬으로 나만의 강화학습 환경 만들기
- Logit변환 / Logistic Regression
- 로지스틱 함수(Logistic Function)와 승산(Odds)
- Logistic Regression
- ratsgo님 Logistic Regression
- sens님 Generative model과 Discriminative model
- Decision Theory: Generative model과 Discriminative model
- Linear Regression
- Linear Regression
- ratsgo님 최대우도추정(Maximum Likelihood Estimation) MLE
- ratsgo님 정보이론 - 섀넌엔트로피, 크로스엔트로피, KL Divergence
- ratsgo님 손실함수로 음의 로그우도(negative log-likelihood) 쓰는 이유 / 딥러닝 모델의 손실함수
- ratsgo님 discriminative model 개념을 선형회귀와 로지스틱회귀를 중심으로 정리
- ratsgo님 generative models based on unsupervised Learning을 GMM 중심으로 정리
- 김인호님 기존 기계학습 모델의 목표와 한계/기계학습에서의 확률모델/확률모델의 기본개념/확률모델의 이점: Bayesian Decision Theory
- 김인호님 최대우도추정
- 김진섭님 확률, 가능도(우도) 그리고 최대우도추정
- 천상혁님 Machine Learning을 Probabilistic perspective(확률이론;Probability Theory)에서 이해해보자 - Maximum Likelihood Estimation (MLE) / Maximum a Posteriori Estimation (MAP)/Bayes’ Theorem/Conjugate Prior
- 이상호님 MLE 쉽게 이해하기 유튜브 영상
- 이홍규님 오차를 다루는 방법_1
- 이홍규님 오차를 다루는 방법_2
- 조영지님 ‘최대 가능도 방법’
- 차준범님 PR-010: Auto-Encoding Variational Bayes, ICLR 2014(Variational autoencoders 로 유명한 Auto-Encoding Variational Bayes 논문을 리뷰)
- 최윤제님 1시간만에 GAN완전정복하기
- 엄태웅님 정보량을 나타내는 엔트로피
- 엄태웅(테리)님 크로스엔트로피 ~ KLD
- 이활석님 오토인코더의 모든것(1)
- 이활석님 오토인코더의 모든것(2)
- 이활석님 오토인코더의 모든것(3)
- 이찬우님 로지스틱회귀
- 이찬우님 비용함수(로지스틱회귀)
- Likelihood(가능도)와 Probability(가능성)
- 최대우도추정(MLE:Maximum Likelihood Estimation) 방법은 확률 모형의 모수 추정에서 가장 일반적으로 사용되는 방법이다
- 최대우도법(Maximum Likelihood)
- 정규분포와 표준-정규분포 그리고 z-score란
- http://arkainoh.blogspot.com/2017/10/parametric.learning.maximum.likelihood.estimation.html
- http://suhak.tistory.com/110
- https://brunch.co.kr/@castlefive/4
- https://support.minitab.com/ko-kr/minitab/18/help-and-how-to/statistics/basic-statistics/supporting-topics/data-concepts/about-the-central-limit-theorem/
- https://wsyang.com/2011/04/clt-with-r/
- https://datascienceschool.net/view-notebook/76644ecf24154db687392ccb0eaac644/
- https://www.youtube.com/watch?v=yn5FdS3LRNQ
- https://blog.naver.com/padosori60/220689797057
- https://icim.nims.re.kr/post/easyMath/550
- https://opentutorials.org/module/3653/21940
- http://sanghyukchun.github.io/62/
- http://sanghyukchun.github.io/70/
- http://arkainoh.blogspot.com/2017/10/parametric.learning.maximum.likelihood.estimation.html
- https://3months.tistory.com/154
- http://iskim3068.tistory.com/52
- https://m.blog.naver.com/PostView.nhn?blogId=kmkim1222&logNo=10187825620&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
- http://sanghyukchun.github.io/62/
- 확률 분포 함수와 확률 밀도 함수의 의미
- 확률변수와 데이터
- http://arkainoh.blogspot.com/2018/04/parametric.learning.maximum.a.posteriori.estimation.html
- i.i.d
- i.i.d
- i.i.d
- 라그랑주 승수법 (Lagrange Multiplier Method)
- MAP 최대 사후확률 Maximum A Posteriori
- MAP
- 중심극한정리
- 중심 극한 정리: 큰 랜덤 표본의 평균은 근사적으로 정규 분포를 따릅니다.
- 중심극한정리
- 중심극한정리;CLT
- 이항분포;binomial Distribution
- 머신러닝 - 수식 없이 이해하는 Gaussian Mixture Model (GMM)
- 가우시안 혼합 모델(Gaussian Mixture Models) GMM
- Gaussian Mixture Models + EM알고리즘
- 평균제곱오차 MSE ; ML의 비용함수=에러함수=오차함수
- 유재준님 다양한 확률모델들 설명
- Jensen’s Inequality(옌센부등식)
- Jensen’s Inequality(옌센부등식)
- Jensen’s Inequality(옌센부등식)
- EM-알고리즘;Expectation–Maximization-알고리즘;기대값-최대화-알고리즘
- 베타분포(여러 확률분포 중 하나)
- 용어: 언더플로우와 오버플로우
- (https://youtu.be/kvxKdHiVOb4)
- (https://youtu.be/3bzPi4JCgoM)
- (https://youtu.be/h42OQJL9bQM)
- (https://youtu.be/6MEjmO_1oD0)
- (https://youtu.be/V2BwAnpFMgk)
- (https://youtu.be/MWp0RqkhJUw)
- 엔트로피
- cross엔트로피 & KL Divergence
- KL Divergence
- Expectation / 엔트로피(정보량) / 크로스엔트로피 / KL Divergence
- (https://youtu.be/g0O5BobUVvM)
- (https://youtu.be/3QYG9s-bJfM)
- 크로스 엔트로피 왜! 쓸까?
- (https://youtu.be/g0O5BobUVvM)
- 베이즈정리/베이즈확률
- 다크프로그래머님 최소자승법=최소제곱법=LSM(Least Square Method)=LMS(Least Mean Square) 방법. 이해와 다양한 활용예 (Least Square Method)
- 모두연 김승일 소장 블로그
- 좋은 블로그-생성 모델(Generative model)
- 유튜브 테리님 엔트로피 크로스엔트로피 KLD
- 유튜브 확률과 통계
- 자주 쓰는 주피터 단축키
- 윈도우10 ~ Pycharm ~ PyTorch 0.4(CPU) 공식 버전 = 연동방법
- PyCharm 에서 Python 컴파일러 경로 수정하기
- IPython %matplotlib inline 의 의미
- Pycharm 인터프리터
- Pytorch 설치 윈도우10
- GAN zoo
- All-About-the-GAN/
- 김민규님 VAE-Variational Inference 관점에서 Auto-encoding variational bayes에 나오는 수식들을 살펴보고자 한다. 본 수식들이 구현에서는 어떻게 적용되는지도 살펴보고자 한다
- Ratsgo님, 딥러닝 모델의 손실함수
- 오차역전파법(backpropagation), 가중치 업데이트
- Ratsgo님, 나이브 베이즈 USL학습기반 분류기
- Ratsgo님, unsupervised generative models > GMM
- Ratsgo님, 베이지안 추론(1)
- Ratsgo님, 베이지안 추론(2)
- Ratsgo님, Variational AutoEncoder