제목
ZOO: Zeroth Order Optimization Based Black-box Attacks to Deep Neural Networks without Training Substitute Models
-> 학습 치환 모델 없이 DNN 에 대한 블랙 박스 기반 제로스 오더 최적화 공격
요약
심층신경망(Deep Neural Network)은 오늘날 최고의 기술로 이미지 분류,텍스트 마이닝, 스피치 프로세스에 국한하지 않고 발전하고 있다. 하지만 최근 DNN에 연구에 따르면 보안에서 adversarial example 에 의한 취약점에 관한 우려가 커지고 있다고 합니다. 특히 자율 주행을 위한 교통 표지판 식별과 같은 영역에서 취약하다고 합니다. 이 연구에서는 잘 학습된 DNN이 adversarial 이미지를 거의 알아차리지 못하고 오분류로 이끌었다고 합니다. 또한 이 분들은 간단한 학습과 공격으로 adversarial image 로 변화시켜 DNN에 블랙 박스 공격을 가할 수 있다고 합니다. 학습 치환 모델과 설정이 유사하고 이 논문에서는 효율적인 블랙 박스 어택을 제안합니다. 또 타겟 DNN의 입력과 출력단의 접근 권한을 허용하여 효율적이라고 합니다. 하지만 치환 모델로 부터 공격 트랙서빌리티를 활용하는 것과는 다르게 이 논문에서는 제로스 오더 업티말제이션 즉 ZOO 라고 불리는 기술을 제안합니다. 이기술은 adversarial example 을 생성하는 타겟 DNN 의 gradient, 기울기 즉 방향성을 직접적으로 예측하는 걸 기반으로 합니다. 우리는 차수를 줄이고 또 hierarchial attack 그리고 중요도 샘플링 기술을 통해서 효과적으로 블랙 박스 모델을 공격할 수 있습니다. 제로스 오더 최적화로 공격함으로써 향상된 공격을 실행할 수 있고 삭습된 치환 모델의 필요를 나눌 수 있고 트랜서빌티 공격에서 로스를 피할 수 있습니다. MNIST, CIFAR10 , ImageNet 실험결과ZOO 공격은 white-box 어택에도 효울적이라고 합니다.그리고 대체모델을 통한 기존 블랙박스 공격보다 좋다고 할 수 있습니다.
여기선 zeorth order 을 이용하는데 영차 근사 방법이라고 부를 수 있을거 같습니다. 일차 근사도 이차근사도 있는데 대표적인 일차 근사는 Stochastic gradient descent 이차근사는 뉴턴 멘소드가 존재합니다. 둘 다 최적화 방식입니다.
도입
DNN은 AI가 전성기를 맞을 수 있었던 핵심 기술입니다. 컴퓨터 비전, 이미지 분류, 기계 번역, 그리고 언어 처리 등등에 활용이 되었습니다. 하지만 최근 연구들에서는 DNN이 adversarial example 에 취약하다는 것이 알려졌습니다. 특히 신뢰성이 필요한 자율주행이라든지 멀웨어 예방 같은 경우 더 중요하죠. 과거에 화이트 박스 환경에서 DNN의 취약점에 대한 연구가 있었습니다. 역전파를 수행하는 능력을 부여해서 Gradient descent 을 가능하게 해여 DNN 을 공격할 수 있습니다. 이미지 분류에서 역전파는 이미지 레이블 예측을 위한 출력값의 픽셀을 변경시켰습니다. 하지만 현실에서는 내부 시스템을 공개하는 경우가 거의 없기 때문에 사실상 화이트 박스 설정을 유의미하다고 보기는 어렵습니다. 그래서 이 논문에서는 블랙 박스 공격을 진행합니다. 특히 CNN으로 학습된 이미지 분류를 하는 타겟티드 DNN 에 대해 이 논문에서는 집중을 하고 있습니다.
이 논문에서는 두가지 타입의 블랙박스 어택을 고려합니다. 올바르게 라벨링 되어진 언타겟팅 공격으로 오분류를 하게 만드는 것과 어떤 클래스로 분류되게 만드는 타겟팅 공격입니다. 그림 1을 보면 예시가 나와있습니다. 또 핵심은 사람의 눈으로 보았을때 차이가 없어야한다는 겁니다.
3. 학습 치환 모델이 없는 블랙박스 어택, zoo 에 대해 확인해보겠습니다. 그림 2와 같이 블랙 박스 공격을 일 때 쿼리가 허용이 되고 역 전파와 같은 내부 상태에 대한 액세스는 허용이 안되는 것을 볼수있다. 타겟팅을 나타내는데 F(x) 표기법을 쓰고 여기에서는 [F(x)]k = 1 부분은 x 가 k 클래스 일 경우를 나타내는 확률 값이고 이 값을 다 합치면 1이 나올 겁니다.
이 논문에 나온 블랙 박스 공격은 C&W attack을 공식화하는데서 영향을 받았다고 합니다. 이 공격은 DNN에 가장 강력한 화이트 박스 공격입니다. 이미지 x0가 주어지고 x 가 t 로 오분류하게 하는 거니 C&W 어택은 adversarial example x 를 찾는 거 일겁니다. 여기 수식을 보면 두 개의 항으로 이루어져 있다는 것을 알 수 있습니다. 첫번째 항은 adversarial example와 원본 이미지의 유사성을 나타낼 수 있습니다. 또 x-x0 이 perturbation 이기 때문이기도 합니다. 두번째 항인 c f(x,t)는 로스 함수 입니다. adversarial example이 얼마나 성공하였는지를 나타내 주는 것죠. 이 함수는 (2) 처럼 이루어져 있습니다. 이건 가장 효과적인 타겟팅 어택을 나타낸 겁니다.
Z(x)는 logit layer representation 이는 [Z(x)]k 가 x 가 클래스 k 에 속하는지를 예측하는 확률입니다. 여기 k 는 attack transferability 를 위한 튜닝 파라미터입니다. C두 사람은 이걸 0으로 설정해서 targeted DNN을 공격합니다. 이 DNN F(x) 의 아웃풋은 활성화 함수인 소프트 맥스 함수에 의해 결정이 됩니다. 따라서 소프트 맥스의 결정에 따르면 이 둘의 차이가 음수가 되면 높은 아웃풋, adversarial example x 가 높다, 공격이 성공적이라는 것을 알 수 있습니다. 만약 이 차가 양수가 되면 공격은 실패했다는 것을 알 수 있죠. 이 카파의 역할은 이 둘 사이의 차를 보장하는 역할을 합니다. 그래서 k를 높게 세팅해야 효율적인 트랜스펄 공격인 이유가 설명이 됩니다. 마지막으로 박스의 제약조건이 있고 adversarial example은 유의미한 곳에 있어야한다는 걸 보여주고 있습니다. 실제로 각 필셀을 분할해서 모든 이미지가 이 제약조건을 충족 시킬 수 있다고 합니다. 여기서 이 변수 변경을 통해 최적화 문제가 발생합니다. 이는 DNN 최적화 기술인 역전파를 통해서 해결이 가능하다고 합니다.
3.3 Proposed black-box attack via zeroth order
stochastic coordinate descent 을 제안합니다. (1) 과 (2) 식을 사용한 공격은 화이트 박스임을 가정한 공격입니다. 계층이를 해결하기 위해서는 targeted DNN에 역전파 가 필요합니다. 다음을 통해 블랙 박스 설정을 해보도록 하겠습니다. 1. loss fuction을 수정한다. 1에서 f(x,t) 를 오직 DNN의 출력 F와 분류되길 원하는 클래스 라벨t 에 따라 수정합니다. 두번째는 실제적인 역전파대신 유한차분법을 사용해서 대략적인 기울기를 구합니다. 여기서 유한 차분법이란함숫값의 차를 이용해 미분 계수를 근사하는 방식인 유한 차분을 이용해 편미분 방정식을 근사하는 방식입니다.
Loss function 쪽을 보면 식(2) 에서 변형을 했다는 걸 볼 수 있습니다. 식(2)는 t[Z(x)]i − [Z(x)]t , −κ}, (2)이렇게 f (x, t ) = max{maxt[Z(x)]i − [Z(x)]t , −κ}, (2) 이렇게 생겼습니다. 여기에 DNN의 출력인 F를 통해 새로운 로스 펀션을 정의했습니다.여기서 로그는 단조 함수이기 때문에 이는 식에 있는 로그 두 항이 0보다 작아서 클래스 t 에 관한 공격의 성공을 의미한다고 합니다. 이 논문에서는 잘 학습된 DNN 이 출력 F 에편향된 확률 분포를 산출하여 어떤 한 클래스가 다른 클래스에 영향을 주기 때문에 로그 연산자가 이 논문에서의 블랙박스 공격에 필수적이라고 이야기 하고 있습니다. 보시면 편향된 확률 분포는 이렇게 파랑색과 같은 확률분포를 의미하는데 편향도가 작은 확률분포에 비해 값 두개를 잡았을때 이 차가 큰 것을 볼 수 있습니다. 이 로그의 단조성 때문에 신뢰성 점수에 관한 순서, 즉 차는 유지하면서 dominance 는 죽일 수 있습니다. 그리고 이 카파의 역할은 여기서도 동일하게 일정한 차를 보장하는 역할을 합니다. untargeted attack일 경우 x가 원래 클래스가 아닌 다른 클래스 t0 로 분류될때 성공했다고 할 수 있습니다. (5)의 식은 원래 클래스 레벨 t0 넣고 이 두번째 항은 t0을 제외한 값 중에 가장 예측 값이 높은 클래스가 나타나는 걸 의미합니다. 이것이 클래스 x 에 있어 untargeted attack이 성공 확률인 로스 함수를 나타내는 것일겁니다.
다음은 로스 함수에 대한 제로스 오더 최적화인데요 공격에 사용된 모든 함수 f 에 대한 최적화 기술에 대해 이야기 합니다. 저희는 대괄호 23 논문에 나오는 시멘틱 디프런스 쿼이션 을 사용해 이 기울기를 측정할 건데요. 보시면 기울기를 구하는 식인 걸 볼 수 있는데요. 이 논문에서는 h를 작은 상수로, 0.0001 로 설정하는 게 좋았다고 이야기를 하고 있네요.이는 표준 기저 벡터입니다. 표준기저 벡터는 기저 벡터 중에서 원소 하나만 값이 1 이고 다른 값은 0으로 이루어진 값을 이야기 합니다. 여기서는 측적의 오류가 생길 수 있지만 제한된 수 안에서 정확도는 그렇게 높지 않아도 된다고 합니다. FGSM 을 예로 들면 adversa nrial example 을 찾기 위해서 기울기의 부호 값만 필요하다고 하네요. 그러므로 zeroth order 측정이 그렇게 정확하지 않더라도 이 논문에서의 실험은 높은 성공률을 달성할 수 있었다고 이야기를 합니다. (7) 은 편미분을 한번 더 할경우 헤세 추정값도 얻을 수가 있습니다. 헤세 행렬은 미적분에서 어떤 함수의 이계 도함수 즉 미분을 두번한 값들을 행렬로 표현한겁니다. 주목할 적은 모든 p 좌표을 한번씩만 평가하면 된다는 건데요. 이렇게 하면 추가적인 함수 계산없이 헤세 estimates을 얻을 수가 있습니다. 또 여길 보시면 mini-batch로 빠르게 최적값을 찾아가는 stochastic gradient descent 와 full-batch로 최적값을 찾는 Gradient Descent 가 DNN 을 학습하는데 가장 많이 쓰이는 학습 방법이고 C&W 공격에서도 화이트박스 세팅에서 gradient descent 를 사용했다고 합니다. 하지만 이러한 역전파를 통한 기울기 계산이 금지되어 있기에 이걸 해결 하기 위해선 6과 같은 방식의 기울기 계산에 2p 목적 함수가 이 필요합니다. 하지만 이 방식은 또 너무 비싸기 때문에 사용할 수가 없습니다. 그래서 논문에서는 이 문제를 해결하기 위해서 또다시 각 단계에서 단 2번의 함수 평가만이 필요한 좌표 업데이트를 제안합니다.
Stochastic coordinate descent 은 최적화에 관한 논문인 3번에서 나오는 데요. 각 반복에서 하나의 좌표를 무작위하게 선택하여 좌표를 통한 목적함수를 최소화를 합니다. 슈도코드를 보면 디테일한 부분을 확인할 수 있습니다. 간단하게 말하자면 여기 알고리즘 2에서 제로스 오더 좌표 ADAM을 사용하고 알고리즘 3에서는 뉴턴을 사용하는데 이 논문의 실험 결과로 ADAM을 이용하는 것이 뉴턴 방식을 사용하는 것보다 빠르다고 합니다. 또한 입력크기 p가 큰 경우의 네트워크일 경우 많은 수의 기울기를 계산해야하기 때문에 zeroth order method 는 느려질 수 있어서 델타 엑스를 직접 최적화하는 대신에 차원 감소 D(y)를 사용한다고 합니다. 이 방식은 선형 또는 비선형 모두 가능합니다. 그러면 이 식에서 델타 x 대신에 D(y)를 사용하겠습니다. 이를 사용하면 효과적으로 공격스페이스를 p 에서 m으로 줄일 수 있다고 합니다. 보시면 p = 299x299x3 을 m = 32x32x3 으로 줄일 수 있다고 합니다. 4절에서 좀 더 자세히 이 방식에 ㅐㄷ해서 보여줄 것이라고 합니다.
Hierarchical attack
위에서 이야기 했던 m이 작은 m 으로 어택 공각이 차원 감소 사용할 경우 zeroth order method 를 사용하면서 최적화하기 효율적이지만 검색 공간이 줄어듭니다. 즉 유효한 공격을 발견 못할 수 있다는 거죠. 반대로 큰 m을 사용하면 유효한 공격을 발견할 수 있지만 최적화는 오래 걸릴 수 있죠. 여기보면 예시로 이미지 스케일링에 차원 감소 공격을 이용하는 부분들이 나왔습니다. D1 의 경우 m1 = 32 x 32 x 3 tp 299 x 299 x 3 까지이고 D2 의 경우 m2 = 64 x 64 x 3 tp 299 x 299 x 3 입니다. m1 32 x32 x3 변수로 시작해서 D1 변환으로 최적화를 하고 더 큰 공격 공간이 필요할 때까지 반복을 한 후 64 x 64 x 3 으로 올린 후 반복엔 D2 변환을 사용합니다. 그림 3을 중요도 샘플링 그림입니다. 첫번째 그림에서 특정 부분의 픽셸 값의 RGB 채널의 큰 변화를 볼 수 있습니다. 특히 R에서 변화가 두드러지는 데요. 여기는 targeted attack 은 실패하지만 노이즈가 단서를 제공합니다.이 논문에서는 더 큰 차원을 늘리고 노이즈를 통해 중요한 픽셸을 샘플링한다고 합니다.
좌표 descent 의 이점은 업데이트할 좌표를 선택할 수 있다는 겁니다. 블랙박스에서는 이와 같은 예측들이 비싸기 때문에 중요도 샘플링으로 픽셀로 선택적 업데이트를 하는 게 좋습니다. 예를 들면 이미지 가장자리에 있는 픽셀들은 대게 덜 중요한데 이미지의 핵심이 되는 인물이나 물건의 근처 픽셸은 공격의 핵심적입니다. 따라서 공격 과정에서 주 객체에 가까운 픽셸로 많이 샘플링 합니다. 이미지를 8 8 영역으로 나누고 해당 영역에서 픽셀 값에 따라 샘플링 확률을 할당할지를 결정합니다. 상향 샘플링을 하면서 값을 정규화 하고 반복할 때마다 표본 추출 확률을 갱신합니다. 앞에서 이야기 했던 그림 3은 픽셸 변경 실제 사례와 중요도 샘플링 확률의 에너지화 방법을 보여준거죠. 공격 공격이 작을 경우 (32 x 32x 3) 공격 공간을 충분히 검색하기 위해서 중요도 샘필링을 사용하지 않습니다. 즉 이 hierarchical attack 을 통해 공견 공간의 차원을 증가 시킬때 중요도 샘플랭은 점점 중요해집니다. 뒤에 나올 4절에서 이 중요도 샘플링의 역할이 나옵니다.
4에서는 성능 평가를 진행하는데 4.1 은 환경을 설정하고 이 논문에서는 ZOO공격은 C&W 화이트박스 공격과 치환 모델 기반 블랙박스 공격과 비교를 합니다. 여기선 이 논문의 블랙박스 공격이 화이트 박스 공격인 C&W 공격과 비슷한 성공률을 보이면서 왜곡이 되는 출력도 유사하면서 효율을 좋게 하면서 치환 모델 기반의 블랙박스 공격보다 월등히 앞선 다는 것이 이 논문의 의도라고 할 수 있습니다.
4.2 MNIST and CIFAR10
이 둘은 동일한 DNN을 사용합니다. 타켓 이미지는 무작위한 100개의 이미지입니다. 각 이미지에 대해 다른 9개의 클래스 모두 Adversarial attack 을 진행하니깐 총 900번의 공격이 있을 겁니다. untargete 일 경우 200개의 이미지를 무작위하게 선택합니다. 파라미터 설정은 zoo과 C&W 공격 모드 최대 9회까지 이진 탐색을 실시해서 최고 C를 찾아내고 100회 반복해서 로스 값이 작아지지 않았다면 최적화 프로세스를 조기 종료 합니다. 파라미터는 다음과 같이 설정하고 C&W 공격은 1000회, MNIST는 3000회, CIFAR은 1000회를 각각 반복합니다. 각 반복은 128픽셀만 업데이트 되는데 C&W 공격에서 모든 픽셀은 화이트박스 설정으로 전체 기울기로 업데이트 돼서 더 적은 변수를 갱신합니다. 또 MNIST와 CIFAR10의 이미지 크기가 작기 때문에 공격 공간의 차원을 줄이거나 계층적 공격이나 중요도 샘플링을 사용하지 않습니다.치환모델을 학습하기 위해 이미지 150개를 사용하고 5개의 자코비안식을사용합니다.블랙박스 DNN에 대한 targeted 공격과 untargeted 공격의 치환 모델에 대한 FGSM과 C&W 공격을 실시합니다. 이 실험의 결과로 위의 표와 같이 이 논문에서 제시한 ZOO 공격이 100프로의 가까운 성공률을 달성한 것을 볼 수 있습니다. L2 왜곡도도 C&W 와 유사한 것을 볼 수 있습니다. 이는 ZOO 공격이 화이트박스 공격과 비슷한 공격 성과를 낸다는 것을 볼 수 있습니다. 성공률 은 치환 모델 기반 공격 보단 월등히 높고 괜찮은 평균공격 시간을 유지하고 있습니다. FGSM은 상대적인 큰 파라미터를 쓰고 C&W공격보다 훨씬 많은 노이즈를 도입하기 때문에 일부 실험에서 더 높은 성공률을 달성하기도 합니다. 또 ADAM 방식이 뉴턱보다 계산 시간 L2 부분에서 더 잘 작동하는 것을 볼 수 있습니다. 나머지 targeted/untargeted Inception-v3또한 ZOO 공격이 C&W 와 FGSM과 같은 공격에 품질 차이와 성능이 떨어지지 않는다는 것을 보여줍니다. 그리고 앞에서 말한 것들과의 차이는 대형 DNN에 적용하는 겁니다. 치환 모델 기반 블랙박스 공격은 inception-v3 와 같은 대형 DNN에 확장성이 없기 때문입니다.
5. 결론 및 향후 작업
이 논문에서는 zeroth order attak ZOO 이라는 새로운 형태의 블랙박스 공격을 제안했습니다. 치환 모델을 학습시키지 않고 DNN 에게 타겟티드 DNN에 역전파를 위해 ZOO 을 활용하여 화이트 박스 공격에 버금가는 성능을 획득한다는 실험결과가 나왔습니다. 향후에는 속도를 가속화시키고 ZOO 블랙박스 공격을 이용한 adversarial training 과 서로 다른 모메인에서의 블랙박스 공격을 실행한다고 합니다.
'스터디 > 인공지능 논문 읽기' 카테고리의 다른 글
과제1. 머신러닝 강의 듣고 요약하기 (0) | 2020.10.28 |
---|---|
[논문읽기스터디]1.Adversarial Attack 개요 (0) | 2020.10.28 |