적대적 예제
1. 개요
- 특정 입력에 대해 분류 등의 작업을 처리하도록 훈련이 되어 있는 신경망이 있을 때, 어떤 입력에 아주 미세한 오차를 더해 당초 그 신경망으로부터 기대되는 결과와 전혀 다른 결과(예를 들면, 고양이 이미지에 오차를 더했더니 개미로 분류하는 경우 등)를 얻게 해 신경망 시스템을 무너뜨리는 입력을 적대적 예제(adversarial example)라 한다.
2. 공격의 유형
- 이러한 공격 유형으로 공격자가 공격 대상이 되는 신경망의 모든 내부 정보를 알고 있는 경우와 아닌 경우, 두 유형이 있다.
1) 화이트박스
- 공격자가 공격 대상 신경망의 모든 내부 정보를 알고 있는 경우. 이 경우 공격자는 오차를 얼마나 더하면 loss값이 어떻게 달라지는지를 알고 있으므로 이를 이용해 적대적 예제를 생성할 수 있다.
2) 블랙박스
- 공격자가 공격 대상 신경망의 내부 정보를 모르는 경우. 이 경우 공격자는 여러 입력 데이터를 전송하고 그에 대한 결과값을 확인하여 어떤 입력이 적대적 예제가 되는지를 유추할 수 있다.
(1) transfer-based attack
- 공격 대상 신경망에 입력데이터를 전송해 그에 대한 결과값을 레이블로 해서 새로운 신경망을 학습시키고, 그 새 신경망에 대한 화이트박스 공격이 되는 입력을 찾아내 이를 공격 대상 신경망에 전송하는 방법.
(2) decision-based attack
- 적대적 예제로 사용할 후보 데이터를 하나 선정한 후, 이를 공격 대상 신경망이 잘못 결과 내게 할 목표 데이터에 가깝게 조금씩 수정해나가는 방법.
3. 신경망에 적대적 예제가 있을 수 있는 이유
- 과거에는 신경망이 비선형성이 있기 때문에 적대적 예제가 있을 수밖에 없는 것으로 여겨졌다. 또, 당초 의도하지 않은 특징이 훈련 데이터에 있고 이것을 신경망이 학습했으며 적대적 예제가 이를 공격하는 것이라고 생각되기도 했다. 이러한 관점은 적대적 예제가 있는 원인으로서 신경망 알고리즘의 구조적인 문제를 꼽는 관점이다.
- 최근 제시된 가설로 non-robust feature hypothesis라는 가설이 있다. 이는 모든 데이터셋에는 그 데이터셋을 신경망에 학습시켰을 경우 오차를 더한 것을 학습시키더라도 신경망이 당초 의도대로 잘 처리하는 특징(robust feature)이 있고 오차를 더한 것을 학습시키면 신경망이 당초 의도와 전혀 다르게 처리하는 특징(non-robust feature)이 있는데 적대적 예제가 이 non-robust feature와 관련됐기 때문이라는 가설이다. 이 가설은 관점은 적대적 예제가 있는 원인으로 신경망 알고리즘의 구조적 문제보다는 데이터셋 자체의 문제로 본다.
- 이 가설에 기반해 보면, 데이터셋에서 robust feature만 추출해 이것만으로 모델을 훈련시킬 수 있다. 실제로 이렇게 훈련시킨 모델은 적대적 예제를 통한 공격을 잘 방어하는 모습을 보인다.