FGSM(Fast Gradient Sign Method)
Explaining and harnessing adversarial examples
- ICLR 2015 ACCEPTED
1. Introduction
GAN등 논문으로 저명한 Ian Goodfellow 교수가 Szegedy와 공동 저자로 쓴 Adversarial attack 논문들의 시초격 논문입니다. 지금 adversarial attack이 하는 방법이 대부분 이 논문을 토대로 만들어져있으므로 아주 중요한 논문이라고 할 수 있습니다. FGSM 방법 자체는 매우 간단하지만 논문 안에는 model robustness에 관하여 아주 중요한 내용이 많이 담겨있으므로 꼼꼼히 읽을 가치가 있기 때문에 포스팅합니다.
2. Related Works
사실 이 논문 전에도 왜 딥러닝 모델이 노이즈에 취약한지 설명한 논문은 많았습니다. Szegedy 가 쓴 옛날 논문(Intriguing properties of neural networks)에 의하면 갚은 모델도 adversarial example들에 대해서 취약하다는 걸 발견했고 그 이유를 모델의 비선형성 에서 찾았습니다.(vulnearble to extreme non-linearity) 하지만 본 논문에서는 선형적 모델에서도 adversarial example이 존재하며 우리가 생각하는 활성화 함수의 비선형성은 사실 대단히 선형적인 특징을 띄기 때문에 오히려 모델의 선형성이 원인이라고 얘기하고 있습니다.
3. The Linear Explanation of Adversarial Examples
$w^T (x+w) = w^T x + w^T \eta$
먼저 아주 심플한 linear 모델을 예시로 들어봅시다. $w^T x$라는 선형함수가 있을 때 $x$ 에 $\eta$ 라는 noise를 더해주면 모델의 activation output은 원래 값보다 $w*\eta$ 만큼 더해준 값이 됩니다.
이때 $w$의 평균 길이가 $m$, $w$가 $n$차원 벡터라고 한다면 output은 $m*n$ 만큼 커지는 형태가 될 것 입니다. 따라서 $\eta$값이 같아도 고차원일 수록 activation에 가해지는 변화가 아주 크기 때문에 사람 눈에는 안 보이는 적은 변화라도 결과값은 크게 변한다는 것을 알 수 있습니다.
Adversarial Attack의 목표는 바로 여기서 옵니다. Adversarial Attack은 데이터에 아주 적은 perturbation 을 가해서 output의 값을 크게 변형시켜 원래의 decision boundary를 넘을 수 있도록 합니다. 이때 적은 perturbation에 대한 제약조건이 필요한데요, 왜냐하면 perturbation을 제한하지 않아 엄청 큰 노이즈가 들어갈 경우 당연히 output 값은 크게 변할 것입니다. 따라서 이 제약조건을 결정하는 것이 바로 L-p norm constraint 입니다.
L-p Norm
노름이란 벡터의 길이를 나타내는 방법입니다. FGSM에서는 L-infinite norm을 사용하는데 이는 벡터 안의 element 들의 절댓값 중 가장 큰 값 입니다.
L1 norm을 사용할 경우 적은 픽셀들이 많이 변화하는 방향으로 학습할 것이고, max norm을 사용할 경우 많은 픽셀들이 적게 움직이는 방향으로 학습합니다.
4. Linear Perturbation of Non-linear Models
앞에서 선형적 모델로 실험을 했으니까 이번엔 비선형적 모델을 예시로 들어 설명해보겠습니다. 딥러닝 모델에서 주로 쓰이는 Softplus, ReLU 와 같은 활성화 함수들은 사실 양수 이상의 값이 들어올 경우 거의 선형적인 형태를 띄고 있습니다. 시그모이드도 마찬가지입니다. 0과 1 근처에서는 saturated 된 양상을 보여주지만 이때 미분값은 거의 0에 가까워지므로 가중치 변화가 거의 없다고 볼 수 있습니다. 따라서 모델은 거의 대부분 non-saturated된 영역에서 학습을 하는데 이 또한 매우 선형적이라고 볼 수 있습니다.
5. Fast Gradient Sign Method
앞에서 말한 각 픽셀값의 적은 변화로도 큰 변화를 일으킬 수 있는 특징을 이용하여 adversarial attack을 가할 수 있다. Adversarial Attack 이란 이미지에 사람 눈에는 잘 보이지 않는 적은 noise를 가했을 때 딥러닝의 결과값을 바꾸는 위험한 공격 방법이다. 사람 눈에는 띄지 않는 변화 이기 때문에 어떤 이미지에 적대적인 공격이 가해졌는지 모르는데
Comments