6.2 Adversarial Examples

11 minute read

Adversarial Examples

적대적인 예로는 기계 학습 모델이 잘못된 예측을 하도록 하는 작고 의도적인 기능 동요가 있는 예이다. 반사실적 설명에 대한 장을 먼저 읽는 것이 좋습니다. 개념이 매우 유사하기 때문입니다. 부차적인 예는 모델을 속이는 것을 목적으로 한 반실용적인 예이며, 해석은 아니다.

우리는 왜 적대적인 사례에 관심이 있을까요? 실제적인 관련이 없는 기계 학습 모델의 호기심 부산물만 있는 것은 아닐까요? 대답은 분명한 “아니오”입니다. 다음과 같은 시나리오에서처럼 기계 학습 모델이 공격에 취약해집니다.

자율주행차가 정지 신호를 무시해 다른 승용차를 들이받습니다. 누군가 표지판 위에 사진을 올려놓았는데, 이 표지판에는 인간에게는 흙이 조금 묻어 있는 정지 표지판처럼 보이지만, 이 표지판에는 자동차의 표지판 인식 소프트웨어에는 주차 금지 표지판처럼 보이도록 되어 있었습니다.

스팸 탐지기가 전자 메일을 스팸으로 분류하지 못합니다. 스팸 메일은 일반 전자 메일과 유사하지만 수신자를 속일 목적으로 만들어졌습니다.

기계 학습으로 작동되는 스캐너가 공항에서 가방을 스캔하여 무기를 찾습니다. 칼은 시스템이 그것을 우산이라고 생각하게 함으로써 탐지를 피하기 위해 개발되었습니다.

적대적 사례를 만드는 몇 가지 방법을 살펴보겠습니다.

방법 및 예시

적대적인 예를 만드는 많은 기술들이 있습니다. 대부분의 접근방식은 적대적 예제와 조작될 인스턴스 사이의 거리를 최소화하는 동시에 예측을 원하는(보조적) 결과로 전환하는 것을 제안합니다. 일부 방법은 모델의 기울기에 액세스해야 합니다. 물론 신경 네트워크와 같은 그라데이션 기반 모델에서만 작동하고, 다른 방법은 예측 기능에만 액세스하면 되므로 모델에 구애받지 않습니다. 이 섹션의 방법은 깊은 신경망을 가진 이미지 분류기에 초점을 맞춥니다. 이 영역에서 많은 연구가 이루어지며, 적대적 이미지의 시각화는 매우 교육적이기 때문입니다. 이미지에 대한 보조적 예제는 응용 프로그램 시간 동안 모델을 속일 목적으로 의도적으로 동요된 픽셀을 가진 이미지입니다. 이 예들은 물체를 인식하기 위한 깊은 신경 네트워크가 인간에게 해롭지 않아 보이는 이미지에 얼마나 쉽게 속아넘어갈 수 있는지를 인상적으로 보여줍니다. 만약 여러분이 아직 이러한 예들을 보지 못했다면, 여러분은 놀랄지도 모릅니다. 왜냐하면 예측의 변화는 인간 관찰자에게는 이해할 수 없기 때문입니다. 과장된 예는 기계에 대한 착시 현상과 같습니다.

내 개와 뭔가 잘못됐어요

Szegedy et al. (2013)1는 심층 신경 네트워크에 대한 적대적 예를 찾기 위해 그들의 작품 “신경 네트워크의 특성 유입”에서 구배 기반 최적화 접근법을 사용했습니다.


그림 6.4: Szegedy et al. (2013)의 AlexNet에 대한 보조적 예입니다. 왼쪽 열의 모든 영상이 올바르게 분류됩니다. 가운데 열에는 오른쪽에 있는 영상을 생성하기 위해 영상에 추가된 (진단) 오류가 모두 'Ostrich'로 분류(잘못됨).

이러한 적대적 예는 r과 관련하여 다음 기능을 최소화함으로써 생성되었습니다.

\[loss(\hat{f}(x+r),l)+c\cdot|r|\]

