#개념

임베딩(Embedding)은 단어, 문장, 사용자, 상품, 이미지처럼 컴퓨터가 직접 연산하기 어려운 객체를 밀집된(dense) 실수 벡터로 변환하여, 의미적으로 비슷한 객체가 벡터 공간에서도 가까이 위치하도록 만드는 표현 기법이다. 임베딩 이전에는 범주형 데이터를 원-핫 인코딩(One-Hot Encoding)으로 표현하는 것이 일반적이었다. 원-핫 벡터는 어휘 크기 $V$만큼의 차원을 가지며 해당 항목 위치만 1이고 나머지는 0인 희소 벡터로, 어휘가 수십만 개에 이르면 차원이 지나치게 커지고, 모든 벡터 쌍이 서로 직교하므로 "고양이"와 "강아지"가 "고양이"와 "자동차"보다 가깝다는 관계를 전혀 표현하지 못한다는 한계가 있다. 임베딩은 이러한 항목을 수십에서 수천 차원의 연속 공간에 사상하는 분산 표현(Distributed Representation)을 학습한다. 각 차원이 하나의 명시적 속성을 뜻하지는 않지만 여러 차원의 조합이 의미를 담으며, 데이터로부터 학습되기 때문에 함께 등장하는 맥락이 비슷한 항목은 자연스럽게 가까운 벡터를 갖게 된다. 신경망에서 임베딩은 정수 인덱스를 벡터로 대응시키는 조회 테이블(lookup table), 즉 $V \times d$ 크기의 가중치(Weight) 행렬로 구현되며 역전파(Backpropagation)를 통해 다른 계층과 함께 학습된다.
단어 임베딩을 대중화한 대표적인 방법은 Mikolov 등(2013)이 제안한 Word2Vec이다. Word2Vec은 주변 단어들로부터 중심 단어를 예측하는 CBOW(Continuous Bag-of-Words)와, 중심 단어로부터 주변 단어를 예측하는 Skip-gram의 두 구조를 사용하며, 소프트맥스의 계산 비용을 줄이기 위해 네거티브 샘플링(negative sampling)이나 계층적 소프트맥스를 적용한다. 학습된 벡터는 $\vec{king} - \vec{man} + \vec{woman} \approx \vec{queen}$과 같은 선형적 유추 관계를 보여 분산 표현이 의미 구조를 포착한다는 사실을 널리 알렸다. GloVe(Global Vectors)는 지역 문맥 창만 사용하는 Word2Vec과 달리 말뭉치 전체의 단어 동시 출현 행렬을 구축하고, 두 단어 벡터의 내적이 동시 출현 확률의 로그를 근사하도록 가중 최소제곱 목적 함수로 학습하여 전역 통계를 반영한다. FastText는 단어를 문자 n-gram의 집합으로 분해하고 각 n-gram 벡터의 합으로 단어 벡터를 구성함으로써, 학습 데이터에 없던 미등록 단어(Out-of-Vocabulary, OOV)나 형태 변화가 풍부한 언어에서도 합리적인 벡터를 만들 수 있다. 이러한 정적 임베딩은 단어마다 하나의 고정된 벡터를 부여하므로, "배"가 과일인지 선박인지 신체 부위인지와 같은 다의어를 구분하지 못한다는 한계가 있다.
이 한계를 극복한 것이 문맥 임베딩(Contextual Embedding)이다. ELMo는 양방향 순환 신경망(Recurrent Neural Network, RNN) 언어 모델의 내부 상태를, BERT나 GPT 계열은 트랜스포머(Transformer)어텐션 메커니즘(Attention Mechanism)을 통해 주변 문맥을 반영한 벡터를 생성하므로 같은 단어라도 문장마다 서로 다른 임베딩을 갖는다. 문맥 임베딩은 대규모 언어 모델(Large Language Models, LLM)의 입력 표현이자 중간 표현으로 사용되며, 사전 학습된 모델을 미세 조정하는 전이 학습의 기반이 되었다. 문장이나 문서 단위의 의미를 하나의 벡터로 요약하는 문장 임베딩(Sentence Embedding)은 Sentence-BERT처럼 시암(Siamese) 구조와 대조 학습(contrastive learning)으로 의미가 유사한 문장 쌍이 가까워지도록 학습하며, 검색이나 문서 군집화에 직접 활용된다. 임베딩은 텍스트에만 국한되지 않는다. 합성곱 신경망(Convolutional Neural Network, CNN)이나 비전 트랜스포머의 마지막 층 특징 벡터는 이미지 임베딩으로 쓰이고, CLIP과 같은 멀티모달 임베딩(Multimodal Embedding) 모델은 이미지와 텍스트를 동일한 벡터 공간에 정렬하여 텍스트로 이미지를 검색하거나 이미지에 설명을 붙이는 작업을 가능하게 한다. 추천 시스템에서는 사용자와 상품을 같은 공간에 임베딩하여 상호작용 이력을 내적으로 예측하며, 그래프 임베딩(node2vec 등)은 노드의 구조적 유사성을 벡터로 표현한다.
임베딩 벡터 간의 유사도는 주로 코사인 유사도(Cosine Similarity)로 측정한다. 두 벡터 $a$, $b$에 대해 $\cos\theta = \frac{a \cdot b}{\|a\| \|b\|}$로 정의되며, 벡터의 크기가 아닌 방향만 비교하므로 문서 길이 등의 영향을 덜 받는다. 그 외에도 유클리드 거리나 내적이 사용되며, 벡터를 정규화하면 코사인 유사도와 내적은 동일해진다. 수억 개의 벡터 중에서 질의 벡터와 가장 가까운 벡터를 찾는 벡터 검색(Vector Search)은 모든 벡터를 전수 비교하면 비용이 크기 때문에, HNSW 그래프, IVF 역색인, 곱 양자화(Product Quantization) 등을 활용한 근사 최근접 이웃 탐색(Approximate Nearest Neighbor, ANN) 알고리즘이 사용된다. Faiss, Milvus, Pinecone과 같은 벡터 데이터베이스는 이러한 색인을 제공하며, 임베딩 기반 의미 검색(semantic search)은 키워드가 일치하지 않아도 의미가 통하는 문서를 찾아낸다. 최근에는 검색 증강 생성(Retrieval-Augmented Generation, RAG)의 핵심 구성 요소로 임베딩이 활용된다. RAG는 사내 문서 등 외부 지식을 미리 청크(chunk) 단위로 나누어 임베딩하고 벡터 저장소에 색인해 두었다가, 사용자 질문을 같은 모델로 임베딩하여 유사한 청크를 검색한 뒤 이를 언어 모델의 프롬프트에 포함시켜 답변을 생성하는 방식으로, 언어 모델의 환각(hallucination)을 줄이고 최신 정보나 비공개 정보를 반영할 수 있게 한다.
임베딩을 실무에 적용할 때는 몇 가지 고려 사항이 있다. 임베딩 차원은 표현력과 저장·연산 비용 사이의 절충이며, 질의와 문서를 반드시 같은 임베딩 모델과 버전으로 처리해야 벡터 공간이 일치한다. 사전 학습 임베딩은 학습 데이터에 포함된 사회적 편향(Bias)을 그대로 반영할 수 있고, 도메인 특화 용어가 많은 분야에서는 미세 조정이 필요할 수 있다. 또한 고차원 임베딩을 차원 축소(Dimensionality Reduction) 기법인 t-SNE나 UMAP으로 2차원에 투영하면 데이터의 군집 구조를 시각적으로 탐색할 수 있다. 결론적으로 임베딩은 이산적 기호를 연산 가능한 의미 공간으로 옮기는 다리 역할을 하며, 자연어 처리와 컴퓨터 비전, 추천 시스템, 벡터 검색과 RAG에 이르기까지 현대 AI 시스템 전반의 기본 표현 단위가 되었다.

