늦깎이 공대생의 인공지능 연구실

[해석할 수 있는 기계학습(6-2)]적대적 예제(Adversarial Examples) 본문

해석할 수 있는 기계학습/6. 예제 기반 설명

[해석할 수 있는 기계학습(6-2)]적대적 예제(Adversarial Examples)

Justin T. 2021. 2. 4. 22:07

 

 적대적 예제(Adversarial examples)는 기계 학습 모델이 잘못된 예측을 하게 하는 작고 의도적인 특성 변화를 가진 인스턴스입니다. 개념들이 매우 비슷하기 때문에 먼저 '반사실적 설명'에 관한 개념을 읽어보는 것을 추천 드립니다. 적대적 예제는 모델을 해석하는 것이 아니라 속이는 것을 목적으로 하는 반사실적 예제입니다.

 

 왜 우리는 적대적 예제에 관심을 갖게 될까요? 이 예제는 실제 관련성이 없는 기계 학습 모델에서 파생된 의문투성이의 부산물일 뿐이지 않을까요? 대답은 분명히 "no"입니다. 적대적 예제는 아래와 같은 시나리오에서와 같이 기계 학습 모델을 공격에 취약하게 만듭니다.

 

 자율주행 자동차가 정지 신호를 무시해 다른 차를 들이받습니다. 누군가 표지판 위에 그림을 붙여놓았는데, 이 표지판이 사람이 보기엔 약간의 흙이 묻어 있는 정지표지판처럼 보이지만, 자동차 표지판 인식 소프트웨어에는 주차금지 표지판처럼 보이도록 설계되어 있는 경우는 어떨까요?

 

 스팸 탐지기가 이메일을 스팸으로 분류하지 못합니다. 스팸 메일은 일반적인 이메일과 유사하지만 수신인을 속일 목적으로 설계되어 있습니다.

 

 기계 학습으로 동작하는 스캐너는 공항 물류시스템을 통과하는 여행 가방에 무기가 들어있는지 스캔합니다. 칼 한 자루가 시스템이 우산이라고 판단하도록 하여 발각되지 않도록 개발되는 것과 같이 말이지요.

 

 적대적 예제를 생성하는 몇 가지 방법들을 함께 살펴보도록 합시다.

방법과 예제

 적대적 예제를 생성하는 많은 방법들이 있습니다. 대부분의 접근 방식은 적대적 예제와 조작할 인스턴스 사이의 거리를 최소화하는 동시에 예측을 원하는 (적대적) 결과로 바꿔버릴 것을 제안합니다. 일부 방법은 모델의 기울기에 대한 액세스가 필요하며, 물론 신경망과 같은 기울기 기반 모델에서만 동작하며, 다른 방법은 예측 함수에 대한 액세스만 요구하므로 이러한 방법을 모델 불특정성(Model-agnositc)으로 만듭니다. 이 분야에서 많은 연구가 수행되고 적대적 이미지의 시각화가 매우 교육적이기 때문에 여기서 다루고자 하는 방법은 심층 신경망을 가진 이미지 분류기에 집중하고자 합니다. 이미지의 적대적 예제는 적용 시간 동안 모델을 속이기 위한 목적으로 의도적으로 교란된 픽셀을 가진 이미지입니다. 이 예제들은 물체 인식을 위한 심층 신경망이 인간에게 무해한 것처럼 보이는 이미지를 얼마나 쉽게 속일 수 있는지를 인상적으로 보여줍니다. 만약 여러분이 아직 이러한 예제들을 보지 못했다면, 여러분도 놀랄지도 모릅니다. 왜냐하면 예측의 변화는 인간 관찰자로서는 이해할 수 없기 때문이지요. 적대적 사례는 사람에게만 적용되는 착시현상과 같지만 기계학습 또한 이에 해당될 수 있을지도 모릅니다.

나의 강아지에게 문제가 있는 것일까

 Szegedy et al. (2013)은 심층 신경망에 대한 적대적 예제를 찾기 위해 그들의 연구 "Intriguing Properties of Neural Network"에서 기울기 기반 최적화 접근법을 사용했습니다.

