논문 링크: https://arxiv.org/abs/1706.03762
Attention Is All You Need
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new
arxiv.org
1. 서론
1.1 논문 선정 이유
"Attention Is All You Need"는 Transformer 모델을 제안한 기념비적인 논문으로, 자연어 처리 분야에 혁신을 일으킨 연구이다. 기존의 순환 신경망(RNN) 기반 모델들과 달리, 순차적 처리를 제거하고 전체 시퀀스를 한 번에 처리할 수 있는 구조를 도입하여 학습 효율성과 병렬성을 획기적으로 향상시켰다. 이 논문은 BERT, GPT 등 이후 등장한 대규모 언어 모델들의 기반이 되었기에, NLP 연구자에게 필수적으로 이해해야 할 논문이다.
2. 논문 요약
2.1 논문 제목 및 저자 정보
제목: Attention Is All You Need
저자: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
출처: NeurIPS 2017
2.2 연구 배경 및 목적
기존의 Seq2Seq 모델은 RNN 또는 LSTM 기반으로 구성되어 있어, 병렬화가 어렵고 긴 문장을 처리할 때 정보 손실이 발생하는 문제가 있었다. 이 논문은 이러한 제약을 해결하기 위해 전적으로 Attention 메커니즘 중 self-attention에 기반한 Transformer 모델을 제안하였다. 이는 병렬 처리에 최적화되어 학습 속도를 대폭 향상시키며, 문맥 정보의 장기 의존성 문제를 효과적으로 해결할 수 있다.
3. 핵심 내용 분석
3.1 방법론
Transformer는 Encoder와 Decoder로 구성된다. 각 부분은 self-attention과 feed-forward 신경망으로 구성되며, 전체 구조에서 recurrence가 전혀 없다.

3.1.1 Encoder 및 Decoder 구조
(a) Encoder
- Encoder는 동일한 구조의 레이어 6개로 구성
- 각 레이어는 다음의 두 서브 레이어로 구성
- Multi-head Self-Attention
- Position-wise Feed-Forward Network
- 각 서브 레이어에는 잔차 연결(residual connection)이 적용되며, 그 뒤에 Layer Normalization이 적용
- \( LayerNorm(x + Sublayer(x)) \)
- 모든 서브 레이어는 출력 차원을 동일하게 유지하며, 모델 차원은 d_model = 512로 고정
(b) Decoder
- Decoder도 Encoder와 마찬가지로 6개의 동일한 구조의 레이어로 구성
- Decoder의 각 레이어는 다음의 세 서브 레이어로 구성
- Masked Multi-head Self-Attention (미래 정보를 가리지 않도록 마스킹 적용)
- Multi-head Attention (Encoder의 출력과 Attention 수행)
- Position-wise Feed-Forward Network
- 각 서브 레이어 역시 residual connection과 layer normalization이 적용
- 출력 예측 시 position i는 i보다 작은 위치의 정보에만 접근 가능하도록 마스킹 처리
3.1.2 Attention 메커니즘

