Diffusion Models Demand Contrastive Guidance for Adversarial Purification to Advance (ICML 2024)
카테고리 없음 2024. 10. 18. 18:07안녕하세요. KDST 박민철입니다.
이번 공유 내용에서는 "Adversarial Purification"이라는 생소한 주제의 연구 내용을 소개드리고자 합니다. Adversarial purification deep learning 모델을 속이기 위해 adversarial attack에 의해 악의적으로 제작된 adversarial example (AE)이라는 데이터에 대하여 이를 초기의 깨끗한 이미지처럼 정화하여 deep learning의 결정 능력을 보존하는 방어 기술입니다. 우리는 흔히 이를 모델이 얼마나 강건한지에 대한 논의로 robustness라는 주제로 공부하기도 합니다만, 과거에 수 많은 방법으로 연구되었던 모델 자체의 강건성을 증가시키기 위한 adversarial training 방법과는 달리, adversarial purification은 주어진 모델 외에 생성 모델을 도입하여 생성 모델의 generative power를 이용하여 선행하여 데이터를 정화하고 주어진 모델의 데이터로 사용되도록 도와주는 defense 기술이라 볼 수 있습니다. Adversarial purification이 최근 각광받는 이유 중 하나는 adversarial attack이 다양한 형태로 구현되어 AE를 보다 복잡하고 예측하기 어렵도록 생성함에 따라 미리 어떤 attack에 기반하여 학습할지 정의해야 하는 adversarial training 기술이 점점 제한되는 문제가 나타나고 있고, 이를 새롭게 풀어보고자 하는 데 있습니다.
하지만, 제가 소개드릴 "Diffusion models demand contrastive guidance for adversarial purification to advance, ICML 2024"의 논문은 adversarial purification의 방법도 purification 메커니즘 내에 guidance가 필요함을 지적하고 이를 개선할 방법을 제안합니다. 최근, DiffPure [Nie et al., ICML 2022]는 adversarial purificiation이 강력한 generative power 그리고 denoising 능력을 갖고 있는 diffusion model을 사용할 때 효과적으로 purification을 성공할 수 있음을 보여주었습니다. 하지만, diffusion model에서 필요로 하는 noise and denoising에 관한 시간 t를 어떻게 결정하는 지 즉, 기존 이미지가 무엇인지 분류하는 데 critical하게 작용하는 semantic 요소를 얼마나 잘 보존하는 지와 adversarial perturbation을 얼마나 잘 제거하는지의 균형을 잘 잡아주는 지에 따라 purification의 성공 여부가 달라집니다.
따라서, 소개드릴 기술은 diffusion model이 AE에 관한 분포가 주어진 데이터 분포로 간주될 때, 이를 얼마나 정확하게 clean 데이터 분포로 guide할 수 있을지를 고민합니다. 본 연구는 diffusion model에 guidance를 주기 위해 총 3가지 방법에 대해 살펴보았는데, classifier-guidance나 classifier-free guidance 모두 test-time에 적합한 gradient나 text 정보로 사용할 수 있는 조건들을 상상하기 어렵기 때문에, energy 기반의 guidance를 고민합니다. 따라서, 과거의 guidance 중 energy 기반의 contrastive guidance를 denoising 과정에서 사용하고자 제안하는 데, 과연 이 것이 타당한지를 먼저 이론적으로 살펴보는 것부터 시작합니다.
본 논문은 input과 label pair가 jointly하게 분포되어 있고, input이 Gaussian mixture라고 가정하여 설명을 시작합니다.
μ가 input에 대한 signal을 매우 잘 담고 있는 component라 하고, ξ를 label에 독립적인 Gaussian noise component라 할 때, 이 들의 concentration property를 먼저 아래와 같이 사전 정리합니다. (초기 조건이라 생각할 수 있습니다.)
이러한 특성을 가진 jointly pair가 n개 i.i.d.하게 추출되어 다음의 linear classifier의 파라미터를 잘 최적화했다고 생각합시다. 우리는 그러한 linear classifier의 동작을 input과 가중치의 단순 product에 의한 부호 함수 판별기로 고려할 수 있으며 그때 optimal 파라미터는 다음과 같습니다.
이 때, 저자들은 linear classifier가 어떤 조건일 때, input x에 noise가 포함되어도 분류에 성공할 수 있는지 아래의 부등식으로부터 출발 하여 그 조건을 살펴봅니다.
흥미로운 점은 상당히 많은 샘플을 배우고, 따라서 충분히 큰 input의 dimension을 갖고 있으며 label을 구별할 수 있는 signal 정보의 크기가 어느 정도 클 때, 확률적으로 noise와 상관없이 추론에 성공할 수 있다는 것입니다. 여기서 발견한 3가지 조건은 우리가 직관적으로 생각하더라도 deep neural network가 추론에 성공하기 위해서 그럴싸하다고 판단할만 합니다.
한편, 저자들은 그러면, 다음과 같이 그러한 Gaussian mixtured input에 얼마만큼의 perturbation이 추가가 되었을 때, linear classifier가 추론에 실패할 가능성이 발생하는 지 마찬가지로 고민합니다. 다음과 같이 AE가 만들어졌다고 생각 할 때,
Linear classifier와 추론과 label의 부호가 달라질 가능성은 다음과 같은 조건일 때라고 설명합니다.
위의 정리에서 생각해볼만한 요소는, linear classifier가 noise 대비 signal성분이 충분히 크고 수많은 n개의 샘플을 배우더라도, input dimension d가 굉장히 크다면, 이 때 아래 수준의 scale을 가진 perturbation이 결합되는 상황에서는 분류에 실패할 가능성이 발생한다는 것입니다.
물론, DiffPure에서 보여준 것처럼 diffusion model은 그러한 perturbation이라 하더라도 정화할 잠재력이 충분하기 때문에, 저자들은 좀 더 섬세하게 그러면 얼마만큼의 denoising 강도, 그러니까 얼마만큼의 시간 t이면 확률적으로 정화할 수 있는지를 마찬가지로 고민합니다.
Gaussian mixture라고 가정한 데이터가 diffusion model에서 forward process가 될 때를 생각해봅시다. x(0)=x라 한다면,
이렇게, Gaussian kernel을 통과한 샘플이 마찬가지로 reverse process 될 때, 다음의 continuous한 변화를 겪습니다.
이 때, input을 Gaussian mixture그리고, Gaussian kernel에 의한 시간 t의 noisy 샘플을 상상할 수 있기 때문에, 우리는 위의 score function을 흥미롭게 linearly 정리할 수 있습니다. 이를 위해 시간 t의 분포 q에 대한 marginal을 먼저 구하면,
따라서, linearly 구해지는 score function은 아래와 같습니다.
하지만, 실제로 정확한 score function의 expression을 얻는 것은 불가능하기 때문에, 대부분의 사람들은 score function을 추정하는 proxy 모델을 학습합니다. 따라서, 우리는 위의 성질을 잘 반영하여 학습된 proxy 모델을 아래처럼 notiation할 때,
편의상, f(t)=1, g^2(t)=2 그리고, 두개의 알파와 시그마에 대한 값을 Euler처리하면, reverse를 간단히 아래와 같이 정리할 수 있습니다.
이 성질을 가지고, 적합한 reverse process에 관한 시간 t를 아래와 같이 정리할 수 있는데,
Revesed 데이터가 자기자신의 label signal에 대한 벡터와의 유사도가 실제 label과 얼마나 부호적으로 그리고 강도적으로 일치하는 지는 위에서 살펴본 시간 조건 하에서 확률적으로 양수에 해당하는 upper bound를 가질 수 있다라는 것입니다.
그런데, 사실 시간 t가 존재한다는 것을 보일 뿐이지 정확히 얼만큼인지는 알 수 없기 때문에, 기존 DIffPure와 동일한 시간 t를 사용한다면 흥미롭게 input의 label signal μ의 크기를 키울 방법이 보강된다면, purified 데이터가 분류에 성공할 가능성이 커질 수 있음을 알 수 있습니다.
저자들은 어떻게 하면, label signal μ를 증가시킬 수 있을 지 고민합니다. 과거의 관련 연구를 살펴보니, contrastive guidance가 기대하는 목적에 부합할 것이라고 설명합니다. 어떤 잘 학습된 encoder F()가 존재할 때, 그 F()는 상당하게 input signal μ과 x(t)에 대한 높은 simliarity를 추정할 것이고, 따라서 이를 아래와 같이 contrastive로 생각해보면,
다른 샘플과 자기 자신의 input signal을 떼어내는 방향도 함께 고려할 수 있는데, 이 것으로부터 얻어진 gradient는 결국 x와 input signal μ를 강하게 coupling하는 방향이라는 것입니다.
따라서, 본 논문은 이러한 contrastive loss를 x(t)에 대한 diffusion의 denoising 과정에 함께 사용하고자 합니다.
정리하면, adversarial example이 주어졌을 때, diffusion의 forward process를 이용하여 아래와 같이 noising처리하고,
Contrastive loss로 구현된 guidance를 함께 활용하여 아래와 같이 reverse process를 처리합니다.
이 때, denoising estimator를 아래와 같이 정의합니다.
Contrastive loss를 정의하는 방법은 논문에 소개되었지만, 디테일을 고려하여, Ouyang et al., ICML 2023을 도입했으므로, 본 논문을 참고하시면 도움이 될 것입니다. 따라서 정리하면, 동작하는 purification은 아래와 같습니다.
Experiment results
논문은 adversarial purification 성능을 체계적으로 평가하기 위해 AutoAttack과 BPDA+EOT를 이용하여 검증하였고, 모두 adaptive white-box attack에 해당합니다.
SDE를 ODE로 바꾸었을 때, 성능 및 contrastive guidance에 대한 ablation 성능입니다.
다음은, ImgeNet에서 성능입니다. DiffPure에 비교될 때에 대한 limitation이 보입니다.
본 논문은 이론적으로 흥미를 유발하여, 적합한 방법론을 모색하여 적용했던 재밌었던 논문이라 생각합니다.
추가적으로 궁금한 부분은 논문을 참조 부탁드리며, 질문을 댓글로 남겨주시면 함께 고민할 좋은 기회가 될 것으로 생각합니다.
감사합니다.