AI/NLP
Embedding vs Encoding
체봄
2022. 7. 11. 20:49
Embedding과 Encoding의 개념이 혼동되어서 찾아보던 중, 위 포스트를 통해 이해한 내용을 기록한다.
핵심 먼저 말하자면,
- Embedding: 토크나이징된 단어 토큰들을 벡터들로 변환하는 과정
- Encoding: Embedding된 벡터들을 Sentence Matrix로 변환하는 과정 (주로 Bi-LSTM 이용)
- 보통 Encoder에서 Embedding과 Encoding을 모두 수행한다.
텍스트가 들어오면 토크나이징을 통해 단어 토큰들로 변환한다.
단어 토큰들은 Embedding을 통해 일련의 단어 벡터들로 변환된다. 각각은 dense vector다.
일련의 단어 벡터들은 흔히 Bi-LSTM과 같은 모델을 이용해 순방향 마지막 값과 역방향 마지막 값을 concat하는 방식으로, 즉 Encoding을 통해 Sentence Matrix로 변환된다.
Sentence Matrix와 컨텍스트 벡터 간의 Attention 연산을 통해 단일 벡터를 얻는다. (두 Sentence Matrix끼리 Attention 연산을 하는 방법도 있다)
이 단일 벡터는 Feed forward 네트워크로 전달되어 Prediction을 수행한다.
반응형