[논문 리뷰] CutMix: Regularization Stategy to Train Strong Classifiers with Localizable Features

SimBa's avatar
Feb 08, 2025
[논문 리뷰] CutMix: Regularization Stategy to Train Strong Classifiers with Localizable Features
  • regional dropout
    • 일반화 성능을 높이며, object locatlization 능력을 향상시킴
    • black pixel을 겹치거나 무작위로 노이즈를 첨가하는 방식으로 training image의 imformative pixel(정보가 있는 픽셀)을 제거 →정보 손실과 비효율성 초래
  • 따라서, CutMix augmentation 제안
    • 정답 label이 patch의 영역에 따라 비율적으로 섞이도록 patch를 자르고, training image 사이에 붙여넣기
    • training pixel을 효율적으로 사용할 수 있음
    • regional dropout의 정규화 효과를 retraining할 수 있음
 

1. Introduction

  • CNN은 image classification, object detection, semantic segmentation, video analysis 등 CV 분야에서 엄청난 성능을 보여주고 있음
  • 다만, 학습 효율성과 성능을 향상하기 위해 data augmentation, regularization 등 다양한 학습 방법이 제안 되었었음.
  • CNN이 중간 활성화의 작은 집합이나, input image의 작은 영역에 지나치게 집중하는 것을 방지
    • random feature removal regularization이 제안됨
    • dropout (랜덤하게 hidden activation을 제거), regional dropout(이미지의 랜덤한 영역을 지움)
    • 이와 같은 feature remoavel 방법이 일반화와 지역화 성능 향상
  • 하지만, 지워진 부분의 값이 0이 되거나 랜덤하게 노이즈가 섞임 → training image의 imformative pixel을 감소시킴
  • 그렇다면, 어떻게 regional dropout을 사용하여 더 나은 일반화와 지역화를 유지하면서 지워진 부분을 최대한 활용할 수 있을까?
    • CutMix 방법으로 해결
    • 아예 픽셀을 지우기보다, 지워진 부분을 다른 이미지의 patch로 대체
    • 정답 label도 합쳐진 이미지의 픽셀의 비율대로 섞임
    • 이에 따라, regional dropout의 이점을 유지하면서 학습 동안 uninformative 픽셀이 없게 됨 → 더 효율적인 학습 가능
    • 추가된 patch는 이미지의 일부 부분만으로도 객체를 식별할 수 있게 함 → localization 능려도 향상
  • Mixup 방식과 유사
    • Mixup samples는 부자연스럽지만, CutMix samples는 아예 일부 부분을 다른 image로 대체하는 것이기 때문에 Mixup보다 자연스러움
    • notion image
  • Mixup, Cutout : classification에는 좋은 성능을 보였지만, object detection이나 localization에는 좋은 성능을 보이지 못함
    • 그러나, CutMix는 분류, 객체탐지, 지역화 모두에서 우수한 성능을 보임
 
 
  • Regional dropout
    • 이미지에서 랜덤하게 일부분을 제거하는 방법
    • CNN의 일반화 성능을 높이기 위해 제안됨
    • object localization을 향상하기 위해서도 regional dropout 사용
    • CutMix와 다른 점 : CutMix는 제거된 부분이 다른 training image의 patch로 채워짐
    • DropBlock
      • CNN의 feature map에서 랜덤된 연속된 블록 형태로 activation 제거
      • regional dropout을 feature space로 일반화해으며, 일반화 성능 향상됨 : regional dropout은 spatial input에서 일부 영역을 제거하기 때문에 입력 단계에서 처리되지만, DropBloxk은 CNN이 학습한 중간 feature mpa에서 일정한 영역을 랜덤하게 제거
      • CutMix도 feature space로 수행
  • Synthesizing training data
    • 일반화 성능을 높이기 위해 Stylizing ImageNet으로 새로운 training sample 만듦
      • 기존의 CNN은 이미지의 shape보다 texture에 더 많이 의존 (ex. 얼룩말 → “줄무늬 texture”을 기반으로 인식하고, 전체적인 shape은 충분히 학습하지 못할 수 있음)
      • 기존과 다르게 texture보다 shape에 더 초점을 맞추는 것이 Sylizing ImageNet임
      • 이를 통해 classification과 object detection 성능이 향상됨
    • object detection을 위한 object insertion 방법
      • 배경에 객체를 합성하여 학습 데이터를 생성하는 방법이었음 → single object sample의 좋은 표현을 학습하도록 설계됨
      • 하지만, CutMix는 서로 다른 samples들을 합쳐 하나의 이미지로 만들어냄 → multiple object를 포함할 수 있는 샘플 생성 가능
  • Mixup
    • 두 sample을 결합 & 새로운 sample의 실제 label은 one-hot label의 linear interplotation으로 결정됨
    • 하지만, Mixup 샘플은 비자연적임 → 모델을 혼란스럽게 함 → lcoalization에서 문제 발생
    • Mixup의 단점을 보완하기 위해 feature-level interplotation과 같은 새로운 방법 제안됨 → 하지만, 이런 연구들은 localization ability와 transfer-learning 성능에 대한 심층 분석이 부족
    • 따라서, 본 연구에서는 CutMix가 단순히 classification뿐만 아니라, 다양한 localization과 transfer learning에도 이점이 있음을 증명
  • Tricks for training deep learning
    • deep network를 효율적으로 학습시키기 위한 방법 → weitht decay, dropout, Batch Normalization (1)
    • 최근 방법 : CNN 내의 특징에 노이즈 첨가 or architecture에 추가적인 patch 추가 (2)
    • CutMix : 위의 방법들을 보완 → data level에서 수행(1)되며, 내부 표현(feature)이나 architecture에 변화를 가하지 않음(2)
    •  
 

