1. 임베딩 (Embedding) : (벡터 공간 표현)
ㅇ 의미를, 컴퓨터가 처리 가능한, 수치 좌표로 바꾸는 방법
- 즉, 추상적인 의미 정보를, 수학적 좌표(벡터 공간 상의 한 점)로 변환
ㅇ 과거와 현대의 차이
- 과거 : 사람이 특징을 직접 설계
. 例) 색상, 길이, 빈도수 등을 수동 정의
- 현대 : 신경망이 데이터로부터 특징을 자동 학습
. 의미/문맥 관계를 벡터 공간에 자동 배치
* 즉, AI/기계학습 모델이, "의미적 유사성"을 수학적으로 계산할 수 있게 해줌
ㅇ 핵심 아이디어 : 의미가 비슷할수록 벡터 공간 내 가까이 배치
- 즉, 의미 유사성, 문맥 유사성, 패턴 유사성을 공간 거리로 표현
2. 임베딩 특징
ㅇ 벡터 연산 가능 : 의미 관계를 수학적으로 계산 가능
- 例)
. king - man + woman ≈ queen
. Paris - France + Korea ≈ Seoul
ㅇ 거리/유사도 계산 가능 : Cosine Similarity 등을 사용
- 가까울수록 의미 유사성이 큼
ㅇ 학습 기반 표현 방식 : 대규모 데이터로부터 자동 학습됨
3. 임베딩 유형
ㅇ Word Embedding (단어 임베딩) : 단어를 의미 관계를 반영한 저차원 벡터로 표현
- 비슷한 의미의 단어는 가까운 위치에 배치
- 例) Word2Vec, GloVe
ㅇ Token Embedding (토큰 임베딩) : 토큰 단위(BPE/Subword 등)의 벡터 표현
- 현대 LLM의 기본 입력 표현 방식
ㅇ Sentence Embedding (문장 임베딩) : 문장 전체 의미를 하나의 벡터로 표현
ㅇ Document Embedding (문서 임베딩) : 문서 전체를 하나의 벡터로 표현 (문서 검색 등)
- 例) Doc2Vec
ㅇ Contextual Embedding (문맥 임베딩) : 동일 단어라도 문맥에 따라 다른 벡터 생성
ㅇ Semantic Embedding (시멘틱 임베딩) : 의미 중심 관계를 잘 반영하도록 학습된 임베딩
ㅇ Latent Embedding (잠재 임베딩) : 데이터 내부에 숨어있는 특징을 압축 표현한 벡터
ㅇ Embedding Space (임베딩 공간) : 임베딩 벡터들이 배치되는 전체 벡터 공간
4. 임베딩 활용
ㅇ 단어 사이에 의미의 유사성이 측정 가능케 되므로 유용함
- 단어 임베딩을 2차원 공간 상에 표현하면,
- 의미가 비슷한 단어들이 서로 가깝게 위치함
ㅇ LLM에서, 토큰 → 임베딩 벡터 변환 → 신경망 처리 구조 사용
- 즉, 단어를 숫자 ID로만 처리하는 게 아니라, "의미 공간 좌표"로 변환
ㅇ 멀티모달에서, 텍스트,이미지,음성 등을 공통 벡터 공간에 넣음
- 例) "고양이" 텍스트, "고양이" 사진들을, 가까운 임베딩 생성
. 단어,이미지,음성 등을 의미 기반의 벡터 공간으로 매핑
5. [참고사항] Word2Vec (2013년 개발)
ㅇ 단어(Word)를, 의미를 반영한 숫자 벡터(Vector) 형태로 변환하는, 대표적 임베딩 기법
- 단어의 의미적 유사성 및 문맥 관계를, 신경망을 사용해, 학습함
ㅇ 비슷한 의미의 단어는, 벡터 공간 상에서도 서로 가까운 위치에 놓이도록 학습함
- 例) king ≈ queen, man ≈ woman
- 例) Seoul,Korea도 서로 연관된 위치를 가짐
ㅇ 특징
- 단어를 고정 길이의 실수 벡터로 표현
. 컴퓨터가 단어 의미를 수학적으로 처리 가능케 함
- 주변 단어(문맥)를 이용해 학습
. "비슷한 문맥에 등장하는 단어는 의미도 비슷하다"는 가정 사용
- 단어 간 의미 관계를 벡터 연산으로 표현 가능
. 例) king - man + woman ≈ queen
- 단어의 의미 표현 속성(차원)을 사전에 수백 이상의 하이퍼 파라미터로 설정함
. 속성(차원) 例) animal, human, plural, fruit 등
ㅇ 주요 방식
- CBOW (Continuous Bag Of Words) : 주변 단어들로부터 중심 단어를 예측
- Skip-gram : 중심 단어로부터 주변 단어들을 예측
ㅇ 한계 : 단어 하나당 벡터가 항상 고정
- 따라서, 문맥 변화 반영 어려움
- 이후, 문맥 기반 임베딩(BERT 등)으로 발전