Positional Encoding

염지현·2023년 1월 2일
0

자연어처리

목록 보기
2/2

Positional Encoding

1. Positional encoding이란?

  • Transformer에서 단어의 위치 추적
  • 인코더, 디코더 모두 positional encoding 사용

2. Poisitonal encoding을 사용하는 이유

  • Transformer 모델에는 모델이 시퀀스의 순서를 사용하기 위해 recurrence 및 convolution이 포함되어 있지 않음
  • RNN의 경우 데이터를 순차적으로 전달
  • Transformer는 단어를 병렬적으로 처리하기 때문에 위치의 정보를 알아내는 것이 중요
  • Transformer에 positional encoding이 없을 경우
    - "Tom bit a dog.", "A dog bit Tom." --> 다른 두 문장을 동일한 문장으로 처리하여 인코더는 두 문장이 동일한 의미와 컨텍스트를 가지고 있다고 생각
  • word embedding vector + positional encoding vector를 더하여 위치 정보 제공
  • element wise 방식을 사용하는 이유: 요소별로 추가하여야 모델이 더 쉽게 배울 수 있음

3. Positional encoding 작동 방법

  • 위치를 인코딩할 때 서로 다른 주파수의 사인 및 코사인 함수 사용
  • d_model: 모델의 차원, pose: 위치, i: 치수
  • d_model = 512라고 가정할 경우


출처: https://fastcampus.co.kr/data_online_transformer
FastCampus Transformer 강의

0개의 댓글