← 문제 목록/Scaled Embedding + PE (√d 스케일)
문제 해설

Scaled Embedding + PE (√d 스케일)

어텐션 · easy

preview

Scaled Embedding + Positional Encoding

95번 Token Embedding + PETransformer 원 논문 버전: 토큰 임베딩에 d\sqrt{d} 를 곱한 뒤 PE 를 더합니다:

Xb,l,:=dE[idxb,l]+PE[l]X_{b,l,:} = \sqrt{d} \cdot E[\text{idx}_{b,l}] + \text{PE}[l]

왜 √d?

원 Transformer 구현에서 weight tying (embedding 과 output projection 가중치 공유) 시 임베딩이 N(0,1/d)\mathcal N(0, 1/d) 분산으로 초기화되면 출력이 지나치게 작아집니다. d\sqrt{d} 배로 키우면 PE 와 비슷한 스케일 이 되어 둘 다 의미 있는 신호 전달.

  • 토큰 임베딩 초기 norm ~ 1 (small).
  • PE 원소 [1,1]\in [-1, 1] → norm ~ d\sqrt{d}.
  • d\sqrt{d} 곱하면 토큰 norm 도 d\sqrt{d} → 비율 1:1.

과제

함수 scaled_embed_pe(E, idx, pe) 를 완성하세요.

  • E shape (V, d), idx shape (B, L), pe shape (max_L, d).
  • 반환: (B, L, d)sqrt(d) * E[idx] + pe[:L].

테스트 케이스

#이름검증
1shape (B, L, d)
2E=0 → pe[:L] broadcast모든 배치 동일
3pe=0 → √d · E[idx]
4스케일: d=64 면 토큰 기여 8배
5공식 정확손계산
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.