



각 단어는 세 가지 역할, 즉 Query(Q), Key(K), Value(V)로 변신합니다.
Query: 정보를 요청하는 '검색어'입니다. (예: "내 주변에 문맥상 중요한 단어는?")
Key: 각 단어가 가진 '색인' 또는 '키워드'입니다. Query와 비교 대상이 됩니다.
* Value: 해당 단어의 실제 '내용' 또는 '의미'입니다.
특정 단어의 Q는 문장 내 모든 단어의 K와 내적(Dot-Product) 연산을 통해 '관련도 점수'를 계산합니다. 이 점수가 높을수록 두 단어는 관련성이 높다고 판단합니다.
이 점수들은 Softmax 함수를 거쳐 합이 1인 '어텐션 가중치'로 변환됩니다. 이는 각 단어의 의미(V)를 얼마나 참고할지에 대한 비율입니다.
마지막으로 이 가중치와 각 단어의 V를 곱하여 모두 더합니다(가중합). 이렇게 생성된 벡터는 문장 전체의 문맥 정보가 자신을 중심으로 재구성된 새로운 표현이 됩니다.

* **해결책**: 단어 임베딩에 **위치 인코딩(Positional Encoding)** 벡터를 더해줍니다. 이는 각 단어에 고유한 위치 좌표(GPS 정보)를 부여하는 것과 같습니다. 강의에서는 주기 함수인 사인/코사인 함수를 이용하는 방식과, 각 위치 벡터 자체를 학습시키는 방식 두 가지를 소개합니다.



















