티스토리 뷰
[Keyword] : Manifold Learning, Unsupervised Learning
1. AutoEncoder의 주요 기능
1) Dimension Reduction (차원 축소) : Unsupervised Learning Task
2) Density Estimation (확률 분포 예측)
3) 'Manifold' 학습
2. Manifold 정의
Manifold : Train DB에 해당되는 고차원(그림상 3D) 데이터를 공간 상에 뿌려봤을 때 생기는 점들을 에러 없이 잘 아우르는 Sub-space → Manifold에서 저차원(그림상 2D) 상에 projection 시키면 데이터 차원을 줄일 수 있음
3. Manifold 학습의 목적
1) Data compression (데이터 압축)
- 같은 Bit rate에 대하여 JPEG 보다 CAE가 PSNR 수치 높음
2) Data visualization (데이터 시각화)
- 자신들이 가진 기술을 show 하고자 시각화
3) Curse of dimensionality (차원의 저주 피하기)
(1) 차원의 저주
데이터의 차원이 증가할수록, 해당 공간의 크기(부피)가 기하급수적으로 증가 = 동일한 개수의 데이터의 밀도는 희박
→ 따라서, 데이터의 분포분석 또는 모델추정에 필요한 샘플 데이터의 수가 기하급수적으로 많아야 함
(2) Manifold Hypothesis (Assumption)
① Natural data in high dimensional spaces concentrates close to lower dimensional manifolds
고차원의 데이터는 밀도는 낮지만, 이들의 집합을 포함하는 저차원의 밀도 높은 Manifold 존재 !
② Probability density decreases very rapidly when moving away from the supporting manifold
이 저차원의 Manifold를 벗어나는 순간 급격히 밀도 낮아짐
- Uniform sampling 아무리 많이 해도 Noise 밖에 안나옴 → 골고루 분포 X, 어딘가에 몰려있음 (Hypothesis)
- 확률분포를 잘 찾으면 Sampling을 할 수 있음 → 기존 Training DB에 없는 것들도 생성할 수 있음
Ex) GAN (현재는 아직 Domain 한정했을 때만 어느정도 생성 가능한 수준)
4) Discovering most important features (유용한 특징 추출)
(1) Meaningful representation
- Manifold follows naturally from continuous underlying factors (=intrinsic manifold coordinates)
- Such continuous factors are part of a meaningful representation!
- Manifold 학습 결과 평가를 위해 Manifold 좌표들이 조금씩 변할 때 원 데이터도 유의미하게 조금씩 변함을 보임
"압축을 통해 Manifold를 잘 찾았다면 Dominant Feature(Rotation, Thickness, Size 등)를 자동으로 잘 찾은 것"
(2) Reasonable distance metric
- 의미적으로 가깝다고 생각되는 고차원 공간에서의 두 샘플들 간의 거리는 먼 경우가 많음 !!
즉, 고차원 공간에서 가까운 두 샘플들은 의미적(Dominant Feature)으로는 굉장히 다를 수 있음
- 차원의 저주로 인해 고차원에서의 유의미한 거리 측정 방식 찾기 어려움
같은 유클리안 measure metric으로 측정하더라도, 어떤 공간에서 측정하는지에 따라 거리가 다를 수 있음
(원래 공간인 고차원에서는 B에 대해 A1이 더 가깝지만, 압축한 저차원 Manifold에서는 A2가 더 가까움)
이미지에서의 해석
Interpolation in high dimension : 팔 2개, 골프채 2개가 나옴 → 의미 없는 이미지
Interpolation in manifold : 원하는 중간 행동이 나옴 → 원하는 이미지
"중요한 특징(Feature)들을 찾았다면 이 특징들을 공유하는 Sample들도 찾을 수 있어야 함"
(3) Needs disentagling the underlying explanatory factors
Ex) MNIST Data를 2D manifold로 압축
Dominant feature : 숫자가 다른 것 → 의미적으로 학습이 잘 됐다면 명확히 다른 모양의 숫자는 멀리 떨어져 있어야 함
Entangled VS Disentangled
- Entangled (섞여 있음) : 구분을 잘 못함 = 학습이 잘 안된 것
- Disentangled : 다른 숫자끼리는 멀리 떨어져 있음 = 학습이 잘 된 것
4. 기존 방법론 - Neighborhood based training
Dimension Reduction (차원 축소)
1) Linear method - PCA
: 원 데이터를 샘플공간에 뿌려보고 분산이 최대축이 되는 plane을 찾아서 projection 시켜 점차 차원 축소
- Linear Hyperplane에 projection하는 방법이기에 꼬여있는 case의 경우 잘 구분 X (Entangled)
- h = f_θ(x) = W(x-μ) with θ = { W, μ } → Neural Net 형태와 비슷 → AutoEncoder : PCA를 포함하는 방법론
2) Nonlinear methods - Isomap, LLE
: 1st step 에서 각 샘플별로 가까운 거리에 있는 것들을 구함
Density Estimation (확률 분포 예측)
1) Parzen Windows
: 샘플별로 가우시안 커널을 씌어 쭉 다 더해 확률 분포를 모델링하는 방법론
기존 방법론의 LIMITATION
'DL > AutoEncoder' 카테고리의 다른 글
[Ch5] Applications (Retrieval, Generation, GAN+VAE) (0) | 2022.02.22 |
---|---|
[Ch4] Variational AutoEncoders (VAE, CVAE, AAE) (0) | 2022.01.31 |
[Ch3] AutoEncoders (AE, DAE, CAE) (0) | 2022.01.30 |
[Ch1] Revisit Deep Neural Networks (0) | 2022.01.30 |
[Ch0] AutoEncoder (0) | 2022.01.30 |