Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

EHFKSWL

Manifold Learning 본문

Deep Learning/Vision

Manifold Learning

도란지 2021. 5. 13. 15:49

이활석님의 강의를 들으며 가장 신기했던 부분은 Manifold에 대한 개념이었다. 데이터, 특히 이미지를 바라보는 새로운 관점을 가질 수 있었다.

 

먼저 아래와 같은 28X28X1의 MNIST 이미지 데이터 셋이 있다고 하자.

 

이미지는 pixel단위의 점들이 모여서 시각적으로 어떤 형태를 보여지는 데이터라는 것은 잘 알고 있을 것이다. 이 흑백이나 칼라이미지에 따라서 gray scale이나, RGB로 나누어 보기도 하지만 공통적으로 width X height X depth의 형태를 가진다. 그리고 28X28X1의 image라는 것은 사실 28X28X1의 개의 값을 가지는 하나의 데이터라고 볼 수 있다. 즉 하나의 데이터를 784차원 공간의 한 점으로 생각해 볼 수 있다. 그럼 28X28X1의 크기를 가지는 이미지는 무수히 많이 존재하는데 그 중에서도 시각적으로 숫자처럼 보여지는 데이터들이 MNIST set을 이루고 있다고 할 수 있다.

 

Manifold는 이 high-dimension에서 표현한 subspace라고 할 수 있다. 말이 좀 어려울 수 있는데, 28X28X1의 무수히 많은 점들 중에 28X28X1의 MNIST를 표현하는 점들이 있을 것이고, 이 점들을 잘 내포하는 subspace를 Manifold라고 하는 것이다. 강의를 듣고 이런 관점으로 이미지 데이터 셋을 바라보니 굉장히 신기하였다. 예를들어 유명인의 얼굴을 담은 Celeb data sets과 MNIST data sets들의 점들은 숫자로만 봤을때는 각각의 차이를 느끼기 힘들었지만( 숫자가 랜덤으로 섞여있다는 느낌 ) 각각의 data sets은 각기 다른 Manifold를 이루고 있다는 점에서 구분을 지을 수 있다는 것이다. 이렇게 잘 찾은 Manifold를 low-dimension에 projection을 하면 data compression을 할 수 있다.

 

그럼 이 Manifold를 어떻게 사용할까?

강의를 들으면 주로 위의 4가지 목적을 가지고 Manifold를 사용한다고 한다.

  • Data compression
  • Data visualization
  • Curse of dimensionality
  • Discovering most important features

Data comression & Data visualization 

Data compression과 Data visualization은 같은 맥락으로 생각해 볼 수 있는데 데이터 압축은 Manifold의 projection한 점들이라 할 수 있고, 낮은 차원 일수록 시각화 하기가 더 쉬울 것이다. 

2차원 공간의 MNIST

위의 그림은 MNIST 데이터를 2차원 공간에서 나타낸 것으로 VAE에서 직접 만들어 볼 것이다. 2차원 공간에서 시각화 하면 같은 Label 값을 가지는 점들이 모여있는 것을 볼 수 있는 것이 특징이다.

Curse of dimensionality

이 부분에서 많은 설명을 들을 수 있었다. 차원의 저주 라는 것의 해석은 여러가지가 있을 수 있다. 강의에서 말씀하신 내용을 토대로 설명하면 같은 데이터 개수가 차원이 높아질 수록 표현되는 점들의 개수가 기하급수적으로 작아진다는 것이다. 예를 들어 8개의 데이터를 가지고 있는데 10이라는 공간의 1차원에서 표현한다고 해보자. 데이터 크기는 1만큼의 공간을 차지한다. 그럼 데이터는 80%의 subspace를 차지한다. 그런데 만약 2차원이라면 10^2인 100 만큼의 공간이 있을 것이고 여기에 8만큼의 데이터가 표현되면 8%로 줄어든다. 차원이 계속 높아질 수록 데이터의 subspace는 급격히 작아질 것이다.

 

그러므로 MNIST와 같은 비슷한 image들은 고차원에서도 같은 Manifold 상에서 모여있을 것이고, Manifold를 잘 찾으면 비슷한 이미지의 관계성을 잘 찾을 수 있다는 것이다. 

Discovering most important features

말그대로 Manifold 상에서는 더 주요한 feature들을 표현할 수 있는 것이다.

예를 들어 3차원 공간에 위와 같은 Manifold가 있다고하자. 여기서 Manifold는 회색 곡선으로 이루어진 sub space 이다. 먼저 고차원상에서 Eucilidian distance를 생각해 보았을 때 A와 B가 C에 비해서 더 가까이 위치하고 있다고 말할 수 있다. A와 B의 거리가 가까우므로 이미지가 의미론적으로 비슷하다고 할 수 있을까?

Manifold space 에서는 C가 A와 B사이에 위치하여 A와 C가 B보다 더 가까운 점일 것이다. High-dimension-space 에서는 A와 B가 가깝지만, image의 의미를 나타내는 Manifold를 잘 찾았다면 C가 의미론적으로 B에 비하여 A가 더 비슷하다. 실제로 image를 비교해 봐도 Manifold 상에서 가까운 이미지들이 비슷한 의미를 가지고 있는 것을 보여주고 있다. Manifold에 대한 예제들은 VAE 구현을 통해 더 자세하게 볼 수 있다.

'Deep Learning > Vision' 카테고리의 다른 글

VAE (Variational AutoEncoder)  (0) 2021.05.13
Autoencoder (오토인코더)  (0) 2021.05.13