이 공식에서 x는 이미지(픽셀 벡터로 표시됨), r은 적대적 이미지를 생성하기 위한 픽셀 변경 사항(x+r은 새 이미지를 생성함), l은 원하는 결과 클래스이며, 파라미터 c는 영상 사이의 거리와 예측 사이의 거리를 조정하는 데 사용됩니다. 첫 번째 항은 역수 예제의 예측 결과와 원하는 클래스 l 사이의 거리이며, 두 번째 항은 역수 예제와 원본 이미지 사이의 거리를 측정한다. 이 공식은 반사실적 설명을 생성하기 위한 손실 기능과 거의 동일합니다. r에 대한 추가 제약 조건이 있어 픽셀 값이 0과 1 사이에 유지됩니다. 저자들은 이 최적화 문제를 상자형 L-BFGS로 해결할 것을 제안합니다. 이 L-BFGS는 그라데이션과 함께 작동하는 최적화 알고리즘입니다.

팬더에게 피해를 입혔습니다. 빠른 그라데이션 기호 메서드입니다.

Goodfellow et al. (2014)2는 적대적 이미지를 생성하기 위한 빠른 구배 기호 방법을 개발했습니다. 구배 부호 방법은 기본 모델의 구배를 사용하여 적대적 예제를 찾습니다. 원본 이미지 x는 각 픽셀에 작은 오류 $\epsilon$을(를) 추가하거나 빼서 조작합니다. $\epsilon$을(를) 추가할지 뺄지 여부는 픽셀의 구배 표시가 양인지 음인지에 따라 달라집니다. 구배 방향에 오류를 추가하면 영상이 의도적으로 변경되어 모델 분류에 실패합니다.


그림 6.5: 굿펠로 외 연구진(2014년)은 팬더를 신경망을 위한 기번처럼 보이게 합니다. 원작 팬더 픽셀(왼쪽 이미지)에 작은 동요(가운데 이미지)를 더함으로써 작가들은 지번으로 분류되지만 인간에게는 팬더처럼 보이는 적대적인 예를 만들어냅니다.

다음 공식은 고속 구배 부호법의 핵심에 대해 설명합니다.

\[x^\prime=x+\epsilon\cdot{}sign(\bigtriangledown_x{}J(\theta,x,y))\]

여기서 $\bigtriangleown_x{}입니다.J$는 원래 입력 픽셀 벡터 x에 대한 모델 손실 함수의 구배이며, y는 x의 참 레이블 벡터이고 $\theta$는 모델 파라미터 벡터입니다. 그라데이션 벡터(입력 픽셀의 벡터만큼 길음)에서는 다음 기호만 필요합니다. 구배 표시는 픽셀 강도가 높아지면 양수(+1)이고, 픽셀 강도가 낮아지면 음수(-1)가 됩니다. 이 취약성은 신경 네트워크가 입력 픽셀 강도와 클래스 점수 사이의 관계를 선형적으로 처리할 때 발생합니다. 특히 LSTM, maxout 네트워크, ReLU 활성화 유닛이 있는 네트워크 또는 로지스틱 회귀와 같은 기타 선형 기계 학습 알고리즘과 같은 선형성을 선호하는 신경 네트워크 아키텍처는 구배 부호 방식에 취약합니다. 공격은 외삽에 의해 수행됩니다. 입력 픽셀 강도와 클래스 점수 사이의 선형성은 특이치에 대한 취약성을 유발합니다. 즉, 모델은 데이터 분포 외부의 영역으로 픽셀 값을 이동하여 속일 수 있습니다. 저는 이러한 적대적인 사례들이 특정 신경망 구조에만 한정되기를 기대했습니다. 하지만 적대적 사례를 재사용하여 동일한 작업에 대해 훈련된 다른 아키텍처로 네트워크를 속일 수 있습니다.

Goodfellow 외 연구진(2014년)은 강력한 모델을 학습하기 위해 교육 데이터에 적대적 예를 추가할 것을 제안했습니다.

해파리입니다… 아니, 기다려요. 욕조: 1픽셀 공격입니다.

Goodfellow와 동료(2014년)가 제시한 접근 방식에는 약간만이라도 많은 픽셀을 변경해야 합니다. 하지만 한 픽셀만 변경할 수 있다면 어떨까요? 기계 학습 모델을 속일 수 있겠어요? Su et al. (2019) 3은 실제로 픽셀 하나를 변경하여 영상 분류기를 속일 수 있다는 것을 보여주었습니다.


