Bldev's Blog

벡터 유사도 검색(Vector Similarity Search)의 수학적 원리와 임베딩

2026. 9. 3.

벡터 유사도 검색의 개념과 정의

벡터 유사도 검색(vector similarity search)(또는 벡터 검색)이란 벡터로 표현되는 데이터를 검색하는 데이터 검색 방법이다. 벡터란 단어, 문장, 문서, 이미지, 영상 데이터의 숫자 표현이다. 머신러닝 모델과 인공지능 응용 애플리케이션에서 주로 사용되는 개념이다. 벡터는 데이터 간의 의미적(semantic) 관계와 유사도(similarity)를 확인할 수 있게 하므로 단순 키워드 기반 검색 보다 질의에 대한 의미 및 문맥에 더 적합한 검색을 가능하게 한다.

벡터 데이터베이스는 벡터 데이터의 저장소이다. 데이터를 벡터 데이터베이스에 저장하기 위해서는 데이터를 먼저 벡터로 변환해야 한다. 데이터를 간단한 형태로 변환하는 것을 임베딩(embedding)이라고 하며 데이터를 벡터 형태로 변환하는 것을 벡터화(vectorization) 또는 벡터 임베딩(vector embedding)이라고 한다.

데이터를 벡터로 임베딩하는 사전 학습 모델을 벡터 임베딩 모델(vector embedding model)이라고 하며, 예로 Word2Vec, GloVE, FastText이나 BERT(Bidirectional Encoder Representations from Transformers) 또는 RoBERTa(BERT 기반 성능 향상 모델) 같은 사전 학습된 트랜스포머(transformer) 기반 모델이 있다.

벡터 데이터베이스는 벡터 데이터를 단순히 저장하는 역할 뿐만 아니라 서로 다른 벡터 데이터 간 유사도를 계산하여 벡터 데이터를 검색하는 역할도 수행한다. 이를 유사도 검색(similarity search) 또는 시맨틱 검색(semantic search)이라고 한다.

실시간 인터랙티브 코사인 유사도 연산