비지도 학습을 통한 적대적 예제 공격 탐지

적대적 예제는 인간이 식별하기 어려운 노이즈를 섞어 인공지능 모델의 오작동을 유발한다

인공지능 기술이 얼굴 인식, 이미지 분류 등 다양한 어플리케이션에서 중요한 구성요소로 자리매김 되고 있음에 따라 인공지능에서 발생하는 다양한 보안 위협의 위험성 또한 강조되고 있습니다. 이러한 위협 요인 중 대표적인 예로서 인공지능에 입력되는 데이터를 사용자가 눈치 채지 못할 만큼 수정하여 모델에 오작동을 일으키는 적대적 예제(adversarial example) 공격이 있습니다.

이처럼 적대적 예제로 대표되는 기계학습 모델에 대한 적대적 공격과 방어를 연구하는 적대적 기계학습(adversarial machine learning)은 처음 소개된 이후 인공지능 연구의 중요한 분야로 부상하였으며, 세계적인 인공지능 학회 및 워크샵의 중요 주제로서 자리 잡아 현재 새로운 공격/방어 기법들이 끊임없이 연구, 개발되고 있습니다.

최근 저희 CSRC AI보안 연구팀에서는 이러한 적대적 예제를 방어하기 위한 한 방법으로 비지도 학습 기반의 적대적 예제 탐지 기법을 제시하였습니다. 저희가 개발한 방법은 인공지능의 작동을 설명하는 ‘설명가능 인공지능 기법’을 활용하여 적대적 예제를 구별하는 참신한 방법이며, 최근 ACM Conference on Knowledge Discovery and Data Mining(KDD 2021)[1]의 Adversarial Machine Learning 워크샵(AdvML)[2]에서 관련 연구 논문[3]을 발표하였습니다.

적대적 예제 및 그 생성 과정

동물 이미지를 판별하는 이미지 분류기(image classifier) 인공지능 모델을 가정해 봅시다. 이미지 분류기는 입력으로 받은 이미지에 대해 이미지가 해당될 수 있는 다양한 클래스 각각에 대해 점수(confidence score)를 계산하며, 이 점수가 가장 높은 클래스가 이미지에 속하는 클래스로 지정됩니다. 올바르게 작동하는 인공지능 모델에서 강아지 이미지는 ‘강아지(Dog)’ 클래스에 대한 점수가, 고양이 이미지는 ‘고양이(Cat)’ 클래스에 대한 점수가 가장 높을 것입니다.

이미지 분류기는 입력 이미지에 대해 가장 높은 점수를 가지는 클래스를 출력한다.

만약 공격자가 강아지 이미지를 ‘고양이(Cat)’로서 오분류(miss classification)시키고자 한다 가정해 봅시다. 이 공격자는 먼저 원본 강아지 이미지에 소량의 노이즈를 삽입하여 이미지를 수정한 뒤, 수정된 이미지에 대해 변화된 출력 클래스 점수를 기록합니다. 이러한 과정을 반복하면 ‘강아지(Dog)’ 클래스 점수를 최소화하고 ‘고양이(Cat)’ 클래스 점수를 최대화하는 방향을 찾아 최종적으로는 ‘고양이(Cat)’ 클래스 점수가 가장 높게끔 조작할 수 있게 되는 것입니다. 이와 같이 노이즈를 더해 조작하여 생성한 이미지를 적대적 예제(adversarial example)[4]라고 부릅니다.

적대적 예제를 생성하는 알고리즘에는 원본 이미지에 추가되는 노이즈의 양을 제한하는 매개변수 epsilon이 있습니다. 이와 같은 매개변수의 활용을 통해 원본 이미지와 육안으로 구별하기 어려운 적대적 예제를 생성해내는 것입니다.

정상 이미지(좌)와 노이즈를 더해 만들어진 적대적 예제(우). 육안으로 구분하기 어려운 노이즈를 추가함으로서 ‘강아지(Dog)’ 클래스에 대한 점수를 낮출 수 있다.

이처럼 간단히 생성 가능한 적대적 예제로부터 인공지능 모델을 방어하고자 다양한 기법이 개발되어 왔습니다. 하지만 현존하는 방어 기법들은 방어를 위하여 많은 계산이 필요하거나, 그 정확도가 떨어지거나 일반적으로 모든 데이터에 대해 적용하기 어렵다는 등 여러 가지 문제들을 내포하고 있습니다.

