Attention Score 계산 방법

eenzeenee·2025년 9월 18일

TechInterview

목록 보기
4/4

Attention Score 계산 과정

Attention score는 Q와 K를 기반으로 계산되며, 단계별로 다음과 같이 진행됩니다.


1. Q-K 내적(Dot Product) 계산

각 Query (qiq_i)와 모든 Key (kjk_j) 간의 유사도를 계산:

qikjq_i \cdot k_j

  • 각 단어 쌍이 얼마나 관련 있는지 나타내는 점수(score)입니다.

2. 스케일링(Scaling)

Dot Product 값은 벡터 차원 (dkd_k)가 커지면 값이 커져 입력 값의 상대적 차이가 커져 Softmax의 출력이 한쪽으로 몰려 버리거나 그래디언트 소실 문제가 발생할 수 있습니다.
이를 방지해 균형잡힌 Softmax 출력값을 만들기 위해 벡터 차원의 제곱근으로 나눕니다:

scorei,j=qikjdk\text{score}_{i,j} = \frac{q_i \cdot k_j}{\sqrt{d_k}}

  • (d_k)는 Key 벡터의 차원입니다.

  • Dot Product가 커서 Softmax가 극단적으로 치우치는 문제를 완화해 Attention이 멀리 있는 단어도 적절히 참조할 수 있도록 간접적으로 도움을 줌. (장기의존성 완화에 약간의 영향도 있음)


3. Softmax 적용

각 Query에 대해 Softmax를 적용해 가중치(attention weight)로 변환:

αi,j=softmaxj(qikjdk)\alpha_{i,j} = \text{softmax}_j \left( \frac{q_i \cdot k_j}{\sqrt{d_k}} \right)

  • Softmax 결과는 0~1 사이 값이며, 합은 1이 됩니다.

4. 최종 Value 가중합

Attention weight를 Value에 곱해 최종 출력 계산:

outputi=jαi,jvj\text{output}_i = \sum_j \alpha_{i,j} v_j


profile
Steadily

0개의 댓글