Adventure Time - Finn 3
본문 바로가기
AI/ML

트랜스포머(Transformer) — Attention Is All You Need

by hyun9_9 2026. 4. 20.

2017년 구글 브레인이 발표한 논문 "Attention Is All You Need" 에서 소개된 모델.
📄 논문 원문 링크


트랜스포머란?

트랜스포머는 RNN을 전혀 사용하지 않고, 오직 어텐션(Attention) 메커니즘만으로 인코더와 디코더를 설계한 모델이다.

처음에는 자연어 처리(NLP) 분야에서만 사용되었지만, 이후 컴퓨터 비전 을 비롯한 다양한 분야로 확장되어 현재는 AI의 핵심 아키텍처로 자리잡았다.

트랜스포머를 기반으로 만들어진 대표적인 모델들:

  • BERT — 구글의 양방향 언어 표현 모델
  • GPT 시리즈 — OpenAI의 생성형 언어 모델
  • AlphaFold 2 — DeepMind의 단백질 구조 예측 모델

기존 Seq2Seq 모델의 한계

트랜스포머가 등장하기 전, 시퀀스-투-시퀀스(Seq2Seq) 모델이 자연어 처리의 주류였다.

Seq2Seq 구조

Seq2Seq는 인코더-디코더 구조로 구성된다.

  • 인코더(Encoder): 입력 시퀀스 전체를 읽어 하나의 고정된 벡터로 압축
  • 디코더(Decoder): 인코더가 만든 벡터를 바탕으로 출력 시퀀스를 생성

핵심 문제점

문제 설명

정보 손실 입력 시퀀스가 길수록 하나의 벡터에 모든 정보를 담기 어렵다
Vanishing Gradient 시퀀스가 길어질수록 앞부분의 정보가 사라지는 기울기 소실 문제 발생

이를 보완하기 위해 어텐션(Attention) 이 도입되었지만, 기존에는 어텐션을 RNN의 보조 수단으로만 활용했다.

트랜스포머의 핵심 아이디어

"어텐션을 RNN 보정용으로만 쓸 게 아니라, 어텐션만으로 인코더와 디코더를 통째로 만들면 어떨까?"

이것이 트랜스포머의 출발점이다.


트랜스포머의 주요 하이퍼파라미터

트랜스포머 논문에서 제시한 기본 하이퍼파라미터 값들. 모델 설계 시 목적에 맞게 변경 가능하다.

d_model = 512

  • 인코더와 디코더의 입력·출력 차원 크기
  • 임베딩 벡터의 차원도 동일하게 d_model을 따름
  • 인코더와 디코더 사이에서 값을 주고받을 때도 이 차원을 유지

num_layers = 6

  • 인코더와 디코더를 각각 몇 개의 층(Layer)으로 쌓는지 를 의미
  • 논문에서는 인코더 6개 + 디코더 6개 사용

num_heads = 8

  • 어텐션을 여러 개로 분할해 병렬로 수행하는 멀티-헤드 어텐션의 헤드 수
  • 병렬 어텐션 결과를 다시 하나로 합쳐서 사용
  • 논문에서는 8개의 헤드를 병렬로 운영

d_ff = 2048

  • 트랜스포머 내부 피드 포워드 신경망(Feed-Forward Network) 의 은닉층 크기
  • 피드 포워드 신경망의 입력층과 출력층 크기는 d_model(=512)을 따름

트랜스포머 모델 구조

인코더-디코더 구조 유지

트랜스포머는 RNN을 사용하지 않지만, 기존 Seq2Seq처럼 인코더-디코더 구조를 그대로 유지한다.

  • 인코더: 입력 시퀀스를 받아 처리
  • 디코더: 인코더로부터 정보를 전달받아 출력 시퀀스를 생성

Seq2Seq와의 구조적 차이

구분 기존 Seq2Seq 트랜스포머

핵심 연산 단위 RNN (시점별 순차 처리) 어텐션 (병렬 처리)
인코더/디코더 구성 단일 RNN (t개의 타임스텝) N개의 레이어 스택 (논문: 각 6개)
병렬 처리 ❌ 불가 ✅ 가능

디코더의 동작 방식

트랜스포머 디코더는 기존 Seq2Seq와 유사한 방식으로 동작한다.

  1. 시작 심볼 <sos> (Start of Sequence) 를 입력으로 받음
  2. 인코더로부터 전달받은 정보를 참고하여 다음 토큰을 예측
  3. 종료 심볼 <eos> (End of Sequence) 가 나올 때까지 반복

RNN은 사용하지 않지만, 인코더-디코더의 역할 분리와 시작/종료 심볼 기반의 생성 방식은 그대로 유지된다.


다음 포스팅: 포지셔널 인코딩(Positional Encoding)

'AI > ML' 카테고리의 다른 글

트랜스포머- Attention  (0) 2026.04.27
Transformer 포지셔널 인코딩  (1) 2026.04.21
Attention Mechanism 완전 쉽게 이해하기 (Score → Output까지)  (0) 2026.04.19
Attention Mechanism  (0) 2026.04.19
인코더 디코더 Seq2Seq  (0) 2026.04.18