핵심 요약
데이터의 방향성, 절대적 크기, 혹은 두 가지 모두가 중요한지에 따라 서로 다른 거리 지표를 사용해야 한다. 임베딩 모델의 특성과 일치하는 지표를 선택하는 것이 검색 정확도 확보의 핵심이다.
배경
벡터 검색에서 거리를 정의하는 방식은 곧 유사도를 정의하는 방식과 직결되며, 데이터가 벡터 공간에 임베딩된 후의 위치는 그 데이터의 의미를 나타낸다.
대상 독자
벡터 데이터베이스를 활용해 검색이나 추천 시스템을 구축하려는 개발자 및 데이터 엔지니어
의미 / 영향
데이터의 특성을 고려하지 않은 거리 지표 선택은 검색 결과의 품질을 저하시킨다. Qdrant와 같은 벡터 DB 설정 시 임베딩 모델의 학습 방식과 일치하는 지표를 선택함으로써 시스템의 전체적인 정확도를 최적화할 수 있다. 특히 대규모 RAG 시스템 구축 시 지표 선택에 따라 검색 성능과 인프라 비용 효율성이 결정된다.
챕터별 상세
벡터 검색과 거리 지표의 관계
- •벡터 공간 내의 위치는 데이터의 의미를 인코딩함
- •유사도는 고정된 값이 아니라 선택한 거리 지표에 따라 달라짐
- •Qdrant는 검색 효율성을 위해 정규화된 벡터에서 Cosine을 Dot Product로 구현함
벡터 검색은 텍스트나 이미지를 고차원 숫자의 배열인 벡터로 변환한 뒤, 질문 벡터와 가장 가까운 벡터를 찾아내는 기술이다.
Cosine Similarity: 방향 중심의 유사도 측정
- •두 벡터 사이의 각도 코사인 값을 계산하여 유사도 측정
- •벡터의 크기가 의미를 갖지 않는 텍스트 의미 비교에 최적화
- •벡터 길이가 정보에 포함된 경우 Cosine Similarity는 이를 무시함
코사인 유사도는 벡터의 크기보다는 두 벡터가 가리키는 방향이 얼마나 일치하는지에 집중하는 지표이다.
Euclidean Distance: 절대적 거리 측정
- •모든 차원에서 발생하는 수치적 차이의 합을 직선 거리로 계산
- •데이터의 스케일(Scale)에 매우 민감하여 정규화가 필수적임
- •의미적 유사성보다는 절대적 수치 차이가 중요한 센서 데이터 등에 적합
유클리드 거리는 우리가 일상에서 사용하는 '두 지점 사이의 거리' 개념과 동일하다.
Dot Product: 방향과 크기의 결합
- •벡터의 방향과 크기(Magnitude)를 모두 고려하여 점수 산출
- •추천 엔진에서 선호도의 강도를 반영하기 위해 주로 사용
- •문서 길이나 기능 수에 따라 크기가 의도치 않게 변하는 데이터에는 부적합
내적(Dot Product)은 두 벡터가 같은 방향을 향하면서 동시에 크기가 클 때 가장 높은 값을 반환한다.
실무 Takeaway
- 텍스트 의미 검색(Semantic Search)에서는 벡터 길이에 영향을 받지 않는 Cosine Similarity를 우선적으로 고려한다.
- 이미지나 센서 데이터처럼 각 차원의 절대적인 수치값이 중요할 때는 Euclidean Distance를 선택한다.
- 추천 시스템에서 사용자의 선호 강도를 점수에 반영하고 싶다면 Dot Product가 가장 적합하다.
- 임베딩 모델이 학습될 때 사용한 거리 지표와 검색 시 사용하는 지표를 일치시켜야 최적의 Recall을 얻을 수 있다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.