recurrence, convolution를 포함하고 있지 않기 때문에, sequence에 대한 위치 정보를 알려줘야 sequence 순서 활용 가능하다.
인코더, 디코더 최하단 layer에 input-embedding 벡터에 "positional encoding"정보를 더한다.
dim = 이어서 더할 수 있다.
positional encoding은 각 dim마다 파장이 다른 사인파 함수로 표현.
linear function으로 표현 할 수 있기에 학습이 용이하다.
학습된 positional embedding으로도 실험 진행.
: 결과는 비슷했다.
사인파 함수가 훈련한 것 보다 긴 sequence에 대한 추정도 가능했기에 채택
: self-attention을 사용하는 요인
long-range dependency 학습
layer당 전체 연산 복잡도
병렬 연산 할 수 있는 양
해석 가능 한 모델
by. attention distribution
각 head의 attention
적용한 최적화 방법 설명 : https://pozalabs.github.io/transformer/