Szegedy et. al(2013)의 AlexNet에 대한 적대적 예제. 왼쪽 열에 있는 모든 영상은 올바르게 분류됩니다. 가운데 열에는 영상에 추가된 (증폭된) 오류가 표시되어 오른쪽 열의 영상을 모두 "타조"로 (잘못)분류됩니다. "Intriguing properties of neural networks", Figure 5 by Szegedy et. al. CC-BY 3.0.

 이러한 적대적 예제는 r과 관련하여 아래의 함수를 최소화함으로써 생성됩니다.

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

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

교란된 팬더: FGSM(Fast gradient sign method)

Goodfellow et. al(2014)는 적대적 이미지를 생성하기 위한 빠른 기울기 부호 방법(FGSM)을 제안했습니다. FGSM은 적대적 예제를 찾기 위해 기본 모델의 기울기(gradient)을 사용합니다. 원본 영상 x는 각 픽셀에 작은 오류 ϵ를 추가하거나 빼서 조작합니다. ϵ를 더하거나 빼는 것은 픽셀의 기울기 부호가 양수인지 음수인지에 따라 달라집니다. 기울기 방향에 오류를 추가한다는 것은 모델 분류가 실패하도록 이미지가 의도적으로 변경되었음을 의미합니다.

 

 아래의 공식은 FGSM의 핵심을 설명합니다.

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

 여기서 \(\bigtriangledown_x{}J\)는 원래 입력 픽셀 벡터 x에 대한 모델 손실 함수의 기울기입니다. y는 x에 대한 true 레이블 벡터이고 θ는 모델 파라미터 벡터입니다. 기울기 벡터(입력 픽셀의 벡터 길이만큼)에서 다음과 같은 기호만 있으면 됩니다 -기울기의 부호는 픽셀 강도가 증가하면 양(+1)이 되고, 픽셀 강도가 감소하면 음(-1)이 됩니다- 이 취약성은 신경망에서 입력 픽셀 강도와 클래스 점수 사이의 관계를 선형적으로 처리할 때 발생합니다. 특히 LSTM, maxout 네트워크, ReLU 활성화 단위를 가진 네트워크 또는 로지스틱 회귀와 같은 다른 선형 기계 학습 알고리즘과 같이 선형성을 선호하는 신경망 아키텍처는 기울기 부호 방법에 취약합니다. 이러한 공격은 추론에 의해 수행됩니다. 입력 픽셀 명암과 클래스 점수 사이의 선형성은 이상치(outlier)에 대한 취약성으로 이어집니다. 즉, 픽셀 값을 데이터 분포 밖의 영역으로 이동시켜 모델을 속일 수 있습니다. 이러한 적대적 예제가 주어진 신경망 아키텍처에 상당히 구체적으로 적용될 것으로 예상합니다. 그러나 동일한 작업에 대해 훈련된 다른 아키텍처로 네트워크를 속이기 위해 적대적 예제를 재사용할 수 있습니다.

 

 Goodfellow et. al(2014)은 강력한 모델을 학습하기 위해 학습 데이터에 적대적 예제를 추가할 것을 제안했습니다.

해파리...가 아니라 욕조였네: 1픽셀 공격

 Goodfellow 교수와 그 동료들(2014년)이 제시한 접근 방식은 작은 변화를 위해 많은 픽셀이 변경되는 것을 요구합니다. 하지만 만약 여러분이 단 하나의 픽셀만 바꿀 수 있다면 어떨까요? 여러분은 기계 학습 모델을 속일 수 있을까요? Su et. al(2019)는 단일 픽셀을 변경하여 이미지 분류기를 속이는 것이 실제로 가능하다는 것을 보여주었습니다.

단일 픽셀을 의도적으로 변경함으로써 ImageNet에서 훈련된 신경망을 속여 원래 클래스 대신 잘못된 클래스를 예측할 수 있다.

 반사실적 요소와 유사하게, 1픽셀 공격은 원본 이미지 x에 근접한 수정된 예제 x'를 찾지만, 예측은 적대적 결과로 변경됩니다. 그러나 근접성의 정의는 서로 다릅니다. 단일 픽셀만 변경할 수 있습니다. 1픽셀 공격은 미분 진화를 통해 어떤 픽셀을 어떻게 변경해야 하는지 파악합니다. 미분 발전(Differential evolution)은 생물 종의 진화에서 느슨하게 영감을 받습니다. 후보 솔루션이라고 불리는 개체군은 솔루션이 발견될 때까지 세대별로 재결합합니다. 각 후보 솔루션은 픽셀 수정을 인코딩하고 5개 요소의 벡터, 즉 x 좌표와 y 좌표와 빨강, 녹색, 파랑 값으로 표현됩니다. 탐색은 예를 들어 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개의 속성을 가진 픽셀이 되며 각각의 속성은 세 개의 랜덤 상위 픽셀의 혼합입니다.

 

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