#관련 용어

원-핫 인코딩
범주형 항목을 해당 위치만 1이고 나머지는 0인 희소 벡터로 표현하는 방식
코사인 유사도
두 벡터가 이루는 각도의 코사인 값으로 방향의 유사성을 측정하는 지표
어텐션 메커니즘
입력의 관련성이 높은 부분에 가중치를 부여하여 문맥을 반영한 표현을 만드는 신경망 연산
차원 축소
고차원 데이터의 구조를 보존하면서 더 적은 차원으로 변환하는 기법
토큰화
텍스트를 임베딩의 입력 단위인 토큰으로 분할하는 전처리 과정
검색 증강 생성(RAG)
임베딩 기반 검색으로 찾은 외부 문서를 언어 모델의 입력에 포함하여 답변을 생성하는 기법

#직무 연관도

DA
Data Analyst
보통
텍스트 군집화, 유사 문서 탐색, 고객·상품 세그먼트 분석에 임베딩과 차원 축소 시각화를 활용할 수 있다
DS
Data Scientist
밀접
자연어 처리, 추천, 컴퓨터 비전 모델의 입력 표현을 설계하고 사전 학습 임베딩을 활용·평가하는 데 필수적인 개념
DE
Data Engineer
높음
벡터 데이터베이스 구축, 의미 검색과 RAG 파이프라인 운영, 임베딩 서빙 인프라 설계에 직접 활용된다

#사용 사례

인터넷 서비스전자상거래금융의료미디어교육
개요
임베딩은 의미 기반 검색, 추천 시스템, 문서 분류와 군집화, 중복·유사 콘텐츠 탐지, 이미지·텍스트 교차 검색, 그리고 검색 증강 생성(RAG)을 통한 기업 지식 기반 질의응답 등에 폭넓게 활용된다.
사례
전자상거래 검색에서 사용자가 "여름에 시원한 상의"라고 검색하면, 키워드 검색은 상품명에 해당 단어가 없는 "린넨 반팔 셔츠"를 찾지 못하지만, 질의와 상품 설명을 같은 임베딩 모델로 벡터화하고 코사인 유사도로 비교하면 의미가 통하는 상품을 검색 결과에 노출할 수 있다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.