(a) Scaled Dot-Product Attention
$$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$
- 입력: 쿼리(Q), 키(K), 값(V)
- 각 쿼리와 모든 키의 내적을 계산하고, 이를 키 차원의 제곱근(\( \sqrt{d_k} \))으로 나눈 뒤 softmax를 적용하여 가중치를 산출
- 출력: 각 값에 가중치를 곱한 값의 합
(b) Self-Attention Mechanism
Self-Attention은 입력 문장의 각 단어가 문장의 다른 단어들과 어떤 관계를 가지는지를 파악하는 방식이다. 입력 벡터는 Query, Key, Value로 변환되며, 이들의 내적을 통해 각 단어 간의 유사도를 계산하고, 이를 바탕으로 가중 평균을 수행한다.
(c) Scaled Dot-Product Attention
이 방식은 입력 길이에 관계없이 병렬 처리가 가능하며, 긴 거리의 의존 관계도 효과적으로 학습할 수 있다.
(d) Multi-Head Attention
$$ \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^O $$
$$ \text{where} \text{head}_i = \text{Attention}(QW^Q_i, KW^K_i, VW^V_i) $$
- Attention을 단일 Head로 수행하는 대신, 여러 Head로 병렬 수행함으로써 다양한 표현 공간에서 정보를 추출
- 각각의 Head는 쿼리, 키, 값을 서로 다른 선형 변환을 거쳐 Attention을 수행한 후, 그 결과를 Concatenate하여 다시 선형 변환함
- 이 논문에서는 h = 8개의 Head를 사용하며, 각 Head의 차원은 64로 설정되어 총 모델 차원 512와 일치
3.1.3 Position-wise Feed-Forward Networks
- 각 Encoder 및 Decoder 레이어 내에는 어텐션 외에도 포지션별 Fully Connected Feed-Forward(완전 연결 피드포워드) 네트워크가 포함됨
- 입력의 각 위치에 대해 동일한 방식으로 두 개의 선형 변환과 그 사이에 ReLU 활성 함수를 적용
$$ \text{FFN}(x) = \max(0, xW_1 + b_1)W_2 + b_2 $$
입력 및 출력 차원은 \( d_{model} = 512 \), 내부 차원은 \( d_{ff} = 2048 \)이다. 이 연산은 1x1 컨볼루션으로도 해석 가능하다.
사실 이 Feed-Forward 부분에서 \( d_{ff} \) 부분이 왜 2048인지에 대해 의문이 생겼었다. 우선 위 수식에 따르면 FF는 2번의 linear transform이 발생하는 것으로 볼 수 있다. 또한 max는 ReLU와 같은 비선형 활성화 함수가 적용되는 부분이다. 즉 \( Linear_2(ReLU(Linear_1(x))) \)이 되고 통상적으로 차원은 2배씩 증가한다고 가정한다면, 입력 및 출력 차원을 512라 가정하였을 때 \( d_{ff} = 2048 \)이 된다고 해석하면 될 것 같다.
3.1.4 Embeddings and Softmax
- 입력 및 출력 토큰은 \( d_{model} \)차원의 임베딩 벡터로 변환됨
- 디코더 출력은 선형 변환 및 소프트맥스를 거쳐 다음 토큰의 확률 분포로 변환됨
- 임베딩 레이어와 출력층의 선형 변환에 동일한 가중치 행렬을 공유함
- 임베딩 시에는 해당 가중치에 \( \sqrt{d_{model}} \)을 곱하여 스케일 조정함

Table 1에서 확인할 수 있듯 Self-Attention의 시간복잡도는 \( O(n^2d) \)와 같다. 만약 입력 시퀀스의 크기가 \( n \)이고 각 토큰의 임베딩 차원이 \( d \)일 때, self-attention의 연산량은 \( n*n \) 크기의 attention matrix 계산과 이에 따른 weighted sum 계산이 포함되어 \( O(n^2d) \)가 된다.
이는 시퀀스 길이가 길어질수록 계산량이 급격히 증가함을 의미한다. 하지만 병렬처리가 가능하기에 이 부분은 일정 부분은 개선될 수 있다. 물론 GPU 의존적이기에 돈은 많아야한다.
3.1.5 Positional Encoding
Transformer는 순차 구조(RNN 등)를 사용하지 않기 때문에, 단어의 순서를 인식할 수 없다. 따라서 이를 보완하기 위해 위치 정보를 인코딩한 벡터(Positional Encoding)를 입력 임베딩에 더하는 방식을 사용하였다. 해당 인코딩은 모델의 임베딩 차원(\ d_{model} \)과 동일한 차원을 가진다.
$$ PE(pos, 2i) = \sin\left(\frac{pos}{10000^{\frac{2i}{d_{model}}}}\right) $$
$$ PE(pos, 2i+1) = \cos\left(\frac{pos}{10000^{\frac{2i}{d_{model}}}}\right) $$
- 어텐션 메커니즘은 입력 순서를 고려하지 않기 때문에, 각 단어의 위치 정보를 인코딩하여 입력에 추가
- 사인 및 코사인 함수를 사용하여 고정된 주기적 위치 인코딩을 생성
- 각 차원은 고유 주기를 가지며, 위치 간 상대적인 차이를 인코딩할 수 있음
- 이는 모델이 순서를 명시적으로 학습하지 않아도 위치 정보를 인식할 수 있도록 설계됨
- 학습된 positional embedding과 비교했을 때 성능 차이는 크지 않았으며, 일반화 능력(긴 시퀀스 처리)에 유리할 것으로 기대되어 사인/코사인 방식 사용
3.1.6 전체 구조
- Encoder: 입력 문장에 대해 self-attention → feed-forward → normalization → residual connection을 반복.
- Decoder: 이전 단어들을 기반으로 masked self-attention 수행 후, encoder의 출력과 cross-attention을 통해 번역을 생성.
3.2 실험 결과

