논문 리뷰

[논문 리뷰] Feature Denoising for Improving Adversarial Robustness

망나 2020. 3. 27. 16:21

Paper - Feature Denoising for Improving Adversarial Robustness

 

 

Facebook AI Research에서 작성한 2019년도 논문입니다. 논문에서는 Adversarial Robustness를 높이는 방법으로 Feature Denoising 기법 적용을 제안하고 여러가지 실험 결과를 공유합니다.

 

보통 Adversarial Example 이미지는 Pixel 레벨에서 볼 때 사람의 눈으로 구분이 거의 불가능한 수준입니다. 따라서 Pixel을 이용해서는 판단이 안되는데 그렇다면 과연 Feature 레벨에서는 어떤 다른점이 있을까?라는 생각으로 Adversarial Example의 Feature map을 확인했더니 아래 그림과 같이 차이점이 눈에 뛰게 드러나는 것을 발견합니다.

 

사진을 보면 위의 이미지는 clean (원본)이고 아래는 adversarial (공격 노이즈가 추가된)입니다. 좌측의 Pixel 레벨로 확인할 때 거의 차이가 없는 이미지가 우측의 Feature 레벨로 보면 한눈에 다른점을 확인할 수 있습니다. 아래 공격 노이즈가 추가된 Adversarial Example의 Feature에는 이미지 분류에 있어서 방해가 될 수 있는 의미 없는 부분에 노이즈가 발생한 것을 확인할 수 있습니다. 이러한 노이즈 값이 결론적으로 모델이 최종적으로 잘못된 분류를 하는데 중요한 역할을 한다는 것이 저자의 주장입니다.

 

따라서 이런 노이즈를 어떻게 처리해서 모델이 제대로된 분류를 할 수 있도록 도와줄 수 있을까요? 논문에서 제안하는 방식이 바로 Feature Denoising 방법입니다. 전통적으로 이미지의 노이즈를 제거하는 denoise 방법을 이용해서 노이즈를 제거한 이미지를 모델이 학습하도록 하자는 것이 논문에서 제안하는 방법입니다. 바로 아래 사진을 보면 직관적으로 이해가 가능합니다.

 

좌측은 Adversarial Example의 모습이고 중앙은 해당 이미지에 대한 Feature map, 그리고 우측의 이미지가 논문에서 제안하는 방식으로 Feature Denoising을 거친 최종 Feature map의 모습입니다. 위와 같이 불필요한 노이즈들을 최대한 제거한 후 모델 학습을 시키면 아무래도 공격 노이즈를 최소화 해서 최종 분류가 잘 될 수 있을 것 같습니다. 

 

그런데 여기서 추가적으로 발생하는 문제점은 노이즈를 제거하면서 Feature 레벨에서 가지고 가야할 유의미한 데이터도 일부 잃어 버린다는 것 입니다. 마지막 여러가지 실험을 통해서 보면 이렇게 학습한 모델이 clean한 원본 이미지에 대한 분류 정확도도 일반 모델에 비해 떨어진다고 합니다. 이러한 trade-off를 해결하는 것을 future research로 남겨두고 있습니다.

 

논문에서는 Denoising 기법으로 4가지를 소개하는데 여기서 가장 성능이 좋은 Non-local means 기법만을 간략히 소개하겠습니다. 이 기법은 Image Denoising에서 많이 사용되는 non-local means filter의 방법을 그대로 가져왔다고 할 수 있습니다.

 

non-local means는 쉽게 말하면 전체 이미지에서 특정 feature에 대해서 각 모든 feature들과의 average를 구한다고 볼 수 있는데 이때, feature간의 유사도를 가중치로 준다는 점이 핵심입니다.

 

아래는 실험 결과 입니다.

다양한 denoise 기법 중 non-local 기법이 가장 좋은 성능을 보여주고 있습니다.

 

제안한 모델을 활용해서 CAAD 2018 대회에서 우승했다고 합니다. 여기서는 ResNeXt-101을 backbone으로 하였고 denoising block들을 모든 residual block에 추가했다고 합니다.

 

아이디어도 직관적이고 Image Denoising 기법에 대한 이해만 있으면 쉽게 이해할 수 있는 아주 좋은 논문이라고 생각합니다. 논문에서 사용하는 non-local means 기법은 이전에 non-local neural network에서도 활용된적이 있습니다. Vision 분야서 전통적으로 활용되는 기법들을 Deep Learning에 잘 녹여서 좋은 성능을 보여주는 좋은 사례들인 것 같네요.