목록으로

기술 노트

Self-Attention과 Multi-Head Attention: Transformer의 핵심 원리

본문1. 들어가며Transformer의 성공적인 성능은 무엇보다 Attention 메커니즘 덕분이다. 그중에서도 Self-Attention과 Multi-Head Attention은 Transformer가 복잡한 패턴을 인식하고 더 효율적으로 학습할 수 있게 해주는 중요한 요소다. 이번 포스트에서는 Self-Attention의 세부 원리와 Multi-Head Attention에 대해 알아보겠다…

2025. 02. 11.1

본문

1. 들어가며

Transformer의 성공적인 성능은 무엇보다 Attention 메커니즘 덕분이다. 그중에서도 Self-AttentionMulti-Head Attention은 Transformer가 복잡한 패턴을 인식하고 더 효율적으로 학습할 수 있게 해주는 중요한 요소다. 이번 포스트에서는 Self-Attention의 세부 원리Multi-Head Attention에 대해 알아보겠다.


2. Self-Attention: 시퀀스 내에서 중요한 정보 찾기

Self-Attention은 입력 시퀀스 내에서 각 토큰이 다른 토큰들과 얼마나 연관되는지 계산하는 과정이다. 이 메커니즘은 문장에서 각 단어들이 서로 어떻게 관계를 맺고 있는지를 파악하는 데 유용하다. 예를 들어, “고양이가 쥐를 잡았다”라는 문장에서 ‘고양이’와 ‘잡았다’가 밀접한 관계가 있다는 것을 학습할 수 있다.

2.1. Self-Attention의 기본 구조

Self-Attention은 기본적으로 Query(Query), Key(Key), Value(Value)라는 세 가지 벡터를 사용한다. 각 단어는 이 세 가지 벡터로 변환되어 다른 단어들과 관계를 계산한다.

  1. Query: 현재 단어가 다른 단어를 얼마나 중요하게 여기는지 나타내는 벡터
  2. Key: 각 단어가 다른 단어들에게 얼마나 중요한지를 나타내는 벡터
  3. Value: 단어의 실제 정보(출력 값)

이때, 각 Query는 다른 Key들과의 유사도를 계산하여 Attention Score를 구한다. 이 값이 클수록 해당 단어의 중요도가 높아지며, 해당 단어의 Value에 더 많은 가중치를 부여한다.

2.2. Self-Attention의 수식

Self-Attention에서 중요한 과정은 Query와 Key의 내적을 통해 가중치(Attention Score)를 계산하는 것이다. 그 후 Softmax를 이용해 이 가중치를 확률로 변환하고, Value 벡터에 이 확률을 곱한 후, 그 값을 모두 더해 최종 출력을 얻는다.

수식으로 나타내면:

  • qi,kj,vj는 각각 Query, Key, Value 벡터
  • αi​j는 Attention Score
  • zi는 최종 출력 벡터

이 과정이 시퀀스의 모든 토큰에 대해 반복되며, 각 단어는 자기 자신을 포함한 다른 모든 단어들과 관계를 맺는다.


3. Multi-Head Attention: 다양한 관점에서 정보 추출하기

Multi-Head Attention은 Self-Attention의 확장이다. 기본적으로 하나의 Attention만으로는 충분히 다양한 정보를 반영하기 어려울 수 있다. 이를 해결하기 위해 여러 개의 Attention 헤드를 동시에 사용하여 다양한 관점에서 정보를 추출하고 결합하는 방식이다.

3.1. Multi-Head Attention의 작동 원리

  1. 각 Head는 독립적으로 Query, Key, Value 벡터를 만들어 각기 다른 Attention을 계산한다.
  2. 그 후 각 Head에서 나온 출력을 결합(concatenate)하여 최종 결과를 만든다.
  3. 이 과정은 모델이 다양한 정보를 동시에 고려하고, 더 많은 다양한 관계를 포착할 수 있게 해준다.

3.2. Multi-Head Attention의 수식

  • 각 Attention Head hhh는 별도로 처리된 Query, Key, Value 벡터를 사용하여 Self-Attention을 계산한다.

그런 다음 각 Head의 출력을 이어 붙여 하나의 벡터로 만든다

3.3. Multi-Head Attention의 장점

  • 다양한 관계 파악: 각 Head가 서로 다른 방식으로 Attention을 학습하므로, 더 다양한 패턴관계를 인식할 수 있다.
  • 정보의 병렬 처리: 여러 개의 Head를 병렬로 처리하면서 효율적인 학습이 가능하다.

4. Self-Attention과 Multi-Head Attention의 중요성

  1. Self-Attention시퀀스 내에서 중요한 단어들 간의 관계를 학습하게 해준다. 이를 통해 문장의 의미를 더 깊이 이해할 수 있다.
  2. Multi-Head Attention은 여러 개의 Attention을 동시에 사용하여 여러 관점에서 정보를 학습함으로써 보다 풍부한 표현력을 가질 수 있게 해준다.

이 두 메커니즘은 Transformer가 성능을 극대화할 수 있게 해주는 핵심적인 원리이며, 많은 NLP 모델들이 이 방식을 채택하고 있다.


5. 마무리

Self-Attention과 Multi-Head Attention은 Transformer 모델의 핵심 기법이다. Self-Attention은 각 단어가 다른 단어와의 관계를 파악하는 데 유용하고, Multi-Head Attention은 여러 관점에서 정보를 추출하여 모델의 성능을 높여준다. 이 두 기법은 Transformer가 다양한 NLP 문제를 해결할 수 있게 해주는 강력한 도구들이다.

다음 포스팅에서는 Positional EncodingFeed-Forward Network 등의 Transformer 내부 메커니즘을 다룰 예정이다.

댓글 0

loading comments...

Self-Attention과 Multi-Head Attention: Transformer의 핵심 원리