Transformer는 WMT 2014 영어-독어, 영어-프랑스어 번역 데이터셋에서 SOTA를 달성하였으며, 특히 학습 속도 측면에서 기존 모델 대비 훨씬 빠르게 수렴하였다.
- BLEU 점수: 기존의 RNN 기반 모델을 능가함
- 연산 효율: 병렬 처리 덕분에 훈련 시간 단축
아래는 Transformer 모델의 다양한 구성 요소를 바꿨을 때 성능이 어떻게 변화하는지를 실험한 결과를 설명하는 표이다.

- Attention Head 수 및 차원 변화: 헤드 수가 너무 적거나 많으면 BLEU 점수가 떨어짐.
→ 적절한 헤드 수가 중요하다는 점을 시사한다. - Attention key 차원 \( d_k \) 변화: \( d_k\)감소시키면 성능이 떨어짐
→ "유사도 계산이 단순한 dot-product만으로는 부족할 수 있다"는 점을 시사한다. - 모델 크기 변화 (d_model, dff): d_model과 dff를 늘리거나 줄인 실험에선 모델이 클수록 BLEU 성능이 향상 (예: d_model=1024, dff=4096일 때 BLEU가 가장 높음).
- Dropout 확률 변화: Pdrop 값을 0.0 또는 0.2로 바꿔서 실험
→ Dropout이 과적합을 방지하는 데 유리함. - Positional Encoding 방식 변경: 기존의 sinusoidal encoding을 learned positional embedding으로 대체.
→ 성능 차이는 거의 없므로 두 방식 모두 유효
3.3 결론
"Attention Is All You Need"는 기존 시퀀스 모델의 한계를 극복하고, 이후 언어 모델 연구의 패러다임을 바꾼 중요한 연구이다. self-attention이라는 간단하면서도 강력한 구조가 어떻게 복잡한 언어 구조를 효과적으로 학습할 수 있는지를 보여준다.
4. 장점과 한계
4.1 연구의 장점
- RNN/CNN 없이도 시퀀스 데이터를 효과적으로 처리함
- 병렬화 가능성이 높아 학습 및 추론 속도가 빠름
- 다양한 NLP 태스크에 확장 가능
4.2 연구의 한계와 개선 가능성
- 입력 길이가 길어질수록 계산량이 증가함 (\( O(n^2) \) 시간 복잡도)
- 구조가 단순하긴 하나 대용량 학습이 요구됨
5. 관련 연구 및 응용
5.1 관련 연구 비교
- RNN/LSTM: 순차적인 정보 전달 방식으로 긴 의존성 학습에 한계가 있었음
- BERT, GPT: Transformer 기반으로 사전 학습과 전이 학습을 활용함
5.2 실질적 응용 가능성
- 기계 번역, 문서 요약, 질의응답, 텍스트 생성 등 거의 모든 NLP 분야에 적용 가능
- 이후 GPT 시리즈, BERT, T5 등 핵심 구조로 발전함
결론
"Attention Is All You Need"는 NLP의 패러다임 전환을 이끈 핵심 논문으로, 간결한 구조와 강력한 성능을 바탕으로 현대의 거의 모든 대형 언어 모델의 기반이 되었다. 이 논문은 단지 하나의 모델 제안에 그치지 않고, 딥러닝 전체 구조 설계에 큰 영향을 미친 역사적인 연구라고 할 수 있다.
논문 링크: https://arxiv.org/abs/1706.03762
Attention Is All You Need
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new
arxiv.org
1. 서론
1.1 논문 선정 이유
"Attention Is All You Need"는 Transformer 모델을 제안한 기념비적인 논문으로, 자연어 처리 분야에 혁신을 일으킨 연구이다. 기존의 순환 신경망(RNN) 기반 모델들과 달리, 순차적 처리를 제거하고 전체 시퀀스를 한 번에 처리할 수 있는 구조를 도입하여 학습 효율성과 병렬성을 획기적으로 향상시켰다. 이 논문은 BERT, GPT 등 이후 등장한 대규모 언어 모델들의 기반이 되었기에, NLP 연구자에게 필수적으로 이해해야 할 논문이다.
2. 논문 요약
2.1 논문 제목 및 저자 정보
제목: Attention Is All You Need
저자: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
출처: NeurIPS 2017
2.2 연구 배경 및 목적
기존의 Seq2Seq 모델은 RNN 또는 LSTM 기반으로 구성되어 있어, 병렬화가 어렵고 긴 문장을 처리할 때 정보 손실이 발생하는 문제가 있었다. 이 논문은 이러한 제약을 해결하기 위해 전적으로 Attention 메커니즘 중 self-attention에 기반한 Transformer 모델을 제안하였다. 이는 병렬 처리에 최적화되어 학습 속도를 대폭 향상시키며, 문맥 정보의 장기 의존성 문제를 효과적으로 해결할 수 있다.
3. 핵심 내용 분석
3.1 방법론
Transformer는 Encoder와 Decoder로 구성된다. 각 부분은 self-attention과 feed-forward 신경망으로 구성되며, 전체 구조에서 recurrence가 전혀 없다.

