Abstract
- neural network 기반의 computer vision system은 사전 훈련(pretrained)되거나 무작위 초기화(randomly initialized)된 feautre extractor인 backbone에 구축됨
- 몇 년전까지 ImageNet으로 훈련된 convolutional neural network(CNN)를 썼지만 최근 수많은 backbone이 등장함
- 실무자가 어떤 backbone을 선택할지 도움을 주기 위해 해당 논문은 다양한 vison task(classification, object detection, Out-Of-Distribution generalization 등)에 적용되는 다양한 사전 훈련된 모델(vision-language 모델, self-supervised learning을 통해 훈련된 모델, Stable Diffusion backbone)을 벤치마킹하였음
- 1,500개 이상의 training에 대한 분석들을 통해 기존의 장단점과 computer vision을 발전시킬 수 있는 방향을 제시함
- vision transformers(ViTs)와 self-superviesed learning(SSL)이 유명하지만 대규모 훈련 세트에서 supervised 방식의 사전 훈련된 CNN이 여전히 가장 우수한 성능을 보임
- 동일한 아키텍처와 사전 학습 데이터 세트에 대해 SSL backbone의 경쟁력이 매우 높은 것을 발견함
1. Instruction
Battle of the Backbones: The TLDR
- backbone은 object detection and localization을 위한 feature extractor로 task별 head에 주어짐
- 대규모 데이터 세트에 대해 사전 학습한 다음 fine-tuning을 후 이용되어 데이터 요구사항을 획기적으로 줄이고 데이터에 대한 학습 속도를 높이고 모델 견고성을 확보할 수 있음
- Battle of the Backbones(BoB)의 tasks는 이미지(자연, 의료, 위성)의 classification, object detection과 segmentation, out-of-distribution generalization, image retrieval로 둠
- 종합적인 평가(tasks, datasets, setting)에서 supervised된 ConvNeXt-Base와 ImageNet-21k으로 훈련된
SwinV2-Base, CLIP ViT-Base backbone이 상위권이었음 - 작은 규모에서는 ConvNeXt-Tiny와 SwinV2-Tiny, DINO ViT-Small 순이었음
- transformer보다 self-supervised으로 사전 학습된 CNN이 성능이 더 뛰어난 것은 supervised pretraining이 더 큰 데이터 세트에서 학습되는 경우가 많기 때문이라고 관찰됨
- ViT는 CNN보다 pretraining 데이터 양과 parameter에 더 민감함
Previous Benchmarks
- 몇 년 간 가장 인기 있던 backbone은 주로 ImageNet으로 사전 훈련함
- 2020년 이후 SimCLR와 CLIP의 self-supervised learning(SSL) backbone이 대중화됨
- 2019년에 사전 학습된 AlexNet과 ResNet-50 모델을 supervised learning과 비교하여 supervised learning이 당시 SSL보다 뛰어난 성능을 보였음
- supervised learning의 아케텍처 발전이 항상 향상된 self-supervised learning으로 이어지지 않는다는 것을 보여줌
- ImageNet-trained supervised learning 모델의 downstream classification task 성능과 테스트 정확도 사이의 상관관계가 거의 완벽하다는 것 발견
- 같은 해 Visual Task Adaptation Benchmark(VTAB)을 구축하고 VAEs와 GAN discriminator을 포함한 다양한 self-supervised learning을 테스트하여, supervised learning model의 우세한 성능을 보여주었음
- 2020년, ImageNet으로 학습한 ResNet-50 모델을 다양한 SSL 알고리즘으로 평가하고, 당시 SSL 알고리즘의 성능이 downstream task에서의 ImageNet-1k 테스트 정확도와 강한 상관관계가 있으며 새로운 SSL 알고리즘들이 이전 연구에 비해 개선된 성능을 보인다는 것을 발견함
- 이를 통해 backbone 벤치마킹에 대한 새로운 관심이 필요
- 실무자에 맞게 시뮬레이션했음
- 각 backbone에 대해 동일한 크기의 hyperparameter sweep을 사용하였음
- Stable Diffusion을 제외하고 ConvNeXt-Base보다 큰 아키텍처는 고려하지 않았음
2. A Guide to BoB
The Tasks
- Classification
- 자연, 의료, 위성 이미지 데이터 세트를 포함한 downstream classification task 성능을 측정
- backbone은 이미지에 대한 feature를 추출해야 하지만 객체의 개수나 위치를 식별할 필요는 없음
- Object detection and segmentation
- 이미지 분류와 달리, 객체의 위치를 포함하는 feature를 픽셀로 추출하고 객체 감지를 할 수 있을 정도의 backbone이 필요
- 두 가지 작업에 대한 backbone을 평가
- Out-of-distribution generalization
- 현실 application에서 computer vision system은 training set의 분포를 반영하지 않는 경우가 많음
- 새로운 downstream domain을 일반화할 수 있는 능력을 평가
- Image retrieval
- feature space에서 시각적 유사성 등 이미지와 일치하는 backbone이 필요
3. Experimental Setup
Classification
- end-to-end fine-tuning과 linear probing에 따라 평가
- end-to-end fine-tuning : 데이터 세트의 일부의 라벨링을 해 분할에 대한 정확도 측정
- linear probing : backbone에서 추출된 feature를 linear classifier만을 이용하여 평가
- 데이터 세트는 자연 이미지(ImageNet-1K, CIFAR-100 등), 위성 이미지(EuroSAT), 의료용 엑스레이 데이터 이용
- 평가 지표는 테스트에 대한 정확도와 AUC 외에도 backbone의 수렴 속도와 동일한 장치에서의 지연 시간과 메모리 사용량을 벤치마킹함
Object Detection and Segmentation
- Cascade Mask R-CNN framework를 평가로 사용(객체의 경계 상자)
- 무작위 초기화시킨 End-to-End training, End-to-End fine-tunning, 고정된 backbone의 fine-tunning을 수행
- 추출된 feature에서의 localization을 조사하고 linear probing classification을 보완할 수 있음
- 데이터 세트는 COCO 데이터 세트를 이용
- 평가 지표는 Intersection over Union(IoU) 임계값을 통해 평균을 계산하는 average precision(AP)를 지표로 사용
Out-of-Distribution Generalization
- image classification와 object detection라는 두 가지 task에서의 (A),(B) 유형으로 나누었음
- (A)는 ImageNet의 structure와 style 변화에 대한 견고성 (B)는 synthetic-to-real generalization으로 두 유형의 분포 변화에 대해 연구함
- OOD는 광범위한 벤치마크를 고려함
- (A)는 ImageNet-A, ImageNet-V2, ImageNet-R을 이용
- (B)는 VisDA Syn→Real, Sim10k→Cityscapes의 합성 데이터 이용
- 평가 지표는 분류 정확도와 mean average precision(mAP)를 이용
Image Retrieval
- 다양한 검색 데이터 세트에 대한 평가 수행
- 지리적 랜드마크 검색을 위한 Oxford 데이터 세트와 Paris 데이터 세트
- 장난감과 제품 등의 물체로 구성된 INSTRE 데이터 세트
- 랜드마크가 포함된 Google Landmarks v2 데이터 세트
- 휴일 사진의 INRIA Copydays 데이터 세트
- semantic retrieval로 활용하기 위한 다양한 새가 있는 Caltech-UCSD Birds-200(CUB-200), 자연 이미지인 iNaturalist 데이터 세트, Objectnet 데이터 세트
- 평가 지표는 mAP와 Mean Reciprocal Rank(MRR)을 사용
4. I’m a Practitioner. Which Backbone Should I Choose?
- 실무자의 특정 task 또는 general한 backbone 선택
- setting별 Z-Scores 계산
- cross-setting 비교
- 빨간색은 OOD task에서의 우수한 상위 3개의 backbone
- Cls는 classification이고 Det는 Detection
- 초록색은 전체 task
Task-Specific Backbones
- Classification
- IN-21k로 학습한 Supervised SwinV2-Base가 가장 성능이 우수
- 다음으로는 CLIP ViT-Base와 IN-21k로 학습한된 Supervised ConvNeXt-Base가 우수했음
- Object Detection & Segmentation.
- IN-21k로 학습한 Supervised ConvNeXt-Base가 가장 성능이 우수
- 다음으로는 IN-21k로 학습한 Supervised SwinV2-Base와 IN-1k로 학습한 Supervised ConvNeXt-Base가 우수했음
- OOD
- Classification
- IN-21k로 학습한 Supervised ConvNeXtBase와 Supervised SwinV2-B, LAION-2B로 학습한 CLIP ViT-Base순으로 우수했음
- Object Detection
- IN-1k로 학습한 Supervised ConvNeXt-Base와 Supervised ConvNeXt-Tiny, IN-21k로 학습한 Supervised ConvNeXt-Base순으로 우수했음
- Classification
- Image Retrieval
- IN-21k로 학습한 Supervised ConvNeXt-Base trained가 가장 성능이 우수
- 다음으로는 IN-21k로 학습한 Supervised SwinV2-Base와 LAION-2B로 학습한 CLIP ViT-B가 우수했음
Best Backbones Overall
- 특정 task를 염두하지 않았다면 IN-21k로 학습한 Supervised ConvNeXt-Base가 가장 우수함
- 다음으로는 IN-21k로 학습한 Supervised SwinV2-Base, LAION-2B로 학습한 CLIP ViT-Base 순으로 우수함
- supervied 방식인 SwinV2-Base, ConvNeXt-Base 또는 vision and language supervision인 CLIP ViT-Base가 우수한 것을 주목할 수 있음
Backbones on a Tight Budget
- 경량 backbone으로는 EfficientNet-B0이 classification, retrieval, and OOD classification에서 가장 우수하였음
- RegNetX-400MF과 ResNet-18이 그 뒤였음
- 흥미롭게도 ResNets이 여전히 detection과 segmentation에 효율적인 아키텍처임
- 빨간색은 OOD task에서의 우수한 상위 3개의 backbone
- Cls는 classification이고 Det는 Detection
- 초록색은 전체 task
5. Observations and Trends
- ViT와 CNN의 성능 비교
- ConvNeXt-Base가 최고의 성능을 발휘하고 그 뒤가 hierarchical transformer인 SwinV2-Base
- 주의점은 매우 큰 모델을 평가하지 않아서 ViTs가 더 큰 규모에서 CNN을 능가할 수 있음
- ViTs는 CNN보다 규모 면에서 더 많은 이점이 있음
- CNN과 ViTs는 z-scores에선 양의 상관관계에 있지만 ViTs(spearman ρ = 0.58)와 CNN(spearman ρ = 0.35)로 ViTs가 더 높은 것을 발견
- pretraining 데이터 사이즈에 대한 상관관계도 ViTs(ρ = 0.72)가 CNN(ρ = 0.33)보다 훨씬 더 큼
- transformer가 다른 승자일수도 있음
- Supervised learning backbone은 주로 더 큰 규모인 데이터 세트에서 훈련되었기 때문에 SSL보다 성능이 뛰어날 수 있음
- ImageNet-21K로 학습한 ConvNeXt과 SwinV2이 SSL보다 성능이 뛰어났음
- SSL을 적용하려면 CNN과 transformer와 같은 아키텍처를 사용하고 supervised learning의 맞서 대규모 데이터 세트를 학습해야함을 시사함
- 동일한 ViT-Base 아키텍처를 사용하는 backbone을 비교하여 SSL이 ImageNet-1k supervised backbone보다는 뛰어났지만 ImageNet-21k trained된 backbone보다는 성능이 떨어졌음
- task 전반은 높은 상관관계에 있음
- computer vision에서의 범용 모델임을 뒷받침함
- retrieval task에서의 상관관계는 낮지만 유의미한 상관관계(ρ = 0.49)를 보임을 주목할만함
- Transformer는 end-to-end fine-tuning에 뛰어난 성능을 발휘하고 CNN은 linear probing에 뛰어난 성능을 발휘함
- CLIP 모델과 vision-language 모델링의 향상된 아키텍처의 가능성
- 거의 모든 task(OOD 제외)에서 CLIP pretraining이 ImageNet-21k supervised trained backbone과 비교해도 vanilla vision transformers와 중에서 성능이 최고
- ImageNet-21k로 학습한 SwinV2와 ConvNeXt에 비해서 좋지 않음
- generative backbones은?
- MAE 또는 Stable Diffusion은 supervised와 self-supervised로 training한 모델과 달리 성능이 상대적으로 떨어짐
- Stable Diffusion의 경우 더 큰 backbone이고 매우 큰 데이터 세트에서 training된 것이지만 성능이 떨어짐
- 하지만 결과를 해석할 때 주의할 것을 권장함
- Battle of the “small” backbones
- 제한된 리소스를 염두
- IN-1k로 학습한 Supervised ConvNeXt-T가 가장 우수
- IN-1k에서만 pretrained된 backbone이 더 다양하고 큰 데이터 세트(MiDaS)에서 학습된 backbone보다 성능이 뛰어남
- 성능 vs 속도
- backbone을 고려할 때 모든 task에서 처리량(throughput)과 평균 성능 z-scores 사이에서 강한 음의 상관관계를 보임
- 더 큰 모델이 우수한 성능을 보이는 경향이 있다는 이전의 관찰과 일치함
- 결과적으로 향상된 성능을 달성하려면 속도를 희생해야 할 수도 있음
- depth-estimation이 foundation model에 대한 기본 또는 보조 pretraining task로 작용할 수 있음을 시사함
- Calibration과 test의 likelihood는 정확도와 상관관계가 있음
- ImageNet 테스트 세트에서 expected calibration error(ECE)와 cross-entropy loss를 측정함
- test likelihood는 정확도와 강한 상관관계(r = −0.8278)를 보이고 ECE는 약한 상관관계(r = −0.4876)를 보였음
- CNN과 SSL이 더 적대적으로 강함
- PGD attack을 사용하여 backbone의 adversarial robustness를 측정하였음
- supervised ConvNeXt가 적대적으로 강했음
6. Where Are Things Going From Here?
- 실무자를 돕기위해 segmentation과 detection부터 classification과 retrieval에 이르는 task로부터 backbone의 성능을 분석함
- supervised ConvNext, supervised SwinV2, CLIP 모델이 우수한 성능을 발휘하였음
- 경량 backbone에서는 supervised ConvNext-T, SwinV2, DINO with a small ViT가 우수한 성능을 보임
- specialized된 backbone에서 다양한 작업에서 잘 작동하는 범용 backbone으로의 전환을 시사함
- 처리량과 성능은 반비례 관계에 있으며 scailing이 backbone을 개선할 수 있는 수단이 될 것
- 많은 supervised 모델들을 포함했지만 self-supervised learning이 가능성이 있다는 것을 발견함
limitations
- tasks, backbones, settings에 따라 결정됨
- 주로 성능 평가에 중점을 두었으며 모델의 biases 등에 대한 탐색이 여전히 남아있음
- Stable Diffusion 외에도 ConvNext-Base보다 큰 backbone은 포함되지 않았음
- transformer backbone이 매우 큰 scale의 convolutional backbone보다 앞서나갈 가능성이 남아있음