NLP

[2026-1] 장인영 - Attention is All You Need

inyeong 2026. 3. 21. 12:53

https://arxiv.org/pdf/1706.03762

1. Introduction 

1. 순환 모델의 한계 

  • 기존의 시퀀스 모델링에서는 RNN, LSTM, GRU와 같은 순환 신경망이 널리 사용되어 왔다.
    이러한 모델은 입력 시퀀스의 각 위치에 따라 계산을 나누어 수행하며,
    각 위치를 계산 시간의 단계와 정렬하여 이전 은닉 상태와 현재 입력을 기반으로 새로운 은닉 상태를 생성한다.
  • 이러한 구조는 본질적으로 순차적이기 때문에, 하나의 학습 예제 내에서 병렬 처리가 불가능하다.
    이 문제는 시퀀스 길이가 길어질수록 더욱 중요해지며,
    메모리 제약으로 인해 여러 예제를 동시에 처리하는 데에도 한계를 발생시킨다.

2. Attention의 등장과 한계

  • Attention 메커니즘은 입력 또는 출력 시퀀스 내의 거리와 관계없이 의존성을 모델링할 수 있도록 해주며,
    다양한 시퀀스 모델링 및 변환 문제에서 중요한 구성 요소로 사용되어 왔다.
  • 그러나 대부분의 경우 Attention은 여전히 순환 신경망과 함께 사용되었으며,
    순차적 계산이라는 근본적인 구조적 제약은 그대로 유지된다.

3. Transformer의 핵심 아이디어

  • 본 논문에서는 순환 구조를 제거하고, Attention 메커니즘만을 사용하여
    입력과 출력 간의 전역적인 의존성을 모델링하는 새로운 구조인 Transformer를 제안한다.
  • 이 구조는 더 높은 수준의 병렬화를 가능하게 하며, 짧은 학습 시간으로도 높은 번역 성능을 달성할 수 있다.

 

2. Background 

 

1. CNN 기반 접근의 한계 

  • 순차적 계산을 줄이기 위한 시도로 Extended Neural GPU, ByteNet, ConvS2S와 같은 모델들이 제안되었다.
    이 모델들은 합성곱 신경망을 기반으로 하여, 입력과 출력의 모든 위치에 대해 병렬적으로 은닉 표현을 계산한다.
  • 그러나 이러한 모델에서는 두 위치 간 관계를 계산하는 데 필요한 연산 수가 위치 간 거리의 함수로 증가한다.
    ConvS2S는 선형적으로, ByteNet은 로그 형태로 증가하며, 이로 인해 멀리 떨어진 위치 간 의존성을 학습하는 것이 어렵다.

2. Transformer의 차별점 

  • Transformer에서는 두 위치 간 관계를 계산하는 데 필요한 연산이 상수로 유지된다.
    즉, 위치 간 거리와 관계없이 동일한 비용으로 모든 위치 간 상호작용을 모델링할 수 있다.
  • 다만 attention은 여러 위치의 정보를 가중합하는 방식이기 때문에, 표현의 해상도가 감소하는 문제가 발생할 수 있다.

3. Multi-Head Attention의 필요성 

  • 이러한 문제를 해결하기 위해, 서로 다른 표현 공간에서 정보를 학습하는 Multi-Head Attention이 사용된다.Transformer는 이러한 Self-Attention만을 사용하여 입력과 출력의 표현을 계산하는 최초의 모델이다.
  • 또한 Self-Attention은 하나의 시퀀스 내부에서 위치 간 관계를 모델링하는 방식으로,
    이미 다양한 자연어 처리 작업에서 효과적으로 사용되어 왔다.

 

3. Model Architecture 

3.1 Encoder and Decoder Stacks 

  • Transformer는 기존 시퀀스 모델과 마찬가지로 Encoder–Decoder 구조를 따른다.
  • Encoder는 입력 시퀀스를 연속적인 표현 벡터 z로 변환하고,
    Decoder는 이 표현을 기반으로 출력 시퀀스를 순차적으로 생성한다.

1. Encoder 

  • Encoder는 동일한 레이어 6개로 구성된 스택 구조를 가진다.
  • 각 레이어는 두 개의 서브레이어로 이루어진다.
    첫 번째는 Multi-Head Self-Attention, 두 번째는 Position-wise Feed-Forward Network이다.
  • 각 서브레이어에는 residual connection이 적용되며, 그 후 layer normalization이 수행된다.
  • 이를 통해 각 서브레이어의 출력은 다음과 같이 표현된다: LayerNorm(x + Sublayer(x))
  • 또한 모든 서브레이어와 임베딩은 동일한 차원 d_model = 512 유지한다.

