이 시리즈는 NLP 분야의 핵심 논문들을 정리하고 리뷰하는 글입니다.
논문의 주요 기여와 핵심 개념을 개인적으로 이해한 관점에서 풀어내며
실제 프로젝트나 연구에 어떻게 적용할 수 있을지에 대한 생각도 함께 담았습니다.
📌 논문 정보
- 논문 제목: Attention Is All You Need
- 저자 / 소속: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Łukasz Kaiser, Illia Polosukhin (Google Brain / Google Research), Aidan N. Gomez (University of Toronto)
- 출판 연도 / 학회: 2017년 / NeurIPS
- 링크
✍🏻 TL;DR – 한 줄 요약
RNN, CNN 없이 기계 번역에서 SOTA 성능을 달성한, 어텐션 메커니즘만으로 구성된 Transformer 구조를 제안했습니다.
🫣 연구 배경 & 문제점
기존의 시퀀스 모델인 RNN, LSTM, GRU 등은 순차적 처리 방식으로 인해 병렬화가 어렵고, 긴 시퀀스의 정보를 효과적으로 보존하지 못하는 한계를 가졌습니다. 특히 계산량과 학습 속도 측면에서도 효율성이 떨어졌으며, 깊은 구조에서는 기울기 소실 문제가 발생하기도 했습니다.
연구진은 이러한 문제를 해결하고자 순환 구조 없이 전역적인 문맥 정보를 병렬적으로 처리할 수 있는 새로운 구조가 필요하다고 판단했습니다.
💎 핵심 용어 & 배경 지식
- Self-Attention: 입력 내 모든 토큰 간 관계를 계산하여 문맥 정보를 반영하는 어텐션 메커니즘입니다.
- Multi-Head Attention: 다양한 표현 공간에서 정보를 추출하기 위해 여러 개의 self-attention을 병렬로 수행하는 방식입니다.
- Positional Encoding: 순서를 고려하지 않는 self-attention의 한계를 보완하기 위해 위치 정보를 임베딩에 더하는 기법입니다.
- Residual Connection: 각 층의 입력을 출력에 더함으로써 깊은 네트워크 학습을 안정화하는 방법입니다.
- Layer Normalization: 각 층의 입력 분포를 정규화하여 학습 속도와 성능을 개선하는 기법입니다.
⛓️ 핵심 접근 방법 및 수식
Transformer는 인코더-디코더 구조로 설계되었으며, 각 블록은 다음 구성 요소들로 이루어져 있습니다.
1. Scaled Dot-Product Attention
어텐션 계산은 아래 수식을 따릅니다.
여기서 Q, K, V는 각각 쿼리, 키, 밸류 벡터이며 d_k는 차원 수입니다.
2. Multi-Head Attention
여러 어텐션을 병렬로 수행한 뒤, 결과를 연결하고 선형 변환합니다.
3. Feed-Forward Network
각 위치에 독립적으로 적용되는 두 개의 선형 변환과 ReLU로 구성됩니다.
4. Positional Encoding
순환 구조 없이 위치 정보를 반영하기 위해 다음과 같이 정의된 인코딩을 사용했습니다.
💡 주요 결과 & 인사이트
- WMT 2014 영어→독일어, 영어→프랑스어 번역 작업에서 기존 GNMT보다 높은 BLEU 점수를 기록했습니다.
- Base 모델과 Big 모델로 나누어 실험을 진행했으며, layer 수, hidden size, head 수 변화에 따라 성능을 분석했습니다.
- 구성 요소를 제거하거나 변경했을 때 성능 하락이 관찰되어, Multi-head attention과 positional encoding의 효과를 입증했습니다.
- 영어 constituency parsing에 사전학습된 인코더를 적용한 fine-tuning에서도 기존 RNN 모델과 비슷하거나 더 나은 성능을 달성했습니다.
🪄 시사점 & 앞으로의 방향
Transformer는 NLP 분야의 패러다임을 바꾸는 구조로 자리잡았습니다. 이후 등장한 BERT, GPT, T5 등 대형 언어 모델들의 기반이 되었으며, 병렬 처리가 가능하다는 특성 덕분에 학습 속도와 성능을 모두 향상시켰습니다.
또한 self-attention 구조는 텍스트뿐 아니라 이미지(ViT), 음성, 시계열 등 다양한 도메인에서도 확장 적용되며, 멀티모달 학습과 Zero-shot/Few-shot 학습 등으로도 이어지고 있습니다.