-
[NIPS2021]Denoised Smoothing: A Provable Defense for Pretrained Classifiers논문&부가지식 2021. 1. 11. 14:50
AI & Security study의 2주차에서 다룬 논문.
Abstract & Introduction
딥러닝 분류기는 발전해왔는데 adversarial attack이 들어가면 성능저하 심하다는 점. 이 논문의 시나리오는 배포된 분류기를 robust하게 만들고 싶은데 retrain하기에는 비용도 많이 들고, 이러한 수동적인 학습은 다른 공격에 취약하기 때문에 generalization이 떨어진다는 것이 문제이다. 그래서 이 논문에서는 2가지 시나리오를 제시. 첫번째는 기존의 모델에 접근할 수 있는 white box, 두번째는 주어진 모델이분류만 할 수 있도록 모델 내부에는 관여하지 않는 black box를 제시. 물론 white box가 더 나은 성능을 낼 수 있다. 또한 모델의 재 훈련은 최소화하기를 원함.
Denoised Smoothing
Background for Randomized Smoothing
먼저 이 방법론을 이해하려면 배경지식으로 Randomized Smoothing을 먼저 보자. 일단은 구글링해도 자세히 나오는 설명이 없어 이 논문에서만의 설명만 쓴다. $ f : given classifier, g : robust된 classifier $ 일 때, $$ g(x) = argmax_{c \in \mathcal{y}} P[f(x + \delta) = c] \phantom{a} where \phantom{a} \delta \sim \mathcal{N}(0, \sigma^2 I) $$
여기서 $ \sigma $는 robustness와 accuracy의 tradeoff를 조절한다. 즉, 증가하면 robustness가 증가한다.(노이즈가 많아지면 모델이 더 튼튼해진다고 생각. 대신 정확도는 낮아지겠지.)
중간에 얼마나 robust한지를 나타내는 측도가 나온다. 가장 높은 확률을 나타내는 $ p_A $와 두번째로 높은 확률을 나타내는 $ p_B $에 따라서 다음과 같다. $$ R = \frac{\sigma}{2} (\Phi^{-1}(p_A) - \Phi^{-1} (p_B) $$. 내가 이해하기로는 N(0, \sigma^2 I)는 반지름이 $ \sigma $인 원인 노이즈들의 집합이 그려지는데 이 노이즈가 더해지고, $ p_A - p_B $만큼의 robust가 생긴다고 생각. $ \sigma $가 커질수록 robust가 커지므로 비례함.
* 여기서 Monte Carlo sampling을 곁들어 $ p_A $ 와 $ p_B $를 설명하는데 Monte Carlo sampling은 우리가 흔히 아는 무작위 샘플링, 즉, 어떤 확률 공간안에서 막 뽑다보면 대충 윤곽이 그려진다. 이 샘플링으로 계속 뽑다보면 lower bound, upper bound를 추정(estimate)할 수 있다. 지금은 가정을 하는 것이기 때문에 최악의 상황을 가정한다. 즉, 가장 높은 확률과 두번째의 확률의 거리가 가장 작을때를 가정하므로 $ p_A $의 lower bound $ \overline{p_A} $, $ p_B $의 upper bound $ \underline{p_B} $를 가정한 것이다.
Image Denoising: a Key Preprocessing Step for Denoised Smoothing
위에서의 smoothing방법의 단점은 분류기가 미리 gaussian noise augmentation을 적용해야 한다는 것이다. 이 논문에서 제시한 방법론은 이러한 가정이 없어도 된다는 것을 보여준다. 먼저, 주어진 이미지에서 gaussian noise를 제거한다. 다시 말하면, 위의 method는 gaussian noise를 붙인 이미지가 들어오는 것을 예측하고 훈련시키고, denoising smoothing은 아예 이런 경우를 없애는 것이다. 따라서 $ D_\theta : denoiser, f : classifer $라 할 때,
$$ g(x) = argmax_{c \in \mathcal{y}} P[f(D_\theta(x+\delta)) = c] \phantom{a} where \phantom{a} \delta \sim \mathcal{N}(0, \sigma^2 I) $$
위의 식을 보면, robust 분류기 g는 먼저 noise를 제거하고 이것을 다시 기존의 분류기에 넣은 결과의 argmax를 뽑는 분류기이다. 즉 바로 전에 말한 노이즈를 모두 제거한 것을 입력으로 하는 것과 동일하다.
Training the Denoiser $ D_\theta $
denoiser $ D_\theta $를 훈련시키기 위해 loss function 2개를 소개한다.
MSE objective
이 함수는 노이즈가 있는 입력을 디노이즈 하는 것이다. 즉 디노이징의 가장 필수적인 목표라고 할 수 있다.
$$ L_{MSE} = E_{\mathcal{S}, \delta} \lVert {D_\theta (x_i + \delta) - x_i} \rVert _2^2 $$
Stability objective
이 함수는 기존의 분류기의 성능을 떨어뜨리지 않게 하기위함이다. 기존의 분류기가 noise augmentation을 적용했을 때, denoise를 거치면 노이즈가 없는 이미지가 되므로 기존 분류기와는 조금 다른 성질이 되어버린다. 따라서 기존 분류기의 prediction을 따라가는 손실 함수를 만든다.
$$ L_stab = E_{\mathcal{S}, \delta} \ell_{CE}(F(D_\theta(x_i + \delta), f(x_i)) \phantom{a} where \phantom{a} \delta ~ \sim \mathcal{N}(0, \sigma^2 I) $$
$ F(x) $는 기존의 분류기가 argmax를 거치지 않은 값, 즉 확률값이고, f(x)는 원 핫 레이블이다.
Introduction에서 white box, black box 두가지의 시나리오를 가정한다 했는데, white box일 때는 두 손실함수로 denoiser와 classifier를 둘 다 훈련 시키고, black box는 denoiser만 훈련 시킨다. 즉 white box일 때에만 f의 역전파를 열어둔다.
'논문&부가지식' 카테고리의 다른 글
Reducing the Teacher-Student Gap via Spherical Knowledge Distillation (0) 2021.01.20 [ICCV2019] Onthe Efficacy of Knowledge Distillation (0) 2021.01.13 4가지 (Instance, Batch, Layer, Group) Normalization 기법 (0) 2021.01.10 [CVPR2018]MoCoGAN : Decomposing Motion and Content for Video Generation (0) 2021.01.09 [WACV20]Attention-based Fusion for Multi-source Human Image Generation (0) 2021.01.07