1. Adversarial Examples란?
: 모델이 잘못된 예측하도록 만드는 입력데이터이다. 인간이 보기에는 원본과 거의 동일하지만 딥러닝 모델에는 오해를 유발하는 노이즈를 포함하고 있어 모델을 속일 수가 있다. 예를 들면 배사진에 모델이 강아지의 특징이라고 생각하는 특징의 노이즈를 추가하면 배를 보고 강아지라고 분류한다.
위 사진은 원래 서로 다른 카테고리에 속하는 4개의 이미지들이지만 노이즈를 추가해서 4개의 이미지를 모두 비행기로 인식하게된 사례이다.
2. Adversarial Examples가 발생하는 이유
과적합
- 딥러닝 모델이 Adversarial Examples에 취약한 이유는 과적합으로 인해 데이터 간 거리가 좁아져 모델이 작은 노이즈에도 크게 반응하는 특성이 있다.
Adversarial Examples
- 단순한 경계는 선형 모델이 입력 데이터에 대해 단순하게 반응하는 것을 의미하며, 작은 변화도로 모델의 예측을 쉽게 변경할 수 있다.
3. Adversarial Examples 생성 방법
Fast Gradient Sign Method (FGSM)
- 입력 데이터에 작은 변화를 추가하여 모델이 오분류하도록 만드는 방법으로, 효율적으로 적대적 예제를 생성한다.
4. Estimating the Subspace Dimensionality
Estimating the Subspace Dimensionality이란 적대적 예제가 입력 공간 내에서 모델의 예측을 혼란스럽게 만드는 부분 공간에 집중적으로 존재하는 현상을 설명하는 개념이다.
적대적 예제는 입력 공간의 모든 차원에 퍼져 있는 것이 아니라, 특정 차원이나 방향에서 주로 발생하여 모델을 공격한다. 즉, 모델의 예측을 크게 바꾸기 위해서는 전체 입력 공간을 건드리는 것이 아니라, 특정한 부분 공간만 공격한다는 것이다.
이러한 점을 이용해서 해당 부분에 대한 방어 메커니즘을 강화하는 방식으로 모델을 계산할 수 있다.
X축은 모델의 예측에 영향을 미치는 특정 차원 수를 나타내고, Y축은 해당 공격 방향에서의 확률 밀도를 보여준다. 따라서 이 그래프가 보여주는 것은 특정 차원에 적대적인 예제가 집중되어 있음을 나타낸다.
5. 방어 기법
Adversarial Training (적대적 학습)
- 적대적 예제를 학습 데이터에 포함시켜 모델이 이에 대한 내성을 기르도록 훈련하는 방법이다.
- 실제 적대적 예제를 학습해서 공격에 대한 내성이 증가한다는 장점이 있지만, 다양한 공격을 대응하기 위해 방대한 데이터와 연산 자원이 필요하다는 단점이 있다.
위 그래프는 적대적 예제를 사용한 학습이 모델의 성능에 미치는 영향을 보여준다.X축: 학습 에포크 수 (Training time in epochs)이고, Y축: 테스트 오분류율(Test misclassification rate)을 로그 스케일로 표시한 것이다.
선 색상에 따른 의미들
- Train=Clean, Test=Clean (파란색):
- 깨끗한 데이터(Clean Data)로 학습하고, 깨끗한 데이터로 테스트한 경우
- 학습이 진행됨에 따라 테스트 오분류율이 빠르게 낮아져, 모델이 깨끗한 데이터에 대해 높은 정확도를 유지하는 것을 볼 수 있다.
- Train=Clean, Test=Adv (초록색):
- 깨끗한 데이터로 학습하고, 적대적 예제(Adversarial Examples)로 테스트한 경우
- 학습이 진행되어도 적대적 예제에 대한 오분류율이 매우 높게 유지되며, 모델이 적대적 예제에 매우 취약하다는 것을 보여준다.
- Train=Adv, Test=Clean (빨간색):
- 적대적 예제로 학습하고, 깨끗한 데이터로 테스트한 경우
- 학습 초기에 오분류율이 낮아지고, 이후에도 깨끗한 데이터에 대해 안정적으로 낮은 오분류율을 유지합니다. 즉, 적대적 예제로 학습해도 깨끗한 데이터에 대한 성능이 유지되는 것을 알 수 있다.
- Train=Adv, Test=Adv (하늘색):
- 적대적 예제로 학습하고, 적대적 예제로 테스트한 경우
- 학습 초기에는 오분류율이 높지만, 시간이 지남에 따라 점차 낮아지면서 적대적 예제에 대한 내성이 생기는 것을 보여줍니다. 적대적 예제로 학습할 때 적대적 예제에 대한 오분류율이 낮아지므로, 모델이 적대적 예제에 대해 더 튼튼해진다.
Virtual Adversarial Training (VAT)
- 라벨이 없는 데이터를 사용하여 모델을 보다 튼튼하게 만드는 반감독 학습 방식이다. 모델이 예측하는 값을 크게 변화시키지 않으면서도 적대적 노이즈에 대한 내성을 키우는데 초점을 맞춘다.
- 레이블이 없는 데이터를 활용해 모델을 안정화시키며, 실용적인 상황에서도 적대적 예제의 영향을 최소화할 수 있다.
6. Adversarial Examples의 실제 응용과 공격 사례
원격 API 기반 분류기 공격
- MetaMind, Amazon, Google과 같은 클라우드 서비스에서 제공하는 이미지 분류 API를 공격할 수 있다.
- 적대적 예제를 API에 제출하여 원격으로 모델이 잘못된 예측을 하도록 유도할 수 있으며, 이를 통해 모델의 보안 취약점을 확인할 수 있다.
악성 코드 탐지 네트워크 공격
- 악성 코드 탐지 시스템에 적대적 예제를 적용하여, 탐지 시스템이 악성 코드를 정상 파일로 잘못 분류하도록 속일 수 있다.
- 이러한 공격은 보안 시스템의 취약점을 노출하며, 악성 코드가 탐지되지 않도록 하는 데 사용될 수 있다.
물리적 세계에서의 적대적 예제 공격
- 물리적 세계에서 적대적 예제를 활용하여, 카메라를 통해 인식되는 머신러닝 시스템을 속일 수 있다.
- 예를 들어, 특수한 패턴이 포함된 이미지나 물체를 물리적으로 배치하여, 자율 주행 차량의 카메라 시스템이 이를 잘못 인식하게 만들 수 있다.
'CVLab > cs231n (2017)' 카테고리의 다른 글
Lecture 15: Efficient Methods and Hardware for Deep Learning (1) | 2024.11.01 |
---|---|
Lecture 14: Deep Reinforcement Learning (1) | 2024.11.01 |
Lecture 13: Generative Models (0) | 2024.11.01 |