Transformers 이해하기 파트 5: Queries, Keys, and Similarity
Source: Dev.to
이전 글(self‑attention 개념 탐구)에서 트랜스포머의 self‑attention 개념을 살펴보았습니다. 이번 글에서는 비교가 어떻게 수행되는지 더 깊이 들어갑니다.
Query와 Key 값 만들기
Query 값 생성
첫 번째 단계는 “Let’s” 라는 단어의 위치 인코딩된 값에 가중치 집합을 곱하는 것입니다.

그 다음, 다른 가중치 집합을 사용해 같은 과정을 반복하면 또 다른 값(예: 3.7)이 얻어집니다.

우리는 “Let’s”를 나타내는 두 개의 위치 인코딩 값으로 시작했기 때문에 이 과정을 두 번 수행합니다. 이렇게 얻은 값들은 “Let’s” 를 새로운 형태로 표현한 것이며, 트랜스포머 용어로는 query 값이라고 부릅니다.
Key 값 생성
이제 이 query 값을 사용해 다른 단어, 예를 들어 “go” 와의 유사성을 측정합니다. 이를 위해 먼저 각 단어에 대해 query 값을 만들 때와 유사한 방식으로 새로운 값 집합을 생성합니다.
“Let’s” 에 대해 두 개의 값을 생성합니다:

그리고 “go” 에 대해 두 개의 값을 생성합니다:

이 새로운 값들을 key 값이라고 합니다.
다음 단계는?
이 key 값들을 query 값과 함께 사용해 “Let’s” 가 “go” 와 얼마나 유사한지 계산합니다. 유사도 계산에 대한 내용은 다음 글에서 다룰 예정입니다.
