🌌 Deep Learning/논문 리뷰 [KOR]

[Adversarial Example 논문리뷰] MagNet

복만 2020. 2. 8. 21:45

Meng, Dongyu, and Hao Chen. "Magnet: a two-pronged defense against adversarial examples." Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017.

이미지 출처 : https://www.youtube.com/watch?v=wZ-wIdAcWQE

 

2017년에 제안된, autoencoder을 이용한 adversarial defense 방법.

 

개요

- Adversarial attack에 대한 defense 방법.

- Autoencoder을 이용하여 "sanitize" 한 input을 classifier에 넣는다.

 

장점

- target classifier의 구조를 수정하지 않음

- 특정 attack에 specific하지 않고, 어떤 attack에도 적용 가능

 

Hypothesis

1) Classifier은 input들이 있는 manifold를 학습하여, 해당 manifold 위에 있는 input들은 제대로 분류한다.

 

 

2) 일부 adversarial example들은 manifold에서 아예 멀리 벗어나 있다. ->분류 안됨

 

 

3) 일부 adversarial example들은 manifold에서 조금 벗어나 있어 classifier가 다르게 분류한다.

 

 

 

Idea

- 2)의 경우는 detector을 통해 reject 한다.

 

 

- 3)의 경우는 reformer을 통해 sanitize 한다.

 

 

- 정리하자면 다음 그림과 같다.

 

 

 

Design

- Detector과 Reformer로는 autoencoder을 이용한다.

- Autoencoder는 normal example에 대해 학습시킨다.

 

- Detector은 는 1) input의 reconstruction error을 조사하거나, 2) probability divergence를 조사하는 두 가지 방법이 있다.

1) Detector based on reconstruction error

- input X를 미리 학습한 autoencoder을 이용하여 재구성한다(X').

- 둘의 reconstruction error을 조사하여, threshold보다 작을 시 통과한다.

- reconstruction error : encoder로 encode된 image가 decoder로 재구성될 때의 비용. 이 값이 크면 adversarial image로 판단함.

 

 

 

2) Detector based on probability divergence

- 1)의 방법은 Reconstruction error가 작은 image의 경우, detection이 잘 되지 않을 수 있음.

- Autoencoder의 성능에 의존하는 1)의 방법과 다르게, target classifier의 성능을 이용하는 방법.

- 우선, input X를 미리 학습한 autoencoder을 이용하여 재구성한다(X').

- X와 X'을 classifier에 넣고, 그 결과의 divergence가 threshold보다 작을 시 통과한다.

 

 

- Reformer은 autoencoder로 input을 재구성한다.

- Reformer에서 나온 output을 classifier에 넣는다.

 

 

 

Implementation

 

 

Performance

 

 

- MNIST, CIFAR 두 가지 dataset에 대하여 공격과 방어를 수행하였고, 모든 경우에 성능이 올라간 것을 볼 수 있다.

반응형