CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features
Author: Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe, Youngjoon Yoo
Date: May 13, 2019
URL: https://arxiv.org/abs/1905.04899
Introduction
- CNN 은 computer vision 문제에 많이 사용되고 있음.
- 효율적이고 높은 성능을 위해 data augmentation, regularization 등 기법을 적용.
- 특정 부분에 overfitting(?) 되는 것을 방지하기 위해 dropout, regional dropout 과 같은 방법 사용.
- 그 외에도 일부분을 0으로 채운다거나 노이즈로 채우는 방법, 정보가 있는 부분의 pixel을 줄이는 방법 등이 성능 향상을 보였으나 CNN은 데이터가 많이 고픈데….데이터를 없앤다..? 라는 부분에서 의문을 가짐.
- 영상의 일부를 자르고 다른 영상으로 대체하는 CutMix 를 제안.
CutMix
Algorithm
$$(x, y): \text{Training image, label}$$
$$(A, B): \text{Training class}$$
$$(x_A, y_A), (x_B, y_B): \text{Training sample}$$
- 어느 부분을 섞을 것인지 binary mask (M) 생성
- 생성된 mask를 통해 섞을 비율 lambda 추출.
- Label의 경우 비율에 One-hot encoding이 합친 후 영상에서의 각 클래스의 비율로 변경.
$$\mathrm{M}: \text{Binary mask where to drop out and fill}$$
$$\lambda: \text{Combination ratio}$$
$$\tilde{x} = \mathrm{M} \bigodot x_A + (1 - \mathrm{M}) \bigodot x_B$$
$$\tilde{y} = \lambda{y_A} + (1 - \lambda)y_B$$
- M에서 bounding box 좌표 (B) 추출.
- x, y 좌표는 Uniform distribution.
- $x_B$에서 B 를 매칭시켜서 crop 후 B에 매칭되는 $x_A$ 의 부분에 paste.
$$\mathrm{B}: \text{Bounding box coordinates } (r_x, r_y, r_w, r_h)$$
$$r_x \sim \text{Unif }(0, W), r_w = W\sqrt{1-\lambda},$$
$$r_y \sim \text{Unif } (0, H), r_h = H\sqrt{1-\lambda}$$
Discussion
- CutMix를 이용했을 때 CNN이 어느 부분을 학습하는지 확인.
- 다른 method와 비교하여 CutMix의 주요 차이점.
- Validation Error를 비교했을 때 기존의 모델에 비해 CutMix 적용시 Error가 낮음.
Experiments
Image Classification
ImageNet Classification
- Baseline, 다른 augmentation method와 비교
- 두 Model에 CutMix를 적용하여 성능 비교.
CIFAR Classification
Ablation Studies
- CutMix하는 방법을 다양하게 적용했을 때 성능 비교
- Center Gaussian: Uniform distribution → Gaussian distribution
- Fixed-size: 16 x 16 ( \(\lambda = 0.75\) )로 고정
- Scheduled: 학습이 진행될 수록 CutMix 확률을 0부터 1까지 증가
- One-hot: 패치 비율에 따라 Portion label이 아닌 One-hot encoding으로 적용
- Complete-label: lambda 를 고려하지 않고 \(y = 0.5y_A + 0.5y_B\)로 적용
Weakly Supervised Object Localization
- Localization 부분에 대해 다른 방법들과 비교.
- 학습 후 CAM을 이용해서 bounding box를 그린 것으로 보임.
Transfer Learning of Pretrained Model
- Object detection, Image captioning 에 적용하여 성능 비교.
Robustness and Uncertainty
- Occlusion 상황에 대해서 성능 비교.
- 가운데 부분 혹은 Boundary 에 0~224 크기 사이의 hole을 생성.
CutMix Algorithm
P.S
- Appendix에 내용이 더 있지만… 간단히 정리하려니 넣기 좀 힘듦.
- 당연한 얘기지만 모든 데이터에 적용하기엔 어려움이 있을 것으로 보임.