본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

 

ch03-16. Attention 매커니즘

Attention이란

특정 입력에서 어떤 부분에 더 집중해야하는지 학습하는 매커니즘

 

Query : 이 단어가 지금 관심 갖고 있는 질문

Keys : 다른 단어들이 가지고 있는 특징

Values : 그 단어가 실제로 가지고 있는 정보

 

각 쿼리에 대해 모든 키와 유사도를 계산에 어디에 집중할지를 정한다.

유사도가 높은 키에 해당하는 value 벡터들을 평균 내서 그 단어의 최종 representation을 만든다.

 

예시:

문장 : "I poured the tea into the cup until it was full."

여기서 "it"이 뭘 가리키는지 알아내야 함.

  • Query: "it"
  • Keys: "tea", "cup", ...
  • Values: "tea의 정보", "cup의 정보", ...

→ "it"이라는 Query가 "cup"이라는 Key에 높은 유사도를 주고
→ 그래서 "cup"의 Value를 바탕으로 "it"의 의미를 이해하는 방식이다.

 

직관적 이해 요약

구성역할비유
Query 지금 보고 있는 단어의 "질문" "이 단어는 뭘 알아야 하지?"
Key 다른 단어들의 "정체성" "내가 어떤 단어인지 설명할게"
Value 다른 단어들의 "내용" "나에 대한 실제 정보"

 

→ Query와 Key를 비교해서 어떤 단어(Value)에 주목할지 결정한다.

 

[입력 단어들] → 임베딩 → Q, K, V 생성
       ↓
   Q 와 모든 K 를 비교 (dot product)
       ↓
     Attention Score
       ↓
   각 Value에 곱해서 가중 평균
       ↓
   최종 출력 벡터 (context vector)

 

 

Q, K, V 중 하나가 빠진다면 어떤 일이 일어날까? Q, K, V가 꼭 모두 필요한가?

 

Q

Q 가 없다면 비교 기준이 사라지고 어떤 K가 얼마나 중요한지 판단할 수 없다

Attention score = Q · K 인데 Q가 없으면 dot product할 수 없다.

따라서 "무엇을 알고 싶은가"가 없다.

 

K

K 값 없다면 다른 단어들이 어떤 존재인지 알 수 없다.

Q는 존재하지만 누구랑 비교할지를 모른다.

Attention score = Q · K 인데 K가 없으면 dot product할 수 없다.

따라서 "무엇과 비교할지" 기준이 없어서 attention할 대상을 찾을 수 없다.

 

 

V

Q와 K가 있기 때문에 어디에 집중해야 할지(Attention score) 알 수 있다.

하지만 집중해야하는 위치에서 어떤 정보를 가져와야 할지 알 수 없다.

따라서 attention했지만 결과가 없다.

 

 

아래는 gpt 답변.

✅ 예시로 정리

문장:

"I drank tea from the cup because it was hot."

"it"이라는 단어를 이해한다고 해보자.

빠진 항목무슨 일이 벌어짐?
Query 없음 "it"이 뭘 참조하는지 알 방법 없음
Key 없음 "tea"와 "cup"이 뭔지 모름 → 비교 불가
Value 없음 "cup"이 중요하다는 건 알지만, 그 정보 자체를 가져오지 못함

 

그래도 Q, K, V의 중요 순위를 정하자면?

Q는 질문, attention의 시작점, "내가 무엇을 알고 싶은가"를 표현하기 때문에

Q가 없다면 attention을 수행할 이유가 사라진다.

 

K는 Q에 대한 후보로 "누구에게 집줄할 것인가"를 결정하기 때문에

K가 없다면 attention score를 계산할 수 없다.

 

V는 QK에서 구한 attention한 곳에서 실제 정보를 가져오는 단계로

V가 없으면 실제 정보를 가져올 수 없다.

 

요약:

Q 없으면 = 아무 것도 시작 못 함
K 없으면 = 비교 불가 → 방향성 없음
V 없으면 = 비교는 했지만 실속 없음