모든 것이 토스터기입니다. 적대적 패치(Adversarial patch)

 가장 흥미로운 방법 중 하나는 물리적인 현실로 적대적 예제를 가져오는 것입니다. Brown et. al (2017)은 이미지 분류기가 토스터처럼 보이도록 객체 옆에 붙일 수 있는 눈에 띄는 레이블을 설계하였습니다. 상당히 기발한 작품입니다!

ImageNet에서 학습된 VGG16 분류기를 만드는 스티커는 바나나의 이미지를 토스터로 분류합니다. Brown et. al(2017년)

 

 이 방법은 적대적 이미지가 원래 이미지와 매우 가까워야 한다는 제한이 사라졌기 때문에 적대적 예제에 대해 지금까지 제시된 방법과 다릅니다. 대신, 이 방법은 이미지의 일부를 모든 모양을 취할 수 있는 패치로 완전히 바꿉니다. 패치의 이미지는 다른 배경 이미지를 통해 최적화되며, 패치가 여러 상황에서 동작하도록 패치의 위치가 서로 다르고, 때로는 더 크거나 더 작고, 때로는 회전하기도 합니다. 결국, 최적화된 이 이미지를 도출하여 실전에서 이미지 분류기를 속이는 데 사용할 수 있습니다.

컴퓨터가 좋은 아이디어라고 생각하더라도 3D 인쇄 거북이를 총싸움에 끌어들이지 마십시오. 강건한 적대적 예제(Robust adversarial examples)

 다음 방법은 말 그대로 토스터기에 다른 차원을 추가하는 것입니다. Athaly et. el(2017)은 거의 모든 가능한 관점에서 깊은 신경망에 라이플 소총처럼 보이도록 설계된 거북이를 3D 프린터로 구현했습니다. 맞아요, 여러분들이 이해한 그대로입니다. 사람들에게 거북이처럼 보이는 물리적인 물체는 컴퓨터는 라이플 소총처럼 보입니다!

Athalyet et. al(2017)은 TensorFlow에서 미리 학습된 Inception V3 분류기에 의해 소총으로 인식되는 3D 인쇄물을 만들었다.

 

 저자들은 거북이를 회전하거나, 확대하는 등과 같은 변환에 대해 적대적 2D 분류기에 대한 적대적 예제를 3D로 만드는 방법을 발견했습니다. 영상이 회전하거나 시야각이 변경되면 빠른 기울기 방법과 같은 다른 접근 방식은 더 이상 동작하지 않습니다. Athaley et. al(2017)은 이미지 변환 시에도 동작하는 적대적 예제를 생성하는 방법인 EOT(Expectation Over Transformation) 알고리즘을 제안합니다. EOT 이면의 주요 아이디어는 가능한 많은 변환에 걸쳐 적대적 예제를 최적화하는 것입니다. EOT는 적대적 예제와 원본 이미지 사이의 거리를 최소화하는 대신 가능한 변환의 선택된 분포에 따라 둘 사이의 예상 거리를 특정 임계값 아래로 유지합니다. 변환 중인 예상 거리는 다음과 같이 나타낼 수 있습니다.

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

 여기서 x는 원래 이미지, t(x)는 변환된 이미지(예: 회전), x'은 적대적 예제, t(x')는 변환된 버전의 이미지입니다. 변환의 분포와 함께 동작하는 것 외에도, EOT 방법은 적대적 예제에 대한 검색을 최적화 문제로 프레이밍하는 친숙한 패턴을 따릅니다. 가능한 변환의 분포에 걸쳐 선택된 클래스 \(y_t\)(예: "라이플 소총")에 대한 확률을 최대화하는 적대적 예제 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 인쇄된 강력한 적대적 예제는 실제 장면에 삽입될 수 있으며 컴퓨터를 속여 개체를 잘못 분류할 수 있습니다. 한 번 거북이를 돌려볼까요? 만약 누군가가 거북이처럼 생긴 소총을 만든다면 어떨까요?

