Embedding (NLP) (KO)
임베딩 (영어 embedding — '내포·삽입'에서 유래) 은 Machine Learning 및 자연어 처리 분야의 핵심 기술로, 이산적이거나 복잡한 객체(단어, 문장, 이미지 등)를 고정 차원의 수치 벡터 표현으로 변환합니다. 이러한 벡터, 즉 임베딩은 다차원 공간 안에 배치되며, 의미적으로 유사한 객체들은 서로 가까운 위치에 놓입니다.
정의와 개념
형식적으로 임베딩은 사상(mapping) 함수 으로 정의됩니다. 여기서 는 원래 객체 공간(예: 단어 어휘 사전)이고, 은 차원 수 를 가지는 다차원 벡터 공간(임베딩 공간)입니다. 차원 수 는 원래 공간의 차원보다 훨씬 작아, 이 표현들이 밀집(dense)되도록 합니다.
단어의 벡터 표현에 대한 이론적 토대는 분포 의미론(distributional semantics)으로, 단어의 의미는 해당 단어가 사용되는 맥락에 의해 결정된다고 주장합니다. 즉, 유사한 맥락에서 등장하는 단어들은 유사한 의미를 가지며, 따라서 서로 가까운 벡터 표현을 갖습니다.
임베딩의 기본 원칙
- 고정 차원: 원본 데이터의 크기(예: 문장 길이)와 무관하게 모든 객체는 동일한 길이의 벡터로 사상됩니다.
- 의미적 근접성: 벡터 간 거리(주로 코사인 유사도로 측정)는 원래 객체들의 의미적 근접성을 반영합니다.
- 수학적 연산 지원: 벡터는 의미 관계를 보존하므로 대수적 연산이 가능합니다. 고전적인 예시: .
역사와 발전
초기 접근법 (1980~2000년대)
벡터 표현에 대한 최초의 아이디어는 1980년대 Neural Network 연구에서 등장했습니다. 초기 방법들은 단어 동시 출현에 대한 통계적 분석에 기반하였습니다.
Word2Vec 시대 (2013년)
혁명적인 전환점은 2013년 토마시 미콜로프(Tomáš Mikolov)가 이끄는 Google 팀이 Word2Vec을 개발하면서 찾아왔습니다. Word2Vec은 단어 임베딩 학습을 위한 두 가지 효율적이고 계산 비용이 낮은 아키텍처를 제안했습니다:
- CBOW (Continuous Bag of Words): 주변 맥락을 기반으로 중심 단어를 예측합니다.
- Skip-gram: 중심 단어를 기반으로 주변 맥락 단어들을 예측합니다.
Word2Vec은 공개 소스 코드와 높은 처리 속도 덕분에 벡터 표현의 첫 번째 대중적인 구현이 되었습니다.
대안적 접근법의 발전
Word2Vec 이후 다른 주목할 만한 정적 임베딩 모델들이 등장했습니다:
- GloVe (2014): 스탠퍼드 대학교에서 개발된 모델로, 단어 동시 출현의 전역 통계를 활용하여 벡터를 학습합니다.
- FastText (2015): Facebook의 모델로, 각 단어를 문자 n-gram 벡터의 합으로 표현하여 단어의 형태론을 반영합니다. 이를 통해 학습 어휘에 없던 단어(Out-of-Vocabulary 단어)에 대해서도 임베딩을 생성할 수 있습니다.
transformer 및 맥락적 임베딩의 시대 (2018년~현재)
transformer 아키텍처와 BERT(2018년)의 등장으로 획기적인 발전이 이루어졌습니다. 이는 맥락적 임베딩(contextual embedding)의 탄생으로 이어졌으며, 여기서 단어의 벡터 표현은 사용 맥락에 따라 달라집니다. 정적 표현에서는 '열쇠'와 '악보 기호'라는 서로 다른 의미에서 동일한 벡터를 가졌을 단어에 대해, 맥락적 모델은 각 경우에 서로 다른 임베딩을 생성합니다.
임베딩의 유형
표현 수준에 따른 분류
- 단어 임베딩: 각 단어를 개별 벡터로 표현하는 기본 유형 (Word2Vec, GloVe).
- 문장 및 문서 임베딩: 전체 구, 문장 또는 문서를 하나의 벡터로 표현 (PV-DM, PV-DBOW).
- 사용자 및 아이템 임베딩: 추천 시스템에서 사용자의 관심사와 상품 특성을 표현하는 데 사용.
맥락성에 따른 분류
- 정적 임베딩: 맥락과 무관하게 각 단어에 하나의 고정 벡터를 부여 (Word2Vec, GloVe, FastText).
- 맥락적 임베딩: 주변 문맥에 따라 동일한 단어에 대해 서로 다른 표현을 생성. 주요 모델:
- BERT: transformer 기반 양방향 모델.
- ELMo: 양방향 LSTM 모델.
- RoBERTa, DistilBERT, ALBERT: BERT의 개선 변형 모델들.
모달리티에 따른 분류
- 텍스트 임베딩: 단어, 문장, 문서 표현을 포함하는 가장 일반적인 유형.
- 시각적 임베딩: 컴퓨터 비전 과제를 위한 이미지 표현.
- 멀티모달 임베딩: 다양한 유형의 데이터(텍스트, 이미지, 오디오)를 하나의 벡터 공간으로 통합. 그 예로 6가지 모달리티의 데이터를 연결할 수 있는 ImageBind가 있습니다.
아키텍처와 학습 방법
고전적 방법
- One-hot 인코딩: 각 단어를 어휘 크기의 벡터로 인코딩하되 해당 위치에만 1을 부여하는 가장 단순한 방법. 단점: 높은 희소성(sparsity)과 의미 정보 부재.
- 행렬 분해: 단어 동시 출현 행렬에 적용되는 차원 축소 방법(예: LSA).
Neural Network 아키텍처
- 얕은 Neural Network: Word2Vec의 CBOW 및 Skip-gram 아키텍처는 효율적인 학습을 위해 2층 Neural Network를 사용.
- transformer: attention 메커니즘을 통해 해당 분야를 혁신한 아키텍처.
현대적 접근법
- 마스킹 자기지도 학습: BERT는 마스킹된 단어 예측 과제를 통해 맥락적 표현을 학습.
- 대조 학습(Contrastive Learning): 의미적으로 가까운(긍정) 쌍의 유사도를 최대화하고, 먼(부정) 쌍의 유사도를 최소화하는 방법.
임베딩의 응용
임베딩은 다양한 분야에서 폭넓게 활용됩니다:
자연어 처리
- 검색 및 정보 검색: 키워드가 아닌 의미 기반으로 문서를 찾을 수 있도록 시맨틱 검색의 품질을 향상시킵니다.
- 텍스트 분류: 벡터 표현이 분류기의 입력 데이터로 활용되어 정확도를 높입니다.
- 감성 분석: 맥락을 고려한 텍스트의 감정적 색채를 파악합니다.
- 기계 번역: 원본 언어와 대상 언어의 의미론적 이해를 향상시킵니다.
추천 시스템
사용자 및 상품 임베딩은 다음을 포함한 개인화 추천 시스템의 핵심입니다:
- 협업 필터링: 사용자 행동 임베딩을 기반으로 합니다.
- 콘텐츠 기반 필터링: 상품 특성 임베딩을 활용합니다.
컴퓨터 비전
- 이미지 분류 및 검색: 합성곱 Neural Network 및 Vision Transformer가 이미지 임베딩을 생성하여 분류 및 시각적 유사 이미지 검색에 활용됩니다.
생물정보학 및 의학
- 의료 데이터 분석: 임상 기록 및 질병 진단 분석.
- 분자 표현: 화학 화합물의 특성 예측을 위한 임베딩 생성.
기술적 측면 및 최적화
- 차원 최적화 방법: Matryoshka Representation Learning (MRL) — 하나의 모델로 다양한 차원의 임베딩을 획득할 수 있는 혁신적 접근법으로, 중요한 정보를 벡터의 앞부분에 집중시킵니다.
- 임베딩 양자화: 수치 표현의 정밀도를 낮춰(예: 8비트 또는 4비트로) 연산을 가속하고 메모리를 절약합니다.
- 데이터베이스 통합: 현대 벡터 데이터베이스(예: Milvus, Pinecone)와 기존 DBMS용 확장 모듈(예: PostgreSQL용 pgvector)을 통해 임베딩을 효율적으로 저장하고 검색할 수 있습니다.
참고 링크
- 단어의 벡터 표현 — 위키백과
- 단어의 벡터 표현 — NEERC
참고 문헌
- Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
- Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
- Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
- Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
- Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
- Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
- Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
- Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
- Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.