3. CutMix

3.1 Algorithm

  • (xA,yA)(x_A, y_A)
  • (xB,yB)(x_B, y_B) : training image와 그 label
CutMix의 목표 : xAx_AB B를 합쳐서 new training sample 생성 → new training sample로 기존의 loss function을 적용해서 모델 학습시킴
notion image
  • ⊙ : element-wise multiplication (matrix multiplication아니고 그냥 원소끼리 단순히 곱함)
  • xBx_B : binary mask
    • 이미지 크기BB와 동일한 2차원 행렬
    • 각 위치는 0 or 1 → 0(drop out), 1(유지)
    • 두 이미지 A, B에서 각 픽셀에 대해 어느 이미지에서 값을 가져올 것인가?
    • xAx_A 마스크 에 원소별로 곱함 → 이 1인 위치에서만 의 픽셀 값을 남김.
    • : 마스크 에 원소별로 곱함 → 이 0인 위치에서만 의 픽셀 값을 가져옴
  • : combination ratio ( → 본 연구에서는 이므로, 에서 sampling됨)
  • 을 sampling하기 위해 우선, bounding box을 설정 (에서 자를 부분에 대한 bounding box임)
에서 에 해당하는 부분은 제거되고, 에서 에 해당하는 부분이 제거된 에 채워짐
notion image
 
 

3.2 Discussion

  • CutMix를 통해 배울 수 있는 것
    • 전체 객체의 영역을 classification의 단서로 고려함 (Cutout과 유사) & 단일 이미지 내에서 두 객체를 부분적으로 인식 → 학습 효율 높임
    • activation map(CAM) 비교 (모델이 입력 이미지에서 어떤 부분에 주목하고 있는지를 시각화)
      • notion image
      • Cutout : 객체의 less discriminative part에 집중함 (ex. 동물의 배) & 검정색을 표현된 사용되지 않는 픽셀로 인해 비효율적임
      • Mixup : 검정 부분 없이 모든 픽셀을 사용 BUT 인식을 위해 어떤 단서를 선택해야할지 혼란스러워하는 것을 볼 수 있음 (버나드와 푸들의 영역 모두 특징으로 간주)
      • CutMix : 모든 픽세를 사용하며, 각 객체의 class를 정확하게 localize할 수 있음
      • 셋의 주요 차이점
      • notion image
  • Analysis on validation error
    • 학습 끝 부분 : val erorr < training error
    • learning rate를 줄였던 epoch 150에서 overfitting 발생 → 하지만, 학습 끝 부분에서는 validation error가 안정적으로 낮게 나온 것으로 보아, 다양한 training samples가 overfitting을 줄였다고 할 수 있음
    • notion image
 
 

4. Experiments

  • 여러 task에서 일반화 성능과 localizability를 향상시키기 위해 CutMix를 발전

4.1 Image Classification

  • standard augmentation : resizing, cropping, flipping
  • epoch = 300
  • learning rate = 0.1 (75, 150, 225 epoch에서 0.1배만큼 learning rate 감소)
  • batch size = 256
  • hyper-parameter
  • 결과
    • CutMix가 sota
    • ResNet 101층을 더 깊게 쌓으면 error가 더 낮아짐
notion image
notion image
  • CutMix가 input image에서 적용되었을 때 가장 좋은 성능을 보임
