Part 6 · Self-Attention - Understanding Language from Multiple Perspectives

문장을 여러 관점에서 동시에 바라보다

하나의 Attention은 단어 사이의 관계를 한 가지 표현 공간에서 계산합니다. 그러나 실제 문장에는 주어와 서술어의 관계, 대상과 행동의 관계, 시간과 장소의 관계처럼 여러 종류의 정보가 동시에 존재합니다. Multi-Head Attention은 Query, Key, Value를 여러 방식으로 투영해 복수의 Attention을 병렬로 수행합니다. 각 Head가 서로 다른 관계에 주목한 결과를 다시 결합함으로써 문장을 한 가지 기준이 아닌 여러 관점에서 이해할 수 있게 합니다.

Start with One Sentence

같은 문장도 질문에 따라 보는 위치가 달라진다

Tom lives in New York.
누가 살고 있나요?

사람을 찾으므로 Tom을 가장 많이 봅니다.

무엇을 하고 있나요?

행동을 찾으므로 lives를 가장 많이 봅니다.

어디에서 살고 있나요?

장소를 찾으므로 New York을 가장 많이 봅니다.

같은 문장이라도 어떤 관점으로 보느냐에 따라 중요한 단어가 달라집니다.
One Attention, One View

한 번의 Attention은 한 관점에 집중하기 쉽다

한 Attention이 사람 관계를 잘 보고 있다고 생각해 봅시다. 그러면 Tom에는 큰 비중을 주지만, 장소나 행동 관계는 충분히 보지 못할 수 있습니다.

사람 관계에 집중한 Attention
Tom
0.90
lives
0.35
New York
0.15
문장에는 다른 관계도 있다

Tom은 사람입니다.

lives는 행동입니다.

New York은 장소입니다.

이 관계를 모두 함께 보는 편이 문장을 더 잘 이해할 수 있습니다.

A Team of Specialists

여러 전문가가 같은 회의를 보는 것과 같다

하나의 프로젝트 회의에 여러 전문가가 참여한다고 생각해 봅시다. 모두 같은 회의를 듣지만 각자 중요하게 보는 부분은 다릅니다.

기

기획자

무엇을 만들지, 목표가 무엇인지 봅니다.

개

개발자

어떻게 구현할지, 기술 관계를 봅니다.

디

디자이너

사용자 경험과 화면 구성을 봅니다.

운

운영 담당

언제, 어디에서, 어떻게 운영할지 봅니다.

한 사람의 의견만 듣는 것보다 여러 전문가의 관점을 합치면 더 넓고 풍부한 결론을 얻을 수 있습니다.
Multiple Attention Heads

Transformer는 여러 Attention을 동시에 사용한다

Head 1

사람 관계에 집중
Tom
0.92
lives
0.30
New York
0.15

Head 2

장소 관계에 집중
Tom
0.20
lives
0.35
New York
0.94

Head 3

행동 관계에 집중
Tom
0.38
lives
0.91
New York
0.42

Head 4

전체 연결 관계에 집중
Tom
0.68
lives
0.72
New York
0.70
각각의 Attention을 Head라고 부릅니다. 여러 Head가 동시에 문장을 보기 때문에 Multi-Head Attention입니다.
How It Works

여러 Head는 같은 문장을 서로 다르게 본다

같은 문장 입력 Tom lives in New York
Head 1 사람 관계
Head 2 장소 관계
Head 3 행동 관계
여러 결과 합치기 더 풍부한 문맥
Head의 역할을 사람이 직접 “사람 담당”, “장소 담당”으로 지정하는 것은 아닙니다. 모델이 학습하면서 각 Head가 서로 다른 관계에 집중하도록 발전합니다.
Try Each Head

Head를 선택해 서로 다른 관점을 확인해 보자

아래 Head 버튼을 누르면 같은 문장을 어떤 관점으로 보는지 달라집니다.

현재 Head의 관점

사람 관계에 집중합니다.
Tom lives in New York.

Attention Weight

Head 1은 Tom을 가장 크게 참고해 사람 관계를 강조합니다.
Combining the Views

여러 Head의 결과를 합치면 더 풍부한 표현이 된다

Head 1 결과

누가 행동하는지에 대한 정보

Head 2 결과

어디에서 일어나는지에 대한 정보

Head 3 결과

어떤 행동인지에 대한 정보

Head 4 결과

문장 전체 연결 관계에 대한 정보

여러 관점을 합치면 “Tom이 New York에 산다”는 문장을 사람·행동·장소·전체 관계를 포함한 더 풍부한 문맥으로 이해할 수 있습니다.
Multi-Head Attention의 목적은 같은 계산을 불필요하게 반복하는 것이 아니라, 하나의 문장을 여러 관점에서 동시에 이해하는 것입니다.
Single vs Multi

Single-Head와 Multi-Head의 차이

Single-Head Attention

한 가지 관점으로 문장을 살펴봅니다.

특정 관계는 잘 볼 수 있지만 다른 관계를 놓칠 수 있습니다.

Multi-Head Attention

여러 관점으로 문장을 동시에 살펴봅니다.

사람, 행동, 장소, 문법 관계 등 다양한 정보를 함께 담을 수 있습니다.

What Happens Next?

여러 Head의 결과는 실제로 어떻게 하나로 합칠까?

각 Head는 자신만의 새로운 벡터를 만듭니다. Transformer는 이 결과들을 옆으로 이어 붙인 뒤, 다시 하나의 벡터로 정리합니다.

다음 페이지에서는 여러 Head의 결과를 Concatenate하고 최종 출력으로 만드는 과정을 살펴봅니다.
Summary

핵심 정리

  • 한 번의 Attention은 한 가지 관점에 집중하기 쉽습니다.
  • 문장에는 사람, 행동, 장소, 문법 관계 등 여러 정보가 함께 들어 있습니다.
  • Transformer는 여러 Attention Head를 동시에 사용합니다.
  • 각 Head는 같은 문장을 서로 다른 관점으로 살펴봅니다.
  • Head의 역할은 사람이 직접 지정하지 않고 학습 과정에서 형성됩니다.
  • 여러 Head의 결과를 합치면 더 풍부한 문맥 표현을 만들 수 있습니다.
  • 이 구조를 Multi-Head Attention이라고 합니다.