AI Researcher 여정기

[논문 리뷰 - Transformer]: Attention is All You Need 본문

AI/논문 리뷰

[논문 리뷰 - Transformer]: Attention is All You Need

말하는 감자에요 2025. 6. 4. 22:16
728x90
반응형

두둥 탁,,! 그 유명하고도 유명한 Transformer!

오늘은 Transformer 논문, "Attention is All You Need" (Vaswani et al., 2017)을 리뷰하고자 합니다.


정말 정말 정말 현대 AI 발전에 가장 큰 기여를 한 모델이라고 생각합니다.

워낙 유명하고 오래된 논문이기 때문에 다들 이론적으로 잘 아실 거라고 생각합니다.

저는 논문을 빠르게 훑고 정리하는 식으로 요약하고자 합니다.

그리고 실제로 전부 구현하는 느낌으로 가보겠습니다. (다음 포스팅에서!!)

 

The Transformer - model architecture


Abstract

Abstract

 

기존의 시퀀스 변환 모델은 복잡한 RNN 또는 CNN 구조를 사용하며, 인코더-디코더 사이에 어텐션을 결합하는 방식이 성능을 이끌어왔습니다.

 

이 논문은 이러한 복잡한 구조를 버리고 어텐션만으로 구성된 Transformer 아키텍처를 제안합니다.

 

결과적으로 기존 최고 성능을 넘어서는 BLEU 점수를 달성하며, 병렬 처리와 학습 속도 측면에서도 큰 개선을 보여줍니다.


1. Introduction

Introduction

ConvS2S, ByteNet 등은 CNN을 기반으로 순차성을 줄이는 시도를 해왔지만, 여전히 긴 거리의 의존성 학습에는 한계가 있었습니다.

 

Self-Attention은 단일 시퀀스 내에서 위치 간 관계를 효율적으로 표현할 수 있는 메커니즘이며, Transformer는 이 메커니즘만을 사용한 최초의 시퀀스 변환 모델입니다.


2. Background

Background

 

ConvS2S, ByteNet 등은 CNN을 기반으로 순차성을 줄이는 시도를 해왔지만, 여전히 긴 거리의 의존성 학습에는 한계가 있었습니다.

 

Self-Attention은 단일 시퀀스 내에서 위치 간 관계를 효율적으로 표현할 수 있는 메커니즘이며, Transformer는 이 메커니즘만을 사용한 최초의 시퀀스 변환 모델입니다.


3. Model Architecture

Transformer는 기존의 시퀀스 변환 모델처럼 인코더-디코더 구조를 따르지만, 순환 구조 없이 self-attention과 position-wise feed-forward 네트워크만으로 구성되어 있습니다.

 

3.1 Encoder & Decoder Stacks

Encoder and Decoder Stacks

  • Encoder는 동일한 구조의 층 6개로 구성되며, 각 층은 아래 두 개의 서브 레이어로 구성됩니다:
    1. Multi-head self-attention
    2. Position-wise feed-forward network
  • Decoder도 6개의 동일한 층으로 구성되며, encoder 층에 더해:
    1. Masked multi-head self-attention
    2. Encoder-decoder attention

3.2 Attention Mechanism

 

Multi-Head Attention

단일 attention만 사용하는 대신, 여러 개의 head (h=8)를 사용하여 다양한 부분공간에서 정보를 동시에 추출합니다.

 

3.3 Feed-Forward Networks (FFN)

각 위치에 독립적으로 작동하는 두 개의 linear layer로 구성:

 

3.4 Embedding & Softmax

3.5 Positional Encoding

순환 구조가 없기 때문에 토큰의 순서를 알리기 위해 Positional Encoding을 추가:

  • 고정된 사인/코사인 함수를 사용
  • 학습 가능한 버전도 실험했으나 성능 차이는 미미

🏋️ 4. Training 요약

Transformer 모델을 효과적으로 학습하기 위해 저자들은 다음과 같은 세부 전략을 도입합니다.


데이터 및 태스크

  • WMT 2014 영어-독일어영어-프랑스어 번역 태스크 사용
  • 총 4.5M 쌍(En-De), 36M 쌍(En-Fr)의 문장 페어 사용

배치 및 학습 설정

  • 최대 시퀀스 길이: 100
  • 배치 크기: 총 25,000개의 단어를 기준으로 구성
  • 학습 시퀀스 구성: 최대 길이를 초과하지 않는 문장쌍으로 구성하여 효율적 병렬 처리

옵티마이저: Adam

  • Transformer는 Adam Optimizer를 사용하여 학습함
  • 일반적인 설정보다 β₂ 값을 낮춰서 더 빠른 적응을 유도

러닝레이트 스케줄링

  • 일정 횟수까지는 learning rate를 선형으로 증가시키고, 이후엔 역√(step_num) 비율로 감소

📝 이 함수는:

  • 처음에는 학습이 너무 느리거나 빠르지 않도록 linearly warm up
  • 이후 안정적인 학습을 위해 decay

레귤러라이제이션

    • Dropout: 0.1 비율로 attention과 FFN 내부에 적용
    • Label Smoothing: Cross-entropy loss 계산 시 정답 분포에 약간의 부드러움을 추가

 

🧠 목적: 모델이 과도하게 확신(overconfidence) 하지 않도록 유도

 


결론

 

이 논문에서는 완전히 Attention 기반으로 구성된 새로운 모델 아키텍처, 즉 Transformer를 제안합니다. 이 구조는 기존의 RNN이나 CNN 없이도, 다양한 sequence-to-sequence 작업에서 뛰어난 성능을 보일 수 있음을 실증했습니다.

 

 

 

🎯 다음 포스팅 예고

다음 글에서는 이 구조를 직접 PyTorch로 구현해 보며, 구조 하나하나를 뜯어보는 포스팅으로 이어가겠습니다.
(혹은 Hugging Face로 빠르게 실습해 볼 수도 있죠!)

728x90
반응형