본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2023-2] 주서영 - Battle of the Backbones: A Large-Scale Comparison of Pretrained Models across Computer Vision Tasks

by 영써 2024. 1. 2.
 

Battle of the Backbones: A Large-Scale Comparison of Pretrained Models across Computer Vision Tasks

Neural network based computer vision systems are typically built on a backbone, a pretrained or randomly initialized feature extractor. Several years ago, the default option was an ImageNet-trained convolutional neural network. However, the recent past has

arxiv.org

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로 둠

그림1.task와 setting에 대한 backbones in BoB

  • 종합적인 평가(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 벤치마킹에 대한 새로운 관심이 필요

표1.사전 학습 algorithm, dataset, architecture를 포함하여 benchmark한 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 비교

표2.다양한 Task 중에서의 우수한 상위 3개의 backbone

  • 빨간색은 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순으로 우수했음
  • 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에 효율적인 아키텍처임

표3.다양한 Task 중에서의 우수한 상위 3개의 tiny backbone

 

  • 빨간색은 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)를 보임을 주목할만함

그림2.end-to-end fine-tuning에서의 Transformers와 CNN 예측 task

 

  • 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보다 앞서나갈 가능성이 남아있음