fbpx
  • 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.