UMAP (UMAP (Uniform Manifold Approximation and Projection))

컴퓨터과학·AI
한 줄 정의: 데이터가 놓인 국소적인 이웃 구조를 위상수학적으로 근사해 고차원 데이터를 저차원으로 빠르게 투영하는 비선형 차원 축소 기법.

쉽게 풀면

UMAP도 t-SNE처럼 고차원 데이터의 군집 구조를 저차원에서 보존하며 시각화하는 데 쓰이지만, 계산 방식이 달라 훨씬 빠르고 대규모 데이터에도 잘 확장됩니다. 각 데이터 점 주변의 이웃 관계를 그래프로 표현한 뒤, 이 그래프 구조를 저차원 공간에서도 최대한 비슷하게 유지하도록 최적화하는 방식이에요. t-SNE보다 전역적인 구조(군집들 사이의 상대적 배치)도 어느 정도 더 잘 보존하는 경향이 있어 최근 시각화나 전처리 단계에서 많이 선택됩니다. 단일 세포 유전체 데이터처럼 매우 큰 데이터셋을 다루는 분야에서도 널리 쓰입니다.

왜 중요한가

UMAP은 고차원 데이터를 사람이 눈으로 이해할 수 있는 2~3차원으로 빠르게 옮겨주기 때문에, 대규모 데이터셋의 군집 구조나 이상치를 탐색적으로 파악하는 첫 단계로 폭넓게 쓰입니다. 특히 단일세포 유전체학처럼 수만~수십만 개의 관측치를 다루는 분야에서는 t-SNE보다 계산 속도가 빠르고 전역 구조도 비교적 잘 보존한다는 장점 때문에 표준 시각화 도구로 자리잡았으며, 딥러닝 임베딩 공간을 해석하는 용도로도 자주 인용됩니다.

논문에서는 이렇게 쓰입니다

"수십만 개의 임베딩 벡터를 효율적으로 시각화하기 위해 t-SNE 대신 UMAP을 사용하였다."

데이터 규모가 커서 계산이 오래 걸리는 t-SNE 대신 더 빠른 UMAP으로 시각화를 수행했다는 뜻이다.

"단일세포 RNA 시퀀싱 데이터의 세포 유형별 군집을 시각화하기 위해 UMAP 임베딩을 수행하였다."

생물정보학 분야에서는 수만 개의 세포가 가진 유전자 발현 프로파일을 2차원 지도로 압축해, 세포 유형이 서로 얼마나 다른지 한눈에 보여주는 용도로 UMAP이 표준처럼 사용됩니다.

"사전학습된 언어모델의 문장 임베딩을 UMAP으로 투영하여 주제별 군집이 형성되는지 정성적으로 분석하였다."

자연어처리 연구에서는 모델이 학습한 임베딩 공간이 실제로 의미 있는 군집을 형성하는지 확인하는 정성적 분석 도구로 UMAP을 활용하는 경우가 많습니다.

조금 더 깊게 보면

UMAP은 각 데이터 점 주변의 이웃 관계를 퍼지 위상수학(fuzzy topology) 개념으로 표현한 그래프를 만들고, 이 그래프의 구조를 저차원 공간에서도 최대한 비슷하게 재현하도록 최적화하는 방식으로 동작합니다. 이웃 수(n_neighbors)와 최소 거리(min_dist) 같은 하이퍼파라미터가 결과 형태에 큰 영향을 주는데, 이웃 수가 작으면 국소 구조를, 크면 전역 구조를 더 강조하는 경향이 있습니다. t-SNE와 마찬가지로 시각화 결과의 군집 간 거리나 크기를 정량적 의미로 그대로 해석하는 것은 주의가 필요하며, 어디까지나 상대적인 군집 구조를 탐색하는 도구로 이해하는 것이 일반적입니다.

주의할 점

UMAP도 t-SNE와 마찬가지로 하이퍼파라미터(이웃 수 등)에 따라 결과 모양이 달라질 수 있어 여러 설정으로 결과를 비교해보는 것이 안전하다.

관련 용어