본문 바로가기
테크공부/자연어처리

모두를 위한 딥러닝 : 임베딩의 이해

by es25n.n 2024. 4. 17.

 
[목차]

  1. 임베딩이란?
  2. 사전학습 임베딩 모델
  3. 다양한 임베딩 모델

 

1. 임베딩이란?

 
 
 
 
👀 Word Embedding
•  단어를 의미적으로 표현하는 방법
•  자연어 처리에서 단어를 수치형 벡터로 변환하는 기술

• 각 단어는 벡터 공간에서 고유한 위치를 가지며, 의미적으로 유사한 단어는 벡터 공간에서 가까운 위치에 매핑.
 
📍 모든 단어는 같은 차원을 가지는 벡터로 변환됨. 변환된 단어를 신경망에 인풋으로 사용하게 됨.
예를 들어, '나'와 'I'라는 단어는 서로 가까이 위치함. '기차'라는 단어는 상대적으로 멀리 위치하게 됨.

▷ 비슷한 의미를 가지고 있으면 벡터가 가까이 위치해 있음, 의미적으로 멀다면 벡터는 의미가 멀다.

 

 

 
👀 자연어처리과정
① 처음부터 임베딩을 훈련하는 형태
  • 학습 과정에서 단어의 의미도 학습하게 됨. 
  • 내가 원하는 데이터에 대해 임베딩 레이어부터 학습시키는 방법.
 
② 사전학습된 모델로 부터 임베딩 훈련
  •  임베딩 레이어를 사전학습된 임베딩 레이어로 대체시켜 버림.
  •  이미 좋은 의미를 가지고 있는 걸 활용
 
 

 

2. 사전학습 임베딩 모델
1. Word2vec 
2. Glove
3. FastText
4. Bert

 

 

👀 Word2vec embedding

 : 문서로 학습을 해보니, 카테고리 별로 단어들이 벡터화되어 모여있더라!

Word2Vec embedding. Google. 2013

 

 
💡 CBOW : 양옆의 단어를 보고 중간에 나올 확률이 높은 값을 추론
💡 p(o|c) : 중심단어(c)가 주어졌을 때 주변단어(o)가 등장할 조건부확률

 

 
🤦🏻‍♀️ 한계점:
- 단어의 형태학적 특성을 반영하지 못함
  : teach와 teacher, teachers 세 단어는 의미적으로 유사하나 과거의 Word2Vec이나 Glove 등에서는 개별적으로 Embedding하기 때문에 셋의 Vector가 유사하게 구성되지 않게 됨.


- 희소한 단어를 Embedding하기 어려움
  : Distribution hypothesis를 기반으로 학습하여 출현 횟수가 많은 단어에 대해서는 잘 Embedding이 되지만, 출현횟수가 적은 단어에 대해서는 제대로 Embedding이 되지 않는다. (머신러닝에서 Sample이 적은 단어는 Underfitting이 되는 것처럼)
 
- Out-of-Vocabulary(OOV)를 처리할 수 없는 단점
  : Word2Vec은 단어단위로 어휘집(Vocabulary)을 구성하기 때문에 어휘집에 없는 새로운 단어가 등장하면 데이터 전체를 다시 학습시켜야 함
 
 
👀 Glove

 : GloVe가 보존하려는 정보는 단어 동시 등장 여부를 고려

GloVe embedding. Stanford. 2014

 


👀 FastText

: 단어를 문자 단위로 보고 n-gram charaters embedding을 수행

FastText embedding. Facebook. 2016



👀  Bert

 : Transformer로 학습된 강력한 언어 모델, 이후 수많은 자연어처리 모델의 기본형

BERT. Google. 2018.