본문 바로가기
Machine-Learning/paper

[Paper] CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features

by AteN 2022. 10. 17.

CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features

[Paper] CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features

https://arxiv.org/pdf/1905.04899.pdf

 

해당 논문은 네어버 Clova에서 발표한 Cutmix이다. 이미지 성능 향상을 위한 Data Augmentation 기법은 다양안 방법이 있다. Mixup, Cutout 등 다야앟ㄴ 당법이 있다. 그중에서 Cutout의 경우 이미지의 일부를 잘라내 픽셀 값을 0을 채우고 Mixup의 경우 다른 이미지와 겹칩으로써 (interpolation) CNN으로 하여금 이미지의 덜 중요한 부분까지 특징을 잡도록 하는 방법을 취하고 있다. 하지만 이 두가지 방법은 정보 손실 측면에서 문제점이 있고 이를 해결하기 위해 CutMix가 등장했다. CutMix는 이미지의 픽셀을 단순히 지우는 것이 아니라 제거된 영역을 다른 이미지로부터 가져온 Patch로 적용하는 것이다. 그리고 이름에서 볼 수 있듯이 두 가지 방법은 섞은 것으로 한 마디로 요약하자면 Cut & Paste 방법이다

 

Abstract

CNN(convolutional neural network)의 성능을 향상시키기 위해서 지역적 dropout 제안되어지고 한다. 물체의 구별에 덜한 부분 (사람의 머리가 이닌 다리 )에 모델을 가이드하므로 네트워크가 더 일반화되고 더 나은 기능을 갖게 한다. 반면 지역적 dropout의 방법은 정보를 가지고 있는 픽셀을 제거한다. 검은 픽셀 또는 무작위 노이즈 패치를 씌워서 (overlay) 이미지를 학습한다. 이러한 방법은 학습 중에 정보 손실 및 비효율 성을 초래하기 때문에 바라믹 하지 않다

따라서 Cutmix 전략을 제안하였다. 즉 Groud Truth 레이블을 혼합된 이미지 사이에 Patch를 잘라내어 붙여 넣는다. 픽셀을 효율적으로 사용하고 지역 dropout의 정규화 효과를 유지함으로써 좋은 성능을 얻을 수 있다. 

 

 

introduction

CNN은 image classification, object detection 등과 같은 다양한 Computer vision 문제에서 성능을 보여주고 있다. 

특별히, intermediate activation의 작은 부분 또는 입력 이미지의 작은 지역에 너무 많은 집중으로 부터 CNN을 방지하지 하기 위해서, 무작위 feature 제거 거 정규화가 제안되었다.  무작위로 숨겨진 활성화를 제거하기 위한 드롭아웃과 입력 이미지의 무작위 영역을 지우기 위한 지역적 드롭아웃 있다. 연구자들은 특성 제거 전략이 모델이 객체의 가장 구별력 있는 부분뿐만 아니라 전체 객체 영역에도 주의를 기울이게 함으로써 일반화와 위치 지정을 개선한다는 것을 보였다

 

CutMix는 이미지와 라벨을 모두 보간하여 두 개의 샘플을 혼합하는 Mixup과 유사성을 가지고 있다. 분류 성능을 향상시키는 데는 확실히 도움이 되지만, Mixup 샘플은 자연지 않을 수 있다. CutMix는 다른 훈련 이미지의 패치로 이미지 영역을 대체함으로써 이 문제를 극복합니다. Mixup과 Cutout은 ImageNet 분류를 향상시키지만, ImageNet 위치 지정 또는 객체 탐지 성능을 감소시킨다. 반면, CutMix는 일관되게 세 가지 작업에서 유의미한 향상을 달성한다

 

 

Cutmix Algorithm 

\(x \in \mathbb{R^{W \times H \times C}}\)와 y를 각각 훈련 이미지와 해당 라벨이라고 가정보자.

CutMix의 목표는 두 개의 훈련 샘플 (xA, yA)와 (xB, yB)를 결합하여 새로운 훈련 샘플 (\(\tilde{x}\), \(\tilde{y}\)) 을 생성하는 것입니다. 생성된 훈련 샘플 (\(\tilde{x}\), \(\tilde{y}\)) 은 원래의 손실 함수를 사용하여 모델을 훈련하는 데 사용된다. 

여기서 \(M \in \mathbb{{0, 1}^{W \times H}}\)는 두 개의 이미지에서 드롭아웃 및 채움 위치를 나타내는 이진 마스크이다.

1은 모든 원소가 1로 채워진 이진 마스크이며, \(\bigodot \)는 요소별 곱셈을 나타냅니다. Mixup와 마찬가지로, 두 데이터 포인트 사이의 결합 비율 λ는 베타 분포 Beta(α, α)에서 샘플링된다.

α를 1로 설정하여 λ가 균등 분포 (0, 1)에서 샘플링되도록 한다. 주요한 차이점은 CutMix가 다른 훈련 이미지의 패치로 이미지 영역을 대체하고 Mixup보다 지역적으로 보다 자연스러운 이미지를 생성한다는 것이다.

 

