📚 Study & Tech

[LLM] 임베딩 (Embedding)(1)

동다리 2026. 3. 24. 17:46

1. 개념

- 세상의 개념들을 숫자 코드로 변환하는 일종의 번역기

- 무작위로 생성되는 것이 아니라, 비슷한 의미를 가진 단어나 항목들이 서로 가까운 코드로 변환됨

- 객체 간의 의미론적 의미와 의미론적 관계를 포착하는 데 도움을 줌

 

2. 표현 방식

- 단어, 이미지, 추천 시스템의 항목 등과 같은 객체를 연속적인 벡터 공간에 벡터로 인코딩한 밀집된 숫자 표현

- e.g., 자연어 처리(NLP)에서 임베딩은 단어를 벡터로 변환하며, 의미적으로 유사한 단어들이 벡터 공간에서 서로 가까운 위치에 배치되도록 함 (개, 고양이 <-----------------------------> 집)

 

3. 차원 축소 알고리즘

- 임베딩은 일반적으로 64~2048사이 차원을 가지며, 사람이 인지할 수 있기 위해 2차원, 혹은 3차원으로 축소가 필요함

- 차원 축소 알고리즘에는 PCA, UMAP, t-SNE 등이 있으며 데이터셋의 입력 변수나 특성 수를 줄이면서 데이터의 주요 패턴, 구조, 관계를 유지하는 수학적 기법임

- 고차원 데이터를 저차원으로 변환하면 시각화, 해석, 처리가 쉬워지면서도 중요한 정보는 유지하여 '차원의 저주' 문제를 해결하고 계산 효율을 높일 뿐 아니라 머신러닝 알고리즘의 성능 향상에도 도움이 됨

 

4. 장점

- 원-핫 인코딩, 해싱 등에서 발생할 수 있는 한계를 극복하면서 효율적으로 데이터를 표현할 수 있음

 

원-핫 인코딩
(One-hot encoding)
- 범주형 변수를 이진 행렬로 변환하는 기법으로, 각 범주를 고유한 이진 벡터로 표현함
- 고유한 범주의 개수와 동일한 길이의 이진 벡터가 생성되며 모든 값은 0으로 설정되고 특정 범주에 해당하는 인덱스만 1로 설정됨
- 장점 : 범주의 정보를 손실 없이 보존하며, 단순하면서도 해석하기 쉬움
- 단점 : 범주형 변수가 많은 고유 값을 가질 경우 고차원의 특성 공간이 형성되어 계산량 증가 및 비효율성이 증대됨
해싱 (Hashing) - 특성 해싱, 해싱 인코딩, 또는 해싱 트릭이라고도 부르며, 범주형 변수에 해시 함수를 적용해 숫자 특성으로 변환하는 기법
- 원-핫 인코딩과 비교했을 때 이 방법은 고유 범주의 개수에 의존하지 않으며 범주를 고정된 개수의 빈이나 버킷에 매핑해 특성 공간의 차원을 줄임
- 장점 : 고차원 범주형 변수를 다룰 때 특성 공간의 차원을 줄여 메모리 사용량과 계산 시간을 효율적으로 줄일 수 있음
- 단점 
  - 충돌 위험 : 서로 다른 범주가 동일한 빈으로 매핑될 가능성이 있어 정보 손실이 발생할 수 있음
  - 해석이 어려움 : 해싱 매핑 과정으로 인해 원래 범주와 해싱된 특성 간의 관계를 이해하기 어려움
  - 범주 간 관계 파악 어려움 : 해싱된 특성에서는 범주 간 관계를 파악하기 어려움
임베딩  - 범주형 변수를 인코딩 하면서 출력 벡터의 차원을 제어할 수 있도록 도움
- 특성
  - 이미지 응축 : 특수한 서브샘플링 작업을 통해 계층의 크기를 줄이고 중요한 세부 정보에 집중
  - 특성 학습 : 합성곱 작업을 통해 계층의 크기를 증가시키며 네트워크가 이미지로부터 더 복잡한 특성을 학습하도록 함

 

5. 임베딩 기법 

- 딥러닝 모델은 입력 데이터의 문맥과 의미를 파악하여 이를 연속적인 벡터 공간에 투영하는 방식으로 임베딩을 생성

- BERT, RoBERTa 와 같은 인코더 전용 트랜스포머 모델도 많이 사용됨

- 이 때, 트랜스포머 아키텍처의 인코더를 활용해 입력 데이터를 효과적으로 밀집 벡터 공간으로 변환함

 

6. 예시 (Sentence Transformers, 파이썬 모델: 허깅페이스)

- 사용자 친화적 인터페이스, 임베딩을 빠르고 효율적으로 수행 가능

 

 

 

 

 

 

반응형