2. Decoder 

  • Decoder 역시 동일한 레이어 6개로 구성된 스택 구조를 가진다.
  • 각 레이어는 Encoder의 구조와 동일한 두 개의 서브레이어에 더해, 세 번째 서브레이어를 포함한다.
    이 세 번째 서브레이어는 Encoder의 출력에 대해 Multi-Head Attention을 수행한다.
  • 또한 Encoder와 마찬가지로, 각 서브레이어에는 residual connection과 layer normalization이 적용된다.
  • Decoder의 Self-Attention에는 masking이 적용되어, 각 위치가 이후 위치의 정보를 참조하지 못하도록 한다.
  • 이와 함께 출력 임베딩이 한 위치씩 오른쪽으로 이동되어 입력되기 때문에,
    위치 ii에서의 예측은 오직 이전 위치들에만 의존하게 된다.

3.2 Attention 

Attention은 Query, Key, Value를 이용하여 Query와 Key 간의 유사도를 계산하고,
그 결과를 가중치로 사용해 Value를 가중합하여 출력을 생성하는 방식이다.

1. Scaled Dot-Product Attention

  • Query와 Key의 내적을 통해 유사도를 계산하고, 이를 √dk로 나눈 뒤 softmax를 적용하여 Value를 가중합한다.
  • 이때 scaling을 적용하는 이유는, 내적 값이 커질 경우 softmax의 gradient가 매우 작아지는 문제를 방지하기 위해서이다.

2. Multi-Head Attention

  • Query, Key, Value를 각각 여러 개의 서로 다른 선형 변환으로 투영한 후, 각각에 대해 attention을 병렬로 수행한다.
  • 이를 통해 모델은 서로 다른 표현 공간에서 다양한 관계를 동시에 학습할 수 있으며,
    단일 attention에서 발생할 수 있는 정보 손실을 완화할 수 있다.
  • 이후 결과를 결합(concatenate)하고 다시 선형 변환하여 최종 출력을 생성한다.

3. Applications of Attention in our Model

  • Transformer에서는 Attention이 세 가지 방식으로 사용된다.
    1. Encoder-Decoder Attention
      Decoder의 각 위치가 입력 시퀀스 전체를 참조할 수 있도록 한다.
    2. Encoder Self-Attention
      입력 시퀀스 내부의 모든 위치 간 관계를 학습한다.
    3. Decoder Self-Attention
      각 위치가 이전 위치들만 참조하도록 masking을 적용하여 auto-regressive 특성을 유지한다.

3.3 Position-wise Feed-Forward Networks

  • 각 레이어에는 Attention 이후에 Feed-Forward Network가 적용된다.
  • 이 네트워크는 각 위치(position)에 독립적으로 동일하게 적용되며, 두 개의 선형 변환과 ReLU 활성화 함수로 구성된다.
  • 입력과 출력 차원은 d_model = 512내부 차원은 d_ff = 2048이다.
  • 이 연산은 각 위치에 대해 동일하게 적용되지만, 레이어마다 서로 다른 파라미터를 사용한다.
  • 또한 이는 커널 크기 1인 두 개의 convolution과 동일한 구조로 해석할 수 있다.

3.4 Embeddings and Softmax

  • 입력과 출력 토큰은 embedding을 통해 d_model 차원의 벡터로 변환된다.
  • Decoder의 출력은 선형 변환과 softmax를 거쳐 다음 토큰의 확률로 변환된다.
  • 이때 입력 embedding, 출력 embedding, 그리고 softmax 이전의 선형 변환은 동일한 가중치 행렬을 공유한다.
  • 또한 embedding에서는 해당 가중치에 √d_model을 곱하여 스케일을 조정한다.

