Adversarial Attack | 적대적 공격
1. 적대적 샘플(Adversarial Examples)
적대적 샘플은 인공지능 모델, 특히 딥러닝 모델의 취약점을 노리기 위해 고안된 입력 데이터다.
사람에게는 같은 데이터처럼 보이지만 모델에게는 완전히 다르게 해석되도록 설계된다.
일부 픽셀값을 미세하게 조정하고 이로 인해 모델이 입력 데이터를 잘못 분류하거나 엉뚱한 출력을 내놓게 된다.

위는 육안으로 구별 불가한 특정 노이즈를 주어 이미지를 합성하여 적용한 판다이다.
사람에게는 여전히 판다로 보이지만 모델은 긴팔원숭이로 분류하게 된다.
이렇게 gibbon으로 분류된 샘플 이미지를 Adversarial Examples(AEs)라고 한다.
2. 모델의 강건성(Robustness)
Robustness는 모델이 가질 수 있는 성능 하락 환경을 가정하고 이를 잘 극복할 수 있는지 평가하여
성능 하락 환경에서도 좋은 성능을 보여주는 모델의 성능을 말한다.
즉, 딥러닝 모델이 입력 데이터의 변화나 외부의 방해 요인에도 불구하고 안정적으로 원하는 성능을 유지하는 능력을 말한다.
딥러닝 모델은 예기치 않게 오작동 될 수 있는다.
1. 의도적으로 작은 변화를 가한 input 데이터인 적대적 샘플
2. input 데이터에 무작위적인 왜곡이나 방해 요소가 추가된 노이즈
3. 훈련 데이터와 다른 분포를 가진 새로운 데이터
4. input 데이터의 일부가 결측되거나 손상된 경우
Robustness는 모델이 이러한 상황에서도 올바르게 동작하도록 설계되었는지를 평가하는 척도다.
Robustness의 종류에는 여러 가지가 있지만 지금 다뤄볼건 Adversarial Robustness이다.
Adversarial Robustness를 개선하기 위해 Adversarial Traning을 할 수 있다.
모델이 적대적 샘플에 대해 더 강건해지도록 학습하는 것이다.
3. Adversarial Traning
Adversarial Traning은 적대적 샘플을 train data에 포함시켜서
모델이 의도적으로 설계된 공격을 견딜 수 있도록 하는 모델 훈련 방법이다.
적대적 공격 패턴을 학습하여 모델의 민감도를 낮추고, 공격이 적용된 input에서도 올바른 출력 클래스를 유지하도록 학습된다.
특정 유형의 적대적 공격에 대해 모델의 성능을 크게 향상시키고(새로운 공격 방식에는 취약함 ㅜㅜ),
현실적인 노이즈나 interrupt가 존재하는 상황에서 더욱 안정적으로 동작한다.
(대신 학습한 만큼 원래 샘플에 대한 일반화 성능(Accuracy)가 약간 떨어질 수 잇음, Accuracy-Robustness Tradeoff)
보완적 방법
Adversarial Traning이 Adversarial Robustness의 대표적 개선 방법이지만 한계가 있어서 다른 보완적 방법도 사용된다.
- Regularization(정규화)로 데이터를 부드럽게 변화시켜 모델의 민감도를 줄이기
- Defensive Distillation으로 모델의 output 분포를 매끄럽게 만들어 적대적 공격 영향을 줄이기
- 데이터나 모델 파라미터에 무작위성(Randomization)을 추가하여 공격자가 모델을 정확하게 예측하지 못하도록 만들기
- Gradient Masking으로 모델의 그라디언트 정보를 숨겨서 적대적 공격이 잘 동작하지 못하게 만들기
등... 여러 방법이 있다. 나중에 고려할 일이 있지 않을까 싶어서 기록해두겠다.
4. Adversarial Attack
Adversarial Attack으로 악의적인 노이즈 분포를 가정하고 input값에 넣어 모델의 성능이 하락하는지 여부를 평가한다.
최적화 관점에서 모델의 오분류를 유도할 수 있도록 정교하게 제작된 노이즈( δ )를 input 이미지에 넣어 Adversarial Example을 생성한다.

생성된 노이즈 δ에 의해서 input 이미지는 훈련된 모델의 의사결정 경계를 넘을 수 있는 능력이 생기고,
오분류(Misclassification)을 초래하게 된다.
이러한 Adversarial Example은 다양한 연구 분야에 적용되어 왔는다.

의료 AI 분야의 Adversarial Attack인데 그림을 보면 이해가 간다. 이런 식으로 하는거군 ㅇㅇ
누가 이렇게 조작해서 보험금 타갈 수도 있고 여러 문제가 있다.