본문 바로가기
Paper Review

[논문리뷰] Saliency Grafting: Innocuous Attribution-Guided Mixup with Calibrated Label Mixing (AAAI 2022)

by 3neutronstar 2022. 2. 20.

이번에는 AAAI2022에 accept 된 Saliency Grafting: Innocuous Attribution-Guided Mixup with Calibrated Label Mixing 을 리뷰하려고 합니다. KAIST에서 게재한 내용이네요. 자세한 내용은 원문을 참고해주세요. 

 

Introduction

 

주어진 task에 충분한 데이터를 얻기 위해서 굉장히 오래걸렸다. 그래서 이러한 데이터 부족을 극복하기 위해서 주로 data augmentation을 사용해왔습니다. Data augmentation은 generalization(일반적인 classification 성능) 과 robustness를 모두 달성하는 경우도 있었다고 합니다. 기존 augmentation method는 flip, rotate등을 사용했지만 최근에는 mixup (ICLR 2018) 이후 굉장히 많은 파생 method들이 제기 되었습니다. 이러한 것은 information의 loss없이 보상하는 방식으로 효과적이었습니다. 하지만, context-agnostic한 부분도 있었다. (context고려되지 않고, label이나 정확하지 않은 augmentation이 randomly하게 augmentation이 되었다고 합니다) 

 

논문의 예를 들면, cutmix에서 object의 위치에 대한 고려없이 동일하게 label이 assign되는게 문제라는 것이었습니다.

(d) 에서의 예시 object가 없지만 label이 bird로 모두 6/49로 할당 됨

본 문제를 해결하기 위해서 saliency가 guided하는 augmentation이 많았다. 이러한 method들을 통해서 (puzzlemix saliencymix, attentive cutmix, 본 논문에는 언급이 안되었지만 지난 번에 다룬 co-mixup등) harmful samples를 생성하는 것을 막는 방법들이 제안 되어왔습니다.

 

본 논문에서는 saliency를 기반으로 label mixing에 대한 기존 논문들의 약점에 대해서 언급하고 saliency-based sampling을 통한 diverse한 data를 generate하는 방법론인 saliency grafting에 대해서 다루고 있습니다. (mixing method보다는 label assignment에 중점)

 

Proposed Method

 

Saliency Grafting은 크게 두가지로 나뉘어지는데

stochastic path selection 과 label mixing 입니다. 둘다 saliency information을 활용하는데 saliency generation method는 learning cost를 최소화하기 위한 방법을 사용했다고 합니다.

 

논문에서는 다른 순서대로 설명하지만 저는 동작순서인 saliency generation, patch selection그리고 label mixing 방법으로 설명하도록 하겠습니다.

 

- Saliency map generation

Saliency map을 생성하는데에 모든 method를 활용할 수 있지만, saliency grafting이 saliency map quality에 많은 영향을 받을 수 있어서 ground truth label과 연관이 있는 거를 사용해야했다고 생각했다고합니다. 하지만, model의 prediction에 도움이 되지 않는 정보들은 날려버리기 때문에 backward method를 사용하지 않고 feature를 정확하게 뽑아낼 수 있는(class-agnostic) forward method를 사용했다고 합니다. (각자마다 성능비교는 appendix)

 

Saliency map의 생성은 feature map을 사용하므로 l-th layer의 feature map의 L1 norm을 channel-wise하게 취해서 사용하였으며, 본 논문에서는 l-th layer는 마지막 convolution layer를 사용했다고합니다. 이렇게 되면 size가 맞지 않는데 randomly하게 up-down sampling scale을 mini-batch당 사용해서 diverse하게 이미지가 generation이 될 수 있도록 사용했다고 합니다.

 

- Stochastic salient patch selection

Diverse하고 meaningful한 instance를 만들 수 있느냐에 초점을 가지고 생성을 했는데, 기존 saliency guided method는 saliency가 high intensity를 가진 region을 위주로 사용해왔다고합니다. 이는 model에 의해서 이미지가 판단되어 있기에 동일 patch에 노출되어 다른 부분에 집중할 필요를 없애기 때문에 다른 부분에 attend 할 기회를 놓칠 수 있다고 합니다. 

정리해서 말씀드리면, 기존 model에 자주 노출 되었던 부분이 saliency가 high intensity를 가진 부분을 위주로 augmentation이 되어있기 때문에 high intensity를 가지지 않은 부분을 봄으로써 학습될 수 있는 여지를 막는다. 이렇게 볼 수 있을 것 같네요.

 

