벡터의 차원(Dimension)이란 무엇인가? 그리고 차원이 높아질 때 생기는 문제들

이세준·2025년 8월 4일
0

벡터의 차원(Dimension)이란 무엇인가? 그리고 차원이 높아질 때 생기는 문제들

벡터는 여러 개의 숫자로 이루어진 수학적 객체입니다. 이 숫자들의 개수를 벡터의 차원(Dimension) 이라고 부릅니다. 벡터의 차원은 벡터가 위치하는 공간의 ‘축’의 개수라고 생각할 수 있습니다.


1. 벡터의 차원(Dimension)이란?

예를 들어,

  • 2차원 벡터: [3,4][3, 4] → 2개의 숫자, 즉 2차원 공간에 위치한 점
  • 3차원 벡터: [1,5,2][1, 5, 2] → 3개의 숫자, 3차원 공간의 점
  • 128차원 벡터: [v1,v2,...,v128][v_1, v_2, ..., v_{128}] → 128개의 숫자가 모여 하나의 벡터

차원이 높아질수록 벡터를 표현하는 숫자의 개수가 많아지고, 벡터가 표현할 수 있는 정보의 양이 늘어납니다.
특히 AI 임베딩에서는 보통 128, 256, 512, 768 등 수백에서 수천 차원의 벡터가 자주 사용됩니다.


2. 차원이 높아질수록 생기는 문제들 — 차원의 저주 (Curse of Dimensionality)

차원이 늘어나는 것은 표현력과 정보량을 높이지만, 동시에 여러 가지 심각한 문제를 유발합니다. 이를 차원의 저주라고 부릅니다.

(1) 데이터 희소성 증가

차원이 높으면, 데이터가 그 공간에서 차지하는 밀도가 급격히 낮아집니다. 즉, 고차원 공간에서는 데이터가 ‘희소’해져서, 가까운 이웃조차 찾기 어려워집니다.

(2) 거리 개념의 왜곡

고차원에서는 두 점 사이의 거리 분포가 집중되는 경향이 있습니다. 즉, 모든 점이 거의 비슷한 거리(멀거나 가까운)가 되면서, 유사도 계산이 의미를 잃을 수 있습니다.

예를 들어 유클리드 거리를 기준으로 보면, 고차원에서는 ‘가장 가까운 점’과 ‘가장 먼 점’ 간 거리 차이가 줄어드는 현상이 발생합니다.

(3) 계산 비용 급증

차원이 늘어나면 벡터를 저장하고 연산하는 데 필요한 메모리와 계산량도 비례해서 증가합니다. 이는 대규모 벡터 DB에서는 속도 저하와 비용 상승 문제로 이어집니다.

(4) 과적합 위험

머신러닝 모델에서 고차원 데이터는 모델이 너무 복잡해져서 학습 데이터에만 맞고 일반화가 어려운 ‘과적합’ 현상을 쉽게 발생시킵니다.


3. 차원의 저주 극복 방법

  • 차원 축소 기법: PCA, t-SNE, UMAP 같은 알고리즘으로 차원을 줄여 주요 정보만 남긴다.
  • 근사 최근접 탐색 (ANN): 고차원 공간에서 효율적인 인덱싱 기법을 통해 빠른 검색을 시도한다.
  • 벡터 정규화 및 거리 함수 선택: 코사인 유사도 등 거리 왜곡에 덜 민감한 방법을 사용한다.

4. 요약

항목설명
벡터 차원벡터를 구성하는 숫자의 개수, 즉 공간의 축 개수
차원의 저주차원이 높아질수록 발생하는 데이터 희소성, 거리 왜곡, 계산 비용 증가 등의 문제
문제 해결차원 축소, 효율적 인덱싱, 거리 함수 조절 등

마무리

벡터 차원은 데이터를 표현하는 데 있어 매우 중요한 개념이지만, 무작정 차원을 높이는 것은 오히려 검색과 분석의 정확도와 효율성을 해칠 수 있다. 벡터 DB나 AI 시스템을 설계할 때는 차원의 저주 현상을 이해하고 적절한 기법으로 이를 완화하는 전략이 필수적이다.

profile
기술정리

0개의 댓글