Attention Is All You Need 논문 정리 (내 언어로 이해하기)

송채영·2025년 7월 17일

AI

목록 보기
1/2

✨ Attention Is All You Need 논문 정리 (내 언어로 이해하기)

유튜브: 기초부터 수식까지 | Attention Is All You Need 논문 설명


🔍 왜 이 논문이 중요한가?

지금 우리가 많이 쓰는 ChatGPT, BERT, T5 등 대부분의 모델은 이 논문에서 소개된 Transformer 구조를 기반으로 만들어졌어요.
RNN이나 LSTM처럼 순차적으로 처리하는 구조가 아닌, 모든 토큰을 한 번에 처리할 수 있는 구조가 등장한 거죠.


🧠 핵심 아이디어: "Attention Is All You Need"

기존 모델은 문장 내 앞뒤 관계를 처리할 때 시간 순서를 따라야 했어요 (예: RNN).
하지만 트랜스포머는 단순하게 말하면,

"순서? 몰라도 돼.
중요한 건 각 단어가 문장 내에서 누굴 주목(Attention)하느냐야!"

라는 개념으로 동작합니다.


📐 구조 구성

1. Self-Attention

  • 입력 단어 벡터를 Query (Q), Key (K), Value (V) 세 가지로 변환.
  • Attention Score 계산:
    Attention(Q, K, V) = softmax(QKᵀ / √dₖ) * V
  • 예를 들어 "나는 밥을 먹는다"에서
    "밥을"이라는 단어가 "먹는다"를 더 주목해야 의미가 살아나죠.
    이런 연관성을 스코어로 계산해주는 게 Self-Attention입니다.

2. Multi-Head Attention

  • 위의 Self-Attention을 여러 번 병렬로 돌림.
  • 서로 다른 ‘관점’에서 문장을 바라볼 수 있게 해줍니다.
  • 다 보고 나서 한 번에 다시 합쳐서 다음 레이어로 넘겨요.

3. Positional Encoding

  • Attention 구조는 순서를 모르기 때문에,
    단어의 위치 정보를 인위적으로 넣어줍니다.
# 위치마다 sin/cos 함수를 기반으로 계산
PE(pos, i) = sin(pos / 10000^(2i/d)) or cos(pos / 10000^(2i/d))
  • 이렇게 하면 "나는"과 "먹는다"가 떨어져 있어도 위치를 고려해 연관성을 찾을 수 있어요.

🏗️ 전체 구조 (한 줄 요약)

[입력] → Multi-Head Attention → Feed Forward → [출력]
이걸 인코더/디코더로 반복해서 연결!

인코더는 문장 전체를 이해하고,

디코더는 단어를 하나씩 생성하면서 앞 내용을 참고합니다.

⚡ 왜 좋은가?

기존 방식 Transformer :
RNN 순차 처리, 느림
CNN 위치 정보 약함
Transformer 병렬처리 + 위치 보완 + 성능 뛰어남

🎯 실제 성능은?

논문 기준: 8개의 P100 GPU로 12시간 학습 → SOTA(최고 성능) 달성.

학습 속도도 빠르고, 성능도 좋음.

이후의 BERT, GPT, T5, ViT 같은 모델들의 기반이 됨.

📝 마무리하며

처음엔 수식과 구조가 복잡하게 느껴졌지만,
핵심은 단순합니다:
각 단어가 문장 안에서 누굴 얼마나 중요하게 여길지(Attention) 계산하고,
그 정보만 잘 전달하면 된다!

profile
성장하는 개발자. (backend, ai)

0개의 댓글