몇몇 방어 기법들은 지도 학습(supervised learning)을 기반으로 하여 원래 이미지 분류기에 적대적 예제를 분류할 수 있는 기능을 추가합니다. 하지만 이러한 분류기를 만들기 위해서는 미연에 적대적 예제를 생성하고 이에 대한 클래스를 개별적으로 지정해야 하는 작업이 추가로 필요합니다. 이러한 작업은 막대한 계산 작업이 필요하고 효율적이지 못하며, 결과적으로 원래의 인공지능 모델의 성능 저하시키기도 한다는 단점이 있습니다. 또한 미연에 생성된 적대적 예제들에 대해서만 학습되기 때문에 새로운 적대적 예제 공격 기법에 대응하기 어렵다고도 할 수 있습니다.

또 다른 방어 기법으로 원래의 이미지 분류기와 독립되어 정상 데이터와 적대적 예제를 분류하는 분류기를 구성하는 방법이 있습니다. 독립된 분류기를 사용하면 원래 인공지능 모델의 성능을 저하시키지는 않지만, 이 방법 역시 새로운 적대적 공격 기법에 대응하기 어려운 단점을 가지고 있습니다.

적대적 공격과 인공지능 모델의 설명가능성

저희 CSRC AI보안팀에서 진행한 연구에서는 적대적 공격과 인공지능 모델의 설명이 가지는 연관성에 주목하였습니다. 인공지능 모델로 널리 사용되고 있는 심층 신경망은 그 추론 과정에서 활용되는 매개변수가 너무 많기에 인공지능 모델이 결과를 도출한 과정을 분석하기 어렵습니다.

이러한 문제점을 해결하기 위하여 인공지능 모델의 결정을 설명하는 다양한 기법들이 개발되어 왔습니다. 이러한 ‘설명가능 인공지능 기법’들 중 가장 널리 쓰이는 기법들 중 하나인 중요도 맵(saliency map)[5]은 입력 데이터 각각의 특징에 대해 출력에 대한 기여도 점수를 할당하는 설명 기법입니다. 앞서도 살펴본 이미지 분류기의 예시에서 중요도 맵은 출력되는 클래스 점수에 대한 기여도에 맞게 각 픽셀에 점수를 할당하여 등급을 매깁니다.

중요도 맵(saliency map). 이를 활용하면 각 이미지에서 중요한 픽셀들을 강조할 수 있다

저희는 적대적 예제를 생성하기 위해 원본 이미지에 노이즈를 더하는 결과로서 비정상적인 중요도 맵이 생성된다는 점에 착안하여 정상 이미지와 적대적 예제를 분류하는 기법을 개발하였습니다. 논문의 주 저자인 고기혁 박사는 “입력 픽셀에 작은 노이즈를 더하는 것이 각 픽셀의 중요도 맵에 큰 차이를 가져왔다”며 간단한 관찰로부터 연구가 시작되었다고 강조하였습니다.

비지도 학습을 활용한 적대적 예제 탐지

저희 CSRC AI보안팀에서 개발한 기술은 중요도 맵과 같은 인공지능 설명을 활용하여 적대적 예제를 탐지합니다. 저희의 탐지 기법은 크게 두 단계로 구성되는데, 먼저 사전에 학습된 인공지능 모델을 사용하여 정상 이미지들에 대해 중요도 맵을 생성하여 수집합니다.

다음으로는 수집된 설명 맵을 활용하여 정상 이미지에 대한 중요도 맵을 재구성(reconstruct)하는 ‘재구성 모델(reconstructor network)’을 학습합니다. 중요도 맵을 재구성하는 모델로는 딥러닝 모델 중 하나인 오토인코더(autoencoder)를 사용하는데, 오토인코더는 주어진 이미지에 섞인 노이즈를 제거하는 데에 활용되는 딥러닝 모델입니다. 저희가 제안한 기법에서 재구성 모델은 인공지능 모델이 출력하는 클래스의 수만큼 학습합니다. MNIST와 같은 손글씨 숫자 이미지를 분류하는 모델의 경우 0부터 9까지에 맞게 10개의 재구성 모델을 필요로 하는 것이지요. 만약 숫자 ‘4’로 판별된 이미지가 주어졌을 경우, 클래스 ‘4’에 해당하는 재구성 모델을 사용하는 것입니다.