이진 마스크 M을 샘플링하기 위해 먼저 \(x_A\)와 \(x_B\)에서 자르기 영역을 나타내는 Bounding Box 좌표  B = (\(r_x, r_y, r_w, r_h\))를 샘플링한다.  \(x_A\) 에서의 영역 B는 제거되고,  \(x_B\)의 B에서 잘라낸 패치로 채워진다. 

 

Cutmix 실험에서는 원본 이미지에 비례하는 종횡비를 가진 직사각형 마스크 M을 샘플링한다. 상자 좌표는 다음과 같이 균등하게 샘플링 된다.

자른 영역의 크기 비율 \(\frac{r_w r_h}{W H} = 1 - \lambda )\ 로 결정된다. 자르기 영역을 기준으로 Bounding Box B 내부를 0으로 채우고, 그 외의 영역은 1로 채워 이진  \(M \in \mathbb{{0, 1}^{W \times H}}\)가 결정된다. 

각 훈련 반복에서 위의 식에 다라 미니 배치에서 무작위로 선택한 두 개의 훈련 샘플을 결합하여 CutMix된 샘플 (\(\tilde{x}\), \(\tilde{y}\))을 생성한다. 

 

Discussion

CutMix로 무엇을 학습할까?

Cutout과 비슷하게 전체 객체 영역을 분류에 대한 단서로 고려하는 것이지만, 동시에 하나의 이미지에서 부분적인 시야로부터 두 개의 객체가 인식하도록 하는 것이 훈련 효율성을 높이는 것이다 

CutMix가 실제로 두 개의 객체를 각각의 부분적인 시야로부터 인식하도록 학습하는지 확인하기 위해 Cutout과 Mixup의 activation map을 시작적으로 비교한 것이 위의 Figure1이다 

Figure1은 Saint Bernard와 Miniature Poodle  두 클래스에 대한 해당하는 class activate maps(CAM)을 보여준다.

Cutout이 성공적으로 모델이 Saint Bernard의 배와 같이 구분력이 떨어지는 부분에 주목하도록 하는 반면, 사용되지 않는 픽셀 때문에 비효율적인 것을 관찰했다.반면 Mixup은 픽셀을 완전히 활용하지만 자연스럽지 않은 artifact를 도입한다. 

결과적으로 Mixup의 class activate maps(CAM)은 모델이 인식을 위한 단서를 선택하는 데 혼란을 준다. 

CutMix는 Cutout에 비해 효율적으로 두 개의 객체 클래스를 정확하게 위치 지정할 수 있는 개선점을 가지고 있다. 

위의 테이블은 Mixup Cutout CutMix에 대한 주요 차이점을 요약한 것이다. 

 

Experiments

Image Classification

ImageNet

아래의 테이블은 ImageNet-1K의 데이터셋 기준으로 비교한 실험이다.  

기준 성능 개선 방법에 대한 설정을 간략히 설명하면  Stochastic Depth 의 최상의 성능을 위해 잔여 블록의 드롭 비율을 0.25로 설정했다. Cutout의 마스크 크기는 112×112로 설정되고, 삭제 위치는 균등하게 샘플링되었다.

DropBlock의 성능은 원래 논문에서 가져왔으며, 우리의 설정과의 차이점은 훈련 epoch인 270입니다. Manifold Mixup 은 무작위로 선택한 내부 피처 맵에 Mixup 연산을 적용한다.

 Mixup과 Manifold Mixup에 대해 α = 0.5와 1.0을 시도해보았으며, 더 좋은 성능을 보여준 1.0을 선택했다.

또한, Feature CutMix라는 피처 수준의 증강(Feature CutMix)을 추가로 확장할 수도 있습니다. Feature CutMix는 Manifold Mixup과 마찬가지로 미니배치당 임의로 선택한 레이어에 CutMix를 적용한다. 즉, 입력 이미지단 아닌 feature 레벨에서 수행한 것을 말한다. 

위의 테이블을 통해 결과를 도출하면 CutMix를 사용한 것이 top-1 에러가 제일 낮다. 또한 모델을 성능에 따라서도 CutMix 방법이 제일 낮은 top-1 에러를 보인다. 

 

CIFAR-100

CIFAR-100 데이터셋은 통해 최신 정규화에 대한 비교하는 것이 아래의 테이블이다. Baseline을 기준으로 Label Smoothing 과 Cutout 을 제외하고는 모든 정규화에서 좋은 성능을 보였으며, CutMix + ShakeDrop(중간 feature에 노이즈를 삽입하는 방법) 이 가장 좋은 성능을 보여주는 것을 확인했다. 

'Machine-Learning > paper' 카테고리의 다른 글

[Paper] GPT (Generative Pre-trained Transformer)  (0) 2022.12.28
[paper] Mask RCNN  (0) 2022.11.24
[Paper] Faster RCNN  (0) 2022.10.06
[Paper] RCNN  (0) 2022.10.06
[Paper] Attention  (0) 2022.09.15

댓글