일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Tez
- 딥러닝
- 학습률
- hive setting
- Clodera Quick Start
- Spark 설치
- 하이브
- Deeplearning 키워드
- Hive CLI
- Auto Encoder
- .hiverc
- DeepLearning
- learning rate
- Manifold Learning
- 캐글
- L2 정규화
- data load
- Over fitting
- hive
- Haddop
- Data 불러오기
- 스파크
- 선형 회귀
- Spark Data 불러오기
- One-hot encoding
- Managed Table
- Hadoop Ecosystems
- Spark
- 차원의 저주
- Feature extraction
- Today
- Total
남는건 기록뿐
Auto Encoder 본문
아이패드에 있는걸 다시 어케 옮겨야하나..으앙ㅠㅠ
복습할 겸, 주요부분만 요약!
Auto Encoder
: Auto Encoder는 크게 Unsupervised Learning, Representation Learning, Dimensionality Reduction, Generative Model Learning에서 쓰이며, 대부분 Dimensionality Reduction, Generative Model Learning에서 사용된다. Dimensionality Redution에서는 또, Feature Extraction과 Manifold Learning으로 나눌 수 있지만, 사실상 같다.
학습된 Auco Encoder에서 Encoder는 차원 축소 역할을 수행(maniford learning)하며, Decoder는 생성 모델의 역할을 수행(generative modeal learning)한다.
Neural Net에서의 Log-Likelihood
- Estimaing a conditional probability P(Y|X), Y = Network output, X = Network input
- Parametize it by P(Y|X) = P(Y|w = F_theta(X)), We're finding w
- Loss = -log P(Y|X)
- E.g. Gaussian Y, w = (u, sigma)
typically, only u is the Network output, depening on X
Equivalent to MSE criterion : Loss = -log P(Y|X)
= log sigma + ||f_theta(X) - Y||^2 / sigma^2 - MSE
- E.g. Multinouli for classification, w_i = P(Y = i|x) = f_theta, i(X) = softmax_i(a(x))
Loss = -log wy = -log f_theta,y(x) => cross entropy
Auto Encoder를 사용하는 이유
Encoder : 최소한 학습 데이터는 Laten Vector로 표현할 수 있게 된다.
Decoder : 최소한 학습 데이터는 생성해 낼 수 있게 된다.(물론 완전 새롭지는 않지만, 어디서 본듯한 데이터를 생성하게 되는데 이를 이해하려면 Log-likeihood를 좀 알아야 한다.)
Auto Encoder의 가장 중요한 기능 중 하나는 manifold를 학습한다는 것이다. Manifold learning의 목적은 데이터 압축, 데이터 시각화, 차원의 저주 피하기, 유용한 특징 추출.
Manifold
고차원 공간안에 데이터를 뿌려보면 위와 같은 점들이 생기는데, 그 점들을 Error없이 잘 아우르는 subspace가 있을 거고 바로 이 것을 manifold라 하고, 이걸 잘 찾으면 데이터 차원을 축소할 수 있을 것이다. 결국, 원래 데이터를 잘 유지하면서 데이터를 축소시킬 수 있다는 것이다.
차원의 저주
차원이 증가할수록 데이터의 분포 분석 또는 모델 추정에 필요한 샘플 데이터의 개수가 기하급수적으로 증가한다.
예를 들면, 1~10의 값을 가질 수 있는 X1에 대하여 8개의 관측치가 있다고 가정해보면, 이 경우 1차원에서는 데이터의 밀도가 0.8, 2차원에서는 0.08, .... 차원이 커질수록 모델 추정에 필요한 샘플 데이터의 개수가 기하급수적으로 커지게 된다.
Manifold Hypothesis
- 고차원의 데이터 밀도는 낮지만, 이들의 집합을 포함하는 저차원의 manifold가 있다.
- 이 저차원의 manifold를 벗어나는 순간 급격히 밀도는 낮아진다.
ML Density Estimation
1. Deep Neural Net을 학습할 때 사용되는 Loss function을 다양한 각도에서 설명할 수 있다. 그 중 하나는 Back-Propagation 알고리즘이 좀 더 잘 동작할 수 있는지에 대한 해석이다.(gradient-vanishing problem이 덜 발생할 수 있다는 해석)
2. 다른 하나는 Negative Maximum Likelihood로 보고 특정 형태의 Loss는 특정 형태의 확률 분포를 가정한다는 해석이다. Auto Encoder를 학습하는 것 또한 Maximum Likelihood 관점에서의 최적화로 볼 수 있다.
AE와 VAE 비교
Auto Encoder | Variational Auto Encoder | |
Probability Distribution | P(X|X) | P(X) |
Gaussian Distribution | MSE Loss | MSE Loss |
Categorical Distribution | Cross-Entropy Loss | Cross-Entropy Loss |
'Deep Learnig' 카테고리의 다른 글
딥러닝 키워드 간단 정리(2) (0) | 2020.01.22 |
---|---|
딥러닝 키워드 간단 정리(1) (0) | 2020.01.21 |