상위: AI & ML
단어, 문장, 문서 등 텍스트 데이터를 컴퓨터가 이해하고 처리할 수 있는 숫자 벡터 공간으로 변환하는 기술. 의미적 유사성을 벡터 공간에서의 거리로 표현.
임베딩의 목적
- 의미 표현: 텍스트의 의미를 숫자로 표현하여 컴퓨터가 이해하고 연산할 수 있도록 함.
- 유사도 측정: 의미적으로 유사한 단어나 문서는 벡터 공간에서 가깝게 위치하도록 학습.
- 차원 축소: 고차원의 희소한 텍스트 데이터를 저차원의 밀집 벡터로 변환하여 효율적인 처리 가능.
임베딩의 종류
정적 임베딩 (Static Embeddings)
단어가 어떤 문맥에 있든 항상 동일한 벡터 값을 가짐.
- Word2Vec: 단어의 주변 단어를 예측하는 방식으로 학습.
- GloVe: 단어의 동시 발생 통계를 기반으로 학습.
- FastText: 단어를 문자 단위(n-gram)로 분해하여 학습, OOV(Out-Of-Vocabulary) 문제에 강함.
문맥적 임베딩 (Contextual Embeddings)
단어가 사용된 문맥에 따라 다른 벡터 값을 가짐. 현대 LLM의 핵심 기술.
- ELMo: 양방향 LSTM을 사용하여 문맥에 따른 단어 표현 학습.
- BERT: Transformer의 Encoder 부분을 활용하여 양방향 문맥을 학습.
- GPT: Transformer의 Decoder 부분을 활용하여 단방향 문맥을 학습.
임베딩의 활용
- 유사도 검색: Vector Database에서 유사한 문서나 정보를 찾는 데 사용 (예: RAG의 검색 단계).
- 텍스트 분류: 스팸 메일 분류, 감성 분석 등.
- 군집화 (Clustering): 유사한 문서들을 그룹화.
- 추천 시스템: 사용자 선호도와 아이템 특징을 벡터로 표현하여 추천.