어텐션 메커니즘 예측: 카페 메뉴 예제
1. 상황
사용자가 카페에서 음료를 주문하려고 합니다. 과거 주문 내역:
- 오늘: 아메리카노
- 어제: 카페라떼
목표: 다음 주문에서 사용자가 선택할 음료를 예측합니다.
2. Query, Key, Value 정의
역할 | 설명 | 벡터 |
---|---|---|
Query (Q) | 다음 주문 예측용 벡터 | [0.6, 0.4] |
Key (K) - 아메리카노 | 과거 주문 특징 | [1, 0] |
Key (K) - 카페라떼 | 과거 주문 특징 | [0, 1] |
Key (K) - 녹차라떼 | 과거 주문 특징 | [0, 0.5] |
Value (V) - 아메리카노 | 실제 정보 | [1, 0] |
Value (V) - 카페라떼 | 실제 정보 | [0, 1] |
Value (V) - 녹차라떼 | 실제 정보 | [0, 0.5] |
3. 유사도 계산
Dot Product로 Query와 Key 간 유사도 계산:
- 아메리카노: 0.6×1 + 0.4×0 = 0.6
- 카페라떼: 0.6×0 + 0.4×1 = 0.4
- 녹차라떼: 0.6×0 + 0.4×0.5 = 0.2
4. Softmax로 가중치 계산
Softmax 계산 후 가중치:
- 아메리카노: 0.402
- 카페라떼: 0.329
- 녹차라떼: 0.269
5. Value와 곱하기
Attention Output 계산:
- Output = 0.402×[1,0] + 0.329×[0,1] + 0.269×[0,0.5]
- Output = [0.402, 0] + [0,0.329] + [0,0.1345] = [0.402, 0.4635]
6. 예측 해석
최종 출력 벡터 = [0.402, 0.4635]
- 두 번째 차원이 더 크므로, 모델은 카페라떼를 다음 주문으로 예측
- 아메리카노도 일정 비중 반영 → 과거 선택 영향 유지
7. 요약
- Query: 예측할 대상(다음 음료)
- Key: 과거 정보 특징(메뉴 벡터)
- Value: 실제 정보(메뉴 벡터)
- 과정: Query와 Key 유사도 계산 → Softmax → Value 가중합 → 예측 벡터 도출
- 결과 해석: Output 벡터에서 가장 큰 차원을 가진 메뉴를 예측
💡 핵심: 어텐션 메커니즘은 과거 정보 중 중요한 데이터를 집중적으로 반영하여 예측 정확도를 높이는 방법입니다.
댓글 없음:
댓글 쓰기