AdvProp

minsoo jeong·2021년 2월 15일
0

Adversarial Examples Improve Image Recognition

Adversarial example을 이용한 Image recognition model 성능 향상 방법 제안
  • Adversarial example은 Original input에 매우 작은 noise를 더하여(perturbation) 사람의 눈에는 차이가 없어 보이나 분류기는 잘못 분류 하도록 변형된 input을 의미하며 Adversarial training은 네트워크가 adversarial attack에 강인하도록 이러한 example을 추가하여 모델을 학습하는 것이다.

  • 하지만 Adversarial train을 적용한 모델이 오히려 원본 이미지 분류에는 부정적 영향을 주는 것을 확인하였다. 아래 그림은 학습데이터의 종류에 따른 clean 이미지에 대한 분류결과이며 파란색은 clean 이미지로 학습한 모델, 회색은 adversarial train을 적용한 모델의 성능을 나타낸다. adversarial train 모델이 낮은 성능을 보이며 논문에서는 clean 이미지와 adversarial example의 distribution mismatch를 성능 감소의 주요원인으로 가정한다.- adversarial example과 clean 이미지는 두 개의 다른 도메인에서 추출되므로 특정 도메인에 대한 학습이 다른 도메인의 성능을 보장할 수 없다. 두 도메인을 적절하게 결합하여 훈련한다면 adversarial example를 사용하더라도 clean 이미지에 대한 성능 저하가 완화될 것이다.

  • 이 가설을 증명하기 위해 adversarial example를 이용하여 네트워크를 scretch부터 학습하고 clean이미지로 fine-tuning 하였다. 그 결과 성능 저하가 완화되었고 EfficientNet-B7 모델에서는 clean이미지만을 학습한 결과 보다 높은 성능을 보였다. (Adversarial attack에 대한 성능 그래프도 같이 보여주었으면 이해하는데 도움이 됬을거 같다.)

  • Fine-tuning 방법이 clean 이미지와 adversarial example을 결합하는데 도움이 되지만 EfficientNet-B3 에서는 clean 모델보다 성능이 떨어졌으며 clean 이미지로 학습하는동안 adversarial example에서 학습한 특징들을 덮어쓴다는 단점이 있다.(아마 Adversarial attack에 대한 성능이 감소하였을 것같다.)

  • 이를 해결하기 위해 이 논문에서는 Batch Normalization에 초점을 두었고 'BN은 미니배치에 포함된 데이터에 대한 정규화를 수행하기 때문에 2개 이상의 도메인에서 추출된 데이터로 미니배치를 구성한다면 정확도에도 문제가 있을 것'이라는 가정하에 새로운 BN 방법을 제안한다. Adversarial example용 BN을 추가하여 clean 이미지와 adversarial example에 대한 배치정규화를 각각 적용하여 모델을 학습하는 단순한 방법을 제안한다.(Inference시에는 보조 BN을 제거한다.)

  • 큰 모델에서 더 좋은 결과를 보임

0개의 댓글