Manifold 란?
모든 데이터를 최대한 오차없이 잘 아우를 수 있는 subspace(부분공간)을 의미
고차원의 manifold를 잘 찾아낸다면, 고차원의 manifold를 저차원으로 압축했을때 각 데이터들의 특징을 유지하면서 압축이 가능하다.
장점
차원 축소, 의미있는 특징 추출, 데이터 가시화, 차원의 저주 해결
- Data compression
- example : Lossy Image Compression with compressive Autoencoders, '17.03.01 CNN, 오토인토더을 이용하여 jpeg보다 손실이 적은 이미지 압축방식을 제안
- Data visualization
- t-SNE
- UMAP
- Curse of dimensinality
- Manifold Hypothhesis : assumption
- Discovering most important features
Latent Variable?
잠재변수는 데이터에 직접적으로 보이지 않지만 어떠한 데이터 분포를 만드는데 큰 역할을 하는 변수로 잠재 변수가 존재하는 공간은 Latent space 잠재 공간이라고 함.
컴퓨터가 task를 수행하기 위해 데이터의 특징을 추출하는 방법
잠재변수는 각 값이 어떤 것을 의미하는지 알 수 없는 black-box model
유클리드 거리를 보면 B-A2, A1-A2 보다 B-C, A1-C가 더 가깝지만 실제로 C는 manifold위에 존재하지 않아서 의미없는 단순 합성이미지가 되고, A2는 거리는 멀지만 골프 행위의 순서를 고려했을때 더 합리적인 그림이 됨. 그렇다면 manifold위에 있지만 학습에디터에는 없는 D 이미지를 생성할 수 있는가? autoencoder는 manifold의 식을 구하는 것이 아니라서, manifold의 식을 모른다면 D를 추출할 수 없다. (autoencoder의 목적은 ‘적어도 학습데이터에 존재하는 데이터에 대해서만 특징 추출을 잘 하자’임)
→ VAE는 manifold 분포를 가정하고 그 분포에서 데이터를 추출하여 새로운 데이터를 생성
- autoencoder : 잠재변수를 이용하여 데이터의 분포를 가시화하는데 목적이 치중된 manifold learning, representation learning
- VAE : 새로운 데이터를 생성하고자 하는 목적이 강한 generative model
- Data Visualization: 잠재 변수는 autoencoder로 추출한 후, 잠재 변수를 다시 더 작은 차원인 2, 3차원으로 t-SNE 등으로 압축하여 가시화 t-SNE ( t-distributed Stochastic Neighbor Embedding), UMAP ( Uniform Manifold Approximation & Projection)
Manifold Learning을 위한 모델 종류
먼저 manifold learning을 위해 사용되는 모델들을 알아보겠습니다. 지금 소개할 모델들은 바로 위에서 언급한 autoencoder의 역할과 비슷한 역할을 하기 위해 사용되는 모델들입니다(차원 축소, 의미 있는 특징 추출, 데이터 가시화, 차원의 저주 해결).
- 선형 변환(Linear Transformation)
- 주성분 분석(Principal Component Analysis, PCA)
- 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA) #토픽모델링
- 비선형 변환(Non-linear Transformation)
- 오토인코더(Autoencoder, AE)
- t-SNE (t-distributed Stochastic Neighbor Embedding)
- 고차원에서의 데이터간 거리와 저차원으로 임베딩 후 데이터간 거리를 유사하게 유지하면서 차원 축소하는 비선형 변환
- 잠재 변수를 2, 3차원으로 압축하여 시각화 하는데 많이 사용됨.3
- UMAP (Uniform Manifold Approximation & Projection)
- 고차원에서의 그래프와 저차원에서의 그래프를 유사하게 최적화하여 변환하는 기법
- Isomap
- 데이터 간의 거리 정보를 보존하면서 차원을 축소하는 기법
- LLE (Locally-linear Embedding)
- 모든 데이터에 대해 각각 가장 가까운 이웃 k개
- 자기조직화 지도(Self-organizing Map, SOM)
- 사람이 볼 수 있는 2, 3차원 격자에 각 고차원 벡터 값들을 대응시켜 neural network (NN)과 유사한 방식으로 결과 도출하는 방법
- ADsP 책에 있었던 내용
참고
https://ljm565.github.io/contents/ManifoldLearning1.html
Autoencoder (오토인코더)
Manifold learning에 대한 설명과 그와 관련된 모델들을 설명하고, 특히 autoencoder (오토인코더)에 대해 자세히 다룹니다.
ljm565.github.io
'AI' 카테고리의 다른 글
AutoEncoder 실습 (0) | 2023.05.18 |
---|---|
AE, AutoEncoder (0) | 2023.05.18 |
GAN (0) | 2023.05.17 |
TAO Toolkit 관련 자료 (0) | 2023.05.17 |
Human Pose Estimation (1) | 2023.04.06 |