Self-Attention에서 입력 시퀀스의 각 벡터는 세 가지 변환을 통해 Query, Key, Value로 매핑됨. 이 변환은 학습 가능한 가중치 행렬에 의해 수행되며, 각각 별도의 가중치 행렬이 사용됨.

1. Query

2. Key

3. Value

이후에는 다음과 같은 과정을 거침

  1. 유사도 점수 계산: Query와 모든 Key 사이의 유사도 점수(similarity score)가 계산해서, Value 반영 정도를 계산함
  2. 확률 분포 생성: 유사도 점수는 Softmax Function을 통해, 정규화되어 확률 분포(attention weights)를 생성함 3. 값 조합: 확률 분포(attention weights)와 각 Value들을 곱하고 합해서, 최종 출력 벡터를 만듬