[논문리뷰] F-mixup: Attack CNNs From Fourier Perspective

2022. 2. 6. 18:15논문리뷰/Adversarial Attack

오늘은 Fourier 관점에서의 attack논문인 F-mixup을 살펴보겠다. 나중에 보면 알겠지만 이 논문의 방식은 이전 리뷰한 Amplitude-Phase Recombination논문과 매우 유사하다. 

https://aistudy9314.tistory.com/50

 

[논문리뷰] Amplitude-Phase Recombination

요즘 딥러닝과 forier domain 사이의 관계 또는 조합 관련하여 논문을 읽고 있는데, 그 중 흥미로운 논문 하나를 리뷰하려고한다. https://arxiv.org/abs/2108.08487 Amplitude-Phase Recombination: Rethinking R..

aistudy9314.tistory.com

 

한번 살펴보도록 하자!

https://ieeexplore.ieee.org/document/9412611

 

F-mixup: Attack CNNs From Fourier Perspective

Recent research has revealed that deep neural networks are highly vulnerable to adversarial examples. In this paper, different from most adversarial attacks which directly modify pixels in spatial domain, we propose a novel black-box attack in frequency do

ieeexplore.ieee.org


1. Adversarial Attack

Adversarial Attack은 하도 많이 설명해서 신선함을 주기 위해 이미지를 바꾸어보았다 ㅎㅎ.. 

 

Adversarial Attack이란, 어떤 well-trained neural network가 존재할 때 이미지에 매우 작은 perturbation을 가함으로써 network가 잘 동작하지 못하도록 만드는 것을 말한다. 이는 딥러닝을 real-world application으로써 사용할 때 보안적으로 문제를 일으키게 된다.

 

흔히 Adversarial Attack을 white-box, black-box 2가지로 크게 분류하는데, 논문에서는 gray-box라는 개념을 새로 추가하였다.

  • white-box attack: parameters, architecture를 포함하여 target network에 완벽한 access가 가능한 상태에서의 attack.
  • gray-box attack: output probabilities와 같은 partial information 정도만 access가 가능한 상태에서의 attack
  • Black-box attack: 오직 target model에 주어진 label만 access 가능한 상태에서의 attack.

논문 저자는 대부분의 well-developed attacks이 white-box attack이고, black-box attacks이라고 알려진 여러 기법들(ex. one pixel attack, query-limited and simple black-box attacks)들은 실제로 gray-box attacks이라고 주장한다.

**output probabilities(softmax output) 또한 network에대한 knowledge라고 생각할 수 있으니까 완벽한 black-box attack이라고는 볼 수 없다.

 

2. Motivation

Natural Image

natural image란, 그냥 단순하게 실제로 자연에 있을 법한 이미지를 말한다. 사진으로 자연 또는 물체, 동물을 촬영한 것은 natural images라 볼 수 있고, 이외에 적외선 이미지, 열화상 이미지 등 일반적이지 않은 이미지를 unnatural image라 한다.

 

이러한 Natural image들이 가지는 특성들이 몇가지 있는데, 그 중 하나가 Fourier spectrum이 대부분 low frequency에 집중되어있다는 것이다. 

**너무 자세한 내용은 범위를 넘어가므로 생략하겠다.

 

Human Visual System(HVS)

HVS는 사람의 시각체계를 의미한다. 사람은 어떠한 이미지를 볼 때 low frequency보다 high frequency 성분에 less sensitive하다.

complex texture image

 간단한 예로, 위와 같이 texture가 복잡한 이미지에 어떠한 노이즈를 준다고 하더라도 사람의 눈은 그 변화를 눈치채기 어려울 것이다.

 

Convolutional Neural Network(CNN)

반대로 CNN은 학습하는 과정에서 low frequency와 high frequency 정보를 모두 사용하여 decision making을 한다. 이전에 나온 몇 개의 논문들에서는 CNN이 high frequency 변화에 sensitive하기 때문에 adversarial attack 현상이 존재한다고 설명하기도 한다.

