남는건 기록뿐

Auto Encoder 본문

Deep Learnig

Auto Encoder

루크안 2020. 6. 15. 22:37
반응형

아이패드에 있는걸 다시 어케 옮겨야하나..으앙ㅠㅠ

복습할 겸, 주요부분만 요약!

 

Auto Encoder

: Auto Encoder는  크게 Unsupervised Learning, Representation Learning, Dimensionality Reduction, Generative Model Learning에서 쓰이며, 대부분 Dimensionality ReductionGenerative 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
Comments