Data augmentation: DeiT[63]에서 사용한 대부분의 증강 및 regularization 기법 사용
단, repeated augmentation과 EMA는 사용 x → Swin에서는 오히려 성능이 하락 → ViT에서는 훈련 안정화에 중요했지만, Swin에서는 불필요
방법 2 : ImageNet-22K pre-training(사전학습 → fine tuning)
Pre-training (ImageNet-22K)
데이터셋: ImageNet-22K ( 14.2 million images, 22K classes )
Optimizer: AdamW
Epochs: 90
Learning Rate:
초기값 0.001
5 epoch 동안 linear warm-up
이후 linear decay
Batch size: 4096
Weight decay: 0.01
Fine-tuning (ImageNet-1K)
Epochs: 30
Learning Rate: 고정값 1e-5
Batch size: 1024
Weight decay: 1e-8
방법 1 결과
vs DeiT (Transformer 계열)
Swin-T
224×224
81.3%
+1.5% ↑ vs. DeiT-S (79.8%)
Swin-B
224×224
83.3%
+1.5% ↑ vs. DeiT-B (81.8%)
Swin-B
384×384
84.5%
+1.4% ↑ vs. DeiT-B (83.1%)
vs ConvNet (RegNet, EfficientNet)
Swin Transformer가 속도-정확도 tradeoff 측면에서 +
RegNet, EfficientNet은 architecture search를 통해 설계된 고성능 CNN
반면 Swin은 표준 Transformer에서 출발해 구조만 개선한 것으로, 더 높은 확장 가능성 있음
방법 2 결과
사전 학습하면 1K에서 바로 학습할 때보다 성능 +
Swin Transformer는 기존 ViT 대비 속도, 정확도, 효율성에서 모두 +
4.2. Object Detection on COCO
비교 대상
ResNe(X)t (CNN 계열)
DeiT (Transformer 계열)
백본만 변경, 나머지 설정 동일
Swin Transformer와 ResNe(X)t는 다양한 해상도 feature map 생성 → 다른 detection framework에 적용 가능
반면 DeiT는 단일 해상도 feature map만 생성 → Deconvolution layer를 사용해 계층적 feature map 생성
Comparison to ResNe(X)t
(a)
4가지 detection 프레임워크에 대해 Swin-T vs ResNet-50
Box AP(객체 위치 정확도) 기준 +3.4 ~ +4.2 AP 향상
(b)
모델 크기, FLOPs, latency 유사해도 Swin Transformer vs. ResNeXt101 64x4d에서 Swin이 훨씬 더 정확
(c) Improved HTC 프레임워크 사용 시
성능이 높은 프레임워크에서조차 Swin이 추가 성능 향상 가능
Comparison to DeiT
Swin-T는 더 높은 성능(Box/Mask AP)을 내면서도, 모델 크기는 비슷, 추론 속도는 빠름
Comparison to previous state-of-the-art
Box AP: 기존 최고인 Copy-Paste보다 +2.7 AP 향상
Mask AP: DetectoRS보다 +2.6 AP 향상
외부 데이터 없이 달성한 것!
4.3. Semantic Segmentation on ADE20K
Table 3
mIoU
비교 대상
성능 차이
Swin-S
49.3
DeiT-S
+5.3
Swin-S
49.3
ResNet-101
+4.4
Swin-S
49.3
ResNeSt-101
+2.4
Swin-L (22K pre-train)
53.5
SETR (prev. SOTA)
+3.2
mIoU (mean Intersection-over-Union): 세그멘테이션 정확도를 평가하는 대표적인 지표. 높을수록 좋음.
4.4. Ablation Study
Shifted windows
Shifted window 방식은 인접 윈도우 간 연결성을 만들어줘서 더 넓은 문맥 정보를 반영
3가지 task에서 모두 일관되게 성능 향상(파란 마킹 부분)
Relative position bias
CNN은 입력 이미지가 오른쪽으로 10픽셀 이동해도 같은 결과를 내는 걸 목표로 함 → translation invariance
반면, ViT/DeiT는 position embedding으로 각 패치의 절대 위치를 넣어줘서, 이동하면 출력 바뀜 → 불변성 없음
그러나 object detection이나 semantic segmentation처럼 dense prediction이 필요한 task에서는 어느정도 translation invariance 필요
5. Conclusion
결국 swin transformer는 patch merging으로 계층적 feature 표현을 생성하고 선형적인 계산 복잡도를 갖는다. object detection과 semantic segmentation 측면에서 성능이 우수하며 vision 분야와 NLP 분야의 통합 모델링에 도움이 될 것으로 기대된다.
댓글 영역