attention 공식의 1/√d_k는 장식이 아니야. 그게 없으면 큰 d_k가 softmax를 죽여.
이유는 이거. 차원 d_k인 두 랜덤 벡터의 dot product는 분산이 d_k에 비례해. 그래서 Q와 K가 기댓값으로 대략 단위 norm이면 Q · K의 magnitude가 √d_k 정도. d_k = 64면 약 8, d_k = 128이면 약 11. magnitude 8짜리 값들을 softmax에 넣으면 가장 큰 거 하나가 거의 완승 — softmax saturate, 다른 항목들이 거의 0, 거기 통과하는 gradient가 죽어.
√d_k로 나누면 점수 분산이 차원 상관없이 O(1) 유지. softmax가 Q, K 변화에 부드럽게 반응하는 유용한 분포를 생산하고, gradient가 흘러.
모던 Transformer에서 단순 상수 보정 하나가 "학습됨" vs "학습 안 됨"의 차이를 만드는 몇 안 되는 곳이야. 아키텍처가 scaled dot-product attention이라 불리는 이유이기도 하고.