3.1.1 Encoder 및 Decoder 구조
(a) Encoder
- Encoder는 동일한 구조의 레이어 6개로 구성
- 각 레이어는 다음의 두 서브 레이어로 구성
- Multi-head Self-Attention
- Position-wise Feed-Forward Network
- 각 서브 레이어에는 잔차 연결(residual connection)이 적용되며, 그 뒤에 Layer Normalization이 적용
- 모든 서브 레이어는 출력 차원을 동일하게 유지하며, 모델 차원은 d_model = 512로 고정
(b) Decoder
- Decoder도 Encoder와 마찬가지로 6개의 동일한 구조의 레이어로 구성
- Decoder의 각 레이어는 다음의 세 서브 레이어로 구성
- Masked Multi-head Self-Attention (미래 정보를 가리지 않도록 마스킹 적용)
- Multi-head Attention (Encoder의 출력과 Attention 수행)
- Position-wise Feed-Forward Network
- 각 서브 레이어 역시 residual connection과 layer normalization이 적용
- 출력 예측 시 position i는 i보다 작은 위치의 정보에만 접근 가능하도록 마스킹 처리
3.1.2 Attention 메커니즘

(a) Scaled Dot-Product Attention
- 입력: 쿼리(Q), 키(K), 값(V)
- 각 쿼리와 모든 키의 내적을 계산하고, 이를 키 차원의 제곱근(
)으로 나눈 뒤 softmax를 적용하여 가중치를 산출 - 출력: 각 값에 가중치를 곱한 값의 합
(b) Self-Attention Mechanism
Self-Attention은 입력 문장의 각 단어가 문장의 다른 단어들과 어떤 관계를 가지는지를 파악하는 방식이다. 입력 벡터는 Query, Key, Value로 변환되며, 이들의 내적을 통해 각 단어 간의 유사도를 계산하고, 이를 바탕으로 가중 평균을 수행한다.
(c) Scaled Dot-Product Attention
이 방식은 입력 길이에 관계없이 병렬 처리가 가능하며, 긴 거리의 의존 관계도 효과적으로 학습할 수 있다.
(d) Multi-Head Attention
- Attention을 단일 Head로 수행하는 대신, 여러 Head로 병렬 수행함으로써 다양한 표현 공간에서 정보를 추출
- 각각의 Head는 쿼리, 키, 값을 서로 다른 선형 변환을 거쳐 Attention을 수행한 후, 그 결과를 Concatenate하여 다시 선형 변환함
- 이 논문에서는 h = 8개의 Head를 사용하며, 각 Head의 차원은 64로 설정되어 총 모델 차원 512와 일치
3.1.3 Position-wise Feed-Forward Networks
- 각 Encoder 및 Decoder 레이어 내에는 어텐션 외에도 포지션별 Fully Connected Feed-Forward(완전 연결 피드포워드) 네트워크가 포함됨
- 입력의 각 위치에 대해 동일한 방식으로 두 개의 선형 변환과 그 사이에 ReLU 활성 함수를 적용
입력 및 출력 차원은
사실 이 Feed-Forward 부분에서
3.1.4 Embeddings and Softmax
- 입력 및 출력 토큰은 \( d_{model} \)차원의 임베딩 벡터로 변환됨
- 디코더 출력은 선형 변환 및 소프트맥스를 거쳐 다음 토큰의 확률 분포로 변환됨
- 임베딩 레이어와 출력층의 선형 변환에 동일한 가중치 행렬을 공유함
- 임베딩 시에는 해당 가중치에
을 곱하여 스케일 조정함