눈을 가린 적수: 블랙박스 공격(Black box attack)

 다음과 같은 시나리오를 상상해 봅시다. 웹 API를 통해 여러분들이 훌륭한 이미지 분류기에 접근할 수 있다고 합시다. 모형에서 예측을 가져올 수 있지만 모형 파라미터에 접근할 수는 없습니다. 소파에서 편하게 해당 웹의 데이터 및 서비스 답변을 보낼 수 있습니다. 대부분의 적대적 공격은 적대적 예제를 찾기 위해 기본 심층 신경망의 기울기에 대한 액세스가 필요하기 때문에 이 시나리오에서 작동하도록 설계되지 않았습니다. Papernot과 동료들(2017)은 내부 모델 정보 없이 학습 데이터에 액세스하지 않고도 적대적 예제를 생성할 수 있음을 보여주었습니다. 이러한 유형의 (거의) 제로 지식 기반의 공격을 블랙박스 공격이라고 합니다.

 

블랙박스 공격은 어떤 방식으로 동작할까요?

  1. 공격할 분류기가 수치 분류기일 경우, 학습 데이터와 동일한 도메인에서 가져온 몇 개의 이미지로 시작하여 수치 이미지를 사용합니다. 도메인에 대한 지식이 필요하지만 학습 데이터에 액세스할 수는 없습니다.
  2. 블랙박스로부터 현재 이미지셋에 대한 예측을 얻습니다.
  3. 현제 이미지셋을 기반으로 대체 모델(Surrogate model)을 학습시킵니다.(인공신경망 등)
  4. 픽셀을 조작하여 모델 출력의 분산을 더 많이 갖도록 하는 방향에서 현재 이미지셋을 검사하는 휴리스틱을 사용하여 합성 이미지셋을 새로 만듭니다.
  5. 위 2~4단계를 반복합니다.
  6. 빠른 기울기 방법(또는 유사한 방법)을 사용하여 대체 모델에 대한 적대적 예제를 생성합니다.
  7. 적대적 예제로 원본 모델을 공격합니다.

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

 

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

