
Bag of Embeddings(89) 에서 보았듯 attention 은 순서 정보 자체가 없음 → Transformer 는 임베딩에 "위치 신호" 를 더해 해결.
Vaswani et al., 2017 의 고정식(fixed) 인코딩:
여기서 d 는 embedding 차원. 짝수 index 는 sin, 홀수 index 는 cos, 주파수는 차원에 따라 기하급수적으로 감소.
함수 positional_encoding(L, d) 를 완성하세요.
L: 시퀀스 길이.d: 임베딩 차원 (짝수).(L, d), 각 원소 [-1, 1].i = np.arange(d // 2)freq = 1.0 / 10000 ** (2 * i / d)angles = pos[:, None] * freq[None, :] → shape (L, d/2)sin(angles), 홀수 열: cos(angles)| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (L, d) | |
| 2 | 값 범위 [-1, 1] | abs <= 1 |
| 3 | 짝수 열 = sin | pos=0 → 0 |
| 4 | 홀수 열 = cos | pos=0 → 1 |
| 5 | 공식 일치 | Vaswani 공식 ref 비교 |
코드를 작성하고 Run 을 눌러보세요.