Table 1에서 확인할 수 있듯 Self-Attention의 시간복잡도는
이는 시퀀스 길이가 길어질수록 계산량이 급격히 증가함을 의미한다. 하지만 병렬처리가 가능하기에 이 부분은 일정 부분은 개선될 수 있다. 물론 GPU 의존적이기에 돈은 많아야한다.
3.1.5 Positional Encoding
Transformer는 순차 구조(RNN 등)를 사용하지 않기 때문에, 단어의 순서를 인식할 수 없다. 따라서 이를 보완하기 위해 위치 정보를 인코딩한 벡터(Positional Encoding)를 입력 임베딩에 더하는 방식을 사용하였다. 해당 인코딩은 모델의 임베딩 차원(\ d_{model} \)과 동일한 차원을 가진다.
- 어텐션 메커니즘은 입력 순서를 고려하지 않기 때문에, 각 단어의 위치 정보를 인코딩하여 입력에 추가
- 사인 및 코사인 함수를 사용하여 고정된 주기적 위치 인코딩을 생성
- 각 차원은 고유 주기를 가지며, 위치 간 상대적인 차이를 인코딩할 수 있음
- 이는 모델이 순서를 명시적으로 학습하지 않아도 위치 정보를 인식할 수 있도록 설계됨
- 학습된 positional embedding과 비교했을 때 성능 차이는 크지 않았으며, 일반화 능력(긴 시퀀스 처리)에 유리할 것으로 기대되어 사인/코사인 방식 사용
3.1.6 전체 구조
- Encoder: 입력 문장에 대해 self-attention → feed-forward → normalization → residual connection을 반복.
- Decoder: 이전 단어들을 기반으로 masked self-attention 수행 후, encoder의 출력과 cross-attention을 통해 번역을 생성.
3.2 실험 결과

Transformer는 WMT 2014 영어-독어, 영어-프랑스어 번역 데이터셋에서 SOTA를 달성하였으며, 특히 학습 속도 측면에서 기존 모델 대비 훨씬 빠르게 수렴하였다.
- BLEU 점수: 기존의 RNN 기반 모델을 능가함
- 연산 효율: 병렬 처리 덕분에 훈련 시간 단축
아래는 Transformer 모델의 다양한 구성 요소를 바꿨을 때 성능이 어떻게 변화하는지를 실험한 결과를 설명하는 표이다.

- Attention Head 수 및 차원 변화: 헤드 수가 너무 적거나 많으면 BLEU 점수가 떨어짐.
→ 적절한 헤드 수가 중요하다는 점을 시사한다. - Attention key 차원
변화: 감소시키면 성능이 떨어짐
→ "유사도 계산이 단순한 dot-product만으로는 부족할 수 있다"는 점을 시사한다. - 모델 크기 변화 (d_model, dff): d_model과 dff를 늘리거나 줄인 실험에선 모델이 클수록 BLEU 성능이 향상 (예: d_model=1024, dff=4096일 때 BLEU가 가장 높음).
- Dropout 확률 변화: Pdrop 값을 0.0 또는 0.2로 바꿔서 실험
→ Dropout이 과적합을 방지하는 데 유리함. - Positional Encoding 방식 변경: 기존의 sinusoidal encoding을 learned positional embedding으로 대체.
→ 성능 차이는 거의 없므로 두 방식 모두 유효
3.3 결론
"Attention Is All You Need"는 기존 시퀀스 모델의 한계를 극복하고, 이후 언어 모델 연구의 패러다임을 바꾼 중요한 연구이다. self-attention이라는 간단하면서도 강력한 구조가 어떻게 복잡한 언어 구조를 효과적으로 학습할 수 있는지를 보여준다.
4. 장점과 한계
4.1 연구의 장점
- RNN/CNN 없이도 시퀀스 데이터를 효과적으로 처리함
- 병렬화 가능성이 높아 학습 및 추론 속도가 빠름
- 다양한 NLP 태스크에 확장 가능
4.2 연구의 한계와 개선 가능성
- 입력 길이가 길어질수록 계산량이 증가함 (
시간 복잡도) - 구조가 단순하긴 하나 대용량 학습이 요구됨
5. 관련 연구 및 응용
5.1 관련 연구 비교
- RNN/LSTM: 순차적인 정보 전달 방식으로 긴 의존성 학습에 한계가 있었음
- BERT, GPT: Transformer 기반으로 사전 학습과 전이 학습을 활용함
5.2 실질적 응용 가능성
- 기계 번역, 문서 요약, 질의응답, 텍스트 생성 등 거의 모든 NLP 분야에 적용 가능
- 이후 GPT 시리즈, BERT, T5 등 핵심 구조로 발전함
결론
"Attention Is All You Need"는 NLP의 패러다임 전환을 이끈 핵심 논문으로, 간결한 구조와 강력한 성능을 바탕으로 현대의 거의 모든 대형 언어 모델의 기반이 되었다. 이 논문은 단지 하나의 모델 제안에 그치지 않고, 딥러닝 전체 구조 설계에 큰 영향을 미친 역사적인 연구라고 할 수 있다.