AutoEncoders-1
Naver Enginner 이활석 님의 강의 정리
- 강의 링크
Autoencoders
- 4 Main Keywords
- Unsupervised learning
- Manifold learning = Nonlinear Dimensionality reduction
- 대부분 이용도로 쓰고 있었음 = Representation learning = Efficient coding learning = Feature extraction
- Generative model learning
- Maximum Likelihood density estimation
- 입력과 출력이 동일한 네트워크 구조를 가지고 있으면 AutoEncoder 라고 한다.
- 오토인코더를 학습할때
- Unsupervised learning 을 함
- Loss 는 Negative Maximum Likelihood(ML) 로 해석된다.
- Loss 를 minimum 하니 ML
- 학습된 오토 인코더에서
- 인코더는 차원 축소 역할을 수행 (Manifold learning)
- 디코더는 생성 모델의 역할을 수행 (Generative model learning)
1. Revisit Deep Neural Networks
- Maximum likelihood 에 대해서 설명
Classic ML
- Collect training data
- Define functions
- Output : $f_\theta(x)$
- Loss : $L(f_\theta(x), y)$
- Learning/Training
- Find the optimal parameter
- Prediction/Testing
- Compute optimal function output
- 입력과 출력이 고정된다.
Deep Neural Networks
loss
- Backpropagation 알고리즘의 가정을 지켜가면서 loss function 을 써야한다.
- training DB 에 있는 전체 sample 의 loss function 은 각 sample 별 loss function 의 합과 같다.
- sample 별 loss function 의 입력인자가 네트워크 출력 값과 정답만 입력받겠다.
training
- iterative method 를 취한다.
- 현재 $\theta$ 를 어떻게 업데이트 할 것가.
- 언제 멈출 것인가 -> loss function 이 줄어들기만 하면 거기로 가겠다.
- Gradient Descent

$L$ : loss function
- Taylor Expansion : $L(\theta + \Delta\theta) = L(\theta) + \nabla L \cdot \Delta\theta + second \space derivative + third \space derivative$
- Approximation $L(\theta + \Delta\theta) \approx L(\theta) + \nabla L \cdot \Delta\theta$
- 더 많은 차수를 사용할 수록 더 넓은 지역을 작은 오차로 표현이 가능하다.
2. Manifold Learning
- Autoencoder 의 가장 중요한 기능 중 하나는 매니폴드를 학습한다는 것이다.
- 매니폴드 학습의 목적 4가지인 데이터 압축, 데이터 시각화, 차원의 저주 피하기, 유용한 특징 추출하기임
Manifold
- Training DB 의 공간에서 그 sample 들을 잘 아우르는 sub-sample 이 있을 것 -> 이를 Manifold
- 원래 데이터의 성질을 잘 유지하면서 차원을 줄이고 싶은 것

- Data compression
- JPEG 보다 autoencoder 를 써서 했더니 압축을 더 잘하더라
- Data visualization
- 예) t-SNE
- 결과물의 직관을 얻는 것
- Curse of dimensionality
Manifold Hypothesis
- 고차원의 뎅리터의 밀도는 낮지만, 이들의 집합을 포함하는 저차원의 매니폴드가 있다.
- 이 저차원의 매니폴드를 벗어나는 순간 급격히 밀도는 낮아진다.
예) 이미지 $200 \times 200$ RGB images 내에는 $10^{96329}$ 개의 possible states 이다.
- 이미지가 만약에 골구로 분포해 있다면 Uniform sampling 하면 우리가 알고 있는 이미지가 나와야함
- Manifold 를 잘 찾았다는 것은 각각의 특징에 대한 것들을 잘 찾았다는 것
- GAN 은 도메인을 한정했을 때 그 공간에서의 manifold 를 찾을 수 있다는 것
- 2D 로 압축했는데 2D 공간에서의 의미가 자동으로 찾아진 것 -> unsupervised 이기 때문
Reasonable distance metric
- 이는 feature 를 잘 찾았다고 할 수 있음
- 의미적으로 가깝다고 생각되는 고차원 공간에서의 두 샘플간의 거리는 먼 경우가 많다.
- 고차원 공간에서 가까운 두 샘플들은 의미지거으로 굉장히 다를 수 있다.
- 같은 metric 인데 성능이 안나온다면 metric을 바꿀 수도 있고, manifold 를 다시 찾아볼까라는 생각을 할 수 있어야한다.
- 중간에 가깝다 -> 의미적으로 가까운 것이지 실제 데이터의 중간이라는 뜻은 아니다.
Texonomy
- Dimensionality Reduction
- Linear
- PCA
- LDA
- etc…
- Non-Linear
- AE
- t-SNE
- lsomap
- Locally-linear embedding (LLE)
- Linear
PCA
AutoEncoder 가 PCA 의 방법론을 포함한 아이다. 
disentangled 되어 있다는 것은 사람이 멀다고 생각하는 것이 멀게 있다고 하는것
기존의 방법론들은 Neighborgood based 방법 -> 가까운 것이 의미적으로 가까운 것이 아님
고차원 데이터 간의 유클리디안 거리는 유의미한 거리 개념이 아닐 가능성이 높다
AE 는 고차원 + 많은 데이터 일수록 좋음
3. AutoEncoder
- classic AE 모델들
4. Variational Autoencoders
5. Applications
- Gen + VAE -> 접근방식들
Google AdSense — Post Ad
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.









Comments powered by Disqus.