**벡터 스페이스와 정보 검색의 관계**
Shared on April 22, 2026
Vector‑Space Retrieval – 핵심 요약
개요
- 주제: 문서 검색에서 문서를 벡터 공간에 매핑하고, 쿼리와 문서 간의 유사도를 계산해 순위를 매기는 방법을 학습한다.
- 핵심 목표:
- 문서와 쿼리를 벡터화하고 코사인 유사도를 사용해 문서의 관련성을 정량화한다.
- 효율적인 k‑Nearest Neighbor 검색을 위해 인덱스와 희소성, 정렬/힙, 사전 계산(Preferred List) 등을 활용한다.
- 차원 축소(랜덤 프로젝션, LSI)와 BM25 같은 대안 기법을 이해한다.
주요 개념
| 항목 | 핵심 내용 |
|---|---|
| 문서와 쿼리 | 문서를 단어 빈도(tf) × 역문서 빈도(idf) 가중치로 벡터화. 쿼리도 같은 방식으로 표현. |
| 코사인 유사도 | 두 벡터의 내적을 각 벡터 길이의 곱으로 나눈 값. 길이 정규화(L2 norm) 후 단위 구면에 매핑. |
| 효율적 순위 | 전체 문서(n)에 대해 모든 유사도를 계산하지 않기 위해: <br>• 희소성 활용 – 쿼리 단어에 해당하는 문서만 누적 <br>• 힙을 이용해 상위 k개만 추출 <br>• Preferred List(각 단어별 가장 관련 있는 m 문서 사전 계산) 활용 |
| 차원 축소 | 1. 랜덤 프로젝션: 고차원 벡터를 무작위 직교 축으로 투영, 거리 보존 확률론적 보장 <br>2. LSI: SVD를 통해 의미적 축 추출, 데이터에 종속적 |
| BM25 | TF‑IDF 기반이지만 문서 길이 정규화(b)와 TF Saturation(k1) 파라미터를 추가해 성능 튜닝 가능 |
| 정규화와 소프트맥스 | Softmax는 비선형이며, 역전파 시 정규화(softmax → normalization)가 왜곡을 발생시킬 수 있음. |
| 토크론(토크콘트) | 벡터 길이 절반화 시 attention, softmax, 정규화 단계에서 비선형 효과가 누적돼 성능 저하 가능성 탐구 |
상세 노트
1. 문서 벡터화
- tf‑idf 가중치:
w_i = tf_ij * idf_i - L2 정규화:
||d|| = sqrt(∑ w_i²)→ 단위 구면에 매핑 - 희소성: 대부분의 문서가 매우 높은 차원(50k+)이지만, 실제 비어 있는 성분은 거의 없음.
2. 코사인 유사도 계산
- 식:
cos(d,q) = (∑ w_i^d * w_i^q) / (||d|| * ||q||) - 전제:
q는 매우 희소,d는 대부분 밀집. - 유사도 순위: 유사도가 높은 문서가 주제적으로 유사함.
3. 효율적 k‑NN 검색
| 단계 | 방법 | 비고 |
|---|---|---|
| 1. 쿼리 단어 추출 | 인버스 인덱스에서 해당 단어를 가진 문서 집합 확보 | 문서 수 ≤ 20% of n (희소성) |
| 2. 누적점수 | 각 문서에 대해 score += w_i^d * w_i^q | 힙(또는 배열)으로 누적 |
| 3. 정렬/힙 | k개 최고 점수 문서 추출 | O(n)보다 훨씬 빠름 |
| 4. 사전 계산(Preferred List) | 각 단어에 대해 가장 높은 m 문서 사전 저장 | m > k 필요, 검색 시 S = ⋃ preferred_lists |
4. 차원 축소 기법
랜덤 프로젝션
- 절차:
k개의 무작위 직교 벡터x1…xk생성- 각 문서 벡터
d를xj·d로 투영 →k차원 벡터
- 보장: Johnson–Lindenstrauss Lemma → 거리 보존(확률론적)
- 비용:
kmn곱셈, 대규모 데이터에 비효율적 → 희소 행렬을 활용하거나 사전 계산 필요
LSI (Latent Semantic Indexing)
- 절차: SVD(
A = UΣVᵀ) → 상위ksingular values 보존 - 특징: 의미적 축 추출, 데이터에 종속적 → 사전 학습 필요
5. BM25
- 식:
score(q,d) = Σ_i IDF_i * ( (f_{i,d} * (k1+1)) / (f_{i,d} + k1*(1-b + b*|d|/avgdl)) ) - 파라미터:
k1(TF Saturation),b(문서 길이 정규화) - 장점: 길이 보정과 TF Saturation을 직관적으로 조정 가능
6. 정규화와 소프트맥스
- 문제: Softmax → 비선형 → 정규화 단계에서 값 왜곡 가능
- 해결: Layer Normalization 또는 Batch Normalization 사용 시, 입력 스케일을 맞추어 소프트맥스 효과 감소
7. 토크콘트(토크콘트)
- 정의: 문서 길이 절반화(
w_i → w_i/2) 시 attention, softmax, 정규화 단계에서 1/4 감소가 누적 → 유사도 왜곡 - 관찰: 문서 길이와 TF 가중치가 모두 반으로 줄어들어
cosine이 1/4가 되지 않음. - 결론: 단순 길이 절반화는 성능 저하 위험 → 차원 축소와 정규화 단계에서 균형 잡힌 스케일링 필요
핵심 takeaway
벡터 공간 모델은 문서와 쿼리를 동일한 수학 공간에 매핑해 유사도를 계산한다. 효율성은 희소성 활용, 힙 기반 상위k검색, 사전 계산된 Preferred List, 차원 축소(랜덤 프로젝션/LSI)로 크게 향상된다. BM25는 길이 정규화와 TF Saturation을 명시적으로 제어해 실전 성능을 높이는 대안이다. 정규화(softmax)와 토크콘트와 같은 비선형 변형은 성능 저하를 초래할 수 있으므로 주의가 필요하다.