본문 바로가기

머신러닝 읽어주는 남자

Adversarial examples

반응형

Adversarial examples 


정의

머신러닝 모델이 의도적으로 실수하도록 만들어진 예시

즉, 눈으로 보기에는 같은 이미지이나 의도적으로 기계에게 다르게 보이는 이미지를 의미한다.


아래는 판다 그림에 약간의 노이즈를 섞으니 긴팔원숭이로 인식해버린다.



이러한 이슈는 머신러닝 모델의 안정성, 특히 보안 분야에 치명적인 문제를 일으킬 수 있기 때문에 해결해야하는 문제이다.


해결법

1. adversarial training

그냥 adversarial example을 만들어내고 같이 학습시켜버리는 단순 무식한 방법


2. defensive distillation

머신러닝 모델에서 나온 결과인 class prob.에서 가장 확률이 높은 클래스를 정답으로 판단하는게 일반적이다. 하지만 그렇게 하지 않고 이를 또 다른 모델의 입력으로 넣어서 최종 클래스를 판단하는 모델을 만들어서 학습시킨다. 


3. gradient masking

이미지의 작은 변화에 따른 확률값의 변화를 없앰으로 어떤 식으로 이미지를 변형하면 모델을 교란할 수 있는지에 대한 힌트를 주지 않는다.

예를 들어, DNN보다 kNN과 같은 방법을 사용하여 어떤 변화를 줬을 때 확률 변화를 확인하기 훨씬 어려울 것이다.



반응형