개발로 하는 개발

Adversarial Attack 논문 정리 및 리뷰 1 본문

Study

Adversarial Attack 논문 정리 및 리뷰 1

jiwon152 2024. 3. 8. 18:18

adversarial attack 예시 - 출처 : EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES https://arxiv.org/pdf/1412.6572.pdf

1. Towards Deep Learning Models Resistant to Adversarial Attacks

Adversarial Attack

: inputs that are indistinguishable from natural data and yet classified incorrectly by the network

-> deel learning model의 inherent(고유의, 타고난) weakness일 수도

Robust Optimization의 관점에서 adversarial robustness of neural network에 접근

 

- adversarially chosen inputs vs benign inputs

: benign input은 classify를 제대로 하는데, 인간 눈으로는 식별할 수 없는 변화가 있었을 때 adversarially chosen input은 classify를 제대로 못하는 경우가 있다.

 

기존 adversarial robustness의 문제점

given attack이 "most adversarial"한 지 알 방법이 없다. 또는 다른 연구들의 특정 defense mechanism이 다른 well-defined class of adversarial attack를 잘 막아내는지 알 방법이 없다.

 

Contribution

1. natural saddle point formulation(min-max)를 사용해서 adversarial attack을 막아내려고 시도하는데, 이 formulation에 대한 landscape optimization을 연구한다. convex하거나 concave하지 않은(formulation이 오목하거나 볼록해서 최대최소가 명확하지 않은) 경우에도 first-order methods를 이용해서 optimization 문제를 reliable하게 해결할 수 있다는 것을 증명한다.

- PGD(projected gradient descent)가 "reliable first-order adversary" -> strongest attack utilizing the local 도함수(미분 1번) information about the network라는 내용을 증명한다.

2. adversarial robustness에 있어서 model capacity가 큰 것이 좋다는 것을 확인하였다. 즉, benign data point를 단순히 decision boundary로 나누는 것보다 saddle point problem의 robust한 decision boundary를 찾는 것은 더 복잡하다는 것을 뜻한다.

3. MNIST, CIFAR-10에 대해 train 시킨 network가 상당히 robust한 결과를 낸다.

 

Optimization view on Adversarial Robustness

우선 adversarially robust한 model이 가져야 하는 concrete guarantee를 먼저 세우고, 그에 맞게 training method를 adapt하자.

1. attack model을 구체화해서 concrete guarantee의 기준을 세우자. Explaining and Harnessing Adversarial examples라는 ICLR 2015 논문에서 adversarial peturbation의 natural notion으로 제시된 $l_{\infty}-ball$을 기준으로 $l_{\infty}-bounded\,attack$을 상대로 한 robustness에 중점을 둔다.

여기서 $l_{\infty}-ball$은 각 data point x에서, 허용되는 오차범위를 allowed peturbation $S \subseteq \mathbb{R}^{d}$라는 집합으로 표현했을 떄, 이 S를 정하는 기준이라고 보면 될 것 같다.

fundamental tension between designing models that are easy to train due to their linearity and designing models that use nonlinear effects to resist adversarial perturbation
- EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES

2. population risk $\mathbb{E}_\mathfrak{D} \left[ L \right]$을 아래 식처럼 modify 해서 위의 adversary 계산식을 incorporate한다.

$\underset{\theta}{min}\rho(\theta),\: where \; \rho(\theta) = \mathbb{E}_{(x,y) \ sim \mathfrak{D}} \left[ \underset{\delta \subseteq S}{max}L(\theta, x + \delta, y) \right]$

식에서 보면, 바로 distribution $\mathfrak{D}$를 loss $L$에 사용하는 대신, delta를 사용해서 augment한 식을 input처럼 사용하고 있는 것을 볼 수 있다.

 이 식을 통해 inner maximization problem + outer minimization problem을 둘 다 포함하는 saddle point problem에 대한 해석을 할 수 있게 해주고, ideal robust classifier의 목표 겸 quantitative measure를 구체화 해준다는 장점이 있다.

 

 기존의 attack method로는 우선,

 FGSM(Fast Gradient Sign Method)가 있는데, 이 방식으로 생성되는 adversarial example 은

