1. Transformer의 정의
Transformer는 시퀀스 데이터를 처리하기 위해 설계된 딥러닝 구조이며, 핵심적으로 Attention 메커니즘, 그중에서도 Self-Attention을 중심으로 동작하는 모델이다.
기존의 RNN이나 LSTM은 입력을 순차적으로 처리하였다. 반면 Transformer는 문장 전체를 한 번에 보고 각 단어들 사이의 관계를 계산한다. 이로 인해 병렬 처리가 가능해지고, 멀리 떨어진 정보 간 관계를 더 효과적으로 학습할 수 있게 되었다.
2017년 논문 Attention Is All You Need에서 제안된 이후, 자연어처리뿐 아니라 비전, 음성, 멀티모달 분야까지 확장된 핵심 구조가 되었다.
2. Transformer의 역할
Transformer의 역할은 단순히 “문장을 읽는 모델”이 아니라, 입력 시퀀스 내부의 각 요소들이 서로 어떤 관련을 가지는지 계산하고, 그 관계를 기반으로 더 풍부한 표현을 만드는 것이다.
예를 들어 문장 내 어떤 단어의 의미를 이해하려면 그 단어만 보는 것이 아니라 앞뒤 문맥 전체를 함께 봐야 한다. Transformer는 바로 이 문맥적 관계를 효율적으로 계산한다.
주요 역할은 다음과 같다.
첫째, 문맥 이해이다.
단어 하나를 고정된 의미로 보는 것이 아니라 문장 내 다른 단어들과의 관계 속에서 해석한다.
둘째, 장기 의존성 처리이다.
문장 초반의 단어와 후반의 단어가 멀리 떨어져 있어도 직접 연결하여 관계를 계산할 수 있다.
셋째, 시퀀스 변환이다.
번역, 요약, 질의응답, 텍스트 생성처럼 입력 시퀀스를 다른 형태의 출력 시퀀스로 변환하는 데 사용된다.
넷째, 표현 학습이다.
각 토큰을 단순한 단어 벡터가 아니라 문맥이 반영된 고차원 표현으로 바꾼다.
3. Transformer가 등장한 배경
Transformer 이전에는 RNN, LSTM, GRU가 시퀀스 처리의 주류였다. 그러나 이 구조들은 다음과 같은 한계가 있었다.
- 순차 처리 방식이라 병렬화가 어렵다.
- 시퀀스가 길어질수록 학습이 느려진다.
- 먼 거리의 정보 전달이 어렵다.
- 장기 의존성 문제가 발생한다.
Transformer는 이러한 문제를 해결하기 위해 순환 구조를 제거하고, Attention만으로 시퀀스 간 관계를 계산하는 방식을 도입하였다.
즉, Transformer의 핵심 혁신은 다음과 같이 요약할 수 있다.
“순서대로 읽지 않고, 전체를 동시에 본 뒤 중요한 관계에 집중한다.”
4. Transformer의 전체 구조
Transformer는 기본적으로 다음 두 부분으로 구성된다.
- Encoder
- Decoder
원래 번역 모델 기준으로 보면,
- Encoder는 입력 문장을 이해하는 역할
- Decoder는 출력 문장을 생성하는 역할
을 수행한다.
전체 흐름은 다음과 같다.
입력 토큰
→ 임베딩
→ 위치 정보 추가
→ Encoder 여러 층 통과
→ Decoder가 Encoder 출력 참고
→ 한 토큰씩 출력 생성
다만 현대 모델은 이 전체 구조를 모두 쓰지 않는 경우도 많다.
- BERT: Encoder만 사용
- GPT: Decoder만 사용
- 기계번역 원형 Transformer: Encoder-Decoder 모두 사용
5. 입력 처리 방식
Transformer는 단어를 그대로 처리하지 않는다. 먼저 숫자 벡터로 바꾸어야 한다.
5.1 Tokenization
문장을 토큰 단위로 분할한다.
예:
“나는 학교에 간다”
→ “나는”, “학교”, “에”, “간다”
또는 서브워드 단위로 나눌 수도 있다.
5.2 Embedding
각 토큰을 고정 길이의 벡터로 변환한다.
이 벡터는 해당 토큰의 의미를 수치적으로 표현한 것이다.
예:
토큰 A → [0.2, -0.7, 1.3, ...]
5.3 Positional Encoding
Transformer는 RNN처럼 순서대로 읽지 않기 때문에, 단어의 위치 정보가 자동으로 반영되지 않는다. 따라서 각 토큰에 **위치 정보(position)**를 별도로 넣어줘야 한다.
즉, “나는 학교에 간다”와 “학교에 나는 간다”를 구분하려면 위치 정보가 필요하다.
위치 정보는 임베딩 벡터에 더해진다.
최종 입력:
토큰 임베딩 + 위치 인코딩
6. Self-Attention의 개념
Transformer의 핵심은 Self-Attention이다.
Self-Attention은 입력 시퀀스 안의 각 토큰이 다른 모든 토큰을 참고하여 자기 자신의 새로운 표현을 만드는 과정이다.
예를 들어 문장:
“그는 은행에 갔다. 거기서 돈을 찾았다.”
여기서 “은행”은 river bank가 아니라 bank account의 은행이다. 이를 이해하려면 뒤의 “돈”과 관계를 봐야 한다. Self-Attention은 이런 관계를 계산한다.
즉, 어떤 단어를 표현할 때,
- 자기 자신만 보는 것이 아니라
- 문장 전체에서 관련 있는 단어들에 더 높은 가중치를 두어
- 새로운 문맥 표현을 만든다.
7. Query, Key, Value
Self-Attention을 이해하려면 Query, Key, Value 개념이 필요하다.
각 토큰 벡터는 세 개의 벡터로 변환된다.
- Query: 내가 지금 무엇을 찾고 싶은가
- Key: 나는 어떤 정보를 가지고 있는가
- Value: 실제로 전달할 정보는 무엇인가
쉽게 말하면 다음과 같다.
어떤 단어가 다른 단어를 참고할 때,
- Query는 “내가 찾는 기준”
- Key는 “내가 가진 특징표”
- Value는 “실제로 줄 내용”
이다.
8. Self-Attention의 계산 원리
8.1 1단계: Q, K, V 생성
입력 벡터 X에 대해 학습 가능한 가중치 행렬을 곱해 만든다.
Q = XWQ
K = XWK
V = XWV
즉, 같은 입력에서 서로 다른 세 관점의 표현을 만든다.
8.2 2단계: 유사도 계산
각 토큰의 Query와 모든 토큰의 Key를 비교하여 관련도를 계산한다.
수식은 다음과 같다.
Attention Score = Q × K^T
이 값이 크면 두 토큰이 서로 관련성이 높다는 뜻이다.
8.3 3단계: 스케일링
차원이 커지면 값이 너무 커질 수 있으므로 루트 d_k로 나눈다.
Scaled Score = QK^T / sqrt(d_k)
이 과정을 통해 학습 안정성을 높인다.
8.4 4단계: Softmax
각 점수를 확률처럼 해석할 수 있도록 Softmax를 적용한다.
이제 각 토큰이 다른 토큰들을 얼마나 참고할지에 대한 가중치 분포가 나온다.
8.5 5단계: 가중합
얻어진 Attention weight를 Value에 곱해 최종 출력을 계산한다.
즉,
중요한 토큰의 정보는 더 많이 반영하고,
덜 중요한 토큰의 정보는 적게 반영한다.
8.6 최종 수식
Self-Attention은 다음과 같이 표현된다.
Attention(Q, K, V) = softmax(QK^T / sqrt(d_k))V
이 식이 Transformer의 핵심 수식이다.
9. Multi-Head Attention
Transformer는 Attention을 한 번만 하지 않고 여러 개의 “head”로 나누어 병렬 수행한다. 이를 Multi-Head Attention이라고 한다.
의미는 다음과 같다.
- 어떤 head는 문법 관계에 주목
- 어떤 head는 의미 관계에 주목
- 어떤 head는 장거리 의존성에 주목
즉, 하나의 시각이 아니라 여러 관점에서 동시에 문맥을 분석한다.
마지막에는 각 head의 결과를 합쳐 더 풍부한 표현을 만든다.
이 구조의 장점은 문장 내 관계를 단일 방식이 아니라 다면적으로 파악할 수 있다는 점이다.
10. Encoder의 구조
Encoder 한 층은 보통 다음 두 부분으로 구성된다.
- Multi-Head Self-Attention
- Feed Forward Network
그리고 각 단계 사이에 다음이 추가된다.
- Residual Connection
- Layer Normalization
즉, 한 층의 흐름은 대략 다음과 같다.
입력
→ Multi-Head Self-Attention
→ Add & Norm
→ Feed Forward Network
→ Add & Norm
→ 출력
이 구조를 여러 층 쌓아 깊은 표현을 학습한다.
11. Feed Forward Network
Attention이 토큰 간 관계를 계산하는 부분이라면, Feed Forward Network는 각 위치별로 비선형 변환을 적용해 표현력을 높이는 역할을 한다.
보통 두 개의 선형층과 활성화 함수로 구성된다.
예:
Linear
→ ReLU 또는 GELU
→ Linear
이 부분은 각 토큰에 독립적으로 적용되지만, 앞서 Attention을 통해 이미 문맥 정보가 섞여 있기 때문에 결과적으로 문맥이 반영된 비선형 표현이 만들어진다.
12. Residual Connection과 Layer Normalization
12.1 Residual Connection
입력을 그대로 더해주는 연결이다.
출력 = F(x) + x
역할:
- 정보 손실 방지
- 깊은 네트워크 학습 안정화
- gradient vanishing 완화
12.2 Layer Normalization
각 층의 출력 분포를 정규화하여 학습을 안정적으로 만든다.
역할:
- 학습 수렴 개선
- 훈련 안정성 향상
- 내부 분포 변화 감소
13. Decoder의 구조
Decoder는 Encoder보다 조금 더 복잡하다. 보통 세 단계가 들어간다.
- Masked Multi-Head Self-Attention
- Encoder-Decoder Attention
- Feed Forward Network
여기서 중요한 것은 Masked Self-Attention이다.
출력 문장을 생성할 때는 미래 토큰을 미리 보면 안 된다. 예를 들어 다음 단어를 예측하는데 뒤 정답을 이미 보면 학습이 성립하지 않는다. 그래서 현재 위치보다 뒤에 있는 토큰은 가려(mask)서 보지 못하게 한다.
Encoder-Decoder Attention은 Decoder가 출력 생성 중에 입력 문장 정보를 참고하도록 하는 부분이다.
즉,
- Decoder 내부에서는 지금까지 생성한 단어들을 참고하고
- 동시에 Encoder 출력도 참고하여 다음 단어를 생성한다.
14. Transformer의 원리 요약
Transformer의 본질적 원리는 다음과 같다.
첫째, 입력 전체를 동시에 본다.
둘째, 각 토큰이 다른 모든 토큰과의 관계를 계산한다.
셋째, 중요한 관계에는 높은 가중치를 부여한다.
넷째, 여러 층을 거치며 점점 더 추상적이고 풍부한 문맥 표현을 만든다.
다섯째, 그 표현을 이용해 분류, 번역, 생성 등의 작업을 수행한다.
즉, Transformer는 “순서를 따라가는 모델”이 아니라 “관계를 계산하는 모델”이라고 이해하는 것이 정확하다.
15. Transformer의 장점
15.1 병렬 처리 가능
RNN은 순차적으로 처리해야 하지만 Transformer는 전체 시퀀스를 동시에 계산할 수 있다. 따라서 학습 속도가 빠르다.
15.2 장기 의존성 처리 우수
멀리 떨어진 단어 간 관계도 직접 계산 가능하다.
15.3 문맥 표현력이 높음
Self-Attention을 통해 단어 의미를 주변 문맥에 따라 동적으로 바꿀 수 있다.
15.4 확장성 우수
층 수, head 수, hidden dimension을 키워 대규모 모델로 확장하기 용이하다.
16. Transformer의 한계
16.1 계산량 증가
Self-Attention은 시퀀스 길이가 n일 때 대략 n²에 비례하는 계산이 필요하다.
따라서 매우 긴 입력에서는 메모리와 연산량 부담이 크다.
16.2 위치 정보가 내재적이지 않음
RNN은 순서 구조 자체가 있지만 Transformer는 위치 정보를 별도 주입해야 한다.
16.3 데이터와 연산 자원 요구가 큼
대형 Transformer는 많은 데이터와 GPU/TPU 자원이 필요하다.
17. BERT와 GPT에서의 Transformer 활용
17.1 BERT
BERT는 Transformer의 Encoder 구조를 사용한다.
목적은 문장을 잘 이해하는 것이다.
특징:
- 양방향 문맥 사용
- 문장 분류, 개체명 인식, 질의응답 등에 강함
17.2 GPT
GPT는 Transformer의 Decoder 구조를 사용한다.
목적은 다음 토큰을 예측하며 텍스트를 생성하는 것이다.
특징:
- 단방향 생성
- 글쓰기, 대화, 요약, 코드 생성 등에 강함
즉,
- BERT는 이해 중심
- GPT는 생성 중심
으로 구분할 수 있다.
18. Transformer가 사용되는 분야
Transformer는 현재 다음 분야에서 핵심 구조로 사용된다.
- 자연어처리: 번역, 요약, 질의응답, 대화
- 컴퓨터비전: Vision Transformer
- 음성처리: 음성 인식, 음성 합성
- 멀티모달: 이미지+텍스트, 비디오+텍스트
- 생물정보학: 단백질 서열 분석
즉, Transformer는 단순한 NLP 모델이 아니라 범용 표현 학습 아키텍처로 확장되었다.
19. 직관적 비유
Transformer를 회의실에 비유하면 이해가 쉽다.
문장 속 각 단어가 회의 참석자라고 가정하면, RNN은 발언 순서대로 앞사람 말을 기억하며 듣는 구조에 가깝다. 반면 Transformer는 모든 참석자가 동시에 서로를 바라보며 “누구 말이 지금 중요하지?”를 계산하는 구조이다.
즉, 각 단어는 전체 문장 속 다른 단어들을 참고하여 자기 의미를 다시 정리한다. 이것이 Self-Attention의 직관이다.
20. 핵심 정리
Transformer는 Self-Attention을 중심으로 시퀀스 내부 관계를 계산하는 딥러닝 구조이다.
기존 RNN 계열의 순차 처리 한계를 해결하고, 병렬 처리와 장기 의존성 학습을 가능하게 하였다.
핵심 구성 요소는 Embedding, Positional Encoding, Multi-Head Self-Attention, Feed Forward Network, Residual Connection, Layer Normalization이다.
BERT, GPT와 같은 현대 대규모 언어모델의 기반 구조가 바로 Transformer이다.
'AL,ML 학부연구생 > 공부 기록' 카테고리의 다른 글
| RNN(Recurrent Neural Network)는 무엇이고, FNN과 어떻게 다른가? (0) | 2026.03.23 |
|---|---|
| FeedForward Neural Network (FNN)이란 무엇인가? (0) | 2026.03.23 |
| Query, Key, Value (Q, K, V)란 무엇인가? (0) | 2026.03.23 |
| CNN ( Convolution Neural Network) 는 무엇인가? (0) | 2026.03.23 |
| 인공 신경망 종류와 각 의미 (0) | 2026.03.23 |