1. 임베딩(Embedding)이란 무엇인가?
임베딩은 단어나 문장(텍스트), 이미지, 음성 등 비정형 데이터를 숫자 벡터 공간에 매핑하는 기술이다.
목적은 간단하다.
- 컴퓨터가 처리 가능한 형태(벡터)로 바꾸고
- 의미적 유사성을 수학적으로 계산할 수 있게 만드는 것
즉, 임베딩은 데이터를 의미 기반 벡터로 바궈주는 AI의 눈이라고 보면 된다.
2. 임베딩이 필요한 이유
기계는 텍스트나 이미지를 직접 이해하지 못한다.
하지만 벡터 형태로 바꾸면 다음이 가능해진다.
- 유사도 검색(semantic search)
- 분류(classification)
- 클러스터링(clustering)
- 추천(recommendation)
- 검색 기반 QA(RAG)
고성능 AI 모델의 중심에는 항상 "좋은 임베딩"이 있다.
3. 임베딩의 종류
임베딩은 크게 다음 4가지로 나눌 수 있다.
| 범주 | 예시 |
| 텍스트 임베딩 | Word2Vec, GloVe, BERT, GPT 임베딩 |
| 문장 임베딩 | Sentence-BERT, OpenAI Embeddings |
| 이미지 임베딩 | CNN feature, CLIP, ViT Embeddings |
| 음성 임베딩 | MFCC, wav2vec 2.0, Whisper Embeddings |
아래에서 각각을 심층적으로 분석한다.
4. 텍스트 임베딩 (Word Embeddings)
4.1 고전적 방식: Word2Vec, GloVe, FastText
(1) Word2Vec (CBOW / Skip-gram)
- 구글이 개발
- 단어의 분포적 가설(distributional hypothesis)에 기반
- 목표: 비슷한 문맥에 등장하는 단어 → 비슷한 벡터
장점
- 빠름
- 단어 의미 간 유사성이 잘 드러남
- 유명한 "king - man + woman = queen" 예제
단점
- OOV(out-of-vocabulary) 문제
- 다의어 처리 불가 ("bank"= 강둑/은행)
(2) GloVe (Global Vector)
- 스탠포드 개발
- Word2Vec은 "지역적 문맥"만 학습하지만 GloVe는 "전역 동시 등장 행렬 통계"까지 활용
장점
- 더 정교한 의미 파악
- 유의미한 벡터 공간 구조
단점
- 여전히 단어 단위, 문맥 반영 한계
(3) FastText
- Facebook 개발
- subword 기반
→ "apple", "apples", "appl" 등을 분해하여 단어 구성 기반 임베딩 생성 가능
장점
- 희귀 단어·오탈자·신조어 처리에 강함
단점
- 문맥(문장 전체 의미) 파악은 낮음
4.2 현대 방식 : Contextual Embeddings (BERT, GPT)
(1) BERT 임베딩
- 단어 하나도 문맥에 따라 벡터가 달라짐
- 예: "bank" (강둑 vs 은행) → 서로 다른 의미 벡터 제공
장점
- 문맥을 반영한 고성능 임베딩
단점
- 느리고, 모델이 무거움
(2) GPT / OpenAI Embeddings
GPT 계열은 sentence-level, document-level 의미 추출에 특화된 임베딩 제공
- text-embedding-3-large
- text-embedding-3-small
장점
- 문장 의미 유사도 최고 성능
- 검색(RAG)에 최적화
단점
- API 기반 사용이 많고 모델 이해도 필요
4.3 텍스트 임베딩 예제 코드 (Python)
Word2Vec (gensim)
from gensim.models import Word2Vec
sentences = [["i", "love", "tensorflow"], ["i", "love", "python"]]
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1)
print(model.wv["love"])
BERT 기반 Sentence-BERT
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("all-MiniLM-L6-v2")
emb = model.encode("임베딩은 AI에서 매우 중요하다.")
print(emb.shape)
5. 이미지 임베딩 (Image Embeddings)
이미지는 픽셀(고차원 데이터)이므로 이를 벡터(예: 512-dim)로 변환하는 과정이 필요하다.
5.1 CNN 기반 특징 추출
ResNet, VGG 같은 CNN 분류기의 마지막 FC layer 직전 벡터를 임베딩으로 사용
장점
- 비교적 안정적, 빠름
단점
- 텍스트 의미와 결합 어려움
5.2 Vision Transformer (ViT)
이미지를 patch 단위로 분해하여 transformer 인코딩
장점
- 이미지 전체의 전역 정보 반영
단점
- 훈련 비용 큼
5.3 CLIP Embedding - 텍스트·이미지 멀티모달 시대의 시작
OpenAI가 개발, (이미지↔텍스트) 의미 공간 통합 모델
- 동일 벡터 공간에서 이미지와 텍스트 비교 가능
- 검색, 이미지 캡션, Zero-shot 분류 등 활용 가능
장점
- 이미지 전체의 전역 정보 반영
단점
- 훈련 비용 큼
5.4 이미지 임베딩 코드 예제 (CLIP)
import torch
import clip
from PIL import Image
model, preprocess = clip.load("ViT-B/32")
image = preprocess(Image.open("cat.jpg")).unsqueeze(0)
with torch.no_grad():
img_emb = model.encode_image(image)
print(img_emb.shape)
6. 음성 임베딩 (Audio / Speech Embedding)
음성은 시간적 신호이기 때문에 텍스트/이미지와는 처리 방식이 다르다.
6.1 전통적 방식: MFCC, Spectrogram
MFCC(Mel-frequency cepstral coefficients)
- 음성을 스펙트럼으로 변환한 후 압축한 특징
- 음성 인식 전처리로 널리 사용
장점
- 계산량 적고 빠름
단점
- 의미(semantic)를 담지 못함
6.2 딥러닝 기반: wav2vec 2.0, HuBERT, Whisper
wav2vec 2.0
- 음성 → Transformer 인코딩
- 벡터가 "말소리의 의미 + 내용 정보"를 포함
Whisper Embedding (OpenAI)
Whisper 모델은 음성을 텍스트와 유사한 semantic embeddings 공간에 매핑
장점
- 언어/억양/소음 환경에 강함
- 음성을 다국어 semantic space로 변환 가능
6.3 음성 임베딩 예제 코드 (wav2vec 2.0)
from transformers import Wav2Vec2Model, Wav2Vec2Processor
import torch
import torchaudio
processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-base-960h")
model = Wav2Vec2Model.from_pretrained("facebook/wav2vec2-base-960h")
speech, _ = torchaudio.load("sample.wav")
inputs = processor(speech, return_tensors="pt", sampling_rate=16000)
with torch.no_grad():
emb = model(**inputs).last_hidden_state
print(emb.shape)
7. 임베딩 비교 정리
| 임베딩 종류 | 장점 | 단점 | 주요 모델 |
| 텍스트(단어) | 빠르고 단순 | 문맥 반영 낮음 | Word2Vec, GloVe |
| 문장 임베딩 | 문맥 기반 의미 반영 | 모델 크기/속도 | BERT, SBERT |
| 이미지 임베딩 | 시각 특징 잘 잡음 | 텍스트와 직접 결합 어려움 | ResNet, ViT |
| 멀티모달(CLIP) | 텍스트↔이미지 공간 통합 | 매우 큰 모델 | CLIP |
| 음성 임베딩 | 의미 정보 포함 | 리소스 많음 | wav2vec 2.0, Whisper |
8. 임베딩의 실제 활용 사례
Semantic Search
문서 검색, 이미지 검색
추천 시스템
사용자 행동 → 벡터 변환 → 유사도 기반 추천
챗봇 → RAG
임베딩 기반으로 문서를 검색하여 답변 성능 향상
멀티모달 AI
이미지·텍스트·음성을 하나의 벡터 space에서 처리
9. 결론
임베딩은 AI에서 데이터를 이해하는 핵심 기술이다.
텍스트, 이미지, 음성 모두 벡터로 변환함으로써 의미 기반 연산이 가능해지고
검색·추천·분류·추론 등 대부분의 AI 시스템이 임베딩에 기반해 움직인다.
오늘날의 AI 성능 차이는 곧 임베딩의 품질 차이라고 해도 과언이 아니다.
'인공지능' 카테고리의 다른 글
| CUDA(Compute Unified Device Architecture) (0) | 2025.12.03 |
|---|---|
| AI 강의 (0) | 2025.11.24 |
| A2A(Agent2Agent) protocol (0) | 2025.11.19 |
| MCP(Model Context Protocol) - AI 시대의 새로운 표준 인터페이스 (0) | 2025.11.19 |
| RAG(Retrieval-Augmented Generation) (0) | 2025.11.18 |