$ x + \epsilon \, sgn(\bigtriangledown_{x} L(\theta, x, y)) $ where $\epsilon$ = magnitude of the peturbation이다.

 PGD(Projected Gradient Descent)는 좀 더 강력한 adversary로, multi-step variant이다.

$x^{t+1} = \Pi_{x+S}(x^t+ \alpha sgn(\bigtriangledown_{x}L(\theta, x, y)))$

 이 식들은 전부 solving the inner maximization problem of the saddle point formulation에 대한 attempt로 볼 수 있다.

 

Towards Universally Robust Networks

 

 

 


2. Adversarial Training for Free!

Robust Classifier

: correctly label adversarially perturbed images / detect and reject adversarial examples

Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples Athalye et al. 2018 https://arxiv.org/pdf/1802.00420.pdf

 

 기존의 allegedly robust하다고 하던 defenses를 전부 위 연구에서 broke하여서 남은 것이 위의 adversarial training ( Towards Deep Learning Models Resistant to Adversarial Attacks) 논문이였다. 그렇지만 이 adversarial training을 이용해서 robust한 network를 train시키는 것은 기존의 benign 한 data에 대한 classifier를 만드는 것보다 3~30배 이상의 시간이 걸린다. (peturbation generation 중 gradient computation 과정에서의 계산 때문)

 

Adversarial training의 peturbation generation 과정을 대체하기 위한 방법과 문제점

1. parameterized generator network

: slower than standard training, problematic on complex datasets

2. regularize the training loss using label smoothing, logit squeezing, or a Jacobian regularization

: not applied to large-scale problems

 

Contribution

1. fast adversarial training algorithm with almost no extra cost ( to natural training)

: model parameter와 image perturbation을 동시에 하나의 backward pass로 사용해서 update한다.

: CIFAR-10, CIFAR-100에 train한 robust model이 PGD attack에 대해서 conventional adversarial training 모델들과 비슷하거나 더 나은 결과를 보인다.

: ImageNet classification task에 대해 40% accuracy 기록. non-targeted formulation에 대해 robust한 model을 traing하고  competitive한 결과를 낸 첫 메소드이다.

 

Non-targeted adversarial examples

- classification에서 non-targeted와 targeted adversarial의 차이는 natural class에 있는 example을 다른 class로 sneak해 넘길 때, 그 새롭게 넘겨서 정의되는 class를 정하는지 유무에 따라 달려있다.

Adversarial goals • Targeted attacks are the attacks where the attacker tries to misguide the model to a particular class other than the true class. Untargeted attacks are the attacks where the attacker tries to misguide the model to predict any of the incorrect classes.
- Untargeted, Targeted and Universal Adversarial Attacks and Defenses on Time Series 

 

- bounded non-targeted adversarial example 생성 방법

Fixed classifier(with parameters $\theta$, an image $x$, true label $y$, classiffication proxy loss $l$) 가 있다고 가정했을 때,

$\underset{\delta}{max} \: l(x + \delta, y, \theta), \; subject \, to \left\| \delta \right\|_{p} \leq \varepsilon \,$

를 solve해서 non-targeted adversarial example을 생성한다.

원 이미지 $x$에 대해서, $x+ \delta$를 사용하는 결과를 나오게 하는 것으로( $\delta$ = adversarial peturbation, $\left \| \cdot \right\|_{p} = l_{p} $-norm distance metric, $\varepsilon$ = adversarial manipulation budget), 적당한 크기의 manipulation budget을 기준으로, 그 budget을 벗어나지 않는 한도 내에서 $\delta$를 더하게 된다. 

 

- 결론적으로, 이 non-targeted adversarial examples을 robustness evaluation과 adversarial training에 둘 다 사용하겠다는 내용이다. 

 

Adversarial training

- hardening models by producing adversarial examples and injecting them into training data

- min-max formulation of adversarial training (Towards Deep Learnings Resistant to Adversarial Attacks, Madry et al. 2017, 이 블로그 첫번째 논문)에 집중해서, K-PGD adversarial training algorithm을 보면, natural training에 비해 K+1 배의 computation이 더 필요하다.

 

"Free" Adversarial training