논문

[논문 리뷰/해석] Adversarial Patch (NIPS '17)

PIYA 2021. 12. 19.

 

논문 링크: https://arxiv.org/pdf/1712.09665.pdf

 

 

1. Introduction

    딥러닝 시스템들은 adversarial examples(이하 AEs)에 취약하다. AEs란 입력값에 사람이 인지하지 못할 정도의 조작을 가해 뉴럴네트워크의 예측이 빗나가게 하는 샘플들을 말한다. 이런 AEs들은 픽셀단위로 수정을 가해 얻어낼 수 있다. L-BFGS, Fast Gradient Sign Method(FGSM), DeepFool, Projected Gradient Descent(PGD), 그리고 최근에 제안된 Logit-space Projected Gradient Ascent(LS-PGA)등의 최적화 알고리즘을 통해 AEs들을 만들 수 있다. Jacobian-based saliency map은 이미지 중 적은 수의 픽셀만 수정하여 공격하는 방법이고, 이미지의 고정된 특정 위치에 패치를 붙여 공격하는 방법도 있다.

    AEs들은 현실 세계에서도 나타나고 있다. Kurakin은 AE기법을 사용하여 생성한 이미지를 프린트해도 잘 먹힌다는것을 증명했다. 심지어 조명과 방향이 달라도 잘 작동한다고 한다. Athalye는 3d프린터로 출력한 AE는 방향, 스케일이 다른 경우에도 잘 작동한다는 것을 증명했다. 이들의 연구에서 AEs는 일반적인 이미지에 거의 미미한 노이즈를 더해 디자인했다. 예를 들면 거북이를 총으로 잘못 분류하게 한다던가 하는 식이다. 또, AEs를 통해 생성된 특수 안경을 써서 얼굴인식을 회피하는 연구도 진행되었다. 이렇게 만들어진 안경을 쓰면, 다른 사람으로 오인되는 등의 오분류를 일으킬 수 있다. 최근 Evtimov의 연구에서는 정지 표시판(stop sign)에 스티커를 붙이거나 하여 오분류를 일으키는 증명도 진행되었다. 이러한 공격들의 방어 측면에서는, 작은 perturbation(노이즈)이 가미된 이미지들에 대해 Adversarial Robustness를 증가시키는 방향으로 연구가 진행되어가고 있다.

    대부분의 AEs 기존연구는, 입력 이미지에 대한 변화가 아주 작거나 인지불가능할정도에 국한된다. 본 논문에서는 AEs의 perturbation limit을 제한하지 않을 때 어떤 일이 발생하는지에 대해 다룬다. 이 연구에서는 이미지를 아주 조금, 알아채지 못할 정도로 미미하게 변화시켜 다른 이미지로 속이는 시도를 하는 게 아니다. 대신에 입력 이미지와 무관하게 적용할 수 있는 효과적인 패치를 생성하여 뉴럴 네트워크에 적용한다. 이 패치는 어디에든 적용할 수 있고, 어떤 이미지든 공격자가 의도한 클래스로 분류하게 만들 수 있다. 조명, 카메라 각도, 공격대상의 classifier 모델에 대한 사전지식이 없는 상태에서 진행되는 현실 세계 공격이다.

그림1: VGG16에 대해 white-box ensemble 방법으로 만든 패치를 적용한 모습.

    이 공격이 의미 있는 이유는, 공격자가 그들이 타겟으로 삼는 이미지에 대한 정보를 알지 못해도 된다는 것이다. 출력해서 어디든 사용할 수 있다. 게다가 이 연구는 large perturbation 이미지이기 때문에, small perturbation에 대한 robustness를 강화하는 기존 연구들로는 방어하는데 어려움이 있을 것이다. 실제로 MNIST 데이터에 adversarially trained된 모델들에 대한 최근 연구에서 위와 같이 large perturbation에 취약한 것이 확인되었다.

 

2. Approach

    전통적으로 targeted AEs 공격 방법은 다음과 같다: maximum perturbation \( \varepsilon \) 범위 내에서, 원본값과 조작값의 차이를 \( ||x - \hat{x}|| \le \varepsilon \) 이렇게 제한하며 변경한 이미지 \( \hat{x} \)에 대해 \( \log (\mathbb{P}[\hat{y}|\hat{x}]) \) 를 최대화하도록 하는 입력값 \( \hat{x} \)를 생성한다. 적당한 \(\hat{x}\)를 찾기 위해 공격자는 반복적으로 gradient descent를 수행한다. 이렇게하면 잘 위장된 공격을 할 수 있지만, 공격 이미지에 대한 조작(수정)이 필요한 단점이 있다.

    대신, 이 연구에서는 이미지의 일부분을 완전히 patch로 대신하는 방법으로 공격한다. 이 패치는 어떤 모양이어도 가능하고, 여러 이미지에 대해서 translation, scaling, rotation연산을 통해 학습되어 gradient descent 방법으로 최적화되었다. 특히 너비 w, 높이 h, 채널 c (rgb일경우 3채널)인 \( x\in \mathbb{R}^{w*h*c} \) 에 대해, 패치 어플리케이션 연산 A를 다음과 같이 정의한다: \(A(p, x, l, t)\). 이때 p는 패치, l은 로케이션, t는 rotation 및 scaling을 포함하는 transformation이다. 

 

    본 논문에서는 변형된 패치 \(\hat{p}\)를 얻기 위해서, Athalyte 연구 프레임워크에서의 Expectation over Tranformation(EOT)를 적용했다. 목적함수 Objective function은 아래와 같다.

$$ \hat{p} = arg\ max\ \mathbb{E}_{x\sim X, t\sim T, l\sim L} [\log Pr(\hat{y}|A(p, x, l, t)]$$

X는 트레이닝셋 이미지들이고, T는 transformation 분포, L은 location 분포를 의미한다. 이런 EOT기법은 입력이미지에 대해 적용한 것이므로, 패치의 background에 무엇이 있던 관계없이 잘 작동하게 된다. 이와 같은 점들은 adversarial perturbation과 관련된 기존 연구들과 확실한 차이가 있다. 'Universal perturbation'은 기존 연구에서 논의된 바 있긴 하지만 이미지의 모든 픽셀을 바꿔야 했으며, real world physical attack으로서는 검증되지 않았다.

    또한 본 논문에서는 초기 이미지와 너무 많이 바꾸지 않기 위해 \( ||p-p_{orig}||_\infty < \varepsilon \)와 같은 조건을 걸어 훈련한다. 기존 패치 \(p_{orig}\)와 새로운 패치 \(p\)의 차이가 입실론보다는 작도록 파라미터를 트레이닝한다. 이렇게 생성된 패치는 \(p_{orig}\)이 \(L_{\infty} \)norm에서 \(\varepsilon\) 내에 위치하도록 한다.

    우리는 이 공격이 이미지 분류 작업이 행해지는 과정에 적용된다고 생각한다. 한 이미지 내에 여러가지 오브젝트들이 있을 수 있는데, 하나의 레이블만이 정답으로 나오게 되므로 뉴럴 네트워크는 이미지 프레임 내에서 가장 두드러진 오브젝트 1개를 인식하게 된다. 즉 Adversarial Patch는 해당 아이템이 현실 세계보다 더욱 두드러지는 방향으로 만든다고 볼 수 있다. 예를들어 object detection 모델을 공격할 때, '토스터' 패치는 이미지의 다른 부분에 영향을 미치지 않고 토스터로 분류하게끔 만든다.

 

 

 

 

3. Experimental Results

    이 공격을 테스트하기 위해 1개의 control patch에 대하여 2개의 화이트박스 공격, 1개의 블랙박스 공격을 비교했다. 첫번째 whitebox ensemble attack은 한개의 패치를 5개의 ImageNet 모델에 대해 학습시킨다: inceptionv3, resnet50, xception, VGG16, VGG19. 그리고 5개의 모델에 대한 성공률을 평균내서 성능을 측정했다. 두번째 whitebox single attack은 같은 방식이지만 1개 모델에 대해서만 학습하고 성능측정한다. 세번째 blackbox attack은 4종류의 ImageNet 모델에 트레이닝시키고, 트레이닝시키지 않은 나머지 한개의 모델에 성능을 측정한다. 실험 대상 패치는 토스터다.

    training과 evaluation과정 중에, 패치는 rescale되기도 하고, 무작위 ImageNet 이미지의 랜덤한 위치에 삽입된다.

    패치의 크기는 whitebox 세팅(고정위치 단일 이미지)에 non-targeted 공격을 행할 때보다, universal setting(무작위 변형에 랜덤 이미지, 블랙박스상황)에 targeted attack을 행할 때 모델을 속일 수 있을 정도로 충분히 커야 한다. 예를 들어, Su의 최근 연구에서는 32x32픽셀 CIFAR-10 이미지의 1픽셀을 수정하여 non-targeted, non-universal whitebox attack을 성공시켰다. 그렇지만 본 논문에서 제창하는 공격이 실제 이미지를 넣은 것보다 훨씬 더 효과적이다.

 

 

 

 

    위 그림에 나온 공격들을 사람 눈에 잘 눈에띄지 않도록 위장시킬 수 있다. 우리는 tie-dye 패턴으로 L2-distance를 최소화하고 peace sign 마스크를 넣어 위장시켰다. 결과는 아래와 같다.

 

 

 

 

 

    마지막으로, 우리는 physical world로의 transferability를 측정하는 실험을 했다. 평번한 컬러 프린터로 이 패치를 프린트해서, 여러 real-world 상황에 붙여보았다. 결과는 맨 처음 그림과 같다. 바나나라는 다른 물체가 있음에도 성공적으로 classifier를 속이는 데 성공했다. 

    우리는 또한 Demitasse 어플에다가 blackbox + physical world 조합으로 transferability를 실험했다. 하지만 이미지에서 꽤나 큰 비중을 차지할 정도로 패치의 스케일을 키워야지만 공격이 성공했다. 

 

 

 

4. Conclusion

    본 논문에서 우리는 universal, robust, targeted 패치를 만들어냈고, scene 내의 다른 아이템과 관계없이 뉴럴넷을 잘 속일 수 있음을 보여주었다. 프린트하여 현실 세계에서도 사용할 수 있다. 작은 \( L_p \) perturbation에 대한 방어기법들은 많이 연구되어왔지만 본 논문에서와 같이 large perturbation 공격은 연구된 바가 많지 않다. 많은 ML 모델들이 사실 human validation을 다 가지고 있지는 않다. 따라서 AEs를 논할 때 small perturbation이 필수는 아닌 것이다.

 

 

 

Comment 1. 목적함수(Objective function)에서 왜 Log probability 를 쓰는가?

0-1범위 단순 선형으로 학습을 시키는 것 보다, logp를 사용하면 gradient 계산시 효율성이 있고, gradient가 더 커서 학습이 빨라지는 효과가 있다

댓글