그림 6.6: ImageNet에서 훈련된 신경 네트워크가 원래 클래스 대신 잘못된 클래스를 예측하기 위해 의도적으로 단일 픽셀(원형으로 표시됨)을 변경합니다. 수 외(2019년)의 작품입니다.

반사실적 공격과 마찬가지로 1픽셀 공격은 원본 이미지 x에 가까운 수정된 예 x’를 찾지만 예측을 역수 결과로 바꿉니다. 그러나 근접성의 정의는 다음과 같습니다. 단일 픽셀만 변경할 수 있습니다. 1픽셀 공격에서는 차등 진화를 사용하여 변경할 픽셀과 방법을 찾습니다. 차등 진화는 느슨하게 종의 생물학적 진화에 의해 영감을 받습니다. 후보 솔루션이라고 불리는 개인 집단은 해결책을 찾을 때까지 세대별로 다시 결합합니다. 각 후보 솔루션은 픽셀 수정을 인코딩하며 x- 및 y-좌표와 빨간색, 녹색 및 파란색(RGB) 값의 5개 요소로 구성됩니다. 검색은 400개의 후보 솔루션(=픽셀 수정 제안)으로 시작하고 다음 공식을 사용하여 상위 세대로부터 새로운 세대의 후보 솔루션(하위)을 생성합니다.

\[x_{i}(g+1)=x_{r1}(g)+F\cdot(x_{r2}(g)+x_{r3}(g))\]

여기서 각 $x_i$는 후보 솔루션의 요소(x-좌표, y-좌표, 빨간색, 녹색 또는 파란색), g는 현재 세대이고, F는 스케일링 파라미터(0.5로 설정), r1, r2와 r3는 서로 다른 랜덤 번호입니다. 각 새 하위 후보 솔루션은 위치와 색상에 대한 5가지 특성을 가진 픽셀을 차례로 사용하며, 각 속성은 3개의 임의 상위 픽셀이 혼합된 것입니다.

후보 솔루션 중 하나가 적대적인 예이므로 잘못된 클래스로 분류되거나 사용자가 지정한 최대 반복 횟수에 도달하면 자식 생성이 중지된다.

모든 것이 토스터입니다. 문제성 패치입니다.

제가 가장 좋아하는 방법 중 하나는 적대적인 예를 물리적 현실에 도입하는 것입니다. 브라운 외 (2017)4는 이미지 분류기의 토스터처럼 보이도록 물체 옆에 붙일 수 있는 인쇄 가능한 라벨을 디자인했습니다. 훌륭해요!


그림 6.7: ImageNet에서 훈련된 VGG16 분류기를 만드는 스티커는 바나나 이미지를 토스터로 분류합니다. 브라운 외 연구진(2017년)의 작품입니다..

이 방법은 적대적 예제에 대해 지금까지 제시된 방법과 다릅니다. 적대적 이미지에 매우 근접해야 한다는 제한이 제거되기 때문입니다. 대신 이 방법은 이미지의 일부를 어떤 형태로든 적용할 수 있는 패치로 완전히 대체합니다. 패치의 이미지는 이미지에 있는 패치의 위치가 서로 다르거나, 때로는 더 크거나 더 작거나 회전하여 여러 가지 상황에서 패치가 작동하도록 다양한 배경 이미지에 최적화됩니다. 결국 이 최적화된 이미지를 인쇄하여 야생의 이미지 분류기를 속일 수 있습니다.

컴퓨터가 좋은 생각이라고 생각하더라도 절대로 3D 프린팅된 거북이를 총격전에 데려오지 마세요: 강력한 적수 사례

다음 방법은 말 그대로 토스터에 다른 치수를 추가하는 것입니다. 아탈리예 외 (2017)5 3D 프린터로 거의 모든 가능한 각도에서 깊은 신경망에 라이플처럼 보이도록 설계된 거북이를 제작했습니다. 네, 잘 읽었네요. 인간에게 거북이처럼 보이는 물리적인 물체는 컴퓨터로 보면 소총처럼 보입니다!


그림 6.7: TensorFlow의 표준 사전 훈련 InceptionV3 분류기에서 라이플로 인정받는 3D 프린팅 거북입니다. Athalye et al.(2017년)의 작품입니다.

