벡터 DB란?
벡터 데이터베이스는 데이터를 다차원 벡터 형태로 저장하고 검색할 수 있게 해주는 데이터베이스입니다.
특징
- 벡터 임베딩: 텍스트, 이미지 등의 데이터를 수치형 벡터로 변환하여 저장
- 유사도 검색: 벡터 간의 거리를 계산하여 유사한 데이터를 빠르게 검색
- 확장성: 대규모 데이터셋에서의 효율적 검색
활용 분야
- 추천 시스템: 사용자 선호도 기반의 제품/콘텐츠 추천
- 자연어 처리: 의미 기반 검색 및 질의응답 시스템
- 이미지 검색: 시각적 유사도 기반 이미지 검색
알고리즘
Exhaustive - 브루트포스
- L2 Distance : 벡터 간 거리
- $(a, b) => \sqrt{\sum_i(a_i - b_i)^2}$
- Cosine similarity : 내적
- $(a, b) => \frac{a \dot b}{|a| |b|}$
Non-Exhaustive → ANN(Approximate Nearest Neighbor)
- Accuracy ←→ Delay Tradeoff
IVF - Inverted File Index :