임베딩 벡터 - 1. 임베딩 벡터란?

2025. 3. 26. 16:21AI/AI

 

📘 1. 임베딩 벡터란?


🔹 1.1 임베딩 벡터의 정의

임베딩 벡터(Embedding Vector)란 텍스트, 이미지, 사용자 행동 같은 비정형 데이터를 숫자 벡터로 변환한 표현입니다.
단순히 숫자만 나열하는 것이 아니라, 데이터의 의미나 관계를 내포한 벡터입니다.

  • 예시:
    • "고양이" → [0.23, -0.44, 0.91, ...]
    • 이 숫자들은 고양이라는 단어의 의미를 수치적으로 압축한 것이라 볼 수 있습니다.

✅ 요약: 임베딩 벡터는 데이터를 기계가 이해하고 계산할 수 있도록 의미 기반으로 수치화한 벡터입니다.


🔹 1.2 임베딩 벡터가 필요한 이유

✅ 1) 기계는 수치 데이터만 처리 가능

딥러닝 모델은 숫자만 입력으로 처리할 수 있습니다.
텍스트나 이미지 같은 비정형 데이터는 그대로 사용할 수 없으므로, 숫자 형태로 변환이 필요합니다.

✅ 2) 기존 방식(one-hot 인코딩)의 한계

One-hot 인코딩은 단어 수만큼의 차원을 만들고, 해당 단어 위치에만 1을 부여하는 방식입니다.

  • 예: 단어 사전에 "고양이"가 네 번째라면 → [0, 0, 0, 1, 0, 0, ...]
  • 단점:
    • 단어 간 의미 관계가 반영되지 않음
    • 고차원이며 희소(sparse)해서 계산 비효율적

✅ 3) 임베딩 벡터는 의미와 효율성을 동시에 확보

  • 예: "강아지"와 "고양이"는 의미가 유사하므로 벡터 공간에서도 서로 가깝게 위치
  • 차원이 낮고 밀집(dense)되어 있어 학습과 계산에 효율적

💡 실생활 예시:
검색엔진에서 "디지털 카메라"를 검색하면, 문서나 상품을 임베딩 벡터로 변환한 뒤
입력 쿼리 벡터와 유사한 항목을 빠르게 찾는 방식으로 동작합니다.


🔹 1.3 임베딩 벡터 표현의 장점

✅ 1) 수학적 연산이 가능하다

임베딩 벡터는 벡터 연산을 통해 개념 간의 관계를 추론할 수 있습니다.

  • 예: 벡터("왕") - 벡터("남자") + 벡터("여자") ≈ 벡터("여왕")

✅ 2) 유사도 측정이 가능하다

두 벡터 간 거리를 계산해 의미적 유사성을 파악할 수 있습니다.

비교 방식 개념 특징 주로 사용되는 상황
코사인 유사도 두 벡터 사이의 각도 방향(의미) 중심 문서, 문장 유사도 비교
유클리디안 거리 두 벡터 사이의 직선 거리 위치 중심 이미지, 사용자 임베딩 비교 등

🔎 코사인 유사도는 방향성을 고려하기 때문에 자연어 처리 분야에서 많이 사용됩니다.

✅ 3) 시각화 및 클러스터링이 가능하다

고차원 임베딩 벡터는 시각화 기법을 통해 저차원으로 변환 후 군집 구조를 확인할 수 있습니다.

  • t-SNE: 국소 구조(가까운 관계)를 잘 보존, 단어 간 의미적 클러스터 확인 가능
  • UMAP: 전반적인 구조 유지 + 빠른 계산 속도

📈 예를 들어, "음식", "과일", "동물" 관련 단어들이 각각 클러스터처럼 모여 있는 모습을 확인할 수 있습니다.


🔹 📌 요약 정리

항목 설명
정의 데이터를 의미 있는 숫자 벡터로 변환한 표현
필요성 기계 학습을 위한 수치화, 의미 관계 반영, 기존 기법의 한계 극복
장점 연산 가능, 유사도 계산 가능, 시각화 가능, 효율적 표현