Adversarial Attack(Part 1): Adversarial Attack과 Defense

Taekmin Kim
5 min readDec 15, 2018

--

최근 삼성 SDS의 사이다(SAIDA)팀이 스타크래프트 AI 대회에서 1등을 차지했습니다. 플레이 영상을 보면 꽤나 높은 수준이고 실제로 많은 게이머들이 이기기 힘든 실력이라고 합니다.

삼성 SDS의 스타크래프트 인공지능 SAIDA 플레이 영상(9분20초부터)

게임 뿐만 아니라 번역기(네이버의 파파고)얼굴 인식(아이폰, 갤럭시) 등 우리 주위에서 인공지능이 적용된 제품을 많이 접할 수 있습니다. 가까운 미래에는 자율 주행이나 무인 편의점 등 인공지능이 더욱 더 우리 삶 속으로 파고들 것이라고 예상됩니다.

지금까지 많은 AI 기술이 뛰어난 성과를 보여준 것은 사실이지만 현실에서는 성능 뿐만 아니라 안정성 또한 중요합니다. AI가 아니더라도 자동차가 급발진하거나 추위에서 핸드폰이 꺼지는 등 오작동은 지금도 쉽게 접할 수 있습니다. AI 기술도 동일한 문제점을 가지고 있고 의료 AI, 차량 AI가 보급된 시점에는 오작동으로 인한 피해는 상상 이상일 것입니다. 특히 의도적으로 오작동을 유발하기 쉽다면 더 큰 피해가 발생하겠죠.

앞으로 2개의 튜토리얼을 통해서 의도적인 오작동(Adversarial Attack)에 대응하는 AI에 대해서 다룰 예정입니다.

의도적인 오작동(Adversarial Attack)

의도적인 오작동의 가장 쉽고 일반적인 방법은 노이즈 추가입니다.

어떤 교과서일까? 북어 vs. 국어

위의 그림은 학교에서 흔히 볼 수 있는 장난이지만 도로 위에서는 얘기가 다릅니다. 표지판이나 신호등의 색을 아주 미묘하게 변화시켜 자율 주행차가 역주행 혹은 급발진 한다면 큰 사고가 발생하겠죠. 멀쩡한 환자의 의료 사진에 적절한 노이즈를 더한다면 큰 수술을 받게 할 수도 있습니다.

실제로 사람 눈에 거의 구별되지 않는 노이즈를 추가해 사진을 잘못 분류하게 하는 공격 방법들이 있습니다. 아래 두 판다 사진은 큰 차이점이 없어 보이지만 왼쪽 사진은 panda, 오른쪽 사진은 gibbon으로 AI가 예측합니다. 아주 작은 노이즈로 인해 오작동한 것이죠.

EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(ICLR 2015)

공격 능력(Adversarial abilities)

공격자가 목표로 삼는 AI에 대한 사전 지식을 얼마나 알고 있느냐에 따라서 아래와 같이 공격 능력을 구분합니다.

  • White-box: 타겟 AI에 대해 모두 알고 있는 상황. 예를 들어, 딥러닝의 구조, Weight, Optimizer 등
  • Black-box: 타겟 AI의 입력과 그 출력만 확인 가능한 상황
  • Grey-box: White-box와 Black-box의 중간 단계

공격 목표(Adversarial goals)

공격자의 의도에 따라서 목표를 아래와 같이 분류합니다. 단순히 틀리게만 하느 수준에서 원하는 방향으로 행동을 유도하는 것까지 다양한 난이도의 목표가 있습니다.

  • Confidence reduction: AI의 예측 신뢰도를 낮추는 방향. 예를 들어, 90%의 신뢰도를 가지는 사과 예측을 55%로 낮추는 공격
  • Non-targeted misclassification: 오답을 유발하는 공격
  • Targeted misclassification: 의도한 오답을 유발하는 공격
  • Source-Target misclassification: 입력에 따라서 오답을 유발하는 공격

위의 공격 능력과 공격 목표에 따라서 공격 난이도가 달라집니다.

Adversarial Examples: Opportunities and Challenges

공격 알고리즘

이번 튜토리얼에서 공격 알고리즘에 대해서 다루지는 않지만 최근 몇 년간 많은 알고리즘이 발표되었습니다. FSGM, DeepFool, Universal Adversarial Pertubations 등이있습니다.

방어

공격이 노이즈를 적극적으로 활용하는 것처럼 방어도 노이즈에 초점을 맞춰 이루어집니다. 대표적으로 아래와 같은 접근이 있습니다.

  • 공격쪽에서 생성된 이미지를 추가 학습 데이터로 활용
  • 입력이 노이즈가 추가된 이미지인지 아닌지 판별하는 AI 사용
  • Defensive Distillation

방어에 대한 자세한 내용은 Part 2에서 다루도록 하겠습니다.

참고 자료

Adversarial Attack은 학계 뿐만 아니라 산업계에서 관심을 가지고 있는 주제입니다. 이번 에피소드에서 간단한 내용을 위주로 다루지만 더 깊은 내용이 궁금하신 분들에게는 아래 논문들을 추천드립니다.

--

--

No responses yet