Slow is better than NOTHING

적대적 공격(Adversarial Attack)

Defense-GAN : Protecting Classifiers Against Adversarial Attacks USING Generative Models

Jeff_Kang 2020. 1. 20. 21:09
반응형

 

◎ Adversarial Examples?

Machine Learning 에 대한 Adversarial Attack의 중요도와 위험성이 높아져가고 있는 상황에 그에 따른 Defense Machanism들도 등장하고 있습니다. 그 중에서 개인적으로 관심이 있었던 GAN을 이용한 Adversarial Attack 을 막을 수 있다라고 제시한 Defense-GAN 을 알아보도록 하겠습니다. 이 논문은 DNNs(Deep Neural Networks) 가 가지고 있는 적대적 조작의 취약점을 GAN을 이용해 극복하는 내용입니다. 특히, DNN이 많이 사용되는 classification model 의 robustness 를 강조했는데요, 성능도 준수하며 실용적이게 사용될 수 있는 Defense-GAN에 대해 알아보도록 하겠습니다. 

 Adversarial Attack 은 기본적으로 어떠한 정상적인 Input, 예를 들면 Image 에 대하여 특정 Perturbation  δ (Delta) 을 첨가한 합성 이미지로서 육안으로는 구분이 불가능하지만 기존 Classifier를 속일 수 있는 이미지입니다. 이러한 Neural Network의 문제점은 아주 오래 전 부터 제기되어온 문제점인데요, 이러한 문제점 때문에 보안에서 DNN을 이용한 분류 문제들이 많이 등장하지 않고 있는지도 모르겠습니다. 다양한 공격 기법들의 기본적인 가정은 정상적인 데이터 $x$ 에 "어떠한 구별하기 힘든 적대적 노이즈 $\delta$ 를 삽입" 시키는 것입니다. 이를 간단하게 수식으로 표현한다면 다음과 같습니다.

$\hat{x} = x + \delta$

이러한 noise값은 방어자가 탐지하기 힘들게 하기 위해 최대한 작은 값을 설정해야합니다. 최대한 작은값을 갖는 동시에 인간의 지각으로는 탐지가 불가능하며, 가능하면 빠르고 기존의 모델을 충분히 속일 수 있는 능력을 가져야합니다. 따라서, 이 적대적 노이즈를 어떤 것을 쓰느냐는 결국 최적화 문제로 귀결됩니다. 대표적인 AEs 생성 방법에는 FGSM, Carlini-Wagner(CW) 등이 있습니다. 또한 이러한 공격 기법들은 Target이 되는 모델에 대한 정보를 알고 있느냐 없느냐에 따라, White-Box attack vs Black-Box attack으로 분류됩니다. 일반적으로 좀 더 High-level의 공격은 그 어떠한 사전 지식도 없는 상태에서 공격을 수행하는 Black-Box 가 더욱 다루기 힘든 문제로 알려져있습니다. 그 이유는 모든 모델에 General 하게 적용이 가능해야(Transferability)하며, 모델에 대한 사전 지식이 있는 White-Box만큼의 공격 성능을 보여주어야 하기 때문이죠. 따라서 초기 AE에 대한 접근은 주로 모델의 사전 정보(Architecture, Parameters, Weights etc..) 를 알고 있다는 가정하에 이루어진 공격기법들이였습니다. 하지만 이는 특정 모델을 기반으로 하며, 다른 모델에 적용이 불가능하다는 점은 연구에 있어 상당히 큰 단점이였고 많은 연구자들이 모든 DNN에 적용 가능한 공격을 만들기 위해 다양한 distance metric을 연구하고 있습니다. 

오늘 소개할 논문은 Defense-GAN 으로서, 적대적 공격 기법에 대응하기 위해 모델을 더욱 강건하게 만들 수 있는 방어기법에 대해 다룹니다. 물론 이 논문은 개인적으로 실제 적용 가능성에 대해서는 회의적이지만 핫한 키워드인 GAN을 이용했다는 점에서 "어떻게?" 라는 호기심에 이끌려 읽게 된 논문입니다. 

