Skip to main content
QUICK REVIEW

[논문 리뷰] Foolbox: A Python toolbox to benchmark the robustness of machine learning models

Jonas Rauber, Wieland Brendel|arXiv (Cornell University)|2017. 07. 13.
Computational Physics and Python Applications인용 수 143
한 줄 요약

Foolbox는 수많은 적대적 공격의 참조 구현과 여러 프레임워크 및 기준에 걸쳐 오분류를 초래하는 데 필요한 최소 교란을 찾아 모델 강건성을 벤치마킹하는 프레임워크를 제공합니다.

ABSTRACT

Even todays most advanced machine learning models are easily fooled by almost imperceptible perturbations of their inputs. Foolbox is a new Python package to generate such adversarial perturbations and to quantify and compare the robustness of machine learning models. It is build around the idea that the most comparable robustness measure is the minimum perturbation needed to craft an adversarial example. To this end, Foolbox provides reference implementations of most published adversarial attack methods alongside some new ones, all of which perform internal hyperparameter tuning to find the minimum adversarial perturbation. Additionally, Foolbox interfaces with most popular deep learning frameworks such as PyTorch, Keras, TensorFlow, Theano and MXNet and allows different adversarial criteria such as targeted misclassification and top-k misclassification as well as different distance measures. The code is licensed under the MIT license and is openly available at https://github.com/bethgelab/foolbox . The most up-to-date documentation can be found at http://foolbox.readthedocs.io .

연구 동기 및 목표

  • 최소 교란(minimum perturbations)을 벤치마킹 지표로 사용하여 적대적 교란에 대한 ML 모델의 강건성을 정량화할 필요성을 동기 부여한다.
  • 모델 간 강건성을 비교하고 적대적 예제를 생성하기 위한 단일하고 프레임워크에 구애받지 않는 인터페이스를 제공한다.
  • 다수의 공격에 대한 참조 구현을 내부 하이퍼파라미터 튜닝으로 최소 교란에 근사하도록 제공한다.
  • 일관 가능한 비교를 보장하기 위한 표준화된 버전 관리와 기준으로 벤치마크 결과를 보고할 수 있도록 한다.

제안 방법

  • 모델, 기준, 거리, 공격, 그리고 adversarial object로 구성된 적대적 설계의 다섯 부분 구조를 정의한다.
  • 전용 모델 어댑터(TensorFlow, PyTorch, Theano, Lasagne, Keras, MXNet)를 통해 여러 ML 프레임워크와의 인터페이스를 제공한다.
  • 다른 소스의 예측과 그래디언트를 결합하여 미분 가능하지 않은 모델을 공격하는 CompositeModel을 제공한다.
  • 오류 분류(misclassification), top-k, 대상 기반 기준(target-based criteria) 등의 적대적 기준과 다중 거리 측정(L1, L2/평균 제곱, L-무한대, L0)을 구현한다.
  • 필요에 따라 내부 선검색(line-search) 또는 매개변수 적응을 사용하여 최소 교란을 찾기 위한 내부 하이퍼파라미터 튜닝을 포함한 대규모 공격 세트를 포함한다.

실험 결과

연구 질문

  • RQ1단일화된 Python 도구 키트가 적대적 교란에 대한 모델 강건성의 공정하고 프레임워크 간 벤치마킹을 어떻게 가능하게 할 수 있는가?
  • RQ2강건성 벤치마킹을 위한 최소 교란 개념은 무엇이며, 이를 공격 간에 어떻게 신뢰성 있게 추정할 수 있는가?
  • RQ3다양한 적대적 기준과 거리 지표를 통합하여 강건성을 포괄적으로 비교할 수 있는가?
  • RQ4시간에 따른 비교 가능성을 보장하기 위해 벤치마크 결과를 어떻게 보고하고 버전 관리해야 하는가?

주요 결과

  • Foolbox는 주요 ML 프레임워크에 대한 인터페이스를 제공하고 일관된 API로 많은 공격을 지원한다.
  • 공격은 최소 적대적 교란에 근사하기 위해 내부 하이퍼파라미터 튜닝을 수행한다.
  • CompositeModel은 모델 예측과 다른 소스의 그래디언트를 결합하여 미분 불가능한 모델에 대한 공격을 가능하게 한다.
  • 도구 키트는 강건성 평가의 다양화를 위해 여러 적대적 기준과 거리 측정을 지원한다.
  • 벤치마크 결과의 비교 가능성을 보장하기 위해 구조화된 보고 및 시맨틱 버전 관리 체계가 권장된다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.