각 클래스에 대한 재구성 모델은 오직 정상 이미지만을 사용하여 학습되기 때문에, 만약 비정상적인 설명을 가지는 적대적 예제가 그 입력으로서 주어졌을 때엔 재구성 성능이 떨어질 것입니다. 이처럼 재구성 모델이 정상 이미지와 적대적 예제에 대해 가지는 성능 차이를 통해 적대적 예제 이미지를 탐지할 수 있습니다.

정상 이미지(Original)의 중요도 맵(Gradient)은 유사하게 재구성(Recons.)되는 반면 적대적 예제(Adversarial)는 재구성에 오차가 많이 생김을 확인할 수 있다 [3]

저희는 본 연구에서 실행한 실험을 통해 여러 공격 알고리즘을 통해 생성된 적대적 예제 모두에서 비정상적인 중요도 맵이 생성된다는 것을 확인하였습니다. 이는 저희가 제안한 방법이 다양한 적대적 공격에 적용 가능하며 특정 공격 알고리즘에만 한정되지 않음을 의미합니다.

이처럼 인공지능 모델에 대한 설명의 차이점을 사용하여 적대적 예제를 구별하는 연구는 기존의 다른 연구에서도 제안된 바 있습니다. 하지만, 기존의 방법은 저희와는 다르게 지도 학습 기반으로 구성되었기 때문에 적대적 예제를 생성하는 단계에 크게 의존하였으며, 많은 시간적 및 계산적인 비용을 필요로 하였습니다. 저희 CSRC AI보안팀에서 새로이 제안한 방법은 적대적 예제 생성을 필요로 하지 않아 시간/계산 비용을 최소화하고, 알려지지 않은 적대적 공격에도 대응이 가능합니다.

본 연구에서 개발한 적대적 예제 탐지 기술은 MNIST 데이터셋[6]을 사용하여 검증하였습니다. MNIST는 수기로 작성된 숫자 이미지로 수많은 기계 학습 연구에 사용되는 가장 기본적인 데이터셋입니다. MNIST를 사용한 검증 결과, 저희가 제안한 비지도 학습 기반 탐지 기술은 기존에 제안된 방식과 비슷하거나 혹은 그 이상으로 적대적 공격을 탐지할 수 있음을 보일 수 있었습니다.

비록 본 연구에 사용된 MNIST는 매우 간단한 데이터셋이지만, 제안된 탐지 방법은 다른 복잡한 데이터셋에도 적용 가능할 것으로 예상하고 있습니다. 향후 저희 연구원들은 CIFAR10/100 혹은 ImageNet과 같은 더욱 복잡하고 실용적인 데이터에서 적대적 공격에 대한 실험 검증을 진행할 예정입니다.

본 연구의 주 저자인 고기혁 박사는 “인공지능 모델에서 내린 결정을 설명하기 위해 개발된 설명가능 인공지능 기법이 인공지능 모델의 보안 취약점을 보다 더 잘 이해하고 보완하는 데에 결정적인 역할을 할 수 있을 것이라 믿습니다”며 추후 연구의 필요성을 강조하였습니다. 저희 CSRC AI보안 연구팀은 앞으로도 보다 안전한 인공지능의 사용을 위해 인공지능 보안 및 설명가능 인공지능 연구에 총력을 기울이고자 합니다.

*본 글은 TechTalks 블로그 글 “Unsupervised learning can detect unknown adversarial attacks”[7]에서 많은 부분 발췌 및 번역하여 작성하였으며, 원작자(Ben Dickson)의 동의를 받아 작성한 글임을 밝힙니다.

[1] ACM KDD 2021
[2] AdvML@KDD 2021
[3] G.Ko and G.Lim, Unsupervised Detection of Adversarial Examples with Model Explanations, AdvML@KDD’21
[4] C.Szegedy et al., Intriguing Properties of Neural Networks, ICLR’14
[5] M.D.Zeiler and R.Fergus, Visualizing and Understanding Convolutional Networks, ECCV’14
[6] MNIST handwritten dataset
[7] Unsupervised learning can detect unknown adversarial attacks, TechTalks

7 명이 이 글에 공감합니다.