2022. 2. 17. 00:20ㆍ논문리뷰/Adversarial Attack
지난 번에 이어서 C&W Attack 논문 리뷰를 하려고 한다. 이번 리뷰에서는 3가지 Distance-metric을 사용하여 만드는 강력한 attack 기법에 대한 설명과 그 기법들을 사용하여 defensive distillation을 어떻게 공격할 수 있고, 또 왜 이전 attack들은 그럴 수 없었는지를 설명하려고한다. 이를 읽기 전에 introduction과 강력한 attack을 만들기 위해 실험한 여러 기법들을 알고 싶다면 (1) 글을 먼저 보고 오길 바란다.
https://aistudy9314.tistory.com/59
[논문 리뷰] Towards Evaluating the Robustness of Neural Networks(C&W Attack)(1)
지난 논문 리뷰에서 Defensive Distillation이라는 defense 기법을 알아보았다. 이 방법이 나왔을 당시 차세대 기법이라고 불릴 만큼 각광받는 defense 기법이었는데, 이를 깨버린 것이 CW Attack이 되겠다. **
aistudy9314.tistory.com
1. Three Strong Attacks
논문에서는 3가지의 distance metrics(
1.1 L2Attack

추가적으로 objective function에
이를 수식적으로 이해하기 위해서
먼저
논문에서는
Multiple Starting-point Gradient descent
Gradient Descent는 optimal solution을 찾지 못하고 local minimum에 빠질 수 있다. 가장 optimal solution은 아니더라도 그와 비슷한 solution을 찾기 위해 multiple starting-point gradient descent라는 기법을 추가로 소개한다. 방법은 간단하다. original image와 가까운 여러 개의 random starting point를 골라서 각 각의 point에서 부터 gradient descent를 한다. 이렇게 여러 starting point를 줌으로써 gradient descent가 bad local minimum에 빠질 확률을 줄여준다.
1.2 L0 Attack

**물론 이미지에 따라 다를 수 있다. texture가 거친 경우, 일부 픽셀만 바뀌는 것으로는 알아차리기 힘들지만 texture가 단순한 경우 일부 픽셀이 크게 바뀌면 티가 나게 될 것이다.
방법을 더 자세히 알아보자. 먼저 allowed set이란 집합을 만들고 처음엔 이를 모든 픽셀 index로 초기화한다. 이때, 어떤 픽셀들이 중요하지 않은 지를 확인하기 위해
추가적으로, 사용되는
JSMA는 위 방식과 반대로, empty set으로 시작하여 영향력이 높은 픽셀들을 추가하여 점차 늘린다. JSMA와 비교했을 때,proposed 방식이 훨씬 더 effective하다고 한다. 이는 나중에 evalutation section에서 확인할 수 있다.
이러한 greedy 방식은 해당 픽셀들을 찾기 위해, 각 iteration에서 많은 gradient descent를 거쳐야 한다. 이러한 단점을 완화시키기 위해 논문에서는 "warm-start"라는 방식을 사용한다. 이는 각 iteration에서 gradient descent를 initial image로부터 시작하는 것이 아니라 그 전 iteration의 solution으로부터 시작한다. 이렇게 함으로써 examples를 찾기 위해 gardient descent를 해야 하는 횟수를 크게 줄일 수 있게 된다.
1.3 L∞ Attack

논문에서는 위와 같이
예를 들어,
이러한 문제를 해결하기 위해서 constraint term을
이로인해
**각 iteration에서 모든
추가로 contant c를 구하는 방법은
2. Evaluation


위 표는 사용되는 distance metric에 따라서 proposed attack methods와 Traditional method를 비교한다. 여기서 mean은 distortion의 정도를 뜻하고, prob은 attack success rate를 말한다.
결과를 보면, proposed attack이 다른 methods에 비해서 distortion 크기가 작은 것을 볼 수 있다. 또한 모든 attack에서 100% attack success rate를 보여준다.
추가로
3. Evaluating Defensive Distillation
이 글을 읽기 전에 Defensive Distillation이 무엇인지 충분히 숙지하기를 권장한다. Defensive Distillation은 이미 리뷰를 했기 때문에 따로 내용을 정리하지는 않을 것이다.
3.1 Fragility of existing attacks
Defensive Distillation은 한 때 defense로써 매우 높은 성능을 가졌던 방법이다. 논문에서는 어떠한 이유로 이전 attack methods가 defensive distillation에 약한지를 분석하고, 이는 network robustness와 무관계하다는 것을 밝혀낸다.
L-BFGS and Deepfool
L-BFGS와 Deepfool은 F()의 gradient가 거의 항상 0이 되기 때문에 attack이 실패된다고 말한다. Defensive Distillation에서 사용되는 modified softmax 식을 한번 살펴보자.
defensive ditillation은 training time에 이 T를 1보다 높은 값으로 설정하는데, 일반적인 cross entropy를 생각해보면 correct class는 1에 가깝게, 그 외 class는 0에 가깝게 학습이 될 것이다. 이 때 logits을 살펴보면
**positive value는 더 positive하게, negative value는 더 negative하게 바뀌는 것이다.
이러한 logits Z(x)가 T배 커진 상태에서 test time에 T를 1로 설정하면, softmax output F가 target class에 대해서는
즉 defensive distillation이 model을 robust하게 만드는 것이 아니라, gradient를 제대로 계산하지 못하게 만듦으로써 attack을 막는다는 것을 확인할 수 있다.
논문에서는 objective function을 논문에서 제안한 식으로 바꾸는 것만으로 이러한 문제를 해결하였고, 또 다른 방법으로는 softmax함수를 똑같이
**두번째 방법은 white-box attack으로써 사용된 T값을 알고 있다는 전제를 두고있다.
JSMA
먼저 JSMA-F는 L-BFGS와 같은 이유로 attack에 실패한다. 또 다른 방식인 JSMA-Z는 softmax가 아닌 logits Z(x)를 사용하기 때문에 이전과 같은 gradient vanishing은 일어나지 않는다고 한다.
먼저 logits Z를 사용하기 때문에 상대적인 효과를 생각해보아야 한다. 예를 들어 설명해보면, logits의 가장 작은 값이 -100이라고 할 때 이는 softmax output이 0에 가깝게 나오고, 이를 다시 -90으로 바꾸더라도 그 결과는 똑같이 0이 될 것이다. 하지만 가장 작은 값이 -10일 때, 이를 0으로 바꾸는 것은 softmax의 output에 큰 영향을 주게 된다. 즉, logits이 매우 큰 상태에서 10만큼 감소될 경우와 작은 상태에서 10만큼 감소되는 경우는 softmax output의 변화에서 매우 큰 차이를 가지게 된다는 것이다.
결국 JSMA-Z란 softmax output이 바뀌는지와 무관하게 픽셀 변화에 따른 logits값의 변화율을 보기 때문에, 커진 logits은 위에서 말했듯이 어느정도의 변화가 있더라도 softmax에 큰 영향을 주지 못해 attack이 실패하는 것이다.
Fast Gradient Sign
FGSM도 마찬가지로 gradient가 대부분 0이 되어 실패한다고 한다. 한가지 특이한 점은 L-BFGS에서 softmax의 logits을 다시 T로 나누어 줌으로써 attack이 동작하도록 만들 수 있었는데 이 방식을 FGSM에 적용했을 때는 여전히 attack에 실패하였다고 한다.
3.2 Applying Proposed Attack

proposed attacks를 defensive distillation에 적용한 결과이다. defensive distillation 논문의 모델을 그대로 사용했고 T=100으로 설정하였다. 이전 attack methods는 defensive distillation에 의해 매우 낮은 attack success rate를 보였는데, proposed attack은 모두 100%의 success rate를 보여준다. 즉 defensive distillation이 attack에 거의 영향을 미치지 못한다는 것이다.
3.3 Effect of Temparature

Defensive Distillation 논문에서는 Temparature T를 높일 수록 attack success rate가 줄어드는 현상을 보였는데, C&W Attack에 에서는 T의 변화가 어떠한 영향을 주는지에 대한 실험이다. 위 그래프는 T의 변화에 따른 distortion 크기를 나타내는데, T와 distortion 크기가 independent한 결과를 보여준다. 즉, distillation temparature T를 높게 주는 것은 neural network의 robustness를 향상시키는 것이 아니다라는 것을 증명한다.
3.4 Transferability

Transferability란, 어떠한 model에서 만들어진 adversarial examples를 다른 model에 적용했을 때도 비슷한 attack 성능을 보이는 성질을 말한다. 이 때, 두 model은 서로 다른 알고리즘과 데이터셋을 사용하더라도 무관하다. 예를 들어, ImageNet으로 학습된 ResNet에 대해서 찾은 adversarial examples를 MNIST로 학습된 DenseNet에 적용시켰을 때 비슷한 attack success rate를 가진다면 이 attack method는 transferability를 가지고 있다라고 말한다.
논문에서는 defense method들이 이러한 transferability에도 강해야 한다고 주장한다. 그렇지 않다면 easy-to-attack model에서 adversarial examples를 찾은 다음에 hard-to-attack model에 적용하여 attack할 수 있기 때문이다. 예로 defensvie distillation을 transferability를 사용해 attack하여 설명한다. 위 그래프는 CW attack의 hyper parameter
이렇게 길고 긴 CW Attack에 대한 리뷰가 끝났다. 이전 Attack methods와 비교해서 강력한 성능을 보이고 더불어 낮은 distortion까지 갖추니 strong attack의 baseline이 될만한 method라는 생각이 들었다. 아쉬웠던 점은
'논문리뷰 > Adversarial Attack' 카테고리의 다른 글
[논문 리뷰] PATCH-FOOL (2) | 2022.11.29 |
---|---|
[논문 리뷰] Towards Evaluating the Robustness of Neural Networks(C&W Attack)(1) (0) | 2022.02.12 |
[논문리뷰] F-mixup: Attack CNNs From Fourier Perspective (2) | 2022.02.06 |
[논문리뷰] Defensive Distillation (7) | 2022.02.05 |
[논문리뷰] Defense-GAN (0) | 2022.01.28 |