:)
[NLP/Transformer] Attention Is All You Need 본문
Abstract
Transformer 모델
기존의 Sequence Transduction 모델은 RNN이나 CNN기반의 인코더-디코더 구조를 사용 & 최고 성능 모델들은 어텐션메커니즘을 추가하여 인코더와 디코더를 연결함.
- Transformer는 오직 어텐션 메커니즘만을 사용하며, RNN과 CNN을 완전히 제거.
 - 이를 통해 병렬화가 용이 & 학습 속도가 크게 향상됨.
 
실험 결과
- WMT 2014 영어-독일어(En-De) 번역:
- Transformer는 BLEU 점수 28.4를 기록.
 - 기존 최고 성능 모델 대비 2 BLEU 이상 향상.
 
 - WMT 2014 영어-프랑스어(En-Fr) 번역:
- BLEU 41.8을 달성, 단일 모델 기준 새로운 최고 성능 기록.
 - 8개의 GPU에서 3.5일만에 학습, 기존 최고 모델 대비 학습 비용이 훨씬 적음.
 
 
일반화 성능
- Transformer는 번역뿐만 아니라 영어 구문 분석에서도 우수한 성능을 보임.
 - 대규모 및 소규모 데이터셋 모두에서 효과적으로 작동함.
 
Introduction
기존 시퀀스 모델의 한계
- RNN,LSTM, GRU 등은언어 모델링및 기계 번역분야에서 표준적인 접근 방식으로 자리 잡음.
 - RNN 기반 모델은 입력 및 출력 시퀀스를 순차적으로 처리, 이전 hidden state와 현재 입력을 기반으로 새로운 은닉 상태를 생성.
 - 이러한 순차적 특성으로 인해 병렬화가 어렵고 긴 시퀀스에서는 연산 속도가 느려지는 한계점 존재.
 - 최근 연구에서는 다음과 같은 방법을 통해 연산 효율성을 개선하려는 시도:
- Factorization Tricks – 연산 최적화
 - Conditional Computation – 성능 개선
 
 
하지만 순차적 연산의 본질적인 한계는 여전히 해결되지 않음.
어텐션 메커니즘
- 어텐션 메커니즘은 입력과 출력 시퀀스 내 거리와 관계없이 의존성을 학습할 수 있음.
 - 하지만 대부분의 경우 RNN과 함께 사용되어 병렬화의 장점을 충분히 활용하지 못함.
 
Transformer
Transformer는 RNN 없이 오직 어텐션 메커니즘만을 사용하여 입력과 출력 간 Global Dependencies을 학습.
- 완전한 병렬화 가능 → 연산 속도 향상
 - 8개의 P100 GPU에서 단 12시간 만에 기계 번역 성능 달성.
 
Background
기존 병렬 처리 모델
- 순차적 연산을 줄이려는 시도로 여러 모델이 제안됨:
- Extended Neural GPU
 - ByteNet
 - ConvS2S(Convolutional Sequence to Sequence)
 
 
: CNN을 기본 블록으로 사용하여 입력 및 출력의 모든 위치를 병렬적으로 계산함.
CNN 기반 모델의 한계
- 입력과 출력의 두 위치 간 연산량이 시퀀스 길이에 따라 증가
- ConvS2S: 연산량이 선형 증가
 - ByteNet: 연산량이 로그 증가
 
 - 멀리 떨어진 단어들 간의 의존성을 학습하는 것이 어려움.
 - Transformer는 이러한 연산량을 상수 수준으로 감소
- 하지만 어텐션 가중치의 평균화로 해상도가 감소하는 문제 발생
 - 이를 해결하기 위해 Multi-Head Attention 기법 사용
 
 
Self-Attention의 중요성
- Self-Attention → 시퀀스 내 각 위치의 토큰들이 서로를 참조하여 표현을 학습하는 메커니즘
 - Self-Attention은 읽기 이해, 추상적 요약 등 다양한 작업에서 성공적으로 사용됨.
 
End-to-End Memory Networks
- 기존 RNN과 달리 순차적 정렬 없이 어텐션 메커니즘을 반복적으로 사용.
 - 질문-응답 및 언어 모델링에서 우수한 성능을 보임.
 
Transformer의 차별점
Transformer는 최초로 RNN이나 CNN 없이 오직 Self-Attention만을 사용하여 입력과 출력의 표현을 학습하는 변환 모델.
Model Architecture

Encoder and Decoder Stacks
- Encoder
- 총 6개(N=6) 동일한 레이어로 구성.
 - 각 레이어는 두 개의 Sub-Layer 포함:
- Multi-Head Self-Attention Mechanism
 - Position-wise Fully Connected Feed-Forward Network
 
 - Residual Connection을 적용하여 정보 손실 방지.
 - 각 서브-레이어의 출력에 Layer Normalization 적용.
 - 모든 서브-레이어와 임베딩 레이어의 출력 차원: 512
 
 - Decoder
- 총 6개(N=6) 동일한 레이어로 구성.
 - 인코더와 유사하지만 추가적인 Sub-Layer가 있음:
- Multi-Head Self-Attention Mechanism
 - Position-wise Fully Connected Feed-Forward Network
 - Multi-Head Attention
 
 - Residual Connection과 Layer Normalization 적용.
 - 디코더의 Self-Attention은 미래 정보(Masked Attention)를 차단하여, 출력 위치 i에서 i 이후의 위치를 참조하지 않도록 함.
- 이를 위해 출력 임베딩을 한 offset씩 이동.
 - 이러한 마스킹기법을 통해 출력 𝑦𝑖는 𝑦₁, ..., 𝑦𝑖₋₁만을 참조 가능.
 
 
 