저자들은 3D에서 거북이 회전, 확대 등의 모든 가능성과 같은 변환에 역행하는 2D 분류기에 대해 역행적 예를 만드는 방법을 찾았습니다. 영상이 회전하거나 보기 각도가 변경될 때 고속 구배 방식과 같은 다른 접근 방식은 더 이상 작동하지 않습니다. Athalye et al. (2017)는 이미지가 변환될 때까지 작동하는 적대적 예를 생성하는 방법인 EEOT(Enpectivation Over Transformation) 알고리즘을 제안합니다. EOT의 주요 아이디어는 여러 가지 가능한 변환을 통해 적대적 사례를 최적화하는 것입니다. EOT는 적대적 예제와 원본 영상 사이의 거리를 최소화하는 대신 가능한 변환의 선택된 분포를 고려하여 두 값 사이의 예상 거리를 특정 임계값 아래로 유지합니다. 변환 시 예상되는 거리는 다음과 같이 기록될 수 있습니다.

\[\mathbb{E}_{t\sim{}T}[d(t(x^\prime),t(x))]\]

여기서 x는 변환된 이미지(예: 회전됨)의 원본 이미지, x’ 적대적 예제 및 t(x’)의 변환된 버전입니다. EOT 방법은 변환 배포 작업과는 별도로, 적군 예제의 검색을 최적화 문제로 프레임화하는 익숙한 패턴을 따릅니다. 가능한 변환 T: 분포 전체에 걸쳐 선택된 클래스 $y_t$(예: “rifle”)의 확률을 최대화하는 역학적 예 x’를 찾으려고 합니다.

\[\arg\max_{x^\prime}\mathbb{E}_{t\sim{}T}[log{}P(y_t|t(x^\prime))]\]

적대적 예제 x’와 원본 이미지 x 사이의 모든 가능한 변환에 대한 예상 거리가 특정 임계값 미만으로 유지됩니다.

\[\mathbb{E}_{t\sim{}T}[d(t(x^\prime),t(x))]<\epsilon\quad\text{and}\quad{}x\in[0,1]^d\]

저는 이 방법이 가능하게 할 가능성에 대해 걱정해야 한다고 생각합니다. 다른 방법은 디지털 이미지 조작을 기반으로 합니다. 그러나 3D 인쇄된 강력한 적대적 예제는 실제 장면에 삽입되어 컴퓨터를 속여서 개체를 잘못 분류할 수 있습니다. 다시 돌려보겠습니다. 만약 누군가가 거북이처럼 생긴 소총을 만든다면요?

눈 가리고 아웅하는 상대: 블랙박스 공격입니다.

다음과 같은 시나리오를 상상해 보세요. 웹 API를 통해 저의 훌륭한 이미지 분류기에 액세스할 수 있습니다. 모델에서 예측을 가져올 수 있지만 모델 매개 변수에 액세스할 수는 없습니다. 소파에서 편리하게 데이터 및 서비스 답변을 해당 분류로 보낼 수 있습니다. 대부분의 적대적 공격은 이 시나리오에서 작동하도록 설계되지 않았습니다. 왜냐하면 적대적 예제를 찾기 위해 기본 심층 신경 네트워크의 경사에 액세스해야 하기 때문입니다. Papernot과 동료(2017)6는 내부 모델 정보나 교육 데이터에 액세스하지 않고도 적대적 사례를 만들 수 있다는 것을 보여주었습니다. 이런 유형의 제로 지식 공격을 블랙박스 공격이라고 합니다.

작동 방식은 다음과 같습니다.

  1. 교육 데이터와 동일한 도메인에서 가져온 몇 개의 이미지로 시작합니다. 예를 들어 공격을 받을 분류기가 숫자 분류기인 경우 자릿수의 이미지를 사용하십시오. 도메인에 대한 지식이 필요하지만 교육 데이터에 액세스할 수는 없습니다.
  2. 블랙박스에서 현재 영상 세트에 대한 예측을 가져옵니다.
  3. 현재 영상 세트(예: 신경 네트워크)에서 대리 모델을 교육합니다.
  4. 모델 출력에 더 많은 분산을 가지도록 픽셀을 조작하는 방향으로 현재 영상 세트를 검사하는 휴리스틱을 사용하여 새 합성 영상 세트를 만듭니다.
  5. 사전 정의된 횟수에 대해 2~4단계를 반복합니다.
  6. 빠른 그라데이션 방법(또는 이와 유사한 방법)을 사용하여 대리모형에 대한 적대적 예를 만듭니다.
  7. 적대적인 예를 들어 원래 모델을 공격합니다.