**실제로 adversarial attack은 보통 high frequency domain에 더 집중하는 경향이 있다.

Proposed Attack

따라서 이 논문에서는 low frequency 성분은 유지하고 high frequency 성분만 수정함으로써, 사람의 눈에 잘 보이지 않으면서 CNN이 잘못된 decision을 만들어내도록 하는 attack을 제안한다. 또한 high frequency 성분에도 유용한 정보(CNN의 Decision making에 영향을 주는)가 담겨있기 때문에 target image의 high frequency 성분과 다른 클래스를 가진 image의 high frequency 성분을 교체함으로써 model이 더 잘못된 예측을 하도록 야기한다.

**다른 클래스의 High frequency 성분에는 그 클래스에 대한 정보가 담겨있을 것이기 때문에!

 

또 하나의 이점으로, 대부분의 black-box attack들이 substitue model(white-box attack이 가능한)에서 attack을 찾은 후에 transferability를 이용하여 target model 적용하는 방법을 사용했는데 이 논문에서는 이러한 substitute model을 사용하지 않는다. 

 

대신에 class i를 가지는 이미지의 high frequency 성분을 class j를 가지는 다른 이미지의 high frequeny 성분으로 대체함으로써 attack을 한다. 

 

직관적으로 그래프를 이용해 보여주고 있는데, target image $x_1$과 replace image $x_2$가 있다고 해보자. 이 둘은 각 각 다른 class를 가지는 이미지이고, $xh_i$는 high frequency 성분, $xl_i$는 low frequency 성분을 의미한다. 그리고 회색 영역은 $x_1$이 제대로 분류되어지는 domain이고, 그 외는 boundary를 벗어나는 영역이다.

 

위 이미지를 보면 $xl_1$과 $xh_2$를 더함으로써(vector 합으로 표현) boundary를 벗어나 misclassify되어지고 기존의 boundary와 그리 멀리 떨어져있지 않기 때문에 HVS는 기존 이미지 $x_1$과 잘 구별하지 못하게 된다.

 

3. F-mixup

 

$$f_k = FFT(x_k)$$

$$fl^r_k, fh^r_k=lp_r(f_k), hp_r(f_k)$$

$$xl^r_k, xh^r_k=IFFT(fl^r_k), IFFT(fh^r_k)$$

 

방법은 이미 다 설명한거나 마찬가지이다. 먼저 target 이미지 $x_i$와 replace 이미지 $x_j$를 모두 Discrete Fourier Transform을 한다. 그다음 $f_i$에는 Band Stop Filter를 거쳐서 low frequency 성분만을 남기고, $f_j$는 Band Pass Filter를 거쳐 high frequency 성분만 남긴다. 이제 이 둘을 합쳐주고 Inverse FFT를 통해 이미지를 복원해주면 끝이다.

 

여기서 hyper-parameter로 $r_h=\frac{2R_h}{M}, \ r_l=\frac{2R_l}{M}$를 정해주어야 한다. 이 둘은 low pass filter(band stop filter)와 high pass filter(band pass filter)를 만들 때 어느정도의 반지름을 가질 것인지를 결정한다. 

$$R_h=(M/2) * r_h, \ R_l=(M/2)*r_l$$

**M은 이미지의 height

 

$$fl^r_k(i,j) = f_k(i,j) \  \ if \frac{2d((i,j),(c_i, c_j))}{m} \le r \  \ else \ 0$$

$$fh^r_k(i,j) = 0 \  \ if \frac{2d((i,j),(c_i, c_j))}{m} \le r \  \ else \ f_k(i,j)$$

 

논문에서는 $r_h=\sqrt{2}$로 고정하고 $r_l$만을 바꾸어 사용한다고 한다. 위 예에서는 $r_l=0.4$이다.

 

헷갈리는 부분

위 이미지 예제를 보면 Fourier domain에서 합쳐져서 IFFT로 최종 output을 내보내는 것처럼 나오지만 알고리즘을 보면 $xl^r_k$와 $xh^r_k$를 합치기 전에 IFFT를 먼저 한 후에 더해주는 것을 볼 수 있다.

 

