**Autonomous driving tech./*Machine-Learning

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

2wnswoo 2025. 9. 11. 22:45

1. 왜 Swin Transformer가 나왔나?

  • 문제: 원래 비전 트랜스포머(ViT)는 이미지를 조각(패치)으로 잘라서 모두 서로 비교(Self-Attention)해요.
    근데 이미지 크기가 커지면(고해상도) 조각 수가 미친 듯이 많아지고, 계산량이 터져버려요.
  • 해결책: Swin Transformer는 “한 번에 다 비교하지 말고, 작은 창(Window) 안에서만 비교하자”는 아이디어예요.
    그래서 계산량이 이미지 크기에 따라 선형(linear) 으로 늘어나도록 설계했어요 → 훨씬 효율적!

2. 핵심 아이디어 두 개

  1. Hierarchical (계층적 구조)
    • ViT는 이미지를 조각낸 뒤 그냥 끝까지 같은 크기의 패치로만 처리.
    • Swin은 작은 패치부터 시작해서 점점 합치면서 큰 패치로 가요.
    • 이렇게 하면 작은 물체부터 큰 물체까지 다 다룰 수 있어요 → CNN처럼 계층적 특징을 가짐.
  2. Shifted Windows (창 옮기기)
    • 그냥 고정된 창(Window) 안에서만 비교하면 창 경계에 있는 애들은 서로 못 봄.
    • 그래서 다음 레이어에서 창을 살짝 옆으로 밀어줌.
    • 이렇게 하면 옆 창에 있던 애들도 연결돼서 정보가 섞임.

3. 구조 간단 정리

  • Patch 분리: 이미지를 작은 조각으로 나눔.
  • 윈도우 Self-Attention: 조각들을 창 단위로만 비교.
  • Shifted Windows: 창을 옆으로 밀어서 정보 교환.
  • Patch Merging: 패치들을 합쳐서 점점 더 큰 특징맵 만듦 → CNN처럼 계층적으로 발전.
  • 결과: 작은 것도 잘 보고, 큰 것도 잘 보고, 계산도 효율적!

4. 실험 결과

  • Swin Transformer는 ImageNet 같은 데이터셋에서 기존 CNN(ResNet 등)보다도 성능 좋고,
    다른 트랜스포머보다 계산 효율도 훨씬 뛰어남.
  • 그래서 백본(backbone) 으로 되게 많이 쓰여요 (객체 탐지, 분할 등등 다 가능).

'**Autonomous driving tech. > *Machine-Learning' 카테고리의 다른 글

[강화학습] Q-learning  (0) 2025.07.06
[강화학습] SARSA 알고리즘  (0) 2025.07.04
[강화학습] TD, MC 기법 비교  (0) 2025.07.02
Autonomous Car-[강화학습]  (0) 2025.05.16
Autonmous Car-[강화학습]  (0) 2025.05.14