Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Vector Search

벡터 검색은 저장된 임베딩 중 쿼리 벡터와 가장 가까운 항목을 찾습니다. 정확한 k-NN 또는 HNSW 및 IVF 같은 근사 인덱스를 사용해 수백만 개의 항목을 빠르게 검색합니다.

벡터 검색은 임베딩이 코사인 유사도, 내적 또는 유클리드 거리와 같은 유사도 측정 기준에서 쿼리 임베딩과 가장 가까운 항목을 검색합니다. 임베딩 모델은 의미나 외관이 유사한 항목을 서로 가까이 배치하므로, 쿼리와 키워드를 공유하지 않더라도 가장 가까운 벡터가 가장 유사한 문서, 이미지 또는 제품을 나타냅니다. 정확 벡터 검색은 저장된 모든 벡터를 대상으로 하는 k-최근접 이웃(k-NN) 조회입니다. 대규모 시스템은 전체 벡터 중 일부만 쿼리와 비교하면서도 실제 이웃을 거의 모두 반환하는 근사 최근접 이웃(ANN) 인덱스를 사용합니다.

벡터 검색의 작동 방식#

쿼리와 저장된 항목은 동일한 모델 또는 함께 학습된 모델 쌍으로 임베딩됩니다. 텍스트에는 문장 인코더, 텍스트와 이미지 매칭에는 CLIP, 이미지 간 매칭에는 비전 백본을 사용할 수 있습니다. 지표는 모델 학습 방식과 일치해야 합니다. 단위 길이 벡터에서는 코사인 유사도와 내적이 같고, 유클리드 거리를 기준으로 순위를 매겨도 순서는 동일합니다. 정확 검색은 쿼리마다 저장된 벡터와 한 번씩 비교하므로 수만 개 벡터에서는 빠르지만 수억 개에서는 너무 느립니다. 따라서 대규모 시스템은 네 가지 유형의 ANN 인덱스 중 하나를 사용합니다.

  • HNSW와 같은 그래프 인덱스: 각 벡터를 계층 그래프에서 가까운 이웃과 연결하고, 쿼리 방향으로 탐욕적으로 이동해 응답합니다.
  • 클러스터링 인덱스(IVF): k-means로 벡터를 그룹화하고 쿼리와 중심점이 가장 가까운 클러스터만 검색합니다.
  • 벡터 양자화: 제품 양자화와 같이 각 벡터를 몇 바이트로 압축하여 메모리에 저장된 작은 코드로 거리를 근사합니다.
  • 디스크 기반 그래프: DiskANN처럼 SSD에 그래프 인덱스를 저장하여 단일 머신에서 수십억 개 벡터를 검색합니다.

IVF 인덱스의 핵심 아이디어는 정확 검색과 비교하는 간단한 NumPy 및 scikit-learn 예제로 확인할 수 있습니다.

import numpy as np
from sklearn.cluster import KMeans

# 20,000 embeddings grouped by topic, normalized so a dot product is cosine similarity
rng = np.random.default_rng(0)
topics = rng.normal(size=(200, 64))
vectors = topics[rng.integers(200, size=20000)] + 0.5 * rng.normal(size=(20000, 64))
vectors /= np.linalg.norm(vectors, axis=1, keepdims=True)
query = vectors[0] + 0.1 * rng.normal(size=64)

# Exact search: score every stored vector
exact = np.argsort(-(vectors @ query))[:10]

# IVF index: cluster the vectors, then scan only the lists of the 5 closest centroids
kmeans = KMeans(n_clusters=100, n_init=1, random_state=0).fit(vectors)
probed = np.argsort(-(kmeans.cluster_centers_ @ query))[:5]
candidates = np.flatnonzero(np.isin(kmeans.labels_, probed))
approx = candidates[np.argsort(-(vectors[candidates] @ query))[:10]]

print(f"scanned {len(candidates) / len(vectors):.1%} of vectors")
print(f"recall@10: {len(set(exact) & set(approx)) / 10:.0%}")

100개 클러스터 중 5개를 탐색하면 벡터의 5.1%를 스캔하고도 실제 최근접 이웃 10개를 모두 찾아 재현율@10이 100%에 도달합니다. 클러스터를 더 많이 탐색할수록 재현율과 비용이 모두 증가하므로, IVF 인덱스에서 조정할 핵심 설정은 탐색 횟수입니다.

  • 키워드 검색: 역색인에서 정확히 일치하는 용어를 조회하고 BM25와 같은 공식으로 순위를 매깁니다. 이름, 코드, 드문 단어 검색에는 뛰어나지만 동의어는 놓칩니다.
  • 시맨틱 검색: 의미를 기준으로 검색하는 방식으로, 벡터 검색이 가장 자주 활용되는 목적입니다. 시맨틱 검색 시스템은 쿼리 재작성이나 재순위화기를 추가로 사용하는 경우가 많습니다.
  • 하이브리드 검색: 키워드 검색과 벡터 검색을 함께 실행하고 두 순위 목록을 결합합니다.
  • 벡터 데이터베이스: 메타데이터와 함께 벡터를 저장하고 필터링, 업데이트, 영속성을 지원하는 벡터 검색을 제공하는 시스템입니다.

실제 적용 사례#

  • 검색 증강 생성(RAG): 언어 모델이 질문에 답하는 데 필요한 문서 구절을 찾습니다.
  • 객체 재식별: 사람이나 차량의 외관 임베딩을 이전에 관측된 항목과 비교해 여러 카메라에서 동일한 객체를 연결합니다.
  • 안면 인식: 얼굴 임베딩을 등록된 얼굴과 비교하고 충분히 가까운 항목을 선택합니다.
  • 추천 시스템: 사용자가 최근 선택한 항목과 임베딩이 가까운 제품, 노래 또는 동영상을 추천합니다.

Ultralytics Platform은 벡터 검색을 사용해 학습 데이터셋을 확장합니다. 유사 이미지 찾기 작업은 선택한 이미지를 기반으로 공개 데이터셋과 사용자의 데이터셋 및 팀 데이터셋에서 임베딩이 가장 가까운 이미지를 검색하고, 유사도 점수와 함께 최대 24개의 결과를 표시합니다. 표시된 이미지는 라벨이 지정되지 않은 학습 이미지로 데이터셋에 추가할 수 있습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요