Transformer

Transformer는 2017년 Google Research의 "Attention is All You Need" 논문에서 제안된 모델로, 기존 RNN 기반 시퀀스 모델의 한계를 극복하기 위해 등장했다. 핵심은 Attention 메커니즘을 활용해 입력 시퀀스 전체를 한 번에 처리하고, 병렬 연산이 가능하다는 점이다.

1. 전체 구조

Transformer는 크게 EncoderDecoder 두 부분으로 나뉜다.

각각 여러 개의 동일한 레이어(블록)로 구성되어 있다.


2. 입력 처리


3. Encoder 구조

Encoder는 N개의 동일한 블록으로 구성된다(논문에서는 N=6).

각 블록은 다음과 같은 순서로 동작한다:

  1. Multi-Head Self-Attention
    • 입력 시퀀스의 각 토큰이 다른 모든 토큰과의 관계(유사도)를 계산한다.
    • 여러 개의 Attention Head를 사용해 다양한 관점에서 정보를 추출한다.
  2. Add & Layer Normalization
    • 입력과 Attention 출력을 더하고, Layer Normalization을 적용한다.
  3. Position-wise Feed-Forward Network (FFN)
    • 각 토큰별로 동일한 2층의 완전연결 신경망을 적용한다.
  4. Add & Layer Normalization
    • FFN의 출력과 이전 출력을 더하고, 다시 Layer Normalization을 적용한다.

4. Decoder 구조

Decoder 역시 N개의 동일한 블록으로 구성된다.

각 블록은 다음과 같은 순서로 동작한다:

  1. Masked Multi-Head Self-Attention
    • 현재 시점까지의 출력만을 참고하도록 미래 토큰을 마스킹한다.
  2. Add & Layer Normalization
  3. Multi-Head Attention (Encoder-Decoder Attention)
    • Encoder의 출력과 Decoder의 출력을 결합해, 입력 시퀀스의 특정 부분을 참고할 수 있게 한다.
  4. Add & Layer Normalization
  5. Position-wise Feed-Forward Network (FFN)
  6. Add & Layer Normalization

5. Attention 메커니즘


6. 출력

Decoder의 마지막 출력은 Linear LayerSoftmax를 거쳐, 각 토큰이 어휘 집합에서 어떤 단어일지 확률로 변환된다.


7. 추가 정보


8. 장점 및 한계


9. Transformer의 학습 방식

Teacher Forcing

Loss Function


10. Transformer의 장점과 한계

장점

한계


11. Transformer의 발전 및 응용


12. 전체 구조 요약 다이어그램

Pasted image 20250531191720.png