본문 바로가기
인공지능

Transformer란?

by 3in9u 2025. 4. 4.

🔍 RNN/LSTM의 한계를 극복한 모델

기존의 순환 신경망(RNN, LSTM)은 데이터를 순차적으로 처리하면서 이전 정보를 다음 단계로 전달합니다. 그러나 이 구조에는 다음과 같은 한계가 존재합니다:

  • 장기 의존성 문제 (Long-term Dependency)
    입력 시퀀스가 길어질수록, 과거 정보가 사라지거나 잘 전달되지 않아 중요한 문맥을 놓칠 수 있습니다.
    예: "나는 어릴 때부터 수학을 좋아했다. 그래서 나중에 수학자가 되기로 결심했다." → 이 문장에서 "어릴 때부터 수학을 좋아했다"는 정보가 마지막 문장에 중요하지만, RNN은 이를 잘 유지하지 못할 수 있습니다.
  • 병렬처리 불가능
    시퀀스를 순차적으로 처리하기 때문에 학습과 추론 속도가 느림.

💡 Transformer의 등장

Transformer는 2017년 논문 "Attention is All You Need" 에서 처음 소개되었습니다. 이 모델은 다음과 같은 특징을 가집니다:

  • Self-Attention 메커니즘 사용
  • 순환 구조 없이 모든 입력을 동시에 처리 → 병렬 연산 가능
  • 긴 시퀀스에서도 장기 의존성 문제 해결

🧠 대표적인 Transformer 기반 모델

모델특징
BERT 입력을 양방향으로 이해 (Bidirectional), 문장 의미 파악에 강함
GPT 한 방향(왼쪽→오른쪽)으로 학습, 문장 생성에 강함
ViT 이미지를 Transformer 구조로 처리, CNN 대체 가능

🔑 Transformer의 핵심 개념

📐 Positional Encoding (위치 인코딩)

Transformer는 문장 내 단어의 순서를 직접 인식하지 못합니다.
→ 따라서 단어의 위치 정보를 인코딩하여 입력에 추가합니다.

✔️ 적용 방법

  • 입력 임베딩에 위치 벡터를 더함
  • 위치 벡터는 sin, cos 함수 기반으로 생성 (예: 짝수 index는 sin, 홀수 index는 cos)

예를 들어, "나는 학교에 갔다" 라는 문장에서 "나는"과 "갔다"가 멀리 떨어져 있어도 Transformer는 위치 정보를 통해 문맥을 이해할 수 있습니다.


🔁 Self-Attention (자기-어텐션)

Self-Attention은 각 단어가 문장 내 다른 단어들을 얼마나 중요하게 여겨야 하는지를 계산하는 메커니즘입니다.

📌 주요 단계

  1. Query, Key, Value 생성
    각 입력 벡터를 세 개의 행렬 (Q, K, V)로 변환
    → 의미상:
    • Query(Q): 내가 찾고 싶은 정보
    • Key(K): 다른 단어들이 가진 정보의 키워드
    • Value(V): 실제 정보
  2. 어텐션 스코어 계산
    • Query와 Key 간의 내적(dot product)을 통해 유사도를 계산
    • Softmax로 정규화하여 각 단어의 중요도 결정
  3. Weighted Sum 계산
    • Value 벡터에 어텐션 가중치를 곱하여 최종 벡터 생성
    • 이 벡터가 해당 단어의 문맥을 반영한 결과값이 됨

📋 수식 요약


🌟 Transformer의 장점

장점설명
병렬 처리 가능 전체 시퀀스를 한 번에 처리하여 빠름
장기 의존성 처리 Self-Attention으로 멀리 있는 단어도 연결 가능
높은 성능 기계 번역, 요약, 질의응답 등에서 SOTA 기록 달성

🖼️ Vision Transformer (ViT)

📷 Vision Transformer란?

Transformer를 이미지 처리에 적용한 모델로, 자연어 처리와 같은 구조를 이미지에도 사용합니다.

🔎 ViT의 특징

항목설명
패치 분할 이미지를 작은 패치(조각)로 나눈 후, 각각을 하나의 "단어"처럼 처리
입력 임베딩 각 패치를 선형 변환하여 입력 벡터로 만듬
Positional Encoding 사용 패치의 순서를 표현하기 위해 위치 인코딩 추가
Self-Attention 사용 각 패치가 다른 패치들과 어떻게 상호작용하는지 학습
학습 효율 적은 데이터로도 강력한 성능, 특히 사전 학습(pretraining) 후 fine-tuning 시 효과적

'인공지능' 카테고리의 다른 글

GAN (Generative Adversarial Network)  (0) 2025.04.04
MobileNet: 모바일을 위한 경량 CNN  (0) 2025.04.04
GAN 전체 정리  (0) 2025.03.31
전이 학습 (Transfer Learning)  (0) 2025.03.27
CNN 아키텍처 발전 흐름 요약  (0) 2025.03.27