3.5 Positional Encoding

  • Transformer는 순환 구조나 합성곱을 사용하지 않기 때문에 시퀀스의 순서 정보를 별도로 주입해야 한다.
  • 이를 위해 입력 embedding에 positional encoding을 더하는 방식을 사용한다.
  • 본 논문에서는 서로 다른 주파수를 가지는 sin, cos 함수를 사용하여 각 위치를 인코딩한다.
  • 이 방식은 임의의 위치 차이에 대해 positional encoding이 선형 관계로 표현될 수 있기 때문에
    모델이 상대적 위치 정보를 쉽게 학습할 수 있도록 한다.
  • 또한 learned positional embedding과 비교했을 때 성능은 거의 동일하지만,
    sinusoidal 방식은 학습 중 보지 못한 더 긴 시퀀스에도 일반화할 수 있다는 장점을 가진다.
 

4. Why Self-Attention

1. 비교 기준 

  • 논문에서는 다음 세 가지 기준을 중심으로 모델을 비교한다.
    1. 각 레이어의 계산 복잡도
    2. 병렬화 가능성 (sequential 연산 수)
    3. 장거리 의존성 간 경로 길이 (path length)
  • 특히, 두 위치 간 경로 길이가 짧을수록 long-range dependency를 더 쉽게 학습할 수 있다.

 

2. Self-Attention의 장점 

  • Self-Attention은 모든 위치를 직접 연결할 수 있으며, 연산이 병렬로 수행되고 sequential 연산이 필요하지 않다.
  • 또한 두 위치 간 경로 길이가 상수(O(1))이기 때문에, 장거리 의존성을 효과적으로 학습할 수 있다.
  • 반면 RNN은 O(n)의 sequential 연산이 필요하고,
    CNN은 여러 레이어를 거쳐야 모든 위치를 연결할 수 있어 경로 길이가 길어진다.

3. 해석 가능성 

  • Self-Attention은 attention weight를 통해 모델이 어떤 위치를 중요하게 고려하는지 확인할 수 있다.
  • 실제로 일부 attention head는 문법적 또는 의미적 구조를 반영하는 패턴을 학습하는 것으로 관찰된다.

 

5. Training

5.1 Training Data and Batching

  • WMT 2014 영어-독일 데이터셋(약 450만 문장 쌍)과 영어-프랑스 데이터셋(약 3600만 문장 쌍)을 사용한다.
  • 토큰화는 byte-pair encoding 또는 word-piece를 사용하며,
    문장 길이가 비슷한 데이터끼리 batching하여 학습 효율을 높인다.

5.2 Hardware and Schedule

  • 모델은 8개의 NVIDIA P100 GPU에서 학습되었다.
    • base 모델: 약 12시간 (100K steps)
    • big 모델: 약 3.5일 (300K steps)

5.3 Optimizer

  • Adam optimizer를 사용하며, learning rate는 다음과 같은 스케줄을 따른다.
    • 초기에는 warmup 단계에서 선형 증가
    • 이후 step 수의 inverse square root에 비례하여 감소

5.4 Regularization

  • 모델의 일반화를 위해 다음 기법을 사용한다.
    • Dropout (각 서브레이어 및 embedding에 적용)
    • Label Smoothing
  • Label smoothing은 모델의 확신을 줄이지만, BLEU score와 정확도를 향상시키는 효과가 있다.

 

6. Results

6.1 Machine Translation

  • Transformer는 기존 모델 대비 더 높은 BLEU score를 달성한다.
  • 특히 영어-독일 번역에서 28.4 BLEU를 기록하며, 기존 모델 및 ensemble보다 높은 성능을 보인다.
  • 또한 더 적은 연산 비용으로 학습이 가능하다.

6.2 Model Variations

  • 모델의 다양한 구성 요소를 변경하여 성능을 비교한 결과,
    • 모델 크기가 클수록 성능이 향상되며
    • attention head 수와 hidden dimension이 중요하고
    • dropout은 과적합 방지에 효과적이다

6.3 English Constituency Parsing

  • Transformer는 번역뿐 아니라 문장 구조 분석(parsing)에서도 높은 성능을 보인다.
  • 특히 제한된 데이터 환경에서도 기존 RNN 기반 모델보다 우수한 결과를 달성한다.

 

7. Conclusion

  • 본 논문에서는 순환 구조와 합성곱을 제거하고 오직 Attention만으로 구성된 Transformer를 제안하였다.
  • Transformer는 병렬 처리 측면에서 효율적이며,
    기계 번역 작업에서 기존 모델보다 더 높은 성능을 달성하였다.
  • 또한 다른 자연어 처리 작업에도 잘 일반화되며, Attention 기반 모델의 가능성을 보여준다.