본문 바로가기

콘텐츠/강승우의 머신러닝 이야기

[강승우의 머신러닝 이야기] 딥러닝 모델을 노리는 적대적 공격

강승우 위데이터랩 AI 연구소장

2015년 이미지 인식 대회(ILSVRC - ImageNet Large Scale Visual Recognition Challenge )에서 딥러닝 기술은 정확도에서 사람의 시각 인지 능력을 넘어섰다. 지속적인 발전을 거듭한 딥러닝 기술은 2017년 오류율이 사람에 비해 50% 이하로 낮아졌다. 이처럼 진보된 시각 인지 기술은 얼굴 인식, 의료 데이터 판독, 자율 주행 등 다양하게 응용되고 있다.

그런데, 컴퓨터의 시각 인지 방식은 인간의 방식과는 차이가 있다. 이 차이는 해커의 공격 목표로 노출되어 있다. 이 글에서는 딥러닝 모델의 취약점에 대한 공격과 이에 대한 대응을 살펴보겠다.

딥러닝 모델이 이미지를 인식하는 방법

최근 딥러닝의 시각 인지 기능의 발전으로 주변에 다양한 응용 사례가 나타나고 있다. 2020년, 스코틀랜드에서는 자동으로 축구공을 추적하는 카메라를 만들었다. 축구 중계를 위한 인건비를 줄이기 위한 시도였다. 그런데, 축구공을 잘 비추고 있던 카메라는 때때로 대머리 심판을 비추며 보는 사람의 눈을 어지럽게 만들었다. 심판의 대머리를 축구공이라 잘못 판단한 것이다.

왜 인지 기능이 더 뛰어나다는 딥러닝 기술은 사람이라면 하지 않을 실수를 보이는 것일까요? 무엇이 카메라에 장착된 AI를 잘못 판단하게 한 것일까요?

이런 결과를 이해하기 위해서는 “딥러닝 모델이 객체를 인식하는 방식은 인간과는 다르다”는 사실을 알아야 한다. <그림 1>은 이미지 인식 대회에서 좋은 결과를 보인 몇 가지 딥러닝 모델이 ‘바다 사자’로 잘못 분류한 이미지의 예이다. 사람에게는 의미가 없어 보이는 시각적 잡음(Visual Noise)을 인공지능(AI)는 특정한 개체로 판단한 것이다. 

그림 1 각각의 훈련된 딥러닝 모델이 ‘바다 사자’로 오판하는 이미지. 이미지 출처 : A Survey on Universal Adversarial Attack (ijcai.org)

기본적으로 딥러닝에서 학습되는 것은 각각의 입력이 결과에 기여하는 정도를 결정하는 매개변수(parameter) 이다. 학습되는 매개변수는 훈련을 위해 사용하는 데이터에 의해 결정된다. 딥러닝의 학습과정은 입력된 데이터에서 많은 계산으로 훈련 결과를 만족시키는 수치적 패턴을 찾는 것이다. 딥러닝으로 생성된 인공지능은 사람이 사물에서 느끼는 색상과 윤곽을 감지하는 것이 아니다. 입력된 데이터에서 결정되는 딥러닝 모델은 입력된 적이 없는 패턴에 대해서 어떤 판단을 내릴지 알 수 없다. 그 결과 <그림 1>에서 예를 든 것처럼 시각적 잡음에 대해서 바다사자로 판단을 내리는 것이다.

이처럼 한정된 범위의 실험에서 사람의 인지 기능을 뛰어넘었다고 얘기되는 딥러닝 기술은 일반화된 현실세계에서는 쉽게 그 약점을 드러낸다.

딥러닝 모델에 대한 공격

딥러닝 모델의 약점은 해커들의 공격 대상이 될 수 있다. 공격의 방법은 적대적 섭동(Adversarial Perturbation)과 적대적 패치(Adversarial Patch) 2가지로 나타난다.

적대적 섭동은 사람에게는 잘 인지되지 않는 무작위적 신호를 이미지에 추가하는 방식이다. <그림 2>는 무작위적 신호를 추가함으로써 딥러닝 모델이 페르시아 고양이를 브로콜리 혹은 나비로 잘못된 분류를 만들어낸다.

적대적 패티는 <그림 3>과 같이 원래의 이미지에 딥러닝 모델이 민감하게 반응하는 작은 이미지 조각(patch)를 추가하는 방식이다.

