Advbox: библиотека для генерации состязательных примеров

Advbox — это открытая библиотека инструментов для проверки обученных нейросетей на уязвимости. Разработкой библиотеки занимались исследователи из Baidu. В библиотеке есть функционал для генерации, распознавания и защиты от состязательных примеров. Состязательными примерами называются примеры входных данных, для которых модель стабильно выдает неверные предсказания.

В последние годы нейросети широко применялись для задач компьютерного зрения. В частности — для задачи классификации. Несмотря на то, что часть моделей по метрикам обходит человека на этой задачи, модели все еще остаются уязвимыми к состязательным примерам. Незначительные и незаметные изменения входных изображений достаточны, для того чтобы обмануть большинство нейросетевых подходов.

Чтобы повысить устойчивость предсказаний модели, необходимо проводить мониторинг того, к каким состязательным примерам модель уязвима. Для этого разработчики из Baidu опубликовали библиотеку Advbox. Функционал Advbox позволяет генерировать состязательные примеры. В сравнении с схожими инструментами Advbox предоставляет возможность проводить более разнообразные атаки на модели.

Сравнение AdvBox с аналоговыми библиотеками по количеству доступных разновидностей атак

Что внутри библиотеки

В классе Attack в Advbox реализованы популярные состязательные атаки, которые ищут состязательные примеры в выборке. Каждый метод атаки использует меру расстояния, чтобы оценить степень искажения изображения.

В классе Model реализованы интерфейсы для взаимодействия с разными нейросетевыми фреймворками: Tensorflow, PyTorch, MxNet и PaddlePaddle. Модуль используется библиотекой для подсчета градиентов и выдачи предсказаний.

Класс Adversary содержит оригинальные входные данные, разметку и состязательные примеры. Состязательный пример добавляется в список, если модель выдала для него неверное предсказание.

Advbox поддерживает 6 алгоритмов атаки: 

  • FGSM;
  • BIM;
  • DeepFool;
  • JSMA; 
  • CW;
  • PGD

Помимо этого, в библиотеке доступны 6 алгоритмов для защиты от атак:

  • Feature Squeezing;
  • Spatial Smoothing;
  • Label Smoothing;
  • Gaussian Augmentation;
  • Adversarial Training;
  • Thermometer Encoding

Чтобы оценить устойчивость модели к атакам Advbox использует библиотеку Perceptron.

Подписаться
Уведомить о
guest

0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии

gogpt