◎ INTRODUCE

 현재까지 등장한 Defense-Mechanism 으로는 (1) Adversarial Training이라고 불리는 방법이 있는데, 이는 Training-Data를 수정해서 Classifier가 adversarial Attack에 robust하도록 최대한 다양한 perturbation을 학습하도록 하는 방법입니다. 이 방법은 Adversarial Examples 를 생성해서 training data에 augmentation 시켜주는 것인데, 정말 직관적으로 생각해보면 adversarial Attack을 잘 분류하지 못하니 애초에 훈련 단계에서 부터 adversarial Examples를 넣어서 이 공격에 대해 robust한 모델을 만들어 보자라는 개념입니다. [1]  그 외 Classifier의 Training Procedure를 수정하는 Defensive distillation 방식[2] 과 input sample에 대한 adversarial noise를 제거하여 분류 단계에서 adversarial Attack에 대한 위험성을 줄여주는 방식 등 다양한 방법론들이 연구되고 있습니다.  하지만 이러한 연구들의 한계점이라고 한다면 White-Box Attack 또는 Black-Box Attack 한 가지에 대해서만 공격이 가능하며, 특정한 모델을 염두해두고 진행되는 공격들이라는 점입니다. 따라서 새로운 attack strategy 에는 취약할 수 밖에 없습니다. (일종의 Zero-day 공격)

 들어가기에 앞서 먼저 Defense-GAN(이하 D-GAN)에 대해 소개드리면, DGAN의 모델은 unperturbated images의 distribution을 이용하여 훈련되어 집니다. Class 추론 단계에서 adversarial change가 포함되지 않은 주어진 이미지에서 Class에 가까운 output 을 찾습니다. 그리고 이 output을 다시 classifier에게 feeding 해주는 구조입니다. D-GAN은 white & black box attack에 대해 모두 robust함을 증명하고 있는데요, output 에 대한 projecting 이라는 추가적인 절차를 삽입하는 것이기 때문에 분류기의 구조나 훈련 절차를 전혀 수정하지 않아 대부분의 분류 모델에 적용이 가능할 뿐만 아니라 adversarial example 을 생성하는 특정 공격 전략에 대해 가정하고 있지 않기 때문에 범용성이 높은 defense-mechanism이라고 할 수 있습니다.

 일반적으로 생각되는 GAN의 Generator에 의해 생성되는 Sample은 Real Image를 최대한 모방하기 위해 Real like한 output을 만들도록 노력합니다. 그러므로 Real Image는 Generator 에 의해 생성되는 이미지와의 손실값이 크지 않을 것입니다. 하지만 adversarial Examples은 Generator의 범위로 부터 많이 떨어진 이미지일 것입니다. 그러므로 Gradient Descent 방식에 의해 생성된 Adversarial Example을 Generator의 Layer에 projecting 해준다면 Classifier가 adversarial perturbation에 대해 발생할 수 있는 Misclassification같은 영향을 감소시킬 수 있을 것이라는 내용입니다.  아래의 그림은 D-GAN의 Architecture입니다. 
Random noise 를 주었을때 generator로 부터 생성된 수많은 $z_{n}$ 중에서 real data $X$ 를 projecting 하여 가장 작은 값을 갖는 $Z^{*}$ 을 찾습니다.  $L_{2}$ norm 을 이용하여 최소값을 찾는 최적화 문제를 해결한다는 점에서 이 방법은 다소 'denoising' 에 가까운 방법으로 생각됩니다. 
$L_{2}$ norm 은 euclidean distance 를 측정합니다. 즉, 두 입력 값의 root-square-mean value 입니다. 

 

◎ DEFENSE-GAN

GAN의 이론에 따라, 잘 훈련된 생성자(Generator) 와 차별자(Discriminator) 는 각각 진짜같은 가짜를 만들어낼 수 있고 가짜와 진짜를 잘 구분할 수 있는 능력이 있습니다. 

생성자의 관점에서, 충분한 능력을 갖고 있는 생성자는 진짜같은 가짜일 것입니다. 이 말은 간단하게 가짜와 진짜의 차이가 0에 가까워 진다고 볼 수 있습니다. 반대로 생각하면 어떠한 적대적 노이즈가 삽입 된 $\hat{x}$ 는 원본 이미지와 0보다 큰 값의 차이가 생길 것입니다. 

D-GAN에서는 test-time 에서 어떤 입력 값을 주기 전에 충분히 잘 훈련된 생성자에 이 입력값을 projecting 함으로써 adversarial noise에 대한 영향이 줄어들 수 있음을 주장하고 있습니다. 

$\min_{z} ||G_{z}-x||^{2}_{2}$