이전에 이와 같은 내용이 언급된 것으로 보아 IFFT를 하고 나서 합치는게 맞는 알고리즘인 것같다. 뭐 근데 FFT하고 IFFT는 모두 linear function이라 두 방법 모두 맞다고 볼 수 있다. 

 

그리고 알고리즘을 조금 더 살펴보면, $d(xm^r_{k,j}, x_k) \le d_t$는 $L2$ distance이며 adversarial perturbation은 사람의 눈에 띄지않을 정도로 작아야 하기 때문에 그 크기를 제한하는 부분이다. 또한 마지막에 $\tilde{x}^r_k \leftarrow argmin_{x\in \tilde{x}^r_k} d(x, x_k)$부분이 있는데, 이는 한 이미지의 low frequency 성분에 대해서 여러 가지 이미지의 high frequency 성분을 대체해보기 때문에 이 중 가장 작은 distance를 뽑아내는 과정이라고 보면 된다.

 

Sensitivity of network depth to high frequency information

 

논문에서 r($r_l$)을 바꾸어가면서 network의 depth와 high frequency와의 관계를 실험하였는데, 기본적으로 r이 작아지면 error rate가 급격하게 높아지는 양상을 보인다. 여기서 r은 $r_l$을 나타내므로 작아지면 그만큼 다른 class 이미지의 high frequency정보가 많이이 더해진다는 것이고, 반대로 커지면 적게 더해진다는 의미이다. 

**이는 target 이미지 관점에서는 반대가 된다.

 

그래프를 더 자세히 살펴보면, depth가 높은 순서대로 r의 변화에 따른 변동성이 큰 것을 알 수 있다. 이는 deeper model이 high frequency 더 sensitive하다는 의미가 되고 이는 이 논문에서 이야기한 가설들에 들어맞는다.

**딥러닝 모델이 high frequency 정보에 더 집중하여 decision making을 한다는 부분.

 

4. Experiments

다른 attack과 비교하는 등의 여러 실험을 하였는데 간단하게만 살펴보도록 하자!

 

먼저 FGSM과 비교한 결과(왼쪽)를 보면 $L2$ norm 1.5를 기준으로 성능이 뒤바뀌는 경향을 보인다. 개인적으로 FGSM과만 비교하는 것을 보아서 다른 attack method들에 뒤쳐지는 성능을 얻지 않았을까 하는 생각이든다. 하지만 완전한 black-box attack라는 관점에서 보면 그렇게 나쁘게 볼 수만은 없는 것 같다.

 이번엔 다른 black-box method들과 비교한 표이다. 오...솔직히 모르겠다...query의 개수가 200일 때 성능이 좋다 이외에는 SimBA가 더 좋은 알고리즘인 듯한....

 

 

마지막으로 F-mixup을 활용하여 Augmentation 기법을 소개한다. 

random f-mixup은 f-mixup 결과를 데이터셋에 섞는 것이고 low pass filter는 이미지의 low frequency 정보만 가지고 있는 이미지를 섞는 것, 마지막으로 random disturb는 low frequency 성분은 가만히 두고 high frequency 성분만 랜덤하게 disturb하는 방법이다.

 

그래프를 보면 모든 test set에서 random f-mixup이 다른 method들에 비해 robust한 것을 볼 수 있다. 근데 natural 이미지가 어느 순간 부터는 가장 높은 accuracy를 보인다....뭔가 애매한 느낌. 

 


방법 자체는 매우 직관적이라는 생각이 든다. 방법이 어렵지도 않고 네트워크에 대한 access를 할 필요도 없기 때문에 완전한 black-box attack이라고 말할 수 있겠다. 하지만 experiments부분이 아무리 봐도 너무 빈약하다....강하다는 PGD나 CW attack 등과의 비교도 없고, 결과들이 애매모호한 느낌을 받는다....