그림 3 적대적 패치, 이미지 출처 = Toward Trustworthy Machine Learning: An Example in Defending against Adversarial Patch Attacks - Part 1 (freedom-to-tinker.com)

적대적 패치에 의한 공격은 다른 이미지에 대해서도 재사용할 수 있어서 더 위험하다고 할 수 있다. 특히 위의 예와 같이 도로 표지판에 대한 적대적 패치 공경은 자율주행에 문제를 유발하여 큰 사고로 이어질 수 있다.

적대적 공격에 대한 방어

딥러닝의 오류를 일으키는 적대적 공격에 대한 방어를 위해서 다양한 연구가 이루어지고 있다.

먼저, 근본적으로는 딥러닝 모델의 시각적 인지 오류 방지를 위해서는 모든 이미지 데이터에 대해서 훈련을 시키면 된다. 그러나 이는 현실적이지 않다. 너무 많은 이미지의 변형이 존재하기 때문이다. 예를 들어 100x100 픽셀을 갖는 256 컬러 이미지의 경우 가능한 이미지의 종류는 다음과 같이 계산할 수 있다.

먼저 빨강(Red), 녹색(Green), 파랑(Blue) 에 대해서 256 가지의 경우가 있다.

(하나의 픽셀 점의 변형 수) = 256 ( Red ) x 256 ( Green) x 256 (Blue)

이런 점들이 가로 100, 세로 100 만큼 존재한다. 따라서, 전체 이미지의 개수는 다음과 같다. 약 1억 7천만 가지나 되는 이미지 변형을 만들 수 있다. 이는 이미지 픽셀 수에 비례해서 증가하게 된다.

(가능한 전체 이미지 개수) = 100 x 100 x 256 x 256 x 256 = 167, 772,160,000

다음으로 입력 이미지에 대한 정규화나 노이즈 제거를 위한 데이터 전처리를 통해 적대적 섭동을 일으키는 정보를 제거할 수 있다. 데이터 전처리는 원래 이미지에 추가된 무작위적 정보를 제거한다. 그러나, 이 방법으로는 적대적 패치에는 대응하기에는 어렵다.

객체의 윤곽선을 기반으로 하는 이미지 인식도 시도되고 있다. 딥러닝 모델은 이미지의 각각의 점의 특성을 기반으로 객체를 탐지한다. 이에 반해 인간은 이미지에서 객체의 윤곽을 기반으로 객체를 탐지한다고 알려져 있다. 딥러닝 모델 훈련에 객체의 윤곽선을 추출하는 전처리를 사용하면 윤곽선 기반 객체 분류 모델을 생성할 수 있다. 이 모델은 점 단위의 시각적 소음에 강건해질 수 있다.

그리고, 여러 가지 모델을 앙상블하여 적대적 공격에 대응하기위한 시도도 이루어지고 있다.

적대적 공격과 인공지능이 만드는 미래

얼마전 국내에서도 레벨 3 수준의 자율주행차를 출시한다는 뉴스가 있었고 음식배달에 자율주행 로봇을 사용하는 테스트도 진행되고 있다.

이처럼 인공지능에 의해 주변 상황을 자동으로 인식하고 동작하는 시스템은 계속적으로 증가할 것이다. 이에 따라서 인공지능의 잘못된 인식이 가능성은 높아집니다. 그 결과는 앞의 축구 중계의 예처럼 웃고 넘기는 경우도 있겠지만, 큰 사고로 이어질 수도 있다. 적대적인 해킹 공격에 대비한 강건한 인공지능에 대한 요구가 높아지는 시점이다.

 

필자 강승우 위데이터랩  인공지능연구소장 겸 부사장은 펜타 컴퓨터를 거쳐 BEA, Oracle에서 최고 기술 아키텍트로서 기업의 IT 시스템 문제가 있는 곳의 해결사 역할을 해왔다. 글로벌에 통하는 한국 소프트웨어 개발에 대한 열정으로 S전자 AWS 이벤트  로그 분석을 통한 이상징후 탐지, R사의 건축물 균열 탐지 등의 머신러닝 프로젝트를 진행했다. 현재는 딥러닝을 이용한  소프트웨어 취약점 탐지 자동화 연구와 머신러닝과 딥러닝강의를 진행하고 있으며, 비즈니스화에도 노력을 기울이고 있다. 최근 저서로 '머신러닝 배웠으니 활용해볼까요?'가  있다.