티스토리 뷰

1. 벡터 임베딩이란?

- 텍스트, 이미지, 오디오 등 다양한 데이터를 고차원 공간의 연속적인 수치 데이터로 변환하는 과정

- 데이터의 특징이나 의미를 수치로 표현하여 기계가 이를 쉽게 처리할 수 있도록 만드는 것이 목적

 

1) 자연어 처리(NLP)에서 벡터 임베딩

- World2Vec, GloVe, BERT와 같은 모델을 사용해 벡터로 변환함으로써 문맥적 유사도 및 의미적 관계를 파악

- 자연어는 컴퓨터가 직접 이해할 수 없어서 단어, 문장, 문서벡터로 변환해야 한다.

 

- World2Vec(2013) : 단어 간의 문맥을 학습해 의미가 유사한 단어를 가까운 벡터로 매핑하는 방식

  • 단어간 유사도를 벡터 연산으로 구할 수 있다.
  • CBOW: 주변 단어를 보고 중심 단어를 예측하는 방식
  • Skip-gram: 중심 단어를 보고 주변 단어를 예측하는 방식
  • 예: 왕-남자, 여자-여왕

- GloVe(2014)

  • 전체 말뭉치의 동시 발생 행렬을 사용해 단어 벡터를 학습
  • 단어 간의 통계적 관계를 더 잘 반영
  • 파리-프랑스, 독일-베를린

- FastText(2016, facebook)

  • 단어를 작은 단위(subword, n-gram)로 나누어 벡터를 학습
  • 예: 사랑합니다 → 사랑, 합니다, 랑합 등의 조합으로 임베딩

- BERT(2018)

  • 트랜스포머 모델을 사용해 단어의 문맥을 양방향으로 학습
  • 같은 단어라도 문맥에 따라 벡터 값이 달라지며, 문장 수준의 의미를 더 잘 반영한다
  • 예: 은행에 가서 돈을 찾았다 (은행: 금융기관), 강가에 있는 은행나무(은행: 나무)

2) 이미지 처리

- 이미지의 특징을 CNN(합성곱 신경망)을 통해 벡터로 변환하여 이미지 검색이나 분류에 활용

- 이미지는 픽셀 값으로 이루어져 있으며, 일반적으로 딥러닝 모델을 사용해 벡터로 변환된다.

 

- CNN 기반

  • 입력 이미지를 CNN에 통과 → 마지막 Fully Connected Layer 전에 있는 벡터를 추출 → 이미지의 임베딩 벡터로 사용
  • 예: 동ㅇ딜한 강아지 사진은 유사한 벡터를 가짐

 

- ResNet, EfficientNet 등의 사전 학습 모델 사용

  • ResNet-50, EfficientNet과 같은 모델을 사용해 벡터를 추출할 수 있음
  • 이미지 검색 시스템에서는 데이터베이스 내의 이미지들을 벡터로 변환한 후, 사용자가 업로드한 이미지와 가장 유사한 벡터를 찾아내는 방식으로 동작


2. 벡터 DB란?

- 벡터 데이터를 저장하고 관리하며, 특히 벡터 간의 유사도(거리)를 기반으로 데이터를 빠르게 검색할 수 있도록 최적화된 데이터베이스

- 유사도 검색: 사용자가 특정 쿼리 벡터를 입력하면 DB 내에서 가장 유사한 벡터를 빠르게 찾아낼 수 있다

- 대용량 데이터처리: 고차원 벡터를 대규모로 저장하고, 실시간 또는 근실시간으로 검색할 수 있도록 설계

- 추천 시스템, 이미지 및 영상 검색, 자연어 처리 기반 검색 엔진, 이상 탐지 및 클러스터링 등에 사용된다. 

- 주요 벡터 DB 엔진

벡터 DB 특징
FAISS Facebook에서 개발한 오픈소스, 빠른 검색 가능
Milvus 대규모 데이터 처리 가능, 다양한 인덱싱 지원
Pinecone 클라우드 기반 벡터 DB, 관리형 서비스
Weaviate 스키마 없는 데이터 모델 지원, AI 검색 가능

 

3. 벡터 검색에서 유사도 측정

- 코사인 유사도 : 두 벡터 방향이 얼마나 유사한지 측정

- 유클리드 거리 : 두 벡터 간의 직선 거리 측정

- 내적: 벡터의 내적을 계산하여 유사도 측정

 

4. 활용 사례

1) 추천 시스템

- 사용자의 선호도를 기반으로 맞춤형 콘텐츠를 제공하는 시스템

- 사용자의 행동, 리뷰, 관심사 등을 벡터화 한 후 유사한 벡터를 찾아 추천을 수행

- 영화추천: 영화의 장르, 출연 배우, 줄거리 등을 벡터 임베딩하여 유사한 영화를 추천

- 이미지 검색: 이미지를 CNN모델로 벡터화 후 저장된 벡터와 비교

- 자연어 검색: 사과를 검색하면 애플은 검색되지 않음 → 단순한 키워드 매칭 방식을 벡터로 변환해 유사한 문장 검색

- 챗봇: 사용자 질문을 BERT로 벡터 변환 → 기존 질문 데이터와 가장 유사한 질문을 검색

- 보안 및 이상탐지: 일반적인 카드 사용 패턴을 벡터화 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함