notion image
  • Performances of CutMix variants
    • Center Gaussian : uniform distr. 대신 가우시안 distr. 사용해서 추출
    • Fixed-size : 를 (16, 16)으로 고정
    • Scheduled : 0 → 1로 가도록 CutMix를 적용하는 확률을 학습이 진행함에 따라 증가시킴
    • Complete-label : combination ration 에 상관 없이 label인 로 설정
    • notion image
 

4.2 Weakly Supervised Object Localization

  • weakly supervised object localization(WSOL) : class labels만을 사용하여 target objects를 localize하도록 학습시킴
  • localize하기 위해서는 CNN이 target의 작은 discriminant part에 집중하지 않고, full object로부터 추가적인 단서를 추출하도로 해야함 → Spatially distributed representation(공간적으로 분산된 표현)을 학습하는 것이 WSOL 과제의 성능을 개선하는 핵심임
  • CutMix는 classifier가 더 넓은 범위의 단서를 바탕으로 결정을 내리도록 유도하며, 이를 통해 WSOL 과제에서 classifier의 성능이 개선될 것 (Why? 작은 부분 대신 “전체 영역”에서 단서를 찾아냄)
  • Muxup vs. CutMix
    • Mixup보다 CutMix가 정확도가 더 높았음
    • Mixup은 아래의 사진에서 볼 수 있다시피, Mixup의 ambiguity(모델에 혼란을 불러옴)이 classifier가 더 객체의 discrimitive part에 집중하게 함 → 정확도 떨어짐
    • notion image
 

4.3 Transfer Learning of Pretrained Model

  • CutMix가 덜 구별되는 객체 부분을 위치 지정하는데 우수함을 보임 → object detection이나 image captioning의 성능 향상에 기여할 것
  • object deteciton
    • SSD와 Faster-RCNN에서 성능 향상 → CutMix가 object detection의 성능 향상
  • image captioning
    • Mixup봅다 CutMix가 image captioning에서 더 좋은 성능을 보임
  • 결론 : CutMix로 pre-trained된 모델은 objecte detection과 image capationing에서 추가적인 비용 없이 성능 향상을 함
notion image
 

4.4 Robustness and Uncertainty

  • Adversial attack
    • 모델이 입력 이미지의 작은 변화(perturbations)에도 오류를 범하는 현상
    • 해결책 : Input augmentation → training data를 변형시켜 모델이 보지 못한 새로운 sample을 만들어서 모델의 robustness를 향상시킬 수 있음
  • Robustness
    • occluded sample : 이미지에서 일부 정보가 없거나 가려져 있어서, 정보를 온전하게 인식하지 못함
      • Cutout과 CutMix가 성능 향상을 보임
      • CutMix는 Cutout과 달리, 학습 동안 어떠한 occluded sample을 보지 못했지만, occluded sample에 대해 좋은 성능을 보임
    • in-between calss sample : 두 calss 간의 경계가 모호 (두 class의 특징이 혼합된 sample)
      • Mixup과 CuMix가 성능 향상을 보임
      • CutMix는 학습 동안 보지 못한 Mixup in-between class sample에서도 좋은 성능을 보임
      notion image
notion image
  • Uncertainty
    • Mixup과 Cutout은 네트워크의 over-confidence를 악화시킴
      • over-confidence : 모델이 자신의 예측에 지나치게 확신하는 상태 → 불확실한 상황에서도 높은 확률로 예측을 하려고 함 (일반화 성능 저하 & 새로운 데이터에 대해 잘못된 예측을 할 가능성 높아짐)
    • CutMix는 모델의 over-confidence를 상당히 완화시킴
      • OOD deteector의 성능을 향상시킴
      • 💡
        [OOD detector]
        • out-of-Distribution Detector (분포 외 탐지기)
        • training data에서 학습한 모델이 training data와 다른 새로운 데이터를 만났을 때, 그 데이터를 정확하게 예측하지 못할 수 있음 → 이때, 새로운 데이터를 훈련 데이터 외부의 데이터(OOD)로 분류
        • OOD 데이터를 예측하려고 할 때, 부정확한 예측을 하는 것보다 이 데이터를 “알 수 없음”으로 식별하여 잘못된 결정을 방지하도록 함
        • OOD 탐지 방법
        notion image
        cf) 엔트로피
        notion image
        notion image
 
 

5. Conclusion

  • CutMix는 적용하기에도 쉽고, 추가적인 계산도 필요하지 않음. 하지만, 다양한 task에서 좋은 성능을 보임.
  • 특히, WSOL method에서 localization 정확도를 상당히 높임
  • CutMix-ImageNet pretrained model이 object detection과 iamge captioning의 backbone(신경망의 핵심 구조)에서 성능을 향상시킴
  • CutMix는 robustness와 uncertainty고 향상시킴
 
Share article

심바