기존 자연언어처리와 Transformer 의 차이
“고양이가 쥐를 잡았다. 그것은 매우 빠르다.”
RNN/LSTM:
“그것은”이 뭔지를 이해하려면 “고양이”를 기억해야 함
하지만 이미 여러 단계를 지나 기억이 약해질 수 있음 → “쥐”로 착각할 수도 😅
Transformer:
“그것은”이 “고양이”와 더 강하게 연결되어 있음을 Attention으로 바로 파악
그래서 “그것은 매우 빠르다” → “고양이가 매우 빠르다”라고 올바르게 이해
“Self-Attention”이란?
문장의 각 단어가 다른 모든 단어를 바라보며,
“너랑 나는 얼마나 관련이 있지?”를 점수로 계산하는 방식.
☞ 문장 예시
“고양이가 쥐를 쫓았다.”
☞ 단어별로 서로의 관계를 평가합니다.
| 고양이가 | 쥐를 | 주체와 대상 관계 |
| 쥐를 | 고양이가, 쫓았다 | 자신이 당하는 행동 |
| 쫓았다 | 고양이, 쥐를 | 동사와 관련된 주어·목적어 |
☞ Query, Key, Value
Transformer는 각 단어를 세 가지 벡터로 바꿉니다:
| Query (Q) | 내가 어떤 정보를 찾고 싶은가 | “나는 누구를 주목해야 하지?” |
| Key (K) | 내가 가진 정보는 무엇인가 | “내가 주목받을 만한 이유는 이것이야.” |
| Value (V) | 실제 정보 내용 | “내가 가진 의미는 이거야.” |
Q, K, V 는 다차원 Vector weights 값들이고 학습(Training)하는 과정을 통하여 정해지게 됩니다.
앞으로 내용은 충분한 학습을 통해서 이들 weight값들이 정해진 상태에서의 계산을 설명합니다.
아래의 빨간 사각형은 "hi how are you"의 각 단어의 embedding 값에 각각 W와 T 를 적용, 다시 dot 연산을 한 결과(softmax 적용) 테이블이다. V 는 최종적으로 적용된다.
빨간 사각형의 값들은 각 단어가 다른 단어들과의 주목도(Attention)를 보여 주고 있고 이것이 가장 Transformer 의 핵심이라 할 수 있다. 예) "hi" 는 자기 자신에게 가장 주목 (= 0.7) 하고 나머지 how are you 는 별로 주목하고 있지 않다.(= 0.1)

Transformer Architecture

왼쪽이 Encorder, 오른쪽이 Decorder 이고 ChatGPT등의 LLM은 Decorder 만을 가지고 있습니다.


Transformer에서의 Multi-Head Attention 개념 정리
Transformer의 핵심 구성 요소 중 하나는 Attention 메커니즘으로, 입력된 모든 단어(토큰)들이 서로 어떤 관계를 가지는지를 학습하는 구조입니다.
왼쪽 그림의 방식은 Q(Query), K(Key), V(Value)를 한 번에 통합하여 처리하는 단일 Attention 구조를 나타냅니다.
반면 오른쪽의 Multi-Head Attention은 이 과정을 여러 개의 "헤드(head)"로 나누어 병렬로 처리하는 구조입니다.
여기서 “쪼개서 처리한다”는 의미는, 각 단어의 임베딩 차원(embedding dimension) — 예를 들어 OpenAI의 임베딩 모델에서는 1,536차원 — 을 여러 개의 부분으로 나누는 것을 말합니다.
즉, 각 Attention Head는 전체 임베딩의 일부 차원만 담당하여, 서로 다른 시각에서 단어 간의 관계를 학습하게 됩니다.
이렇게 여러 Head로 나누어 병렬로 학습하면,
각 Head가 서로 다른 의미적 관계(예: 문법적, 의미적, 문맥적 연결 등)를 포착할 수 있고 결과적으로 단일 Attention보다 더 풍부하고 다층적인 의미 표현을 얻을 수 있습니다.
요약하면,
Multi-Head Attention은 임베딩 차원을 여러 부분으로 나누어 병렬로 Attention을 수행함으로써, 각 Head가 다른 관점에서 단어 간 관계를 학습하고 이를 종합해 더 정교한 문맥 이해를 가능하게 하는 구조입니다.
'data science > Artificial Intelligence' 카테고리의 다른 글
| Transformer (GPT) 가장 쉽게 이해하기 - Part 2 (0) | 2025.10.26 |
|---|---|
| SVM(Support Vector Machines) Classifier (0) | 2025.04.02 |
| K-Neighbors Classifier (0) | 2025.04.02 |
| Naïve Bayes (나이브 배이스) Classifier - ROC curve (0) | 2025.03.11 |
| Naïve Bayes (나이브 배이스) Classifier - 실전 2 (0) | 2025.03.08 |