개인적으로 읽고 쓰는 공부용 리뷰입니다.

틀린 점이 있을 수도 있으니 감안하고 읽어주세요. 피드백은 댓글로 부탁드립니다.

paper overview

  • 논문링크 : paper link
  • ICLR 2022
  • model ensemble

Abstract

  • model ensemble이나 cascade를 committee라고 한다.
  • 우리는 기초로 돌아가서 committee base models의 효율성을 입증한다.
  • 간단한 committee는 NAS 등의 방법을 뛰어넘는다.
  • 우리의 결과는 efficientnet, vit등에서 이를 입증한다.

1. Introduction

  • We use the term “committee” to refer to model ensembles or cascades, which indicates that they are built using multiple independent models.
  • independently pre-trained models to build ensembles or cascades.
  • Ensemble multiple pre-trained models via a simple average over their predictions.
  • Cascades, we sequentially apply each model and use a simple heuristic to determine when to exit from the cascade.
  • We summarize our findings as follows:
    • Ensembles are more cost-effective than a single model in the large computation regime.
    • Cascades outperform single models in all computation regimes.
    • Committee based models" can be applied to various tasks, including not only image classification but also video classification and semantic segmentation.

2. Related Works

별 내용 없어서 pass

3. ENSEMBLES ARE ACCURATE, EFFICIENT, AND FAST TO TRAIN

  • 총 계산량이 제한되어 있을 때, 가장 높은 성능을 내는 것은 단일 모델인가 앙상블인가?
    실제 리얼 월드에서는 굉장히 중요하지만 이것을 다루는 연구는 거의 없다.
  • 그래서 우리가 한다. imagenet에서 efficientnet, resnet, mobilenetv2를 사용한다.
  • Figure 2에 단일 모델과 앙상블 및 cascade 성능을 보여준다. 조합이 많이 나올 수 있기 때문에 Pareto optimal ensembles만 보여준다.
  • 검정 네모 박스가 단일 모델 빨강 파랑 초록 네모박스가 앙상블 별이 cascade.
  • 앙상블은 작은 모델에선 조금 뒤쳐지지만 큰 모델에서는 단일 대비 좋은 성능을 보인다.
  • cascade는 전체적으로 단일 모델 대비 성능 연산속도에서 더 좋은 경향을 보인다. 여기서 cascade는 각 앙상블을 다이렉트로 변환한 것.
  • 대체로 앙상블이 작은 모델(or 적은 연산량)에서는 효율적이지 못한 모습을 보이는데 논문에서는 이를 두고 큰 모델은 작은 바이어스 및 큰 분산을 갖게 되는데 test err은 보통 분산의 영향이 크기 때문이라고 주장. 그렇기때문에 앙상블은 분산을 줄여주어 큰 연산에서 효율적이다라고 주장. 이 부분은 잘 이해가 안감

 

4. FROM ENSEMBLES TO CASCADES

  • 모델 cascade 방법 그냥 n개의 모델을 순차적으로 처리. 출력은 모두 평균내면서.
  • 만약 threshold보다 넘어가면 ealry exit 진행 -> 이로 인해 앙상블보다 평균 flops가 낮아짐
  • 만약 모든 모델을 통과했다면 앙상블과 같아짐.

4.1 CONFIDENCE FUNCTION

  • The higher g(α) is, the more likely the prediction α is correct.
  • max, the gap between the top-2 logits or prob, negative entropy 등등 해보고 결과 출력한게 figure 3.
  • All the metrics demonstrate reasonably good performance.
  • We adopt the maximum probability metric.
  • Threshold 별 연산량 및 정확도를 나타낸 cascade. t=1 일때 앙상블이랑 같으므로 연산량이 제일 많음
  • 그렇기 때문에 t가 커질수록 연산량도 많아짐.
  • 연산량 대비 정확도는 t가 커질수록 수렴하기 때문에 적당한 위치에서 고르면 됨.

4.2. CONVERTING ENSEMBLES TO CASCADES

  • 이제 뭐 바로 이해 될텐데, family 내 한단계 낮은 모델의 cascade와 단일 모델을 비교한 것. 정확도를 비슷하게 유지하면 속도가 빨라지고, 반대로 flops를 비슷하게 유지하면 정확도가 향상 된다. ( 모든 케이스에서 그러하다는 것에 주목)

5.MODEL SELECTION FOR BUILDING CASCADES

  • 모델 선정은 별거 없음 그냥 가능한 조합 중 Accuracy랑 flops 계산하여 적절하게 선정
  • 아래 테이블은 worst case를 고려해서 연산량이 기준치 안으로 오게 선정한 것.

  • self cascade. Test time augmentation을 cascade에 적용해본 것.

  • semantic segmentation with cascade. 
  • cityscapes 같은 경우 찾기 쉬운 road class도 있고 찾기 어려운 신호등도 있는데 연산량을 위해 grid 단위로 설정 512 일 경우는 1024/512 * 2046/512 = 8개의 grid로 설정

+ Recent posts