대리모형의 목적은 블랙박스 모델의 의사결정 경계에 근접한 것이지만 반드시 동일한 정확도를 달성하는 것은 아닙니다.

저자들은 다양한 클라우드 머신 학습 서비스에서 훈련된 이미지 분류기를 공격함으로써 이 접근 방식을 테스트했습니다. 이러한 서비스는 사용자가 업로드한 이미지 및 레이블의 이미지 분류기를 교육합니다. 소프트웨어는 모델을 자동으로 교육하고, 때로는 사용자에게 알려지지 않은 알고리즘을 사용하여 모델을 배포합니다. 그런 다음 이 분류기는 업로드된 이미지에 대한 예측값을 제공하지만 모델 자체는 검사하거나 다운로드할 수 없습니다. 저자들은 다양한 공급업체에 대한 적대적 사례를 찾을 수 있었고, 적대적 사례의 최대 84%가 잘못 분류되었습니다.

이 방법은 속일 블랙박스 모델이 신경망이 아닌 경우에도 효과가 있습니다. 여기에는 의사결정 나무와 같은 기울기가 없는 기계 학습 모델이 포함됩니다.

The Cybersecurity Perspective

기계 학습은 알려진 미지의 데이터를 처리합니다. 알려진 배포에서 알 수 없는 데이터 지점을 예측합니다. 공격에 대한 방어는 알 수 없는 미지의 데이터를 처리합니다. 즉, 적대적 입력의 알 수 없는 분포를 통해 알 수 없는 데이터 지점을 강력하게 예측합니다. 기계학습은 자율주행차나 의료기기 등 점점 더 많은 시스템에 통합되면서 공격의 진입점이 되고 있습니다. 테스트 데이터 세트에 대한 기계 학습 모델의 예측이 100% 정확하더라도, 적대적 예를 통해 모델을 속일 수 있습니다. 사이버 공격에 대한 기계 학습 모델의 방어는 사이버 보안 분야의 새로운 부분입니다.

Biggio 외 연구진(2018)7은 이 섹션의 기초가 되는 적대적 기계 학습에 대한 10년간의 연구에 대한 좋은 리뷰를 제공합니다. 사이버 보안은 공격자와 수비수들이 계속해서 서로를 앞지르는 무기 경주이다.

사이버 보안에는 세 가지 황금 규칙이 있습니다. 1) 상대를 알고 있음 2) 사전 예방적이어야 하며 3) 자신을 보호해야 합니다.

애플리케이션마다 적수가 다릅니다. 돈을 받고 이메일을 통해 다른 사람들을 사취하려고 하는 사람들은 사용자와 이메일 서비스의 적대적인 대리인입니다. 공급자는 사용자를 보호하여 메일 프로그램을 계속 사용할 수 있도록 하고 공격자는 사람들이 돈을 주도록 합니다. 상대를 안다는 것은 그들의 목표를 아는 것을 의미합니다. 이러한 스팸 메일이 존재한다는 사실을 모르고 전자 메일 서비스의 유일한 악용은 불법 복제된 음악 사본을 보내는 것이라고 가정할 때, 방어가 달라집니다(예: 스팸 지표를 위해 텍스트를 분석하는 대신 저작권이 있는 자료의 첨부 파일 스캔).

사전 예방적이란 시스템의 취약점을 능동적으로 테스트하고 식별하는 것을 의미합니다. 적대적인 예시로 모델을 속인 후 이를 방어하려고 할 때 적극적입니다. 해석 방법을 사용하여 어떤 기능이 중요하고 기능이 예측에 어떤 영향을 미치는지 이해하는 것도 기계 학습 모델의 약점을 이해하는 사전 예방적 단계이다. 데이터 과학자로서, 테스트 데이터셋의 예측 능력을 벗어난 결과를 보지 않고도 이 위험한 환경에서 모델을 신뢰할 수 있습니까? 다양한 시나리오에서 모델이 어떻게 동작하는지 분석하고, 가장 중요한 입력을 식별하고, 몇 가지 예에 대한 예측 설명을 확인했습니까? 당신은 적대적인 의견을 찾으려고 노력했습니까? 기계 학습 모델의 해석성은 사이버 보안에 중요한 역할을 합니다. 사전 예방적 대응은 시스템이 공격을 받을 때까지 기다렸다가 문제를 이해하고 방어적 조치를 설치하는 것을 의미합니다.

