포스트

AutoEncoders-1

Naver Enginner 이활석 님의 강의 정리


  • 강의 링크

    Autoencoders

  • 4 Main Keywords
    1. Unsupervised learning
    2. Manifold learning = Nonlinear Dimensionality reduction
      • 대부분 이용도로 쓰고 있었음 = Representation learning = Efficient coding learning = Feature extraction
    3. Generative model learning
    4. Maximum Likelihood density estimation
  • 입력과 출력이 동일한 네트워크 구조를 가지고 있으면 AutoEncoder 라고 한다.

  • 오토인코더를 학습할때
    1. Unsupervised learning 을 함
    2. Loss 는 Negative Maximum Likelihood(ML) 로 해석된다.
      1. Loss 를 minimum 하니 ML
  • 학습된 오토 인코더에서
    1. 인코더는 차원 축소 역할을 수행 (Manifold learning)
    2. 디코더는 생성 모델의 역할을 수행 (Generative model learning)

1. Revisit Deep Neural Networks

  • Maximum likelihood 에 대해서 설명

Classic ML

  1. Collect training data
  2. Define functions
    • Output : $f_\theta(x)$
    • Loss : $L(f_\theta(x), y)$
  3. Learning/Training
    • Find the optimal parameter
  4. Prediction/Testing
    • Compute optimal function output

  • 입력과 출력이 고정된다.

Deep Neural Networks

loss

  • Backpropagation 알고리즘의 가정을 지켜가면서 loss function 을 써야한다.
    1. training DB 에 있는 전체 sample 의 loss function 은 각 sample 별 loss function 의 합과 같다.
    2. sample 별 loss function 의 입력인자가 네트워크 출력 값과 정답만 입력받겠다.

training

  • iterative method 를 취한다.
    1. 현재 $\theta$ 를 어떻게 업데이트 할 것가.
    2. 언제 멈출 것인가 -> 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
  • 원래 데이터의 성질을 잘 유지하면서 차원을 줄이고 싶은 것
  1. Data compression
    • JPEG 보다 autoencoder 를 써서 했더니 압축을 더 잘하더라
  2. Data visualization
    • 예) t-SNE
    • 결과물의 직관을 얻는 것
  3. Curse of dimensionality
    • 데이터의 차원이 증가할수록 해당 공간의 크기가 기하급수적으로 증가하기 때문에 동일한 개수의 데이터의 밀도는 차원이 증가할 수록 급속도로 희박해진다.
    • 따라서, 차원이 증가할수록 데이터의 분포 분석 또는 모델 추정에 필요한 샘플 데이터의 개수가 기하급수적으로 증가하게 된다. - 예)
    • 데이터가 8개 있을때 1차원의 10개의 벡터엔 80프로가 있음
    • 2차원이면 100개의 공간에 8프로가 있음
    • 3차원이면 1000개의 공간에 0.8프로가 있음 . Discovering most important features

Manifold Hypothesis

  • 고차원의 뎅리터의 밀도는 낮지만, 이들의 집합을 포함하는 저차원의 매니폴드가 있다.
  • 이 저차원의 매니폴드를 벗어나는 순간 급격히 밀도는 낮아진다.

예) 이미지 $200 \times 200$ RGB images 내에는 $10^{96329}$ 개의 possible states 이다.

  • 이미지가 만약에 골구로 분포해 있다면 Uniform sampling 하면 우리가 알고 있는 이미지가 나와야함
    • 하지만 이는 말도 안됨. 따라서 어딘가에 feature 들이 몰려있다는 것
  • 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)

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.