Attention
- 어텐션 함수
- Query(Q), Key(K), Value(V) 세 가지 요소를 사용하여 출력을 생성.
 - Query와 Key의 유사도를 측정하여 Value의 가중치 합을 계산.
 - 중요한 정보에 더 높은 가중치를 부여하여 모델이 집중할 수 있도록 함.
 
 - Scaled Dot-Product Attention
- 입력:
- Query (Q): 질의
 - Key (K): 키
 - Value (V): 값
 
 - 계산 과정:
- Query와 Key의 내적(Dot Product) 계산.
 - Key 차원 수로 스케일링.
 - Softmax 함수 적용 → 어텐션 가중치 생성.
 - Value(V)에 가중치를 곱하여 최종 출력 계산.
 
 
 - 입력:
 - Multi-Head Attention : 여러 개의 Head에서 병렬적으로 수행
- 구성 과정
- Query(Q), Key(K), Value(V)를 각각 h개의 다른 학습된 가중치 행렬을 이용해 변환.
 - 각 Head에서 개별적으로 Scaled Dot-Product Attention 수행.
 - 여러 Head의 결과를 연결.
 - 선형 변환적용.
 
 
 - 구성 과정
 - Transformer에서의 Attention 사용 사례
- Encoder-Decoder Attention
 - Encoder 내에서의 Self-Attention
 - Decoder 내에서의 Masked Self-Attention
 
 
Position-wise Feed-Forward Networks
각 Transformer 레이어에는 Attention 후에 "Feed-Forward Network"이 추가됨.
각 Position에 독립적으로 적용, 동일한 연산 수행.
Embeddings and Softmax
- 단어를 벡터 표현으로 변환하는 임베딩 사용.
 - 입력과 출력 시퀀스의 토큰을 동일한 임베딩 공간에서 변환.
 - 디코더 출력은 Softmax를 통해 다음 토큰의 확률 분포로 변환.
 - 가중치 공유기법 적용:
 
Positional Encoding
Transformer는 RNN이 없기 때문에 순서 정보를 추가해야 함.
- 토큰의 순서를 반영하기 위해 Positional Encoding을 사용.
 - 입력 임베딩에 Positional Encoding를 더함.
 - 사인 및 코사인 함수 기반의 주기적인코딩 사용
 
Why Self-Attention
- Self-Attention 장점
- 완전한 병렬화 가능 → RNN보다 학습 속도 대폭 향상.
 - 경로 길이 → CNN보다 장기 의존성 학습에 유리.
 - 해석 가능성 → 각 Attention Head가 문법적, 의미적 관계 학습.
 
 
Training
Training Data and Batching
- WMT 2014 English-German:
- 약 450만 문장 쌍 사용.
 - Byte-Pair Encoding (BPE) 사용 → 공유된 37,000개 토큰의 어휘집 구축.
 
 - WMT 2014 English-French:
- 약 3,600만 문장 사용.
 - 32,000개 Word-Piece Vocabulary 사용.
 
 - Batching 방식: 문장 길이를 기준으로 그룹화.
- Batch 크기: 약 25,000개 Source/Target 토큰 포함.
 
 
Hardware and Schedule
- 훈련 환경:
- NVIDIA P100 GPU 8개 사용.
 
 - 훈련 속도:
- Base Model: 한 스텝당 0.4초, 총 100,000 스텝 (12시간 훈련).
 - Big Model: 한 스텝당 1.0초, 총 300,000 스텝 (3.5일 훈련).
 
 
Optimizer
- Adam Optimizer 사용:
- β₁ = 0.9, β₂ = 0.98, ϵ = 10⁻⁹.
 - Learning Rate 조정 공식 사용:
- 초기에는 선형 증가, 이후 역제곱근 감소.
 - Warm-up Steps = 4000.
 
 
 
Regularization
- Residual Dropout:
- 모든 서브-레이어 출력에 Dropout (0.1) 적용.
 
 - Label Smoothing:
- 값 = 0.1, 모델의 확신을 낮춰 BLEU 점수 향상.
 
 
Results
Machine Translation
- Transformer (Big)은 기존 최고 모델보다 2.0 BLEU 이상 향상.
 - 학습 비용(FLOPs) 대비 성능이 가장 뛰어남.
 - Transformer (Base) 조차 모든 이전 단일 모델 및 앙상블을 능가.
 
Model Variations
- Attention Head 수 증가 → 너무 많으면 성능 저하.
 - Key Dimension 감소 → 성능 하락 → Dot Product보다 더 정교한 유사도 함수가 필요할 가능성.
 - 모델 크기 증가 → 성능 향상.
 - Dropout 사용 → 과적합 방지 효과적.
 - Sinusoidal Positional Encoding vs. Learned Embedding → 성능 차이 없음.
 
English Constituency Parsing
- Transformer는 구문 분석(Parsing)에서도 경쟁력 있음.
 - RNN 기반 모델보다 성능 우수.
 - Semi-Supervised 학습 시 최고 성능(92.7 F1) 달성.
 
Conclusion
- Transformer는 최초의 완전한 Attention 기반 모델.
 - RNN 없이 더 빠르고 효과적으로 학습 가능.
 - WMT 2014 EN-DE 및 EN-FR에서 새로운 State-of-the-Art 달성.
 - 기계 번역 외 다양한 NLP 작업에도 확장 가능.
 - 향후 연구 방향:
- 다른 입력/출력 모달리티(이미지, 오디오, 비디오) 적용.
 - 더 큰 입력 데이터 처리를 위한 Local Attention 연구.
 - Non-sequential 생성 모델 개발.