안녕하세요! AI Robotics KR 운영진 이용현입니다.

저는 최근 SNU Robotics Lab에서 박사 학위를 받았으며 현재 KIAS(Korea Institute for Advanced Study)에서 인공지능과 로봇을 연구하고 있습니다. 오늘은 고차원 데이터를 분석할 때 유용한 다양체 가설(manifold hypothesis)과 오토인코더(Autoencoder)에 대해 소개해 드리려 합니다.

1. 고차원 데이터(High-Dimensional Data)란?

고차원 데이터란 고차원 공간의 원소로 이해될 수 있는 데이터를 의미합니다. 쉽게 말해, 데이터를 표현하기 위해 많은 ‘숫자’가 필요한 경우, 이를 고차원 데이터라 이해할 수 있습니다. 예를 들어, [그림 1]의 흑백 사진을 생각해 보겠습니다. 흑백 사진(grayscale image)의 경우 각 화소(pixel)에 숫자가 할당되어 있으며, 이 숫자의 크기가 특정 화소의 밝기 정도(pixel intensity)를 나타냅니다. 즉, 흑백 사진 한 장을 표현하기 위해서는 화소의 개수 만큼 숫자가 필요하며, 총 화소의 개수가 흑백 사진 데이터의 차원이 됩니다.

[그림 1] 고차원 데이터 흑백 사진

[그림 1] 고차원 데이터 흑백 사진

이러한 고차원 데이터는 고차원 공간에 놓여있는 하나의 ‘점’에 대응이 됩니다. 예를 들어, 해상도 256 x 256의 사진 데이터는 256 x 256 차원 공간에 놓여있는 하나의 ‘점’으로 볼 수 있습니다. 물론 우리가 상상할 수 있는 공간은 2차원, 3차원 정도지만, 수학적으로는 더 높은 차원의 공간이 자연스럽게 잘 정의 됩니다[그림 2].

[그림 2] 2차원, 3차원, …, D차원 공간의 시각화.

[그림 2] 2차원, 3차원, …, D차원 공간의 시각화.

2. 다양체 가설(Manifold Hypothesis)

일반적인 고차원 데이터의 다양체 가설을 이야기하기에 앞서, 3차원 공간에 놓여있는 2차원 곡면에 대한 이야기를 하겠습니다. 먼저, [그림 3]에 있는 3차원 공간에 있는 구(sphere)를 생각해 보겠습니다. 초등학교(?)때 배우듯이, 구는 3차원 도형이죠. 그렇다면, 구 표면(spherical surface)의 차원은 어떻게 될까요?

[그림 3] 3차원 공간에 놓여있는 2차원 구의 표면

[그림 3] 3차원 공간에 놓여있는 2차원 구의 표면

구 위에 살고 있는 개미의 입장이 되어 본다면 알 수 있습니다. 개미가 움직일 수 있는 방향은 총 두 방향입니다 (개미가 점프를 할 수 없다는 가정 아래), 위도 방향을 x축 경도 방향을 y축으로 느낄 것 입니다. 즉, 개미가 느끼는 구의 표면은 2차원인 것이죠. 특정 표면 혹은 공간의 차원의 대해서는 다음과 같이 이해해 볼 수 있겠습니다.

<aside> 💡 특정 공간의 차원은 그 공간에 놓여 있는 ‘점’을 표현하기 위해 필요한 숫자의 개수로 이해될 수 있다.

</aside>

저희는, 구 표면 위의 점을 표현하기 위해 최소 두개의 숫자(e.g., 위도와 경도)가 필요하다는 것을 알고 있습니다. 즉, 구 표면은 3차원 공간 속에 놓여있긴 하지만, 2차원 공간인 것이죠.

이제, 데이터에 대한 이야기로 넘어오겠습니다. 다양체 가설에서는 고차원의 데이터가 공간을 꽉 채우고 있지 않고 상대적으로 훨씬 저차원의 공간만 차지하고 있다고 말합니다. [그림 4]는 다양체 가설을 만족하는 간단한 예시를 보여주고 있습니다. 3차원 데이터들이 실제로 차지하고 있는 공간은 2차원 S자 모양의 곡면이 됩니다.

[그림 4] 3차원 데이터들이 모여서 2차원 곡면을 형성하고 있다. (참조: https://scikit-learn.org/stable/modules/manifold.html)

[그림 4] 3차원 데이터들이 모여서 2차원 곡면을 형성하고 있다. (참조: https://scikit-learn.org/stable/modules/manifold.html)

조금 더 어려운 문제로 넘어와서, 고차원 사진 데이터를 생각해 보겠습니다. 아래 [그림 5]는 10장의 사진 데이터를 보여주고 있습니다. 각 사진의 해상도는 728 x 1280으로 굉장히 높습니다. 즉, 이 사진들은 고차원 공간 상의 10개의 점에 해당이 됩니다.

[그림 5] 10장의 사진 데이터. 각 사진의 해상도는 728 x 1280 이며, 왼쪽에서 오른쪽으로 고개를 돌리고 있다.

[그림 5] 10장의 사진 데이터. 각 사진의 해상도는 728 x 1280 이며, 왼쪽에서 오른쪽으로 고개를 돌리고 있다.