하나의 가정을 해보겠습니다. 만약, 적대적 노이즈를 포함하고 있는 어떠한 공격값 $\hat{x}$ 이 입력되었다고 했을때, 이론상 잘 훈련된 생성자는 원본 이미지 $x$ 를 표현할 수 있는 최적의 값을 알고 있습니다. 따라서 생성자로 부터 생성된 다양한 $G(z)$ 중 공격값 $\hat{x}$ 와 가장 차이가 적은 값을 나타낼 수 있는 $z^{*}$을 선택하여 reconstruction(재건축) 하게 된다면, 적대적 노이즈로 인한 영향력이 감소되는 것입니다. 즉, 이 논문의 가장 큰 핵심은 GAN의 생성력을 이용하여 최적의 $z^{*}$을 찾는 것입니다. 
심플한 아이디어 입니다. 하지만 그 영향력은 전통적인 방어 기법에 비해 괄목할만한 성능을 보여주었습니다. 성능을 보여드리기에 앞서 저자들이 주장하는 D-GAN의 Contribution은 다음과 같습니다.

  • 기존의 분류기를 수정할 필요 없습니다. 
    - 이는 일종의 전처리(pre-processing) 과정으로서, 분류기에 입력 값이 입력되기 전 GAN의 생성자를 이용해 adversarial noise의 영향력을 감소시킵니다.
  • 만약, GAN이 충분한 Capacity(능력)을 가지고 있다면 원본 분류 성능에 악영향을 미치지 않을 것이며 re-training도 필요하지 않다.
    - 이론적으로 잘 훈련된 GAN이라면 진짜같은 가짜를 만들어낼 수 있으므로, 진짜 값이 들어와도 pre-processing에 의한 side-effect(부작용)이 생기지 않을 것입니다. 여기서 부작용이라 하면, 원래는 고양이라고 잘 분류하던 사진을 pre-processing이 추가됨에 따라 고양이라고 더이상 분류하지 못하게 되는 상황을 일컫습니다. 또한, adversarial training의 경우 모델의 분류 성능에 악영향을 미치는 잠재 원인들을 알아내어 이들은 re-training(재훈련) 시키는 과정을 택하였는데 이는 기존의 모델의 정보를 변경한다는 점에서 일반적으로 사용되기에 조금 힘든 점이 있었습니다.
  • D-GAN은 어떠한 공격에도 적용이 가능합니다. 이 모델은 어떠한 모델을 대상으로 한 것이 아닌 White box, Black box 공격을 모두 가정하고 있습니다. 
  • GAN의 높은 비선형성 때문에 White-Box 공격을 적용하기 어렵습니다.
    - GAN은 훈련시키기 어려운 것으로 악명이 높습니다. 이는 매우 비선형적인 특징을 많이 가지고 있기 때문인데요, 이는 반대로 생각하면 White-box attack에서 그 모델 정보를 알더라도 너무 복잡하기 때문에 그 모델을 공격하는 과정 또한 상당히 복잡한 최적화 문제가 됩니다. 예를 들어, 아래의 그림과 같은 linear decision boundary가 있을때, adversarial example은 어떠한 perturbation $\delta$ 에 의해 기존에는 저 decision boundary 아래에 있는 주황색 sample이 초록색 sample 경계로 넘어가게 되어 분류기로 하여금 잘못된 판단을 일으키도록 하는것입니다. 하지만 파란색 곡선처럼 decision boundary가 non-convex 형태로 상당히 복잡한 형태를 가지고 있다면, 최적의 perturbation을 찾기 위한 공격 모델은 decision boundary를 넘기기 위한 방향을 찾기 더욱 어려워 질 것입니다. 이는 차원이 높아질 수록 계산 값이 기하급수적으로 높아지게 됩니다.

 

◎ PERFORMANCE

실험에 대한 가정은 black-box attack 입니다. black-box attack에서 공격자는 Target에 대한 어떠한 정보도 없으며, substitute model(대체 모델) 을 훈련시킵니다. 상당히 제한적인 데이터셋을 사용함은 물론이며, 대체 모델은 원본 모델과 구조가 상당히 다를 수도 있습니다.