어떻게 하면 적대적인 사례로부터 기계 학습 시스템을 보호할 수 있을까요? 사전 예방적 접근방식은 역경적 예시를 사용하여 분류자를 반복적으로 재교육하는 것으로, 역 다른 접근법은 기능의 불변적 변환이나 강력한 최적화(정규화)를 학습하는 것과 같은 게임 이론을 기반으로 합니다. 또 다른 제안된 방법은 한 개 대신 여러 개의 분류기를 사용하여 예측에 투표하도록 하는 것입니다. 그러나 모두 유사한 적대적 사례에 시달릴 수 있기 때문에 효과가 보장되지 않습니다. 또 다른 접근방식은 그라데이션 마스킹으로, 원래 모델 대신 가장 가까운 인접 분류기를 사용하여 유용한 구배가 없는 모델을 구성합니다.

공격자가 시스템에 대해 얼마나 알고 있는지로 공격 유형을 구분할 수 있습니다. 공격자는 완벽한 지식(백상자 공격)을 가지고 있을 수 있습니다. 즉, 모델의 유형, 매개변수 및 교육 데이터와 같은 모델에 대한 모든 것을 알고 있습니다. 공격자는 부분적인 지식(회색 상자 공격)을 가질 수 있습니다. 즉, 사용된 특징과 모델 유형만 알 수 있을 뿐 교육 데이터 또는 파라미터에는 액세스할 수 없습니다. 공격자는 제로 지식(블랙박스 공격)을 가질 수 있습니다. 즉, 블랙박스 방식으로 모델을 쿼리할 수 있을 뿐 모델 파라미터에 대한 교육 데이터 또는 정보에 액세스할 수 없습니다. 정보 수준에 따라 공격자는 다른 기법을 사용하여 모델을 공격할 수 있습니다. 사례에서 살펴본 바와 같이 블랙박스 사례에서도 적대적 예를 만들 수 있으므로 데이터와 모델에 대한 정보를 숨기는 것으로 공격을 방지하는 데 충분하지 않습니다.

공격수들과 수비수들 사이의 고양이와 쥐의 게임의 성격을 고려할 때, 우리는 이 분야에서 많은 발전과 혁신을 보게 될 것입니다. 끊임없이 진화하고 있는 많은 종류의 스팸 메일을 생각해 보세요. 기계 학습 모델에 대한 새로운 공격 방법이 발명되고 이러한 새로운 공격에 대한 새로운 방어 조치가 제안됩니다. 최신 방어를 회피하기 위해 더 강력한 공격이 개발됩니다. 이 챕터에서는 적대적 사례의 문제에 민감하게 반응하고 기계 학습 모델을 사전에 연구해야만 문제를 해결할 수 있습니다.


  1. Szegedy, Christian, et al. “Intriguing properties of neural networks.” arXiv preprint arXiv:1312.6199 (2013). 

  2. Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. “Explaining and harnessing adversarial examples.” arXiv preprint arXiv:1412.6572 (2014). 

  3. Su, Jiawei, Danilo Vasconcellos Vargas, and Kouichi Sakurai. “One pixel attack for fooling deep neural networks.” IEEE Transactions on Evolutionary Computation (2019). 

  4. Brown, Tom B., et al. “Adversarial patch.” arXiv preprint arXiv:1712.09665 (2017). 

  5. Athalye, Anish, and Ilya Sutskever. “Synthesizing robust adversarial examples.” arXiv preprint arXiv:1707.07397 (2017). 

  6. Papernot, Nicolas, et al. “Practical black-box attacks against machine learning.” Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security. ACM (2017). 

  7. Biggio, Battista, and Fabio Roli. “Wild Patterns: Ten years after the rise of adversarial machine learning.” Pattern Recognition 84 (2018): 317-331.