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)|Jul 13, 2017
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 .

研究の動機と目的

  • 最小摂動をベンチマーク指標として用いることで、敵対的摂動に対する機械学習モデルの頑健性を定量化する必要性を動機づける。
  • 敵対的な例を生成し、モデル間で頑健性を比較するための統一された、フレームワークに依存しないインターフェースを提供する。
  • 内部ハイパーパラメータ調整を含む多くの攻撃のリファレンス実装を提供し、最小摂動を近似する。
  • 標準化されたバージョニングと基準を用いたベンチマーク結果の報告を可能にし、比較可能性を確保する。

提案手法

  • 敵対的作成の五部構造を定義する:model、criterion、distance、attack、adversarial object.
  • TensorFlow、PyTorch、Theano、Lasagne、Keras、MXNet などの専用モデルアダプターを介して、複数のMLフレームワークとインターフェースする。
  • 異なるソースからの予測と勾配を組み合わせて、微分可能でないモデルを攻撃するための CompositeModel を提供する。
  • 誤分類、top-k、ターゲットベースの基準など、複数の敵対的基準と、L1、L2/平均二乗、Lインフィニティ、L0 などの複数の距離測度を実装する。
  • 必要に応じて内部のライン探索やパラメータ適応を用いて、最小摂動を特定するための内部ハイパーパラメータ調整を備えた攻撃の大規模セットを含む。

実験結果

リサーチクエスチョン

  • RQ1統一されたPythonツールキットは、敵対的摂動に対するモデルの頑健性を公正に、フレームワークを横断してベンチマークすることをどう可能にするか?
  • RQ2頑健性ベンチマークのための最小摂動の概念とは何か、そしてそれを攻撃間で信頼性高く推定するにはどうすればよいか?
  • RQ3異なる敵対的基準と距離指標を統合して、頑健性を総合的に比較できるか?
  • RQ4時間を超えて比較可能性を確保するために、ベンチマーク結果をどのように報告し、バージョン管理すべきか?

主な発見

  • Foolboxは主要なMLフレームワークへのインターフェースを提供し、一貫したAPIで多くの攻撃をサポートします。
  • 攻撃は最小の敵対的摂動を近似するために内部ハイパーパラメータ調整を行います。
  • CompositeModelは、別のソースからの勾配とモデル予測を組み合わせることで、微分不能なモデルに対する攻撃を可能にします。
  • このツールキットは、頑健性評価を多様化するために複数の敵対的基準と距離測度をサポートします。
  • ベンチマーク結果の比較可能性を確保するために、構造化されたレポーティングと意味的バージョニングスキームを推奨します。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。