아래의 표는 FGSM을 이용하여 Black-Box attack을 시도한 결과입니다. 공격을 하지 않았을 때 (No attack) MNIST dataset에 대해 99% 이상의 정확한 분류율을 보여주었던 모델이 같은 모델이 아닌 다른 모델에 대해 FGSM을 적용하여 많게는 80%가까이 성능을 떨어뜨리기도 합니다. 그 중에서 3번째 행 "B/B와 B/E"는 눈에 띄는 성능 변화를 보였는데 "B/B"는 white-box attack으로도 볼 수 있습니다. 또한 B/E가 성능 변화가 다른 실험군에 비해 편차가 심한 것으로 보아 B와 E는 모델의 구조가 비슷함을 유추할 수 있습니다. 
3번째 열 이하는 Defense-Mechanism을 적용한 결과입니다. MagNet, Adversarial Training을 적용한 결과는 D-GAN에 비해 높은 성능을 보여줄때도 있었지만 그 차이가 심하지 않으며, 분류기에 따라 일정하지 못한 성능을 보여주고 있습니다. 이에 반해 D-GAN은 일정하게 모든 분류기에서 높은 성능을 보여주었습니다.

Classification Accuracies of different classifier models using various defense strategies on the MNIST dataset

 

보다 명확한 분류 성능 비교를 위해 FGSM, RAND+FGSM, CW 3가지 공격 기법에 대해 그 성능 비교를 시도하였습니다. 여기서 주목할 점은, Adversarial Training 과 FGSM은 Target을 가정한채로 진행된다는 점에서 한계가 있다는 것입니다. 즉 FGSM은 대상이 되는 모델이 있어야하며 Adversarial Training도 대상이 되는 모델이 있어야합니다. 이는 적용 가능성이 떨어짐을 의미하며, 이 공격에는 강하지만 다른 공격에는 취약함을 의미하기도 합니다. 이러한 맥락에서 FGSM에서는 높은 성능을 보여주었던 Adversarial Training이 CW attack(White-Box attack의 일종)에서는 좋은 성능을 보여주지 못하기도 합니다. 
반면에, D-GAN은 어떠한 공격기법(Black or White) 에도 일정한 성능 향상을 보여주었고 MNIST보다 차원이 더 높은 F-MNIST Dataset에서도 Adversarial Training에 비해 원본 모델의 resilience(탄력성)을 상당히 잘 보장해주는 것을 알 수 있습니다. 


Resilience = (No attack 값 - Defense-GAN-Rec) vs (No attack - Adv.Tr.), 
값이 작은 것이 높은 resilience를 가진다고 볼 수 있습니다

Classification Accuracies of different classifier models using various defense strategies on the MNIST(TOP) and F-MNIST(BOTTOM) dataset

◎ DISCUSSION

D-GAN은 분명 전통적인 Defense-Mechanism 에 비해 괄목할 성능을 지닌 것은 사실입니다. 하지만 서두에서 말한것처럼 적용 가능성에 대해 회의적이라는 것은 그 전제가 'GAN' 이기 때문입니다. 이 논문의 Contribution 중 하나가 GAN의 높은 비선형성이 white-box 공격의 위험성이 상대적으로 적다 인데, 이는 모순적인 부분으로 반대로 생각하면 그만큼 훈련시키기도 어렵다는 것입니다. 따라서 저자들도 논문에서 모든 가정을 "if the GAN has enough capacity" 라고 합니다. 잘 훈련된 GAN에서는 본 논문과 같은 general 한 성능을 보여줄 수 있겠지만, 그렇지 않다면 적용된 pre-processing에 의해 원본 분류기의 성능을 오히려 악화시키는 현상이 발생할 수도 있습니다. prior distribution 이 있는 VAE와는 다른 맥락으로 GAN은 random noise가 seed됨으로써 생성자에 의해 새로운 데이터가 generation되는 것입니다. 이 생성된 데이터는 기존 data distribution에서 파생된 것이지만 원본 데이터셋에는 존재하지 않는 데이터일 수 있습니다. 그러므로 "enough capacity"에 대한 정량적인 평가가 진행된 GAN 모델에 대해 성능평가가 되었다면 적용 가능성에 대해 보다 신뢰할만한 판단을 내릴 수 있을 것으로 생각됩니다. 
또한 구조적으로 적용 도메인에 대한 한계점이 있습니다. 자율주행차에 대한 적대적 공격을 막기 위한 Defense-mechanism으로 이 D-GAN을 사용한다면, pre-processing으로써 re-training이 필요하지 않다라는 점은 real-time에 적용되기 상당히 좋은 구조를 가지고 있습니다. 하지만 충분히 훈련된 모델이 이미 존재해야된다는 관점에서, 자율 주행을 하고 있는 자동차로 부터 Real-World의 모든 입력값을 가진 모델을 훈련하는 것은 상식적으로 불가능합니다. 이러한 도메인에서 GAN의 적용 가능성은 반드시 고려해보아야할 문제입니다.

 

반응형