본문 바로가기
AI/AI 이론

Transformer 구조

by jinny-log 2025. 1. 10.

Attention is All You Need 논문 리뷰 중 내용을 이해하면서 정리해나가는 글.
아키텍쳐 구조를 이해하는 것과, 또 이를 구현하는 일은 별개의 영역이지만 계속해서 듣다보면 이해가 된다.
 
Transformer 등장 배경

  • RNN과 LSTM의 한계
    • 순차적인 처리 방식으로 인해 병렬 연산이 어렵고, 학습 속도가 느림.
    • 긴 시퀀스를 학습할 때 기울기 소실(vanishing gradient) 문제 발생.
    • 장기 의존성(long-term dependency) 학습이 어려움.
  • Seq2Seq 한계 
    • 고정된 크기의 context vector 사용하기 때문에 정보 손실과 성능 한계가 있었음
  • CNN의 한계
    • CNN은 이미지 처리에 강하지만, NLP와 같은 시퀀스 데이터에서 문맥을 포착하는 데 한계가 있음.
    • 커널 크기로 인해 멀리 떨어진 단어 간 관계를 학습하는 데 제한이 있음.
  • Self-Attention 기반의 혁신
    • 트랜스포머는 Self-Attention 메커니즘을 활용하여 모든 입력 토큰이 서로를 참조할 수 있도록 설계됨.
    • 이를 통해 장기 의존성을 효율적으로 학습할 수 있으며, 병렬 연산이 가능하여 학습 속도가 획기적으로 향상됨.
  • --> Transformer는 RNN 기반을 사용하지 않고, 오직 Attention 기반을 활용한 Transformer를 제안

 

 
 
 

Transformer 구조

  • 트랜스포머는 크게 Encoder와 Decoder 두 가지 구조로 구성되어 있다.
  • 인코더는 쉽게말해 컴퓨터가 입력받은 자연어를 인식/이해할 수 있도록 숫자로 변환하는 과정을 말한다.
    • 예를들어, 영어 문장 "I love AI''를 한글로 번역할 때 해당 문장을 모델의 입력값으로 받으면
    • 인코더는 각 단어를 벡터로 변환하고 → ["I", "love", "AI"] → [벡터1, 벡터2, 벡터3]
    • 트랜스포머 인코더가 입력을 처리 → [벡터1, 벡터2, 벡터3]을 고차원 특징으로 변환한다.
  • 디코더는 쉽게말해 인코더가 생성한 맥락 정보(context)를 받아 토큰으로 최종 값을 출력하는 것을 말한다.

 

1. Encoder 인코더

 
1.1 포지셔닝 인코딩 : 단어의 순서 정보를 학습
 

  • 트랜스포머는 RNN과 달리 순차적인 정보 처리를 하지 않음 → 토큰 간의 순서를 구별할 방법이 필요.
  • 이를 해결하기 위해 포지셔널 인코딩을 사용하여 각 입력 토큰의 위치 정보를 추가.

 

 
2. 멀티헤드 어텐션 : 단어간 관계를 병렬적으로 학습
 

  • Self-Attention: 입력 토큰들이 서로를 참조하여 문맥(context)을 파악.
  • Multi-Head: 여러 개의 어텐션을 병렬적으로 수행하여 다양한 관점에서 관계를 학습
  • Encoder 내 Self-Attention

 
 
 
3. Add + Norm 

  • 각 서브레이어(멀티헤드 어텐션, FFN) 뒤에는 잔차 연결 (Residual Connection)과 Layer Normalization을 수행하여 안정적인 학습을 유도한다.
  •  

 
4. FeedForward

  • 어텐션 이후 각 위치의 토큰을 개별적으로 변환하는 두 개의 완전연결층(FC)으로 구성된 네트워크

 
 

2. Decoder 디코더

  • 한개의 Decoder Layer에서는 두개의 Decoder Attention을 수행
    • (Self Attention) 첫번째 Self-Attention은 Encoder Attention과 동일하게 각각의 단어들이 서로에게 어떠한 가중치를 가지는지 구하도록 만들어서 출력되고 있는 문장에 대한 표현을 학습하고
    • (Encoder-Decoder Attention)두번째 Attention은 Encoder의 Attention을 입력으로 받아, 출력 단어가 source 단어와 연관성이 있는지를 보는 것

 

 
Reference