DeepRobust — это библиотека на PyTorch для проведения состязательных атак на нейросети, которые обрабатывают картинки и графы. В библиотеке доступны методы защиты от состязательных атак.
Состязательные атаки на нейросети
Нейросети уже применяются для задач, в которых критически важна стабильность работы модели. Примером является распознавание дорожных знаков в автономных машинах. Текущие архитектуры нейросетей могут неверно классифицировать объект данных, который слегка отличается от тех, на которых модель обучалась. Для мониторинга таких уязвимостей необходимо тестировать модель с помощью состязательных атак. Состязательные примеры данных — это такие данные, которые подаются обученной предсказательной модели с целью спровоцировать ошибочное предсказание модели.
Атаки на изображения
На текущий момент в DeepRobust доступны следующие методы атак на модели, которые работают с картинками:
- LBFGS attack;
- FGSM attack;
- PGD attack;
- DeepFool attack;
- CW attack;
- One pixel attack;
- BPDA attack;
- Universal attack;
- Nattack
Среди доступных методов защиты от состязательных атак:
- FGSM обучение;
- Fast: улучшенная версия FGSM обучения;
- PGD обучение;
- YOPO: улучшенная версия PGD обучения;
- TRADES;
- Thermometer Encoding;
- LID-based классификтор состязательных примеров
Библиотека поддерживает стандартные датасеты компьютерного зрения: MNIST, CIFAR-10 и ImageNet. Кроме того, поддерживаемые архитектуры моделей включают в себя SimpleCNN и ResNet (ResNet18, ResNet34, ResNet50).
Атаки на графы
На текущий момент в библиотеке доступны следующие методы атак на модели, которые обрабатывают графы:
- Nettack;
- FGA;
- Mettack;
- RL-S2V;
- PGD, Min-max;
- DICE;
- IG-Attack;
- NIPA;
- RND
Среди доступных методов защиты от состязательных атак:
- RGCN;
- GCN-Jaccard;
- GCN-SVD;
- Adv-training