사이버 보안의 관점

 기계학습은 알려진(Known) 미지의 정보(Unknown)를 다룹니다. 즉, 알려진 분포로부터 알려지지 않은 데이터 포인트를 예측합니다. 공격에 대한 방어는 알려지지 않은 미지의 정보(Unknown)를 다룹니다. 즉, 적대적 입력의 알려지지 않은 분포로부터 알려지지 않은 데이터 포인트를 강력하게 예측합니다. 기계학습이 자율주행차나 의료기기 등 점점 더 많은 시스템에 통합되면서 공격의 진입점이 되기도 합니다. 테스트 데이터셋에 대한 기계학습 모델의 예측이 100% 정확하더라도 모델을 속이는 적대적 사례를 발견할 수 있습니다. 사이버 공격에 대한 기계학습 모델의 방어는 사이버 보안 분야의 새로운 장이기도 합니다.

 

 Biggio et. al (2018)는 이러한 적대적 예제가 기반이 되는 적대적 기계학습에 대한 10년간의 연구에 대한 좋은 리뷰를 제공합니다. 사이버 보안은 공격과 수비가 몇 번이고 엎치락뒤치락 하는 군비경쟁이죠.

 

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

 

 애플리케이션마다 적이 다릅니다. 돈을 벌기 위해 이메일을 통해 다른 사람을 속이려고 하는 사람들은 이메일 서비스의 사용자와 메일 서비스 제공자의 골칫거리인 적입니다. 메일 서비스 제공자는 메일 프로그램을 계속 사용할 수 있도록 사용자를 보호하길 원하고, 공격자는 사용자의 돈을 갈취하길 원합니다. 적들을 안다는 것은 그들의 목표를 안다는 것을 의미합니다. 여러분들이 스팸 발송자의 존재를 모르고 전자 메일 서비스의 유일한 남용이 불법 복제 음악 파일 첨부 발송이라고 가정하였을때, 방어방법은 달라질 수 있습니다(예: 스팸 표시기에 대한 텍스트를 분석하는 대신 저작권으로 보호된 자료에 대한 첨부 파일 검색).

 

 능동적으로 대처한다는 것은 시스템의 약점을 적극적으로 테스트하고 식별하는 것을 의미합니다. 적대적 예제를 사용하여 모델을 적극적으로 속인 다음 이를 방어하려고 할 때 능동적으로 대처합니다. 해석 방법을 사용하여 어떤 특성이 중요하고 어떤 특성이 예측에 어떻게 영향을 미치는지 이해하는 것도 기계학습 모델의 약점을 이해하는 사전 예방적 단계라 할 수 있습니다. 데이터 과학자로서, 테스트 데이터셋의 예측 능력을 넘어서는 것을 확인하지 않은 채 이 위험한 세상에서 여러분들이 만들어낸 모델을 신뢰하시나요? 여러 시나리오에서 모델이 어떻게 동작하는지 분석하고, 가장 중요한 입력을 식별하고, 몇 가지 예제에 대한 예측 설명을 확인하셨나요? 적대적 입력을 찾으셨나요? 기계학습 모델의 해석력은 사이버 보안에 중요한 역할을 합니다. 능동적인 대응과 반대로 대응한다는 것은 시스템이 공격을 받을 때까지 기다렸다가 문제를 이해하고 몇 가지 방어 수단을 설치하는 것을 의미합니다.

 

 기계학습 시스템을 적대적 예제로부터 어떻게 보호할 수 있을까요? 사전 예방적 접근 방식은 적대적 예제를 사용하여 분류기를 반복적으로 재교육하는 것으로, 적대적 훈련(Adversarial training)이라고도 합니다. 특성의 불변 변환을 학습하거나 강력한 최적화(정규화)와 같은 다른 접근 방식은 게임 이론에 기초합니다. 또 다른 제안된 방법은 하나의 분류기 대신 여러 분류기를 사용하고 예측(앙상블)에 투표하도록 하는 것이지만, 이는 모두 유사한 적대적 예제에 당할 수 있기 때문에 효과가 없습니다. 잘 작동하지 않는 또 다른 접근 방식도 기울기 마스킹으로, 원래 모델 대신 가장 가까운 이웃 분류기를 사용하여 유용한 기울기 없이 모델을 구성합니다.

 

 공격자가 시스템에 대해 얼마나 알고 있는지를 기준으로 공격 유형을 구분할 수 있습니다. 공격자는 완벽한 지식(화이트 박스 공격)을 가질 수 있으며, 모델 유형, 매개 변수 및 학습 데이터와 같은 모델에 대한 모든 것을 알고 있을 수 있습니다. 다른 유형으로, 공격자는 부분 지식(그레이 박스 공격)을 가질 수 있으며, 사용된 특성 표현 및 모델 유형만 알 수 있을 뿐 학습데이터 혹은 매개 변수에 접근할 수 없습니다. 세 번째 유형으로, 공격자는 아무런 지식(블랙박스 공격)이 없을 수 있습니다. 즉, 블랙박스 방식으로만 모델을 쿼리할 수 있을 뿐 모델 매개 변수에 대한 학습 데이터 또는 정보에 젭근할 수 없습니다. 정보 수준에 따라 공격자는 여러 가지 기술을 사용하여 모델을 공격할 수 있습니다. 예제에서 보았듯이, 블랙박스 사례에서도 적대적 예제를 만들어 데이터 및 모델에 대한 정보를 숨기는 것으로는 공격으로부터 보호하는 데 충분하지 않습니다.

 

 공격과 수비간의 고양이-쥐 게임 성격을 감안할 때 이 분야는 많은 발전과 혁신을 보게 될 것입니다. 끊임없이 진화하고 있는 수많은 종류의 스팸 전자 메일을 생각해 봅시다. 기계학습 모델에 대한 새로운 공격 방법이 발명되고 이러한 새로운 공격에 대한 새로운 방어 수단이 제안됩니다. 최신 방어 등을 회피하기 위해 더욱 강력한 공격 또한 개발됩니다. 이 챕터를 통해 이 분야를 연구하는 연구원들이 적대적 예제의 문제에 민감하게 반응하고 기계학습 모델을 능동적으로 연구해하여 약점을 발견해내 해결할 수 있기를 바랍니다.

 

참고자료: https://christophm.github.io/interpretable-ml-book/adversarial.html

 

6.2 Adversarial Examples | Interpretable Machine Learning

Machine learning algorithms usually operate as black boxes and it is unclear how they derived a certain decision. This book is a guide for practitioners to make machine learning decisions interpretable.

christophm.github.io

 

 

반응형