Обложка канала

Developer Starter pack

4518 @devsp

Начинаешь свой путь в разработку? Или ты гуру и хочешь узнать новое? Тогда тебе стоит взглянуть на @devsp ✔️Английские термины(без него никуда) ✔️Бесплатные ресурсы для получения основ различных языков программирования ✔️Ресурсы - помощники ✔️Интересны

Developer Starter pack

5 лет назад
Открыть в
​​Advbox: библиотека для генерации состязательных примеров
Advbox — это открытая библиотека инструментов для проверки обученных нейросетей на уязвимости. Разработкой библиотеки занимались исследователи из Baidu. В библиотеке есть функционал для генерации, распознавания и защиты от состязательных примеров. Состязательными примерами называются примеры входных данных, для которых модель стабильно выдает неверные предсказания.
В последние годы нейросети широко применялись для задач компьютерного зрения. В частности — для задачи классификации. Несмотря на то, что часть моделей по метрикам обходит человека на этой задачи, модели все еще остаются уязвимыми к состязательным примерам. Незначительные и незаметные изменения входных изображений достаточны, для того чтобы обмануть большинство нейросетевых подходов.
Чтобы повысить устойчивость предсказаний модели, необходимо проводить мониторинг того, к каким состязательным примерам модель уязвима. Для этого разработчики из Baidu опубликовали библиотеку 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.