아무튼 이러한 selection bias를 막기위해서 patch selection은 두 단계로 구분된다고 합니다.

1) softmax thresholding (by $\sigma$)

2) stochastic sampling (by Bernouill distribution sampling)

 

selection bias를 막기 위해서 saliency map을 temperature가 있는 softmax를 취해서 soften 시키고 threshold $\sigma$ 값에 맞게 binary화 시킵니다. threshold는 original saliency map의 합에 크기를 나눈 값으로 사용했다고 합니다. 

 

각 softmax thresholding에 의해서 만들어진 saliency map patch를 가지고 stochastic하게 sampling을 진행한다고 합니다. region-wise하게 iid random Bernoulli matrix를 생성해서 element-wise multiplication을 진행해서 patch를 만들어 낸다고 생각하시면 좋을 것 같습니다. 아래 사진처럼 meaningful region을 생성하고 거기서 확률적으로 값을 가져와서 binary mask를 곱해서 selected patch를 만들어낸다고 생각하시면 됩니다.

- Calibrated label mix based on saliency maps

기존 method들은 class y의 값을 갖는 information의 손실이 있어도 값을 mixing ratio에 기반해서 갖게되면 둘다 겹쳐있는 곳에서 i class만 많이 나타나거나 j만 많이 나타나게 됩니다. 이러한 문제를 해결하기 위해서 saliency map에 의존하게 한다고 합니다. destination image $x_j$에 대해서 occlusion의 정도에 따라서 penalize를 진행하게 한다고 합니다. 이러한 정도는 saliency map이 mixing matrix와의관계에서 얼마나 mixing matrix에 포함되는지에 대한 정도 값을 사용합니다. Mixing ratio는 그러한 나타나는 정도와 나타나지 않는 정도의 비율을 사용한다고 하는데 이를 식으로 풀면 ,

 $$I(S_{j}, (1-M_{j}) = L2Norm(S_i \bigodot M_i)/ L2Norm(S_i)$$

이 된다. 이때 $y_{i}$에 대한 mixing ratio $\lambda$값은  ( $\hat{y}= \lambda Y_{i}+ (1- \lambda) Y_{j} $ 가 generated ground truth label)

$\lambda(S_{i},S_{j},M_{i}) = I(S_{i},M_{i}) /{I(S_i,M_i)+I(S_{j},1-M_{i})}$ 으로 표현될 수 있다.

 

이러한 과정들을 합치면 아래 이미지 처럼 구성된다.

Experiment

Figure 3를 보면, k 번 mini-batch에서 augmented data를 만들어 내다보면 동일한 이미지가 생성되는 경우가 있고 이러한 것이 Top-1 error를 동일하게 만들어낸다. 하지만, 본 논문의 stochastic함에 의해서 점점 top-1 error가 k가 커져가면서 내려가는 경향성을 보인다라고 한다. Deterministic한 부분보다 장점에 관해서 서술했다고 볼 수 있는데, 여기서 궁금한 점은 cutmix가 top1 error가 감소한데서 의문이 조금 들게 되긴 한다. (fully random이므로) Mixup처럼 cutmix도 약간의 증가 경향성을 보여줬으면 좋을 것 같다는 생각이 들었다.

 

Naive하게 label assign을 area에 맞게 할당하는 경우와 아닌경우에 대한 비교 실험도 있는데요. saliency 기반의 stochastic과 area기반 이렇게 나누어서 진행하고 saliency없이 deterministic하게 mix하고 area 기반의 label assign을 기반으로도 나타냈는데 이러한 비교는 다음과 같습니다.

개인적으로는 어렵긴하지만 imagenet에서 비교할 때, 더 유의미하지 않을까라는 생각은 들기는 합니다. saliency라는 것이 어느정도 image size가 커야 유의미하게 나타나는 경향성이 짙어서 이런 부분이 살짝 아쉽습니다. 앞서 언급한 k에 따른 상황을 확실하게 체감할 수 있을 것 같기도 해서 굉장히 궁금한테 time이 워낙 많이 소요되는 문제로 진행되지 않았을 것 같기는 합니다. (augmentation method간 차이도 적기도 해서 비교하기 어려울 수도 있을 것 같네요)

 

 

ImageNet에서 가장 좋은 성능을 보여주었습니다.

 

이상입니다.

댓글