논문/Transfomer
Transfomer - Input Embedding & Positional Encoding
cvlab_김준수
2025. 2. 25. 19:38

Input Embedding이란?
사람이 다루는 자연어를 기계가 다룰 수 있는 언어인 연속된 숫자 벡터로 변환하는 것이다.
자세하게 말하자면, 문장을 토큰 단위로 나누어서 각 토큰에 대한 ID를 부여하고, 미리 학습된 임베딩 행렬의 행을 인덱스로 하여 토큰 ID에 대한 벡터를 부여하는 것을 말한다.

Positional Encoding이란?
RNN/LSTM을 사용하지 않기 떄문에 순서에 대한 정보를 얻을 수 없다. 따라서, 임베딩 벡터를 기반으로 순서 정보를 부여하는 것을 말한다.
아래의 Sin/Cos 함수를 이용해서 위치 정보를 할당하는 데 삼각함수를 이용한 이유는 최고 최저점이 일정하고 주기적이면서 계속 이어나가기 때문에 안정적이고 많은 토큰에도 위치정보를 할당할 수 있어서 이다.

